@cloud-copilot/iam-collect 0.1.9 → 0.1.10

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 CHANGED
@@ -52,7 +52,6 @@ const main = async () => {
52
52
  }
53
53
  console.log('Initializing...');
54
54
  await (0, createConfigFile_js_1.createDefaultConfiguration)();
55
- process.exit(0);
56
55
  }
57
56
  else if (cli.subcommand === 'download') {
58
57
  const defaultConfig = './iam-collect.jsonc';
@@ -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;AAErD,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,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,MAAM,EAAE,UAAU;iBACnB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,MAAM,EAAE,UAAU;iBACnB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,UAAU;iBACnB;aACF;SACF;KACF,EACD,EAAE,EACF;QACE,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,OAAO;KACjB,CACF,CAAA;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAA,sCAAmB,GAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,IAAA,gDAA0B,GAAE,CAAA;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAA;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,IAAA,+BAAe,EAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,IAAA,0BAAY,EAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;AACH,CAAC,CAAA;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACd,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
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;AAErD,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,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,MAAM,EAAE,UAAU;iBACnB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,MAAM,EAAE,UAAU;iBACnB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,UAAU;iBACnB;aACF;SACF;KACF,EACD,EAAE,EACF;QACE,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,OAAO;KACjB,CACF,CAAA;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAA,sCAAmB,GAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,IAAA,gDAA0B,GAAE,CAAA;IACpC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAA;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,IAAA,+BAAe,EAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,IAAA,0BAAY,EAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;AACH,CAAC,CAAA;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACd,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAO5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAO5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAyEf"}
@@ -21,9 +21,8 @@ async function downloadData(configs, accountIds, regions, services) {
21
21
  console.log(`Downloading data for account ${accountId}`);
22
22
  const authForAccount = (0, config_js_1.getAccountAuthConfig)(accountId, configs);
23
23
  const credentials = await (0, auth_js_1.getCredentials)(accountId, authForAccount);
24
- let enabledRegions = [];
25
24
  if (regions.length === 0) {
26
- enabledRegions = await (0, regions_js_1.getEnabledRegions)(credentials);
25
+ regions = await (0, regions_js_1.getEnabledRegions)(credentials);
27
26
  // console.log(`Enabled regions for account ${accountId}:`, enabledRegions)
28
27
  }
29
28
  const storage = createStorageClient(storageConfig, credentials.partition);
@@ -34,7 +33,7 @@ async function downloadData(configs, accountIds, regions, services) {
34
33
  const enabledServices = (0, config_js_1.servicesForAccount)(accountId, configs, services);
35
34
  for (const service of enabledServices) {
36
35
  console.log(`Service ${service} for account ${accountId}`);
37
- const serviceRegions = (0, config_js_1.regionsForService)(service, accountId, configs, enabledRegions);
36
+ const serviceRegions = (0, config_js_1.regionsForService)(service, accountId, configs, regions);
38
37
  //Global syncs for the service
39
38
  const globalSyncs = (0, syncMap_js_1.getGlobalSyncsForService)(service);
40
39
  const globalRegion = serviceRegions.at(0);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- import { Sync } from '../sync.js';
2
- export declare const LambdaSync: Sync;
1
+ export declare const LambdaSync: import("../sync.js").Sync;
3
2
  //# sourceMappingURL=lambda.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAyB,MAAM,YAAY,CAAA;AAGxD,eAAO,MAAM,UAAU,EAAE,IAmExB,CAAA"}
1
+ {"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,UAAU,2BAgDtB,CAAA"}
@@ -2,50 +2,47 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LambdaSync = void 0;
4
4
  const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const ClientPool_js_1 = require("../../aws/ClientPool.js");
6
5
  const client_tools_js_1 = require("../../utils/client-tools.js");
7
- const sync_js_1 = require("../sync.js");
8
6
  const typedSync_js_1 = require("../typedSync.js");
9
- exports.LambdaSync = {
10
- awsService: 'lambda',
11
- name: 'lambda',
12
- global: false,
13
- execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
14
- const lambdaClient = ClientPool_js_1.AwsClientPool.defaultInstance.client(client_lambda_1.LambdaClient, credentials, region, endpoint);
15
- const functions = await (0, typedSync_js_1.paginateResource)(lambdaClient, client_lambda_1.ListFunctionsCommand, 'Functions', {
16
- inputKey: 'Marker',
17
- outputKey: 'NextMarker'
18
- }, {});
19
- const functionData = [];
20
- for (const func of functions) {
21
- const policy = await (0, client_tools_js_1.runAndCatch404)(async () => {
22
- const policyResult = await lambdaClient.send(new client_lambda_1.GetPolicyCommand({ FunctionName: func.FunctionName }));
7
+ exports.LambdaSync = (0, typedSync_js_1.createTypedSyncOperation)('lambda', 'lambdaFunctions', (0, typedSync_js_1.createResourceSyncType)({
8
+ client: client_lambda_1.LambdaClient,
9
+ command: client_lambda_1.ListFunctionsCommand,
10
+ key: 'Functions',
11
+ paginationConfig: {
12
+ inputKey: 'Marker',
13
+ outputKey: 'NextMarker'
14
+ },
15
+ resourceTypeParts: (accountId, region) => ({
16
+ service: 'lambda',
17
+ resourceType: 'function',
18
+ account: accountId,
19
+ region: region
20
+ }),
21
+ extraFields: {
22
+ tags: async (client, resource) => {
23
+ return (0, client_tools_js_1.runAndCatch404)(async () => {
24
+ const tagResult = await client.send(new client_lambda_1.ListTagsCommand({ Resource: resource.FunctionArn }));
25
+ return tagResult.Tags;
26
+ });
27
+ },
28
+ policy: async (client, resource) => {
29
+ return (0, client_tools_js_1.runAndCatch404)(async () => {
30
+ const policyResult = await client.send(new client_lambda_1.GetPolicyCommand({ FunctionName: resource.FunctionName }));
23
31
  if (policyResult.Policy) {
24
32
  return JSON.parse(policyResult.Policy);
25
33
  }
26
34
  return undefined;
27
35
  });
28
- const tags = await (0, client_tools_js_1.runAndCatch404)(async () => {
29
- const tagsResult = await lambdaClient.send(new client_lambda_1.ListTagsCommand({ Resource: func.FunctionArn }));
30
- return tagsResult.Tags;
31
- });
32
- functionData.push({
33
- arn: func.FunctionArn,
34
- metadata: {
35
- role: func.Role,
36
- arn: func.FunctionArn,
37
- name: func.FunctionName
38
- },
39
- policy,
40
- tags
41
- });
42
36
  }
43
- await (0, sync_js_1.syncData)(functionData, storage, accountId, {
44
- service: 'lambda',
45
- resourceType: 'function',
46
- account: accountId,
47
- region: region
48
- });
49
- }
50
- };
37
+ },
38
+ tags: (func) => func.extraFields.tags,
39
+ arn: (func) => func.FunctionArn,
40
+ results: (func) => ({
41
+ metadata: {
42
+ role: func.Role,
43
+ name: func.FunctionName
44
+ },
45
+ policy: func.extraFields.policy
46
+ })
47
+ }));
51
48
  //# sourceMappingURL=lambda.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":";;;AAAA,0DAK+B;AAE/B,2DAAuD;AAEvD,iEAA4D;AAC5D,wCAAwD;AACxD,kDAAkD;AAErC,QAAA,UAAU,GAAS;IAC9B,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK,EACZ,SAAiB,EACjB,MAAc,EACd,WAA8C,EAC9C,OAAoB,EACpB,QAA4B,EAC5B,WAAwB,EACT,EAAE;QACjB,MAAM,YAAY,GAAG,6BAAa,CAAC,eAAe,CAAC,MAAM,CACvD,4BAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAgB,EACtC,YAAY,EACZ,oCAAoB,EACpB,WAAW,EACX;YACE,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,YAAY;SACxB,EACD,EAAE,CACH,CAAA;QAED,MAAM,YAAY,GAA8C,EAAE,CAAA;QAClE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;gBAC7C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAC1C,IAAI,gCAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAC1D,CAAA;gBACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACxC,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CACxC,IAAI,+BAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CACpD,CAAA;gBACD,OAAO,UAAU,CAAC,IAAI,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,IAAI,CAAC,WAAY;gBACtB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,WAAW;oBACrB,IAAI,EAAE,IAAI,CAAC,YAAY;iBACxB;gBACD,MAAM;gBACN,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;YAC/C,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,UAAU;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":";;;AAAA,0DAK+B;AAC/B,iEAA4D;AAC5D,kDAAkF;AAErE,QAAA,UAAU,GAAG,IAAA,uCAAwB,EAChD,QAAQ,EACR,iBAAiB,EACjB,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,4BAAY;IACpB,OAAO,EAAE,oCAAoB;IAC7B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,YAAY;KACxB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC/B,OAAO,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,+BAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CACxD,CAAA;gBACD,OAAO,SAAS,CAAC,IAAI,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACjC,OAAO,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,gCAAgB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAC9D,CAAA;gBACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACxC,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;IACrC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAY;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB;QACD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;KAChC,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -21,9 +21,8 @@ export interface Sync {
21
21
  */
22
22
  execute(accountId: string, region: string, credentials: AwsCredentialIdentityWithMetaData, storage: AwsIamStore, endpoint: string | undefined, syncOptions: SyncOptions): Promise<void>;
23
23
  }
24
- type DataRecord = Record<string, any> & {
24
+ export type DataRecord = Record<string, any> & {
25
25
  arn: string;
26
26
  };
27
27
  export declare function syncData(records: DataRecord[], storage: AwsIamStore, accountId: string, resourceTypeParts: ResourceTypeParts): Promise<void>;
28
- export {};
29
28
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AACvD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,iBAarC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAC9D,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,iBAarC"}
@@ -1,4 +1,8 @@
1
1
  import type { Client, Command } from '@smithy/smithy-client';
2
+ import { AwsCredentialIdentityWithMetaData } from '../aws/auth.js';
3
+ import { ResourceTypeParts } from '../persistence/AwsIamStore.js';
4
+ import { AwsService } from '../services.js';
5
+ import { Sync } from './sync.js';
2
6
  export type ClientConstructor = new (args: any) => Client<any, any, any, any>;
3
7
  type CommandConstructor = new (args: any) => Command<any, any, any, any, any>;
4
8
  type ShortCommandConstructor = new (args: any) => Command<any, any, any>;
@@ -21,5 +25,101 @@ type ClientInstanceOrConstructor = InstanceType<ClientConstructor>;
21
25
  * @returns Returns an array of resources returned from the commandClass Response Type key
22
26
  */
23
27
  export declare function paginateResource<C extends CommandConstructors, K extends keyof ExtractOutputType<C>>(clientClassOrInstance: ClientInstanceOrConstructor, commandClass: C, key: K, paginationConfig: Pagination<C>, params?: Partial<ExtractInputType<C>>): Promise<NonNullable<ExtractOutputType<C>[K]>>;
28
+ type ArrayElementType<T> = T extends (infer E)[] ? E : never;
29
+ type ResourceElementType<C extends CommandConstructors, K extends keyof ExtractOutputType<C>> = ArrayElementType<ExtractOutputType<C>[K]> extends string ? {
30
+ name: string;
31
+ } : ArrayElementType<ExtractOutputType<C>[K]>;
32
+ type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
33
+ export type ExtraFieldsDefinition<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>> = Record<string, (client: InstanceType<C>, resource: ResourceElementType<Cmd, K>, accountId: string, region: string) => Promise<any>>;
34
+ type ExtraFieldsReturnType<T extends ExtraFieldsDefinition<any, any, any>> = {
35
+ [K in keyof T]: PromiseType<ReturnType<T[K]>>;
36
+ };
37
+ export type ExtendedResourceElementType<Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<any, Cmd, K>> = ResourceElementType<Cmd, K> & {
38
+ extraFields: ExtraFieldsReturnType<ExtraFieldsFunc>;
39
+ };
40
+ export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFields extends ExtraFieldsDefinition<C, Cmd, K> = Record<string, () => Promise<any>>> = {
41
+ /**
42
+ * The client to use
43
+ */
44
+ client: C;
45
+ /**
46
+ * The command to execute
47
+ */
48
+ command: Cmd;
49
+ /**
50
+ * The key of the resource in the command output to pull
51
+ */
52
+ key: K;
53
+ /**
54
+ * The pagination token to get from the response and pass to the next call
55
+ */
56
+ paginationConfig: Pagination<Cmd>;
57
+ /**
58
+ * The resource type parts used to sync with storage
59
+ *
60
+ * @param accountId the account ID of the resource
61
+ * @param region the region of the resource
62
+ * @returns the resource type parts
63
+ */
64
+ resourceTypeParts: (accountId: string, region: string) => ResourceTypeParts;
65
+ /**
66
+ * Custom arguments to pass to the command, useful for filtering resources.
67
+ *
68
+ * @param awsId The AWS account ID being queried
69
+ * @param region The region being queried
70
+ * @returns a set of arguments to pass to the command
71
+ */
72
+ arguments?: (awsId: string, region: string) => Partial<ExtractInputType<Cmd>>;
73
+ /**
74
+ * Indicates if the resource type is global.
75
+ */
76
+ globalResourceType?: boolean;
77
+ /**
78
+ * The function to get the tags for a resource
79
+ * @param resource The resource to get the tags for
80
+ * @returns The tags for the resource, or undefined if there are no tags
81
+ */
82
+ tags: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Record<string, string> | undefined;
83
+ /**
84
+ * Create the ARN for a resource
85
+ *
86
+ * @param resource the resource to create the ARN for
87
+ * @param region the region the resource is in
88
+ * @param accountId the account the resource is in
89
+ * @returns the ARN for the resource
90
+ */
91
+ arn: (resource: ResourceElementType<Cmd, K>, region: string, accountId: string) => string;
92
+ /**
93
+ * The extra fields to get for a resource
94
+ * @param client The client to use to get the extra fields
95
+ * @param resource The resource to get the extra fields for
96
+ * @returns an object of extra fields to get, where the key is the name of the field and the value is a function that returns the value of the field
97
+ */
98
+ extraFields?: ExtraFields;
99
+ /**
100
+ * The results to persist for a resource, except for the ARN and tags, those are handled automatically.
101
+ *
102
+ * @param resource The resource to get the custom fields for, includes extraFields from the `extraFields` function
103
+ */
104
+ results: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Record<string, any>;
105
+ };
106
+ /**
107
+ * Creates a resource sync type and returns it. This provides cleaner syntax than
108
+ * making one directly and having to define the types twice.
109
+ *
110
+ * @param config Configuration for the resource sync type
111
+ * @returns The ResourceSyncType instance passed in.
112
+ */
113
+ export declare function createResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(config: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>;
114
+ /**
115
+ * Paginates a ResourceSyncType and returns the resources.
116
+ *
117
+ * @param resourceTypeSync The configuration to use.
118
+ * @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
119
+ * @param region The region to get the resources for.
120
+ * @returns Returns all the resources for the given type in the given region with extraFields populated.
121
+ */
122
+ export declare function paginateResourceConfig<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>, credentials: AwsCredentialIdentityWithMetaData, region: string, endpoint: string | undefined): Promise<ExtendedResourceElementType<Cmd, K, ExtraFieldsFunc>[]>;
123
+ export declare function createTypedSyncOperation<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(awsService: AwsService, name: string, resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): Sync;
24
124
  export {};
25
125
  //# sourceMappingURL=typedSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedSync.d.ts","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7E,KAAK,kBAAkB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7E,KAAK,uBAAuB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAExE,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,uBAAuB,CAAA;AAE9E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAC5D,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/D,MAAM,GACN,KAAK,GACP,KAAK,CAAA;AACT,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GACpD,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC9D,KAAK,GACL,KAAK,GACP,KAAK,CAAA;AAET,KAAK,UAAU,CAAC,CAAC,SAAS,mBAAmB,IACzC;IACE,QAAQ,EAAE,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpD,SAAS,EAAE,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CACvD,GACD,mBAAmB,CAAA;AAEvB,KAAK,2BAA2B,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;AAClE;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAEpC,qBAAqB,EAAE,2BAA2B,EAClD,YAAY,EAAE,CAAC,EACf,GAAG,EAAE,CAAC,EACN,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,EAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CA8B/C"}
1
+ {"version":3,"file":"typedSync.d.ts","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.paginateResource = paginateResource;
4
+ exports.createResourceSyncType = createResourceSyncType;
5
+ exports.paginateResourceConfig = paginateResourceConfig;
6
+ exports.createTypedSyncOperation = createTypedSyncOperation;
7
+ const ClientPool_js_1 = require("../aws/ClientPool.js");
8
+ const sync_js_1 = require("./sync.js");
4
9
  /**
5
10
  * Paginates through all available resources for a given AWS API
6
11
  *
@@ -56,4 +61,66 @@ function paginationOutputKey(paginationConfig) {
56
61
  return undefined;
57
62
  }
58
63
  }
64
+ /**
65
+ * Creates a resource sync type and returns it. This provides cleaner syntax than
66
+ * making one directly and having to define the types twice.
67
+ *
68
+ * @param config Configuration for the resource sync type
69
+ * @returns The ResourceSyncType instance passed in.
70
+ */
71
+ function createResourceSyncType(config) {
72
+ return config;
73
+ }
74
+ /**
75
+ * Paginates a ResourceSyncType and returns the resources.
76
+ *
77
+ * @param resourceTypeSync The configuration to use.
78
+ * @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
79
+ * @param region The region to get the resources for.
80
+ * @returns Returns all the resources for the given type in the given region with extraFields populated.
81
+ */
82
+ async function paginateResourceConfig(resourceTypeSync, credentials, region, endpoint) {
83
+ const accountId = credentials.accountId;
84
+ const client = ClientPool_js_1.AwsClientPool.defaultInstance.client(resourceTypeSync.client, credentials, region, endpoint);
85
+ let resources = await paginateResource(client, resourceTypeSync.command, resourceTypeSync.key, resourceTypeSync.paginationConfig, resourceTypeSync.arguments ? resourceTypeSync.arguments(accountId, region) : undefined);
86
+ //If the resource is a string, convert it to an object with the name field set
87
+ if (resources.length > 0 && typeof resources[0] === 'string') {
88
+ resources = resources.map((resource) => ({ name: resource }));
89
+ }
90
+ if (resourceTypeSync.extraFields) {
91
+ await Promise.all(resources.map(async (resource) => {
92
+ const fields = resourceTypeSync.extraFields || {};
93
+ const extraFields = Object.entries(fields);
94
+ //Get the extra field values
95
+ const extraFieldValues = await Promise.all(extraFields.map(async ([key, callback]) => {
96
+ const value = await callback(client, resource, credentials.accountId, region);
97
+ return [key, value];
98
+ }));
99
+ //Map the extra field values to an object
100
+ const extraFieldsObject = extraFieldValues.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
101
+ resource.extraFields = extraFieldsObject;
102
+ }));
103
+ }
104
+ return resources;
105
+ }
106
+ function createTypedSyncOperation(awsService, name, resourceTypeSync) {
107
+ return {
108
+ awsService,
109
+ name,
110
+ execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
111
+ const awsId = credentials.accountId;
112
+ const resources = await paginateResourceConfig(resourceTypeSync, credentials, region, endpoint);
113
+ const records = resources.map((resource) => {
114
+ const result = resourceTypeSync.results(resource);
115
+ result.arn = resourceTypeSync.arn(resource, region, awsId);
116
+ if (result.metadata) {
117
+ result.metadata.arn = result.arn;
118
+ }
119
+ result.tags = resourceTypeSync.tags(resource);
120
+ return result;
121
+ });
122
+ await (0, sync_js_1.syncData)(records, storage, accountId, resourceTypeSync.resourceTypeParts(awsId, region));
123
+ }
124
+ };
125
+ }
59
126
  //# sourceMappingURL=typedSync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":";;AAqCA,4CAuCC;AAjDD;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAIpC,qBAAkD,EAClD,YAAe,EACf,GAAM,EACN,gBAA+B,EAC/B,MAAqC;IAErC,MAAM,MAAM,GAAG,qBAAqB,CAAA;IAEpC,IAAI,SAAS,GAAuB,SAAS,CAAA;IAE7C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC/D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAEjE,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;IAErB,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAS,CAAA;QACjC,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAA;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,OAAO,GAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,QAAQ,SAAS,EAAC;IAEnB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,gBAA+B;IAE/B,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,gBAAgB,CAAC,QAAQ,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,gBAA+B;IAE/B,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,gBAAgB,CAAC,SAAS,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
package/dist/esm/cli.js CHANGED
@@ -50,7 +50,6 @@ const main = async () => {
50
50
  }
51
51
  console.log('Initializing...');
52
52
  await createDefaultConfiguration();
53
- process.exit(0);
54
53
  }
55
54
  else if (cli.subcommand === 'download') {
56
55
  const defaultConfig = './iam-collect.jsonc';
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,MAAM,GAAG,GAAG,iBAAiB,CAC3B,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,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,MAAM,EAAE,UAAU;iBACnB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,MAAM,EAAE,UAAU;iBACnB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,UAAU;iBACnB;aACF;SACF;KACF,EACD,EAAE,EACF;QACE,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,OAAO;KACjB,CACF,CAAA;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,mBAAmB,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,0BAA0B,EAAE,CAAA;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAA;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;AACH,CAAC,CAAA;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACd,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,MAAM,GAAG,GAAG,iBAAiB,CAC3B,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,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,MAAM,EAAE,UAAU;iBACnB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,MAAM,EAAE,UAAU;iBACnB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,UAAU;iBACnB;aACF;SACF;KACF,EACD,EAAE,EACF;QACE,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,OAAO;KACjB,CACF,CAAA;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,mBAAmB,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,0BAA0B,EAAE,CAAA;IACpC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAA;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;AACH,CAAC,CAAA;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACd,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAO5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAO5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAyEf"}
@@ -18,9 +18,8 @@ export async function downloadData(configs, accountIds, regions, services) {
18
18
  console.log(`Downloading data for account ${accountId}`);
19
19
  const authForAccount = getAccountAuthConfig(accountId, configs);
20
20
  const credentials = await getCredentials(accountId, authForAccount);
21
- let enabledRegions = [];
22
21
  if (regions.length === 0) {
23
- enabledRegions = await getEnabledRegions(credentials);
22
+ regions = await getEnabledRegions(credentials);
24
23
  // console.log(`Enabled regions for account ${accountId}:`, enabledRegions)
25
24
  }
26
25
  const storage = createStorageClient(storageConfig, credentials.partition);
@@ -31,7 +30,7 @@ export async function downloadData(configs, accountIds, regions, services) {
31
30
  const enabledServices = servicesForAccount(accountId, configs, services);
32
31
  for (const service of enabledServices) {
33
32
  console.log(`Service ${service} for account ${accountId}`);
34
- const serviceRegions = regionsForService(service, accountId, configs, enabledRegions);
33
+ const serviceRegions = regionsForService(service, accountId, configs, regions);
35
34
  //Global syncs for the service
36
35
  const globalSyncs = getGlobalSyncsForService(service);
37
36
  const globalRegion = serviceRegions.at(0);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- import { Sync } from '../sync.js';
2
- export declare const LambdaSync: Sync;
1
+ export declare const LambdaSync: import("../sync.js").Sync;
3
2
  //# sourceMappingURL=lambda.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAyB,MAAM,YAAY,CAAA;AAGxD,eAAO,MAAM,UAAU,EAAE,IAmExB,CAAA"}
1
+ {"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,UAAU,2BAgDtB,CAAA"}
@@ -1,48 +1,45 @@
1
1
  import { GetPolicyCommand, LambdaClient, ListFunctionsCommand, ListTagsCommand } from '@aws-sdk/client-lambda';
2
- import { AwsClientPool } from '../../aws/ClientPool.js';
3
2
  import { runAndCatch404 } from '../../utils/client-tools.js';
4
- import { syncData } from '../sync.js';
5
- import { paginateResource } from '../typedSync.js';
6
- export const LambdaSync = {
7
- awsService: 'lambda',
8
- name: 'lambda',
9
- global: false,
10
- execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
11
- const lambdaClient = AwsClientPool.defaultInstance.client(LambdaClient, credentials, region, endpoint);
12
- const functions = await paginateResource(lambdaClient, ListFunctionsCommand, 'Functions', {
13
- inputKey: 'Marker',
14
- outputKey: 'NextMarker'
15
- }, {});
16
- const functionData = [];
17
- for (const func of functions) {
18
- const policy = await runAndCatch404(async () => {
19
- const policyResult = await lambdaClient.send(new GetPolicyCommand({ FunctionName: func.FunctionName }));
3
+ import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
4
+ export const LambdaSync = createTypedSyncOperation('lambda', 'lambdaFunctions', createResourceSyncType({
5
+ client: LambdaClient,
6
+ command: ListFunctionsCommand,
7
+ key: 'Functions',
8
+ paginationConfig: {
9
+ inputKey: 'Marker',
10
+ outputKey: 'NextMarker'
11
+ },
12
+ resourceTypeParts: (accountId, region) => ({
13
+ service: 'lambda',
14
+ resourceType: 'function',
15
+ account: accountId,
16
+ region: region
17
+ }),
18
+ extraFields: {
19
+ tags: async (client, resource) => {
20
+ return runAndCatch404(async () => {
21
+ const tagResult = await client.send(new ListTagsCommand({ Resource: resource.FunctionArn }));
22
+ return tagResult.Tags;
23
+ });
24
+ },
25
+ policy: async (client, resource) => {
26
+ return runAndCatch404(async () => {
27
+ const policyResult = await client.send(new GetPolicyCommand({ FunctionName: resource.FunctionName }));
20
28
  if (policyResult.Policy) {
21
29
  return JSON.parse(policyResult.Policy);
22
30
  }
23
31
  return undefined;
24
32
  });
25
- const tags = await runAndCatch404(async () => {
26
- const tagsResult = await lambdaClient.send(new ListTagsCommand({ Resource: func.FunctionArn }));
27
- return tagsResult.Tags;
28
- });
29
- functionData.push({
30
- arn: func.FunctionArn,
31
- metadata: {
32
- role: func.Role,
33
- arn: func.FunctionArn,
34
- name: func.FunctionName
35
- },
36
- policy,
37
- tags
38
- });
39
33
  }
40
- await syncData(functionData, storage, accountId, {
41
- service: 'lambda',
42
- resourceType: 'function',
43
- account: accountId,
44
- region: region
45
- });
46
- }
47
- };
34
+ },
35
+ tags: (func) => func.extraFields.tags,
36
+ arn: (func) => func.FunctionArn,
37
+ results: (func) => ({
38
+ metadata: {
39
+ role: func.Role,
40
+ name: func.FunctionName
41
+ },
42
+ policy: func.extraFields.policy
43
+ })
44
+ }));
48
45
  //# sourceMappingURL=lambda.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAQ,QAAQ,EAAe,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK,EACZ,SAAiB,EACjB,MAAc,EACd,WAA8C,EAC9C,OAAoB,EACpB,QAA4B,EAC5B,WAAwB,EACT,EAAE;QACjB,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CACvD,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACtC,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX;YACE,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,YAAY;SACxB,EACD,EAAE,CACH,CAAA;QAED,MAAM,YAAY,GAA8C,EAAE,CAAA;QAClE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC7C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAC1C,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAC1D,CAAA;gBACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACxC,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CACxC,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CACpD,CAAA;gBACD,OAAO,UAAU,CAAC,IAAI,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,IAAI,CAAC,WAAY;gBACtB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,WAAW;oBACrB,IAAI,EAAE,IAAI,CAAC,YAAY;iBACxB;gBACD,MAAM;gBACN,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;YAC/C,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,UAAU;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAChD,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,CAAC;IACrB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,YAAY;KACxB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC/B,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CACxD,CAAA;gBACD,OAAO,SAAS,CAAC,IAAI,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACjC,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAC9D,CAAA;gBACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACxC,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;IACrC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAY;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB;QACD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;KAChC,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -21,9 +21,8 @@ export interface Sync {
21
21
  */
22
22
  execute(accountId: string, region: string, credentials: AwsCredentialIdentityWithMetaData, storage: AwsIamStore, endpoint: string | undefined, syncOptions: SyncOptions): Promise<void>;
23
23
  }
24
- type DataRecord = Record<string, any> & {
24
+ export type DataRecord = Record<string, any> & {
25
25
  arn: string;
26
26
  };
27
27
  export declare function syncData(records: DataRecord[], storage: AwsIamStore, accountId: string, resourceTypeParts: ResourceTypeParts): Promise<void>;
28
- export {};
29
28
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AACvD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,iBAarC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAC9D,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,iBAarC"}
@@ -1,4 +1,8 @@
1
1
  import type { Client, Command } from '@smithy/smithy-client';
2
+ import { AwsCredentialIdentityWithMetaData } from '../aws/auth.js';
3
+ import { ResourceTypeParts } from '../persistence/AwsIamStore.js';
4
+ import { AwsService } from '../services.js';
5
+ import { Sync } from './sync.js';
2
6
  export type ClientConstructor = new (args: any) => Client<any, any, any, any>;
3
7
  type CommandConstructor = new (args: any) => Command<any, any, any, any, any>;
4
8
  type ShortCommandConstructor = new (args: any) => Command<any, any, any>;
@@ -21,5 +25,101 @@ type ClientInstanceOrConstructor = InstanceType<ClientConstructor>;
21
25
  * @returns Returns an array of resources returned from the commandClass Response Type key
22
26
  */
23
27
  export declare function paginateResource<C extends CommandConstructors, K extends keyof ExtractOutputType<C>>(clientClassOrInstance: ClientInstanceOrConstructor, commandClass: C, key: K, paginationConfig: Pagination<C>, params?: Partial<ExtractInputType<C>>): Promise<NonNullable<ExtractOutputType<C>[K]>>;
28
+ type ArrayElementType<T> = T extends (infer E)[] ? E : never;
29
+ type ResourceElementType<C extends CommandConstructors, K extends keyof ExtractOutputType<C>> = ArrayElementType<ExtractOutputType<C>[K]> extends string ? {
30
+ name: string;
31
+ } : ArrayElementType<ExtractOutputType<C>[K]>;
32
+ type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
33
+ export type ExtraFieldsDefinition<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>> = Record<string, (client: InstanceType<C>, resource: ResourceElementType<Cmd, K>, accountId: string, region: string) => Promise<any>>;
34
+ type ExtraFieldsReturnType<T extends ExtraFieldsDefinition<any, any, any>> = {
35
+ [K in keyof T]: PromiseType<ReturnType<T[K]>>;
36
+ };
37
+ export type ExtendedResourceElementType<Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<any, Cmd, K>> = ResourceElementType<Cmd, K> & {
38
+ extraFields: ExtraFieldsReturnType<ExtraFieldsFunc>;
39
+ };
40
+ export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFields extends ExtraFieldsDefinition<C, Cmd, K> = Record<string, () => Promise<any>>> = {
41
+ /**
42
+ * The client to use
43
+ */
44
+ client: C;
45
+ /**
46
+ * The command to execute
47
+ */
48
+ command: Cmd;
49
+ /**
50
+ * The key of the resource in the command output to pull
51
+ */
52
+ key: K;
53
+ /**
54
+ * The pagination token to get from the response and pass to the next call
55
+ */
56
+ paginationConfig: Pagination<Cmd>;
57
+ /**
58
+ * The resource type parts used to sync with storage
59
+ *
60
+ * @param accountId the account ID of the resource
61
+ * @param region the region of the resource
62
+ * @returns the resource type parts
63
+ */
64
+ resourceTypeParts: (accountId: string, region: string) => ResourceTypeParts;
65
+ /**
66
+ * Custom arguments to pass to the command, useful for filtering resources.
67
+ *
68
+ * @param awsId The AWS account ID being queried
69
+ * @param region The region being queried
70
+ * @returns a set of arguments to pass to the command
71
+ */
72
+ arguments?: (awsId: string, region: string) => Partial<ExtractInputType<Cmd>>;
73
+ /**
74
+ * Indicates if the resource type is global.
75
+ */
76
+ globalResourceType?: boolean;
77
+ /**
78
+ * The function to get the tags for a resource
79
+ * @param resource The resource to get the tags for
80
+ * @returns The tags for the resource, or undefined if there are no tags
81
+ */
82
+ tags: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Record<string, string> | undefined;
83
+ /**
84
+ * Create the ARN for a resource
85
+ *
86
+ * @param resource the resource to create the ARN for
87
+ * @param region the region the resource is in
88
+ * @param accountId the account the resource is in
89
+ * @returns the ARN for the resource
90
+ */
91
+ arn: (resource: ResourceElementType<Cmd, K>, region: string, accountId: string) => string;
92
+ /**
93
+ * The extra fields to get for a resource
94
+ * @param client The client to use to get the extra fields
95
+ * @param resource The resource to get the extra fields for
96
+ * @returns an object of extra fields to get, where the key is the name of the field and the value is a function that returns the value of the field
97
+ */
98
+ extraFields?: ExtraFields;
99
+ /**
100
+ * The results to persist for a resource, except for the ARN and tags, those are handled automatically.
101
+ *
102
+ * @param resource The resource to get the custom fields for, includes extraFields from the `extraFields` function
103
+ */
104
+ results: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Record<string, any>;
105
+ };
106
+ /**
107
+ * Creates a resource sync type and returns it. This provides cleaner syntax than
108
+ * making one directly and having to define the types twice.
109
+ *
110
+ * @param config Configuration for the resource sync type
111
+ * @returns The ResourceSyncType instance passed in.
112
+ */
113
+ export declare function createResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(config: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>;
114
+ /**
115
+ * Paginates a ResourceSyncType and returns the resources.
116
+ *
117
+ * @param resourceTypeSync The configuration to use.
118
+ * @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
119
+ * @param region The region to get the resources for.
120
+ * @returns Returns all the resources for the given type in the given region with extraFields populated.
121
+ */
122
+ export declare function paginateResourceConfig<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>, credentials: AwsCredentialIdentityWithMetaData, region: string, endpoint: string | undefined): Promise<ExtendedResourceElementType<Cmd, K, ExtraFieldsFunc>[]>;
123
+ export declare function createTypedSyncOperation<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(awsService: AwsService, name: string, resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): Sync;
24
124
  export {};
25
125
  //# sourceMappingURL=typedSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedSync.d.ts","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7E,KAAK,kBAAkB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7E,KAAK,uBAAuB,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAExE,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,uBAAuB,CAAA;AAE9E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAC5D,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/D,MAAM,GACN,KAAK,GACP,KAAK,CAAA;AACT,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GACpD,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC9D,KAAK,GACL,KAAK,GACP,KAAK,CAAA;AAET,KAAK,UAAU,CAAC,CAAC,SAAS,mBAAmB,IACzC;IACE,QAAQ,EAAE,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpD,SAAS,EAAE,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CACvD,GACD,mBAAmB,CAAA;AAEvB,KAAK,2BAA2B,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;AAClE;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAEpC,qBAAqB,EAAE,2BAA2B,EAClD,YAAY,EAAE,CAAC,EACf,GAAG,EAAE,CAAC,EACN,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,EAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CA8B/C"}
1
+ {"version":3,"file":"typedSync.d.ts","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { AwsClientPool } from '../aws/ClientPool.js';
2
+ import { syncData } from './sync.js';
1
3
  /**
2
4
  * Paginates through all available resources for a given AWS API
3
5
  *
@@ -53,4 +55,66 @@ function paginationOutputKey(paginationConfig) {
53
55
  return undefined;
54
56
  }
55
57
  }
58
+ /**
59
+ * Creates a resource sync type and returns it. This provides cleaner syntax than
60
+ * making one directly and having to define the types twice.
61
+ *
62
+ * @param config Configuration for the resource sync type
63
+ * @returns The ResourceSyncType instance passed in.
64
+ */
65
+ export function createResourceSyncType(config) {
66
+ return config;
67
+ }
68
+ /**
69
+ * Paginates a ResourceSyncType and returns the resources.
70
+ *
71
+ * @param resourceTypeSync The configuration to use.
72
+ * @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
73
+ * @param region The region to get the resources for.
74
+ * @returns Returns all the resources for the given type in the given region with extraFields populated.
75
+ */
76
+ export async function paginateResourceConfig(resourceTypeSync, credentials, region, endpoint) {
77
+ const accountId = credentials.accountId;
78
+ const client = AwsClientPool.defaultInstance.client(resourceTypeSync.client, credentials, region, endpoint);
79
+ let resources = await paginateResource(client, resourceTypeSync.command, resourceTypeSync.key, resourceTypeSync.paginationConfig, resourceTypeSync.arguments ? resourceTypeSync.arguments(accountId, region) : undefined);
80
+ //If the resource is a string, convert it to an object with the name field set
81
+ if (resources.length > 0 && typeof resources[0] === 'string') {
82
+ resources = resources.map((resource) => ({ name: resource }));
83
+ }
84
+ if (resourceTypeSync.extraFields) {
85
+ await Promise.all(resources.map(async (resource) => {
86
+ const fields = resourceTypeSync.extraFields || {};
87
+ const extraFields = Object.entries(fields);
88
+ //Get the extra field values
89
+ const extraFieldValues = await Promise.all(extraFields.map(async ([key, callback]) => {
90
+ const value = await callback(client, resource, credentials.accountId, region);
91
+ return [key, value];
92
+ }));
93
+ //Map the extra field values to an object
94
+ const extraFieldsObject = extraFieldValues.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
95
+ resource.extraFields = extraFieldsObject;
96
+ }));
97
+ }
98
+ return resources;
99
+ }
100
+ export function createTypedSyncOperation(awsService, name, resourceTypeSync) {
101
+ return {
102
+ awsService,
103
+ name,
104
+ execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
105
+ const awsId = credentials.accountId;
106
+ const resources = await paginateResourceConfig(resourceTypeSync, credentials, region, endpoint);
107
+ const records = resources.map((resource) => {
108
+ const result = resourceTypeSync.results(resource);
109
+ result.arn = resourceTypeSync.arn(resource, region, awsId);
110
+ if (result.metadata) {
111
+ result.metadata.arn = result.arn;
112
+ }
113
+ result.tags = resourceTypeSync.tags(resource);
114
+ return result;
115
+ });
116
+ await syncData(records, storage, accountId, resourceTypeSync.resourceTypeParts(awsId, region));
117
+ }
118
+ };
119
+ }
56
120
  //# sourceMappingURL=typedSync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAIpC,qBAAkD,EAClD,YAAe,EACf,GAAM,EACN,gBAA+B,EAC/B,MAAqC;IAErC,MAAM,MAAM,GAAG,qBAAqB,CAAA;IAEpC,IAAI,SAAS,GAAuB,SAAS,CAAA;IAE7C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC/D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAEjE,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;IAErB,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAS,CAAA;QACjC,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAA;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,OAAO,GAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,QAAQ,SAAS,EAAC;IAEnB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,gBAA+B;IAE/B,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,gBAAgB,CAAC,QAAQ,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,gBAA+B;IAE/B,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,gBAAgB,CAAC,SAAS,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",