@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
@@ -0,0 +1,289 @@
1
+ import { GetAccessPointCommand, GetAccessPointForObjectLambdaCommand, GetAccessPointPolicyCommand, GetAccessPointPolicyForObjectLambdaCommand, GetBucketPolicyCommand, GetBucketTaggingCommand, GetMultiRegionAccessPointPolicyCommand, GetPublicAccessBlockCommand, ListAccessPointsCommand, ListAccessPointsForDirectoryBucketsCommand, ListAccessPointsForObjectLambdaCommand, ListMultiRegionAccessPointsCommand, ListRegionalBucketsCommand, ListTagsForResourceCommand, S3ControlClient } from '@aws-sdk/client-s3-control';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { stringifyIfPresent } from '../../utils/json.js';
4
+ import { awsConfigCommand } from '../AwsConfigClientContext.js';
5
+ import { executeConfigQuery, parseConfigItem, resourceStatusWhereClause } from '../awsConfigUtils.js';
6
+ /**
7
+ * AWS Config client for S3 Control operations.
8
+ *
9
+ * Supported Commands:
10
+ * - ListAccessPointsCommand: Returns access point listing from Config using AWS::S3::AccessPoint
11
+ * - GetAccessPointCommand: Returns access point details from Config including alias, public access block config
12
+ * - GetPublicAccessBlockCommand: Returns account-level public access block configuration from Config
13
+ *
14
+ * Limitations:
15
+ * S3 access point policies, multi-region access point policies, and Object Lambda policies
16
+ * are not available in AWS Config. The Config service tracks access point configuration
17
+ * but not access policies. Most policy-related commands return undefined/empty responses.
18
+ */
19
+ export class AwsConfigS3ControlClient extends AbstractClient {
20
+ constructor(options, customContext) {
21
+ super(options, customContext);
22
+ }
23
+ registerCommands() {
24
+ this.registerCommand(AwsConfigGetAccessPointCommand);
25
+ this.registerCommand(AwsConfigGetAccessPointPolicyCommand);
26
+ this.registerCommand(AwsConfigGetAccessPointForObjectLambdaCommand);
27
+ this.registerCommand(AwsConfigGetAccessPointPolicyForObjectLambdaCommand);
28
+ this.registerCommand(AwsConfigGetBucketPolicyCommand);
29
+ this.registerCommand(AwsConfigGetBucketTaggingCommand);
30
+ this.registerCommand(AwsConfigGetMultiRegionAccessPointPolicyCommand);
31
+ this.registerCommand(AwsConfigGetPublicAccessBlockCommand);
32
+ this.registerCommand(AwsConfigListAccessPointsCommand);
33
+ this.registerCommand(AwsConfigListAccessPointsForDirectoryBucketsCommand);
34
+ this.registerCommand(AwsConfigListAccessPointsForObjectLambdaCommand);
35
+ this.registerCommand(AwsConfigListMultiRegionAccessPointsCommand);
36
+ this.registerCommand(AwsConfigListRegionalBucketsCommand);
37
+ this.registerCommand(AwsConfigListTagsForResourceCommand);
38
+ }
39
+ }
40
+ AwsConfigS3ControlClient.clientName = S3ControlClient.name;
41
+ /**
42
+ * Config-based implementation of S3Control ListAccessPointsCommand
43
+ * Uses AWS::S3::AccessPoint resource type from Config
44
+ */
45
+ const AwsConfigListAccessPointsCommand = awsConfigCommand({
46
+ command: ListAccessPointsCommand,
47
+ execute: async (input, context) => {
48
+ const query = `
49
+ SELECT
50
+ arn,
51
+ resourceId,
52
+ resourceName,
53
+ configuration.Name,
54
+ configuration.Bucket,
55
+ configuration.BucketAccountId,
56
+ configuration.NetworkOrigin,
57
+ configuration.VpcConfiguration.VpcId,
58
+ configuration.Policy,
59
+ configuration.Alias,
60
+ configuration.VpcConfiguration.VpcId,
61
+ configuration.PublicAccessBlockConfiguration.BlockPublicAcls,
62
+ configuration.PublicAccessBlockConfiguration.BlockPublicPolicy,
63
+ configuration.PublicAccessBlockConfiguration.IgnorePublicAcls,
64
+ configuration.PublicAccessBlockConfiguration.RestrictPublicBuckets,
65
+ resourceCreationTime
66
+ WHERE
67
+ resourceType = 'AWS::S3::AccessPoint'
68
+ AND awsRegion = '${context.region}'
69
+ AND accountId = '${context.accountId}'
70
+ AND ${resourceStatusWhereClause}
71
+ `;
72
+ const results = await executeConfigQuery(query, context);
73
+ const accessPoints = results?.map((resultString) => {
74
+ const { configItem, configuration } = parseConfigItem(resultString);
75
+ context.putCache(`ap#${configuration.Name}`, 'policy', configuration?.Policy);
76
+ context.putCache(`ap#${configuration.Name}`, 'details', { configItem, configuration });
77
+ return {
78
+ Name: configuration?.Name || configItem.resourceName, //keep
79
+ NetworkOrigin: configuration?.NetworkOrigin, // Keep
80
+ VpcConfiguration: configuration?.VpcConfiguration?.VpcId // Keep
81
+ ? {
82
+ VpcId: configuration.VpcConfiguration.VpcId
83
+ }
84
+ : undefined,
85
+ Bucket: configuration?.Bucket, // Keep
86
+ BucketAccountId: configuration?.BucketAccountId, // Keep
87
+ AccessPointArn: configItem.arn // Keep
88
+ };
89
+ }) || [];
90
+ return {
91
+ AccessPointList: accessPoints
92
+ };
93
+ }
94
+ });
95
+ /**
96
+ * Config-based implementation of S3Control GetAccessPointCommand
97
+ * Uses AWS::S3::AccessPoint resource type from Config
98
+ */
99
+ const AwsConfigGetAccessPointCommand = awsConfigCommand({
100
+ command: GetAccessPointCommand,
101
+ execute: async (input, context) => {
102
+ const { configItem, configuration } = context.getCache(`ap#${input.Name}`, 'details');
103
+ return {
104
+ Name: configuration?.Name || configItem.resourceName,
105
+ Bucket: configuration?.Bucket,
106
+ NetworkOrigin: configuration?.NetworkOrigin,
107
+ VpcConfiguration: configuration?.VpcConfiguration?.VpcId
108
+ ? {
109
+ VpcId: configuration.VpcConfiguration.VpcId
110
+ }
111
+ : undefined,
112
+ PublicAccessBlockConfiguration: configuration?.PublicAccessBlockConfiguration
113
+ ? {
114
+ BlockPublicAcls: configuration.PublicAccessBlockConfiguration.BlockPublicAcls,
115
+ BlockPublicPolicy: configuration.PublicAccessBlockConfiguration.BlockPublicPolicy,
116
+ IgnorePublicAcls: configuration.PublicAccessBlockConfiguration.IgnorePublicAcls,
117
+ RestrictPublicBuckets: configuration.PublicAccessBlockConfiguration.RestrictPublicBuckets
118
+ }
119
+ : undefined,
120
+ CreationDate: configItem.resourceCreationTime
121
+ ? new Date(configItem.resourceCreationTime)
122
+ : undefined,
123
+ Alias: configuration?.Alias,
124
+ AccessPointArn: configItem.arn,
125
+ BucketAccountId: configuration?.BucketAccountId
126
+ };
127
+ }
128
+ });
129
+ /**
130
+ * Config-based implementation of S3Control GetAccessPointPolicyCommand
131
+ * Returns undefined since access point policies are not available in Config
132
+ */
133
+ const AwsConfigGetAccessPointPolicyCommand = awsConfigCommand({
134
+ command: GetAccessPointPolicyCommand,
135
+ execute: async (input, context) => {
136
+ const { Name, AccountId } = input;
137
+ if (!Name || !AccountId) {
138
+ throw new Error('Name and AccountId are required');
139
+ }
140
+ const policy = context.getCache(`ap#${Name}`, 'policy');
141
+ return {
142
+ Policy: stringifyIfPresent(policy)
143
+ };
144
+ }
145
+ });
146
+ /**
147
+ * Config-based implementation of S3Control GetAccessPointForObjectLambdaCommand
148
+ * Returns minimal Object Lambda access point info since configuration is not available in Config
149
+ */
150
+ const AwsConfigGetAccessPointForObjectLambdaCommand = awsConfigCommand({
151
+ command: GetAccessPointForObjectLambdaCommand,
152
+ execute: async (input, context) => {
153
+ // Return minimal info since Object Lambda config is not tracked in Config
154
+ return { Name: input.Name };
155
+ }
156
+ });
157
+ /**
158
+ * Config-based implementation of S3Control GetAccessPointPolicyForObjectLambdaCommand
159
+ * Returns undefined since Object Lambda access point policies are not available in Config
160
+ */
161
+ const AwsConfigGetAccessPointPolicyForObjectLambdaCommand = awsConfigCommand({
162
+ command: GetAccessPointPolicyForObjectLambdaCommand,
163
+ execute: async (input, context) => {
164
+ // Return undefined since Object Lambda policies are not tracked in Config
165
+ return undefined;
166
+ }
167
+ });
168
+ /**
169
+ * Config-based implementation of S3Control GetBucketPolicyCommand
170
+ * Returns undefined since Outpost bucket policies are not available in Config
171
+ */
172
+ const AwsConfigGetBucketPolicyCommand = awsConfigCommand({
173
+ command: GetBucketPolicyCommand,
174
+ execute: async (input, context) => {
175
+ // Return undefined since Outpost bucket policies are not tracked in Config
176
+ return undefined;
177
+ }
178
+ });
179
+ /**
180
+ * Config-based implementation of S3Control GetBucketTaggingCommand
181
+ * Returns undefined since Outpost bucket tags are not available in Config
182
+ */
183
+ const AwsConfigGetBucketTaggingCommand = awsConfigCommand({
184
+ command: GetBucketTaggingCommand,
185
+ execute: async (input, context) => {
186
+ // Return undefined since Outpost bucket tags are not tracked in Config
187
+ return undefined;
188
+ }
189
+ });
190
+ /**
191
+ * Config-based implementation of S3Control GetMultiRegionAccessPointPolicyCommand
192
+ * Returns undefined since multi-region access point policies are not available in Config
193
+ */
194
+ const AwsConfigGetMultiRegionAccessPointPolicyCommand = awsConfigCommand({
195
+ command: GetMultiRegionAccessPointPolicyCommand,
196
+ execute: async (input, context) => {
197
+ // Return undefined since MRAP policies are not tracked in Config
198
+ return undefined;
199
+ }
200
+ });
201
+ /**
202
+ * Config-based implementation of S3Control GetPublicAccessBlockCommand
203
+ * Uses AWS::S3::AccountPublicAccessBlock resource type from Config
204
+ */
205
+ const AwsConfigGetPublicAccessBlockCommand = awsConfigCommand({
206
+ command: GetPublicAccessBlockCommand,
207
+ execute: async (input, context) => {
208
+ const query = `
209
+ SELECT
210
+ configuration.blockPublicAcls,
211
+ configuration.blockPublicPolicy,
212
+ configuration.ignorePublicAcls,
213
+ configuration.restrictPublicBuckets
214
+ WHERE
215
+ resourceType = 'AWS::S3::AccountPublicAccessBlock'
216
+ AND accountId = '${context.accountId}'
217
+ AND ${resourceStatusWhereClause}
218
+ `;
219
+ const results = await executeConfigQuery(query, context);
220
+ if (results.length === 0) {
221
+ return {};
222
+ }
223
+ const { configuration } = parseConfigItem(results[0]);
224
+ return {
225
+ PublicAccessBlockConfiguration: {
226
+ BlockPublicAcls: configuration?.blockPublicAcls,
227
+ BlockPublicPolicy: configuration?.blockPublicPolicy,
228
+ IgnorePublicAcls: configuration?.ignorePublicAcls,
229
+ RestrictPublicBuckets: configuration?.restrictPublicBuckets
230
+ }
231
+ };
232
+ }
233
+ });
234
+ /**
235
+ * Config-based implementation of S3Control ListAccessPointsForDirectoryBucketsCommand
236
+ * Returns empty array since directory bucket access point listings are not available in Config
237
+ */
238
+ const AwsConfigListAccessPointsForDirectoryBucketsCommand = awsConfigCommand({
239
+ command: ListAccessPointsForDirectoryBucketsCommand,
240
+ execute: async (input, context) => {
241
+ // Return empty array since directory bucket access points are not tracked in Config
242
+ return { AccessPointList: [] };
243
+ }
244
+ });
245
+ /**
246
+ * Config-based implementation of S3Control ListAccessPointsForObjectLambdaCommand
247
+ * Returns empty array since Object Lambda access point listings are not available in Config
248
+ */
249
+ const AwsConfigListAccessPointsForObjectLambdaCommand = awsConfigCommand({
250
+ command: ListAccessPointsForObjectLambdaCommand,
251
+ execute: async (input, context) => {
252
+ // Return empty array since Object Lambda access points are not tracked in Config
253
+ return { ObjectLambdaAccessPointList: [] };
254
+ }
255
+ });
256
+ /**
257
+ * Config-based implementation of S3Control ListMultiRegionAccessPointsCommand
258
+ * Returns empty array since multi-region access point listings are not available in Config
259
+ */
260
+ const AwsConfigListMultiRegionAccessPointsCommand = awsConfigCommand({
261
+ command: ListMultiRegionAccessPointsCommand,
262
+ execute: async (input, context) => {
263
+ // Return empty array since MRAPs are not tracked in Config
264
+ return { AccessPoints: [] };
265
+ }
266
+ });
267
+ /**
268
+ * Config-based implementation of S3Control ListRegionalBucketsCommand
269
+ * Returns empty array since regional bucket listings are not available in Config
270
+ */
271
+ const AwsConfigListRegionalBucketsCommand = awsConfigCommand({
272
+ command: ListRegionalBucketsCommand,
273
+ execute: async (input, context) => {
274
+ // Return empty array since regional buckets are not tracked in Config
275
+ return { RegionalBucketList: [] };
276
+ }
277
+ });
278
+ /**
279
+ * Config-based implementation of S3Control ListTagsForResourceCommand
280
+ * Returns empty array since resource tags are not available in Config for policy analysis
281
+ */
282
+ const AwsConfigListTagsForResourceCommand = awsConfigCommand({
283
+ command: ListTagsForResourceCommand,
284
+ execute: async (input, context) => {
285
+ // Return empty array since resource tags are not tracked in Config
286
+ return { Tags: [] };
287
+ }
288
+ });
289
+ //# sourceMappingURL=AwsConfigS3ControlClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigS3ControlClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigS3ControlClient.ts"],"names":[],"mappings":"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"}
@@ -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 SNS client implementation
6
+ */
7
+ export declare class AwsConfigSNSClient 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 SNS command implementations
15
+ */
16
+ protected registerCommands(): void;
17
+ }
18
+ //# sourceMappingURL=AwsConfigSNSClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSNSClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSNSClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,8BAA8B,CAAA;AAOvF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAiB;gBAGzC,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"}
@@ -0,0 +1,110 @@
1
+ import { GetTopicAttributesCommand, ListTagsForResourceCommand, ListTopicsCommand, SNSClient } from '@aws-sdk/client-sns';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { awsConfigCommand } from '../AwsConfigClientContext.js';
4
+ import { executeConfigQuery, parseConfigItem, resourceStatusWhereClause } from '../awsConfigUtils.js';
5
+ /**
6
+ * AWS Config-based SNS client implementation
7
+ */
8
+ export class AwsConfigSNSClient extends AbstractClient {
9
+ constructor(options, customContext) {
10
+ super(options, customContext);
11
+ }
12
+ /**
13
+ * Register all SNS command implementations
14
+ */
15
+ registerCommands() {
16
+ this.registerCommand(AwsConfigGetTopicAttributesCommand);
17
+ this.registerCommand(AwsConfigListTagsForResourceCommand);
18
+ this.registerCommand(AwsConfigListTopicsCommand);
19
+ }
20
+ }
21
+ AwsConfigSNSClient.clientName = SNSClient.name;
22
+ /**
23
+ * Config-based implementation of SNS GetTopicAttributesCommand
24
+ *
25
+ * Maps SNS::Topic Config data to SNS GetTopicAttributesCommand output format.
26
+ * Returns only the attributes used by the sync: DisplayName, KmsMasterKeyId, Owner, Policy.
27
+ */
28
+ const AwsConfigGetTopicAttributesCommand = awsConfigCommand({
29
+ command: GetTopicAttributesCommand,
30
+ execute: async (input, context) => {
31
+ const topicArn = input.TopicArn;
32
+ const configuration = context.getCache(topicArn, 'configuration');
33
+ // Return only the attributes used by the sync operations
34
+ const attributes = {};
35
+ if (configuration.DisplayName) {
36
+ attributes['DisplayName'] = configuration.DisplayName;
37
+ }
38
+ if (configuration.KmsMasterKeyId) {
39
+ attributes['KmsMasterKeyId'] = configuration.KmsMasterKeyId;
40
+ }
41
+ if (configuration.Owner) {
42
+ attributes['Owner'] = configuration.Owner;
43
+ }
44
+ if (configuration.Policy) {
45
+ attributes['Policy'] = configuration.Policy;
46
+ }
47
+ return {
48
+ Attributes: attributes
49
+ };
50
+ }
51
+ });
52
+ /**
53
+ * Config-based implementation of SNS ListTagsForResourceCommand
54
+ *
55
+ * Maps SNS::Topic Config tag data to SNS ListTagsForResourceCommand output format.
56
+ * Returns topic tags for resource identification and compliance analysis.
57
+ */
58
+ const AwsConfigListTagsForResourceCommand = awsConfigCommand({
59
+ command: ListTagsForResourceCommand,
60
+ execute: async (input, context) => {
61
+ const resourceArn = input.ResourceArn;
62
+ const tags = context.getCache(resourceArn, 'tags');
63
+ return {
64
+ Tags: tags || {}
65
+ };
66
+ }
67
+ });
68
+ /**
69
+ * Config-based implementation of SNS ListTopicsCommand
70
+ *
71
+ * Maps SNS::Topic Config data to SNS ListTopicsCommand output format.
72
+ * Returns topic listing for IAM analysis and resource discovery.
73
+ */
74
+ const AwsConfigListTopicsCommand = awsConfigCommand({
75
+ command: ListTopicsCommand,
76
+ execute: async (input, context) => {
77
+ const query = `
78
+ SELECT
79
+ arn,
80
+ resourceId,
81
+ resourceName,
82
+ configuration.TopicArn,
83
+ configuration.DisplayName,
84
+ configuration.KmsMasterKeyId,
85
+ configuration.Owner,
86
+ configuration.Policy,
87
+ tags
88
+ WHERE
89
+ resourceType = 'AWS::SNS::Topic'
90
+ AND awsRegion = '${context.region}'
91
+ AND accountId = '${context.accountId}'
92
+ AND ${resourceStatusWhereClause}
93
+ `;
94
+ const results = await executeConfigQuery(query, context);
95
+ const topics = results.map((result) => {
96
+ const { configItem, configuration, tags } = parseConfigItem(result);
97
+ // Cache data that will be needed by other commands
98
+ context.putCache(configItem.arn, 'configuration', configuration);
99
+ context.putCache(configItem.arn, 'tags', tags);
100
+ return {
101
+ TopicArn: configItem.arn
102
+ };
103
+ });
104
+ return {
105
+ Topics: topics,
106
+ NextToken: undefined // Config doesn't provide pagination markers
107
+ };
108
+ }
109
+ });
110
+ //# sourceMappingURL=AwsConfigSNSClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSNSClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSNSClient.ts"],"names":[],"mappings":"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"}
@@ -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 SQS client implementation
6
+ */
7
+ export declare class AwsConfigSQSClient 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 SQS command implementations
15
+ */
16
+ protected registerCommands(): void;
17
+ }
18
+ //# sourceMappingURL=AwsConfigSQSClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSQSClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSQSClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,8BAA8B,CAAA;AAOvF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAiB;gBAGzC,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"}
@@ -0,0 +1,101 @@
1
+ import { GetQueueAttributesCommand, ListQueuesCommand, ListQueueTagsCommand, SQSClient } from '@aws-sdk/client-sqs';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { awsConfigCommand } from '../AwsConfigClientContext.js';
4
+ import { executeConfigQuery, parseConfigItem, resourceStatusWhereClause } from '../awsConfigUtils.js';
5
+ /**
6
+ * AWS Config-based SQS client implementation
7
+ */
8
+ export class AwsConfigSQSClient extends AbstractClient {
9
+ constructor(options, customContext) {
10
+ super(options, customContext);
11
+ }
12
+ /**
13
+ * Register all SQS command implementations
14
+ */
15
+ registerCommands() {
16
+ this.registerCommand(AwsConfigGetQueueAttributesCommand);
17
+ this.registerCommand(AwsConfigListQueueTagsCommand);
18
+ this.registerCommand(AwsConfigListQueuesCommand);
19
+ }
20
+ }
21
+ AwsConfigSQSClient.clientName = SQSClient.name;
22
+ /**
23
+ * Config-based implementation of SQS ListQueuesCommand
24
+ *
25
+ * Maps SQS::Queue Config data to SQS ListQueuesCommand output format.
26
+ * Returns queue URL listing for IAM analysis and resource discovery.
27
+ */
28
+ const AwsConfigListQueuesCommand = awsConfigCommand({
29
+ command: ListQueuesCommand,
30
+ execute: async (input, context) => {
31
+ const query = `
32
+ SELECT
33
+ arn,
34
+ resourceId,
35
+ resourceName,
36
+ configuration.QueueUrl,
37
+ configuration.QueueName,
38
+ configuration.KmsMasterKeyId,
39
+ configuration.Policy,
40
+ tags
41
+ WHERE
42
+ resourceType = 'AWS::SQS::Queue'
43
+ AND awsRegion = '${context.region}'
44
+ AND accountId = '${context.accountId}'
45
+ AND ${resourceStatusWhereClause}
46
+ `;
47
+ const results = await executeConfigQuery(query, context);
48
+ const queueUrls = results.map((result) => {
49
+ const { configItem, configuration, tags } = parseConfigItem(result);
50
+ context.putCache(configItem.resourceId, 'configuration', configuration);
51
+ context.putCache(configItem.resourceId, 'tags', tags);
52
+ // Use QueueUrl from config if available, otherwise construct from QueueName
53
+ return configItem.resourceId;
54
+ });
55
+ return {
56
+ QueueUrls: queueUrls,
57
+ NextToken: undefined // Config doesn't provide pagination markers
58
+ };
59
+ }
60
+ });
61
+ /**
62
+ * Config-based implementation of SQS GetQueueAttributesCommand
63
+ *
64
+ * Maps SQS::Queue Config data to SQS GetQueueAttributesCommand output format.
65
+ * Returns only the attributes used by the sync: KmsMasterKeyId, Policy.
66
+ */
67
+ const AwsConfigGetQueueAttributesCommand = awsConfigCommand({
68
+ command: GetQueueAttributesCommand,
69
+ execute: async (input, context) => {
70
+ const queueUrl = input.QueueUrl;
71
+ const configuration = context.getCache(queueUrl, 'configuration');
72
+ // Return only the attributes used by the sync operations
73
+ const attributes = {};
74
+ if (configuration.KmsMasterKeyId) {
75
+ attributes['KmsMasterKeyId'] = configuration.KmsMasterKeyId;
76
+ }
77
+ if (configuration.Policy) {
78
+ attributes['Policy'] = configuration.Policy;
79
+ }
80
+ return {
81
+ Attributes: attributes
82
+ };
83
+ }
84
+ });
85
+ /**
86
+ * Config-based implementation of SQS ListQueueTagsCommand
87
+ *
88
+ * Maps SQS::Queue Config tag data to SQS ListQueueTagsCommand output format.
89
+ * Returns queue tags for resource identification and compliance analysis.
90
+ */
91
+ const AwsConfigListQueueTagsCommand = awsConfigCommand({
92
+ command: ListQueueTagsCommand,
93
+ execute: async (input, context) => {
94
+ const queueUrl = input.QueueUrl;
95
+ const value = context.getCache(queueUrl, 'tags');
96
+ return {
97
+ Tags: value || {}
98
+ };
99
+ }
100
+ });
101
+ //# sourceMappingURL=AwsConfigSQSClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSQSClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSQSClient.ts"],"names":[],"mappings":"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"}
@@ -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
+ * Secrets Manager 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 AwsConfigSecretsManagerClient 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 Secrets Manager command implementations
18
+ */
19
+ protected registerCommands(): void;
20
+ }
21
+ //# sourceMappingURL=AwsConfigSecretsManagerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSecretsManagerClient.d.ts","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSecretsManagerClient.ts"],"names":[],"mappings":"AAKA,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,6BAA8B,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IACvF,MAAM,CAAC,QAAQ,CAAC,UAAU,SAA4B;gBAGpD,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;CAInC"}
@@ -0,0 +1,46 @@
1
+ import { GetResourcePolicyCommand, ListSecretsCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
2
+ import { AbstractClient } from '../../customClients/AbstractClient.js';
3
+ import { awsConfigCommand } from '../AwsConfigClientContext.js';
4
+ /**
5
+ * Secrets Manager 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 class AwsConfigSecretsManagerClient extends AbstractClient {
11
+ constructor(options, customContext) {
12
+ super(options, customContext);
13
+ }
14
+ /**
15
+ * Register all Secrets Manager command implementations
16
+ */
17
+ registerCommands() {
18
+ this.registerCommand(AwsConfigListSecretsCommand);
19
+ this.registerCommand(AwsConfigGetResourcePolicyCommand);
20
+ }
21
+ }
22
+ AwsConfigSecretsManagerClient.clientName = SecretsManagerClient.name;
23
+ /**
24
+ * Config-based implementation of Secrets Manager ListSecretsCommand
25
+ */
26
+ const AwsConfigListSecretsCommand = awsConfigCommand({
27
+ command: ListSecretsCommand,
28
+ execute: async (input, context) => {
29
+ // Policy not available in Config, so return an empty list
30
+ return {
31
+ SecretList: []
32
+ };
33
+ }
34
+ });
35
+ /**
36
+ * Config-based implementation of Secrets Manager GetResourcePolicyCommand
37
+ */
38
+ const AwsConfigGetResourcePolicyCommand = awsConfigCommand({
39
+ command: GetResourcePolicyCommand,
40
+ execute: async (input, context) => {
41
+ const { SecretId } = input;
42
+ // Policy not available in Config, so fetch directly from Secrets Manager
43
+ return {};
44
+ }
45
+ });
46
+ //# sourceMappingURL=AwsConfigSecretsManagerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsConfigSecretsManagerClient.js","sourceRoot":"","sources":["../../../../src/awsConfigClients/clients/AwsConfigSecretsManagerClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAA0B,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,cAAsC;IAGvF,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;QACjD,IAAI,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAA;IACzD,CAAC;;AAlBe,wCAAU,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAqBxD;;GAEG;AACH,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;IACnD,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,0DAA0D;QAE1D,OAAO;YACL,UAAU,EAAE,EAAE;SACf,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,iCAAiC,GAAG,gBAAgB,CAAC;IACzD,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAE1B,yEAAyE;QACzE,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAC,CAAA"}