@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.
- package/README.md +16 -8
- package/dist/cjs/aws/ClientPool.d.ts +21 -3
- package/dist/cjs/aws/ClientPool.d.ts.map +1 -1
- package/dist/cjs/aws/ClientPool.js +22 -0
- package/dist/cjs/aws/ClientPool.js.map +1 -1
- package/dist/cjs/awsConfigClients/AwsConfigClientContext.d.ts +15 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientContext.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientContext.js +6 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientContext.js.map +1 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientPool.d.ts +40 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientPool.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientPool.js +132 -0
- package/dist/cjs/awsConfigClients/AwsConfigClientPool.js.map +1 -0
- package/dist/cjs/awsConfigClients/awsConfigUtils.d.ts +30 -0
- package/dist/cjs/awsConfigClients/awsConfigUtils.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/awsConfigUtils.js +64 -0
- package/dist/cjs/awsConfigClients/awsConfigUtils.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.js +60 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigAccountClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts +21 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.js +37 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigApiGatewayClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.js +98 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigBackupClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts +21 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.js +60 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigDynamoDBClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.js +61 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEC2Client.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.js +122 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEcrClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.js +89 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEfsClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts +19 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.js +107 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigEventBridgeClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.d.ts +21 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.js +44 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigGlueClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.js +439 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigIamClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.js +145 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKafkaClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.d.ts +22 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.js +87 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKinesisClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.js +105 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigKmsClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.d.ts +22 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.js +158 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigLambdaClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.js +125 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOpenSearchClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts +22 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.js +174 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigOrganizationsClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.d.ts +15 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.js +239 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3Client.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts +25 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.js +293 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigS3ControlClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.js +114 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSNSClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.d.ts +18 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.js +105 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSQSClient.js.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts +21 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts.map +1 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.js +50 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.js.map +1 -0
- package/dist/cjs/config/config.d.ts +18 -0
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js +16 -0
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/config/dataSource.d.ts +11 -0
- package/dist/cjs/config/dataSource.d.ts.map +1 -0
- package/dist/cjs/config/dataSource.js +27 -0
- package/dist/cjs/config/dataSource.js.map +1 -0
- package/dist/cjs/customClients/AbstractClient.d.ts +45 -0
- package/dist/cjs/customClients/AbstractClient.d.ts.map +1 -0
- package/dist/cjs/customClients/AbstractClient.js +75 -0
- package/dist/cjs/customClients/AbstractClient.js.map +1 -0
- package/dist/cjs/customClients/AbstractClientPool.d.ts +53 -0
- package/dist/cjs/customClients/AbstractClientPool.d.ts.map +1 -0
- package/dist/cjs/customClients/AbstractClientPool.js +66 -0
- package/dist/cjs/customClients/AbstractClientPool.js.map +1 -0
- package/dist/cjs/customClients/AbstractCommand.d.ts +56 -0
- package/dist/cjs/customClients/AbstractCommand.d.ts.map +1 -0
- package/dist/cjs/customClients/AbstractCommand.js +19 -0
- package/dist/cjs/customClients/AbstractCommand.js.map +1 -0
- package/dist/cjs/customClients/ResourceNotFoundException.d.ts +23 -0
- package/dist/cjs/customClients/ResourceNotFoundException.d.ts.map +1 -0
- package/dist/cjs/customClients/ResourceNotFoundException.js +37 -0
- package/dist/cjs/customClients/ResourceNotFoundException.js.map +1 -0
- package/dist/cjs/download/download.d.ts.map +1 -1
- package/dist/cjs/download/download.js +65 -28
- package/dist/cjs/download/download.js.map +1 -1
- package/dist/cjs/regions.d.ts +2 -1
- package/dist/cjs/regions.d.ts.map +1 -1
- package/dist/cjs/regions.js +2 -2
- package/dist/cjs/regions.js.map +1 -1
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -1
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js +2 -3
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js.map +1 -1
- package/dist/cjs/syncs/ecr/ecrSyncs.d.ts.map +1 -1
- package/dist/cjs/syncs/ecr/ecrSyncs.js +1 -2
- package/dist/cjs/syncs/ecr/ecrSyncs.js.map +1 -1
- package/dist/cjs/syncs/glue/catalogs.d.ts.map +1 -1
- package/dist/cjs/syncs/glue/catalogs.js +1 -2
- package/dist/cjs/syncs/glue/catalogs.js.map +1 -1
- package/dist/cjs/syncs/iam/authorizationDetails.d.ts.map +1 -1
- package/dist/cjs/syncs/iam/authorizationDetails.js +1 -2
- package/dist/cjs/syncs/iam/authorizationDetails.js.map +1 -1
- package/dist/cjs/syncs/lambda/lambda.d.ts.map +1 -1
- package/dist/cjs/syncs/lambda/lambda.js +1 -2
- package/dist/cjs/syncs/lambda/lambda.js.map +1 -1
- package/dist/cjs/syncs/organizations/organizations.d.ts.map +1 -1
- package/dist/cjs/syncs/organizations/organizations.js +1 -2
- package/dist/cjs/syncs/organizations/organizations.js.map +1 -1
- package/dist/cjs/syncs/ram/ramShares.d.ts.map +1 -1
- package/dist/cjs/syncs/ram/ramShares.js +1 -2
- package/dist/cjs/syncs/ram/ramShares.js.map +1 -1
- package/dist/cjs/syncs/s3/accountBpa.d.ts.map +1 -1
- package/dist/cjs/syncs/s3/accountBpa.js +2 -3
- package/dist/cjs/syncs/s3/accountBpa.js.map +1 -1
- package/dist/cjs/syncs/s3/buckets.js +3 -6
- package/dist/cjs/syncs/s3/buckets.js.map +1 -1
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -1
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js +2 -3
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -1
- package/dist/cjs/syncs/sso/ssoInstances.d.ts.map +1 -1
- package/dist/cjs/syncs/sso/ssoInstances.js +1 -2
- package/dist/cjs/syncs/sso/ssoInstances.js.map +1 -1
- package/dist/cjs/syncs/sync.d.ts +2 -0
- package/dist/cjs/syncs/sync.d.ts.map +1 -1
- package/dist/cjs/syncs/sync.js.map +1 -1
- package/dist/cjs/syncs/typedSync.d.ts +3 -2
- package/dist/cjs/syncs/typedSync.d.ts.map +1 -1
- package/dist/cjs/syncs/typedSync.js +4 -4
- package/dist/cjs/syncs/typedSync.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +7 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +17 -1
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/esm/aws/ClientPool.d.ts +21 -3
- package/dist/esm/aws/ClientPool.d.ts.map +1 -1
- package/dist/esm/aws/ClientPool.js +22 -0
- package/dist/esm/aws/ClientPool.js.map +1 -1
- package/dist/esm/awsConfigClients/AwsConfigClientContext.d.ts +15 -0
- package/dist/esm/awsConfigClients/AwsConfigClientContext.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/AwsConfigClientContext.js +3 -0
- package/dist/esm/awsConfigClients/AwsConfigClientContext.js.map +1 -0
- package/dist/esm/awsConfigClients/AwsConfigClientPool.d.ts +40 -0
- package/dist/esm/awsConfigClients/AwsConfigClientPool.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/AwsConfigClientPool.js +124 -0
- package/dist/esm/awsConfigClients/AwsConfigClientPool.js.map +1 -0
- package/dist/esm/awsConfigClients/awsConfigUtils.d.ts +30 -0
- package/dist/esm/awsConfigClients/awsConfigUtils.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/awsConfigUtils.js +59 -0
- package/dist/esm/awsConfigClients/awsConfigUtils.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.js +56 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigAccountClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts +21 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.js +33 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigApiGatewayClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.js +94 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigBackupClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts +21 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.js +56 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigDynamoDBClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.js +57 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEC2Client.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.js +118 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEcrClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.js +85 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEfsClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts +19 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.js +103 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigEventBridgeClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.d.ts +21 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.js +40 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigGlueClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.js +435 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigIamClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.js +141 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKafkaClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.d.ts +22 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.js +83 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKinesisClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.js +101 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigKmsClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.d.ts +22 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.js +154 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigLambdaClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.js +121 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOpenSearchClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts +22 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.js +170 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigOrganizationsClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.d.ts +15 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.js +235 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3Client.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts +25 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.js +289 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigS3ControlClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.js +110 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSNSClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.d.ts +18 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.js +101 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSQSClient.js.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts +21 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.d.ts.map +1 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.js +46 -0
- package/dist/esm/awsConfigClients/clients/AwsConfigSecretsManagerClient.js.map +1 -0
- package/dist/esm/config/config.d.ts +18 -0
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js +15 -0
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/config/dataSource.d.ts +11 -0
- package/dist/esm/config/dataSource.d.ts.map +1 -0
- package/dist/esm/config/dataSource.js +24 -0
- package/dist/esm/config/dataSource.js.map +1 -0
- package/dist/esm/customClients/AbstractClient.d.ts +45 -0
- package/dist/esm/customClients/AbstractClient.d.ts.map +1 -0
- package/dist/esm/customClients/AbstractClient.js +68 -0
- package/dist/esm/customClients/AbstractClient.js.map +1 -0
- package/dist/esm/customClients/AbstractClientPool.d.ts +53 -0
- package/dist/esm/customClients/AbstractClientPool.d.ts.map +1 -0
- package/dist/esm/customClients/AbstractClientPool.js +62 -0
- package/dist/esm/customClients/AbstractClientPool.js.map +1 -0
- package/dist/esm/customClients/AbstractCommand.d.ts +56 -0
- package/dist/esm/customClients/AbstractCommand.d.ts.map +1 -0
- package/dist/esm/customClients/AbstractCommand.js +16 -0
- package/dist/esm/customClients/AbstractCommand.js.map +1 -0
- package/dist/esm/customClients/ResourceNotFoundException.d.ts +23 -0
- package/dist/esm/customClients/ResourceNotFoundException.d.ts.map +1 -0
- package/dist/esm/customClients/ResourceNotFoundException.js +32 -0
- package/dist/esm/customClients/ResourceNotFoundException.js.map +1 -0
- package/dist/esm/download/download.d.ts.map +1 -1
- package/dist/esm/download/download.js +66 -29
- package/dist/esm/download/download.js.map +1 -1
- package/dist/esm/regions.d.ts +2 -1
- package/dist/esm/regions.d.ts.map +1 -1
- package/dist/esm/regions.js +2 -2
- package/dist/esm/regions.js.map +1 -1
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -1
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.js +2 -3
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.js.map +1 -1
- package/dist/esm/syncs/ecr/ecrSyncs.d.ts.map +1 -1
- package/dist/esm/syncs/ecr/ecrSyncs.js +1 -2
- package/dist/esm/syncs/ecr/ecrSyncs.js.map +1 -1
- package/dist/esm/syncs/glue/catalogs.d.ts.map +1 -1
- package/dist/esm/syncs/glue/catalogs.js +1 -2
- package/dist/esm/syncs/glue/catalogs.js.map +1 -1
- package/dist/esm/syncs/iam/authorizationDetails.d.ts.map +1 -1
- package/dist/esm/syncs/iam/authorizationDetails.js +1 -2
- package/dist/esm/syncs/iam/authorizationDetails.js.map +1 -1
- package/dist/esm/syncs/lambda/lambda.d.ts.map +1 -1
- package/dist/esm/syncs/lambda/lambda.js +1 -2
- package/dist/esm/syncs/lambda/lambda.js.map +1 -1
- package/dist/esm/syncs/organizations/organizations.d.ts.map +1 -1
- package/dist/esm/syncs/organizations/organizations.js +1 -2
- package/dist/esm/syncs/organizations/organizations.js.map +1 -1
- package/dist/esm/syncs/ram/ramShares.d.ts.map +1 -1
- package/dist/esm/syncs/ram/ramShares.js +1 -2
- package/dist/esm/syncs/ram/ramShares.js.map +1 -1
- package/dist/esm/syncs/s3/accountBpa.d.ts.map +1 -1
- package/dist/esm/syncs/s3/accountBpa.js +2 -3
- package/dist/esm/syncs/s3/accountBpa.js.map +1 -1
- package/dist/esm/syncs/s3/buckets.js +3 -6
- package/dist/esm/syncs/s3/buckets.js.map +1 -1
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -1
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js +2 -3
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -1
- package/dist/esm/syncs/sso/ssoInstances.d.ts.map +1 -1
- package/dist/esm/syncs/sso/ssoInstances.js +1 -2
- package/dist/esm/syncs/sso/ssoInstances.js.map +1 -1
- package/dist/esm/syncs/sync.d.ts +2 -0
- package/dist/esm/syncs/sync.d.ts.map +1 -1
- package/dist/esm/syncs/sync.js.map +1 -1
- package/dist/esm/syncs/typedSync.d.ts +3 -2
- package/dist/esm/syncs/typedSync.d.ts.map +1 -1
- package/dist/esm/syncs/typedSync.js +4 -4
- package/dist/esm/syncs/typedSync.js.map +1 -1
- package/dist/esm/utils/json.d.ts +7 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +16 -1
- package/dist/esm/utils/json.js.map +1 -1
- 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. [
|
|
13
|
-
5. [
|
|
14
|
-
6. [
|
|
15
|
-
7. [
|
|
16
|
-
8. [
|
|
17
|
-
9. [
|
|
18
|
-
10. [
|
|
19
|
-
11. [
|
|
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,
|
|
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;
|
|
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"}
|