@cloud-copilot/iam-collect 0.1.29 → 0.1.30
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/dist/cjs/aws/ClientPool.d.ts +1 -1
- package/dist/cjs/aws/ClientPool.d.ts.map +1 -1
- package/dist/cjs/aws/ClientPool.js +1 -1
- package/dist/cjs/aws/ClientPool.js.map +1 -1
- package/dist/cjs/aws/auth.d.ts +8 -13
- package/dist/cjs/aws/auth.d.ts.map +1 -1
- package/dist/cjs/aws/auth.js +55 -86
- package/dist/cjs/aws/auth.js.map +1 -1
- package/dist/cjs/aws/coreAuth.d.ts +45 -0
- package/dist/cjs/aws/coreAuth.d.ts.map +1 -0
- package/dist/cjs/aws/coreAuth.js +92 -0
- package/dist/cjs/aws/coreAuth.js.map +1 -0
- package/dist/cjs/aws/tokens.d.ts +12 -0
- package/dist/cjs/aws/tokens.d.ts.map +1 -0
- package/dist/cjs/aws/tokens.js +24 -0
- package/dist/cjs/aws/tokens.js.map +1 -0
- package/dist/cjs/cli.js +7 -2
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/config/config.d.ts +7 -0
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js +17 -8
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/download/download.d.ts +1 -1
- package/dist/cjs/download/download.d.ts.map +1 -1
- package/dist/cjs/download/download.js +54 -20
- package/dist/cjs/download/download.js.map +1 -1
- package/dist/cjs/download/jobQueue.d.ts +41 -0
- package/dist/cjs/download/jobQueue.d.ts.map +1 -0
- package/dist/cjs/download/jobQueue.js +37 -0
- package/dist/cjs/download/jobQueue.js.map +1 -0
- package/dist/cjs/download/util.d.ts +7 -0
- package/dist/cjs/download/util.d.ts.map +1 -0
- package/dist/cjs/download/util.js +14 -0
- package/dist/cjs/download/util.js.map +1 -0
- package/dist/cjs/persistence/util.d.ts +10 -0
- package/dist/cjs/persistence/util.d.ts.map +1 -1
- package/dist/cjs/persistence/util.js +15 -0
- package/dist/cjs/persistence/util.js.map +1 -1
- package/dist/cjs/regions.d.ts +1 -1
- package/dist/cjs/regions.d.ts.map +1 -1
- package/dist/cjs/services.d.ts +8 -2
- package/dist/cjs/services.d.ts.map +1 -1
- package/dist/cjs/services.js +3 -0
- package/dist/cjs/services.js.map +1 -1
- package/dist/cjs/syncs/iam/authorizationDetails.js.map +1 -1
- package/dist/cjs/syncs/iam/identityProviders.d.ts.map +1 -1
- package/dist/cjs/syncs/iam/identityProviders.js +2 -8
- package/dist/cjs/syncs/iam/identityProviders.js.map +1 -1
- package/dist/cjs/syncs/organizations/organizations.js.map +1 -1
- package/dist/cjs/syncs/s3/buckets.js.map +1 -1
- package/dist/cjs/syncs/sync.d.ts +1 -1
- package/dist/cjs/syncs/sync.d.ts.map +1 -1
- package/dist/cjs/syncs/typedSync.d.ts +1 -1
- package/dist/cjs/syncs/typedSync.d.ts.map +1 -1
- package/dist/cjs/syncs/typedSync.js.map +1 -1
- package/dist/cjs/utils/log.d.ts.map +1 -1
- package/dist/cjs/utils/log.js +13 -1
- package/dist/cjs/utils/log.js.map +1 -1
- package/dist/cjs/utils/promise.d.ts +8 -0
- package/dist/cjs/utils/promise.d.ts.map +1 -0
- package/dist/cjs/utils/promise.js +13 -0
- package/dist/cjs/utils/promise.js.map +1 -0
- package/dist/esm/aws/ClientPool.d.ts +1 -1
- package/dist/esm/aws/ClientPool.d.ts.map +1 -1
- package/dist/esm/aws/ClientPool.js +1 -1
- package/dist/esm/aws/ClientPool.js.map +1 -1
- package/dist/esm/aws/auth.d.ts +8 -13
- package/dist/esm/aws/auth.d.ts.map +1 -1
- package/dist/esm/aws/auth.js +55 -84
- package/dist/esm/aws/auth.js.map +1 -1
- package/dist/esm/aws/coreAuth.d.ts +45 -0
- package/dist/esm/aws/coreAuth.d.ts.map +1 -0
- package/dist/esm/aws/coreAuth.js +87 -0
- package/dist/esm/aws/coreAuth.js.map +1 -0
- package/dist/esm/aws/tokens.d.ts +12 -0
- package/dist/esm/aws/tokens.d.ts.map +1 -0
- package/dist/esm/aws/tokens.js +21 -0
- package/dist/esm/aws/tokens.js.map +1 -0
- package/dist/esm/cli.js +7 -2
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/config/config.d.ts +7 -0
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js +16 -8
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/download/download.d.ts +1 -1
- package/dist/esm/download/download.d.ts.map +1 -1
- package/dist/esm/download/download.js +55 -21
- package/dist/esm/download/download.js.map +1 -1
- package/dist/esm/download/jobQueue.d.ts +41 -0
- package/dist/esm/download/jobQueue.d.ts.map +1 -0
- package/dist/esm/download/jobQueue.js +34 -0
- package/dist/esm/download/jobQueue.js.map +1 -0
- package/dist/esm/download/util.d.ts +7 -0
- package/dist/esm/download/util.d.ts.map +1 -0
- package/dist/esm/download/util.js +11 -0
- package/dist/esm/download/util.js.map +1 -0
- package/dist/esm/persistence/util.d.ts +10 -0
- package/dist/esm/persistence/util.d.ts.map +1 -1
- package/dist/esm/persistence/util.js +14 -0
- package/dist/esm/persistence/util.js.map +1 -1
- package/dist/esm/regions.d.ts +1 -1
- package/dist/esm/regions.d.ts.map +1 -1
- package/dist/esm/services.d.ts +8 -2
- package/dist/esm/services.d.ts.map +1 -1
- package/dist/esm/services.js +3 -0
- package/dist/esm/services.js.map +1 -1
- package/dist/esm/syncs/iam/authorizationDetails.js.map +1 -1
- package/dist/esm/syncs/iam/identityProviders.d.ts.map +1 -1
- package/dist/esm/syncs/iam/identityProviders.js +2 -8
- package/dist/esm/syncs/iam/identityProviders.js.map +1 -1
- package/dist/esm/syncs/organizations/organizations.js.map +1 -1
- package/dist/esm/syncs/s3/buckets.js.map +1 -1
- package/dist/esm/syncs/sync.d.ts +1 -1
- package/dist/esm/syncs/sync.d.ts.map +1 -1
- package/dist/esm/syncs/typedSync.d.ts +1 -1
- package/dist/esm/syncs/typedSync.d.ts.map +1 -1
- package/dist/esm/syncs/typedSync.js.map +1 -1
- package/dist/esm/utils/log.d.ts.map +1 -1
- package/dist/esm/utils/log.js +13 -1
- package/dist/esm/utils/log.js.map +1 -1
- package/dist/esm/utils/promise.d.ts +8 -0
- package/dist/esm/utils/promise.d.ts.map +1 -0
- package/dist/esm/utils/promise.js +10 -0
- package/dist/esm/utils/promise.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Client } from '@smithy/smithy-client';
|
|
2
|
-
import { AwsCredentialIdentityWithMetaData } from './
|
|
2
|
+
import { AwsCredentialIdentityWithMetaData } from './coreAuth.js';
|
|
3
3
|
type ClientConstructor<T> = new (args: any) => T;
|
|
4
4
|
type AnyClient = Client<any, any, any, any>;
|
|
5
5
|
export declare class AwsClientPool {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientPool.d.ts","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ClientPool.d.ts","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AAEjE,KAAK,iBAAiB,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAA;AAChD,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE3C,qBAAa,aAAa;IACxB,OAAc,eAAe,gBAAsB;IAEnD,OAAO,CAAC,WAAW,CAA+B;IAElD;;;;;;;;OAQG;IACI,MAAM,CAAC,CAAC,SAAS,SAAS,EAC/B,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAChC,WAAW,EAAE,iCAAiC,EAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,CAAC;IAmBJ,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACI,KAAK,IAAI,IAAI;CAQrB"}
|
|
@@ -32,7 +32,7 @@ class AwsClientPool {
|
|
|
32
32
|
return this.clientCache.get(cacheKey);
|
|
33
33
|
}
|
|
34
34
|
getCacheKey(ClientType, credentials, region, endpoint) {
|
|
35
|
-
return `${ClientType.name}:${credentials.accountId}:${region}:${endpoint}`;
|
|
35
|
+
return `${ClientType.name}:${credentials.accountId}:${credentials.accessKeyId}:${region}:${endpoint}`;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Destroys all clients in the pool and empties the cache.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientPool.js","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAMhD,MAAa,aAAa;IACjB,MAAM,CAAC,eAAe,GAAG,IAAI,aAAa,EAAE,CAAA;IAE3C,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;IAElD;;;;;;;;OAQG;IACI,MAAM,CACX,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE5E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,2DAA2D;YAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC5B,WAAW;gBACX,MAAM;gBACN,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,wBAAW,CAAC,QAAQ;aAChC,CAAC,CAAA;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,uDAAuD;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAA;IAC5C,CAAC;IAEO,WAAW,CACjB,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"ClientPool.js","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAMhD,MAAa,aAAa;IACjB,MAAM,CAAC,eAAe,GAAG,IAAI,aAAa,EAAE,CAAA;IAE3C,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;IAElD;;;;;;;;OAQG;IACI,MAAM,CACX,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE5E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,2DAA2D;YAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC5B,WAAW;gBACX,MAAM;gBACN,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,wBAAW,CAAC,QAAQ;aAChC,CAAC,CAAA;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,uDAAuD;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAA;IAC5C,CAAC;IAEO,WAAW,CACjB,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,WAAW,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAA;IACvG,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;;AA3DH,sCA4DC"}
|
package/dist/cjs/aws/auth.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
1
|
import { AuthConfig } from '../config/config.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { AwsCredentialIdentityWithMetaData } from './coreAuth.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get credentials for the given account ID and auth configuration.
|
|
5
|
+
*
|
|
6
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
7
|
+
* @param authConfig the authentication configuration to use for the account
|
|
8
|
+
* @returns new or cached credentials based on the provided account ID and auth configuration
|
|
9
|
+
*/
|
|
11
10
|
export declare function getCredentials(accountId: string, authConfig: AuthConfig | undefined): Promise<AwsCredentialIdentityWithMetaData>;
|
|
12
|
-
export declare function getTokenInfo(credentials: AwsCredentialIdentity): Promise<{
|
|
13
|
-
accountId: string;
|
|
14
|
-
partition: string;
|
|
15
|
-
}>;
|
|
16
11
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,iCAAiC,EAA0B,MAAM,eAAe,CAAA;AA6DzF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAuB5C"}
|
package/dist/cjs/aws/auth.js
CHANGED
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefaultCredentials = getDefaultCredentials;
|
|
4
3
|
exports.getCredentials = getCredentials;
|
|
5
|
-
exports.getTokenInfo = getTokenInfo;
|
|
6
|
-
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
7
|
-
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
8
4
|
const log_js_1 = require("../utils/log.js");
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return provider();
|
|
14
|
-
}
|
|
15
|
-
//Cache credentials based on the auth config with a timeout
|
|
5
|
+
const coreAuth_js_1 = require("./coreAuth.js");
|
|
6
|
+
/**
|
|
7
|
+
* We cache credentials with a timeout
|
|
8
|
+
*/
|
|
16
9
|
const credentialsCache = new Map();
|
|
10
|
+
// Currently using a static timeout
|
|
11
|
+
const CREDENTIAL_CACHE_TIMEOUT = 300 * 1000;
|
|
12
|
+
/**
|
|
13
|
+
* We cache requests for credentials to avoid multiple requests for the same accountId and authConfig.
|
|
14
|
+
*/
|
|
15
|
+
const credentialRequestCache = {};
|
|
16
|
+
/**
|
|
17
|
+
* Generate a cache key for the given account ID and auth configuration.
|
|
18
|
+
*
|
|
19
|
+
* @param accountId the AWS account ID
|
|
20
|
+
* @param authConfig the authentication configuration, if any
|
|
21
|
+
* @returns a unique cache key for the credentials
|
|
22
|
+
*/
|
|
17
23
|
function credentialsCacheKey(accountId, authConfig) {
|
|
18
24
|
return authConfig ? `${accountId}:${JSON.stringify(authConfig)}` : accountId;
|
|
19
25
|
}
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Get cached credentials for the given cache key, if they exist and are not expired.
|
|
28
|
+
*
|
|
29
|
+
* @param cacheKey the cache key to get credentials for
|
|
30
|
+
* @returns the cached credentials if they exist and are not expired, otherwise undefined
|
|
31
|
+
*/
|
|
32
|
+
function getCachedCredentials(cacheKey) {
|
|
22
33
|
const cached = credentialsCache.get(cacheKey);
|
|
23
34
|
if (cached && cached.expiration > Date.now()) {
|
|
24
35
|
return cached.credentials;
|
|
@@ -26,86 +37,44 @@ function getCachedCredentials(accountId, authConfig) {
|
|
|
26
37
|
credentialsCache.delete(cacheKey);
|
|
27
38
|
return undefined;
|
|
28
39
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Cache a set of credentials
|
|
42
|
+
*
|
|
43
|
+
* @param cacheKey the cache key to use for the credentials
|
|
44
|
+
* @param credentials the credentials to cache
|
|
45
|
+
*/
|
|
46
|
+
function setCachedCredentials(cacheKey, credentials) {
|
|
47
|
+
const expiration = (0, coreAuth_js_1.now)() + CREDENTIAL_CACHE_TIMEOUT;
|
|
32
48
|
credentialsCache.set(cacheKey, { expiration, credentials });
|
|
33
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Get credentials for the given account ID and auth configuration.
|
|
52
|
+
*
|
|
53
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
54
|
+
* @param authConfig the authentication configuration to use for the account
|
|
55
|
+
* @returns new or cached credentials based on the provided account ID and auth configuration
|
|
56
|
+
*/
|
|
34
57
|
async function getCredentials(accountId, authConfig) {
|
|
35
|
-
const
|
|
58
|
+
const cacheKey = credentialsCacheKey(accountId, authConfig);
|
|
59
|
+
const cachedCredentials = getCachedCredentials(cacheKey);
|
|
36
60
|
if (cachedCredentials) {
|
|
37
61
|
log_js_1.log.trace({ accountId }, 'Using cached credentials');
|
|
38
62
|
return cachedCredentials;
|
|
39
63
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
log_js_1.log.trace({
|
|
43
|
-
accountId
|
|
44
|
-
}, 'Using default SDK credential chain');
|
|
45
|
-
const provider = (0, credential_providers_1.fromNodeProviderChain)();
|
|
46
|
-
const credentials = await provider();
|
|
47
|
-
const tokenInfo = await getTokenInfo(credentials);
|
|
48
|
-
if (tokenInfo.accountId !== accountId) {
|
|
49
|
-
throw new Error(`No auth config found for account ${accountId} and no default auth config found. The account ID of the current credentials does not match.`);
|
|
50
|
-
}
|
|
51
|
-
const defaultCredentials = {
|
|
52
|
-
...credentials,
|
|
53
|
-
accountId: tokenInfo.accountId,
|
|
54
|
-
partition: tokenInfo.partition
|
|
55
|
-
};
|
|
56
|
-
setCachedCredentials(accountId, authConfig, defaultCredentials);
|
|
57
|
-
return defaultCredentials;
|
|
58
|
-
}
|
|
59
|
-
let credentials = undefined;
|
|
60
|
-
if (authConfig.profile) {
|
|
61
|
-
log_js_1.log.trace({
|
|
62
|
-
accountId,
|
|
63
|
-
profile: authConfig.profile
|
|
64
|
-
}, 'Using profile for credentials');
|
|
65
|
-
const provider = (0, credential_providers_1.fromIni)({ profile: authConfig.profile });
|
|
66
|
-
credentials = await provider();
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
log_js_1.log.trace({
|
|
70
|
-
accountId
|
|
71
|
-
}, 'Using default SDK credential chain');
|
|
72
|
-
const provider = (0, credential_providers_1.fromNodeProviderChain)();
|
|
73
|
-
credentials = await provider();
|
|
74
|
-
}
|
|
75
|
-
const sessionInfo = await getTokenInfo(credentials);
|
|
76
|
-
if (authConfig.role) {
|
|
77
|
-
const roleArn = `arn:${sessionInfo.partition}:iam::${accountId}:role/${authConfig.role.pathAndName}`;
|
|
78
|
-
log_js_1.log.trace({ accountId, roleArn, sessionInfo }, 'Assuming role for account with credentials');
|
|
79
|
-
const roleProvider = (0, credential_providers_1.fromTemporaryCredentials)({
|
|
80
|
-
masterCredentials: credentials,
|
|
81
|
-
params: {
|
|
82
|
-
RoleArn: roleArn,
|
|
83
|
-
ExternalId: authConfig.role.externalId,
|
|
84
|
-
RoleSessionName: authConfig.role.sessionName || `iam-collect-${(0, strings_js_1.randomCharacters)()}`
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
credentials = await roleProvider();
|
|
88
|
-
}
|
|
89
|
-
else if (sessionInfo.accountId != accountId) {
|
|
90
|
-
// If the account ID from the credentials doesn't match the expected account ID and no role is specified
|
|
91
|
-
// throw an error to indicate that the credentials do not match the expected account
|
|
92
|
-
throw new Error(`The credentials provided do not match the expected account ID ${accountId}. Found ${sessionInfo.accountId}. Please check your auth configuration.`);
|
|
64
|
+
if (credentialRequestCache[cacheKey] !== undefined) {
|
|
65
|
+
return credentialRequestCache[cacheKey];
|
|
93
66
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return {
|
|
107
|
-
accountId: accountId,
|
|
108
|
-
partition: partition
|
|
109
|
-
};
|
|
67
|
+
//Create a new promise and store it in case another request comes in while this one is being processed.
|
|
68
|
+
return (credentialRequestCache[cacheKey] = (async () => {
|
|
69
|
+
try {
|
|
70
|
+
log_js_1.log.trace({ accountId }, 'Creating new credentials');
|
|
71
|
+
const newCredentials = await (0, coreAuth_js_1.getNewCredentials)(accountId, authConfig);
|
|
72
|
+
setCachedCredentials(cacheKey, newCredentials);
|
|
73
|
+
return newCredentials;
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
delete credentialRequestCache[cacheKey]; // Clean up the queue regardless of success or failure.
|
|
77
|
+
}
|
|
78
|
+
})());
|
|
110
79
|
}
|
|
111
80
|
//# sourceMappingURL=auth.js.map
|
package/dist/cjs/aws/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":";;AAsEA,wCA0BC;AA/FD,4CAAqC;AACrC,+CAAyF;AAEzF;;GAEG;AACH,MAAM,gBAAgB,GAMlB,IAAI,GAAG,EAAE,CAAA;AAEb,mCAAmC;AACnC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAE3C;;GAEG;AACH,MAAM,sBAAsB,GAA+D,EAAE,CAAA;AAE7F;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,UAAkC;IAChF,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,WAAW,CAAA;IAC3B,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,WAA8C;IAE9C,MAAM,UAAU,GAAG,IAAA,iBAAG,GAAE,GAAG,wBAAwB,CAAA;IACnD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,UAAkC;IAElC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC3D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,iBAAiB,EAAE,CAAC;QACtB,YAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,0BAA0B,CAAC,CAAA;QACpD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,uGAAuG;IACvG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;QACrD,IAAI,CAAC;YACH,YAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,0BAA0B,CAAC,CAAA;YACpD,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAiB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YACrE,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YAC9C,OAAO,cAAc,CAAA;QACvB,CAAC;gBAAS,CAAC;YACT,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA,CAAC,uDAAuD;QACjG,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,CAAA;AACP,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
|
+
import { AuthConfig } from '../config/config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Credentials with additional metadata, including the AWS account ID and partition.
|
|
5
|
+
*/
|
|
6
|
+
export interface AwsCredentialIdentityWithMetaData extends AwsCredentialIdentity {
|
|
7
|
+
/**
|
|
8
|
+
* The AWS partition (e.g., 'aws', 'aws-cn', 'aws-us-gov').
|
|
9
|
+
*/
|
|
10
|
+
partition: string;
|
|
11
|
+
/**
|
|
12
|
+
* The AWS account ID associated with these credentials.
|
|
13
|
+
*/
|
|
14
|
+
accountId: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* What time is it now?
|
|
18
|
+
*
|
|
19
|
+
* This exists to make unit tests of caching behavior easier.
|
|
20
|
+
*
|
|
21
|
+
* @returns the current timestamp in milliseconds since the Unix epoch
|
|
22
|
+
*/
|
|
23
|
+
export declare function now(): number;
|
|
24
|
+
/**
|
|
25
|
+
* Get brand new credentials for the given account ID and auth configuration.
|
|
26
|
+
*
|
|
27
|
+
* DO NOT USE THIS DIRECTLY. Use `getCredentials` in `auth.ts` instead
|
|
28
|
+
*
|
|
29
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
30
|
+
* @param authConfig the authentication configuration to use for the account
|
|
31
|
+
* @returns new credentials based on the provided account ID and auth configuration
|
|
32
|
+
*/
|
|
33
|
+
export declare function getNewCredentials(accountId: string, authConfig: AuthConfig | undefined): Promise<AwsCredentialIdentityWithMetaData>;
|
|
34
|
+
/**
|
|
35
|
+
* This gets a new set of initial credentials for an auth configuration. These are the initial
|
|
36
|
+
* credentials that are the default credentials are used to then assume a role if one is specified.
|
|
37
|
+
* There are very few cases where this should be used directly, and in most cases you should use
|
|
38
|
+
* getNewCredentials instead.
|
|
39
|
+
*
|
|
40
|
+
* @param authConfig the authentication configuration to use
|
|
41
|
+
* @param logInfo any additional information to log while getting the credentials
|
|
42
|
+
* @returns new credentials based on the provided auth configuration
|
|
43
|
+
*/
|
|
44
|
+
export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
|
|
45
|
+
//# sourceMappingURL=coreAuth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CAiB5C"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.now = now;
|
|
4
|
+
exports.getNewCredentials = getNewCredentials;
|
|
5
|
+
exports.getNewInitialCredentials = getNewInitialCredentials;
|
|
6
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
7
|
+
const log_js_1 = require("../utils/log.js");
|
|
8
|
+
const strings_js_1 = require("../utils/strings.js");
|
|
9
|
+
const tokens_js_1 = require("./tokens.js");
|
|
10
|
+
/**
|
|
11
|
+
* What time is it now?
|
|
12
|
+
*
|
|
13
|
+
* This exists to make unit tests of caching behavior easier.
|
|
14
|
+
*
|
|
15
|
+
* @returns the current timestamp in milliseconds since the Unix epoch
|
|
16
|
+
*/
|
|
17
|
+
function now() {
|
|
18
|
+
return Date.now();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get brand new credentials for the given account ID and auth configuration.
|
|
22
|
+
*
|
|
23
|
+
* DO NOT USE THIS DIRECTLY. Use `getCredentials` in `auth.ts` instead
|
|
24
|
+
*
|
|
25
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
26
|
+
* @param authConfig the authentication configuration to use for the account
|
|
27
|
+
* @returns new credentials based on the provided account ID and auth configuration
|
|
28
|
+
*/
|
|
29
|
+
async function getNewCredentials(accountId, authConfig) {
|
|
30
|
+
const baseCredentials = await getNewInitialCredentials(authConfig, {
|
|
31
|
+
accountId
|
|
32
|
+
});
|
|
33
|
+
let credentials = baseCredentials;
|
|
34
|
+
if (authConfig?.role) {
|
|
35
|
+
const roleArn = `arn:${baseCredentials.partition}:iam::${accountId}:role/${authConfig.role.pathAndName}`;
|
|
36
|
+
log_js_1.log.trace({ accountId, roleArn, sourceAccount: baseCredentials.accountId }, 'Assuming role for account with credentials');
|
|
37
|
+
const roleProvider = (0, credential_providers_1.fromTemporaryCredentials)({
|
|
38
|
+
masterCredentials: baseCredentials,
|
|
39
|
+
params: {
|
|
40
|
+
RoleArn: roleArn,
|
|
41
|
+
ExternalId: authConfig.role.externalId,
|
|
42
|
+
RoleSessionName: authConfig.role.sessionName || `iam-collect-${(0, strings_js_1.randomCharacters)()}`
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const roleCredentials = await roleProvider();
|
|
46
|
+
credentials = {
|
|
47
|
+
...roleCredentials,
|
|
48
|
+
accountId: accountId,
|
|
49
|
+
partition: baseCredentials.partition
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (baseCredentials.accountId != accountId) {
|
|
53
|
+
// If the account ID from the credentials doesn't match the expected account ID and no role is specified
|
|
54
|
+
// throw an error to indicate that the credentials do not match the expected account
|
|
55
|
+
log_js_1.log.error('Auth config, account mismatch', {
|
|
56
|
+
desiredAccountId: accountId,
|
|
57
|
+
currentAccountId: baseCredentials.accountId
|
|
58
|
+
});
|
|
59
|
+
throw new Error(`The credentials provided do not match the expected account ID ${accountId}. Found ${baseCredentials.accountId}. Please check your auth configuration.`);
|
|
60
|
+
}
|
|
61
|
+
return credentials;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* This gets a new set of initial credentials for an auth configuration. These are the initial
|
|
65
|
+
* credentials that are the default credentials are used to then assume a role if one is specified.
|
|
66
|
+
* There are very few cases where this should be used directly, and in most cases you should use
|
|
67
|
+
* getNewCredentials instead.
|
|
68
|
+
*
|
|
69
|
+
* @param authConfig the authentication configuration to use
|
|
70
|
+
* @param logInfo any additional information to log while getting the credentials
|
|
71
|
+
* @returns new credentials based on the provided auth configuration
|
|
72
|
+
*/
|
|
73
|
+
async function getNewInitialCredentials(authConfig, logInfo = {}) {
|
|
74
|
+
let credentials;
|
|
75
|
+
if (authConfig?.profile) {
|
|
76
|
+
log_js_1.log.trace({ ...logInfo, profile: authConfig.profile }, 'Using profile for credentials');
|
|
77
|
+
const provider = (0, credential_providers_1.fromIni)({ profile: authConfig.profile });
|
|
78
|
+
credentials = await provider();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
log_js_1.log.trace(logInfo, 'Using default SDK credential chain');
|
|
82
|
+
const provider = (0, credential_providers_1.fromNodeProviderChain)();
|
|
83
|
+
credentials = await provider();
|
|
84
|
+
}
|
|
85
|
+
const tokenInfo = await (0, tokens_js_1.getTokenInfo)(credentials);
|
|
86
|
+
return {
|
|
87
|
+
...credentials,
|
|
88
|
+
accountId: tokenInfo.accountId,
|
|
89
|
+
partition: tokenInfo.partition
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=coreAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":";;AAiCA,kBAEC;AAWD,8CA2CC;AAYD,4DAoBC;AAzHD,wEAIsC;AAGtC,4CAAqC;AACrC,oDAAsD;AACtD,2CAA0C;AAiB1C;;;;;;GAMG;AACH,SAAgB,GAAG;IACjB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,UAAkC;IAElC,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE;QACjE,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,WAAW,GAAG,eAAe,CAAA;IACjC,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,eAAe,CAAC,SAAS,SAAS,SAAS,SAAS,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxG,YAAG,CAAC,KAAK,CACP,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,SAAS,EAAE,EAChE,4CAA4C,CAC7C,CAAA;QACD,MAAM,YAAY,GAAG,IAAA,+CAAwB,EAAC;YAC5C,iBAAiB,EAAE,eAAe;YAClC,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU;gBACtC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,IAAA,6BAAgB,GAAE,EAAE;aACpF;SACF,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAA;QAC5C,WAAW,GAAG;YACZ,GAAG,eAAe;YAClB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,eAAe,CAAC,SAAS;SACrC,CAAA;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAClD,wGAAwG;QACxG,oFAAoF;QACpF,YAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;YACzC,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,eAAe,CAAC,SAAS;SAC5C,CAAC,CAAA;QACF,MAAM,IAAI,KAAK,CACb,iEAAiE,SAAS,WAAW,eAAe,CAAC,SAAS,yCAAyC,CACxJ,CAAA;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,wBAAwB,CAC5C,UAAkC,EAClC,UAAmC,EAAE;IAErC,IAAI,WAAkC,CAAA;IACtC,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QACxB,YAAG,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAA;QACvF,MAAM,QAAQ,GAAG,IAAA,8BAAO,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;QACzD,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAA;IAChC,CAAC;SAAM,CAAC;QACN,YAAG,CAAC,KAAK,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,IAAA,4CAAqB,GAAE,CAAA;QACxC,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAA;IAChC,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,WAAW,CAAC,CAAA;IACjD,OAAO;QACL,GAAG,WAAW;QACd,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
|
+
/**
|
|
3
|
+
* Get the AWS account ID and partition from the provided credentials.
|
|
4
|
+
*
|
|
5
|
+
* @param credentials The AWS credentials to use for the request.
|
|
6
|
+
* @returns An object containing the AWS account ID and partition for the provided credentials.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getTokenInfo(credentials: AwsCredentialIdentity): Promise<{
|
|
9
|
+
accountId: string;
|
|
10
|
+
partition: string;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/aws/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEtD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAC,CAYD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTokenInfo = getTokenInfo;
|
|
4
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
5
|
+
/**
|
|
6
|
+
* Get the AWS account ID and partition from the provided credentials.
|
|
7
|
+
*
|
|
8
|
+
* @param credentials The AWS credentials to use for the request.
|
|
9
|
+
* @returns An object containing the AWS account ID and partition for the provided credentials.
|
|
10
|
+
*/
|
|
11
|
+
async function getTokenInfo(credentials) {
|
|
12
|
+
const stsClient = new client_sts_1.STSClient({ credentials });
|
|
13
|
+
const command = new client_sts_1.GetCallerIdentityCommand({});
|
|
14
|
+
const response = await stsClient.send(command);
|
|
15
|
+
const accountId = response.Account;
|
|
16
|
+
const arn = response.Arn;
|
|
17
|
+
const arnParts = arn.split(':');
|
|
18
|
+
const partition = arnParts[1];
|
|
19
|
+
return {
|
|
20
|
+
accountId: accountId,
|
|
21
|
+
partition: partition
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/aws/tokens.ts"],"names":[],"mappings":";;AASA,oCAeC;AAxBD,oDAAyE;AAGzE;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,WAAkC;IAInE,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,IAAI,qCAAwB,CAAC,EAAE,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAA;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;IACxB,MAAM,QAAQ,GAAG,GAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,OAAO;QACL,SAAS,EAAE,SAAU;QACrB,SAAS,EAAE,SAAS;KACrB,CAAA;AACH,CAAC"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -23,7 +23,7 @@ const main = async () => {
|
|
|
23
23
|
description: 'The configuration files to use',
|
|
24
24
|
values: 'multiple'
|
|
25
25
|
},
|
|
26
|
-
|
|
26
|
+
accounts: {
|
|
27
27
|
type: 'string',
|
|
28
28
|
description: 'The account IDs to download from',
|
|
29
29
|
values: 'multiple'
|
|
@@ -37,6 +37,11 @@ const main = async () => {
|
|
|
37
37
|
type: 'string',
|
|
38
38
|
description: 'The services to download',
|
|
39
39
|
values: 'multiple'
|
|
40
|
+
},
|
|
41
|
+
concurrency: {
|
|
42
|
+
type: 'number',
|
|
43
|
+
description: 'The maximum number of concurrent downloads to allow. Defaults based on your system CPUs',
|
|
44
|
+
values: 'single'
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
}
|
|
@@ -68,7 +73,7 @@ const main = async () => {
|
|
|
68
73
|
const defaultConfig = './iam-collect.jsonc';
|
|
69
74
|
const configFiles = cli.args.configFiles?.length > 0 ? cli.args.configFiles : [defaultConfig];
|
|
70
75
|
const configs = (0, configFile_js_1.loadConfigFiles)(configFiles);
|
|
71
|
-
await (0, download_js_1.downloadData)(configs, cli.args.
|
|
76
|
+
await (0, download_js_1.downloadData)(configs, cli.args.accounts, cli.args.regions, cli.args.services, cli.args.concurrency);
|
|
72
77
|
}
|
|
73
78
|
};
|
|
74
79
|
main()
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AAEA,4CAAsD;AACtD,0DAAwD;AACxD,sEAAyE;AACzE,gEAA+D;AAC/D,kEAA8D;AAC9D,wDAAqD;AACrD,2CAAuD;AAEvD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,MAAM,GAAG,GAAG,IAAA,uBAAiB,EAC3B,aAAa,EACb;QACE,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;oBAC7C,MAAM,EAAE,UAAU;iBACnB;gBACD,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,13 @@ export interface ResolvedAccountServiceRegionConfig {
|
|
|
69
69
|
auth?: AuthConfig;
|
|
70
70
|
endpoint?: string;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the default auth config from the provided configs.
|
|
74
|
+
*
|
|
75
|
+
* @param configs the configs to search for the default auth config
|
|
76
|
+
* @returns the default auth config, or an empty object if none found
|
|
77
|
+
*/
|
|
78
|
+
export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
|
|
72
79
|
export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
|
|
73
80
|
export declare function regionsForService(service: string, account: string, configs: TopLevelConfig[], allRegions: string[]): RegionsForAccountService;
|
|
74
81
|
export declare function accountServiceRegionConfig(service: string, accountId: string, region: string, configs: TopLevelConfig[]): ResolvedAccountServiceRegionConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,WAAW,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,eAAe,CAAA;AAErE,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,UAAU,aAAc,SAAQ,UAAU;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;CACrE;AAED,UAAU,aAAc,SAAQ,UAAU;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAC/C;AAED,KAAK,kBAAkB,GAAG,UAAU,EAAE,CAAA;AACtC,KAAK,wBAAwB,GAAG,MAAM,EAAE,CAAA;AAiBxC,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EAAE,EACzB,WAAW,EAAE,MAAM,EAAE,GACpB,kBAAkB,CA2BpB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,GACnB,wBAAwB,CA0C1B;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultAuthConfig = getDefaultAuthConfig;
|
|
3
4
|
exports.servicesForAccount = servicesForAccount;
|
|
4
5
|
exports.regionsForService = regionsForService;
|
|
5
6
|
exports.accountServiceRegionConfig = accountServiceRegionConfig;
|
|
6
7
|
exports.getAccountAuthConfig = getAccountAuthConfig;
|
|
7
8
|
exports.getStorageConfig = getStorageConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Get the default auth config from the provided configs.
|
|
11
|
+
*
|
|
12
|
+
* @param configs the configs to search for the default auth config
|
|
13
|
+
* @returns the default auth config, or an empty object if none found
|
|
14
|
+
*/
|
|
15
|
+
function getDefaultAuthConfig(configs) {
|
|
16
|
+
// Return the last config with an auth config, or an empty object if none found
|
|
17
|
+
for (let i = configs.length - 1; i >= 0; i--) {
|
|
18
|
+
const configAuth = configs[i].auth;
|
|
19
|
+
if (configAuth) {
|
|
20
|
+
return configAuth;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return {};
|
|
24
|
+
}
|
|
8
25
|
function servicesForAccount(account, configs, allServices) {
|
|
9
26
|
let services = allServices;
|
|
10
27
|
for (const config of configs) {
|
|
@@ -69,14 +86,6 @@ function regionsForService(service, account, configs, allRegions) {
|
|
|
69
86
|
}
|
|
70
87
|
return regions;
|
|
71
88
|
}
|
|
72
|
-
// export function defaultStsRegion(configs: TopLevelConfig[]): string {
|
|
73
|
-
// for (const config of configs) {
|
|
74
|
-
// if (config.regions?.included) {
|
|
75
|
-
// return config.regions.included[0]
|
|
76
|
-
// }
|
|
77
|
-
// }
|
|
78
|
-
// return 'us-east-1'
|
|
79
|
-
// }
|
|
80
89
|
function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
81
90
|
let result = {
|
|
82
91
|
accountId: accountId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TopLevelConfig } from '../config/config.js';
|
|
2
|
-
export declare function downloadData(configs: TopLevelConfig[], accountIds: string[], regions: string[], services: string[]): Promise<void>;
|
|
2
|
+
export declare function downloadData(configs: TopLevelConfig[], accountIds: string[], regions: string[], services: string[], concurrency: number | undefined): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAS5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAoHf"}
|