Skip to content

Conversation

@valerena
Copy link
Contributor

@valerena valerena commented Sep 8, 2025

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.


  • 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.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@valerena valerena requested a review from a team as a code owner September 8, 2025 23:00
@amazon-inspector-ohio
Copy link

⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done

@amazon-inspector-ohio
Copy link

✅ I finished the code review, and didn't find any security or code quality issues.

valerena and others added 6 commits September 8, 2025 23:55
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
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)
@valerena valerena force-pushed the endpoint-url-plus-localstack branch from b2b7160 to 7b15b7f Compare September 9, 2025 00:00
The endpointUrl is only really valuable for IAMConnections, but we still
add it Optional in SsoConnections to keep TypeScript consistent.
@rli rli merged commit 0401a71 into aws:master Sep 9, 2025
27 of 31 checks passed
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants