1 | import { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata, } from "@aws-sdk/credential-provider-imds";
|
2 | import { CredentialsProviderError } from "@aws-sdk/property-provider";
|
3 | export const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
|
4 | export const remoteProvider = (init) => {
|
5 | if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
|
6 | return fromContainerMetadata(init);
|
7 | }
|
8 | if (process.env[ENV_IMDS_DISABLED]) {
|
9 | return async () => {
|
10 | throw new CredentialsProviderError("EC2 Instance Metadata Service access disabled");
|
11 | };
|
12 | }
|
13 | return fromInstanceMetadata(init);
|
14 | };
|