-
Notifications
You must be signed in to change notification settings - Fork 730
feat(toolkit): correctly use the endpoint URL for the selected profile #7997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done |
|
✅ I finished the code review, and didn't find any security or code quality issues. |
roger-zhangg
approved these changes
Sep 8, 2025
aws#2007 The Toolkit doesn't read the endpoint configured in an AWS profile config. The endpoint even before these changes is already being read from the AWS config file, and it's included in the CredentialsProvider object, but there wasn't a way to retrieve that. We're adding `getEndpointUrl()` method to the different providers, and then we're retrieving that endpoint in: 1. when loading the current profile, to add it to the credentialsCache (`auth.ts -> createCachedCredentials()`, `loginManager.ts -> login()`). Because of this, then we can get this endpoint alongside the credentials when creating a new AWS client. 2. when creating the list of connections that then will be displayed for the user to pick (`packages/core/src/auth/auth.ts -> getIamConnection()`) (this required to make `getIamConnection` an async
…Walkthrough Update AppBuilder Walkthrough wording and add LocalStack VS Code extension
…ugh walkthrough But add ts-ignore until this value gets added to metric definitions [1] [1]: https://github.com/aws/aws-toolkit-common/blob/8c88537fae2ac7e6524fb2b29ae336c606850eeb/telemetry/definitions/commonDefinitions.json#L2215-L2221
And general fixes when connection is to non-AWS endpoints - Add helper function to identify when connected to LocalStack - Make LiveTail and DocDB read endpoint URL if exists (they don't use the generic ClientBuilder) - Disable S3 virtual-host-style and host prefix for LocalStack - Disable host prefixes for all services when using LocalStack - Send telemetry for custom endpoints and for LocalStack connections
…lStack - Add LocalStack detection for Lambda debugging webview, by refactoring into two sub classes to handle the lifecycle of the debugging process. - Hide and disable version publishing - Await debugger start to slightly mitigate the race condition - Add LocalStack Lambda Debug Mode config deletion upon stopping debugging - Wait for function to be active before launching debugger - Add user-agent integration - Add temporary workaround to mitigate debugger attach timing issue - Fix debugger attach race condition by waiting using the new GET API - Add LDM error handling - Handle LocalStack Lambda hot reloading gracefully - Disable code download upon LocalStack hot reloading - Skip file watcher for hot-reloaded Lambda function - Disable Convert to SAM application for LocalStack - Show message in Remote Invoke WebView when connected to Localstack - Add telemetry for LocalStack case (including refactor some old telemetry)
b2b7160 to
7b15b7f
Compare
The endpointUrl is only really valuable for IAMConnections, but we still add it Optional in SsoConnections to keep TypeScript consistent.
rli
approved these changes
Sep 9, 2025
Will-ShaoHua
pushed a commit
that referenced
this pull request
Oct 31, 2025
## Problem One of our previous PR: #7997 removed one of the intended user-agent for remote debugging. Adding this back ## Solution Add the intended user-agent back --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
laileni-aws
pushed a commit
that referenced
this pull request
Oct 31, 2025
## Problem One of our previous PR: #7997 removed one of the intended user-agent for remote debugging. Adding this back ## Solution Add the intended user-agent back --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The Toolkit doesn't read the endpoint configured in an AWS profile config.
Solution
The endpoint even before these changes is already being read from the AWS config file, and it's included in the CredentialsProvider object, but there wasn't a way to retrieve that. We're adding
getEndpointUrl()method to the different providers, and then we're retrieving that endpoint in when loading the current profile. Because of this, then we can get this endpoint alongside the credentials when creating a new AWS client.We're also using this endpoint when creating the list of connections that then will be displayed for the user to pick and make it more visible.
With these changes we're also improving the experience when a user is connected in particular to an instance of LocalStack, including allowing customers to use the recently launched "Lambda Remote Debugging" but when interacting with a LocalStack endpoint instead.
This also adds a new item to the AWS AppBuilder Walkthrough, for customers to learn about what LocalStack is, and help them install then LocalStack extension for VS Code.
feature/xbranches will not be squash-merged at release time.