@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
|
@@ -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"}
|