@actsecurity/iam-collect 0.1.215
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/LICENSE.txt +661 -0
- package/README.md +188 -0
- package/dist/cjs/analysis/analyze.d.ts +8 -0
- package/dist/cjs/analysis/analyze.d.ts.map +1 -0
- package/dist/cjs/analysis/analyze.js +116 -0
- package/dist/cjs/analysis/analyze.js.map +1 -0
- package/dist/cjs/aws/ClientPool.d.ts +49 -0
- package/dist/cjs/aws/ClientPool.d.ts.map +1 -0
- package/dist/cjs/aws/ClientPool.js +105 -0
- package/dist/cjs/aws/ClientPool.js.map +1 -0
- package/dist/cjs/aws/auth.d.ts +11 -0
- package/dist/cjs/aws/auth.d.ts.map +1 -0
- package/dist/cjs/aws/auth.js +80 -0
- package/dist/cjs/aws/auth.js.map +1 -0
- package/dist/cjs/aws/coreAuth.d.ts +71 -0
- package/dist/cjs/aws/coreAuth.d.ts.map +1 -0
- package/dist/cjs/aws/coreAuth.js +133 -0
- package/dist/cjs/aws/coreAuth.js.map +1 -0
- package/dist/cjs/aws/tokens.d.ts +13 -0
- package/dist/cjs/aws/tokens.d.ts.map +1 -0
- package/dist/cjs/aws/tokens.js +25 -0
- package/dist/cjs/aws/tokens.js.map +1 -0
- 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 +144 -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 +172 -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 +49 -0
- package/dist/cjs/awsConfigClients/clients/AwsConfigSecretsManagerClient.js.map +1 -0
- package/dist/cjs/cli.d.ts +3 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +181 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/config/config.d.ts +210 -0
- package/dist/cjs/config/config.d.ts.map +1 -0
- package/dist/cjs/config/config.js +346 -0
- package/dist/cjs/config/config.js.map +1 -0
- package/dist/cjs/config/configFile.d.ts +16 -0
- package/dist/cjs/config/configFile.d.ts.map +1 -0
- package/dist/cjs/config/configFile.js +49 -0
- package/dist/cjs/config/configFile.js.map +1 -0
- package/dist/cjs/config/createConfigFile.d.ts +6 -0
- package/dist/cjs/config/createConfigFile.d.ts.map +1 -0
- package/dist/cjs/config/createConfigFile.js +17 -0
- package/dist/cjs/config/createConfigFile.js.map +1 -0
- 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/config/defaultConfig.d.ts +19 -0
- package/dist/cjs/config/defaultConfig.d.ts.map +1 -0
- package/dist/cjs/config/defaultConfig.js +170 -0
- package/dist/cjs/config/defaultConfig.js.map +1 -0
- package/dist/cjs/config/packageVersion.d.ts +5 -0
- package/dist/cjs/config/packageVersion.d.ts.map +1 -0
- package/dist/cjs/config/packageVersion.js +11 -0
- package/dist/cjs/config/packageVersion.js.map +1 -0
- package/dist/cjs/config/partitionDefaults.d.ts +9 -0
- package/dist/cjs/config/partitionDefaults.d.ts.map +1 -0
- package/dist/cjs/config/partitionDefaults.js +120 -0
- package/dist/cjs/config/partitionDefaults.js.map +1 -0
- package/dist/cjs/config/version.d.ts +6 -0
- package/dist/cjs/config/version.d.ts.map +1 -0
- package/dist/cjs/config/version.js +9 -0
- package/dist/cjs/config/version.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 +14 -0
- package/dist/cjs/download/download.d.ts.map +1 -0
- package/dist/cjs/download/download.js +229 -0
- package/dist/cjs/download/download.js.map +1 -0
- package/dist/cjs/index/index.d.ts +4 -0
- package/dist/cjs/index/index.d.ts.map +1 -0
- package/dist/cjs/index/index.js +42 -0
- package/dist/cjs/index/index.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/indexing/indexMap.d.ts +10 -0
- package/dist/cjs/indexing/indexMap.d.ts.map +1 -0
- package/dist/cjs/indexing/indexMap.js +34 -0
- package/dist/cjs/indexing/indexMap.js.map +1 -0
- package/dist/cjs/indexing/indexer.d.ts +37 -0
- package/dist/cjs/indexing/indexer.d.ts.map +1 -0
- package/dist/cjs/indexing/indexer.js +3 -0
- package/dist/cjs/indexing/indexer.js.map +1 -0
- package/dist/cjs/indexing/indexers/accountOrgs.d.ts +3 -0
- package/dist/cjs/indexing/indexers/accountOrgs.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/accountOrgs.js +41 -0
- package/dist/cjs/indexing/indexers/accountOrgs.js.map +1 -0
- package/dist/cjs/indexing/indexers/apigateways.d.ts +3 -0
- package/dist/cjs/indexing/indexers/apigateways.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/apigateways.js +54 -0
- package/dist/cjs/indexing/indexers/apigateways.js.map +1 -0
- package/dist/cjs/indexing/indexers/buckets.d.ts +8 -0
- package/dist/cjs/indexing/indexers/buckets.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/buckets.js +40 -0
- package/dist/cjs/indexing/indexers/buckets.js.map +1 -0
- package/dist/cjs/indexing/indexers/iamPrincipalsToTrustPolicies.d.ts +7 -0
- package/dist/cjs/indexing/indexers/iamPrincipalsToTrustPolicies.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/iamPrincipalsToTrustPolicies.js +59 -0
- package/dist/cjs/indexing/indexers/iamPrincipalsToTrustPolicies.js.map +1 -0
- package/dist/cjs/indexing/indexers/vpcs.d.ts +16 -0
- package/dist/cjs/indexing/indexers/vpcs.d.ts.map +1 -0
- package/dist/cjs/indexing/indexers/vpcs.js +94 -0
- package/dist/cjs/indexing/indexers/vpcs.js.map +1 -0
- package/dist/cjs/indexing/runIndexers.d.ts +33 -0
- package/dist/cjs/indexing/runIndexers.d.ts.map +1 -0
- package/dist/cjs/indexing/runIndexers.js +86 -0
- package/dist/cjs/indexing/runIndexers.js.map +1 -0
- package/dist/cjs/jobs/jobQueue.d.ts +41 -0
- package/dist/cjs/jobs/jobQueue.d.ts.map +1 -0
- package/dist/cjs/jobs/jobQueue.js +45 -0
- package/dist/cjs/jobs/jobQueue.js.map +1 -0
- package/dist/cjs/jobs/jobRunner.d.ts +62 -0
- package/dist/cjs/jobs/jobRunner.d.ts.map +1 -0
- package/dist/cjs/jobs/jobRunner.js +157 -0
- package/dist/cjs/jobs/jobRunner.js.map +1 -0
- package/dist/cjs/jobs/util.d.ts +7 -0
- package/dist/cjs/jobs/util.d.ts.map +1 -0
- package/dist/cjs/jobs/util.js +14 -0
- package/dist/cjs/jobs/util.js.map +1 -0
- package/dist/cjs/mergeSqlite/mergeSqlite.d.ts +15 -0
- package/dist/cjs/mergeSqlite/mergeSqlite.d.ts.map +1 -0
- package/dist/cjs/mergeSqlite/mergeSqlite.js +61 -0
- package/dist/cjs/mergeSqlite/mergeSqlite.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/persistence/AwsIamStore.d.ts +303 -0
- package/dist/cjs/persistence/AwsIamStore.d.ts.map +1 -0
- package/dist/cjs/persistence/AwsIamStore.js +3 -0
- package/dist/cjs/persistence/AwsIamStore.js.map +1 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.d.ts +16 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.js +70 -0
- package/dist/cjs/persistence/InMemoryPathBasedPersistenceAdapter.js.map +1 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.d.ts +38 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.js +3 -0
- package/dist/cjs/persistence/PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.d.ts +50 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.js +157 -0
- package/dist/cjs/persistence/file/FileSystemAdapter.js.map +1 -0
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts +115 -0
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -0
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.js +341 -0
- package/dist/cjs/persistence/file/FileSystemAwsIamStore.js.map +1 -0
- package/dist/cjs/persistence/s3/S3PathBasedPersistenceAdapter.d.ts +21 -0
- package/dist/cjs/persistence/s3/S3PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/cjs/persistence/s3/S3PathBasedPersistenceAdapter.js +190 -0
- package/dist/cjs/persistence/s3/S3PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/cjs/persistence/serialization.d.ts +13 -0
- package/dist/cjs/persistence/serialization.d.ts.map +1 -0
- package/dist/cjs/persistence/serialization.js +17 -0
- package/dist/cjs/persistence/serialization.js.map +1 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.d.ts +65 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.d.ts.map +1 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.js +469 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.js.map +1 -0
- package/dist/cjs/persistence/util.d.ts +59 -0
- package/dist/cjs/persistence/util.d.ts.map +1 -0
- package/dist/cjs/persistence/util.js +94 -0
- package/dist/cjs/persistence/util.js.map +1 -0
- package/dist/cjs/regions.d.ts +4 -0
- package/dist/cjs/regions.d.ts.map +1 -0
- package/dist/cjs/regions.js +18 -0
- package/dist/cjs/regions.js.map +1 -0
- package/dist/cjs/services.d.ts +16 -0
- package/dist/cjs/services.d.ts.map +1 -0
- package/dist/cjs/services.js +46 -0
- package/dist/cjs/services.js.map +1 -0
- package/dist/cjs/syncs/apigateway/gateways.d.ts +13 -0
- package/dist/cjs/syncs/apigateway/gateways.d.ts.map +1 -0
- package/dist/cjs/syncs/apigateway/gateways.js +65 -0
- package/dist/cjs/syncs/apigateway/gateways.js.map +1 -0
- package/dist/cjs/syncs/backup/backupVaults.d.ts +2 -0
- package/dist/cjs/syncs/backup/backupVaults.d.ts.map +1 -0
- package/dist/cjs/syncs/backup/backupVaults.js +51 -0
- package/dist/cjs/syncs/backup/backupVaults.js.map +1 -0
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.d.ts +3 -0
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -0
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js +52 -0
- package/dist/cjs/syncs/dynamodb/dynamoDbStreams.js.map +1 -0
- package/dist/cjs/syncs/dynamodb/tables.d.ts +5 -0
- package/dist/cjs/syncs/dynamodb/tables.d.ts.map +1 -0
- package/dist/cjs/syncs/dynamodb/tables.js +79 -0
- package/dist/cjs/syncs/dynamodb/tables.js.map +1 -0
- package/dist/cjs/syncs/ec2/vpcEndpoints.d.ts +3 -0
- package/dist/cjs/syncs/ec2/vpcEndpoints.d.ts.map +1 -0
- package/dist/cjs/syncs/ec2/vpcEndpoints.js +56 -0
- package/dist/cjs/syncs/ec2/vpcEndpoints.js.map +1 -0
- package/dist/cjs/syncs/ecr/ecrSyncs.d.ts +3 -0
- package/dist/cjs/syncs/ecr/ecrSyncs.d.ts.map +1 -0
- package/dist/cjs/syncs/ecr/ecrSyncs.js +76 -0
- package/dist/cjs/syncs/ecr/ecrSyncs.js.map +1 -0
- package/dist/cjs/syncs/efs/fileSystems.d.ts +2 -0
- package/dist/cjs/syncs/efs/fileSystems.d.ts.map +1 -0
- package/dist/cjs/syncs/efs/fileSystems.js +43 -0
- package/dist/cjs/syncs/efs/fileSystems.js.map +1 -0
- package/dist/cjs/syncs/eks/accessEntries.d.ts +8 -0
- package/dist/cjs/syncs/eks/accessEntries.d.ts.map +1 -0
- package/dist/cjs/syncs/eks/accessEntries.js +91 -0
- package/dist/cjs/syncs/eks/accessEntries.js.map +1 -0
- package/dist/cjs/syncs/events/eventBuses.d.ts +2 -0
- package/dist/cjs/syncs/events/eventBuses.d.ts.map +1 -0
- package/dist/cjs/syncs/events/eventBuses.js +50 -0
- package/dist/cjs/syncs/events/eventBuses.js.map +1 -0
- package/dist/cjs/syncs/glue/catalogs.d.ts +3 -0
- package/dist/cjs/syncs/glue/catalogs.d.ts.map +1 -0
- package/dist/cjs/syncs/glue/catalogs.js +39 -0
- package/dist/cjs/syncs/glue/catalogs.js.map +1 -0
- package/dist/cjs/syncs/iam/authorizationDetails.d.ts +23 -0
- package/dist/cjs/syncs/iam/authorizationDetails.d.ts.map +1 -0
- package/dist/cjs/syncs/iam/authorizationDetails.js +296 -0
- package/dist/cjs/syncs/iam/authorizationDetails.js.map +1 -0
- package/dist/cjs/syncs/iam/identityProviders.d.ts +3 -0
- package/dist/cjs/syncs/iam/identityProviders.d.ts.map +1 -0
- package/dist/cjs/syncs/iam/identityProviders.js +70 -0
- package/dist/cjs/syncs/iam/identityProviders.js.map +1 -0
- package/dist/cjs/syncs/iam/instanceProfiles.d.ts +3 -0
- package/dist/cjs/syncs/iam/instanceProfiles.d.ts.map +1 -0
- package/dist/cjs/syncs/iam/instanceProfiles.js +30 -0
- package/dist/cjs/syncs/iam/instanceProfiles.js.map +1 -0
- package/dist/cjs/syncs/kafka/clusters.d.ts +2 -0
- package/dist/cjs/syncs/kafka/clusters.d.ts.map +1 -0
- package/dist/cjs/syncs/kafka/clusters.js +62 -0
- package/dist/cjs/syncs/kafka/clusters.js.map +1 -0
- package/dist/cjs/syncs/kinesis/dataStreams.d.ts +2 -0
- package/dist/cjs/syncs/kinesis/dataStreams.d.ts.map +1 -0
- package/dist/cjs/syncs/kinesis/dataStreams.js +68 -0
- package/dist/cjs/syncs/kinesis/dataStreams.js.map +1 -0
- package/dist/cjs/syncs/kms/key.d.ts +2 -0
- package/dist/cjs/syncs/kms/key.d.ts.map +1 -0
- package/dist/cjs/syncs/kms/key.js +47 -0
- package/dist/cjs/syncs/kms/key.js.map +1 -0
- package/dist/cjs/syncs/lambda/lambda.d.ts +4 -0
- package/dist/cjs/syncs/lambda/lambda.d.ts.map +1 -0
- package/dist/cjs/syncs/lambda/lambda.js +154 -0
- package/dist/cjs/syncs/lambda/lambda.js.map +1 -0
- package/dist/cjs/syncs/opensearch/domains.d.ts +2 -0
- package/dist/cjs/syncs/opensearch/domains.d.ts.map +1 -0
- package/dist/cjs/syncs/opensearch/domains.js +48 -0
- package/dist/cjs/syncs/opensearch/domains.js.map +1 -0
- package/dist/cjs/syncs/organizations/organizations.d.ts +57 -0
- package/dist/cjs/syncs/organizations/organizations.d.ts.map +1 -0
- package/dist/cjs/syncs/organizations/organizations.js +416 -0
- package/dist/cjs/syncs/organizations/organizations.js.map +1 -0
- package/dist/cjs/syncs/ram/ramShares.d.ts +3 -0
- package/dist/cjs/syncs/ram/ramShares.d.ts.map +1 -0
- package/dist/cjs/syncs/ram/ramShares.js +60 -0
- package/dist/cjs/syncs/ram/ramShares.js.map +1 -0
- package/dist/cjs/syncs/s3/accessPoints.d.ts +3 -0
- package/dist/cjs/syncs/s3/accessPoints.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/accessPoints.js +60 -0
- package/dist/cjs/syncs/s3/accessPoints.js.map +1 -0
- package/dist/cjs/syncs/s3/accountBpa.d.ts +3 -0
- package/dist/cjs/syncs/s3/accountBpa.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/accountBpa.js +19 -0
- package/dist/cjs/syncs/s3/accountBpa.js.map +1 -0
- package/dist/cjs/syncs/s3/buckets.d.ts +3 -0
- package/dist/cjs/syncs/s3/buckets.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/buckets.js +193 -0
- package/dist/cjs/syncs/s3/buckets.js.map +1 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.d.ts +3 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.js +48 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.js.map +1 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.d.ts +3 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.js +54 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.js.map +1 -0
- package/dist/cjs/syncs/s3/vaults.d.ts +2 -0
- package/dist/cjs/syncs/s3/vaults.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/vaults.js +50 -0
- package/dist/cjs/syncs/s3/vaults.js.map +1 -0
- package/dist/cjs/syncs/s3express/s3DirectoryAccessPointsSync.d.ts +2 -0
- package/dist/cjs/syncs/s3express/s3DirectoryAccessPointsSync.d.ts.map +1 -0
- package/dist/cjs/syncs/s3express/s3DirectoryAccessPointsSync.js +68 -0
- package/dist/cjs/syncs/s3express/s3DirectoryAccessPointsSync.js.map +1 -0
- package/dist/cjs/syncs/s3express/s3DirectoryBucketsSync.d.ts +2 -0
- package/dist/cjs/syncs/s3express/s3DirectoryBucketsSync.d.ts.map +1 -0
- package/dist/cjs/syncs/s3express/s3DirectoryBucketsSync.js +57 -0
- package/dist/cjs/syncs/s3express/s3DirectoryBucketsSync.js.map +1 -0
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.d.ts +4 -0
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -0
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js +145 -0
- package/dist/cjs/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.d.ts +2 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.d.ts.map +1 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.js +48 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.js.map +1 -0
- package/dist/cjs/syncs/secretsmanager/secrets.d.ts +5 -0
- package/dist/cjs/syncs/secretsmanager/secrets.d.ts.map +1 -0
- package/dist/cjs/syncs/secretsmanager/secrets.js +45 -0
- package/dist/cjs/syncs/secretsmanager/secrets.js.map +1 -0
- package/dist/cjs/syncs/sns/topics.d.ts +3 -0
- package/dist/cjs/syncs/sns/topics.d.ts.map +1 -0
- package/dist/cjs/syncs/sns/topics.js +64 -0
- package/dist/cjs/syncs/sns/topics.js.map +1 -0
- package/dist/cjs/syncs/sqs/queues.d.ts +2 -0
- package/dist/cjs/syncs/sqs/queues.d.ts.map +1 -0
- package/dist/cjs/syncs/sqs/queues.js +54 -0
- package/dist/cjs/syncs/sqs/queues.js.map +1 -0
- package/dist/cjs/syncs/sso/ssoInstances.d.ts +3 -0
- package/dist/cjs/syncs/sso/ssoInstances.d.ts.map +1 -0
- package/dist/cjs/syncs/sso/ssoInstances.js +189 -0
- package/dist/cjs/syncs/sso/ssoInstances.js.map +1 -0
- package/dist/cjs/syncs/sync.d.ts +46 -0
- package/dist/cjs/syncs/sync.d.ts.map +1 -0
- package/dist/cjs/syncs/sync.js +30 -0
- package/dist/cjs/syncs/sync.js.map +1 -0
- package/dist/cjs/syncs/syncMap.d.ts +17 -0
- package/dist/cjs/syncs/syncMap.d.ts.map +1 -0
- package/dist/cjs/syncs/syncMap.js +121 -0
- package/dist/cjs/syncs/syncMap.js.map +1 -0
- package/dist/cjs/syncs/typedSync.d.ts +140 -0
- package/dist/cjs/syncs/typedSync.d.ts.map +1 -0
- package/dist/cjs/syncs/typedSync.js +173 -0
- package/dist/cjs/syncs/typedSync.js.map +1 -0
- package/dist/cjs/utils/client-tools.d.ts +34 -0
- package/dist/cjs/utils/client-tools.d.ts.map +1 -0
- package/dist/cjs/utils/client-tools.js +112 -0
- package/dist/cjs/utils/client-tools.js.map +1 -0
- package/dist/cjs/utils/json.d.ts +29 -0
- package/dist/cjs/utils/json.d.ts.map +1 -0
- package/dist/cjs/utils/json.js +122 -0
- package/dist/cjs/utils/json.js.map +1 -0
- package/dist/cjs/utils/promise.d.ts +8 -0
- package/dist/cjs/utils/promise.d.ts.map +1 -0
- package/dist/cjs/utils/promise.js +13 -0
- package/dist/cjs/utils/promise.js.map +1 -0
- package/dist/cjs/utils/readPackageFile.d.ts +3 -0
- package/dist/cjs/utils/readPackageFile.d.ts.map +1 -0
- package/dist/cjs/utils/readPackageFile.js +16 -0
- package/dist/cjs/utils/readPackageFile.js.map +1 -0
- package/dist/cjs/utils/strings.d.ts +16 -0
- package/dist/cjs/utils/strings.d.ts.map +1 -0
- package/dist/cjs/utils/strings.js +39 -0
- package/dist/cjs/utils/strings.js.map +1 -0
- package/dist/cjs/utils/tags.d.ts +22 -0
- package/dist/cjs/utils/tags.d.ts.map +1 -0
- package/dist/cjs/utils/tags.js +50 -0
- package/dist/cjs/utils/tags.js.map +1 -0
- package/dist/cjs/utils/types.d.ts +2 -0
- package/dist/cjs/utils/types.d.ts.map +1 -0
- package/dist/cjs/utils/types.js +7 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/analysis/analyze.d.ts +8 -0
- package/dist/esm/analysis/analyze.d.ts.map +1 -0
- package/dist/esm/analysis/analyze.js +80 -0
- package/dist/esm/analysis/analyze.js.map +1 -0
- package/dist/esm/aws/ClientPool.d.ts +49 -0
- package/dist/esm/aws/ClientPool.d.ts.map +1 -0
- package/dist/esm/aws/ClientPool.js +103 -0
- package/dist/esm/aws/ClientPool.js.map +1 -0
- package/dist/esm/aws/auth.d.ts +11 -0
- package/dist/esm/aws/auth.d.ts.map +1 -0
- package/dist/esm/aws/auth.js +78 -0
- package/dist/esm/aws/auth.js.map +1 -0
- package/dist/esm/aws/coreAuth.d.ts +71 -0
- package/dist/esm/aws/coreAuth.d.ts.map +1 -0
- package/dist/esm/aws/coreAuth.js +129 -0
- package/dist/esm/aws/coreAuth.js.map +1 -0
- package/dist/esm/aws/tokens.d.ts +13 -0
- package/dist/esm/aws/tokens.d.ts.map +1 -0
- package/dist/esm/aws/tokens.js +23 -0
- package/dist/esm/aws/tokens.js.map +1 -0
- 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 +5 -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 +128 -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 +60 -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 +57 -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 +34 -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 +95 -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 +57 -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 +58 -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 +119 -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 +86 -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 +104 -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 +41 -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 +436 -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 +84 -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 +102 -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 +169 -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 +122 -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 +171 -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 +236 -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 +290 -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 +111 -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 +102 -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/cli.d.ts +3 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +180 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/config/config.d.ts +210 -0
- package/dist/esm/config/config.d.ts.map +1 -0
- package/dist/esm/config/config.js +334 -0
- package/dist/esm/config/config.js.map +1 -0
- package/dist/esm/config/configFile.d.ts +16 -0
- package/dist/esm/config/configFile.d.ts.map +1 -0
- package/dist/esm/config/configFile.js +46 -0
- package/dist/esm/config/configFile.js.map +1 -0
- package/dist/esm/config/createConfigFile.d.ts +6 -0
- package/dist/esm/config/createConfigFile.d.ts.map +1 -0
- package/dist/esm/config/createConfigFile.js +14 -0
- package/dist/esm/config/createConfigFile.js.map +1 -0
- 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 +25 -0
- package/dist/esm/config/dataSource.js.map +1 -0
- package/dist/esm/config/defaultConfig.d.ts +19 -0
- package/dist/esm/config/defaultConfig.d.ts.map +1 -0
- package/dist/esm/config/defaultConfig.js +164 -0
- package/dist/esm/config/defaultConfig.js.map +1 -0
- package/dist/esm/config/packageVersion.d.ts +5 -0
- package/dist/esm/config/packageVersion.d.ts.map +1 -0
- package/dist/esm/config/packageVersion.js +8 -0
- package/dist/esm/config/packageVersion.js.map +1 -0
- package/dist/esm/config/partitionDefaults.d.ts +9 -0
- package/dist/esm/config/partitionDefaults.d.ts.map +1 -0
- package/dist/esm/config/partitionDefaults.js +118 -0
- package/dist/esm/config/partitionDefaults.js.map +1 -0
- package/dist/esm/config/version.d.ts +6 -0
- package/dist/esm/config/version.d.ts.map +1 -0
- package/dist/esm/config/version.js +6 -0
- package/dist/esm/config/version.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 +70 -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 +64 -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 +18 -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 +14 -0
- package/dist/esm/download/download.d.ts.map +1 -0
- package/dist/esm/download/download.js +227 -0
- package/dist/esm/download/download.js.map +1 -0
- package/dist/esm/index/index.d.ts +4 -0
- package/dist/esm/index/index.d.ts.map +1 -0
- package/dist/esm/index/index.js +40 -0
- package/dist/esm/index/index.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indexing/indexMap.d.ts +10 -0
- package/dist/esm/indexing/indexMap.d.ts.map +1 -0
- package/dist/esm/indexing/indexMap.js +32 -0
- package/dist/esm/indexing/indexMap.js.map +1 -0
- package/dist/esm/indexing/indexer.d.ts +37 -0
- package/dist/esm/indexing/indexer.d.ts.map +1 -0
- package/dist/esm/indexing/indexer.js +3 -0
- package/dist/esm/indexing/indexer.js.map +1 -0
- package/dist/esm/indexing/indexers/accountOrgs.d.ts +3 -0
- package/dist/esm/indexing/indexers/accountOrgs.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/accountOrgs.js +39 -0
- package/dist/esm/indexing/indexers/accountOrgs.js.map +1 -0
- package/dist/esm/indexing/indexers/apigateways.d.ts +3 -0
- package/dist/esm/indexing/indexers/apigateways.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/apigateways.js +52 -0
- package/dist/esm/indexing/indexers/apigateways.js.map +1 -0
- package/dist/esm/indexing/indexers/buckets.d.ts +8 -0
- package/dist/esm/indexing/indexers/buckets.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/buckets.js +38 -0
- package/dist/esm/indexing/indexers/buckets.js.map +1 -0
- package/dist/esm/indexing/indexers/iamPrincipalsToTrustPolicies.d.ts +7 -0
- package/dist/esm/indexing/indexers/iamPrincipalsToTrustPolicies.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/iamPrincipalsToTrustPolicies.js +57 -0
- package/dist/esm/indexing/indexers/iamPrincipalsToTrustPolicies.js.map +1 -0
- package/dist/esm/indexing/indexers/vpcs.d.ts +16 -0
- package/dist/esm/indexing/indexers/vpcs.d.ts.map +1 -0
- package/dist/esm/indexing/indexers/vpcs.js +92 -0
- package/dist/esm/indexing/indexers/vpcs.js.map +1 -0
- package/dist/esm/indexing/runIndexers.d.ts +33 -0
- package/dist/esm/indexing/runIndexers.d.ts.map +1 -0
- package/dist/esm/indexing/runIndexers.js +85 -0
- package/dist/esm/indexing/runIndexers.js.map +1 -0
- package/dist/esm/jobs/jobQueue.d.ts +41 -0
- package/dist/esm/jobs/jobQueue.d.ts.map +1 -0
- package/dist/esm/jobs/jobQueue.js +42 -0
- package/dist/esm/jobs/jobQueue.js.map +1 -0
- package/dist/esm/jobs/jobRunner.d.ts +62 -0
- package/dist/esm/jobs/jobRunner.d.ts.map +1 -0
- package/dist/esm/jobs/jobRunner.js +153 -0
- package/dist/esm/jobs/jobRunner.js.map +1 -0
- package/dist/esm/jobs/util.d.ts +7 -0
- package/dist/esm/jobs/util.d.ts.map +1 -0
- package/dist/esm/jobs/util.js +11 -0
- package/dist/esm/jobs/util.js.map +1 -0
- package/dist/esm/mergeSqlite/mergeSqlite.d.ts +15 -0
- package/dist/esm/mergeSqlite/mergeSqlite.d.ts.map +1 -0
- package/dist/esm/mergeSqlite/mergeSqlite.js +55 -0
- package/dist/esm/mergeSqlite/mergeSqlite.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/persistence/AwsIamStore.d.ts +303 -0
- package/dist/esm/persistence/AwsIamStore.d.ts.map +1 -0
- package/dist/esm/persistence/AwsIamStore.js +2 -0
- package/dist/esm/persistence/AwsIamStore.js.map +1 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.d.ts +16 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.js +69 -0
- package/dist/esm/persistence/InMemoryPathBasedPersistenceAdapter.js.map +1 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.d.ts +38 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.js +2 -0
- package/dist/esm/persistence/PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/esm/persistence/file/FileSystemAdapter.d.ts +50 -0
- package/dist/esm/persistence/file/FileSystemAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/file/FileSystemAdapter.js +153 -0
- package/dist/esm/persistence/file/FileSystemAdapter.js.map +1 -0
- package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts +115 -0
- package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -0
- package/dist/esm/persistence/file/FileSystemAwsIamStore.js +335 -0
- package/dist/esm/persistence/file/FileSystemAwsIamStore.js.map +1 -0
- package/dist/esm/persistence/s3/S3PathBasedPersistenceAdapter.d.ts +21 -0
- package/dist/esm/persistence/s3/S3PathBasedPersistenceAdapter.d.ts.map +1 -0
- package/dist/esm/persistence/s3/S3PathBasedPersistenceAdapter.js +185 -0
- package/dist/esm/persistence/s3/S3PathBasedPersistenceAdapter.js.map +1 -0
- package/dist/esm/persistence/serialization.d.ts +13 -0
- package/dist/esm/persistence/serialization.d.ts.map +1 -0
- package/dist/esm/persistence/serialization.js +15 -0
- package/dist/esm/persistence/serialization.js.map +1 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.d.ts +65 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.d.ts.map +1 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.js +458 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.js.map +1 -0
- package/dist/esm/persistence/util.d.ts +59 -0
- package/dist/esm/persistence/util.d.ts.map +1 -0
- package/dist/esm/persistence/util.js +88 -0
- package/dist/esm/persistence/util.js.map +1 -0
- package/dist/esm/regions.d.ts +4 -0
- package/dist/esm/regions.d.ts.map +1 -0
- package/dist/esm/regions.js +17 -0
- package/dist/esm/regions.js.map +1 -0
- package/dist/esm/services.d.ts +16 -0
- package/dist/esm/services.d.ts.map +1 -0
- package/dist/esm/services.js +42 -0
- package/dist/esm/services.js.map +1 -0
- package/dist/esm/syncs/apigateway/gateways.d.ts +13 -0
- package/dist/esm/syncs/apigateway/gateways.d.ts.map +1 -0
- package/dist/esm/syncs/apigateway/gateways.js +62 -0
- package/dist/esm/syncs/apigateway/gateways.js.map +1 -0
- package/dist/esm/syncs/backup/backupVaults.d.ts +2 -0
- package/dist/esm/syncs/backup/backupVaults.d.ts.map +1 -0
- package/dist/esm/syncs/backup/backupVaults.js +48 -0
- package/dist/esm/syncs/backup/backupVaults.js.map +1 -0
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.d.ts +3 -0
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.d.ts.map +1 -0
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.js +49 -0
- package/dist/esm/syncs/dynamodb/dynamoDbStreams.js.map +1 -0
- package/dist/esm/syncs/dynamodb/tables.d.ts +5 -0
- package/dist/esm/syncs/dynamodb/tables.d.ts.map +1 -0
- package/dist/esm/syncs/dynamodb/tables.js +76 -0
- package/dist/esm/syncs/dynamodb/tables.js.map +1 -0
- package/dist/esm/syncs/ec2/vpcEndpoints.d.ts +3 -0
- package/dist/esm/syncs/ec2/vpcEndpoints.d.ts.map +1 -0
- package/dist/esm/syncs/ec2/vpcEndpoints.js +54 -0
- package/dist/esm/syncs/ec2/vpcEndpoints.js.map +1 -0
- package/dist/esm/syncs/ecr/ecrSyncs.d.ts +3 -0
- package/dist/esm/syncs/ecr/ecrSyncs.d.ts.map +1 -0
- package/dist/esm/syncs/ecr/ecrSyncs.js +74 -0
- package/dist/esm/syncs/ecr/ecrSyncs.js.map +1 -0
- package/dist/esm/syncs/efs/fileSystems.d.ts +2 -0
- package/dist/esm/syncs/efs/fileSystems.d.ts.map +1 -0
- package/dist/esm/syncs/efs/fileSystems.js +40 -0
- package/dist/esm/syncs/efs/fileSystems.js.map +1 -0
- package/dist/esm/syncs/eks/accessEntries.d.ts +8 -0
- package/dist/esm/syncs/eks/accessEntries.d.ts.map +1 -0
- package/dist/esm/syncs/eks/accessEntries.js +88 -0
- package/dist/esm/syncs/eks/accessEntries.js.map +1 -0
- package/dist/esm/syncs/events/eventBuses.d.ts +2 -0
- package/dist/esm/syncs/events/eventBuses.d.ts.map +1 -0
- package/dist/esm/syncs/events/eventBuses.js +47 -0
- package/dist/esm/syncs/events/eventBuses.js.map +1 -0
- package/dist/esm/syncs/glue/catalogs.d.ts +3 -0
- package/dist/esm/syncs/glue/catalogs.d.ts.map +1 -0
- package/dist/esm/syncs/glue/catalogs.js +37 -0
- package/dist/esm/syncs/glue/catalogs.js.map +1 -0
- package/dist/esm/syncs/iam/authorizationDetails.d.ts +23 -0
- package/dist/esm/syncs/iam/authorizationDetails.d.ts.map +1 -0
- package/dist/esm/syncs/iam/authorizationDetails.js +295 -0
- package/dist/esm/syncs/iam/authorizationDetails.js.map +1 -0
- package/dist/esm/syncs/iam/identityProviders.d.ts +3 -0
- package/dist/esm/syncs/iam/identityProviders.d.ts.map +1 -0
- package/dist/esm/syncs/iam/identityProviders.js +68 -0
- package/dist/esm/syncs/iam/identityProviders.js.map +1 -0
- package/dist/esm/syncs/iam/instanceProfiles.d.ts +3 -0
- package/dist/esm/syncs/iam/instanceProfiles.d.ts.map +1 -0
- package/dist/esm/syncs/iam/instanceProfiles.js +28 -0
- package/dist/esm/syncs/iam/instanceProfiles.js.map +1 -0
- package/dist/esm/syncs/kafka/clusters.d.ts +2 -0
- package/dist/esm/syncs/kafka/clusters.d.ts.map +1 -0
- package/dist/esm/syncs/kafka/clusters.js +59 -0
- package/dist/esm/syncs/kafka/clusters.js.map +1 -0
- package/dist/esm/syncs/kinesis/dataStreams.d.ts +2 -0
- package/dist/esm/syncs/kinesis/dataStreams.d.ts.map +1 -0
- package/dist/esm/syncs/kinesis/dataStreams.js +65 -0
- package/dist/esm/syncs/kinesis/dataStreams.js.map +1 -0
- package/dist/esm/syncs/kms/key.d.ts +2 -0
- package/dist/esm/syncs/kms/key.d.ts.map +1 -0
- package/dist/esm/syncs/kms/key.js +44 -0
- package/dist/esm/syncs/kms/key.js.map +1 -0
- package/dist/esm/syncs/lambda/lambda.d.ts +4 -0
- package/dist/esm/syncs/lambda/lambda.d.ts.map +1 -0
- package/dist/esm/syncs/lambda/lambda.js +152 -0
- package/dist/esm/syncs/lambda/lambda.js.map +1 -0
- package/dist/esm/syncs/opensearch/domains.d.ts +2 -0
- package/dist/esm/syncs/opensearch/domains.d.ts.map +1 -0
- package/dist/esm/syncs/opensearch/domains.js +45 -0
- package/dist/esm/syncs/opensearch/domains.js.map +1 -0
- package/dist/esm/syncs/organizations/organizations.d.ts +57 -0
- package/dist/esm/syncs/organizations/organizations.d.ts.map +1 -0
- package/dist/esm/syncs/organizations/organizations.js +410 -0
- package/dist/esm/syncs/organizations/organizations.js.map +1 -0
- package/dist/esm/syncs/ram/ramShares.d.ts +3 -0
- package/dist/esm/syncs/ram/ramShares.d.ts.map +1 -0
- package/dist/esm/syncs/ram/ramShares.js +58 -0
- package/dist/esm/syncs/ram/ramShares.js.map +1 -0
- package/dist/esm/syncs/s3/accessPoints.d.ts +3 -0
- package/dist/esm/syncs/s3/accessPoints.d.ts.map +1 -0
- package/dist/esm/syncs/s3/accessPoints.js +58 -0
- package/dist/esm/syncs/s3/accessPoints.js.map +1 -0
- package/dist/esm/syncs/s3/accountBpa.d.ts +3 -0
- package/dist/esm/syncs/s3/accountBpa.d.ts.map +1 -0
- package/dist/esm/syncs/s3/accountBpa.js +17 -0
- package/dist/esm/syncs/s3/accountBpa.js.map +1 -0
- package/dist/esm/syncs/s3/buckets.d.ts +3 -0
- package/dist/esm/syncs/s3/buckets.d.ts.map +1 -0
- package/dist/esm/syncs/s3/buckets.js +192 -0
- package/dist/esm/syncs/s3/buckets.js.map +1 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.d.ts +3 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.d.ts.map +1 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.js +46 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.js.map +1 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.d.ts +3 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.d.ts.map +1 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.js +52 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.js.map +1 -0
- package/dist/esm/syncs/s3/vaults.d.ts +2 -0
- package/dist/esm/syncs/s3/vaults.d.ts.map +1 -0
- package/dist/esm/syncs/s3/vaults.js +47 -0
- package/dist/esm/syncs/s3/vaults.js.map +1 -0
- package/dist/esm/syncs/s3express/s3DirectoryAccessPointsSync.d.ts +2 -0
- package/dist/esm/syncs/s3express/s3DirectoryAccessPointsSync.d.ts.map +1 -0
- package/dist/esm/syncs/s3express/s3DirectoryAccessPointsSync.js +65 -0
- package/dist/esm/syncs/s3express/s3DirectoryAccessPointsSync.js.map +1 -0
- package/dist/esm/syncs/s3express/s3DirectoryBucketsSync.d.ts +2 -0
- package/dist/esm/syncs/s3express/s3DirectoryBucketsSync.d.ts.map +1 -0
- package/dist/esm/syncs/s3express/s3DirectoryBucketsSync.js +54 -0
- package/dist/esm/syncs/s3express/s3DirectoryBucketsSync.js.map +1 -0
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.d.ts +4 -0
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.d.ts.map +1 -0
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js +143 -0
- package/dist/esm/syncs/s3outposts/s3OutpostsSyncs.js.map +1 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.d.ts +2 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.d.ts.map +1 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.js +45 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.js.map +1 -0
- package/dist/esm/syncs/secretsmanager/secrets.d.ts +5 -0
- package/dist/esm/syncs/secretsmanager/secrets.d.ts.map +1 -0
- package/dist/esm/syncs/secretsmanager/secrets.js +42 -0
- package/dist/esm/syncs/secretsmanager/secrets.js.map +1 -0
- package/dist/esm/syncs/sns/topics.d.ts +3 -0
- package/dist/esm/syncs/sns/topics.d.ts.map +1 -0
- package/dist/esm/syncs/sns/topics.js +62 -0
- package/dist/esm/syncs/sns/topics.js.map +1 -0
- package/dist/esm/syncs/sqs/queues.d.ts +2 -0
- package/dist/esm/syncs/sqs/queues.d.ts.map +1 -0
- package/dist/esm/syncs/sqs/queues.js +51 -0
- package/dist/esm/syncs/sqs/queues.js.map +1 -0
- package/dist/esm/syncs/sso/ssoInstances.d.ts +3 -0
- package/dist/esm/syncs/sso/ssoInstances.d.ts.map +1 -0
- package/dist/esm/syncs/sso/ssoInstances.js +186 -0
- package/dist/esm/syncs/sso/ssoInstances.js.map +1 -0
- package/dist/esm/syncs/sync.d.ts +46 -0
- package/dist/esm/syncs/sync.d.ts.map +1 -0
- package/dist/esm/syncs/sync.js +32 -0
- package/dist/esm/syncs/sync.js.map +1 -0
- package/dist/esm/syncs/syncMap.d.ts +17 -0
- package/dist/esm/syncs/syncMap.d.ts.map +1 -0
- package/dist/esm/syncs/syncMap.js +118 -0
- package/dist/esm/syncs/syncMap.js.map +1 -0
- package/dist/esm/syncs/typedSync.d.ts +140 -0
- package/dist/esm/syncs/typedSync.d.ts.map +1 -0
- package/dist/esm/syncs/typedSync.js +172 -0
- package/dist/esm/syncs/typedSync.js.map +1 -0
- package/dist/esm/utils/client-tools.d.ts +34 -0
- package/dist/esm/utils/client-tools.d.ts.map +1 -0
- package/dist/esm/utils/client-tools.js +106 -0
- package/dist/esm/utils/client-tools.js.map +1 -0
- package/dist/esm/utils/json.d.ts +29 -0
- package/dist/esm/utils/json.d.ts.map +1 -0
- package/dist/esm/utils/json.js +117 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/promise.d.ts +8 -0
- package/dist/esm/utils/promise.d.ts.map +1 -0
- package/dist/esm/utils/promise.js +10 -0
- package/dist/esm/utils/promise.js.map +1 -0
- package/dist/esm/utils/readPackageFile.d.ts +3 -0
- package/dist/esm/utils/readPackageFile.d.ts.map +1 -0
- package/dist/esm/utils/readPackageFile.js +15 -0
- package/dist/esm/utils/readPackageFile.js.map +1 -0
- package/dist/esm/utils/readPackageFileEsm.d.ts.map +1 -0
- package/dist/esm/utils/strings.d.ts +16 -0
- package/dist/esm/utils/strings.d.ts.map +1 -0
- package/dist/esm/utils/strings.js +32 -0
- package/dist/esm/utils/strings.js.map +1 -0
- package/dist/esm/utils/tags.d.ts +22 -0
- package/dist/esm/utils/tags.d.ts.map +1 -0
- package/dist/esm/utils/tags.js +47 -0
- package/dist/esm/utils/tags.js.map +1 -0
- package/dist/esm/utils/types.d.ts +2 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +4 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/package.json +164 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ConcurrentWorkerPool } from '@actsecurity/job';
|
|
2
|
+
import { AwsClientPool } from '../aws/ClientPool.js';
|
|
3
|
+
import { type AwsCredentialProviderWithMetaData } from '../aws/coreAuth.js';
|
|
4
|
+
import { type AwsIamStore, type ResourceTypeParts } from '../persistence/AwsIamStore.js';
|
|
5
|
+
import { type AwsService } from '../services.js';
|
|
6
|
+
export interface SyncOptions {
|
|
7
|
+
workerPool: ConcurrentWorkerPool<any, any>;
|
|
8
|
+
writeOnly: boolean;
|
|
9
|
+
customConfig?: Record<string, any>;
|
|
10
|
+
clientPool: AwsClientPool;
|
|
11
|
+
}
|
|
12
|
+
export interface Sync {
|
|
13
|
+
/**
|
|
14
|
+
* What service the sync is for.
|
|
15
|
+
*/
|
|
16
|
+
awsService: AwsService;
|
|
17
|
+
/**
|
|
18
|
+
* The name of the sync. This should be a unique identifier for the sync.
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Is the sync global. If so, it should only be one in one region per account.
|
|
23
|
+
*/
|
|
24
|
+
global?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Execute the sync for a given account and region.
|
|
27
|
+
*/
|
|
28
|
+
execute(accountId: string, region: string, credentials: AwsCredentialProviderWithMetaData, storage: AwsIamStore, endpoint: string | undefined, syncOptions: SyncOptions): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export type DataRecord = Record<string, any> & {
|
|
31
|
+
arn: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Synchronize the data for a given set of resources.
|
|
35
|
+
* This will:
|
|
36
|
+
* 1. Delete any resources that meet the `resourceTypeParts` and are not in the `records` list.
|
|
37
|
+
* 2. Save all resources that are in the `records`.
|
|
38
|
+
*
|
|
39
|
+
* @param records the records to synchronize, must include the ARN
|
|
40
|
+
* @param storage the storage client to use for updating metadata
|
|
41
|
+
* @param accountId the account ID to synchronize data for
|
|
42
|
+
* @param resourceTypeParts the resource type parts to synchronize
|
|
43
|
+
* @param writeOnly if true, will only write data and not delete any existing data
|
|
44
|
+
*/
|
|
45
|
+
export declare function syncData(records: DataRecord[], storage: AwsIamStore, accountId: string, resourceTypeParts: ResourceTypeParts, writeOnly: boolean): Promise<void>;
|
|
46
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACxF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,OAAO,iBAenB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ConcurrentWorkerPool } from '@actsecurity/job';
|
|
2
|
+
import { AwsClientPool } from '../aws/ClientPool.js';
|
|
3
|
+
import {} from '../aws/coreAuth.js';
|
|
4
|
+
import {} from '../persistence/AwsIamStore.js';
|
|
5
|
+
import {} from '../services.js';
|
|
6
|
+
/**
|
|
7
|
+
* Synchronize the data for a given set of resources.
|
|
8
|
+
* This will:
|
|
9
|
+
* 1. Delete any resources that meet the `resourceTypeParts` and are not in the `records` list.
|
|
10
|
+
* 2. Save all resources that are in the `records`.
|
|
11
|
+
*
|
|
12
|
+
* @param records the records to synchronize, must include the ARN
|
|
13
|
+
* @param storage the storage client to use for updating metadata
|
|
14
|
+
* @param accountId the account ID to synchronize data for
|
|
15
|
+
* @param resourceTypeParts the resource type parts to synchronize
|
|
16
|
+
* @param writeOnly if true, will only write data and not delete any existing data
|
|
17
|
+
*/
|
|
18
|
+
export async function syncData(records, storage, accountId, resourceTypeParts, writeOnly) {
|
|
19
|
+
if (!writeOnly) {
|
|
20
|
+
const allArns = records.map((r) => r.arn);
|
|
21
|
+
await storage.syncResourceList(accountId, resourceTypeParts, allArns);
|
|
22
|
+
}
|
|
23
|
+
for (const record of records) {
|
|
24
|
+
for (const [key, value] of Object.entries(record)) {
|
|
25
|
+
if (key === 'arn') {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
await storage.saveResourceMetadata(accountId, record.arn, key, value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/syncs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAA0C,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAA4C,MAAM,+BAA+B,CAAA;AACxF,OAAO,EAAmB,MAAM,gBAAgB,CAAA;AAwChD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAqB,EACrB,OAAoB,EACpB,SAAiB,EACjB,iBAAoC,EACpC,SAAkB;IAElB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,SAAQ;YACV,CAAC;YACD,MAAM,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AwsService } from '../services.js';
|
|
2
|
+
import { type Sync } from './sync.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get the global syncs for a given AWS service.
|
|
5
|
+
*
|
|
6
|
+
* @param service The AWS service to get the syncs for
|
|
7
|
+
* @returns An array of syncs that are global for the specified service.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getGlobalSyncsForService(service: AwsService): Sync[];
|
|
10
|
+
/**
|
|
11
|
+
* Get the regional syncs for a given AWS service.
|
|
12
|
+
*
|
|
13
|
+
* @param service The AWS service to get the syncs for
|
|
14
|
+
* @returns An array of syncs that are regional for the specified service.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getRegionalSyncsForService(service: AwsService): Sync[];
|
|
17
|
+
//# sourceMappingURL=syncMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAmClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AA2DrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { lowerCaseService } from '../services.js';
|
|
2
|
+
import { RestApisSync } from './apigateway/gateways.js';
|
|
3
|
+
import { BackupVaultsSync } from './backup/backupVaults.js';
|
|
4
|
+
import { DynamoDbStreamsSync } from './dynamodb/dynamoDbStreams.js';
|
|
5
|
+
import { DynamoDBTableSync } from './dynamodb/tables.js';
|
|
6
|
+
import { VpcEndpointsSync } from './ec2/vpcEndpoints.js';
|
|
7
|
+
import { EcrSyncs } from './ecr/ecrSyncs.js';
|
|
8
|
+
import { ElasticFileSystemsSync } from './efs/fileSystems.js';
|
|
9
|
+
import { EksAccessEntriesSync } from './eks/accessEntries.js';
|
|
10
|
+
import { EventBridgeEventBusesSync } from './events/eventBuses.js';
|
|
11
|
+
import { GlueCatalogSync } from './glue/catalogs.js';
|
|
12
|
+
import { AuthorizationDetailsSync } from './iam/authorizationDetails.js';
|
|
13
|
+
import { IdentityProviderSyncs } from './iam/identityProviders.js';
|
|
14
|
+
import { InstanceProfilesSync } from './iam/instanceProfiles.js';
|
|
15
|
+
import { KafkaClustersSync } from './kafka/clusters.js';
|
|
16
|
+
import { KinesisDataStreamsSync } from './kinesis/dataStreams.js';
|
|
17
|
+
import { KeySync } from './kms/key.js';
|
|
18
|
+
import { LambdaLayerVersionsSync, LambdaSync } from './lambda/lambda.js';
|
|
19
|
+
import { OpenSearchDomainsSync } from './opensearch/domains.js';
|
|
20
|
+
import { OrganizationSync } from './organizations/organizations.js';
|
|
21
|
+
import { RamResourcesSync } from './ram/ramShares.js';
|
|
22
|
+
import { S3AccessPointsSync } from './s3/accessPoints.js';
|
|
23
|
+
import { AccountS3BpaSync } from './s3/accountBpa.js';
|
|
24
|
+
import { S3GeneralPurposeBucketSync } from './s3/buckets.js';
|
|
25
|
+
import { S3MultiRegionAccessPointsSync } from './s3/multiRegionAccessPoints.js';
|
|
26
|
+
import { S3ObjectLambdaAccessPointsSync } from './s3/objectLambdaAccessPoints.js';
|
|
27
|
+
import { GlacierVaultsSync } from './s3/vaults.js';
|
|
28
|
+
import { S3DirectoryAccessPointsSync } from './s3express/s3DirectoryAccessPointsSync.js';
|
|
29
|
+
import { S3DirectoryBucketsSync } from './s3express/s3DirectoryBucketsSync.js';
|
|
30
|
+
import { S3OutpostsAccessPointsSync, S3OutpostsBucketsSync } from './s3outposts/s3OutpostsSyncs.js';
|
|
31
|
+
import { S3TableBucketsSync } from './s3tables/s3TablesSync.js';
|
|
32
|
+
import { SecretSync } from './secretsmanager/secrets.js';
|
|
33
|
+
import { SnsTopicsSync } from './sns/topics.js';
|
|
34
|
+
import { SqsQueueSync } from './sqs/queues.js';
|
|
35
|
+
import { SsoDataSync } from './sso/ssoInstances.js';
|
|
36
|
+
import {} from './sync.js';
|
|
37
|
+
const allSyncs = [
|
|
38
|
+
AccountS3BpaSync,
|
|
39
|
+
AuthorizationDetailsSync,
|
|
40
|
+
BackupVaultsSync,
|
|
41
|
+
DynamoDbStreamsSync,
|
|
42
|
+
DynamoDBTableSync,
|
|
43
|
+
...EcrSyncs,
|
|
44
|
+
EksAccessEntriesSync,
|
|
45
|
+
ElasticFileSystemsSync,
|
|
46
|
+
EventBridgeEventBusesSync,
|
|
47
|
+
InstanceProfilesSync,
|
|
48
|
+
...IdentityProviderSyncs,
|
|
49
|
+
GlacierVaultsSync,
|
|
50
|
+
GlueCatalogSync,
|
|
51
|
+
KafkaClustersSync,
|
|
52
|
+
KinesisDataStreamsSync,
|
|
53
|
+
KeySync,
|
|
54
|
+
LambdaSync,
|
|
55
|
+
LambdaLayerVersionsSync,
|
|
56
|
+
OpenSearchDomainsSync,
|
|
57
|
+
OrganizationSync,
|
|
58
|
+
RamResourcesSync,
|
|
59
|
+
RestApisSync,
|
|
60
|
+
S3AccessPointsSync,
|
|
61
|
+
S3DirectoryBucketsSync,
|
|
62
|
+
S3DirectoryAccessPointsSync,
|
|
63
|
+
S3GeneralPurposeBucketSync,
|
|
64
|
+
S3MultiRegionAccessPointsSync,
|
|
65
|
+
S3ObjectLambdaAccessPointsSync,
|
|
66
|
+
S3OutpostsAccessPointsSync,
|
|
67
|
+
S3OutpostsBucketsSync,
|
|
68
|
+
S3TableBucketsSync,
|
|
69
|
+
SecretSync,
|
|
70
|
+
SnsTopicsSync,
|
|
71
|
+
SqsQueueSync,
|
|
72
|
+
SsoDataSync,
|
|
73
|
+
VpcEndpointsSync
|
|
74
|
+
];
|
|
75
|
+
const syncMap = new Map();
|
|
76
|
+
for (const sync of allSyncs) {
|
|
77
|
+
const service = lowerCaseService(sync.awsService);
|
|
78
|
+
if (!syncMap.has(service)) {
|
|
79
|
+
syncMap.set(service, {
|
|
80
|
+
regional: [],
|
|
81
|
+
global: []
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const syncs = syncMap.get(service);
|
|
85
|
+
if (sync.global) {
|
|
86
|
+
syncs.global.push(sync);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
syncs.regional.push(sync);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the global syncs for a given AWS service.
|
|
94
|
+
*
|
|
95
|
+
* @param service The AWS service to get the syncs for
|
|
96
|
+
* @returns An array of syncs that are global for the specified service.
|
|
97
|
+
*/
|
|
98
|
+
export function getGlobalSyncsForService(service) {
|
|
99
|
+
const syncs = syncMap.get(lowerCaseService(service));
|
|
100
|
+
if (!syncs) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
return syncs.global;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get the regional syncs for a given AWS service.
|
|
107
|
+
*
|
|
108
|
+
* @param service The AWS service to get the syncs for
|
|
109
|
+
* @returns An array of syncs that are regional for the specified service.
|
|
110
|
+
*/
|
|
111
|
+
export function getRegionalSyncsForService(service) {
|
|
112
|
+
const syncs = syncMap.get(lowerCaseService(service));
|
|
113
|
+
if (!syncs) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
return syncs.regional;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=syncMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { ConcurrentWorkerPool } from '@actsecurity/job';
|
|
2
|
+
import type { Client, Command } from '@smithy/smithy-client';
|
|
3
|
+
import { AwsClientPool } from '../aws/ClientPool.js';
|
|
4
|
+
import { type AwsCredentialProviderWithMetaData } from '../aws/coreAuth.js';
|
|
5
|
+
import { type ResourceTypeParts } from '../persistence/AwsIamStore.js';
|
|
6
|
+
import { type AwsService } from '../services.js';
|
|
7
|
+
import { type Tags } from '../utils/tags.js';
|
|
8
|
+
import { type Sync } from './sync.js';
|
|
9
|
+
export type ClientConstructor = new (args: any) => Client<any, any, any, any>;
|
|
10
|
+
type CommandConstructor = new (args: any) => Command<any, any, any, any, any>;
|
|
11
|
+
type ShortCommandConstructor = new (args: any) => Command<any, any, any>;
|
|
12
|
+
export type CommandConstructors = CommandConstructor | ShortCommandConstructor;
|
|
13
|
+
export type ExtractOutputType<T> = T extends CommandConstructors ? InstanceType<T> extends Command<any, infer Output, any, any, any> ? Output : never : never;
|
|
14
|
+
export type ExtractInputType<T> = T extends CommandConstructors ? InstanceType<T> extends Command<infer Input, any, any, any, any> ? Input : never : never;
|
|
15
|
+
type Pagination<C extends CommandConstructors> = {
|
|
16
|
+
inputKey: Extract<keyof ExtractInputType<C>, string>;
|
|
17
|
+
outputKey: Extract<keyof ExtractOutputType<C>, string>;
|
|
18
|
+
} | '::no-pagination::';
|
|
19
|
+
type ClientInstanceOrConstructor = InstanceType<ClientConstructor>;
|
|
20
|
+
/**
|
|
21
|
+
* Paginates through all available resources for a given AWS API
|
|
22
|
+
*
|
|
23
|
+
* @param clientClass The AWS Client class to use
|
|
24
|
+
* @param commandClass The command class to invoke for the resource
|
|
25
|
+
* @param key The key of the resource in the command output to pull
|
|
26
|
+
* @param paginationConfig The pagination configuration for the command, defines the keys to use for pagination, use `::no-pagination::` to indicate no pagination
|
|
27
|
+
* @param params Optional parameters to pass to the command
|
|
28
|
+
* @returns Returns an array of resources returned from the commandClass Response Type key
|
|
29
|
+
*/
|
|
30
|
+
export declare function paginateResource<C extends CommandConstructors, K extends keyof ExtractOutputType<C>>(clientClassOrInstance: ClientInstanceOrConstructor, commandClass: C, key: K, paginationConfig: Pagination<C>, params?: Partial<ExtractInputType<C>>): Promise<NonNullable<ExtractOutputType<C>[K]>>;
|
|
31
|
+
type ArrayElementType<T> = T extends (infer E)[] ? E : never;
|
|
32
|
+
type ResourceElementType<C extends CommandConstructors, K extends keyof ExtractOutputType<C>> = ArrayElementType<ExtractOutputType<C>[K]> extends string ? {
|
|
33
|
+
name: string;
|
|
34
|
+
} : ArrayElementType<ExtractOutputType<C>[K]>;
|
|
35
|
+
type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
|
|
36
|
+
export type ExtraFieldsDefinition<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>> = Record<string, (client: InstanceType<C>, resource: ResourceElementType<Cmd, K>, accountId: string, region: string, partition: string) => Promise<any>>;
|
|
37
|
+
type ExtraFieldsReturnType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, T extends ExtraFieldsDefinition<any, Cmd, K>> = {
|
|
38
|
+
[K in keyof T]: PromiseType<ReturnType<T[K]>> | undefined;
|
|
39
|
+
};
|
|
40
|
+
export type ExtendedResourceElementType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<any, Cmd, K>> = ResourceElementType<Cmd, K> & {
|
|
41
|
+
extraFields: ExtraFieldsReturnType<C, Cmd, K, ExtraFieldsFunc>;
|
|
42
|
+
};
|
|
43
|
+
export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFields extends ExtraFieldsDefinition<C, Cmd, K> = Record<string, () => Promise<any>>> = {
|
|
44
|
+
/**
|
|
45
|
+
* The client to use
|
|
46
|
+
*/
|
|
47
|
+
client: C;
|
|
48
|
+
/**
|
|
49
|
+
* The command to execute
|
|
50
|
+
*/
|
|
51
|
+
command: Cmd;
|
|
52
|
+
/**
|
|
53
|
+
* The key of the resource in the command output to pull
|
|
54
|
+
*/
|
|
55
|
+
key: K;
|
|
56
|
+
/**
|
|
57
|
+
* The pagination token to get from the response and pass to the next call
|
|
58
|
+
*/
|
|
59
|
+
paginationConfig: Pagination<Cmd>;
|
|
60
|
+
/**
|
|
61
|
+
* The resource type parts used to sync with storage
|
|
62
|
+
*
|
|
63
|
+
* @param accountId the account ID of the resource
|
|
64
|
+
* @param region the region of the resource
|
|
65
|
+
* @returns the resource type parts
|
|
66
|
+
*/
|
|
67
|
+
resourceTypeParts: (accountId: string, region: string) => ResourceTypeParts;
|
|
68
|
+
/**
|
|
69
|
+
* Custom arguments to pass to the command, useful for filtering resources.
|
|
70
|
+
*
|
|
71
|
+
* @param awsId The AWS account ID being queried
|
|
72
|
+
* @param region The region being queried
|
|
73
|
+
* @returns a set of arguments to pass to the command
|
|
74
|
+
*/
|
|
75
|
+
arguments?: (awsId: string, region: string) => Partial<ExtractInputType<Cmd>>;
|
|
76
|
+
/**
|
|
77
|
+
* Indicates if the resource type is global.
|
|
78
|
+
*/
|
|
79
|
+
globalResourceType?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* The function to get the tags for a resource
|
|
82
|
+
* @param resource The resource to get the tags for
|
|
83
|
+
* @returns The tags for the resource, or undefined if there are no tags
|
|
84
|
+
*/
|
|
85
|
+
tags: (resource: ExtendedResourceElementType<C, Cmd, K, ExtraFields>) => Tags | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Create the ARN for a resource
|
|
88
|
+
*
|
|
89
|
+
* @param resource the resource to create the ARN for
|
|
90
|
+
* @param region the region the resource is in
|
|
91
|
+
* @param accountId the account the resource is in
|
|
92
|
+
* @returns the ARN for the resource
|
|
93
|
+
*/
|
|
94
|
+
arn: (resource: ResourceElementType<Cmd, K>, region: string, accountId: string, partition: string) => string;
|
|
95
|
+
/**
|
|
96
|
+
* The extra fields to get for a resource
|
|
97
|
+
* @param client The client to use to get the extra fields
|
|
98
|
+
* @param resource The resource to get the extra fields for
|
|
99
|
+
* @returns an object of extra fields to get, where the key is the name of the field and the value is a function that returns the value of the field
|
|
100
|
+
*/
|
|
101
|
+
extraFields?: ExtraFields;
|
|
102
|
+
/**
|
|
103
|
+
* The results to persist for a resource, except for the ARN and tags, those are handled automatically.
|
|
104
|
+
*
|
|
105
|
+
* @param resource The resource to get the custom fields for, includes extraFields from the `extraFields` function
|
|
106
|
+
*/
|
|
107
|
+
results: (resource: ExtendedResourceElementType<C, Cmd, K, ExtraFields>) => Record<string, any>;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Creates a resource sync type and returns it. This provides cleaner syntax than
|
|
111
|
+
* making one directly and having to define the types twice.
|
|
112
|
+
*
|
|
113
|
+
* @param config Configuration for the resource sync type
|
|
114
|
+
* @returns The ResourceSyncType instance passed in.
|
|
115
|
+
*/
|
|
116
|
+
export declare function createResourceSyncType<const C extends ClientConstructor, const Cmd extends CommandConstructors, const K extends keyof ExtractOutputType<Cmd>, const ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(config: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>;
|
|
117
|
+
/**
|
|
118
|
+
* Paginates a ResourceSyncType and returns the resources.
|
|
119
|
+
*
|
|
120
|
+
* @param resourceTypeSync The configuration to use.
|
|
121
|
+
* @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
|
|
122
|
+
* @param region The region to get the resources for.
|
|
123
|
+
* @returns Returns all the resources for the given type in the given region with extraFields populated.
|
|
124
|
+
*/
|
|
125
|
+
export declare function paginateResourceConfig<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>, credentials: AwsCredentialProviderWithMetaData, region: string, endpoint: string | undefined, workerPool: ConcurrentWorkerPool<any, any>, awsService: AwsService, resourceType: string, clientPool: AwsClientPool): Promise<ExtendedResourceElementType<C, Cmd, K, ExtraFieldsFunc>[]>;
|
|
126
|
+
/**
|
|
127
|
+
* Create a typed sync operation for a given AWS service and resource type.
|
|
128
|
+
*
|
|
129
|
+
* Because of obscure typescript issues, the order of the keys in `resourceTypeSync` is important.
|
|
130
|
+
* This order is known to work:
|
|
131
|
+
* client, command, key, paginationConfig, arn, extraFields, tags, resourceTypeParts, results
|
|
132
|
+
*
|
|
133
|
+
* @param awsService the AWS service to sync
|
|
134
|
+
* @param name the name of the sync operation
|
|
135
|
+
* @param resourceTypeSync the resource type sync configuration
|
|
136
|
+
* @returns The sync operation
|
|
137
|
+
*/
|
|
138
|
+
export declare function createTypedSyncOperation<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(awsService: AwsService, name: string, resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): Sync;
|
|
139
|
+
export {};
|
|
140
|
+
//# sourceMappingURL=typedSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedSync.d.ts","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { ConcurrentWorkerPool } from '@actsecurity/job';
|
|
2
|
+
import { AwsClientPool } from '../aws/ClientPool.js';
|
|
3
|
+
import {} from '../aws/coreAuth.js';
|
|
4
|
+
import {} from '../persistence/AwsIamStore.js';
|
|
5
|
+
import {} from '../services.js';
|
|
6
|
+
import { runAndCatchAccessDeniedWithLog, withDnsRetry } from '../utils/client-tools.js';
|
|
7
|
+
import { log } from '@cloud-copilot/log';
|
|
8
|
+
import { convertTagsToRecord } from '../utils/tags.js';
|
|
9
|
+
import { syncData } from './sync.js';
|
|
10
|
+
/**
|
|
11
|
+
* Paginates through all available resources for a given AWS API
|
|
12
|
+
*
|
|
13
|
+
* @param clientClass The AWS Client class to use
|
|
14
|
+
* @param commandClass The command class to invoke for the resource
|
|
15
|
+
* @param key The key of the resource in the command output to pull
|
|
16
|
+
* @param paginationConfig The pagination configuration for the command, defines the keys to use for pagination, use `::no-pagination::` to indicate no pagination
|
|
17
|
+
* @param params Optional parameters to pass to the command
|
|
18
|
+
* @returns Returns an array of resources returned from the commandClass Response Type key
|
|
19
|
+
*/
|
|
20
|
+
export async function paginateResource(clientClassOrInstance, commandClass, key, paginationConfig, params) {
|
|
21
|
+
const client = clientClassOrInstance;
|
|
22
|
+
let nextToken = undefined;
|
|
23
|
+
const inputPaginationKey = paginationInputKey(paginationConfig);
|
|
24
|
+
const outputPaginationKey = paginationOutputKey(paginationConfig);
|
|
25
|
+
const resources = [];
|
|
26
|
+
params = params || {};
|
|
27
|
+
do {
|
|
28
|
+
const args = { ...params };
|
|
29
|
+
if (inputPaginationKey) {
|
|
30
|
+
args[inputPaginationKey] = nextToken;
|
|
31
|
+
}
|
|
32
|
+
const command = new commandClass(args);
|
|
33
|
+
const results = await client.send(command);
|
|
34
|
+
if (results[key]) {
|
|
35
|
+
resources.push(...results[key]);
|
|
36
|
+
}
|
|
37
|
+
if (outputPaginationKey) {
|
|
38
|
+
nextToken = results[outputPaginationKey];
|
|
39
|
+
}
|
|
40
|
+
} while (nextToken);
|
|
41
|
+
return resources;
|
|
42
|
+
}
|
|
43
|
+
function paginationInputKey(paginationConfig) {
|
|
44
|
+
if (paginationConfig === '::no-pagination::') {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
else if (typeof paginationConfig === 'object') {
|
|
48
|
+
return paginationConfig.inputKey;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function paginationOutputKey(paginationConfig) {
|
|
55
|
+
if (paginationConfig === '::no-pagination::') {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
else if (typeof paginationConfig === 'object') {
|
|
59
|
+
return paginationConfig.outputKey;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Creates a resource sync type and returns it. This provides cleaner syntax than
|
|
67
|
+
* making one directly and having to define the types twice.
|
|
68
|
+
*
|
|
69
|
+
* @param config Configuration for the resource sync type
|
|
70
|
+
* @returns The ResourceSyncType instance passed in.
|
|
71
|
+
*/
|
|
72
|
+
export function createResourceSyncType(config) {
|
|
73
|
+
return config;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Paginates a ResourceSyncType and returns the resources.
|
|
77
|
+
*
|
|
78
|
+
* @param resourceTypeSync The configuration to use.
|
|
79
|
+
* @param credentials The credentials to use for AWS API calls. Pass undefined to use the environment credentials.
|
|
80
|
+
* @param region The region to get the resources for.
|
|
81
|
+
* @returns Returns all the resources for the given type in the given region with extraFields populated.
|
|
82
|
+
*/
|
|
83
|
+
export async function paginateResourceConfig(resourceTypeSync, credentials, region, endpoint, workerPool, awsService, resourceType, clientPool) {
|
|
84
|
+
const accountId = credentials.accountId;
|
|
85
|
+
const partition = credentials.partition;
|
|
86
|
+
const client = clientPool.client(resourceTypeSync.client, credentials, region, endpoint);
|
|
87
|
+
let resources = await withDnsRetry(() => {
|
|
88
|
+
return paginateResource(client, resourceTypeSync.command, resourceTypeSync.key, resourceTypeSync.paginationConfig, resourceTypeSync.arguments ? resourceTypeSync.arguments(accountId, region) : undefined);
|
|
89
|
+
});
|
|
90
|
+
//If the resource is a string, convert it to an object with the name field set
|
|
91
|
+
if (resources.length > 0 && typeof resources[0] === 'string') {
|
|
92
|
+
resources = resources.map((resource) => ({ name: resource }));
|
|
93
|
+
}
|
|
94
|
+
if (resourceTypeSync.extraFields) {
|
|
95
|
+
await Promise.all(resources.map(async (resource) => {
|
|
96
|
+
const resourceArn = resourceTypeSync.arn(resource, region, accountId, partition);
|
|
97
|
+
const fields = resourceTypeSync.extraFields || {};
|
|
98
|
+
const extraFields = Object.entries(fields);
|
|
99
|
+
//Get the extra field values
|
|
100
|
+
const extraFieldPromises = workerPool.enqueueAll(extraFields.map(([key, callback]) => ({
|
|
101
|
+
properties: { field: key, arn: resourceArn },
|
|
102
|
+
execute: async (context) => {
|
|
103
|
+
const value = await withDnsRetry(() => {
|
|
104
|
+
return runAndCatchAccessDeniedWithLog(resourceArn, awsService, resourceType, key, async () => {
|
|
105
|
+
return callback(client, resource, credentials.accountId, region, partition);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
return [key, value];
|
|
109
|
+
}
|
|
110
|
+
})));
|
|
111
|
+
const extraFieldValues = await Promise.all(extraFieldPromises);
|
|
112
|
+
resource.extraFields = {};
|
|
113
|
+
let anyFailure = false;
|
|
114
|
+
for (const result of extraFieldValues) {
|
|
115
|
+
if (result.status === 'rejected') {
|
|
116
|
+
log.error(result.reason, {
|
|
117
|
+
field: result.properties.field,
|
|
118
|
+
arn: result.properties.arn,
|
|
119
|
+
awsService,
|
|
120
|
+
resourceType
|
|
121
|
+
}, 'Failed to get extra field value');
|
|
122
|
+
anyFailure = true;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const value = result.value;
|
|
126
|
+
resource.extraFields[value[0]] = value[1];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (anyFailure) {
|
|
130
|
+
throw new Error('Failed to get some extra field values');
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
return resources;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Create a typed sync operation for a given AWS service and resource type.
|
|
138
|
+
*
|
|
139
|
+
* Because of obscure typescript issues, the order of the keys in `resourceTypeSync` is important.
|
|
140
|
+
* This order is known to work:
|
|
141
|
+
* client, command, key, paginationConfig, arn, extraFields, tags, resourceTypeParts, results
|
|
142
|
+
*
|
|
143
|
+
* @param awsService the AWS service to sync
|
|
144
|
+
* @param name the name of the sync operation
|
|
145
|
+
* @param resourceTypeSync the resource type sync configuration
|
|
146
|
+
* @returns The sync operation
|
|
147
|
+
*/
|
|
148
|
+
export function createTypedSyncOperation(awsService, name, resourceTypeSync) {
|
|
149
|
+
return {
|
|
150
|
+
awsService,
|
|
151
|
+
name,
|
|
152
|
+
global: resourceTypeSync.globalResourceType ?? false,
|
|
153
|
+
execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
|
|
154
|
+
const awsId = credentials.accountId;
|
|
155
|
+
const clientPool = syncOptions.clientPool;
|
|
156
|
+
log.trace('getting resources', { region: region, accountId, service: awsService, name });
|
|
157
|
+
const resources = await paginateResourceConfig(resourceTypeSync, credentials, region, endpoint, syncOptions.workerPool, awsService, name, clientPool);
|
|
158
|
+
log.trace('received resources', { region: region, accountId, service: awsService, name });
|
|
159
|
+
const records = resources.map((resource) => {
|
|
160
|
+
const result = resourceTypeSync.results(resource);
|
|
161
|
+
result.arn = resourceTypeSync.arn(resource, region, awsId, credentials.partition);
|
|
162
|
+
if (result.metadata) {
|
|
163
|
+
result.metadata.arn = result.arn;
|
|
164
|
+
}
|
|
165
|
+
result.tags = convertTagsToRecord(resourceTypeSync.tags(resource));
|
|
166
|
+
return result;
|
|
167
|
+
});
|
|
168
|
+
await syncData(records, storage, accountId, resourceTypeSync.resourceTypeParts(awsId, region), syncOptions.writeOnly);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=typedSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type AwsService } from '../services.js';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param operation The operation to run.
|
|
5
|
+
* @returns If successful, returns the result of operation. If operation returns a 404, returns undefined.
|
|
6
|
+
* @throws If operation returns a non 404 error, rethrows that error.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runAndCatch404<T>(operation: () => Promise<T | undefined>): Promise<T | undefined>;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param operation The operation to run.
|
|
12
|
+
* @returns If successful, returns the result of operation. If operation returns a 404, returns undefined.
|
|
13
|
+
* @throws If operation returns a non 400 error, rethrows that error.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runAndCatchAccessDenied<T>(operation: () => Promise<T | undefined>, onError?: (error: any) => Promise<T | undefined>): Promise<T | undefined>;
|
|
16
|
+
export declare function runAndCatchAccessDeniedWithLog<T>(arn: string, awsService: AwsService, resourceType: string, field: string, operation: () => Promise<T | undefined>): Promise<T | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* Run an operation and catch a specific error by name. Return undefined if the error matches, otherwise rethrow the error.
|
|
19
|
+
*
|
|
20
|
+
* @param errorName the name of the error to catch
|
|
21
|
+
* @param operation the operation to run
|
|
22
|
+
* @returns If successful, returns the result of operation. If operation throws an error with the specified name, returns undefined.
|
|
23
|
+
* @throws If operation throws an error with a different name, rethrows that error.
|
|
24
|
+
*/
|
|
25
|
+
export declare function runAndCatchError<T>(errorName: string, operation: () => Promise<T | undefined>, onError?: (error: any) => Promise<T | undefined>): Promise<T | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Retry a function that may fail due to DNS resolution issues.
|
|
28
|
+
*
|
|
29
|
+
* @param fn the function to retry
|
|
30
|
+
* @param tries the number of times to retry the function
|
|
31
|
+
* @returns the result of the function if successful, otherwise throws the last error encountered
|
|
32
|
+
*/
|
|
33
|
+
export declare function withDnsRetry<T>(fn: () => Promise<T>, tries?: number): Promise<T>;
|
|
34
|
+
//# sourceMappingURL=client-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-tools.d.ts","sourceRoot":"","sources":["../../../src/utils/client-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GACtC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAUxB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/C,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAmBxB;AAED,wBAAsB,8BAA8B,CAAC,CAAC,EACpD,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GACtC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAWxB;AAED;;;;;;;GAOG;AAEH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/C,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAaxB;AAID;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBjF"}
|