@cloud-copilot/iam-collect 0.1.131 → 0.1.133

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 (350) hide show
  1. package/README.md +16 -8
  2. package/dist/cjs/aws/ClientPool.d.ts +21 -3
  3. package/dist/cjs/aws/ClientPool.d.ts.map +1 -1
  4. package/dist/cjs/aws/ClientPool.js +22 -0
  5. package/dist/cjs/aws/ClientPool.js.map +1 -1
  6. package/dist/cjs/awsConfigClients/AwsConfigClientContext.d.ts +15 -0
  7. package/dist/cjs/awsConfigClients/AwsConfigClientContext.d.ts.map +1 -0
  8. package/dist/cjs/awsConfigClients/AwsConfigClientContext.js +6 -0
  9. package/dist/cjs/awsConfigClients/AwsConfigClientContext.js.map +1 -0
  10. package/dist/cjs/awsConfigClients/AwsConfigClientPool.d.ts +40 -0
  11. package/dist/cjs/awsConfigClients/AwsConfigClientPool.d.ts.map +1 -0
  12. package/dist/cjs/awsConfigClients/AwsConfigClientPool.js +132 -0
  13. package/dist/cjs/awsConfigClients/AwsConfigClientPool.js.map +1 -0
  14. package/dist/cjs/awsConfigClients/awsConfigUtils.d.ts +30 -0
  15. package/dist/cjs/awsConfigClients/awsConfigUtils.d.ts.map +1 -0
  16. package/dist/cjs/awsConfigClients/awsConfigUtils.js +64 -0
  17. package/dist/cjs/awsConfigClients/awsConfigUtils.js.map +1 -0
  18. package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.d.ts +18 -0
  19. package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.d.ts.map +1 -0
  20. package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.js +60 -0
  21. package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.js.map +1 -0
  22. package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts +21 -0
  23. package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts.map +1 -0
  24. package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.js +37 -0
  25. package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.js.map +1 -0
  26. package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.d.ts +18 -0
  27. package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.d.ts.map +1 -0
  28. package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.js +98 -0
  29. package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.js.map +1 -0
  30. package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts +21 -0
  31. package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts.map +1 -0
  32. package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.js +60 -0
  33. package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.js.map +1 -0
  34. package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.d.ts +18 -0
  35. package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.d.ts.map +1 -0
  36. package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.js +61 -0
  37. package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.js.map +1 -0
  38. package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.d.ts +18 -0
  39. package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.d.ts.map +1 -0
  40. package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.js +122 -0
  41. package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.js.map +1 -0
  42. package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.d.ts +18 -0
  43. package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.d.ts.map +1 -0
  44. package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.js +89 -0
  45. package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.js.map +1 -0
  46. package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts +19 -0
  47. package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts.map +1 -0
  48. package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.js +107 -0
  49. package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.js.map +1 -0
  50. package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.d.ts +21 -0
  51. package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.d.ts.map +1 -0
  52. package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.js +44 -0
  53. package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.js.map +1 -0
  54. package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.d.ts +18 -0
  55. package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.d.ts.map +1 -0
  56. package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.js +439 -0
  57. package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.js.map +1 -0
  58. package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.d.ts +18 -0
  59. package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.d.ts.map +1 -0
  60. package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.js +145 -0
  61. package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.js.map +1 -0
  62. package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.d.ts +22 -0
  63. package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.d.ts.map +1 -0
  64. package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.js +87 -0
  65. package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.js.map +1 -0
  66. package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.d.ts +18 -0
  67. package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.d.ts.map +1 -0
  68. package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.js +105 -0
  69. package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.js.map +1 -0
  70. package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.d.ts +22 -0
  71. package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.d.ts.map +1 -0
  72. package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.js +158 -0
  73. package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.js.map +1 -0
  74. package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts +18 -0
  75. package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts.map +1 -0
  76. package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.js +125 -0
  77. package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.js.map +1 -0
  78. package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts +22 -0
  79. package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts.map +1 -0
  80. package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.js +174 -0
  81. package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.js.map +1 -0
  82. package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.d.ts +15 -0
  83. package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.d.ts.map +1 -0
  84. package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.js +239 -0
  85. package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.js.map +1 -0
  86. package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts +25 -0
  87. package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts.map +1 -0
  88. package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.js +293 -0
  89. package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.js.map +1 -0
  90. package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.d.ts +18 -0
  91. package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.d.ts.map +1 -0
  92. package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.js +114 -0
  93. package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.js.map +1 -0
  94. package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.d.ts +18 -0
  95. package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.d.ts.map +1 -0
  96. package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.js +105 -0
  97. package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.js.map +1 -0
  98. package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts +21 -0
  99. package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts.map +1 -0
  100. package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.js +50 -0
  101. package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.js.map +1 -0
  102. package/dist/cjs/config/config.d.ts +18 -0
  103. package/dist/cjs/config/config.d.ts.map +1 -1
  104. package/dist/cjs/config/config.js +16 -0
  105. package/dist/cjs/config/config.js.map +1 -1
  106. package/dist/cjs/config/dataSource.d.ts +11 -0
  107. package/dist/cjs/config/dataSource.d.ts.map +1 -0
  108. package/dist/cjs/config/dataSource.js +27 -0
  109. package/dist/cjs/config/dataSource.js.map +1 -0
  110. package/dist/cjs/customClients/AbstractClient.d.ts +45 -0
  111. package/dist/cjs/customClients/AbstractClient.d.ts.map +1 -0
  112. package/dist/cjs/customClients/AbstractClient.js +75 -0
  113. package/dist/cjs/customClients/AbstractClient.js.map +1 -0
  114. package/dist/cjs/customClients/AbstractClientPool.d.ts +53 -0
  115. package/dist/cjs/customClients/AbstractClientPool.d.ts.map +1 -0
  116. package/dist/cjs/customClients/AbstractClientPool.js +66 -0
  117. package/dist/cjs/customClients/AbstractClientPool.js.map +1 -0
  118. package/dist/cjs/customClients/AbstractCommand.d.ts +56 -0
  119. package/dist/cjs/customClients/AbstractCommand.d.ts.map +1 -0
  120. package/dist/cjs/customClients/AbstractCommand.js +19 -0
  121. package/dist/cjs/customClients/AbstractCommand.js.map +1 -0
  122. package/dist/cjs/customClients/ResourceNotFoundException.d.ts +23 -0
  123. package/dist/cjs/customClients/ResourceNotFoundException.d.ts.map +1 -0
  124. package/dist/cjs/customClients/ResourceNotFoundException.js +37 -0
  125. package/dist/cjs/customClients/ResourceNotFoundException.js.map +1 -0
  126. package/dist/cjs/download/download.d.ts.map +1 -1
  127. package/dist/cjs/download/download.js +65 -28
  128. package/dist/cjs/download/download.js.map +1 -1
  129. package/dist/cjs/regions.d.ts +2 -1
  130. package/dist/cjs/regions.d.ts.map +1 -1
  131. package/dist/cjs/regions.js +2 -2
  132. package/dist/cjs/regions.js.map +1 -1
  133. package/dist/cjs/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -1
  134. package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js +2 -3
  135. package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js.map +1 -1
  136. package/dist/cjs/syncs/ecr/ecrSyncs.d.ts.map +1 -1
  137. package/dist/cjs/syncs/ecr/ecrSyncs.js +1 -2
  138. package/dist/cjs/syncs/ecr/ecrSyncs.js.map +1 -1
  139. package/dist/cjs/syncs/glue/catalogs.d.ts.map +1 -1
  140. package/dist/cjs/syncs/glue/catalogs.js +1 -2
  141. package/dist/cjs/syncs/glue/catalogs.js.map +1 -1
  142. package/dist/cjs/syncs/iam/authorizationDetails.d.ts.map +1 -1
  143. package/dist/cjs/syncs/iam/authorizationDetails.js +1 -2
  144. package/dist/cjs/syncs/iam/authorizationDetails.js.map +1 -1
  145. package/dist/cjs/syncs/lambda/lambda.d.ts.map +1 -1
  146. package/dist/cjs/syncs/lambda/lambda.js +1 -2
  147. package/dist/cjs/syncs/lambda/lambda.js.map +1 -1
  148. package/dist/cjs/syncs/organizations/organizations.d.ts.map +1 -1
  149. package/dist/cjs/syncs/organizations/organizations.js +1 -2
  150. package/dist/cjs/syncs/organizations/organizations.js.map +1 -1
  151. package/dist/cjs/syncs/ram/ramShares.d.ts.map +1 -1
  152. package/dist/cjs/syncs/ram/ramShares.js +1 -2
  153. package/dist/cjs/syncs/ram/ramShares.js.map +1 -1
  154. package/dist/cjs/syncs/s3/accountBpa.d.ts.map +1 -1
  155. package/dist/cjs/syncs/s3/accountBpa.js +2 -3
  156. package/dist/cjs/syncs/s3/accountBpa.js.map +1 -1
  157. package/dist/cjs/syncs/s3/buckets.js +3 -6
  158. package/dist/cjs/syncs/s3/buckets.js.map +1 -1
  159. package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -1
  160. package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js +2 -3
  161. package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -1
  162. package/dist/cjs/syncs/sso/ssoInstances.d.ts.map +1 -1
  163. package/dist/cjs/syncs/sso/ssoInstances.js +1 -2
  164. package/dist/cjs/syncs/sso/ssoInstances.js.map +1 -1
  165. package/dist/cjs/syncs/sync.d.ts +2 -0
  166. package/dist/cjs/syncs/sync.d.ts.map +1 -1
  167. package/dist/cjs/syncs/sync.js.map +1 -1
  168. package/dist/cjs/syncs/typedSync.d.ts +3 -2
  169. package/dist/cjs/syncs/typedSync.d.ts.map +1 -1
  170. package/dist/cjs/syncs/typedSync.js +4 -4
  171. package/dist/cjs/syncs/typedSync.js.map +1 -1
  172. package/dist/cjs/utils/json.d.ts +7 -0
  173. package/dist/cjs/utils/json.d.ts.map +1 -1
  174. package/dist/cjs/utils/json.js +17 -1
  175. package/dist/cjs/utils/json.js.map +1 -1
  176. package/dist/esm/aws/ClientPool.d.ts +21 -3
  177. package/dist/esm/aws/ClientPool.d.ts.map +1 -1
  178. package/dist/esm/aws/ClientPool.js +22 -0
  179. package/dist/esm/aws/ClientPool.js.map +1 -1
  180. package/dist/esm/awsConfigClients/AwsConfigClientContext.d.ts +15 -0
  181. package/dist/esm/awsConfigClients/AwsConfigClientContext.d.ts.map +1 -0
  182. package/dist/esm/awsConfigClients/AwsConfigClientContext.js +3 -0
  183. package/dist/esm/awsConfigClients/AwsConfigClientContext.js.map +1 -0
  184. package/dist/esm/awsConfigClients/AwsConfigClientPool.d.ts +40 -0
  185. package/dist/esm/awsConfigClients/AwsConfigClientPool.d.ts.map +1 -0
  186. package/dist/esm/awsConfigClients/AwsConfigClientPool.js +124 -0
  187. package/dist/esm/awsConfigClients/AwsConfigClientPool.js.map +1 -0
  188. package/dist/esm/awsConfigClients/awsConfigUtils.d.ts +30 -0
  189. package/dist/esm/awsConfigClients/awsConfigUtils.d.ts.map +1 -0
  190. package/dist/esm/awsConfigClients/awsConfigUtils.js +59 -0
  191. package/dist/esm/awsConfigClients/awsConfigUtils.js.map +1 -0
  192. package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.d.ts +18 -0
  193. package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.d.ts.map +1 -0
  194. package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.js +56 -0
  195. package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.js.map +1 -0
  196. package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts +21 -0
  197. package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts.map +1 -0
  198. package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.js +33 -0
  199. package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.js.map +1 -0
  200. package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.d.ts +18 -0
  201. package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.d.ts.map +1 -0
  202. package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.js +94 -0
  203. package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.js.map +1 -0
  204. package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts +21 -0
  205. package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts.map +1 -0
  206. package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.js +56 -0
  207. package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.js.map +1 -0
  208. package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.d.ts +18 -0
  209. package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.d.ts.map +1 -0
  210. package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.js +57 -0
  211. package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.js.map +1 -0
  212. package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.d.ts +18 -0
  213. package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.d.ts.map +1 -0
  214. package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.js +118 -0
  215. package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.js.map +1 -0
  216. package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.d.ts +18 -0
  217. package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.d.ts.map +1 -0
  218. package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.js +85 -0
  219. package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.js.map +1 -0
  220. package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts +19 -0
  221. package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts.map +1 -0
  222. package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.js +103 -0
  223. package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.js.map +1 -0
  224. package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.d.ts +21 -0
  225. package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.d.ts.map +1 -0
  226. package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.js +40 -0
  227. package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.js.map +1 -0
  228. package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.d.ts +18 -0
  229. package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.d.ts.map +1 -0
  230. package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.js +435 -0
  231. package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.js.map +1 -0
  232. package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.d.ts +18 -0
  233. package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.d.ts.map +1 -0
  234. package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.js +141 -0
  235. package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.js.map +1 -0
  236. package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.d.ts +22 -0
  237. package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.d.ts.map +1 -0
  238. package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.js +83 -0
  239. package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.js.map +1 -0
  240. package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.d.ts +18 -0
  241. package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.d.ts.map +1 -0
  242. package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.js +101 -0
  243. package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.js.map +1 -0
  244. package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.d.ts +22 -0
  245. package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.d.ts.map +1 -0
  246. package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.js +154 -0
  247. package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.js.map +1 -0
  248. package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts +18 -0
  249. package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts.map +1 -0
  250. package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.js +121 -0
  251. package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.js.map +1 -0
  252. package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts +22 -0
  253. package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts.map +1 -0
  254. package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.js +170 -0
  255. package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.js.map +1 -0
  256. package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.d.ts +15 -0
  257. package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.d.ts.map +1 -0
  258. package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.js +235 -0
  259. package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.js.map +1 -0
  260. package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts +25 -0
  261. package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts.map +1 -0
  262. package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.js +289 -0
  263. package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.js.map +1 -0
  264. package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.d.ts +18 -0
  265. package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.d.ts.map +1 -0
  266. package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.js +110 -0
  267. package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.js.map +1 -0
  268. package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.d.ts +18 -0
  269. package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.d.ts.map +1 -0
  270. package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.js +101 -0
  271. package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.js.map +1 -0
  272. package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts +21 -0
  273. package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts.map +1 -0
  274. package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.js +46 -0
  275. package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.js.map +1 -0
  276. package/dist/esm/config/config.d.ts +18 -0
  277. package/dist/esm/config/config.d.ts.map +1 -1
  278. package/dist/esm/config/config.js +15 -0
  279. package/dist/esm/config/config.js.map +1 -1
  280. package/dist/esm/config/dataSource.d.ts +11 -0
  281. package/dist/esm/config/dataSource.d.ts.map +1 -0
  282. package/dist/esm/config/dataSource.js +24 -0
  283. package/dist/esm/config/dataSource.js.map +1 -0
  284. package/dist/esm/customClients/AbstractClient.d.ts +45 -0
  285. package/dist/esm/customClients/AbstractClient.d.ts.map +1 -0
  286. package/dist/esm/customClients/AbstractClient.js +68 -0
  287. package/dist/esm/customClients/AbstractClient.js.map +1 -0
  288. package/dist/esm/customClients/AbstractClientPool.d.ts +53 -0
  289. package/dist/esm/customClients/AbstractClientPool.d.ts.map +1 -0
  290. package/dist/esm/customClients/AbstractClientPool.js +62 -0
  291. package/dist/esm/customClients/AbstractClientPool.js.map +1 -0
  292. package/dist/esm/customClients/AbstractCommand.d.ts +56 -0
  293. package/dist/esm/customClients/AbstractCommand.d.ts.map +1 -0
  294. package/dist/esm/customClients/AbstractCommand.js +16 -0
  295. package/dist/esm/customClients/AbstractCommand.js.map +1 -0
  296. package/dist/esm/customClients/ResourceNotFoundException.d.ts +23 -0
  297. package/dist/esm/customClients/ResourceNotFoundException.d.ts.map +1 -0
  298. package/dist/esm/customClients/ResourceNotFoundException.js +32 -0
  299. package/dist/esm/customClients/ResourceNotFoundException.js.map +1 -0
  300. package/dist/esm/download/download.d.ts.map +1 -1
  301. package/dist/esm/download/download.js +66 -29
  302. package/dist/esm/download/download.js.map +1 -1
  303. package/dist/esm/regions.d.ts +2 -1
  304. package/dist/esm/regions.d.ts.map +1 -1
  305. package/dist/esm/regions.js +2 -2
  306. package/dist/esm/regions.js.map +1 -1
  307. package/dist/esm/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -1
  308. package/dist/esm/syncs/dynamodb/dynamoDbStreams.js +2 -3
  309. package/dist/esm/syncs/dynamodb/dynamoDbStreams.js.map +1 -1
  310. package/dist/esm/syncs/ecr/ecrSyncs.d.ts.map +1 -1
  311. package/dist/esm/syncs/ecr/ecrSyncs.js +1 -2
  312. package/dist/esm/syncs/ecr/ecrSyncs.js.map +1 -1
  313. package/dist/esm/syncs/glue/catalogs.d.ts.map +1 -1
  314. package/dist/esm/syncs/glue/catalogs.js +1 -2
  315. package/dist/esm/syncs/glue/catalogs.js.map +1 -1
  316. package/dist/esm/syncs/iam/authorizationDetails.d.ts.map +1 -1
  317. package/dist/esm/syncs/iam/authorizationDetails.js +1 -2
  318. package/dist/esm/syncs/iam/authorizationDetails.js.map +1 -1
  319. package/dist/esm/syncs/lambda/lambda.d.ts.map +1 -1
  320. package/dist/esm/syncs/lambda/lambda.js +1 -2
  321. package/dist/esm/syncs/lambda/lambda.js.map +1 -1
  322. package/dist/esm/syncs/organizations/organizations.d.ts.map +1 -1
  323. package/dist/esm/syncs/organizations/organizations.js +1 -2
  324. package/dist/esm/syncs/organizations/organizations.js.map +1 -1
  325. package/dist/esm/syncs/ram/ramShares.d.ts.map +1 -1
  326. package/dist/esm/syncs/ram/ramShares.js +1 -2
  327. package/dist/esm/syncs/ram/ramShares.js.map +1 -1
  328. package/dist/esm/syncs/s3/accountBpa.d.ts.map +1 -1
  329. package/dist/esm/syncs/s3/accountBpa.js +2 -3
  330. package/dist/esm/syncs/s3/accountBpa.js.map +1 -1
  331. package/dist/esm/syncs/s3/buckets.js +3 -6
  332. package/dist/esm/syncs/s3/buckets.js.map +1 -1
  333. package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -1
  334. package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js +2 -3
  335. package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -1
  336. package/dist/esm/syncs/sso/ssoInstances.d.ts.map +1 -1
  337. package/dist/esm/syncs/sso/ssoInstances.js +1 -2
  338. package/dist/esm/syncs/sso/ssoInstances.js.map +1 -1
  339. package/dist/esm/syncs/sync.d.ts +2 -0
  340. package/dist/esm/syncs/sync.d.ts.map +1 -1
  341. package/dist/esm/syncs/sync.js.map +1 -1
  342. package/dist/esm/syncs/typedSync.d.ts +3 -2
  343. package/dist/esm/syncs/typedSync.d.ts.map +1 -1
  344. package/dist/esm/syncs/typedSync.js +4 -4
  345. package/dist/esm/syncs/typedSync.js.map +1 -1
  346. package/dist/esm/utils/json.d.ts +7 -0
  347. package/dist/esm/utils/json.d.ts.map +1 -1
  348. package/dist/esm/utils/json.js +16 -1
  349. package/dist/esm/utils/json.js.map +1 -1
  350. package/package.json +2 -1
package/README.md CHANGED
@@ -9,14 +9,16 @@ Get every possible policy in any set of AWS accounts. This is built to run out o
9
9
  1. [Tenets](#iam-collect-tenets)
10
10
  2. [Introduction](#introduction)
11
11
  3. [Getting Started](#getting-started)
12
- 4. [Configuration](docs/Configuration.md)
13
- 5. [Authentication](docs/Authentication.md)
14
- 6. [Storage](docs/Storage.md)
15
- 7. [Filtering](docs/Filtering.md)
16
- 8. [Indexing](docs/Indexing.md)
17
- 9. [CLI](docs/CLI.md)
18
- 10. [History](docs/History.md)
19
- 11. [Supported Services and Data](#supported-services-and-data)
12
+ 4. [Using Your Data](#using-your-data)
13
+ 5. [Configuration](docs/Configuration.md)
14
+ 6. [Authentication](docs/Authentication.md)
15
+ 7. [Storage](docs/Storage.md)
16
+ 8. [Filtering](docs/Filtering.md)
17
+ 9. [Indexing](docs/Indexing.md)
18
+ 10. [CLI](docs/CLI.md)
19
+ 11. [History](docs/History.md)
20
+ 12. [Supported Services and Data](#supported-services-and-data)
21
+ 13. [Using AWS Config as a Data Source](docs/AwsConfig.md)
20
22
 
21
23
  ## iam-collect Tenets
22
24
 
@@ -125,6 +127,12 @@ Then you can start asking questions like "Using AgentInstructions.md as context.
125
127
 
126
128
  You can also ask your AI to generate scripts to predictably and scalably answer these same questions for you.
127
129
 
130
+ ## Additional Data Sources
131
+
132
+ By default, iam-collect collects data directly from AWS service APIs.
133
+
134
+ If you prefer, you can configure iam-collect to pull data from AWS Config instead. See the [AWS Config data source documentation](docs/AwsConfig.md) for details.
135
+
128
136
  ## Supported Services and Data
129
137
 
130
138
  | Service | Resource Type | Data Downloaded |
@@ -1,7 +1,8 @@
1
1
  import type { Client } from '@smithy/smithy-client';
2
+ import { AwsService } from '../services.js';
2
3
  import { AwsCredentialIdentityWithMetaData } from './coreAuth.js';
3
- type ClientConstructor<T> = new (args: any) => T;
4
- type AnyClient = Client<any, any, any, any>;
4
+ export type ClientConstructor<T> = new (args: any) => T;
5
+ export type AnyClient = Client<any, any, any, any>;
5
6
  export declare class AwsClientPool {
6
7
  static defaultInstance: AwsClientPool;
7
8
  private clientCache;
@@ -24,8 +25,25 @@ export declare class AwsClientPool {
24
25
  * NOT THREAD SAFE, this should only be called when all other operations are complete.
25
26
  */
26
27
  clear(): void;
28
+ /**
29
+ * Do any async initialization required for the client pool. Should be called
30
+ * before the first use of the pool.
31
+ */
32
+ init(): Promise<void>;
33
+ /**
34
+ * Whether this client pool requires valid AWS credentials for each instance.
35
+ */
36
+ requiresAwsCredentials(): boolean;
37
+ /**
38
+ * Determine if a given sync is supported by this client pool for the given service and region.
39
+ *
40
+ * @param service the AWS service
41
+ * @param syncName the name of the sync operation
42
+ * @param region the AWS region
43
+ * @returns true if the sync is supported, false otherwise
44
+ */
45
+ isSyncSupported(service: AwsService, syncName: string, region: string): boolean;
27
46
  private retryStrategyForClient;
28
47
  private makeRetryStrategy;
29
48
  }
30
- export {};
31
49
  //# sourceMappingURL=ClientPool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientPool.d.ts","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AAEjE,KAAK,iBAAiB,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAA;AAChD,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAW3C,qBAAa,aAAa;IACxB,OAAc,eAAe,gBAAsB;IAEnD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,oBAAoB,CAAiB;;IAU7C;;;;;;;;OAQG;IACI,MAAM,CAAC,CAAC,SAAS,SAAS,EAC/B,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAChC,WAAW,EAAE,iCAAiC,EAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,CAAC;IAoBJ,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACI,KAAK,IAAI,IAAI;IASpB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"ClientPool.d.ts","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AAEjE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAA;AACvD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAWlD,qBAAa,aAAa;IACxB,OAAc,eAAe,gBAAsB;IAEnD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,oBAAoB,CAAiB;;IAU7C;;;;;;;;OAQG;IACI,MAAM,CAAC,CAAC,SAAS,SAAS,EAC/B,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAChC,WAAW,EAAE,iCAAiC,EAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,CAAC;IAoBJ,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACI,KAAK,IAAI,IAAI;IASpB;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC;;OAEG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;;;;;;OAOG;IACI,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAItF,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,iBAAiB;CAK1B"}
@@ -66,6 +66,28 @@ class AwsClientPool {
66
66
  });
67
67
  this.clientCache.clear();
68
68
  }
69
+ /**
70
+ * Do any async initialization required for the client pool. Should be called
71
+ * before the first use of the pool.
72
+ */
73
+ async init() { }
74
+ /**
75
+ * Whether this client pool requires valid AWS credentials for each instance.
76
+ */
77
+ requiresAwsCredentials() {
78
+ return true;
79
+ }
80
+ /**
81
+ * Determine if a given sync is supported by this client pool for the given service and region.
82
+ *
83
+ * @param service the AWS service
84
+ * @param syncName the name of the sync operation
85
+ * @param region the AWS region
86
+ * @returns true if the sync is supported, false otherwise
87
+ */
88
+ isSyncSupported(service, syncName, region) {
89
+ return true;
90
+ }
69
91
  retryStrategyForClient(client) {
70
92
  const settings = retrySettings[client.name];
71
93
  if (settings) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClientPool.js","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AAErD,iEAA2D;AAE3D,mDAI2B;AAM3B,MAAM,aAAa,GAA8C;IAC/D,CAAC,4BAAY,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,EAAE,GAAG,EAAE,uCAAuC;QAClD,WAAW,EAAE,GAAG,EAAE,mCAAmC;QACrD,aAAa,EAAE,GAAG,EAAE,kCAAkC;QACtD,MAAM,EAAE,GAAG,CAAC,qCAAqC;KAClD;CACF,CAAA;AAED,MAAa,aAAa;IACjB,MAAM,CAAC,eAAe,GAAG,IAAI,aAAa,EAAE,CAAA;IAE3C,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC1C,oBAAoB,CAAiB;IAC7C;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjD,IAAI,EAAE,GAAG,EAAE,uCAAuC;YAClD,WAAW,EAAE,IAAI,EAAE,mCAAmC;YACtD,aAAa,EAAE,GAAG,EAAE,kCAAkC;YACtD,MAAM,EAAE,GAAG,CAAC,qCAAqC;SAClD,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CACX,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE5E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC5B,WAAW;gBACX,MAAM;gBACN,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,IAAI,mCAAe,CAAC;oBAClC,iBAAiB,EAAE,KAAK;oBACxB,aAAa,EAAE,MAAM;iBACtB,CAAC;gBACF,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;aACvD,CAAC,CAAA;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAA;IAC5C,CAAC;IAEO,WAAW,CACjB,UAAgC,EAChC,WAA8C,EAC9C,MAA0B,EAC1B,QAA4B;QAE5B,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,WAAW,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAA;IACvG,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAEO,sBAAsB,CAAC,MAA8B;QAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAA;IAClC,CAAC;IAEO,iBAAiB,CAAC,kBAA6C;QACrE,OAAO,IAAI,kCAAqB,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE;YAC/C,WAAW,EAAE,IAAI,+BAAkB,CAAC,kBAAkB,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC;;AAnFH,sCAoFC"}
1
+ {"version":3,"file":"ClientPool.js","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ConfigServiceClient } from '@aws-sdk/client-config-service';
2
+ import { AwsCredentialIdentityWithMetaData } from '../aws/coreAuth.js';
3
+ /**
4
+ * Custom client context for AWS Config-based implementations
5
+ */
6
+ export interface AwsConfigClientContext {
7
+ configClient: ConfigServiceClient;
8
+ aggregatorName: string;
9
+ configCredentials: AwsCredentialIdentityWithMetaData;
10
+ }
11
+ export declare const awsConfigCommand: <const Cmd extends import("../syncs/typedSync.js").CommandConstructors>(options: {
12
+ command: Cmd;
13
+ execute: (input: import("../syncs/typedSync.js").ExtractInputType<Cmd>, context: import("../customClients/AbstractCommand.js").CommandContext & AwsConfigClientContext) => Promise<Partial<import("../syncs/typedSync.js").ExtractOutputType<Cmd>> | undefined>;
14
+ }) => import("../customClients/AbstractCommand.js").CustomCommand<Cmd, AwsConfigClientContext>;
15
+ //# sourceMappingURL=AwsConfigClientContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigClientContext.d.ts","sourceRoot":"","sources":["../../../src/awsConfigClients/AwsConfigClientContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAA;AAGtE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,mBAAmB,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,iCAAiC,CAAA;CACrD;AAED,eAAO,MAAM,gBAAgB;;;8FAAiD,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.awsConfigCommand = void 0;
4
+ const AbstractCommand_js_1 = require("../customClients/AbstractCommand.js");
5
+ exports.awsConfigCommand = (0, AbstractCommand_js_1.customCommandFactory)();
6
+ //# sourceMappingURL=AwsConfigClientContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigClientContext.js","sourceRoot":"","sources":["../../../src/awsConfigClients/AwsConfigClientContext.ts"],"names":[],"mappings":";;;AAEA,4EAA0E;AAW7D,QAAA,gBAAgB,GAAG,IAAA,yCAAoB,GAA0B,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { AwsCredentialIdentityWithMetaData } from '../aws/coreAuth.js';
2
+ import { AuthConfig } from '../config/config.js';
3
+ import { ClientConstructor } from '../customClients/AbstractClient.js';
4
+ import { AbstractClientPool } from '../customClients/AbstractClientPool.js';
5
+ import { AwsService } from '../services.js';
6
+ import { AwsConfigClientContext } from './AwsConfigClientContext.js';
7
+ interface AwsConfigClientPoolOptions {
8
+ aggregatorName: string;
9
+ region: string;
10
+ accountId?: string;
11
+ auth?: AuthConfig;
12
+ }
13
+ /**
14
+ * AWS Config-based client pool using the new abstract base classes
15
+ */
16
+ export declare class AwsConfigClientPool extends AbstractClientPool<AwsConfigClientContext> {
17
+ private readonly options;
18
+ private configClient;
19
+ private aggregatorName;
20
+ private configCredentials;
21
+ /**
22
+ * Constructor
23
+ *
24
+ * @param options Options for the Config client pool
25
+ */
26
+ constructor(options: AwsConfigClientPoolOptions);
27
+ init(): Promise<void>;
28
+ requiresAwsCredentials(): boolean;
29
+ /**
30
+ * Register the default supported Config-based clients
31
+ */
32
+ protected registerDefaultClients(): void;
33
+ /**
34
+ * Get custom client context for Config-based implementations
35
+ */
36
+ protected getClientContext(ClientType: ClientConstructor<any>, credentials: AwsCredentialIdentityWithMetaData, region: string | undefined, endpoint: string | undefined): AwsConfigClientContext;
37
+ isSyncSupported(service: AwsService, syncName: string, region: string): boolean;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=AwsConfigClientPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigClientPool.d.ts","sourceRoot":"","sources":["../../../src/awsConfigClients/AwsConfigClientPool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAA4B,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAuBpE,UAAU,0BAA0B;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAgBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC;IAUrE,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,iBAAiB,CAA+C;IAExE;;;;OAIG;gBAC0B,OAAO,EAAE,0BAA0B;IAInD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,sBAAsB,IAAI,OAAO;IAIxC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAwBxC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CACxB,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAClC,WAAW,EAAE,iCAAiC,EAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,sBAAsB;IAQlB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAkBvF"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AwsConfigClientPool = void 0;
4
+ const client_config_service_1 = require("@aws-sdk/client-config-service");
5
+ const auth_js_1 = require("../aws/auth.js");
6
+ const ClientPool_js_1 = require("../aws/ClientPool.js");
7
+ const coreAuth_js_1 = require("../aws/coreAuth.js");
8
+ const AbstractClientPool_js_1 = require("../customClients/AbstractClientPool.js");
9
+ const AwsConfigAccountClient_js_1 = require("./clients/AwsConfigAccountClient.js");
10
+ const AwsConfigApiGatewayClient_js_1 = require("./clients/AwsConfigApiGatewayClient.js");
11
+ const AwsConfigBackupClient_js_1 = require("./clients/AwsConfigBackupClient.js");
12
+ const AwsConfigDynamoDBClient_js_1 = require("./clients/AwsConfigDynamoDBClient.js");
13
+ const AwsConfigEC2Client_js_1 = require("./clients/AwsConfigEC2Client.js");
14
+ const AwsConfigEcrClient_js_1 = require("./clients/AwsConfigEcrClient.js");
15
+ const AwsConfigEfsClient_js_1 = require("./clients/AwsConfigEfsClient.js");
16
+ const AwsConfigEventBridgeClient_js_1 = require("./clients/AwsConfigEventBridgeClient.js");
17
+ const AwsConfigGlueClient_js_1 = require("./clients/AwsConfigGlueClient.js");
18
+ const AwsConfigIamClient_js_1 = require("./clients/AwsConfigIamClient.js");
19
+ const AwsConfigKafkaClient_js_1 = require("./clients/AwsConfigKafkaClient.js");
20
+ const AwsConfigKinesisClient_js_1 = require("./clients/AwsConfigKinesisClient.js");
21
+ const AwsConfigKmsClient_js_1 = require("./clients/AwsConfigKmsClient.js");
22
+ const AwsConfigLambdaClient_js_1 = require("./clients/AwsConfigLambdaClient.js");
23
+ const AwsConfigOpenSearchClient_js_1 = require("./clients/AwsConfigOpenSearchClient.js");
24
+ const AwsConfigOrganizationsClient_js_1 = require("./clients/AwsConfigOrganizationsClient.js");
25
+ const AwsConfigS3Client_js_1 = require("./clients/AwsConfigS3Client.js");
26
+ const AwsConfigS3ControlClient_js_1 = require("./clients/AwsConfigS3ControlClient.js");
27
+ const AwsConfigSecretsManagerClient_js_1 = require("./clients/AwsConfigSecretsManagerClient.js");
28
+ const AwsConfigSNSClient_js_1 = require("./clients/AwsConfigSNSClient.js");
29
+ const AwsConfigSQSClient_js_1 = require("./clients/AwsConfigSQSClient.js");
30
+ const fullySupportedServices = new Set([
31
+ 'backup',
32
+ 'ec2',
33
+ 'ecr',
34
+ 'elasticfilesystem',
35
+ 'es',
36
+ 'events',
37
+ 'iam',
38
+ 'kafka',
39
+ 'kms',
40
+ 'sns',
41
+ 'sqs'
42
+ ]);
43
+ /**
44
+ * AWS Config-based client pool using the new abstract base classes
45
+ */
46
+ class AwsConfigClientPool extends AbstractClientPool_js_1.AbstractClientPool {
47
+ options;
48
+ configClient;
49
+ aggregatorName;
50
+ configCredentials;
51
+ /**
52
+ * Constructor
53
+ *
54
+ * @param options Options for the Config client pool
55
+ */
56
+ constructor(options) {
57
+ super();
58
+ this.options = options;
59
+ }
60
+ async init() {
61
+ this.aggregatorName = this.options.aggregatorName;
62
+ const authConfig = this.options.auth;
63
+ const defaultCredentials = await (0, coreAuth_js_1.getNewInitialCredentials)(authConfig, {
64
+ phase: 'initial AwsConfig credentials'
65
+ });
66
+ let credentials = defaultCredentials;
67
+ if (this.options.accountId || authConfig?.role) {
68
+ const targetAccountId = this.options.accountId || credentials.accountId;
69
+ credentials = await (0, auth_js_1.getCredentials)(targetAccountId, authConfig);
70
+ }
71
+ this.configCredentials = credentials;
72
+ this.configClient = ClientPool_js_1.AwsClientPool.defaultInstance.client(client_config_service_1.ConfigServiceClient, credentials, this.options.region, undefined);
73
+ }
74
+ requiresAwsCredentials() {
75
+ return false;
76
+ }
77
+ /**
78
+ * Register the default supported Config-based clients
79
+ */
80
+ registerDefaultClients() {
81
+ this.registerClient(AwsConfigAccountClient_js_1.AwsConfigAccountClient);
82
+ this.registerClient(AwsConfigApiGatewayClient_js_1.AwsConfigApiGatewayClient);
83
+ this.registerClient(AwsConfigBackupClient_js_1.AwsConfigBackupClient);
84
+ this.registerClient(AwsConfigDynamoDBClient_js_1.AwsConfigDynamoDBClient);
85
+ this.registerClient(AwsConfigEC2Client_js_1.AwsConfigEC2Client);
86
+ this.registerClient(AwsConfigEcrClient_js_1.AwsConfigEcrClient);
87
+ this.registerClient(AwsConfigEfsClient_js_1.AwsConfigEfsClient);
88
+ this.registerClient(AwsConfigEventBridgeClient_js_1.AwsConfigEventBridgeClient);
89
+ this.registerClient(AwsConfigGlueClient_js_1.AwsConfigGlueClient);
90
+ this.registerClient(AwsConfigIamClient_js_1.AwsConfigIamClient);
91
+ this.registerClient(AwsConfigKafkaClient_js_1.AwsConfigKafkaClient);
92
+ this.registerClient(AwsConfigKinesisClient_js_1.AwsConfigKinesisClient);
93
+ this.registerClient(AwsConfigKmsClient_js_1.AwsConfigKmsClient);
94
+ this.registerClient(AwsConfigLambdaClient_js_1.AwsConfigLambdaClient);
95
+ this.registerClient(AwsConfigOpenSearchClient_js_1.AwsConfigOpenSearchClient);
96
+ this.registerClient(AwsConfigOrganizationsClient_js_1.AwsConfigOrganizationsClient);
97
+ this.registerClient(AwsConfigS3Client_js_1.AwsConfigS3Client);
98
+ this.registerClient(AwsConfigS3ControlClient_js_1.AwsConfigS3ControlClient);
99
+ this.registerClient(AwsConfigSecretsManagerClient_js_1.AwsConfigSecretsManagerClient);
100
+ this.registerClient(AwsConfigSNSClient_js_1.AwsConfigSNSClient);
101
+ this.registerClient(AwsConfigSQSClient_js_1.AwsConfigSQSClient);
102
+ }
103
+ /**
104
+ * Get custom client context for Config-based implementations
105
+ */
106
+ getClientContext(ClientType, credentials, region, endpoint) {
107
+ return {
108
+ configClient: this.configClient,
109
+ aggregatorName: this.aggregatorName,
110
+ configCredentials: this.configCredentials
111
+ };
112
+ }
113
+ isSyncSupported(service, syncName, region) {
114
+ const fullySupported = fullySupportedServices.has(service);
115
+ if (fullySupported) {
116
+ return true;
117
+ }
118
+ if (service === 'lambda') {
119
+ return syncName === 'lambdaFunctions';
120
+ }
121
+ if (service === 's3') {
122
+ return ['generalPurposeBuckets', 'accessPoints', 'accountBpa'].includes(syncName);
123
+ }
124
+ if (service === 's3express') {
125
+ return syncName === 'directoryBuckets';
126
+ }
127
+ // By default, nothing is supported
128
+ return false;
129
+ }
130
+ }
131
+ exports.AwsConfigClientPool = AwsConfigClientPool;
132
+ //# sourceMappingURL=AwsConfigClientPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigClientPool.js","sourceRoot":"","sources":["../../../src/awsConfigClients/AwsConfigClientPool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { AwsConfigClientContext } from './AwsConfigClientContext.js';
2
+ /**
3
+ * Common utility functions for AWS Config-based command implementations
4
+ */
5
+ /**
6
+ * Execute AWS Config query and return all paginated results
7
+ *
8
+ * @param query The AWS Config query string
9
+ * @param context The AWS Config client context
10
+ *
11
+ * @returns An array of results
12
+ */
13
+ export declare function executeConfigQuery(query: string, context: AwsConfigClientContext): Promise<string[]>;
14
+ /**
15
+ * Parse a Config result item into structured data
16
+ *
17
+ * @param configItemString The JSON string of the config item
18
+ * @returns An object containing the parsed config item and its components
19
+ */
20
+ export declare function parseConfigItem(configItemString: string): {
21
+ configItem: any;
22
+ configuration: any | undefined;
23
+ supplementaryConfiguration: any | undefined;
24
+ tags: any;
25
+ };
26
+ /**
27
+ * Where clause to filter for resources that are active/discovered
28
+ */
29
+ export declare const resourceStatusWhereClause = "configurationItemStatus IN ('ResourceDiscovered', 'OK')";
30
+ //# sourceMappingURL=awsConfigUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awsConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/awsConfigClients/awsConfigUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE;;GAEG;AAEH;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG;IACzD,UAAU,EAAE,GAAG,CAAA;IACf,aAAa,EAAE,GAAG,GAAG,SAAS,CAAA;IAC9B,0BAA0B,EAAE,GAAG,GAAG,SAAS,CAAA;IAC3C,IAAI,EAAE,GAAG,CAAA;CACV,CAkBA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,4DAA4D,CAAA"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resourceStatusWhereClause = void 0;
4
+ exports.executeConfigQuery = executeConfigQuery;
5
+ exports.parseConfigItem = parseConfigItem;
6
+ const client_config_service_1 = require("@aws-sdk/client-config-service");
7
+ /**
8
+ * Common utility functions for AWS Config-based command implementations
9
+ */
10
+ /**
11
+ * Execute AWS Config query and return all paginated results
12
+ *
13
+ * @param query The AWS Config query string
14
+ * @param context The AWS Config client context
15
+ *
16
+ * @returns An array of results
17
+ */
18
+ async function executeConfigQuery(query, context) {
19
+ const { configClient } = context;
20
+ const allResults = [];
21
+ let nextToken = undefined;
22
+ do {
23
+ const result = await configClient.send(new client_config_service_1.SelectAggregateResourceConfigCommand({
24
+ ConfigurationAggregatorName: context.aggregatorName,
25
+ Expression: query,
26
+ MaxResults: 100,
27
+ NextToken: nextToken
28
+ }));
29
+ // Add current page results to the collection
30
+ if (result.Results) {
31
+ allResults.push(...result.Results);
32
+ }
33
+ // Update nextToken for next iteration
34
+ nextToken = result.NextToken;
35
+ } while (nextToken);
36
+ return allResults;
37
+ }
38
+ /**
39
+ * Parse a Config result item into structured data
40
+ *
41
+ * @param configItemString The JSON string of the config item
42
+ * @returns An object containing the parsed config item and its components
43
+ */
44
+ function parseConfigItem(configItemString) {
45
+ const configItem = JSON.parse(configItemString);
46
+ let configuration = configItem.configuration;
47
+ if (typeof configuration === 'string') {
48
+ configuration = JSON.parse(configuration || '{}');
49
+ }
50
+ let supplementaryConfiguration = configItem.supplementaryConfiguration;
51
+ if (typeof supplementaryConfiguration === 'string') {
52
+ supplementaryConfiguration = JSON.parse(supplementaryConfiguration || '{}');
53
+ }
54
+ let tags = configItem.tags;
55
+ if (typeof tags === 'string') {
56
+ tags = JSON.parse(tags || '{}');
57
+ }
58
+ return { configItem, configuration, supplementaryConfiguration, tags };
59
+ }
60
+ /**
61
+ * Where clause to filter for resources that are active/discovered
62
+ */
63
+ exports.resourceStatusWhereClause = `configurationItemStatus IN ('ResourceDiscovered', 'OK')`;
64
+ //# sourceMappingURL=awsConfigUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awsConfigUtils.js","sourceRoot":"","sources":["../../../src/awsConfigClients/awsConfigUtils.ts"],"names":[],"mappings":";;;AAkBA,gDA4BC;AAQD,0CAuBC;AA7ED,0EAGuC;AAGvC;;GAEG;AAEH;;;;;;;GAOG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,OAA+B;IAE/B,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAChC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,IAAI,SAAS,GAAuB,SAAS,CAAA;IAE7C,GAAG,CAAC;QACF,MAAM,MAAM,GAA+C,MAAM,YAAY,CAAC,IAAI,CAChF,IAAI,4DAAoC,CAAC;YACvC,2BAA2B,EAAE,OAAO,CAAC,cAAc;YACnD,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,SAAS;SACrB,CAAC,CACH,CAAA;QAED,6CAA6C;QAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,sCAAsC;QACtC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC,QAAQ,SAAS,EAAC;IAEnB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,gBAAwB;IAMtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC/C,IAAI,aAAa,GAAG,UAAU,CAAC,aAAa,CAAA;IAC5C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,0BAA0B,GAAG,UAAU,CAAC,0BAA0B,CAAA;IACtE,IAAI,OAAO,0BAA0B,KAAK,QAAQ,EAAE,CAAC;QACnD,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAA;AACxE,CAAC;AAED;;GAEG;AACU,QAAA,yBAAyB,GAAG,yDAAyD,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { AwsCredentialIdentityWithMetaData } from '../../aws/coreAuth.js';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { AwsConfigClientContext } from '../AwsConfigClientContext.js';
4
+ /**
5
+ * Account client implementation using AWS Config as data source
6
+ */
7
+ export declare class AwsConfigAccountClient extends AbstractClient<AwsConfigClientContext> {
8
+ static readonly clientName: string;
9
+ constructor(options: {
10
+ credentials: AwsCredentialIdentityWithMetaData;
11
+ region: string | undefined;
12
+ }, customContext: AwsConfigClientContext);
13
+ /**
14
+ * Register all Account command implementations
15
+ */
16
+ protected registerCommands(): void;
17
+ }
18
+ //# sourceMappingURL=AwsConfigAccountClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigAccountClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigAccountClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,8BAA8B,CAAA;AAGvF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAqB;gBAG7C,OAAO,EAAE;QACP,WAAW,EAAE,iCAAiC,CAAA;QAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EACD,aAAa,EAAE,sBAAsB;IAKvC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;CA8CnC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AwsConfigAccountClient = void 0;
4
+ const client_account_1 = require("@aws-sdk/client-account");
5
+ const AbstractClient_js_1 = require("../../customClients/AbstractClient.js");
6
+ const AwsConfigClientContext_js_1 = require("../AwsConfigClientContext.js");
7
+ const awsConfigUtils_js_1 = require("../awsConfigUtils.js");
8
+ /**
9
+ * Account client implementation using AWS Config as data source
10
+ */
11
+ class AwsConfigAccountClient extends AbstractClient_js_1.AbstractClient {
12
+ static clientName = client_account_1.AccountClient.name;
13
+ constructor(options, customContext) {
14
+ super(options, customContext);
15
+ }
16
+ /**
17
+ * Register all Account command implementations
18
+ */
19
+ registerCommands() {
20
+ this.registerCommand((0, AwsConfigClientContext_js_1.awsConfigCommand)({
21
+ command: client_account_1.ListRegionsCommand,
22
+ execute: async (input, context) => {
23
+ const globalRegion = 'us-east-1';
24
+ const partition = context.partition;
25
+ if (partition !== 'aws') {
26
+ throw new Error(`Unknown global region for partition ${partition}. Please file an issue with the default region for your partition.`);
27
+ }
28
+ const accountId = context.accountId;
29
+ const query = `
30
+ SELECT
31
+ awsRegion
32
+ WHERE
33
+ accountId = '${accountId}'
34
+ AND ${awsConfigUtils_js_1.resourceStatusWhereClause}
35
+ GROUP BY
36
+ awsRegion
37
+ `;
38
+ const results = await (0, awsConfigUtils_js_1.executeConfigQuery)(query, context);
39
+ // Convert the results to the expected format
40
+ const uniqueRegions = new Set();
41
+ results.forEach((resultString) => {
42
+ const result = JSON.parse(resultString);
43
+ if (result.awsRegion === 'global') {
44
+ uniqueRegions.add(globalRegion);
45
+ }
46
+ else if (result.awsRegion) {
47
+ uniqueRegions.add(result.awsRegion);
48
+ }
49
+ });
50
+ return {
51
+ Regions: Array.from(uniqueRegions).map((regionName) => ({
52
+ RegionName: regionName
53
+ }))
54
+ };
55
+ }
56
+ }));
57
+ }
58
+ }
59
+ exports.AwsConfigAccountClient = AwsConfigAccountClient;
60
+ //# sourceMappingURL=AwsConfigAccountClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigAccountClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigAccountClient.ts"],"names":[],"mappings":";;;AAAA,4DAA2E;AAE3E,6EAAsE;AACtE,4EAAuF;AACvF,4DAAoF;AAEpF;;GAEG;AACH,MAAa,sBAAuB,SAAQ,kCAAsC;IAChF,MAAM,CAAU,UAAU,GAAG,8BAAa,CAAC,IAAI,CAAA;IAE/C,YACE,OAGC,EACD,aAAqC;QAErC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC/B,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,IAAI,CAAC,eAAe,CAClB,IAAA,4CAAgB,EAAC;YACf,OAAO,EAAE,mCAAkB;YAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,MAAM,YAAY,GAAG,WAAW,CAAA;gBAChC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;gBACnC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,oEAAoE,CACrH,CAAA;gBACH,CAAC;gBAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;gBACnC,MAAM,KAAK,GAAG;;;;6BAIK,SAAS;oBAClB,6CAAyB;;;WAGlC,CAAA;gBAED,MAAM,OAAO,GAAG,MAAM,IAAA,sCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBAExD,6CAA6C;gBAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;gBACvC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;oBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;oBACvC,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;oBACjC,CAAC;yBAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBAC5B,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;wBACtD,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;iBACJ,CAAA;YACH,CAAC;SACF,CAAC,CACH,CAAA;IACH,CAAC;;AA7DH,wDA8DC"}
@@ -0,0 +1,21 @@
1
+ import { AwsCredentialIdentityWithMetaData } from '../../aws/coreAuth.js';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { AwsConfigClientContext } from '../AwsConfigClientContext.js';
4
+ /**
5
+ * API Gateway client implementation using AWS Config as data source
6
+ *
7
+ * Since policies are not available in AWS Config, this client provides limited functionality
8
+ * and returns empty results for all operations.
9
+ */
10
+ export declare class AwsConfigApiGatewayClient extends AbstractClient<AwsConfigClientContext> {
11
+ static readonly clientName: string;
12
+ constructor(options: {
13
+ credentials: AwsCredentialIdentityWithMetaData;
14
+ region: string | undefined;
15
+ }, customContext: AwsConfigClientContext);
16
+ /**
17
+ * Register all API Gateway command implementations
18
+ */
19
+ protected registerCommands(): void;
20
+ }
21
+ //# sourceMappingURL=AwsConfigApiGatewayClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigApiGatewayClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigApiGatewayClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,8BAA8B,CAAA;AAEvF;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IACnF,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAwB;gBAGhD,OAAO,EAAE;QACP,WAAW,EAAE,iCAAiC,CAAA;QAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EACD,aAAa,EAAE,sBAAsB;IAKvC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;CAGnC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AwsConfigApiGatewayClient = void 0;
4
+ const client_api_gateway_1 = require("@aws-sdk/client-api-gateway");
5
+ const AbstractClient_js_1 = require("../../customClients/AbstractClient.js");
6
+ const AwsConfigClientContext_js_1 = require("../AwsConfigClientContext.js");
7
+ /**
8
+ * API Gateway client implementation using AWS Config as data source
9
+ *
10
+ * Since policies are not available in AWS Config, this client provides limited functionality
11
+ * and returns empty results for all operations.
12
+ */
13
+ class AwsConfigApiGatewayClient extends AbstractClient_js_1.AbstractClient {
14
+ static clientName = client_api_gateway_1.APIGatewayClient.name;
15
+ constructor(options, customContext) {
16
+ super(options, customContext);
17
+ }
18
+ /**
19
+ * Register all API Gateway command implementations
20
+ */
21
+ registerCommands() {
22
+ this.registerCommand(AwsConfigGetRestApisCommand);
23
+ }
24
+ }
25
+ exports.AwsConfigApiGatewayClient = AwsConfigApiGatewayClient;
26
+ /**
27
+ * Config-based implementation of API Gateway GetRestApisCommand
28
+ */
29
+ const AwsConfigGetRestApisCommand = (0, AwsConfigClientContext_js_1.awsConfigCommand)({
30
+ command: client_api_gateway_1.GetRestApisCommand,
31
+ execute: async (input, context) => {
32
+ return {
33
+ items: [] // API Gateway is not fully supported in Config, so return empty result
34
+ };
35
+ }
36
+ });
37
+ //# sourceMappingURL=AwsConfigApiGatewayClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigApiGatewayClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigApiGatewayClient.ts"],"names":[],"mappings":";;;AAAA,oEAAkF;AAElF,6EAAsE;AACtE,4EAAuF;AAEvF;;;;;GAKG;AACH,MAAa,yBAA0B,SAAQ,kCAAsC;IACnF,MAAM,CAAU,UAAU,GAAG,qCAAgB,CAAC,IAAI,CAAA;IAElD,YACE,OAGC,EACD,aAAqC;QAErC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC/B,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAA;IACnD,CAAC;;AAlBH,8DAmBC;AAED;;GAEG;AACH,MAAM,2BAA2B,GAAG,IAAA,4CAAgB,EAAC;IACnD,OAAO,EAAE,uCAAkB;IAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,OAAO;YACL,KAAK,EAAE,EAAE,CAAC,uEAAuE;SAClF,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { AwsCredentialIdentityWithMetaData } from '../../aws/coreAuth.js';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { AwsConfigClientContext } from '../AwsConfigClientContext.js';
4
+ /**
5
+ * AWS Config-based Backup client implementation
6
+ */
7
+ export declare class AwsConfigBackupClient extends AbstractClient<AwsConfigClientContext> {
8
+ static readonly clientName: string;
9
+ constructor(options: {
10
+ credentials: AwsCredentialIdentityWithMetaData;
11
+ region: string | undefined;
12
+ }, customContext: AwsConfigClientContext);
13
+ /**
14
+ * Register all Backup command implementations
15
+ */
16
+ protected registerCommands(): void;
17
+ }
18
+ //# sourceMappingURL=AwsConfigBackupClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigBackupClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigBackupClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,8BAA8B,CAAA;AAOvF;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC/E,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAoB;gBAG5C,OAAO,EAAE;QACP,WAAW,EAAE,iCAAiC,CAAA;QAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EACD,aAAa,EAAE,sBAAsB;IAKvC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;CAKnC"}