@cloud-copilot/iam-collect 0.1.30 → 0.1.32

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.
Files changed (37) hide show
  1. package/dist/cjs/services.d.ts +1 -1
  2. package/dist/cjs/services.d.ts.map +1 -1
  3. package/dist/cjs/services.js +2 -0
  4. package/dist/cjs/services.js.map +1 -1
  5. package/dist/cjs/syncs/sns/topics.d.ts +3 -0
  6. package/dist/cjs/syncs/sns/topics.d.ts.map +1 -0
  7. package/dist/cjs/syncs/sns/topics.js +64 -0
  8. package/dist/cjs/syncs/sns/topics.js.map +1 -0
  9. package/dist/cjs/syncs/sqs/queues.d.ts +2 -0
  10. package/dist/cjs/syncs/sqs/queues.d.ts.map +1 -0
  11. package/dist/cjs/syncs/sqs/queues.js +47 -0
  12. package/dist/cjs/syncs/sqs/queues.js.map +1 -0
  13. package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
  14. package/dist/cjs/syncs/syncMap.js +4 -0
  15. package/dist/cjs/syncs/syncMap.js.map +1 -1
  16. package/dist/cjs/utils/arn.d.ts.map +1 -1
  17. package/dist/cjs/utils/arn.js +3 -1
  18. package/dist/cjs/utils/arn.js.map +1 -1
  19. package/dist/esm/services.d.ts +1 -1
  20. package/dist/esm/services.d.ts.map +1 -1
  21. package/dist/esm/services.js +2 -0
  22. package/dist/esm/services.js.map +1 -1
  23. package/dist/esm/syncs/sns/topics.d.ts +3 -0
  24. package/dist/esm/syncs/sns/topics.d.ts.map +1 -0
  25. package/dist/esm/syncs/sns/topics.js +61 -0
  26. package/dist/esm/syncs/sns/topics.js.map +1 -0
  27. package/dist/esm/syncs/sqs/queues.d.ts +2 -0
  28. package/dist/esm/syncs/sqs/queues.d.ts.map +1 -0
  29. package/dist/esm/syncs/sqs/queues.js +44 -0
  30. package/dist/esm/syncs/sqs/queues.js.map +1 -0
  31. package/dist/esm/syncs/syncMap.d.ts.map +1 -1
  32. package/dist/esm/syncs/syncMap.js +4 -0
  33. package/dist/esm/syncs/syncMap.js.map +1 -1
  34. package/dist/esm/utils/arn.d.ts.map +1 -1
  35. package/dist/esm/utils/arn.js +3 -1
  36. package/dist/esm/utils/arn.js.map +1 -1
  37. package/package.json +3 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["dynamodb", "iam", "kms", "lambda", "organizations", "s3", "secretsmanager", "sso"];
4
+ export declare const allServices: readonly ["dynamodb", "iam", "kms", "lambda", "organizations", "s3", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,+FASd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,6GAWd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
@@ -12,6 +12,8 @@ exports.allServices = [
12
12
  'organizations',
13
13
  's3',
14
14
  'secretsmanager',
15
+ 'sns',
16
+ 'sqs',
15
17
  'sso'
16
18
  ];
17
19
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,UAAU;IACV,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,gBAAgB;IAChB,KAAK;CACG,CAAA"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,UAAU;IACV,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Sync } from '../sync.js';
2
+ export declare const SnsTopicsSync: Sync;
3
+ //# sourceMappingURL=topics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../../../src/syncs/sns/topics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,eAAO,MAAM,aAAa,EAAE,IA8C3B,CAAA"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnsTopicsSync = void 0;
4
+ const client_sns_1 = require("@aws-sdk/client-sns");
5
+ const log_js_1 = require("../../utils/log.js");
6
+ const typedSync_js_1 = require("../typedSync.js");
7
+ exports.SnsTopicsSync = (0, typedSync_js_1.createTypedSyncOperation)('sns', 'topics', (0, typedSync_js_1.createResourceSyncType)({
8
+ client: client_sns_1.SNSClient,
9
+ command: client_sns_1.ListTopicsCommand,
10
+ paginationConfig: {
11
+ inputKey: 'NextToken',
12
+ outputKey: 'NextToken'
13
+ },
14
+ key: 'Topics',
15
+ arn: (topic) => topic.TopicArn,
16
+ resourceTypeParts: (account, region) => ({
17
+ service: 'sns',
18
+ account,
19
+ region
20
+ }),
21
+ extraFields: {
22
+ tags: async (client, topic) => {
23
+ const tagResult = await client.send(new client_sns_1.ListTagsForResourceCommand({
24
+ ResourceArn: topic.TopicArn
25
+ }));
26
+ return tagResult.Tags;
27
+ },
28
+ attributes: async (client, topic) => {
29
+ const attributes = await client.send(new client_sns_1.GetTopicAttributesCommand({
30
+ TopicArn: topic.TopicArn
31
+ }));
32
+ return attributes.Attributes;
33
+ }
34
+ },
35
+ tags: (topic) => topic.extraFields.tags,
36
+ results: (topic) => ({
37
+ metadata: {
38
+ name: topic.TopicArn.split(':').pop(),
39
+ displayName: topic.extraFields.attributes?.DisplayName,
40
+ keyId: topic.extraFields.attributes?.KmsMasterKeyId,
41
+ owner: topic.extraFields.attributes?.Owner
42
+ },
43
+ policy: topicPolicy(topic.TopicArn, topic.extraFields.attributes)
44
+ })
45
+ }));
46
+ /**
47
+ * Parse the SNS topic policy from attributes.
48
+ *
49
+ * @param attributes the attributes of the SNS topic
50
+ * @returns the parsed policy or undefined if parsing fails or the policy is not present
51
+ */
52
+ function topicPolicy(topicArn, attributes) {
53
+ if (attributes?.['Policy']) {
54
+ try {
55
+ return JSON.parse(attributes['Policy']);
56
+ }
57
+ catch (e) {
58
+ log_js_1.log.error('Failed to parse SNS topic policy', e, { topicArn });
59
+ return undefined;
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ //# sourceMappingURL=topics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../../src/syncs/sns/topics.ts"],"names":[],"mappings":";;;AAAA,oDAK4B;AAC5B,+CAAwC;AAExC,kDAAkF;AAErE,QAAA,aAAa,GAAS,IAAA,uCAAwB,EACzD,KAAK,EACL,QAAQ,EACR,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,sBAAS;IACjB,OAAO,EAAE,8BAAiB;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAS;IAC/B,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;KACP,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,uCAA0B,CAAC;gBAC7B,WAAW,EAAE,KAAK,CAAC,QAAS;aAC7B,CAAC,CACH,CAAA;YACD,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAClC,IAAI,sCAAyB,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAS;aAC1B,CAAC,CACH,CAAA;YACD,OAAO,UAAU,CAAC,UAAU,CAAA;QAC9B,CAAC;KACF;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;YACvC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW;YACtD,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc;YACnD,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK;SAC3C;QACD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,QAAS,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;KACnE,CAAC;CACH,CAAC,CACH,CAAA;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAClB,QAAgB,EAChB,UAA8C;IAE9C,IAAI,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SqsQueueSync: import("../sync.js").Sync;
2
+ //# sourceMappingURL=queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queues.d.ts","sourceRoot":"","sources":["../../../../src/syncs/sqs/queues.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,2BAgDxB,CAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqsQueueSync = void 0;
4
+ const client_sqs_1 = require("@aws-sdk/client-sqs");
5
+ const typedSync_js_1 = require("../typedSync.js");
6
+ exports.SqsQueueSync = (0, typedSync_js_1.createTypedSyncOperation)('sqs', 'queue', (0, typedSync_js_1.createResourceSyncType)({
7
+ client: client_sqs_1.SQSClient,
8
+ command: client_sqs_1.ListQueuesCommand,
9
+ key: 'QueueUrls',
10
+ paginationConfig: {
11
+ inputKey: 'NextToken',
12
+ outputKey: 'NextToken'
13
+ },
14
+ arn: (queue, region, account, partition) => {
15
+ const queueName = queue.name.split('/').pop();
16
+ return `arn:${partition}:sqs:${region}:${account}:${queueName}`;
17
+ },
18
+ resourceTypeParts: (account, region) => ({
19
+ account,
20
+ region,
21
+ service: 'sqs'
22
+ }),
23
+ tags: (queue) => queue.extraFields.tags,
24
+ extraFields: {
25
+ tags: async (client, topic) => {
26
+ const tagResult = await client.send(new client_sqs_1.ListQueueTagsCommand({
27
+ QueueUrl: topic.name
28
+ }));
29
+ return tagResult.Tags;
30
+ },
31
+ attributes: async (client, queue) => {
32
+ const attributes = await client.send(new client_sqs_1.GetQueueAttributesCommand({
33
+ QueueUrl: queue.name,
34
+ AttributeNames: ['KmsMasterKeyId', 'Policy']
35
+ }));
36
+ return attributes.Attributes;
37
+ }
38
+ },
39
+ results: (queue) => ({
40
+ metadata: {
41
+ name: queue.name.split('/').pop() || '',
42
+ kmsKey: queue.extraFields.attributes?.KmsMasterKeyId
43
+ },
44
+ policy: JSON.parse(queue.extraFields.attributes?.Policy || '{}')
45
+ })
46
+ }));
47
+ //# sourceMappingURL=queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queues.js","sourceRoot":"","sources":["../../../../src/syncs/sqs/queues.ts"],"names":[],"mappings":";;;AAAA,oDAK4B;AAC5B,kDAAkF;AAErE,QAAA,YAAY,GAAG,IAAA,uCAAwB,EAClD,KAAK,EACL,OAAO,EACP,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,sBAAS;IACjB,OAAO,EAAE,8BAAiB;IAC1B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAC7C,OAAO,OAAO,SAAS,QAAQ,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAA;IACjE,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO;QACP,MAAM;QACN,OAAO,EAAE,KAAK;KACf,CAAC;IACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,iCAAoB,CAAC;gBACvB,QAAQ,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC,CACH,CAAA;YACD,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAClC,IAAI,sCAAyB,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,cAAc,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAC7C,CAAC,CACH,CAAA;YACD,OAAO,UAAU,CAAC,UAAU,CAAA;QAC9B,CAAC;KACF;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;YACvC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc;SACrD;QACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;KACjE,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAW3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAiChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAa3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAmChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -11,6 +11,8 @@ const organizations_js_1 = require("./organizations/organizations.js");
11
11
  const accountBpa_js_1 = require("./s3/accountBpa.js");
12
12
  const buckets_js_1 = require("./s3/buckets.js");
13
13
  const secrets_js_1 = require("./secretsmanager/secrets.js");
14
+ const topics_js_1 = require("./sns/topics.js");
15
+ const queues_js_1 = require("./sqs/queues.js");
14
16
  const ssoInstances_js_1 = require("./sso/ssoInstances.js");
15
17
  const allSyncs = [
16
18
  accountBpa_js_1.AccountS3BpaSync,
@@ -22,6 +24,8 @@ const allSyncs = [
22
24
  organizations_js_1.OrganizationSync,
23
25
  buckets_js_1.S3GeneralPurposeBucketSync,
24
26
  secrets_js_1.SecretSync,
27
+ topics_js_1.SnsTopicsSync,
28
+ queues_js_1.SqsQueueSync,
25
29
  ssoInstances_js_1.SsoDataSync
26
30
  ];
27
31
  const syncMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAkDA,4DAMC;AAQD,gEAMC;AArED,oDAAwD;AACxD,2EAAwE;AACxE,qEAAkE;AAClE,yCAAsC;AACtC,kDAA+C;AAC/C,uEAAmE;AACnE,sDAAqD;AACrD,gDAA4D;AAC5D,4DAAwD;AACxD,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,6BAAiB;IACjB,GAAG,4CAAqB;IACxB,gBAAO;IACP,sBAAU;IACV,mCAAgB;IAChB,uCAA0B;IAC1B,uBAAU;IACV,6BAAW;CACZ,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAsDA,4DAMC;AAQD,gEAMC;AAzED,oDAAwD;AACxD,2EAAwE;AACxE,qEAAkE;AAClE,yCAAsC;AACtC,kDAA+C;AAC/C,uEAAmE;AACnE,sDAAqD;AACrD,gDAA4D;AAC5D,4DAAwD;AACxD,+CAA+C;AAC/C,+CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,6BAAiB;IACjB,GAAG,4CAAqB;IACxB,gBAAO;IACP,sBAAU;IACV,mCAAgB;IAChB,uCAA0B;IAC1B,uBAAU;IACV,yBAAa;IACb,wBAAY;IACZ,6BAAW;CACZ,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arn.d.ts","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkBnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBlB"}
1
+ {"version":3,"file":"arn.d.ts","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkBnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBlB"}
@@ -37,7 +37,9 @@ function splitArnParts(arn) {
37
37
  */
38
38
  function getResourceSegments(service, accountId, region, resourceString) {
39
39
  // This is terrible, and I hate it
40
- if (service === 's3' && accountId === '' && region === '') {
40
+ if ((service === 's3' && accountId === '' && region === '') ||
41
+ service === 'sns' ||
42
+ service === 'sqs') {
41
43
  return ['', resourceString];
42
44
  }
43
45
  const slashIndex = resourceString.indexOf('/');
@@ -1 +1 @@
1
- {"version":3,"file":"arn.js","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":";AAAA,kFAAkF;;AAkBlF,sCAkBC;AAUD,kDA0BC;AA5DD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE9F,OAAO;QACL,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,cAAsB;IAEtB,kCAAkC;IAClC,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE9C,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACzC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AACpF,CAAC"}
1
+ {"version":3,"file":"arn.js","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":";AAAA,kFAAkF;;AAkBlF,sCAkBC;AAUD,kDA8BC;AAhED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE9F,OAAO;QACL,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,cAAsB;IAEtB,kCAAkC;IAClC,IACE,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,CAAC;QACvD,OAAO,KAAK,KAAK;QACjB,OAAO,KAAK,KAAK,EACjB,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE9C,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACzC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AACpF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["dynamodb", "iam", "kms", "lambda", "organizations", "s3", "secretsmanager", "sso"];
4
+ export declare const allServices: readonly ["dynamodb", "iam", "kms", "lambda", "organizations", "s3", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,+FASd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,6GAWd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
@@ -9,6 +9,8 @@ export const allServices = [
9
9
  'organizations',
10
10
  's3',
11
11
  'secretsmanager',
12
+ 'sns',
13
+ 'sqs',
12
14
  'sso'
13
15
  ];
14
16
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,gBAAgB;IAChB,KAAK;CACG,CAAA"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Sync } from '../sync.js';
2
+ export declare const SnsTopicsSync: Sync;
3
+ //# sourceMappingURL=topics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../../../src/syncs/sns/topics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,eAAO,MAAM,aAAa,EAAE,IA8C3B,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { GetTopicAttributesCommand, ListTagsForResourceCommand, ListTopicsCommand, SNSClient } from '@aws-sdk/client-sns';
2
+ import { log } from '../../utils/log.js';
3
+ import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
4
+ export const SnsTopicsSync = createTypedSyncOperation('sns', 'topics', createResourceSyncType({
5
+ client: SNSClient,
6
+ command: ListTopicsCommand,
7
+ paginationConfig: {
8
+ inputKey: 'NextToken',
9
+ outputKey: 'NextToken'
10
+ },
11
+ key: 'Topics',
12
+ arn: (topic) => topic.TopicArn,
13
+ resourceTypeParts: (account, region) => ({
14
+ service: 'sns',
15
+ account,
16
+ region
17
+ }),
18
+ extraFields: {
19
+ tags: async (client, topic) => {
20
+ const tagResult = await client.send(new ListTagsForResourceCommand({
21
+ ResourceArn: topic.TopicArn
22
+ }));
23
+ return tagResult.Tags;
24
+ },
25
+ attributes: async (client, topic) => {
26
+ const attributes = await client.send(new GetTopicAttributesCommand({
27
+ TopicArn: topic.TopicArn
28
+ }));
29
+ return attributes.Attributes;
30
+ }
31
+ },
32
+ tags: (topic) => topic.extraFields.tags,
33
+ results: (topic) => ({
34
+ metadata: {
35
+ name: topic.TopicArn.split(':').pop(),
36
+ displayName: topic.extraFields.attributes?.DisplayName,
37
+ keyId: topic.extraFields.attributes?.KmsMasterKeyId,
38
+ owner: topic.extraFields.attributes?.Owner
39
+ },
40
+ policy: topicPolicy(topic.TopicArn, topic.extraFields.attributes)
41
+ })
42
+ }));
43
+ /**
44
+ * Parse the SNS topic policy from attributes.
45
+ *
46
+ * @param attributes the attributes of the SNS topic
47
+ * @returns the parsed policy or undefined if parsing fails or the policy is not present
48
+ */
49
+ function topicPolicy(topicArn, attributes) {
50
+ if (attributes?.['Policy']) {
51
+ try {
52
+ return JSON.parse(attributes['Policy']);
53
+ }
54
+ catch (e) {
55
+ log.error('Failed to parse SNS topic policy', e, { topicArn });
56
+ return undefined;
57
+ }
58
+ }
59
+ return undefined;
60
+ }
61
+ //# sourceMappingURL=topics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../../src/syncs/sns/topics.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,SAAS,EACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,aAAa,GAAS,wBAAwB,CACzD,KAAK,EACL,QAAQ,EACR,sBAAsB,CAAC;IACrB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,iBAAiB;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAS;IAC/B,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;KACP,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,0BAA0B,CAAC;gBAC7B,WAAW,EAAE,KAAK,CAAC,QAAS;aAC7B,CAAC,CACH,CAAA;YACD,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAClC,IAAI,yBAAyB,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAS;aAC1B,CAAC,CACH,CAAA;YACD,OAAO,UAAU,CAAC,UAAU,CAAA;QAC9B,CAAC;KACF;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;YACvC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW;YACtD,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc;YACnD,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK;SAC3C;QACD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,QAAS,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;KACnE,CAAC;CACH,CAAC,CACH,CAAA;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAClB,QAAgB,EAChB,UAA8C;IAE9C,IAAI,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SqsQueueSync: import("../sync.js").Sync;
2
+ //# sourceMappingURL=queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queues.d.ts","sourceRoot":"","sources":["../../../../src/syncs/sqs/queues.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,2BAgDxB,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { GetQueueAttributesCommand, ListQueuesCommand, ListQueueTagsCommand, SQSClient } from '@aws-sdk/client-sqs';
2
+ import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
3
+ export const SqsQueueSync = createTypedSyncOperation('sqs', 'queue', createResourceSyncType({
4
+ client: SQSClient,
5
+ command: ListQueuesCommand,
6
+ key: 'QueueUrls',
7
+ paginationConfig: {
8
+ inputKey: 'NextToken',
9
+ outputKey: 'NextToken'
10
+ },
11
+ arn: (queue, region, account, partition) => {
12
+ const queueName = queue.name.split('/').pop();
13
+ return `arn:${partition}:sqs:${region}:${account}:${queueName}`;
14
+ },
15
+ resourceTypeParts: (account, region) => ({
16
+ account,
17
+ region,
18
+ service: 'sqs'
19
+ }),
20
+ tags: (queue) => queue.extraFields.tags,
21
+ extraFields: {
22
+ tags: async (client, topic) => {
23
+ const tagResult = await client.send(new ListQueueTagsCommand({
24
+ QueueUrl: topic.name
25
+ }));
26
+ return tagResult.Tags;
27
+ },
28
+ attributes: async (client, queue) => {
29
+ const attributes = await client.send(new GetQueueAttributesCommand({
30
+ QueueUrl: queue.name,
31
+ AttributeNames: ['KmsMasterKeyId', 'Policy']
32
+ }));
33
+ return attributes.Attributes;
34
+ }
35
+ },
36
+ results: (queue) => ({
37
+ metadata: {
38
+ name: queue.name.split('/').pop() || '',
39
+ kmsKey: queue.extraFields.attributes?.KmsMasterKeyId
40
+ },
41
+ policy: JSON.parse(queue.extraFields.attributes?.Policy || '{}')
42
+ })
43
+ }));
44
+ //# sourceMappingURL=queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queues.js","sourceRoot":"","sources":["../../../../src/syncs/sqs/queues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAClD,KAAK,EACL,OAAO,EACP,sBAAsB,CAAC;IACrB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,iBAAiB;IAC1B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAC7C,OAAO,OAAO,SAAS,QAAQ,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAA;IACjE,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO;QACP,MAAM;QACN,OAAO,EAAE,KAAK;KACf,CAAC;IACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,oBAAoB,CAAC;gBACvB,QAAQ,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC,CACH,CAAA;YACD,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAClC,IAAI,yBAAyB,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,cAAc,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAC7C,CAAC,CACH,CAAA;YACD,OAAO,UAAU,CAAC,UAAU,CAAA;QAC9B,CAAC;KACF;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;YACvC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc;SACrD;QACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;KACjE,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAW3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAiChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAa3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAmChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -7,6 +7,8 @@ import { OrganizationSync } from './organizations/organizations.js';
7
7
  import { AccountS3BpaSync } from './s3/accountBpa.js';
8
8
  import { S3GeneralPurposeBucketSync } from './s3/buckets.js';
9
9
  import { SecretSync } from './secretsmanager/secrets.js';
10
+ import { SnsTopicsSync } from './sns/topics.js';
11
+ import { SqsQueueSync } from './sqs/queues.js';
10
12
  import { SsoDataSync } from './sso/ssoInstances.js';
11
13
  const allSyncs = [
12
14
  AccountS3BpaSync,
@@ -18,6 +20,8 @@ const allSyncs = [
18
20
  OrganizationSync,
19
21
  S3GeneralPurposeBucketSync,
20
22
  SecretSync,
23
+ SnsTopicsSync,
24
+ SqsQueueSync,
21
25
  SsoDataSync
22
26
  ];
23
27
  const syncMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,MAAM,QAAQ,GAAG;IACf,gBAAgB;IAChB,wBAAwB;IACxB,iBAAiB;IACjB,GAAG,qBAAqB;IACxB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,UAAU;IACV,WAAW;CACZ,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,MAAM,QAAQ,GAAG;IACf,gBAAgB;IAChB,wBAAwB;IACxB,iBAAiB;IACjB,GAAG,qBAAqB;IACxB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,UAAU;IACV,aAAa;IACb,YAAY;IACZ,WAAW;CACZ,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arn.d.ts","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkBnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBlB"}
1
+ {"version":3,"file":"arn.d.ts","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkBnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBlB"}
@@ -33,7 +33,9 @@ export function splitArnParts(arn) {
33
33
  */
34
34
  export function getResourceSegments(service, accountId, region, resourceString) {
35
35
  // This is terrible, and I hate it
36
- if (service === 's3' && accountId === '' && region === '') {
36
+ if ((service === 's3' && accountId === '' && region === '') ||
37
+ service === 'sns' ||
38
+ service === 'sqs') {
37
39
  return ['', resourceString];
38
40
  }
39
41
  const slashIndex = resourceString.indexOf('/');
@@ -1 +1 @@
1
- {"version":3,"file":"arn.js","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAYlF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE9F,OAAO;QACL,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,cAAsB;IAEtB,kCAAkC;IAClC,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE9C,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACzC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AACpF,CAAC"}
1
+ {"version":3,"file":"arn.js","sourceRoot":"","sources":["../../../src/utils/arn.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAYlF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE9F,OAAO;QACL,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,cAAsB;IAEtB,kCAAkC;IAClC,IACE,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,CAAC;QACvD,OAAO,KAAK,KAAK;QACjB,OAAO,KAAK,KAAK,EACjB,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE9C,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACzC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -117,6 +117,8 @@
117
117
  "@aws-sdk/client-s3": "^3.782.0",
118
118
  "@aws-sdk/client-s3-control": "^3.787.0",
119
119
  "@aws-sdk/client-secrets-manager": "^3.787.0",
120
+ "@aws-sdk/client-sns": "^3.797.0",
121
+ "@aws-sdk/client-sqs": "^3.798.0",
120
122
  "@aws-sdk/client-sso-admin": "^3.787.0",
121
123
  "@aws-sdk/client-sts": "^3.772.0",
122
124
  "@aws-sdk/credential-providers": "^3.772.0",