@aws-sdk/credential-provider-node 3.33.0 → 3.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.36.1](https://github.com/aws/aws-sdk-js-v3/compare/v3.36.0...v3.36.1) (2021-10-12)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/credential-provider-node
9
+
10
+
11
+
12
+
13
+
14
+ # [3.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
15
+
16
+
17
+ ### Features
18
+
19
+ * publish files in dist-* only ([#2873](https://github.com/aws/aws-sdk-js-v3/issues/2873)) ([53b4243](https://github.com/aws/aws-sdk-js-v3/commit/53b4243b066f25ff2412d5f0dea1036054b2df32))
20
+
21
+
22
+
23
+
24
+
25
+ # [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
26
+
27
+ **Note:** Version bump only for package @aws-sdk/credential-provider-node
28
+
29
+
30
+
31
+
32
+
33
+ # [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
34
+
35
+
36
+ ### Features
37
+
38
+ * **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
39
+
40
+
41
+
42
+
43
+
6
44
  # [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
7
45
 
8
46
  **Note:** Version bump only for package @aws-sdk/credential-provider-node
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultProvider = exports.ENV_IMDS_DISABLED = void 0;
4
+ const credential_provider_env_1 = require("@aws-sdk/credential-provider-env");
5
+ const credential_provider_imds_1 = require("@aws-sdk/credential-provider-imds");
6
+ const credential_provider_ini_1 = require("@aws-sdk/credential-provider-ini");
7
+ const credential_provider_process_1 = require("@aws-sdk/credential-provider-process");
8
+ const credential_provider_sso_1 = require("@aws-sdk/credential-provider-sso");
9
+ const credential_provider_web_identity_1 = require("@aws-sdk/credential-provider-web-identity");
10
+ const property_provider_1 = require("@aws-sdk/property-provider");
11
+ const shared_ini_file_loader_1 = require("@aws-sdk/shared-ini-file-loader");
12
+ const util_credentials_1 = require("@aws-sdk/util-credentials");
13
+ exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
14
+ const defaultProvider = (init = {}) => {
15
+ const options = { profile: process.env[util_credentials_1.ENV_PROFILE], ...init };
16
+ if (!options.loadedConfig)
17
+ options.loadedConfig = shared_ini_file_loader_1.loadSharedConfigFiles(init);
18
+ const providers = [
19
+ credential_provider_sso_1.fromSSO(options),
20
+ credential_provider_ini_1.fromIni(options),
21
+ credential_provider_process_1.fromProcess(options),
22
+ credential_provider_web_identity_1.fromTokenFile(options),
23
+ remoteProvider(options),
24
+ async () => {
25
+ throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false);
26
+ },
27
+ ];
28
+ if (!options.profile)
29
+ providers.unshift(credential_provider_env_1.fromEnv());
30
+ const providerChain = property_provider_1.chain(...providers);
31
+ return property_provider_1.memoize(providerChain, (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000, (credentials) => credentials.expiration !== undefined);
32
+ };
33
+ exports.defaultProvider = defaultProvider;
34
+ const remoteProvider = (init) => {
35
+ if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) {
36
+ return credential_provider_imds_1.fromContainerMetadata(init);
37
+ }
38
+ if (process.env[exports.ENV_IMDS_DISABLED]) {
39
+ return () => Promise.reject(new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"));
40
+ }
41
+ return credential_provider_imds_1.fromInstanceMetadata(init);
42
+ };
@@ -0,0 +1,42 @@
1
+ import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
2
+ import { fromEnv } from "@aws-sdk/credential-provider-env";
3
+ import { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata, } from "@aws-sdk/credential-provider-imds";
4
+ import { fromIni } from "@aws-sdk/credential-provider-ini";
5
+ import { fromProcess } from "@aws-sdk/credential-provider-process";
6
+ import { fromSSO } from "@aws-sdk/credential-provider-sso";
7
+ import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
8
+ import { chain, CredentialsProviderError, memoize } from "@aws-sdk/property-provider";
9
+ import { loadSharedConfigFiles } from "@aws-sdk/shared-ini-file-loader";
10
+ import { ENV_PROFILE } from "@aws-sdk/util-credentials";
11
+ export var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
12
+ export var defaultProvider = function (init) {
13
+ if (init === void 0) { init = {}; }
14
+ var options = __assign({ profile: process.env[ENV_PROFILE] }, init);
15
+ if (!options.loadedConfig)
16
+ options.loadedConfig = loadSharedConfigFiles(init);
17
+ var providers = [
18
+ fromSSO(options),
19
+ fromIni(options),
20
+ fromProcess(options),
21
+ fromTokenFile(options),
22
+ remoteProvider(options),
23
+ function () { return __awaiter(void 0, void 0, void 0, function () {
24
+ return __generator(this, function (_a) {
25
+ throw new CredentialsProviderError("Could not load credentials from any providers", false);
26
+ });
27
+ }); },
28
+ ];
29
+ if (!options.profile)
30
+ providers.unshift(fromEnv());
31
+ var providerChain = chain.apply(void 0, __spreadArray([], __read(providers)));
32
+ return memoize(providerChain, function (credentials) { return credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000; }, function (credentials) { return credentials.expiration !== undefined; });
33
+ };
34
+ var remoteProvider = function (init) {
35
+ if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
36
+ return fromContainerMetadata(init);
37
+ }
38
+ if (process.env[ENV_IMDS_DISABLED]) {
39
+ return function () { return Promise.reject(new CredentialsProviderError("EC2 Instance Metadata Service access disabled")); };
40
+ }
41
+ return fromInstanceMetadata(init);
42
+ };
File without changes
@@ -0,0 +1,9 @@
1
+ import { RemoteProviderInit } from "@aws-sdk/credential-provider-imds";
2
+ import { FromIniInit } from "@aws-sdk/credential-provider-ini";
3
+ import { FromProcessInit } from "@aws-sdk/credential-provider-process";
4
+ import { FromSSOInit } from "@aws-sdk/credential-provider-sso";
5
+ import { FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
6
+ import { CredentialProvider } from "@aws-sdk/types";
7
+ export declare const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
8
+
9
+ export declare const defaultProvider: (init?: FromIniInit & RemoteProviderInit & FromProcessInit & FromSSOInit & FromTokenFileInit) => CredentialProvider;
package/package.json CHANGED
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.33.0",
3
+ "version": "3.36.1",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=10.0.0"
7
7
  },
8
- "main": "./dist/cjs/index.js",
9
- "module": "./dist/es/index.js",
8
+ "main": "./dist-cjs/index.js",
9
+ "module": "./dist-es/index.js",
10
10
  "scripts": {
11
+ "build": "yarn build:cjs && yarn build:es && yarn build:types",
11
12
  "build:cjs": "tsc -p tsconfig.cjs.json",
12
13
  "build:es": "tsc -p tsconfig.es.json",
13
- "build": "yarn build:es && yarn build:cjs",
14
- "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4",
14
+ "build:types": "tsc -p tsconfig.types.json",
15
+ "downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
15
16
  "test": "jest"
16
17
  },
17
18
  "keywords": [
@@ -24,16 +25,16 @@
24
25
  },
25
26
  "license": "Apache-2.0",
26
27
  "dependencies": {
27
- "@aws-sdk/credential-provider-env": "3.32.0",
28
- "@aws-sdk/credential-provider-imds": "3.32.0",
29
- "@aws-sdk/credential-provider-ini": "3.33.0",
30
- "@aws-sdk/credential-provider-process": "3.32.0",
31
- "@aws-sdk/credential-provider-sso": "3.33.0",
32
- "@aws-sdk/credential-provider-web-identity": "3.32.0",
33
- "@aws-sdk/property-provider": "3.32.0",
34
- "@aws-sdk/shared-ini-file-loader": "3.32.0",
35
- "@aws-sdk/types": "3.32.0",
36
- "@aws-sdk/util-credentials": "3.32.0",
28
+ "@aws-sdk/credential-provider-env": "3.36.0",
29
+ "@aws-sdk/credential-provider-imds": "3.36.0",
30
+ "@aws-sdk/credential-provider-ini": "3.36.1",
31
+ "@aws-sdk/credential-provider-process": "3.36.0",
32
+ "@aws-sdk/credential-provider-sso": "3.36.1",
33
+ "@aws-sdk/credential-provider-web-identity": "3.36.0",
34
+ "@aws-sdk/property-provider": "3.36.0",
35
+ "@aws-sdk/shared-ini-file-loader": "3.36.0",
36
+ "@aws-sdk/types": "3.36.0",
37
+ "@aws-sdk/util-credentials": "3.36.0",
37
38
  "tslib": "^2.3.0"
38
39
  },
39
40
  "devDependencies": {
@@ -42,14 +43,17 @@
42
43
  "jest": "^26.1.0",
43
44
  "typescript": "~4.3.5"
44
45
  },
45
- "types": "./dist/types/index.d.ts",
46
+ "types": "./dist-types/index.d.ts",
46
47
  "typesVersions": {
47
48
  "<4.0": {
48
- "dist/types/*": [
49
- "dist/types/ts3.4/*"
49
+ "dist-types/*": [
50
+ "dist-types/ts3.4/*"
50
51
  ]
51
52
  }
52
53
  },
54
+ "files": [
55
+ "dist-*"
56
+ ],
53
57
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/credential-provider-node",
54
58
  "repository": {
55
59
  "type": "git",
package/dist/cjs/index.js DELETED
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultProvider = exports.ENV_IMDS_DISABLED = void 0;
4
- const credential_provider_env_1 = require("@aws-sdk/credential-provider-env");
5
- const credential_provider_imds_1 = require("@aws-sdk/credential-provider-imds");
6
- const credential_provider_ini_1 = require("@aws-sdk/credential-provider-ini");
7
- const credential_provider_process_1 = require("@aws-sdk/credential-provider-process");
8
- const credential_provider_sso_1 = require("@aws-sdk/credential-provider-sso");
9
- const credential_provider_web_identity_1 = require("@aws-sdk/credential-provider-web-identity");
10
- const property_provider_1 = require("@aws-sdk/property-provider");
11
- const shared_ini_file_loader_1 = require("@aws-sdk/shared-ini-file-loader");
12
- const util_credentials_1 = require("@aws-sdk/util-credentials");
13
- exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
14
- /**
15
- * Creates a credential provider that will attempt to find credentials from the
16
- * following sources (listed in order of precedence):
17
- * * Environment variables exposed via `process.env`
18
- * * SSO credentials from token cache
19
- * * Web identity token credentials
20
- * * Shared credentials and config ini files
21
- * * The EC2/ECS Instance Metadata Service
22
- *
23
- * The default credential provider will invoke one provider at a time and only
24
- * continue to the next if no credentials have been located. For example, if
25
- * the process finds values defined via the `AWS_ACCESS_KEY_ID` and
26
- * `AWS_SECRET_ACCESS_KEY` environment variables, the files at
27
- * `~/.aws/credentials` and `~/.aws/config` will not be read, nor will any
28
- * messages be sent to the Instance Metadata Service.
29
- *
30
- * @param init Configuration that is passed to each individual
31
- * provider
32
- *
33
- * @see fromEnv The function used to source credentials from
34
- * environment variables
35
- * @see fromSSO The function used to source credentials from
36
- * resolved SSO token cache
37
- * @see fromTokenFile The function used to source credentials from
38
- * token file
39
- * @see fromIni The function used to source credentials from INI
40
- * files
41
- * @see fromProcess The function used to sources credentials from
42
- * credential_process in INI files
43
- * @see fromInstanceMetadata The function used to source credentials from the
44
- * EC2 Instance Metadata Service
45
- * @see fromContainerMetadata The function used to source credentials from the
46
- * ECS Container Metadata Service
47
- */
48
- const defaultProvider = (init = {}) => {
49
- const options = { profile: process.env[util_credentials_1.ENV_PROFILE], ...init };
50
- if (!options.loadedConfig)
51
- options.loadedConfig = shared_ini_file_loader_1.loadSharedConfigFiles(init);
52
- const providers = [
53
- credential_provider_sso_1.fromSSO(options),
54
- credential_provider_ini_1.fromIni(options),
55
- credential_provider_process_1.fromProcess(options),
56
- credential_provider_web_identity_1.fromTokenFile(options),
57
- remoteProvider(options),
58
- async () => {
59
- throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false);
60
- },
61
- ];
62
- if (!options.profile)
63
- providers.unshift(credential_provider_env_1.fromEnv());
64
- const providerChain = property_provider_1.chain(...providers);
65
- return property_provider_1.memoize(providerChain, (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000, (credentials) => credentials.expiration !== undefined);
66
- };
67
- exports.defaultProvider = defaultProvider;
68
- const remoteProvider = (init) => {
69
- if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) {
70
- return credential_provider_imds_1.fromContainerMetadata(init);
71
- }
72
- if (process.env[exports.ENV_IMDS_DISABLED]) {
73
- return () => Promise.reject(new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"));
74
- }
75
- return credential_provider_imds_1.fromInstanceMetadata(init);
76
- };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOEVBQTJEO0FBQzNELGdGQU0yQztBQUMzQyw4RUFBd0U7QUFDeEUsc0ZBQW9GO0FBQ3BGLDhFQUF3RTtBQUN4RSxnR0FBNkY7QUFDN0Ysa0VBQXNGO0FBQ3RGLDRFQUF3RTtBQUV4RSxnRUFBd0Q7QUFFM0MsUUFBQSxpQkFBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNHO0FBQ0ksTUFBTSxlQUFlLEdBQUcsQ0FDN0IsT0FBNkYsRUFBRSxFQUMzRSxFQUFFO0lBQ3RCLE1BQU0sT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQVcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1FBQUUsT0FBTyxDQUFDLFlBQVksR0FBRyw4Q0FBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RSxNQUFNLFNBQVMsR0FBRztRQUNoQixpQ0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQixpQ0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQix5Q0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNwQixnREFBYSxDQUFDLE9BQU8sQ0FBQztRQUN0QixjQUFjLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLEtBQUssSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLDRDQUF3QixDQUFDLCtDQUErQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdGLENBQUM7S0FDRixDQUFDO0lBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1FBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLGFBQWEsR0FBRyx5QkFBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFMUMsT0FBTywyQkFBTyxDQUNaLGFBQWEsRUFDYixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUMvRyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQ3RELENBQUM7QUFDSixDQUFDLENBQUM7QUF2QlcsUUFBQSxlQUFlLG1CQXVCMUI7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLElBQXdCLEVBQXNCLEVBQUU7SUFDdEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFxQixDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBaUIsQ0FBQyxFQUFFO1FBQ3hFLE9BQU8sZ0RBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQWlCLENBQUMsRUFBRTtRQUNsQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSw0Q0FBd0IsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDLENBQUM7S0FDNUc7SUFFRCxPQUFPLCtDQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FbnYgfSBmcm9tIFwiQGF3cy1zZGsvY3JlZGVudGlhbC1wcm92aWRlci1lbnZcIjtcbmltcG9ydCB7XG4gIEVOVl9DTURTX0ZVTExfVVJJLFxuICBFTlZfQ01EU19SRUxBVElWRV9VUkksXG4gIGZyb21Db250YWluZXJNZXRhZGF0YSxcbiAgZnJvbUluc3RhbmNlTWV0YWRhdGEsXG4gIFJlbW90ZVByb3ZpZGVySW5pdCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXItaW1kc1wiO1xuaW1wb3J0IHsgZnJvbUluaSwgRnJvbUluaUluaXQgfSBmcm9tIFwiQGF3cy1zZGsvY3JlZGVudGlhbC1wcm92aWRlci1pbmlcIjtcbmltcG9ydCB7IGZyb21Qcm9jZXNzLCBGcm9tUHJvY2Vzc0luaXQgfSBmcm9tIFwiQGF3cy1zZGsvY3JlZGVudGlhbC1wcm92aWRlci1wcm9jZXNzXCI7XG5pbXBvcnQgeyBmcm9tU1NPLCBGcm9tU1NPSW5pdCB9IGZyb20gXCJAYXdzLXNkay9jcmVkZW50aWFsLXByb3ZpZGVyLXNzb1wiO1xuaW1wb3J0IHsgZnJvbVRva2VuRmlsZSwgRnJvbVRva2VuRmlsZUluaXQgfSBmcm9tIFwiQGF3cy1zZGsvY3JlZGVudGlhbC1wcm92aWRlci13ZWItaWRlbnRpdHlcIjtcbmltcG9ydCB7IGNoYWluLCBDcmVkZW50aWFsc1Byb3ZpZGVyRXJyb3IsIG1lbW9pemUgfSBmcm9tIFwiQGF3cy1zZGsvcHJvcGVydHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IGxvYWRTaGFyZWRDb25maWdGaWxlcyB9IGZyb20gXCJAYXdzLXNkay9zaGFyZWQtaW5pLWZpbGUtbG9hZGVyXCI7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IEVOVl9QUk9GSUxFIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtY3JlZGVudGlhbHNcIjtcblxuZXhwb3J0IGNvbnN0IEVOVl9JTURTX0RJU0FCTEVEID0gXCJBV1NfRUMyX01FVEFEQVRBX0RJU0FCTEVEXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNyZWRlbnRpYWwgcHJvdmlkZXIgdGhhdCB3aWxsIGF0dGVtcHQgdG8gZmluZCBjcmVkZW50aWFscyBmcm9tIHRoZVxuICogZm9sbG93aW5nIHNvdXJjZXMgKGxpc3RlZCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlKTpcbiAqICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgZXhwb3NlZCB2aWEgYHByb2Nlc3MuZW52YFxuICogICAqIFNTTyBjcmVkZW50aWFscyBmcm9tIHRva2VuIGNhY2hlXG4gKiAgICogV2ViIGlkZW50aXR5IHRva2VuIGNyZWRlbnRpYWxzXG4gKiAgICogU2hhcmVkIGNyZWRlbnRpYWxzIGFuZCBjb25maWcgaW5pIGZpbGVzXG4gKiAgICogVGhlIEVDMi9FQ1MgSW5zdGFuY2UgTWV0YWRhdGEgU2VydmljZVxuICpcbiAqIFRoZSBkZWZhdWx0IGNyZWRlbnRpYWwgcHJvdmlkZXIgd2lsbCBpbnZva2Ugb25lIHByb3ZpZGVyIGF0IGEgdGltZSBhbmQgb25seVxuICogY29udGludWUgdG8gdGhlIG5leHQgaWYgbm8gY3JlZGVudGlhbHMgaGF2ZSBiZWVuIGxvY2F0ZWQuIEZvciBleGFtcGxlLCBpZlxuICogdGhlIHByb2Nlc3MgZmluZHMgdmFsdWVzIGRlZmluZWQgdmlhIHRoZSBgQVdTX0FDQ0VTU19LRVlfSURgIGFuZFxuICogYEFXU19TRUNSRVRfQUNDRVNTX0tFWWAgZW52aXJvbm1lbnQgdmFyaWFibGVzLCB0aGUgZmlsZXMgYXRcbiAqIGB+Ly5hd3MvY3JlZGVudGlhbHNgIGFuZCBgfi8uYXdzL2NvbmZpZ2Agd2lsbCBub3QgYmUgcmVhZCwgbm9yIHdpbGwgYW55XG4gKiBtZXNzYWdlcyBiZSBzZW50IHRvIHRoZSBJbnN0YW5jZSBNZXRhZGF0YSBTZXJ2aWNlLlxuICpcbiAqIEBwYXJhbSBpbml0ICAgICAgICAgICAgICAgICAgQ29uZmlndXJhdGlvbiB0aGF0IGlzIHBhc3NlZCB0byBlYWNoIGluZGl2aWR1YWxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJcbiAqXG4gKiBAc2VlIGZyb21FbnYgICAgICAgICAgICAgICAgIFRoZSBmdW5jdGlvbiB1c2VkIHRvIHNvdXJjZSBjcmVkZW50aWFscyBmcm9tXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICogQHNlZSBmcm9tU1NPICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gdXNlZCB0byBzb3VyY2UgY3JlZGVudGlhbHMgZnJvbVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlZCBTU08gdG9rZW4gY2FjaGVcbiAqIEBzZWUgZnJvbVRva2VuRmlsZSAgICAgICAgICAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gc291cmNlIGNyZWRlbnRpYWxzIGZyb21cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gZmlsZVxuICogQHNlZSBmcm9tSW5pICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gdXNlZCB0byBzb3VyY2UgY3JlZGVudGlhbHMgZnJvbSBJTklcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNcbiAqIEBzZWUgZnJvbVByb2Nlc3MgICAgICAgICAgICAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gc291cmNlcyBjcmVkZW50aWFscyBmcm9tXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxfcHJvY2VzcyBpbiBJTkkgZmlsZXNcbiAqIEBzZWUgZnJvbUluc3RhbmNlTWV0YWRhdGEgICAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gc291cmNlIGNyZWRlbnRpYWxzIGZyb20gdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDMiBJbnN0YW5jZSBNZXRhZGF0YSBTZXJ2aWNlXG4gKiBAc2VlIGZyb21Db250YWluZXJNZXRhZGF0YSAgIFRoZSBmdW5jdGlvbiB1c2VkIHRvIHNvdXJjZSBjcmVkZW50aWFscyBmcm9tIHRoZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQ1MgQ29udGFpbmVyIE1ldGFkYXRhIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm92aWRlciA9IChcbiAgaW5pdDogRnJvbUluaUluaXQgJiBSZW1vdGVQcm92aWRlckluaXQgJiBGcm9tUHJvY2Vzc0luaXQgJiBGcm9tU1NPSW5pdCAmIEZyb21Ub2tlbkZpbGVJbml0ID0ge31cbik6IENyZWRlbnRpYWxQcm92aWRlciA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7IHByb2ZpbGU6IHByb2Nlc3MuZW52W0VOVl9QUk9GSUxFXSwgLi4uaW5pdCB9O1xuICBpZiAoIW9wdGlvbnMubG9hZGVkQ29uZmlnKSBvcHRpb25zLmxvYWRlZENvbmZpZyA9IGxvYWRTaGFyZWRDb25maWdGaWxlcyhpbml0KTtcbiAgY29uc3QgcHJvdmlkZXJzID0gW1xuICAgIGZyb21TU08ob3B0aW9ucyksXG4gICAgZnJvbUluaShvcHRpb25zKSxcbiAgICBmcm9tUHJvY2VzcyhvcHRpb25zKSxcbiAgICBmcm9tVG9rZW5GaWxlKG9wdGlvbnMpLFxuICAgIHJlbW90ZVByb3ZpZGVyKG9wdGlvbnMpLFxuICAgIGFzeW5jICgpID0+IHtcbiAgICAgIHRocm93IG5ldyBDcmVkZW50aWFsc1Byb3ZpZGVyRXJyb3IoXCJDb3VsZCBub3QgbG9hZCBjcmVkZW50aWFscyBmcm9tIGFueSBwcm92aWRlcnNcIiwgZmFsc2UpO1xuICAgIH0sXG4gIF07XG4gIGlmICghb3B0aW9ucy5wcm9maWxlKSBwcm92aWRlcnMudW5zaGlmdChmcm9tRW52KCkpO1xuICBjb25zdCBwcm92aWRlckNoYWluID0gY2hhaW4oLi4ucHJvdmlkZXJzKTtcblxuICByZXR1cm4gbWVtb2l6ZShcbiAgICBwcm92aWRlckNoYWluLFxuICAgIChjcmVkZW50aWFscykgPT4gY3JlZGVudGlhbHMuZXhwaXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24uZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSA8IDMwMDAwMCxcbiAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuY29uc3QgcmVtb3RlUHJvdmlkZXIgPSAoaW5pdDogUmVtb3RlUHJvdmlkZXJJbml0KTogQ3JlZGVudGlhbFByb3ZpZGVyID0+IHtcbiAgaWYgKHByb2Nlc3MuZW52W0VOVl9DTURTX1JFTEFUSVZFX1VSSV0gfHwgcHJvY2Vzcy5lbnZbRU5WX0NNRFNfRlVMTF9VUkldKSB7XG4gICAgcmV0dXJuIGZyb21Db250YWluZXJNZXRhZGF0YShpbml0KTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudltFTlZfSU1EU19ESVNBQkxFRF0pIHtcbiAgICByZXR1cm4gKCkgPT4gUHJvbWlzZS5yZWplY3QobmV3IENyZWRlbnRpYWxzUHJvdmlkZXJFcnJvcihcIkVDMiBJbnN0YW5jZSBNZXRhZGF0YSBTZXJ2aWNlIGFjY2VzcyBkaXNhYmxlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gZnJvbUluc3RhbmNlTWV0YWRhdGEoaW5pdCk7XG59O1xuIl19
package/dist/es/index.js DELETED
@@ -1,77 +0,0 @@
1
- import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
2
- import { fromEnv } from "@aws-sdk/credential-provider-env";
3
- import { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata, } from "@aws-sdk/credential-provider-imds";
4
- import { fromIni } from "@aws-sdk/credential-provider-ini";
5
- import { fromProcess } from "@aws-sdk/credential-provider-process";
6
- import { fromSSO } from "@aws-sdk/credential-provider-sso";
7
- import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
8
- import { chain, CredentialsProviderError, memoize } from "@aws-sdk/property-provider";
9
- import { loadSharedConfigFiles } from "@aws-sdk/shared-ini-file-loader";
10
- import { ENV_PROFILE } from "@aws-sdk/util-credentials";
11
- export var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
12
- /**
13
- * Creates a credential provider that will attempt to find credentials from the
14
- * following sources (listed in order of precedence):
15
- * * Environment variables exposed via `process.env`
16
- * * SSO credentials from token cache
17
- * * Web identity token credentials
18
- * * Shared credentials and config ini files
19
- * * The EC2/ECS Instance Metadata Service
20
- *
21
- * The default credential provider will invoke one provider at a time and only
22
- * continue to the next if no credentials have been located. For example, if
23
- * the process finds values defined via the `AWS_ACCESS_KEY_ID` and
24
- * `AWS_SECRET_ACCESS_KEY` environment variables, the files at
25
- * `~/.aws/credentials` and `~/.aws/config` will not be read, nor will any
26
- * messages be sent to the Instance Metadata Service.
27
- *
28
- * @param init Configuration that is passed to each individual
29
- * provider
30
- *
31
- * @see fromEnv The function used to source credentials from
32
- * environment variables
33
- * @see fromSSO The function used to source credentials from
34
- * resolved SSO token cache
35
- * @see fromTokenFile The function used to source credentials from
36
- * token file
37
- * @see fromIni The function used to source credentials from INI
38
- * files
39
- * @see fromProcess The function used to sources credentials from
40
- * credential_process in INI files
41
- * @see fromInstanceMetadata The function used to source credentials from the
42
- * EC2 Instance Metadata Service
43
- * @see fromContainerMetadata The function used to source credentials from the
44
- * ECS Container Metadata Service
45
- */
46
- export var defaultProvider = function (init) {
47
- if (init === void 0) { init = {}; }
48
- var options = __assign({ profile: process.env[ENV_PROFILE] }, init);
49
- if (!options.loadedConfig)
50
- options.loadedConfig = loadSharedConfigFiles(init);
51
- var providers = [
52
- fromSSO(options),
53
- fromIni(options),
54
- fromProcess(options),
55
- fromTokenFile(options),
56
- remoteProvider(options),
57
- function () { return __awaiter(void 0, void 0, void 0, function () {
58
- return __generator(this, function (_a) {
59
- throw new CredentialsProviderError("Could not load credentials from any providers", false);
60
- });
61
- }); },
62
- ];
63
- if (!options.profile)
64
- providers.unshift(fromEnv());
65
- var providerChain = chain.apply(void 0, __spreadArray([], __read(providers)));
66
- return memoize(providerChain, function (credentials) { return credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000; }, function (credentials) { return credentials.expiration !== undefined; });
67
- };
68
- var remoteProvider = function (init) {
69
- if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
70
- return fromContainerMetadata(init);
71
- }
72
- if (process.env[ENV_IMDS_DISABLED]) {
73
- return function () { return Promise.reject(new CredentialsProviderError("EC2 Instance Metadata Service access disabled")); };
74
- }
75
- return fromInstanceMetadata(init);
76
- };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBRXJCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sMkNBQTJDLENBQUM7QUFDN0YsT0FBTyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFFN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRyxVQUM3QixJQUErRjtJQUEvRixxQkFBQSxFQUFBLFNBQStGO0lBRS9GLElBQU0sT0FBTyxjQUFLLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFLLElBQUksQ0FBRSxDQUFDO0lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUFFLE9BQU8sQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUUsSUFBTSxTQUFTLEdBQUc7UUFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQixPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2hCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDcEIsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN0QixjQUFjLENBQUMsT0FBTyxDQUFDO1FBQ3ZCOztnQkFDRSxNQUFNLElBQUksd0JBQXdCLENBQUMsK0NBQStDLEVBQUUsS0FBSyxDQUFDLENBQUM7O2FBQzVGO0tBQ0YsQ0FBQztJQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztRQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxJQUFNLGFBQWEsR0FBRyxLQUFLLHdDQUFJLFNBQVMsR0FBQyxDQUFDO0lBRTFDLE9BQU8sT0FBTyxDQUNaLGFBQWEsRUFDYixVQUFDLFdBQVcsSUFBSyxPQUFBLFdBQVcsQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBOUYsQ0FBOEYsRUFDL0csVUFBQyxXQUFXLElBQUssT0FBQSxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBcEMsQ0FBb0MsQ0FDdEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLElBQU0sY0FBYyxHQUFHLFVBQUMsSUFBd0I7SUFDOUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3hFLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtRQUNsQyxPQUFPLGNBQU0sT0FBQSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksd0JBQXdCLENBQUMsK0NBQStDLENBQUMsQ0FBQyxFQUE3RixDQUE2RixDQUFDO0tBQzVHO0lBRUQsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRW52IH0gZnJvbSBcIkBhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXItZW52XCI7XG5pbXBvcnQge1xuICBFTlZfQ01EU19GVUxMX1VSSSxcbiAgRU5WX0NNRFNfUkVMQVRJVkVfVVJJLFxuICBmcm9tQ29udGFpbmVyTWV0YWRhdGEsXG4gIGZyb21JbnN0YW5jZU1ldGFkYXRhLFxuICBSZW1vdGVQcm92aWRlckluaXQsXG59IGZyb20gXCJAYXdzLXNkay9jcmVkZW50aWFsLXByb3ZpZGVyLWltZHNcIjtcbmltcG9ydCB7IGZyb21JbmksIEZyb21JbmlJbml0IH0gZnJvbSBcIkBhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXItaW5pXCI7XG5pbXBvcnQgeyBmcm9tUHJvY2VzcywgRnJvbVByb2Nlc3NJbml0IH0gZnJvbSBcIkBhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXItcHJvY2Vzc1wiO1xuaW1wb3J0IHsgZnJvbVNTTywgRnJvbVNTT0luaXQgfSBmcm9tIFwiQGF3cy1zZGsvY3JlZGVudGlhbC1wcm92aWRlci1zc29cIjtcbmltcG9ydCB7IGZyb21Ub2tlbkZpbGUsIEZyb21Ub2tlbkZpbGVJbml0IH0gZnJvbSBcIkBhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXItd2ViLWlkZW50aXR5XCI7XG5pbXBvcnQgeyBjaGFpbiwgQ3JlZGVudGlhbHNQcm92aWRlckVycm9yLCBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBsb2FkU2hhcmVkQ29uZmlnRmlsZXMgfSBmcm9tIFwiQGF3cy1zZGsvc2hhcmVkLWluaS1maWxlLWxvYWRlclwiO1xuaW1wb3J0IHsgQ3JlZGVudGlhbFByb3ZpZGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBFTlZfUFJPRklMRSB9IGZyb20gXCJAYXdzLXNkay91dGlsLWNyZWRlbnRpYWxzXCI7XG5cbmV4cG9ydCBjb25zdCBFTlZfSU1EU19ESVNBQkxFRCA9IFwiQVdTX0VDMl9NRVRBREFUQV9ESVNBQkxFRFwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjcmVkZW50aWFsIHByb3ZpZGVyIHRoYXQgd2lsbCBhdHRlbXB0IHRvIGZpbmQgY3JlZGVudGlhbHMgZnJvbSB0aGVcbiAqIGZvbGxvd2luZyBzb3VyY2VzIChsaXN0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZSk6XG4gKiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIGV4cG9zZWQgdmlhIGBwcm9jZXNzLmVudmBcbiAqICAgKiBTU08gY3JlZGVudGlhbHMgZnJvbSB0b2tlbiBjYWNoZVxuICogICAqIFdlYiBpZGVudGl0eSB0b2tlbiBjcmVkZW50aWFsc1xuICogICAqIFNoYXJlZCBjcmVkZW50aWFscyBhbmQgY29uZmlnIGluaSBmaWxlc1xuICogICAqIFRoZSBFQzIvRUNTIEluc3RhbmNlIE1ldGFkYXRhIFNlcnZpY2VcbiAqXG4gKiBUaGUgZGVmYXVsdCBjcmVkZW50aWFsIHByb3ZpZGVyIHdpbGwgaW52b2tlIG9uZSBwcm92aWRlciBhdCBhIHRpbWUgYW5kIG9ubHlcbiAqIGNvbnRpbnVlIHRvIHRoZSBuZXh0IGlmIG5vIGNyZWRlbnRpYWxzIGhhdmUgYmVlbiBsb2NhdGVkLiBGb3IgZXhhbXBsZSwgaWZcbiAqIHRoZSBwcm9jZXNzIGZpbmRzIHZhbHVlcyBkZWZpbmVkIHZpYSB0aGUgYEFXU19BQ0NFU1NfS0VZX0lEYCBhbmRcbiAqIGBBV1NfU0VDUkVUX0FDQ0VTU19LRVlgIGVudmlyb25tZW50IHZhcmlhYmxlcywgdGhlIGZpbGVzIGF0XG4gKiBgfi8uYXdzL2NyZWRlbnRpYWxzYCBhbmQgYH4vLmF3cy9jb25maWdgIHdpbGwgbm90IGJlIHJlYWQsIG5vciB3aWxsIGFueVxuICogbWVzc2FnZXMgYmUgc2VudCB0byB0aGUgSW5zdGFuY2UgTWV0YWRhdGEgU2VydmljZS5cbiAqXG4gKiBAcGFyYW0gaW5pdCAgICAgICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24gdGhhdCBpcyBwYXNzZWQgdG8gZWFjaCBpbmRpdmlkdWFsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyXG4gKlxuICogQHNlZSBmcm9tRW52ICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gdXNlZCB0byBzb3VyY2UgY3JlZGVudGlhbHMgZnJvbVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAqIEBzZWUgZnJvbVNTTyAgICAgICAgICAgICAgICAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gc291cmNlIGNyZWRlbnRpYWxzIGZyb21cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWQgU1NPIHRva2VuIGNhY2hlXG4gKiBAc2VlIGZyb21Ub2tlbkZpbGUgICAgICAgICAgIFRoZSBmdW5jdGlvbiB1c2VkIHRvIHNvdXJjZSBjcmVkZW50aWFscyBmcm9tXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuIGZpbGVcbiAqIEBzZWUgZnJvbUluaSAgICAgICAgICAgICAgICAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gc291cmNlIGNyZWRlbnRpYWxzIGZyb20gSU5JXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzXG4gKiBAc2VlIGZyb21Qcm9jZXNzICAgICAgICAgICAgIFRoZSBmdW5jdGlvbiB1c2VkIHRvIHNvdXJjZXMgY3JlZGVudGlhbHMgZnJvbVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsX3Byb2Nlc3MgaW4gSU5JIGZpbGVzXG4gKiBAc2VlIGZyb21JbnN0YW5jZU1ldGFkYXRhICAgIFRoZSBmdW5jdGlvbiB1c2VkIHRvIHNvdXJjZSBjcmVkZW50aWFscyBmcm9tIHRoZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQzIgSW5zdGFuY2UgTWV0YWRhdGEgU2VydmljZVxuICogQHNlZSBmcm9tQ29udGFpbmVyTWV0YWRhdGEgICBUaGUgZnVuY3Rpb24gdXNlZCB0byBzb3VyY2UgY3JlZGVudGlhbHMgZnJvbSB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUNTIENvbnRhaW5lciBNZXRhZGF0YSBTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvdmlkZXIgPSAoXG4gIGluaXQ6IEZyb21JbmlJbml0ICYgUmVtb3RlUHJvdmlkZXJJbml0ICYgRnJvbVByb2Nlc3NJbml0ICYgRnJvbVNTT0luaXQgJiBGcm9tVG9rZW5GaWxlSW5pdCA9IHt9XG4pOiBDcmVkZW50aWFsUHJvdmlkZXIgPT4ge1xuICBjb25zdCBvcHRpb25zID0geyBwcm9maWxlOiBwcm9jZXNzLmVudltFTlZfUFJPRklMRV0sIC4uLmluaXQgfTtcbiAgaWYgKCFvcHRpb25zLmxvYWRlZENvbmZpZykgb3B0aW9ucy5sb2FkZWRDb25maWcgPSBsb2FkU2hhcmVkQ29uZmlnRmlsZXMoaW5pdCk7XG4gIGNvbnN0IHByb3ZpZGVycyA9IFtcbiAgICBmcm9tU1NPKG9wdGlvbnMpLFxuICAgIGZyb21Jbmkob3B0aW9ucyksXG4gICAgZnJvbVByb2Nlc3Mob3B0aW9ucyksXG4gICAgZnJvbVRva2VuRmlsZShvcHRpb25zKSxcbiAgICByZW1vdGVQcm92aWRlcihvcHRpb25zKSxcbiAgICBhc3luYyAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgQ3JlZGVudGlhbHNQcm92aWRlckVycm9yKFwiQ291bGQgbm90IGxvYWQgY3JlZGVudGlhbHMgZnJvbSBhbnkgcHJvdmlkZXJzXCIsIGZhbHNlKTtcbiAgICB9LFxuICBdO1xuICBpZiAoIW9wdGlvbnMucHJvZmlsZSkgcHJvdmlkZXJzLnVuc2hpZnQoZnJvbUVudigpKTtcbiAgY29uc3QgcHJvdmlkZXJDaGFpbiA9IGNoYWluKC4uLnByb3ZpZGVycyk7XG5cbiAgcmV0dXJuIG1lbW9pemUoXG4gICAgcHJvdmlkZXJDaGFpbixcbiAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZCAmJiBjcmVkZW50aWFscy5leHBpcmF0aW9uLmdldFRpbWUoKSAtIERhdGUubm93KCkgPCAzMDAwMDAsXG4gICAgKGNyZWRlbnRpYWxzKSA9PiBjcmVkZW50aWFscy5leHBpcmF0aW9uICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmNvbnN0IHJlbW90ZVByb3ZpZGVyID0gKGluaXQ6IFJlbW90ZVByb3ZpZGVySW5pdCk6IENyZWRlbnRpYWxQcm92aWRlciA9PiB7XG4gIGlmIChwcm9jZXNzLmVudltFTlZfQ01EU19SRUxBVElWRV9VUkldIHx8IHByb2Nlc3MuZW52W0VOVl9DTURTX0ZVTExfVVJJXSkge1xuICAgIHJldHVybiBmcm9tQ29udGFpbmVyTWV0YWRhdGEoaW5pdCk7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0lNRFNfRElTQUJMRURdKSB7XG4gICAgcmV0dXJuICgpID0+IFByb21pc2UucmVqZWN0KG5ldyBDcmVkZW50aWFsc1Byb3ZpZGVyRXJyb3IoXCJFQzIgSW5zdGFuY2UgTWV0YWRhdGEgU2VydmljZSBhY2Nlc3MgZGlzYWJsZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIGZyb21JbnN0YW5jZU1ldGFkYXRhKGluaXQpO1xufTtcbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { RemoteProviderInit } from "@aws-sdk/credential-provider-imds";
2
- import { FromIniInit } from "@aws-sdk/credential-provider-ini";
3
- import { FromProcessInit } from "@aws-sdk/credential-provider-process";
4
- import { FromSSOInit } from "@aws-sdk/credential-provider-sso";
5
- import { FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
6
- import { CredentialProvider } from "@aws-sdk/types";
7
- export declare const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
8
- /**
9
- * Creates a credential provider that will attempt to find credentials from the
10
- * following sources (listed in order of precedence):
11
- * * Environment variables exposed via `process.env`
12
- * * SSO credentials from token cache
13
- * * Web identity token credentials
14
- * * Shared credentials and config ini files
15
- * * The EC2/ECS Instance Metadata Service
16
- *
17
- * The default credential provider will invoke one provider at a time and only
18
- * continue to the next if no credentials have been located. For example, if
19
- * the process finds values defined via the `AWS_ACCESS_KEY_ID` and
20
- * `AWS_SECRET_ACCESS_KEY` environment variables, the files at
21
- * `~/.aws/credentials` and `~/.aws/config` will not be read, nor will any
22
- * messages be sent to the Instance Metadata Service.
23
- *
24
- * @param init Configuration that is passed to each individual
25
- * provider
26
- *
27
- * @see fromEnv The function used to source credentials from
28
- * environment variables
29
- * @see fromSSO The function used to source credentials from
30
- * resolved SSO token cache
31
- * @see fromTokenFile The function used to source credentials from
32
- * token file
33
- * @see fromIni The function used to source credentials from INI
34
- * files
35
- * @see fromProcess The function used to sources credentials from
36
- * credential_process in INI files
37
- * @see fromInstanceMetadata The function used to source credentials from the
38
- * EC2 Instance Metadata Service
39
- * @see fromContainerMetadata The function used to source credentials from the
40
- * ECS Container Metadata Service
41
- */
42
- export declare const defaultProvider: (init?: FromIniInit & RemoteProviderInit & FromProcessInit & FromSSOInit & FromTokenFileInit) => CredentialProvider;
package/src/index.ts DELETED
@@ -1,89 +0,0 @@
1
- import { fromEnv } from "@aws-sdk/credential-provider-env";
2
- import {
3
- ENV_CMDS_FULL_URI,
4
- ENV_CMDS_RELATIVE_URI,
5
- fromContainerMetadata,
6
- fromInstanceMetadata,
7
- RemoteProviderInit,
8
- } from "@aws-sdk/credential-provider-imds";
9
- import { fromIni, FromIniInit } from "@aws-sdk/credential-provider-ini";
10
- import { fromProcess, FromProcessInit } from "@aws-sdk/credential-provider-process";
11
- import { fromSSO, FromSSOInit } from "@aws-sdk/credential-provider-sso";
12
- import { fromTokenFile, FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
13
- import { chain, CredentialsProviderError, memoize } from "@aws-sdk/property-provider";
14
- import { loadSharedConfigFiles } from "@aws-sdk/shared-ini-file-loader";
15
- import { CredentialProvider } from "@aws-sdk/types";
16
- import { ENV_PROFILE } from "@aws-sdk/util-credentials";
17
-
18
- export const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
19
-
20
- /**
21
- * Creates a credential provider that will attempt to find credentials from the
22
- * following sources (listed in order of precedence):
23
- * * Environment variables exposed via `process.env`
24
- * * SSO credentials from token cache
25
- * * Web identity token credentials
26
- * * Shared credentials and config ini files
27
- * * The EC2/ECS Instance Metadata Service
28
- *
29
- * The default credential provider will invoke one provider at a time and only
30
- * continue to the next if no credentials have been located. For example, if
31
- * the process finds values defined via the `AWS_ACCESS_KEY_ID` and
32
- * `AWS_SECRET_ACCESS_KEY` environment variables, the files at
33
- * `~/.aws/credentials` and `~/.aws/config` will not be read, nor will any
34
- * messages be sent to the Instance Metadata Service.
35
- *
36
- * @param init Configuration that is passed to each individual
37
- * provider
38
- *
39
- * @see fromEnv The function used to source credentials from
40
- * environment variables
41
- * @see fromSSO The function used to source credentials from
42
- * resolved SSO token cache
43
- * @see fromTokenFile The function used to source credentials from
44
- * token file
45
- * @see fromIni The function used to source credentials from INI
46
- * files
47
- * @see fromProcess The function used to sources credentials from
48
- * credential_process in INI files
49
- * @see fromInstanceMetadata The function used to source credentials from the
50
- * EC2 Instance Metadata Service
51
- * @see fromContainerMetadata The function used to source credentials from the
52
- * ECS Container Metadata Service
53
- */
54
- export const defaultProvider = (
55
- init: FromIniInit & RemoteProviderInit & FromProcessInit & FromSSOInit & FromTokenFileInit = {}
56
- ): CredentialProvider => {
57
- const options = { profile: process.env[ENV_PROFILE], ...init };
58
- if (!options.loadedConfig) options.loadedConfig = loadSharedConfigFiles(init);
59
- const providers = [
60
- fromSSO(options),
61
- fromIni(options),
62
- fromProcess(options),
63
- fromTokenFile(options),
64
- remoteProvider(options),
65
- async () => {
66
- throw new CredentialsProviderError("Could not load credentials from any providers", false);
67
- },
68
- ];
69
- if (!options.profile) providers.unshift(fromEnv());
70
- const providerChain = chain(...providers);
71
-
72
- return memoize(
73
- providerChain,
74
- (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000,
75
- (credentials) => credentials.expiration !== undefined
76
- );
77
- };
78
-
79
- const remoteProvider = (init: RemoteProviderInit): CredentialProvider => {
80
- if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
81
- return fromContainerMetadata(init);
82
- }
83
-
84
- if (process.env[ENV_IMDS_DISABLED]) {
85
- return () => Promise.reject(new CredentialsProviderError("EC2 Instance Metadata Service access disabled"));
86
- }
87
-
88
- return fromInstanceMetadata(init);
89
- };
package/tsconfig.cjs.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "declarationDir": "./dist/types",
4
- "rootDir": "./src",
5
- "outDir": "./dist/cjs",
6
- "baseUrl": "."
7
- },
8
- "extends": "../../tsconfig.cjs.json",
9
- "include": ["src/"]
10
- }
package/tsconfig.es.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "declarationDir": "./dist/types",
4
- "rootDir": "./src",
5
- "outDir": "./dist/es",
6
- "baseUrl": "."
7
- },
8
- "extends": "../../tsconfig.es.json",
9
- "include": ["src/"]
10
- }