@cloud-copilot/iam-collect 0.1.52 → 0.1.54
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/cli.js +49 -2
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/config/config.d.ts +11 -1
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js +21 -5
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/config/defaultConfig.d.ts.map +1 -1
- package/dist/cjs/config/defaultConfig.js +13 -1
- package/dist/cjs/config/defaultConfig.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 +37 -14
- package/dist/cjs/download/download.js.map +1 -1
- package/dist/cjs/index/index.d.ts +4 -0
- package/dist/cjs/index/index.d.ts.map +1 -0
- package/dist/cjs/index/index.js +42 -0
- package/dist/cjs/index/index.js.map +1 -0
- package/dist/cjs/indexing/indexMap.d.ts +10 -0
- package/dist/cjs/indexing/indexMap.d.ts.map +1 -0
- package/dist/cjs/indexing/indexMap.js +32 -0
- package/dist/cjs/indexing/indexMap.js.map +1 -0
- package/dist/cjs/indexing/indexer.d.ts +37 -0
- package/dist/cjs/indexing/indexer.d.ts.map +1 -0
- package/dist/cjs/indexing/indexer.js +3 -0
- package/dist/cjs/indexing/indexer.js.map +1 -0
- package/dist/cjs/indexing/indexers/accountOrgs.d.ts +3 -0
- package/dist/cjs/indexing/indexers/accountOrgs.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/accountOrgs.js +41 -0
- package/dist/cjs/indexing/indexers/accountOrgs.js.map +1 -0
- package/dist/cjs/indexing/indexers/apigateways.d.ts +3 -0
- package/dist/cjs/indexing/indexers/apigateways.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/apigateways.js +54 -0
- package/dist/cjs/indexing/indexers/apigateways.js.map +1 -0
- package/dist/cjs/indexing/indexers/buckets.d.ts +8 -0
- package/dist/cjs/indexing/indexers/buckets.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/buckets.js +40 -0
- package/dist/cjs/indexing/indexers/buckets.js.map +1 -0
- package/dist/cjs/indexing/indexers/vpcEndpoints.d.ts +3 -0
- package/dist/cjs/indexing/indexers/vpcEndpoints.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/vpcEndpoints.js +57 -0
- package/dist/cjs/indexing/indexers/vpcEndpoints.js.map +1 -0
- package/dist/cjs/indexing/runIndexers.d.ts +33 -0
- package/dist/cjs/indexing/runIndexers.d.ts.map +1 -0
- package/dist/cjs/indexing/runIndexers.js +86 -0
- package/dist/cjs/indexing/runIndexers.js.map +1 -0
- package/dist/cjs/jobs/jobQueue.d.ts.map +1 -0
- package/dist/cjs/jobs/jobQueue.js.map +1 -0
- package/dist/cjs/jobs/util.d.ts.map +1 -0
- package/dist/cjs/jobs/util.js.map +1 -0
- package/dist/cjs/persistence/AwsIamStore.d.ts +36 -0
- package/dist/cjs/persistence/AwsIamStore.d.ts.map +1 -1
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.d.ts +16 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.js +70 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.js.map +1 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.d.ts +38 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.js +3 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.d.ts +29 -1
- package/dist/cjs/persistence/file/FileSystemAdapter.d.ts.map +1 -1
- package/dist/cjs/persistence/file/FileSystemAdapter.js +70 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.js.map +1 -1
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts +22 -0
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -1
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.js +53 -1
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.js.map +1 -1
- package/dist/cjs/services.d.ts +7 -0
- package/dist/cjs/services.d.ts.map +1 -1
- package/dist/cjs/services.js +10 -0
- package/dist/cjs/services.js.map +1 -1
- package/dist/cjs/syncs/ec2/vpcEndpoints.d.ts.map +1 -1
- package/dist/cjs/syncs/ec2/vpcEndpoints.js +23 -2
- package/dist/cjs/syncs/ec2/vpcEndpoints.js.map +1 -1
- package/dist/cjs/syncs/organizations/organizations.d.ts.map +1 -1
- package/dist/cjs/syncs/organizations/organizations.js +18 -0
- package/dist/cjs/syncs/organizations/organizations.js.map +1 -1
- package/dist/cjs/syncs/s3/buckets.d.ts.map +1 -1
- package/dist/cjs/syncs/s3/buckets.js +4 -2
- package/dist/cjs/syncs/s3/buckets.js.map +1 -1
- package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
- package/dist/cjs/syncs/syncMap.js +4 -12
- package/dist/cjs/syncs/syncMap.js.map +1 -1
- package/dist/esm/cli.js +49 -2
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/config/config.d.ts +11 -1
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js +20 -5
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/config/defaultConfig.d.ts.map +1 -1
- package/dist/esm/config/defaultConfig.js +13 -1
- package/dist/esm/config/defaultConfig.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 +35 -12
- package/dist/esm/download/download.js.map +1 -1
- package/dist/esm/index/index.d.ts +4 -0
- package/dist/esm/index/index.d.ts.map +1 -0
- package/dist/esm/index/index.js +39 -0
- package/dist/esm/index/index.js.map +1 -0
- package/dist/esm/indexing/indexMap.d.ts +10 -0
- package/dist/esm/indexing/indexMap.d.ts.map +1 -0
- package/dist/esm/indexing/indexMap.js +29 -0
- package/dist/esm/indexing/indexMap.js.map +1 -0
- package/dist/esm/indexing/indexer.d.ts +37 -0
- package/dist/esm/indexing/indexer.d.ts.map +1 -0
- package/dist/esm/indexing/indexer.js +2 -0
- package/dist/esm/indexing/indexer.js.map +1 -0
- package/dist/esm/indexing/indexers/accountOrgs.d.ts +3 -0
- package/dist/esm/indexing/indexers/accountOrgs.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/accountOrgs.js +38 -0
- package/dist/esm/indexing/indexers/accountOrgs.js.map +1 -0
- package/dist/esm/indexing/indexers/apigateways.d.ts +3 -0
- package/dist/esm/indexing/indexers/apigateways.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/apigateways.js +51 -0
- package/dist/esm/indexing/indexers/apigateways.js.map +1 -0
- package/dist/esm/indexing/indexers/buckets.d.ts +8 -0
- package/dist/esm/indexing/indexers/buckets.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/buckets.js +37 -0
- package/dist/esm/indexing/indexers/buckets.js.map +1 -0
- package/dist/esm/indexing/indexers/vpcEndpoints.d.ts +3 -0
- package/dist/esm/indexing/indexers/vpcEndpoints.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/vpcEndpoints.js +54 -0
- package/dist/esm/indexing/indexers/vpcEndpoints.js.map +1 -0
- package/dist/esm/indexing/runIndexers.d.ts +33 -0
- package/dist/esm/indexing/runIndexers.d.ts.map +1 -0
- package/dist/esm/indexing/runIndexers.js +83 -0
- package/dist/esm/indexing/runIndexers.js.map +1 -0
- package/dist/esm/jobs/jobQueue.d.ts.map +1 -0
- package/dist/esm/jobs/jobQueue.js.map +1 -0
- package/dist/esm/jobs/util.d.ts.map +1 -0
- package/dist/esm/jobs/util.js.map +1 -0
- package/dist/esm/persistence/AwsIamStore.d.ts +36 -0
- package/dist/esm/persistence/AwsIamStore.d.ts.map +1 -1
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.d.ts +16 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.js +68 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.js.map +1 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.d.ts +38 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.js +2 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/esm/persistence/file/FileSystemAdapter.d.ts +29 -1
- package/dist/esm/persistence/file/FileSystemAdapter.d.ts.map +1 -1
- package/dist/esm/persistence/file/FileSystemAdapter.js +71 -1
- package/dist/esm/persistence/file/FileSystemAdapter.js.map +1 -1
- package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts +22 -0
- package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -1
- package/dist/esm/persistence/file/FileSystemAwsIamStore.js +53 -1
- package/dist/esm/persistence/file/FileSystemAwsIamStore.js.map +1 -1
- package/dist/esm/services.d.ts +7 -0
- package/dist/esm/services.d.ts.map +1 -1
- package/dist/esm/services.js +9 -0
- package/dist/esm/services.js.map +1 -1
- package/dist/esm/syncs/ec2/vpcEndpoints.d.ts.map +1 -1
- package/dist/esm/syncs/ec2/vpcEndpoints.js +23 -2
- package/dist/esm/syncs/ec2/vpcEndpoints.js.map +1 -1
- package/dist/esm/syncs/organizations/organizations.d.ts.map +1 -1
- package/dist/esm/syncs/organizations/organizations.js +18 -0
- package/dist/esm/syncs/organizations/organizations.js.map +1 -1
- package/dist/esm/syncs/s3/buckets.d.ts.map +1 -1
- package/dist/esm/syncs/s3/buckets.js +4 -2
- package/dist/esm/syncs/s3/buckets.js.map +1 -1
- package/dist/esm/syncs/syncMap.d.ts.map +1 -1
- package/dist/esm/syncs/syncMap.js +1 -9
- package/dist/esm/syncs/syncMap.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/download/jobQueue.d.ts.map +0 -1
- package/dist/cjs/download/jobQueue.js.map +0 -1
- package/dist/cjs/download/util.d.ts.map +0 -1
- package/dist/cjs/download/util.js.map +0 -1
- package/dist/esm/download/jobQueue.d.ts.map +0 -1
- package/dist/esm/download/jobQueue.js.map +0 -1
- package/dist/esm/download/util.d.ts.map +0 -1
- package/dist/esm/download/util.js.map +0 -1
- /package/dist/cjs/{download → jobs}/jobQueue.d.ts +0 -0
- /package/dist/cjs/{download → jobs}/jobQueue.js +0 -0
- /package/dist/cjs/{download → jobs}/util.d.ts +0 -0
- /package/dist/cjs/{download → jobs}/util.js +0 -0
- /package/dist/esm/{download → jobs}/jobQueue.d.ts +0 -0
- /package/dist/esm/{download → jobs}/jobQueue.js +0 -0
- /package/dist/esm/{download → jobs}/util.d.ts +0 -0
- /package/dist/esm/{download → jobs}/util.js +0 -0
package/dist/cjs/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ const createConfigFile_js_1 = require("./config/createConfigFile.js");
|
|
|
7
7
|
const defaultConfig_js_1 = require("./config/defaultConfig.js");
|
|
8
8
|
const packageVersion_js_1 = require("./config/packageVersion.js");
|
|
9
9
|
const download_js_1 = require("./download/download.js");
|
|
10
|
+
const index_js_1 = require("./index/index.js");
|
|
10
11
|
const log_js_1 = require("./utils/log.js");
|
|
11
12
|
const main = async () => {
|
|
12
13
|
const version = await (0, packageVersion_js_1.iamCollectVersion)();
|
|
@@ -16,7 +17,7 @@ const main = async () => {
|
|
|
16
17
|
options: {}
|
|
17
18
|
},
|
|
18
19
|
download: {
|
|
19
|
-
description: 'Download IAM data',
|
|
20
|
+
description: 'Download IAM data and update indexes',
|
|
20
21
|
options: {
|
|
21
22
|
configFiles: {
|
|
22
23
|
type: 'string',
|
|
@@ -42,6 +43,46 @@ const main = async () => {
|
|
|
42
43
|
type: 'number',
|
|
43
44
|
description: 'The maximum number of concurrent downloads to allow. Defaults based on your system CPUs',
|
|
44
45
|
values: 'single'
|
|
46
|
+
},
|
|
47
|
+
noIndex: {
|
|
48
|
+
type: 'boolean',
|
|
49
|
+
description: 'Skip refreshing the indexes after downloading',
|
|
50
|
+
character: 'n'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
index: {
|
|
55
|
+
description: 'Refresh the IAM data indexes',
|
|
56
|
+
options: {
|
|
57
|
+
configFiles: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
description: 'The configuration files to use',
|
|
60
|
+
values: 'multiple'
|
|
61
|
+
},
|
|
62
|
+
partition: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
description: 'The partition to refresh index data for. Defaults to aws',
|
|
65
|
+
values: 'single'
|
|
66
|
+
},
|
|
67
|
+
accounts: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: 'The account IDs to refresh index data for',
|
|
70
|
+
values: 'multiple'
|
|
71
|
+
},
|
|
72
|
+
regions: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
description: 'The regions to refresh index data for',
|
|
75
|
+
values: 'multiple'
|
|
76
|
+
},
|
|
77
|
+
services: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'The services to refresh index data for',
|
|
80
|
+
values: 'multiple'
|
|
81
|
+
},
|
|
82
|
+
concurrency: {
|
|
83
|
+
type: 'number',
|
|
84
|
+
description: 'The maximum number of concurrent indexers to run. Defaults based on your system CPUs',
|
|
85
|
+
values: 'single'
|
|
45
86
|
}
|
|
46
87
|
}
|
|
47
88
|
}
|
|
@@ -73,7 +114,13 @@ const main = async () => {
|
|
|
73
114
|
const defaultConfig = './iam-collect.jsonc';
|
|
74
115
|
const configFiles = cli.args.configFiles?.length > 0 ? cli.args.configFiles : [defaultConfig];
|
|
75
116
|
const configs = (0, configFile_js_1.loadConfigFiles)(configFiles);
|
|
76
|
-
await (0, download_js_1.downloadData)(configs, cli.args.accounts, cli.args.regions, cli.args.services, cli.args.concurrency);
|
|
117
|
+
await (0, download_js_1.downloadData)(configs, cli.args.accounts, cli.args.regions, cli.args.services, cli.args.concurrency, cli.args.noIndex);
|
|
118
|
+
}
|
|
119
|
+
else if (cli.subcommand === 'index') {
|
|
120
|
+
const defaultConfig = './iam-collect.jsonc';
|
|
121
|
+
const configFiles = cli.args.configFiles?.length > 0 ? cli.args.configFiles : [defaultConfig];
|
|
122
|
+
const configs = (0, configFile_js_1.loadConfigFiles)(configFiles);
|
|
123
|
+
await (0, index_js_1.index)(configs, cli.args.partition || 'aws', cli.args.accounts, cli.args.regions, cli.args.services, cli.args.concurrency);
|
|
77
124
|
}
|
|
78
125
|
};
|
|
79
126
|
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,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,10 @@ export interface TopLevelConfig extends BaseConfig {
|
|
|
65
65
|
iamCollectVersion: string;
|
|
66
66
|
storage?: StorageConfig;
|
|
67
67
|
auth?: AuthConfig;
|
|
68
|
-
accounts?:
|
|
68
|
+
accounts?: {
|
|
69
|
+
included?: string[];
|
|
70
|
+
};
|
|
71
|
+
accountConfigs?: Record<string, AccountConfig>;
|
|
69
72
|
serviceConfigs?: Record<string, ServiceConfig>;
|
|
70
73
|
}
|
|
71
74
|
type ServicesForAccount = AwsService[];
|
|
@@ -109,5 +112,12 @@ export declare function getStorageConfig(configs: TopLevelConfig[]): StorageConf
|
|
|
109
112
|
* @returns true if the sync is enabled for the region, false otherwise
|
|
110
113
|
*/
|
|
111
114
|
export declare function syncEnabledForRegion(accountId: string, service: string, syncName: string, configs: TopLevelConfig[], region: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Get the default accounts from the provided configs.
|
|
117
|
+
*
|
|
118
|
+
* @param configs the configs to search for the default accounts
|
|
119
|
+
* @returns the default accounts, or an empty array if none found
|
|
120
|
+
*/
|
|
121
|
+
export declare function getConfiguredAccounts(configs: TopLevelConfig[]): string[];
|
|
112
122
|
export {};
|
|
113
123
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -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;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CACzC;AAED,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE;QACR,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,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;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.accountServiceRegionConfig = accountServiceRegionConfig;
|
|
|
7
7
|
exports.getAccountAuthConfig = getAccountAuthConfig;
|
|
8
8
|
exports.getStorageConfig = getStorageConfig;
|
|
9
9
|
exports.syncEnabledForRegion = syncEnabledForRegion;
|
|
10
|
+
exports.getConfiguredAccounts = getConfiguredAccounts;
|
|
10
11
|
/**
|
|
11
12
|
* Get the default auth config from the provided configs.
|
|
12
13
|
*
|
|
@@ -32,7 +33,7 @@ function servicesForAccount(account, configs, allServices) {
|
|
|
32
33
|
if (config.services?.excluded) {
|
|
33
34
|
services = services.filter((service) => !config.services.excluded?.includes(service));
|
|
34
35
|
}
|
|
35
|
-
const accountServices = config.
|
|
36
|
+
const accountServices = config.accountConfigs?.[account]?.services;
|
|
36
37
|
if (accountServices) {
|
|
37
38
|
if (accountServices.included) {
|
|
38
39
|
for (const service of accountServices.included) {
|
|
@@ -66,7 +67,7 @@ function regionsForService(service, account, configs, allRegions) {
|
|
|
66
67
|
regions = regions.filter((region) => !serviceConfig.regions.excluded?.includes(region));
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
const accountConfig = config.
|
|
70
|
+
const accountConfig = config.accountConfigs?.[account];
|
|
70
71
|
if (accountConfig) {
|
|
71
72
|
if (accountConfig.regions?.included) {
|
|
72
73
|
regions = accountConfig.regions.included;
|
|
@@ -115,7 +116,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
|
-
const accountConfig = config.
|
|
119
|
+
const accountConfig = config.accountConfigs?.[accountId];
|
|
119
120
|
if (accountConfig) {
|
|
120
121
|
if (accountConfig.auth) {
|
|
121
122
|
result.auth = accountConfig.auth;
|
|
@@ -155,7 +156,7 @@ function getAccountAuthConfig(accountId, configs) {
|
|
|
155
156
|
if (config.auth) {
|
|
156
157
|
result = config.auth;
|
|
157
158
|
}
|
|
158
|
-
const accountConfig = config.
|
|
159
|
+
const accountConfig = config.accountConfigs?.[accountId];
|
|
159
160
|
if (accountConfig?.auth) {
|
|
160
161
|
result = { ...(result || {}), ...accountConfig.auth };
|
|
161
162
|
}
|
|
@@ -191,7 +192,7 @@ function syncEnabledForRegion(accountId, service, syncName, configs, region) {
|
|
|
191
192
|
// If any have the sync disabled return false
|
|
192
193
|
// If none are found, return true
|
|
193
194
|
for (const config of [...configs].reverse()) {
|
|
194
|
-
const accountServiceConfig = config.
|
|
195
|
+
const accountServiceConfig = config.accountConfigs?.[accountId]?.serviceConfigs?.[service]?.syncConfigs?.[syncName];
|
|
195
196
|
if (accountServiceConfig) {
|
|
196
197
|
if (accountServiceConfig.regions?.excluded?.includes(region)) {
|
|
197
198
|
return false;
|
|
@@ -212,4 +213,19 @@ function syncEnabledForRegion(accountId, service, syncName, configs, region) {
|
|
|
212
213
|
}
|
|
213
214
|
return true;
|
|
214
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Get the default accounts from the provided configs.
|
|
218
|
+
*
|
|
219
|
+
* @param configs the configs to search for the default accounts
|
|
220
|
+
* @returns the default accounts, or an empty array if none found
|
|
221
|
+
*/
|
|
222
|
+
function getConfiguredAccounts(configs) {
|
|
223
|
+
const reverseConfigs = [...configs].reverse();
|
|
224
|
+
for (const config of reverseConfigs) {
|
|
225
|
+
if (config.accounts?.included) {
|
|
226
|
+
return config.accounts.included;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return [];
|
|
230
|
+
}
|
|
215
231
|
//# sourceMappingURL=config.js.map
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;
|
|
1
|
+
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AA0GD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
|
|
@@ -54,8 +54,20 @@ const defaultConfig = `
|
|
|
54
54
|
*/
|
|
55
55
|
|
|
56
56
|
/*
|
|
57
|
-
Optionally specify
|
|
57
|
+
Optionally specify a list of accounts to include. If empty, it will use the current credentials.
|
|
58
|
+
Can be overridden by the --accounts flag.
|
|
59
|
+
|
|
58
60
|
"accounts": {
|
|
61
|
+
"included": [
|
|
62
|
+
"111111111111",
|
|
63
|
+
"222222222222"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
Optionally specify separate configurations for accounts:
|
|
70
|
+
"accountConfigs": {
|
|
59
71
|
"123456789012": {
|
|
60
72
|
//Optional auth for the account:
|
|
61
73
|
"auth": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;
|
|
1
|
+
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AA0GD,4CAGC;AAlID,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -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[], concurrency: number | undefined): Promise<void>;
|
|
2
|
+
export declare function downloadData(configs: TopLevelConfig[], accountIds: string[], regions: string[], services: string[], concurrency: number | undefined, skipIndex: boolean): 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":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAY5B,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,EAC/B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Jf"}
|
|
@@ -5,29 +5,38 @@ const auth_js_1 = require("../aws/auth.js");
|
|
|
5
5
|
const coreAuth_js_1 = require("../aws/coreAuth.js");
|
|
6
6
|
const config_js_1 = require("../config/config.js");
|
|
7
7
|
const partitionDefaults_js_1 = require("../config/partitionDefaults.js");
|
|
8
|
-
const
|
|
8
|
+
const indexMap_js_1 = require("../indexing/indexMap.js");
|
|
9
|
+
const runIndexers_js_1 = require("../indexing/runIndexers.js");
|
|
10
|
+
const jobQueue_js_1 = require("../jobs/jobQueue.js");
|
|
11
|
+
const util_js_1 = require("../jobs/util.js");
|
|
12
|
+
const util_js_2 = require("../persistence/util.js");
|
|
9
13
|
const regions_js_1 = require("../regions.js");
|
|
10
14
|
const services_js_1 = require("../services.js");
|
|
11
15
|
const syncMap_js_1 = require("../syncs/syncMap.js");
|
|
12
16
|
const log_js_1 = require("../utils/log.js");
|
|
13
|
-
|
|
14
|
-
const util_js_2 = require("./util.js");
|
|
15
|
-
async function downloadData(configs, accountIds, regions, services, concurrency) {
|
|
17
|
+
async function downloadData(configs, accountIds, regions, services, concurrency, skipIndex) {
|
|
16
18
|
if (concurrency === undefined || concurrency <= 0) {
|
|
17
|
-
concurrency = (0,
|
|
19
|
+
concurrency = (0, util_js_1.defaultConcurrency)();
|
|
18
20
|
}
|
|
19
21
|
if (accountIds.length === 0) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
22
|
+
const configuredAccounts = (0, config_js_1.getConfiguredAccounts)(configs);
|
|
23
|
+
if (configuredAccounts.length > 0) {
|
|
24
|
+
accountIds = configuredAccounts;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const defaultAuthConfig = (0, config_js_1.getDefaultAuthConfig)(configs);
|
|
28
|
+
const defaultCredentials = await (0, coreAuth_js_1.getNewInitialCredentials)(defaultAuthConfig, {
|
|
29
|
+
phase: 'discover account'
|
|
30
|
+
});
|
|
31
|
+
accountIds = [defaultCredentials.accountId];
|
|
32
|
+
}
|
|
25
33
|
}
|
|
26
34
|
const storageConfig = (0, config_js_1.getStorageConfig)(configs);
|
|
27
35
|
if (!storageConfig) {
|
|
28
36
|
throw new Error('No storage configuration found. Cannot download data.');
|
|
29
37
|
}
|
|
30
38
|
const jobs = [];
|
|
39
|
+
const indexJobs = [];
|
|
31
40
|
for (const accountId of accountIds) {
|
|
32
41
|
log_js_1.log.info('Queuing downloads for account', { accountId });
|
|
33
42
|
const authForAccount = (0, config_js_1.getAccountAuthConfig)(accountId, configs);
|
|
@@ -38,7 +47,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency)
|
|
|
38
47
|
if (regions.length === 0) {
|
|
39
48
|
regions = await (0, regions_js_1.getEnabledRegions)(credentials);
|
|
40
49
|
}
|
|
41
|
-
const storage = (0,
|
|
50
|
+
const storage = (0, util_js_2.createStorageClient)(storageConfig, partition);
|
|
42
51
|
if (services.length === 0) {
|
|
43
52
|
services = services_js_1.allServices;
|
|
44
53
|
}
|
|
@@ -95,18 +104,32 @@ async function downloadData(configs, accountIds, regions, services, concurrency)
|
|
|
95
104
|
});
|
|
96
105
|
}
|
|
97
106
|
}
|
|
107
|
+
const indexers = (0, indexMap_js_1.getIndexersForService)(service);
|
|
108
|
+
for (const indexer of indexers) {
|
|
109
|
+
indexJobs.push({
|
|
110
|
+
indexer,
|
|
111
|
+
partition,
|
|
112
|
+
accountId,
|
|
113
|
+
regions: serviceRegions
|
|
114
|
+
});
|
|
115
|
+
}
|
|
98
116
|
}
|
|
99
117
|
}
|
|
100
118
|
log_js_1.log.debug('Starting downloads', { jobs: jobs.length, concurrency });
|
|
101
119
|
const results = await (0, jobQueue_js_1.runJobs)(jobs, concurrency);
|
|
102
120
|
const failedJobs = results.filter((r) => r.status === 'rejected');
|
|
103
121
|
if (failedJobs.length > 0) {
|
|
104
|
-
log_js_1.log.error('Some
|
|
122
|
+
log_js_1.log.error('Some downloads failed', { failedJobs: failedJobs.length });
|
|
105
123
|
for (const failedJob of failedJobs) {
|
|
106
|
-
log_js_1.log.error('
|
|
124
|
+
log_js_1.log.error('Download failed', failedJob.reason, failedJob.properties);
|
|
107
125
|
}
|
|
108
|
-
throw new Error(`Failed to download
|
|
126
|
+
throw new Error(`Failed to download some data. See logs for details.`);
|
|
109
127
|
}
|
|
110
128
|
log_js_1.log.info('Finished downloads', { jobs: jobs.length });
|
|
129
|
+
if (skipIndex) {
|
|
130
|
+
log_js_1.log.info('Skipping indexing');
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
await (0, runIndexers_js_1.runIndexJobs)(indexJobs, storageConfig, concurrency);
|
|
111
134
|
}
|
|
112
135
|
//# sourceMappingURL=download.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TopLevelConfig } from '../config/config.js';
|
|
2
|
+
import { AwsService } from '../services.js';
|
|
3
|
+
export declare function index(configs: TopLevelConfig[], partition: string, accountIds: string[], regions: string[], services: AwsService[], concurrency: number | undefined): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAMtE,OAAO,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAExD,wBAAsB,KAAK,CACzB,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,UAAU,EAAE,EACtB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.index = index;
|
|
4
|
+
const config_js_1 = require("../config/config.js");
|
|
5
|
+
const indexMap_js_1 = require("../indexing/indexMap.js");
|
|
6
|
+
const runIndexers_js_1 = require("../indexing/runIndexers.js");
|
|
7
|
+
const util_js_1 = require("../jobs/util.js");
|
|
8
|
+
const util_js_2 = require("../persistence/util.js");
|
|
9
|
+
const services_js_1 = require("../services.js");
|
|
10
|
+
async function index(configs, partition, accountIds, regions, services, concurrency) {
|
|
11
|
+
const storageConfig = (0, config_js_1.getStorageConfig)(configs);
|
|
12
|
+
if (!storageConfig) {
|
|
13
|
+
throw new Error('No storage configuration found. Cannot index data.');
|
|
14
|
+
}
|
|
15
|
+
const storage = (0, util_js_2.createStorageClient)(storageConfig, partition);
|
|
16
|
+
if (accountIds.length === 0) {
|
|
17
|
+
accountIds = await storage.listAccountIds();
|
|
18
|
+
}
|
|
19
|
+
if (services.length === 0) {
|
|
20
|
+
services = services_js_1.allServices;
|
|
21
|
+
}
|
|
22
|
+
if (!concurrency || concurrency <= 0) {
|
|
23
|
+
concurrency = (0, util_js_1.defaultConcurrency)();
|
|
24
|
+
}
|
|
25
|
+
const indexers = services.reduce((allIndexers, service) => {
|
|
26
|
+
allIndexers.push(...(0, indexMap_js_1.getIndexersForService)(service));
|
|
27
|
+
return allIndexers;
|
|
28
|
+
}, []);
|
|
29
|
+
const jobs = [];
|
|
30
|
+
for (const accountId of accountIds) {
|
|
31
|
+
for (const indexer of indexers) {
|
|
32
|
+
jobs.push({
|
|
33
|
+
indexer,
|
|
34
|
+
accountId,
|
|
35
|
+
regions: regions,
|
|
36
|
+
partition
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await (0, runIndexers_js_1.runIndexJobs)(jobs, storageConfig, concurrency);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index/index.ts"],"names":[],"mappings":";;AAQA,sBA4CC;AApDD,mDAAsE;AAEtE,yDAA+D;AAC/D,+DAAmE;AACnE,6CAAoD;AACpD,oDAA4D;AAC5D,gDAAwD;AAEjD,KAAK,UAAU,KAAK,CACzB,OAAyB,EACzB,SAAiB,EACjB,UAAoB,EACpB,OAAiB,EACjB,QAAsB,EACtB,WAA+B;IAE/B,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;IAC7C,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,yBAAsC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrC,WAAW,GAAG,IAAA,4BAAkB,GAAE,CAAA;IACpC,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QACxD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,mCAAqB,EAAC,OAAO,CAAC,CAAC,CAAA;QACnD,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,EAAoB,CAAC,CAAA;IAExB,MAAM,IAAI,GAAe,EAAE,CAAA;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO;gBACP,SAAS;gBACT,OAAO,EAAE,OAAO;gBAChB,SAAS;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAA,6BAAY,EAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AwsService } from '../services.js';
|
|
2
|
+
import { Indexer } from './indexer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get the indexers for a given AWS service.
|
|
5
|
+
*
|
|
6
|
+
* @param awsService the AWS service to get the indexers for
|
|
7
|
+
* @returns An array of indexers that are for the specified service.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getIndexersForService(awsService: AwsService): Indexer<any>[];
|
|
10
|
+
//# sourceMappingURL=indexMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexMap.d.ts","sourceRoot":"","sources":["../../../src/indexing/indexMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAuBtC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAE5E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIndexersForService = getIndexersForService;
|
|
4
|
+
const services_js_1 = require("../services.js");
|
|
5
|
+
const accountOrgs_js_1 = require("./indexers/accountOrgs.js");
|
|
6
|
+
const apigateways_js_1 = require("./indexers/apigateways.js");
|
|
7
|
+
const buckets_js_1 = require("./indexers/buckets.js");
|
|
8
|
+
const vpcEndpoints_js_1 = require("./indexers/vpcEndpoints.js");
|
|
9
|
+
const allIndexers = [
|
|
10
|
+
accountOrgs_js_1.AccountOrganizationIndexer,
|
|
11
|
+
apigateways_js_1.ApiGatewayIndexer,
|
|
12
|
+
buckets_js_1.S3BucketIndexer,
|
|
13
|
+
vpcEndpoints_js_1.VpcEndpointIndexer
|
|
14
|
+
];
|
|
15
|
+
const indexMap = new Map();
|
|
16
|
+
for (const indexer of allIndexers) {
|
|
17
|
+
const service = (0, services_js_1.lowerCaseService)(indexer.awsService);
|
|
18
|
+
if (!indexMap.has(service)) {
|
|
19
|
+
indexMap.set(service, []);
|
|
20
|
+
}
|
|
21
|
+
indexMap.get(service).push(indexer);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the indexers for a given AWS service.
|
|
25
|
+
*
|
|
26
|
+
* @param awsService the AWS service to get the indexers for
|
|
27
|
+
* @returns An array of indexers that are for the specified service.
|
|
28
|
+
*/
|
|
29
|
+
function getIndexersForService(awsService) {
|
|
30
|
+
return indexMap.get((0, services_js_1.lowerCaseService)(awsService)) ?? [];
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=indexMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexMap.js","sourceRoot":"","sources":["../../../src/indexing/indexMap.ts"],"names":[],"mappings":";;AA8BA,sDAEC;AAhCD,gDAA6D;AAE7D,8DAAsE;AACtE,8DAA6D;AAC7D,sDAAuD;AACvD,gEAA+D;AAE/D,MAAM,WAAW,GAAmB;IAClC,2CAA0B;IAC1B,kCAAiB;IACjB,4BAAe;IACf,oCAAkB;CACnB,CAAA;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;AAElD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,UAAsB;IAC1D,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AwsIamStore } from '../persistence/AwsIamStore.js';
|
|
2
|
+
import { AwsService } from '../services.js';
|
|
3
|
+
export interface Indexer<T> {
|
|
4
|
+
/**
|
|
5
|
+
* The service that this indexer is for
|
|
6
|
+
*/
|
|
7
|
+
awsService: AwsService;
|
|
8
|
+
/**
|
|
9
|
+
* The name of the indexer
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the cache for the execute method to update
|
|
14
|
+
*/
|
|
15
|
+
getCache(storage: AwsIamStore): Promise<{
|
|
16
|
+
data: T;
|
|
17
|
+
lockId: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Save the cache after the execute method has updated it
|
|
21
|
+
*
|
|
22
|
+
* @param storage the storage to save the cache to
|
|
23
|
+
* @param cache the updated cache data to save
|
|
24
|
+
* @param lockId the lock ID to use for validation
|
|
25
|
+
* @returns true if the cache was saved successfully, false if there was an optimistic locking failure
|
|
26
|
+
*/
|
|
27
|
+
saveCache(storage: AwsIamStore, cache: T, lockId: string): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Update the the cache in place.
|
|
30
|
+
*
|
|
31
|
+
* @param existingCache the existing cache to update
|
|
32
|
+
* @param accounts the accounts to update the cache for
|
|
33
|
+
* @param regions the regions to update the cache for
|
|
34
|
+
*/
|
|
35
|
+
updateCache: (existingCache: T, account: string, regions: string[], storage: AwsIamStore) => Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=indexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../../src/indexing/indexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEpE;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE3E;;;;;;OAMG;IACH,WAAW,EAAE,CACX,aAAa,EAAE,CAAC,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/indexing/indexer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountOrgs.d.ts","sourceRoot":"","sources":["../../../../src/indexing/indexers/accountOrgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAQvC,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CtE,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountOrganizationIndexer = void 0;
|
|
4
|
+
const indexName = 'accounts-to-orgs';
|
|
5
|
+
exports.AccountOrganizationIndexer = {
|
|
6
|
+
awsService: 'organizations',
|
|
7
|
+
name: 'accountsToOrganizations',
|
|
8
|
+
getCache: async (storage) => {
|
|
9
|
+
const data = await storage.getIndex(indexName, {});
|
|
10
|
+
return data;
|
|
11
|
+
},
|
|
12
|
+
saveCache: async (storage, cache, lockId) => {
|
|
13
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
14
|
+
},
|
|
15
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
16
|
+
const orgForAccount = await storage.getAccountMetadata(accountId, 'organization', undefined);
|
|
17
|
+
const organizationId = orgForAccount?.organizationId;
|
|
18
|
+
// If the account is not a organization management account, we don't need to update the cache
|
|
19
|
+
if (!organizationId) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const currentCacheKeys = Object.keys(existingCache);
|
|
23
|
+
// Remove all existing accounts for the organization
|
|
24
|
+
for (const key of currentCacheKeys) {
|
|
25
|
+
if (existingCache[key] == organizationId) {
|
|
26
|
+
delete existingCache[key];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const currentInfo = await storage.getOrganizationMetadata(organizationId, 'accounts');
|
|
30
|
+
// If there are no accounts for the org, return
|
|
31
|
+
if (!currentInfo) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
//Add the current accounts to the cache
|
|
35
|
+
const currentAccounts = Object.keys(currentInfo);
|
|
36
|
+
for (const account of currentAccounts) {
|
|
37
|
+
existingCache[account] = organizationId;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=accountOrgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountOrgs.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/accountOrgs.ts"],"names":[],"mappings":";;;AAMA,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAEvB,QAAA,0BAA0B,GAAoC;IACzE,UAAU,EAAE,eAAe;IAC3B,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,kBAAkB,CACpD,SAAS,EACT,cAAc,EACd,SAAS,CACV,CAAA;QAED,MAAM,cAAc,GAAG,aAAa,EAAE,cAAc,CAAA;QAEpD,6FAA6F;QAC7F,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEnD,oDAAoD;QACpD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;gBACzC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QACrF,+CAA+C;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,aAAa,CAAC,OAAO,CAAC,GAAG,cAAc,CAAA;QACzC,CAAC;IACH,CAAC;CACF,CAAA"}
|