-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or request
Description
With the official AWS SDK, I can switch accounts/roles by defining profiles in ~/.aws/config. All these profiles may inherit from the same "credential" profile, specified through source_profile.
The Deno AWS API, however, only reads profiles from ~/.aws/credentials and doesn't seem to support role-arn or reading the config file at all.
Just ran into this:
error: Uncaught (in promise) Error: Failed to load any possible AWS credentials:
- EnvironmentCredentials('AWS') Error: AWS environment variables not set
- EnvironmentCredentials('AMAZON') Error: AMAZON environment variables not set
- SharedIniFileCredentials() Error: Profile dev not found in credentials file
- EcsTaskCredentials() Error: AWS_CONTAINER_CREDENTIALS_RELATIVE_URI not set
- TokenFileWebIdentityCredentials() Error: No WebIdentityToken file path is set
- EC2MetadataCredentials() Error: Instance Metadata Timeout: 1000ms
return Promise.reject(new Error([
^
at CredentialsProviderChain.getCredentials (https://deno.land/x/[email protected]/client/credentials.ts:44:27)
at eventLoopTick (ext:core/01_core.js:168:7)
at async XmlServiceClient.signingFetcher [as signedFetcher] (https://deno.land/x/[email protected]/client/client.ts:89:29)
at async XmlServiceClient.performRequest (https://deno.land/x/[email protected]/client/client.ts:179:22)
at async S3.listObjectsV2 (https://aws-api.deno.dev/v0.4/services/s3.ts:1601:18)
An example:
~/.aws/credentials:
[default]
aws_access_key_id = ABCDEFG
aws_secret_access_key = abcdefg~/.aws/config:
[profile dev]
region = eu-west-1
output = json
role_arn = arn:aws:iam::123456:role/abc
source_profile = default
[profile staging]
region = eu-west-1
output = json
role_arn = arn:aws:iam::654321:role/def
source_profile = defaultFurthermore, the Deno AWS API implementation also violates the following:
Depending on the file, profile section names use the following format:
- Config file:
[default][profile user1]- Credentials file:
[default][user1]
Do not use the word profile when creating an entry in the credentials file.
Ref: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request