12 lines
1023 B
JavaScript
12 lines
1023 B
JavaScript
import { fromEnv } from "@aws-sdk/credential-provider-env";
|
|
import { fromIni } from "@aws-sdk/credential-provider-ini";
|
|
import { fromProcess } from "@aws-sdk/credential-provider-process";
|
|
import { fromSSO } from "@aws-sdk/credential-provider-sso";
|
|
import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
|
|
import { chain, CredentialsProviderError, memoize } from "@smithy/property-provider";
|
|
import { ENV_PROFILE } from "@smithy/shared-ini-file-loader";
|
|
import { remoteProvider } from "./remoteProvider";
|
|
export const defaultProvider = (init = {}) => memoize(chain(...(init.profile || process.env[ENV_PROFILE] ? [] : [fromEnv()]), fromSSO(init), fromIni(init), fromProcess(init), fromTokenFile(init), remoteProvider(init), async () => {
|
|
throw new CredentialsProviderError("Could not load credentials from any providers", false);
|
|
}), (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000, (credentials) => credentials.expiration !== undefined);
|