@cloud-copilot/iam-collect 0.1.92 → 0.1.94

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 (70) hide show
  1. package/README.md +39 -39
  2. package/dist/cjs/config/config.d.ts +12 -0
  3. package/dist/cjs/config/config.d.ts.map +1 -1
  4. package/dist/cjs/config/config.js +33 -0
  5. package/dist/cjs/config/config.js.map +1 -1
  6. package/dist/cjs/config/defaultConfig.d.ts.map +1 -1
  7. package/dist/cjs/config/defaultConfig.js +28 -0
  8. package/dist/cjs/config/defaultConfig.js.map +1 -1
  9. package/dist/cjs/config/partitionDefaults.d.ts.map +1 -1
  10. package/dist/cjs/config/partitionDefaults.js +27 -0
  11. package/dist/cjs/config/partitionDefaults.js.map +1 -1
  12. package/dist/cjs/download/download.d.ts.map +1 -1
  13. package/dist/cjs/download/download.js +9 -3
  14. package/dist/cjs/download/download.js.map +1 -1
  15. package/dist/cjs/syncs/apigateway/gateways.d.ts +10 -0
  16. package/dist/cjs/syncs/apigateway/gateways.d.ts.map +1 -1
  17. package/dist/cjs/syncs/apigateway/gateways.js +35 -4
  18. package/dist/cjs/syncs/apigateway/gateways.js.map +1 -1
  19. package/dist/cjs/syncs/iam/authorizationDetails.d.ts +2 -1
  20. package/dist/cjs/syncs/iam/authorizationDetails.d.ts.map +1 -1
  21. package/dist/cjs/syncs/iam/authorizationDetails.js +9 -7
  22. package/dist/cjs/syncs/iam/authorizationDetails.js.map +1 -1
  23. package/dist/cjs/syncs/s3/buckets.d.ts.map +1 -1
  24. package/dist/cjs/syncs/s3/buckets.js +35 -4
  25. package/dist/cjs/syncs/s3/buckets.js.map +1 -1
  26. package/dist/cjs/syncs/sqs/queues.d.ts.map +1 -1
  27. package/dist/cjs/syncs/sqs/queues.js +3 -0
  28. package/dist/cjs/syncs/sqs/queues.js.map +1 -1
  29. package/dist/cjs/syncs/sync.d.ts +3 -0
  30. package/dist/cjs/syncs/sync.d.ts.map +1 -1
  31. package/dist/cjs/syncs/sync.js.map +1 -1
  32. package/dist/cjs/syncs/typedSync.d.ts +2 -1
  33. package/dist/cjs/syncs/typedSync.d.ts.map +1 -1
  34. package/dist/cjs/syncs/typedSync.js +25 -9
  35. package/dist/cjs/syncs/typedSync.js.map +1 -1
  36. package/dist/esm/config/config.d.ts +12 -0
  37. package/dist/esm/config/config.d.ts.map +1 -1
  38. package/dist/esm/config/config.js +32 -0
  39. package/dist/esm/config/config.js.map +1 -1
  40. package/dist/esm/config/defaultConfig.d.ts.map +1 -1
  41. package/dist/esm/config/defaultConfig.js +28 -0
  42. package/dist/esm/config/defaultConfig.js.map +1 -1
  43. package/dist/esm/config/partitionDefaults.d.ts.map +1 -1
  44. package/dist/esm/config/partitionDefaults.js +27 -0
  45. package/dist/esm/config/partitionDefaults.js.map +1 -1
  46. package/dist/esm/download/download.d.ts.map +1 -1
  47. package/dist/esm/download/download.js +10 -4
  48. package/dist/esm/download/download.js.map +1 -1
  49. package/dist/esm/syncs/apigateway/gateways.d.ts +10 -0
  50. package/dist/esm/syncs/apigateway/gateways.d.ts.map +1 -1
  51. package/dist/esm/syncs/apigateway/gateways.js +34 -4
  52. package/dist/esm/syncs/apigateway/gateways.js.map +1 -1
  53. package/dist/esm/syncs/iam/authorizationDetails.d.ts +2 -1
  54. package/dist/esm/syncs/iam/authorizationDetails.d.ts.map +1 -1
  55. package/dist/esm/syncs/iam/authorizationDetails.js +9 -7
  56. package/dist/esm/syncs/iam/authorizationDetails.js.map +1 -1
  57. package/dist/esm/syncs/s3/buckets.d.ts.map +1 -1
  58. package/dist/esm/syncs/s3/buckets.js +35 -4
  59. package/dist/esm/syncs/s3/buckets.js.map +1 -1
  60. package/dist/esm/syncs/sqs/queues.d.ts.map +1 -1
  61. package/dist/esm/syncs/sqs/queues.js +3 -0
  62. package/dist/esm/syncs/sqs/queues.js.map +1 -1
  63. package/dist/esm/syncs/sync.d.ts +3 -0
  64. package/dist/esm/syncs/sync.d.ts.map +1 -1
  65. package/dist/esm/syncs/sync.js.map +1 -1
  66. package/dist/esm/syncs/typedSync.d.ts +2 -1
  67. package/dist/esm/syncs/typedSync.d.ts.map +1 -1
  68. package/dist/esm/syncs/typedSync.js +25 -9
  69. package/dist/esm/syncs/typedSync.js.map +1 -1
  70. package/package.json +2 -1
package/README.md CHANGED
@@ -104,44 +104,44 @@ This will show you your data that was downloaded. See the [storage docs](docs/St
104
104
 
105
105
  ## Supported Services and Data
106
106
 
107
- | Service | Resource Type | Data Downloaded |
108
- | ----------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
109
- | iam | Users | name, path, id, groups, tags, inline policies, managed policies, permission boundary |
110
- | iam | Groups | name, path, id, inline policies, managed policies |
111
- | iam | Roles | name, path, id, trust policy, inline policies, managed policies, instance profiles, tags, permission boundary |
112
- | iam | Customer and AWS Managed Policies | name, path, id, default version, default version doc, tags |
113
- | iam | OIDC Providers | arn, audiences, thumbprints, url, tags |
114
- | iam | SAML Providers | arn, metadata document, uuid, private keys, valid until, tags |
115
- | iam | Instance Profiles | arn, name, roles, id, path, tags |
116
- | apigateway | Rest APIs | id, name, policy, tags |
117
- | backup | Backup Vaults | name, key arn, tags, policy |
118
- | dynamodb | Streams | name, arn, region, resource policy |
119
- | dynamodb | Tables | name, arn, region, tags, resource policy |
120
- | ecr | Repositories | name, arn, region, tags, resource policy, key id |
121
- | ecr | Registries | policy |
122
- | ec2 | VPC Endpoints | id, name, type, vpc, policy |
123
- | elasticfilesystem | File Systems | name, id, key, encryption, tags, policy |
124
- | glacier | Vaults | name, arn, region, tags, policy |
125
- | glue | Root Catalogs | policy |
126
- | kms | Keys | id, policy, tags |
127
- | lambda | Functions | name, role, tags, policy |
128
- | lambda | Layer Versions | name, arn, version, policy |
129
- | ram | Shared Resources | arn, resource shares, resource policy |
130
- | s3 | Access Points | name, bucket, bucket account, policy, block public access configuration, network origin, vpc, alias, endpoints |
131
- | s3 | Buckets | name, region, tags, policy, block public access configuration, default encryption |
132
- | s3 | Multi Region Access Points | name, alias, regions, policy, block public access configuration |
133
- | s3express | Directory Buckets | name, encryption settings, policy |
134
- | s3outposts | Outpost Buckets | name, region, tags, policy |
135
- | s3outposts | Outpost Access Points | name, bucket, bucket account, policy, network origin, vpc |
136
- | s3tables | Table Buckets | name, region, bucket policy, encryption |
137
- | organizations | Organizations | id, arn, root account id, enabled policy types, org structure |
138
- | organizations | Organizational Units | id, arn, parent ou, enabled SCPs, enabled RCPs, tags |
139
- | organizations | Accounts | id, arn, parent ou, enabled SCPs, enabled RCPs, tags |
140
- | organizations | SCPs, RCPs | id, arn, name, description, tags, policy |
141
- | sns | Topics | name, arn, tags, kms key id, policy |
142
- | sqs | Queues | name, arn, tags, kms key id, policy |
143
- | secretsmanager | Secrets | name, arn, tags, kms key id, policy |
144
- | sso | Instances | id, arn, name, owner account id, status, tags |
145
- | sso | Permission Sets | name, description, AWS managed policies, customer managed policies, inline policy, permission boundary, accounts, tags |
107
+ | Service | Resource Type | Data Downloaded |
108
+ | ----------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
109
+ | iam | Users | name, path, id, groups, tags, inline policies, managed policies, permission boundary |
110
+ | iam | Groups | name, path, id, inline policies, managed policies |
111
+ | iam | Roles | name, path, id, trust policy, inline policies, managed policies, instance profiles, tags (excluded by default), permission boundary |
112
+ | iam | Customer and AWS Managed Policies | name, path, id, default version, default version doc, tags |
113
+ | iam | OIDC Providers | arn, audiences, thumbprints, url, tags |
114
+ | iam | SAML Providers | arn, metadata document, uuid, private keys, valid until, tags |
115
+ | iam | Instance Profiles | arn, name, roles, id, path, tags |
116
+ | apigateway | Rest APIs | id, name, policy, tags |
117
+ | backup | Backup Vaults | name, key arn, tags, policy |
118
+ | dynamodb | Streams | name, arn, region, resource policy |
119
+ | dynamodb | Tables | name, arn, region, tags, resource policy |
120
+ | ecr | Repositories | name, arn, region, tags, resource policy, key id |
121
+ | ecr | Registries | policy |
122
+ | ec2 | VPC Endpoints | id, name, type, vpc, policy |
123
+ | elasticfilesystem | File Systems | name, id, key, encryption, tags, policy |
124
+ | glacier | Vaults | name, arn, region, tags, policy |
125
+ | glue | Root Catalogs | policy |
126
+ | kms | Keys | id, policy, tags |
127
+ | lambda | Functions | name, role, tags, policy |
128
+ | lambda | Layer Versions | name, arn, version, policy |
129
+ | ram | Shared Resources | arn, resource shares, resource policy |
130
+ | s3 | Access Points | name, bucket, bucket account, policy, block public access configuration, network origin, vpc, alias, endpoints |
131
+ | s3 | Buckets | name, region, tags, policy, block public access configuration, default encryption |
132
+ | s3 | Multi Region Access Points | name, alias, regions, policy, block public access configuration |
133
+ | s3express | Directory Buckets | name, encryption settings, policy |
134
+ | s3outposts | Outpost Buckets | name, region, tags, policy |
135
+ | s3outposts | Outpost Access Points | name, bucket, bucket account, policy, network origin, vpc |
136
+ | s3tables | Table Buckets | name, region, bucket policy, encryption |
137
+ | organizations | Organizations | id, arn, root account id, enabled policy types, org structure |
138
+ | organizations | Organizational Units | id, arn, parent ou, enabled SCPs, enabled RCPs, tags |
139
+ | organizations | Accounts | id, arn, parent ou, enabled SCPs, enabled RCPs, tags |
140
+ | organizations | SCPs, RCPs | id, arn, name, description, tags, policy |
141
+ | sns | Topics | name, arn, tags, kms key id, policy |
142
+ | sqs | Queues | name, arn, tags, kms key id, policy |
143
+ | secretsmanager | Secrets | name, arn, tags, kms key id, policy |
144
+ | sso | Instances | id, arn, name, owner account id, status, tags |
145
+ | sso | Permission Sets | name, description, AWS managed policies, customer managed policies, inline policy, permission boundary, accounts, tags |
146
146
 
147
147
  If you don't see the data you are looking for, please check the [open resource issues](https://github.com/cloud-copilot/iam-collect/issues?q=is%3Aissue%20state%3Aopen%20label%3Aresource) and comment on the issue or create a new one.
@@ -85,6 +85,7 @@ interface ServiceConfig extends Omit<BaseConfig, 'auth'> {
85
85
  auth?: OptionalAuthConfig;
86
86
  }
87
87
  interface SyncConfig {
88
+ custom?: Record<string, any>;
88
89
  regions?: {
89
90
  included?: string[];
90
91
  excluded?: string[];
@@ -123,6 +124,17 @@ export interface ResolvedAccountServiceRegionConfig {
123
124
  */
124
125
  export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
125
126
  export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
127
+ /**
128
+ * Look up the custom config for a specific sync for a service in an account and region.
129
+ *
130
+ * @param service the service to look up the sync for
131
+ * @param syncName the name of the sync to look up
132
+ * @param account the account to look up the sync for
133
+ * @param region the region to look up the sync for
134
+ * @param configs the configs to search
135
+ * @returns the custom config for the sync, or undefined if not found
136
+ */
137
+ export declare function customConfigForSync(service: string, syncName: string, account: string, region: string, configs: TopLevelConfig[]): Record<string, any> | undefined;
126
138
  /**
127
139
  * Get the regions for a specific service and account.
128
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDefaultAuthConfig = getDefaultAuthConfig;
4
4
  exports.servicesForAccount = servicesForAccount;
5
+ exports.customConfigForSync = customConfigForSync;
5
6
  exports.regionsForService = regionsForService;
6
7
  exports.accountServiceRegionConfig = accountServiceRegionConfig;
7
8
  exports.getAccountAuthConfig = getAccountAuthConfig;
@@ -49,6 +50,38 @@ function servicesForAccount(account, configs, allServices) {
49
50
  }
50
51
  return services;
51
52
  }
53
+ /**
54
+ * Look up the custom config for a specific sync for a service in an account and region.
55
+ *
56
+ * @param service the service to look up the sync for
57
+ * @param syncName the name of the sync to look up
58
+ * @param account the account to look up the sync for
59
+ * @param region the region to look up the sync for
60
+ * @param configs the configs to search
61
+ * @returns the custom config for the sync, or undefined if not found
62
+ */
63
+ function customConfigForSync(service, syncName, account, region, configs) {
64
+ // Look up the custom config for the specified service and sync name
65
+ for (const config of [...configs].reverse()) {
66
+ const accountServiceConfig = config.accountConfigs?.[account]?.serviceConfigs?.[service];
67
+ const accountServiceRegionConfig = accountServiceConfig?.regionConfigs?.[region]?.syncConfigs?.[syncName];
68
+ if (accountServiceRegionConfig?.custom) {
69
+ return accountServiceRegionConfig.custom;
70
+ }
71
+ if (accountServiceConfig?.syncConfigs?.[syncName]?.custom) {
72
+ return accountServiceConfig.syncConfigs[syncName].custom;
73
+ }
74
+ const serviceRegionConfig = config.serviceConfigs?.[service]?.regionConfigs?.[region];
75
+ if (serviceRegionConfig?.syncConfigs?.[syncName]?.custom) {
76
+ return serviceRegionConfig.syncConfigs[syncName].custom;
77
+ }
78
+ const serviceConfig = config.serviceConfigs?.[service];
79
+ if (serviceConfig?.syncConfigs?.[syncName]?.custom) {
80
+ return serviceConfig.syncConfigs[syncName].custom;
81
+ }
82
+ }
83
+ return undefined;
84
+ }
52
85
  /**
53
86
  * Get the regions for a specific service and account.
54
87
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAwGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
1
+ {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAoID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
@@ -63,6 +63,34 @@ const defaultConfig = `
63
63
  },
64
64
  */
65
65
 
66
+ /*
67
+ "serviceConfigs": {
68
+ "iam": {
69
+ "syncConfigs": {
70
+ "authorizationDetails": {
71
+ "custom": {
72
+ // If true, the authorization details sync will include tags for managed policies.
73
+ // This can significantly increase the time it takes to sync.
74
+ "includePolicyTags": true
75
+ }
76
+ }
77
+ }
78
+ }
79
+ "s3": {
80
+ "syncConfigs": {
81
+ "multiRegionAccessPoints": {
82
+ "regions": {
83
+ // Multi-Region Access Points are only available in us-west-2 in the aws partition
84
+ // If using a different partition, you can specify the region for that partition here
85
+ "included": ["us-west-2"]
86
+ }
87
+ }
88
+ }
89
+ }
90
+ },
91
+
92
+ */
93
+
66
94
  /*
67
95
  Optionally specify separate configurations for accounts:
68
96
  "accountConfigs": {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AAwGD,4CAGC;AAhID,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AAoID,4CAGC;AA5JD,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgIrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"partitionDefaults.d.ts","sourceRoot":"","sources":["../../../src/config/partitionDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAsE5C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAEtE"}
1
+ {"version":3,"file":"partitionDefaults.d.ts","sourceRoot":"","sources":["../../../src/config/partitionDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAiG5C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAEtE"}
@@ -5,6 +5,15 @@ const partitionDefaults = {
5
5
  aws: {
6
6
  iamCollectVersion: '0.0.0',
7
7
  serviceConfigs: {
8
+ iam: {
9
+ syncConfigs: {
10
+ authorizationDetails: {
11
+ custom: {
12
+ includePolicyTags: false
13
+ }
14
+ }
15
+ }
16
+ },
8
17
  s3: {
9
18
  syncConfigs: {
10
19
  multiRegionAccessPoints: {
@@ -39,6 +48,15 @@ const partitionDefaults = {
39
48
  excluded: ['s3express']
40
49
  },
41
50
  serviceConfigs: {
51
+ iam: {
52
+ syncConfigs: {
53
+ authorizationDetails: {
54
+ custom: {
55
+ includePolicyTags: false
56
+ }
57
+ }
58
+ }
59
+ },
42
60
  s3: {
43
61
  syncConfigs: {
44
62
  multiRegionAccessPoints: {
@@ -56,6 +74,15 @@ const partitionDefaults = {
56
74
  excluded: ['s3express']
57
75
  },
58
76
  serviceConfigs: {
77
+ iam: {
78
+ syncConfigs: {
79
+ authorizationDetails: {
80
+ custom: {
81
+ includePolicyTags: false
82
+ }
83
+ }
84
+ }
85
+ },
59
86
  s3: {
60
87
  syncConfigs: {
61
88
  multiRegionAccessPoints: {
@@ -1 +1 @@
1
- {"version":3,"file":"partitionDefaults.js","sourceRoot":"","sources":["../../../src/config/partitionDefaults.ts"],"names":[],"mappings":";;AA4EA,oDAEC;AA5ED,MAAM,iBAAiB,GAAmC;IACxD,GAAG,EAAE;QACH,iBAAiB,EAAE,OAAO;QAC1B,cAAc,EAAE;YACd,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,CAAC,WAAW,CAAC;yBACxB;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,WAAW,EAAE;oBACX,gBAAgB,EAAE;wBAChB,OAAO,EAAE;4BACP,QAAQ,EAAE;gCACR,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,YAAY;gCACZ,gBAAgB;gCAChB,WAAW;gCACX,YAAY;6BACb;yBACF;qBACF;iBACF;aACF;SACF;KACF;IACD,YAAY,EAAE;QACZ,iBAAiB,EAAE,OAAO;QAC1B,QAAQ,EAAE;YACR,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,cAAc,EAAE;YACd,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,CAAC,eAAe,CAAC;yBAC5B;qBACF;iBACF;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,iBAAiB,EAAE,OAAO;QAC1B,QAAQ,EAAE;YACR,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,cAAc,EAAE;YACd,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,EAAE;yBACb;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"partitionDefaults.js","sourceRoot":"","sources":["../../../src/config/partitionDefaults.ts"],"names":[],"mappings":";;AAuGA,oDAEC;AAvGD,MAAM,iBAAiB,GAAmC;IACxD,GAAG,EAAE;QACH,iBAAiB,EAAE,OAAO;QAC1B,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,WAAW,EAAE;oBACX,oBAAoB,EAAE;wBACpB,MAAM,EAAE;4BACN,iBAAiB,EAAE,KAAK;yBACzB;qBACF;iBACF;aACF;YACD,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,CAAC,WAAW,CAAC;yBACxB;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,WAAW,EAAE;oBACX,gBAAgB,EAAE;wBAChB,OAAO,EAAE;4BACP,QAAQ,EAAE;gCACR,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,YAAY;gCACZ,gBAAgB;gCAChB,WAAW;gCACX,YAAY;6BACb;yBACF;qBACF;iBACF;aACF;SACF;KACF;IACD,YAAY,EAAE;QACZ,iBAAiB,EAAE,OAAO;QAC1B,QAAQ,EAAE;YACR,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,WAAW,EAAE;oBACX,oBAAoB,EAAE;wBACpB,MAAM,EAAE;4BACN,iBAAiB,EAAE,KAAK;yBACzB;qBACF;iBACF;aACF;YACD,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,CAAC,eAAe,CAAC;yBAC5B;qBACF;iBACF;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,iBAAiB,EAAE,OAAO;QAC1B,QAAQ,EAAE;YACR,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,WAAW,EAAE;oBACX,oBAAoB,EAAE;wBACpB,MAAM,EAAE;4BACN,iBAAiB,EAAE,KAAK;yBACzB;qBACF;iBACF;aACF;YACD,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,uBAAuB,EAAE;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,EAAE;yBACb;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;AACvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAY5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAGA,OAAO,EAUL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAY5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAiLf"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.downloadData = downloadData;
4
+ const job_1 = require("@cloud-copilot/job");
4
5
  const auth_js_1 = require("../aws/auth.js");
5
6
  const coreAuth_js_1 = require("../aws/coreAuth.js");
6
7
  const config_js_1 = require("../config/config.js");
@@ -38,6 +39,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
38
39
  const indexJobs = [];
39
40
  log_js_1.log.debug('Starting download runner', { concurrency });
40
41
  const downloadRunner = new jobRunner_js_1.JobRunner(concurrency);
42
+ const workerPool = new job_1.ConcurrentWorkerPool(concurrency, log_js_1.log);
41
43
  for (const accountId of accountIds) {
42
44
  log_js_1.log.info('Queuing downloads for account', { accountId });
43
45
  const authForAccount = (0, config_js_1.getAccountAuthConfig)(accountId, configs);
@@ -52,7 +54,9 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
52
54
  if (services.length === 0) {
53
55
  services = services_js_1.allServices;
54
56
  }
55
- const syncOptions = {};
57
+ const syncOptions = {
58
+ workerPool
59
+ };
56
60
  const enabledServices = (0, config_js_1.servicesForAccount)(accountId, accountConfigs, services);
57
61
  for (const service of enabledServices) {
58
62
  log_js_1.log.info('Queuing downloads', { service, accountId });
@@ -62,6 +66,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
62
66
  const globalRegion = serviceRegions.at(0);
63
67
  const globalConfig = (0, config_js_1.accountServiceRegionConfig)(service, accountId, globalRegion, accountConfigs);
64
68
  for (const globalSync of globalSyncs) {
69
+ const customConfig = (0, config_js_1.customConfigForSync)(service, globalSync.name, accountId, globalRegion, accountConfigs);
65
70
  downloadRunner.enqueue({
66
71
  properties: { service, accountId, sync: globalSync.name },
67
72
  execute: async (context) => {
@@ -71,7 +76,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
71
76
  };
72
77
  const globalCredentials = await (0, auth_js_1.getCredentials)(accountId, globalConfig.auth);
73
78
  log_js_1.log.debug(logDetails, 'Executing global sync');
74
- await globalSync.execute(accountId, globalRegion, globalCredentials, storage, globalConfig.endpoint, syncOptions);
79
+ await globalSync.execute(accountId, globalRegion, globalCredentials, storage, globalConfig.endpoint, { ...syncOptions, customConfig });
75
80
  log_js_1.log.trace(logDetails, 'Finished global sync');
76
81
  }
77
82
  });
@@ -90,6 +95,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
90
95
  log_js_1.log.debug({ service, accountId, region, syncName: sync.name }, 'Skipping regional sync');
91
96
  continue;
92
97
  }
98
+ const customConfig = (0, config_js_1.customConfigForSync)(service, sync.name, accountId, region, accountConfigs);
93
99
  downloadRunner.enqueue({
94
100
  properties: { service, accountId, region, sync: sync.name },
95
101
  execute: async (context) => {
@@ -99,7 +105,7 @@ async function downloadData(configs, accountIds, regions, services, concurrency,
99
105
  };
100
106
  log_js_1.log.debug(logDetails, 'Executing regional sync');
101
107
  const regionalCredentials = await (0, auth_js_1.getCredentials)(accountId, asrConfig.auth);
102
- await sync.execute(accountId, region, regionalCredentials, storage, asrConfig.endpoint, syncOptions);
108
+ await sync.execute(accountId, region, regionalCredentials, storage, asrConfig.endpoint, { ...syncOptions, customConfig });
103
109
  log_js_1.log.trace(logDetails, 'Finished regional sync');
104
110
  }
105
111
  });
@@ -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,13 @@
1
1
  import { Sync } from '../sync.js';
2
2
  export declare const RestApisSync: Sync;
3
+ /**
4
+ * Parse the API Gateway policy string into a JSON object.
5
+ * For some reason API Gateway policies can have \\\ at the start of every string
6
+ * and any forward slash is escaped with a double backslash (\\/)
7
+ *
8
+ * @param apiId the ID of the API Gateway
9
+ * @param policy the policy string to parse
10
+ * @returns the parsed policy object or undefined if the policy is not provided
11
+ */
12
+ export declare function parseApiGatewayPolicy(apiId: string, policy: string | undefined): Record<string, any> | undefined;
3
13
  //# sourceMappingURL=gateways.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../../../../src/syncs/apigateway/gateways.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,eAAO,MAAM,YAAY,EAAE,IA2B1B,CAAA"}
1
+ {"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../../../../src/syncs/apigateway/gateways.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,eAAO,MAAM,YAAY,EAAE,IA2B1B,CAAA;AAcD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAYjC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestApisSync = void 0;
4
+ exports.parseApiGatewayPolicy = parseApiGatewayPolicy;
4
5
  const client_api_gateway_1 = require("@aws-sdk/client-api-gateway");
5
- const json_js_1 = require("../../utils/json.js");
6
+ const log_js_1 = require("../../utils/log.js");
6
7
  const typedSync_js_1 = require("../typedSync.js");
7
8
  exports.RestApisSync = (0, typedSync_js_1.createTypedSyncOperation)('apigateway', 'gateways', (0, typedSync_js_1.createResourceSyncType)({
8
9
  client: client_api_gateway_1.APIGatewayClient,
@@ -12,7 +13,7 @@ exports.RestApisSync = (0, typedSync_js_1.createTypedSyncOperation)('apigateway'
12
13
  inputKey: 'position',
13
14
  outputKey: 'position'
14
15
  },
15
- arn: (api, region, account, partition) => restApiArn(api.id, region, account, partition),
16
+ arn: (api, region, account, partition) => restApiArn(api.id, region, partition),
16
17
  tags: (api) => api.tags,
17
18
  resourceTypeParts: (account, region) => ({
18
19
  account,
@@ -25,10 +26,40 @@ exports.RestApisSync = (0, typedSync_js_1.createTypedSyncOperation)('apigateway'
25
26
  id: api.id,
26
27
  name: api.name
27
28
  },
28
- policy: (0, json_js_1.parseIfPresent)(api.policy)
29
+ policy: parseApiGatewayPolicy(api.id, api.policy)
29
30
  })
30
31
  }));
31
- function restApiArn(apiId, region, account, partition) {
32
+ /**
33
+ * Get the ARN for an API Gateway REST API.
34
+ *
35
+ * @param apiId the ID of the API Gateway REST API
36
+ * @param region the AWS region of the API Gateway
37
+ * @param partition the AWS partition (aws, aws-cn, aws-us-gov)
38
+ * @returns the ARN of the API Gateway REST API
39
+ */
40
+ function restApiArn(apiId, region, partition) {
32
41
  return `arn:${partition}:apigateway:${region}::/restapis/${apiId}`;
33
42
  }
43
+ /**
44
+ * Parse the API Gateway policy string into a JSON object.
45
+ * For some reason API Gateway policies can have \\\ at the start of every string
46
+ * and any forward slash is escaped with a double backslash (\\/)
47
+ *
48
+ * @param apiId the ID of the API Gateway
49
+ * @param policy the policy string to parse
50
+ * @returns the parsed policy object or undefined if the policy is not provided
51
+ */
52
+ function parseApiGatewayPolicy(apiId, policy) {
53
+ if (!policy) {
54
+ return undefined;
55
+ }
56
+ policy = policy.replace(/\\"/g, '"').replace(/\\\//g, '/');
57
+ try {
58
+ return JSON.parse(policy);
59
+ }
60
+ catch (error) {
61
+ log_js_1.log.error('Failed to parse API Gateway policy', { apiId }, error);
62
+ throw new Error(`Unable to parse policy for API Gateway ${apiId}`);
63
+ }
64
+ }
34
65
  //# sourceMappingURL=gateways.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateways.js","sourceRoot":"","sources":["../../../../src/syncs/apigateway/gateways.ts"],"names":[],"mappings":";;;AAAA,oEAAkF;AAClF,iDAAoD;AAEpD,kDAAkF;AAErE,QAAA,YAAY,GAAS,IAAA,uCAAwB,EACxD,YAAY,EACZ,UAAU,EACV,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,qCAAgB;IACxB,OAAO,EAAE,uCAAkB;IAC3B,GAAG,EAAE,OAAO;IACZ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,UAAU;KACtB;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;IACzF,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;IACvB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO;QACP,OAAO,EAAE,YAAY;QACrB,MAAM;QACN,YAAY,EAAE,UAAU;KACzB,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjB,QAAQ,EAAE;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;SACf;QACD,MAAM,EAAE,IAAA,wBAAc,EAAC,GAAG,CAAC,MAAM,CAAC;KACnC,CAAC;CACH,CAAC,CACH,CAAA;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,MAAc,EAAE,OAAe,EAAE,SAAiB;IACnF,OAAO,OAAO,SAAS,eAAe,MAAM,eAAe,KAAK,EAAE,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"gateways.js","sourceRoot":"","sources":["../../../../src/syncs/apigateway/gateways.ts"],"names":[],"mappings":";;;AAuDA,sDAeC;AAtED,oEAAkF;AAClF,+CAAwC;AAExC,kDAAkF;AAErE,QAAA,YAAY,GAAS,IAAA,uCAAwB,EACxD,YAAY,EACZ,UAAU,EACV,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,qCAAgB;IACxB,OAAO,EAAE,uCAAkB;IAC3B,GAAG,EAAE,OAAO;IACZ,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,UAAU;KACtB;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAG,EAAE,MAAM,EAAE,SAAS,CAAC;IAChF,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;IACvB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO;QACP,OAAO,EAAE,YAAY;QACrB,MAAM;QACN,YAAY,EAAE,UAAU;KACzB,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjB,QAAQ,EAAE;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;SACf;QACD,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAG,EAAE,GAAG,CAAC,MAAM,CAAC;KACnD,CAAC;CACH,CAAC,CACH,CAAA;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,KAAa,EAAE,MAAc,EAAE,SAAiB;IAClE,OAAO,OAAO,SAAS,eAAe,MAAM,eAAe,KAAK,EAAE,CAAA;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,KAAa,EACb,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;QACjE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAA;IACpE,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { GroupDetail, IAMClient, ManagedPolicyDetail, RoleDetail, Tag, User, UserDetail } from '@aws-sdk/client-iam';
2
+ import { ConcurrentWorkerPool } from '@cloud-copilot/job';
2
3
  import { Sync } from '../sync.js';
3
4
  export declare const AuthorizationDetailsSync: Sync;
4
5
  /**
@@ -19,7 +20,7 @@ interface ManagedPolicyDetailWithExtraData extends ManagedPolicyDetail {
19
20
  * @param credentials The credentials to use for the API call
20
21
  * @returns Returns the results of the Authorization Details call for this account
21
22
  */
22
- export declare function getAuthorizationDetails(client: IAMClient): Promise<{
23
+ export declare function getAuthorizationDetails(client: IAMClient, concurrentWorkerPool: ConcurrentWorkerPool<any, any>, customConfig?: Record<string, any>): Promise<{
23
24
  groups: GroupDetail[];
24
25
  roles: RoleDetail[];
25
26
  policies: ManagedPolicyDetailWithExtraData[];
@@ -1 +1 @@
1
- {"version":3,"file":"authorizationDetails.d.ts","sourceRoot":"","sources":["../../../../src/syncs/iam/authorizationDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,SAAS,EAGT,mBAAmB,EACnB,UAAU,EACV,GAAG,EACH,IAAI,EACJ,UAAU,EACX,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EAAE,IAAI,EAAyB,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,wBAAwB,EAAE,IAkJtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAepE;AAED,UAAU,gCAAiC,SAAQ,mBAAmB;IACpE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IACxE,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,QAAQ,EAAE,gCAAgC,EAAE,CAAA;IAC5C,kBAAkB,EAAE,mBAAmB,EAAE,CAAA;IACzC,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB,CAAC,CA8CD"}
1
+ {"version":3,"file":"authorizationDetails.d.ts","sourceRoot":"","sources":["../../../../src/syncs/iam/authorizationDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,SAAS,EAGT,mBAAmB,EACnB,UAAU,EACV,GAAG,EACH,IAAI,EACJ,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAO,MAAM,oBAAoB,CAAA;AAO9D,OAAO,EAAE,IAAI,EAAyB,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,wBAAwB,EAAE,IAsJtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAepE;AAED,UAAU,gCAAiC,SAAQ,mBAAmB;IACpE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EACpD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,QAAQ,EAAE,gCAAgC,EAAE,CAAA;IAC5C,kBAAkB,EAAE,mBAAmB,EAAE,CAAA;IACzC,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB,CAAC,CAiDD"}
@@ -5,7 +5,6 @@ exports.getAllUsers = getAllUsers;
5
5
  exports.getAuthorizationDetails = getAuthorizationDetails;
6
6
  const client_iam_1 = require("@aws-sdk/client-iam");
7
7
  const ClientPool_js_1 = require("../../aws/ClientPool.js");
8
- const jobQueue_js_1 = require("../../jobs/jobQueue.js");
9
8
  const client_tools_js_1 = require("../../utils/client-tools.js");
10
9
  const log_js_1 = require("../../utils/log.js");
11
10
  const tags_js_1 = require("../../utils/tags.js");
@@ -16,7 +15,7 @@ exports.AuthorizationDetailsSync = {
16
15
  global: true,
17
16
  execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
18
17
  const client = ClientPool_js_1.AwsClientPool.defaultInstance.client(client_iam_1.IAMClient, credentials, region, endpoint);
19
- const authDetails = await getAuthorizationDetails(client);
18
+ const authDetails = await getAuthorizationDetails(client, syncOptions.workerPool, syncOptions.customConfig);
20
19
  const roles = authDetails.roles || [];
21
20
  const roleData = roles.map((role) => {
22
21
  return {
@@ -163,7 +162,7 @@ async function getAllUsers(client) {
163
162
  * @param credentials The credentials to use for the API call
164
163
  * @returns Returns the results of the Authorization Details call for this account
165
164
  */
166
- async function getAuthorizationDetails(client) {
165
+ async function getAuthorizationDetails(client, concurrentWorkerPool, customConfig) {
167
166
  let isTruncated = false;
168
167
  let getDetailsCommand;
169
168
  let response;
@@ -190,12 +189,15 @@ async function getAuthorizationDetails(client) {
190
189
  else {
191
190
  policyDetails.push(policyDetail);
192
191
  }
193
- // policyDetails.push(...(response.Policies?.map(parsePolicyDocs) || []))
194
192
  }
195
193
  isTruncated = !!response.IsTruncated;
196
194
  marker = response.Marker;
197
195
  } while (isTruncated);
198
- const policiesWithTags = await getTagsForManagedPolicies(client, policyDetails);
196
+ let policiesWithTags = policyDetails;
197
+ if (customConfig?.includePolicyTags) {
198
+ log_js_1.log.info('Including policy tags in authorization details sync');
199
+ policiesWithTags = await getTagsForManagedPolicies(client, policyDetails, concurrentWorkerPool);
200
+ }
199
201
  return {
200
202
  groups: groupDetails,
201
203
  roles: roleDetails,
@@ -211,7 +213,7 @@ async function getAuthorizationDetails(client) {
211
213
  * @param policies the policies to get the tags for
212
214
  * @returns the policies with the tags added
213
215
  */
214
- async function getTagsForManagedPolicies(client, policies) {
216
+ async function getTagsForManagedPolicies(client, policies, concurrentWorkerPool) {
215
217
  const policiesWithTags = [];
216
218
  const execute = async (context) => {
217
219
  const { policy } = context.properties;
@@ -231,7 +233,7 @@ async function getTagsForManagedPolicies(client, policies) {
231
233
  },
232
234
  execute
233
235
  }));
234
- const jobResults = await (0, jobQueue_js_1.runJobs)(jobs, 5);
236
+ const jobResults = await Promise.all(concurrentWorkerPool.enqueueAll(jobs));
235
237
  for (const jobResult of jobResults) {
236
238
  if (jobResult.status === 'fulfilled') {
237
239
  policiesWithTags.push(jobResult.value);