@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
package/README.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# iam-collect
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@cloud-copilot/iam-collect) [](LICENSE.txt) [](https://github.com/cloud-copilot/iam-collect/actions/workflows/guarddog.yml) [](https://snyk.io/test/github/cloud-copilot/iam-collect?targetFile=package.json)
|
|
4
|
+
|
|
5
|
+
Get every possible policy in any set of AWS accounts. This is built to run out of the box in simple use cases, and also work in terribly oppressive environments with a little more configuration. If you want to analyze IAM data at scale this is what you've been looking for.
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Tenets](#iam-collect-tenets)
|
|
10
|
+
2. [Introduction](#introduction)
|
|
11
|
+
3. [Getting Started](#getting-started)
|
|
12
|
+
4. [Using Your Data](#using-your-data)
|
|
13
|
+
5. [Configuration](docs/Configuration.md)
|
|
14
|
+
6. [Authentication](docs/Authentication.md)
|
|
15
|
+
7. [Storage](docs/Storage.md)
|
|
16
|
+
8. [Filtering](docs/Filtering.md)
|
|
17
|
+
9. [Indexing](docs/Indexing.md)
|
|
18
|
+
10. [CLI](docs/CLI.md)
|
|
19
|
+
11. [History](docs/History.md)
|
|
20
|
+
12. [Supported Services and Data](#supported-services-and-data)
|
|
21
|
+
13. [Using AWS Config as a Data Source](docs/AwsConfig.md)
|
|
22
|
+
14. [Deploying iam-collect at Scale with Terraform](infrastructure_as_code/terraform/README.md)
|
|
23
|
+
|
|
24
|
+
## iam-collect Tenets
|
|
25
|
+
|
|
26
|
+
1. _Centralized_ Store [all your data](#supported-services-and-data) across all partitions, organizations, accounts, and regions in one place. This is a single source of truth for all your IAM data.
|
|
27
|
+
2. _Easy_ A few commands and you can get started and everything should just work. If resources no longer exist, data is cleaned up automatically.
|
|
28
|
+
3. _Configurable_ Store your data on [disk or in S3](docs/Storage.md). You can configure exactly what [accounts, regions, and services](docs/Filtering.md) you want to collect data for; and [customize auth](docs/Authentication.md) for each.
|
|
29
|
+
|
|
30
|
+
## Introduction
|
|
31
|
+
|
|
32
|
+
### What is iam-collect?
|
|
33
|
+
|
|
34
|
+
iam-collect is a command-line tool that aggregates every IAM-related resource and policy across any number of AWS accounts, regions, and partitions into a single, consistent dataset. It requires minimal setup for simple use cases and allows flexible configuration to operate in even the most restrictive (compliance oriented) environments to give you a single source of truth for your IAM data.
|
|
35
|
+
|
|
36
|
+
### Why use it?
|
|
37
|
+
|
|
38
|
+
- **Centralized store:** Consolidate IAM data from multiple partitions, organizations, and accounts into one structured store.
|
|
39
|
+
- **Get everything:** Collect all the polices from all the resources in all your accounts. Terraform will show you what was intended, iam-collect will show you what is actually there.
|
|
40
|
+
- **Audit and compliance:** Generate comprehensive snapshots of your IAM landscape to support security reviews, audits, and forensics. The structured approach to storage makes it easy to build automation and tooling around the data.
|
|
41
|
+
|
|
42
|
+
### How it works at a glance
|
|
43
|
+
|
|
44
|
+
Every time you run `iam-collect download` it will:
|
|
45
|
+
|
|
46
|
+
1. **Scan:** Connect to AWS account(s) using your configured credentials or roles and retrieve IAM resources (users, roles, policies, etc.) from each target account.
|
|
47
|
+
2. **Store:** Persist the data to your chosen storage (local filesystem or S3), organizing it by partition, account, service, and resource.
|
|
48
|
+
3. **Index:** Build search-friendly JSON indexes that map resources to accounts and other relationships for fast lookups.
|
|
49
|
+
|
|
50
|
+
Then you use the data to analyze your IAM landscape, build reports, or integrate with other tools.
|
|
51
|
+
|
|
52
|
+
## Getting Started
|
|
53
|
+
|
|
54
|
+
By default, iam-collect will use the credentials configured in your environment using the [default credential chain](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromnodeproviderchain). If you have the permissions in the SID `CollectIAMData` in the [example policy](src/aws/collect-policy.json) everything will work for the current account you have credentials for.
|
|
55
|
+
|
|
56
|
+
You don't need the AWS CLI, but a good way to make sure your credentials are configured is to ensure you can run `aws sts get-caller-identity` and a command that requires a region be set such as `aws ec2 describe-instances`.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm install -g @cloud-copilot/iam-collect
|
|
60
|
+
# Create a default configuration file
|
|
61
|
+
iam-collect init
|
|
62
|
+
# Download iam data from the current account to `./iam-data`
|
|
63
|
+
iam-collect download
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Install
|
|
67
|
+
|
|
68
|
+
You need Node.js >= 20.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm install -g @cloud-copilot/iam-collect
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Initialize
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
iam-collect init
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
This will create a file called `iam-collect.jsonc` in the current directory with a simple default configuration and many comments on how to customize the configuration.
|
|
81
|
+
|
|
82
|
+
### Download
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
iam-collect download
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
This will download the IAM data from the current account to the `./iam-data` directory. You can change the output directory by modifying the `storage.path` property in the configuration. See the [storage docs](docs/Storage.md) for more details.
|
|
89
|
+
|
|
90
|
+
### Enjoy
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ls -R ./iam-data
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
This will show you your data that was downloaded. See the [storage docs](docs/Storage.md#storage-layout-explained) for more details on the layout of the data.
|
|
97
|
+
|
|
98
|
+
## Additional Docs
|
|
99
|
+
|
|
100
|
+
- [Configuration](docs/Configuration.md) - Set the configuration files to use.
|
|
101
|
+
- [Authentication](docs/Authentication.md) - Configure authentication for different accounts, services, and regions.
|
|
102
|
+
- [Storage](docs/Storage.md) - Configure where your data is stored.
|
|
103
|
+
- [Filtering](docs/Filtering.md) - Configure what accounts, services, and regions are downloaded.
|
|
104
|
+
- [Indexing](docs/Indexing.md) - Disable or manually run indexing.
|
|
105
|
+
- [CLI](docs/CLI.md) - Details on the CLI commands and options.
|
|
106
|
+
- [History](docs/History.md) - How to track history of changes.
|
|
107
|
+
|
|
108
|
+
## Using Your Data
|
|
109
|
+
|
|
110
|
+
### iam-lens
|
|
111
|
+
|
|
112
|
+
To explore effective access in your environment check out [iam-lens](https://github.com/cloud-copilot/iam-lens). iam-lens reads your iam-collect data to answer questions like: "Who can access this resource?", "Who can assume this role?", and "Does this principal have access to this bucket?"
|
|
113
|
+
|
|
114
|
+
### Leveraging Your AI
|
|
115
|
+
|
|
116
|
+
Use [AgentInstructions.md](docs/AgentInstructions.md) to help your AI understand the data and how to interrogate it.
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
curl -O https://raw.githubusercontent.com/cloud-copilot/iam-collect/main/docs/AgentInstructions.md
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Then you can start asking questions like "Using AgentInstructions.md as context...":
|
|
123
|
+
|
|
124
|
+
- Do I have any roles that have "\*" in the trust policy?
|
|
125
|
+
- Which users have the "AdministratorAccess" managed policy attached?
|
|
126
|
+
- What RAM shares are sharing resources outside of my organization?
|
|
127
|
+
- Are there any S3 buckets without block public access enabled?
|
|
128
|
+
|
|
129
|
+
You can also ask your AI to generate scripts to predictably and scalably answer these same questions for you.
|
|
130
|
+
|
|
131
|
+
## Additional Data Sources
|
|
132
|
+
|
|
133
|
+
By default, iam-collect collects data directly from AWS service APIs.
|
|
134
|
+
|
|
135
|
+
If you prefer, you can configure iam-collect to pull data from AWS Config instead. See the [AWS Config data source documentation](docs/AwsConfig.md) for details.
|
|
136
|
+
|
|
137
|
+
## Supported Services and Data
|
|
138
|
+
|
|
139
|
+
| Service | Resource Type | Data Downloaded |
|
|
140
|
+
| ----------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
141
|
+
| iam | Users | name, path, id, groups, tags, inline policies, managed policies, permission boundary |
|
|
142
|
+
| iam | Groups | name, path, id, inline policies, managed policies |
|
|
143
|
+
| iam | Roles | name, path, id, trust policy, inline policies, managed policies, instance profiles, tags (excluded by default), permission boundary |
|
|
144
|
+
| iam | Customer and AWS Managed Policies | name, path, id, default version, default version doc, tags |
|
|
145
|
+
| iam | OIDC Providers | audiences, thumbprints, url, tags |
|
|
146
|
+
| iam | SAML Providers | metadata document, uuid, private keys, valid until, tags |
|
|
147
|
+
| iam | Instance Profiles | name, roles, id, path, tags |
|
|
148
|
+
| apigateway | Rest APIs | id, name, policy, tags |
|
|
149
|
+
| backup | Backup Vaults | name, key, tags, policy |
|
|
150
|
+
| dynamodb | Streams | name, region, resource policy |
|
|
151
|
+
| dynamodb | Tables | name, region, tags, resource policy |
|
|
152
|
+
| ecr | Repositories | name, region, tags, resource policy, key id |
|
|
153
|
+
| ecr | Registries | policy |
|
|
154
|
+
| ec2 | VPC Endpoints | id, name, type, vpc, policy |
|
|
155
|
+
| eks | Clusters | name, authentication mode, tags |
|
|
156
|
+
| eks | Access Entries | cluster, principal, username, type, kubernetes groups, associated access policies, tags |
|
|
157
|
+
| elasticfilesystem | File Systems | name, id, key, encryption, tags, policy |
|
|
158
|
+
| es | OpenSearch Domains | name, policy, tags, KMS key id |
|
|
159
|
+
| events | Event Buses | name, key id, policy, tags |
|
|
160
|
+
| glacier | Vaults | name, region, tags, policy |
|
|
161
|
+
| glue | Root Catalogs | policy |
|
|
162
|
+
| kafka | MSK Clusters | name, policy, kms key, tags |
|
|
163
|
+
| kinesis | Data Streams | name, encryption type, key id, policy, tags |
|
|
164
|
+
| kms | Keys | id, policy, tags |
|
|
165
|
+
| lambda | Functions | name, role, tags, policy |
|
|
166
|
+
| lambda | Function Aliases | name, role, alias, version, policy |
|
|
167
|
+
| lambda | Layer Versions | name, version, policy |
|
|
168
|
+
| ram | Shared Resources | resource shares, resource policy |
|
|
169
|
+
| s3 | Access Points | name, bucket, bucket account, policy, block public access configuration, network origin, vpc, alias, endpoints |
|
|
170
|
+
| s3 | Buckets | name, region, tags, policy, block public access configuration, default encryption |
|
|
171
|
+
| s3 | Multi Region Access Points | name, alias, regions, policy, block public access configuration |
|
|
172
|
+
| s3-object-lambda | Object Lambda Access Points | name, alias, policy, block public access configuration |
|
|
173
|
+
| s3express | Directory Buckets | name, encryption settings, policy |
|
|
174
|
+
| s3express | Directory Bucket Access Points | name, bucket, bucket account, policy, block public access configuration, network origin, vpc, alias, endpoints |
|
|
175
|
+
| s3outposts | Outpost Buckets | name, region, tags, policy |
|
|
176
|
+
| s3outposts | Outpost Access Points | name, bucket, bucket account, policy, network origin, vpc |
|
|
177
|
+
| s3tables | Table Buckets | name, region, bucket policy, encryption |
|
|
178
|
+
| organizations | Organizations | id, root account id, enabled policy types, org structure, delegated administrators |
|
|
179
|
+
| organizations | Organizational Units | id, parent ou, enabled SCPs, enabled RCPs, tags |
|
|
180
|
+
| organizations | Accounts | id, parent ou, enabled SCPs, enabled RCPs, tags |
|
|
181
|
+
| organizations | SCPs, RCPs, S3 Policies | id, name, description, tags, policy |
|
|
182
|
+
| sns | Topics | name, tags, kms key id, policy |
|
|
183
|
+
| sqs | Queues | name, tags, kms key id, policy |
|
|
184
|
+
| secretsmanager | Secrets | name, tags, kms key id, policy |
|
|
185
|
+
| sso | Instances | id, name, owner account id, status, tags |
|
|
186
|
+
| sso | Permission Sets | name, description, AWS managed policies, customer managed policies, inline policy, permission boundary, accounts, tags |
|
|
187
|
+
|
|
188
|
+
If you don't see the data you are looking for, please check the [open resource issues](https://github.com/cloud-copilot/iam-collect/issues?q=is%3Aissue%20state%3Aopen%20label%3Aresource) and comment on the issue or create a new one.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analyze the provided log file for job execution times and incomplete jobs.
|
|
3
|
+
*
|
|
4
|
+
* @param logFilePath the path to the log file to analyze
|
|
5
|
+
* @returns true if all jobs completed successfully, false if there are incomplete jobs
|
|
6
|
+
*/
|
|
7
|
+
export declare function conductLogAnalysis(logFilePath: string): Promise<boolean>;
|
|
8
|
+
//# sourceMappingURL=analyze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/analysis/analyze.ts"],"names":[],"mappings":"AAsFA;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoB9E"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.conductLogAnalysis = conductLogAnalysis;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
function keyToString(k) {
|
|
40
|
+
return [k.service, k.accountId, k.region, k.sync].join('|');
|
|
41
|
+
}
|
|
42
|
+
function stringToKey(s) {
|
|
43
|
+
const [service, accountId, region, sync] = s.split('|');
|
|
44
|
+
return { service, accountId, region, sync };
|
|
45
|
+
}
|
|
46
|
+
function parseLogs(filePath) {
|
|
47
|
+
const raw = fs.readFileSync(filePath, 'utf8');
|
|
48
|
+
return raw
|
|
49
|
+
.split('\n')
|
|
50
|
+
.filter((line) => line.trim().length > 0)
|
|
51
|
+
.map((line) => JSON.parse(line));
|
|
52
|
+
}
|
|
53
|
+
function analyzeJobs(entries) {
|
|
54
|
+
const startTimes = new Map();
|
|
55
|
+
const finishTimes = new Map();
|
|
56
|
+
const fmt = (ts) => new Date(ts);
|
|
57
|
+
for (const e of entries) {
|
|
58
|
+
const keyProps = {
|
|
59
|
+
service: e.service,
|
|
60
|
+
accountId: e.accountId,
|
|
61
|
+
region: e.region ?? '', // global jobs will have empty region
|
|
62
|
+
sync: e.sync
|
|
63
|
+
};
|
|
64
|
+
// only consider entries with a full set of job identifiers
|
|
65
|
+
if (!keyProps.service || !keyProps.accountId || !keyProps.sync) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const keyStr = keyToString(keyProps);
|
|
69
|
+
const when = fmt(e.timestamp);
|
|
70
|
+
if (e.message.includes('Executing') && e.message.includes('sync')) {
|
|
71
|
+
// first start time wins
|
|
72
|
+
if (!startTimes.has(keyStr)) {
|
|
73
|
+
startTimes.set(keyStr, when);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (e.message.includes('Finished') && e.message.includes('sync')) {
|
|
77
|
+
finishTimes.set(keyStr, when);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// 1) Jobs that started but didn't finish
|
|
81
|
+
const incomplete = Array.from(startTimes.keys())
|
|
82
|
+
.filter((k) => !finishTimes.has(k))
|
|
83
|
+
.map(stringToKey);
|
|
84
|
+
// 2) Compute durations for completed jobs
|
|
85
|
+
const durations = Array.from(startTimes.entries())
|
|
86
|
+
.filter(([k]) => finishTimes.has(k))
|
|
87
|
+
.map(([k, start]) => {
|
|
88
|
+
const finish = finishTimes.get(k);
|
|
89
|
+
const deltaSec = (finish.getTime() - start.getTime()) / 1000;
|
|
90
|
+
return { ...stringToKey(k), durationSec: deltaSec };
|
|
91
|
+
});
|
|
92
|
+
return { incomplete, durations };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Analyze the provided log file for job execution times and incomplete jobs.
|
|
96
|
+
*
|
|
97
|
+
* @param logFilePath the path to the log file to analyze
|
|
98
|
+
* @returns true if all jobs completed successfully, false if there are incomplete jobs
|
|
99
|
+
*/
|
|
100
|
+
async function conductLogAnalysis(logFilePath) {
|
|
101
|
+
const logFile = path.resolve(logFilePath);
|
|
102
|
+
const entries = parseLogs(logFile);
|
|
103
|
+
const { incomplete, durations } = analyzeJobs(entries);
|
|
104
|
+
if (incomplete.length > 0) {
|
|
105
|
+
console.log('\n🔴 Incomplete Jobs:');
|
|
106
|
+
incomplete.forEach((j) => {
|
|
107
|
+
console.log(` • ${j.service} | ${j.accountId} | ${j.region} | ${j.sync}`);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
console.log('\n⏱️ Job Durations (seconds):');
|
|
111
|
+
durations.forEach((d) => {
|
|
112
|
+
console.log(` • ${d.service} | ${d.accountId} | ${d.region} | ${d.sync}: ${d.durationSec.toFixed(3)}s`);
|
|
113
|
+
});
|
|
114
|
+
return incomplete.length === 0;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analysis/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Client } from '@smithy/smithy-client';
|
|
2
|
+
import { type AwsService } from '../services.js';
|
|
3
|
+
import { type AwsCredentialProviderWithMetaData } from './coreAuth.js';
|
|
4
|
+
export type ClientConstructor<T> = new (args: any) => T;
|
|
5
|
+
export type AnyClient = Client<any, any, any, any>;
|
|
6
|
+
export declare class AwsClientPool {
|
|
7
|
+
static defaultInstance: AwsClientPool;
|
|
8
|
+
private clientCache;
|
|
9
|
+
private defaultRetryStrategy;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Returns a client of the specified type with the specified credentials and region.
|
|
13
|
+
* Will create a new client if one does not already exist in the cache.
|
|
14
|
+
*
|
|
15
|
+
* @param ClientType The client constructor to create an instance of.
|
|
16
|
+
* @param credentials The credentials to use for the client.
|
|
17
|
+
* @param region The region to use for the client.
|
|
18
|
+
* @returns A client of the specified type with the specified credentials and region.
|
|
19
|
+
*/
|
|
20
|
+
client<T extends AnyClient>(ClientType: ClientConstructor<T>, credentials: AwsCredentialProviderWithMetaData, region: string | undefined, endpoint: string | undefined): T;
|
|
21
|
+
private getCacheKey;
|
|
22
|
+
/**
|
|
23
|
+
* Destroys all clients in the pool and empties the cache.
|
|
24
|
+
*
|
|
25
|
+
* NOT THREAD SAFE, this should only be called when all other operations are complete.
|
|
26
|
+
*/
|
|
27
|
+
clear(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Do any async initialization required for the client pool. Should be called
|
|
30
|
+
* before the first use of the pool.
|
|
31
|
+
*/
|
|
32
|
+
init(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Whether this client pool requires valid AWS credentials for each instance.
|
|
35
|
+
*/
|
|
36
|
+
requiresAwsCredentials(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Determine if a given sync is supported by this client pool for the given service and region.
|
|
39
|
+
*
|
|
40
|
+
* @param service the AWS service
|
|
41
|
+
* @param syncName the name of the sync operation
|
|
42
|
+
* @param region the AWS region
|
|
43
|
+
* @returns true if the sync is supported, false otherwise
|
|
44
|
+
*/
|
|
45
|
+
isSyncSupported(service: AwsService, syncName: string, region: string): boolean;
|
|
46
|
+
private retryStrategyForClient;
|
|
47
|
+
private makeRetryStrategy;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ClientPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientPool.d.ts","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,eAAe,CAAA;AAEtE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAA;AACvD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAWlD,qBAAa,aAAa;IACxB,OAAc,eAAe,gBAAsB;IAEnD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,oBAAoB,CAAiB;;IAU7C;;;;;;;;OAQG;IACI,MAAM,CAAC,CAAC,SAAS,SAAS,EAC/B,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAChC,WAAW,EAAE,iCAAiC,EAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,CAAC;IAoBJ,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACI,KAAK,IAAI,IAAI;IASpB;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC;;OAEG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;;;;;;OAOG;IACI,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAItF,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsClientPool = void 0;
|
|
4
|
+
const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
5
|
+
const node_http_handler_1 = require("@smithy/node-http-handler");
|
|
6
|
+
const util_retry_1 = require("@smithy/util-retry");
|
|
7
|
+
const retrySettings = {
|
|
8
|
+
[client_lambda_1.LambdaClient.name]: {
|
|
9
|
+
beta: 0.4, // cut harder on throttle (default 0.7)
|
|
10
|
+
minFillRate: 0.2, // lower baseline QPS (default 0.5)
|
|
11
|
+
scaleConstant: 0.1, // slower cubic ramp (default 0.4)
|
|
12
|
+
smooth: 0.5 // dampen measured rate (default 0.8)
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
class AwsClientPool {
|
|
16
|
+
static defaultInstance = new AwsClientPool();
|
|
17
|
+
clientCache = new Map();
|
|
18
|
+
defaultRetryStrategy;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.defaultRetryStrategy = this.makeRetryStrategy({
|
|
21
|
+
beta: 0.5, // cut harder on throttle (default 0.7)
|
|
22
|
+
minFillRate: 0.25, // lower baseline QPS (default 0.5)
|
|
23
|
+
scaleConstant: 0.2, // slower cubic ramp (default 0.4)
|
|
24
|
+
smooth: 0.6 // dampen measured rate (default 0.8)
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns a client of the specified type with the specified credentials and region.
|
|
29
|
+
* Will create a new client if one does not already exist in the cache.
|
|
30
|
+
*
|
|
31
|
+
* @param ClientType The client constructor to create an instance of.
|
|
32
|
+
* @param credentials The credentials to use for the client.
|
|
33
|
+
* @param region The region to use for the client.
|
|
34
|
+
* @returns A client of the specified type with the specified credentials and region.
|
|
35
|
+
*/
|
|
36
|
+
client(ClientType, credentials, region, endpoint) {
|
|
37
|
+
const cacheKey = this.getCacheKey(ClientType, credentials, region, endpoint);
|
|
38
|
+
if (!this.clientCache.has(cacheKey)) {
|
|
39
|
+
const client = new ClientType({
|
|
40
|
+
credentials: credentials.provider,
|
|
41
|
+
region,
|
|
42
|
+
maxAttempts: 10,
|
|
43
|
+
requestHandler: new node_http_handler_1.NodeHttpHandler({
|
|
44
|
+
connectionTimeout: 5_000,
|
|
45
|
+
socketTimeout: 15_000
|
|
46
|
+
}),
|
|
47
|
+
retryStrategy: this.retryStrategyForClient(ClientType)
|
|
48
|
+
});
|
|
49
|
+
this.clientCache.set(cacheKey, client);
|
|
50
|
+
}
|
|
51
|
+
return this.clientCache.get(cacheKey);
|
|
52
|
+
}
|
|
53
|
+
getCacheKey(ClientType, credentials, region, endpoint) {
|
|
54
|
+
return `${ClientType.name}:${credentials.accountId}:${credentials.cacheKey}:${region}:${endpoint}`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Destroys all clients in the pool and empties the cache.
|
|
58
|
+
*
|
|
59
|
+
* NOT THREAD SAFE, this should only be called when all other operations are complete.
|
|
60
|
+
*/
|
|
61
|
+
clear() {
|
|
62
|
+
this.clientCache.forEach((client) => {
|
|
63
|
+
if (typeof client.destroy === 'function') {
|
|
64
|
+
client.destroy();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
this.clientCache.clear();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Do any async initialization required for the client pool. Should be called
|
|
71
|
+
* before the first use of the pool.
|
|
72
|
+
*/
|
|
73
|
+
async init() { }
|
|
74
|
+
/**
|
|
75
|
+
* Whether this client pool requires valid AWS credentials for each instance.
|
|
76
|
+
*/
|
|
77
|
+
requiresAwsCredentials() {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Determine if a given sync is supported by this client pool for the given service and region.
|
|
82
|
+
*
|
|
83
|
+
* @param service the AWS service
|
|
84
|
+
* @param syncName the name of the sync operation
|
|
85
|
+
* @param region the AWS region
|
|
86
|
+
* @returns true if the sync is supported, false otherwise
|
|
87
|
+
*/
|
|
88
|
+
isSyncSupported(service, syncName, region) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
retryStrategyForClient(client) {
|
|
92
|
+
const settings = retrySettings[client.name];
|
|
93
|
+
if (settings) {
|
|
94
|
+
return this.makeRetryStrategy(settings);
|
|
95
|
+
}
|
|
96
|
+
return this.defaultRetryStrategy;
|
|
97
|
+
}
|
|
98
|
+
makeRetryStrategy(rateLimiterOptions) {
|
|
99
|
+
return new util_retry_1.AdaptiveRetryStrategy(async () => 20, {
|
|
100
|
+
rateLimiter: new util_retry_1.DefaultRateLimiter(rateLimiterOptions)
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.AwsClientPool = AwsClientPool;
|
|
105
|
+
//# sourceMappingURL=ClientPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientPool.js","sourceRoot":"","sources":["../../../src/aws/ClientPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AuthConfig } from '../config/config.js';
|
|
2
|
+
import { type AwsCredentialProviderWithMetaData } from './coreAuth.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get credentials for the given account ID and auth configuration.
|
|
5
|
+
*
|
|
6
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
7
|
+
* @param authConfig the authentication configuration to use for the account
|
|
8
|
+
* @returns new or cached credentials based on the provided account ID and auth configuration
|
|
9
|
+
*/
|
|
10
|
+
export declare function getCredentials(accountId: string, authConfig: AuthConfig | undefined): Promise<AwsCredentialProviderWithMetaData>;
|
|
11
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,KAAK,iCAAiC,EAA0B,MAAM,eAAe,CAAA;AA6D9F;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAuB5C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCredentials = getCredentials;
|
|
4
|
+
const log_1 = require("@cloud-copilot/log");
|
|
5
|
+
const coreAuth_js_1 = require("./coreAuth.js");
|
|
6
|
+
/**
|
|
7
|
+
* We cache credentials with a timeout
|
|
8
|
+
*/
|
|
9
|
+
const credentialsCache = new Map();
|
|
10
|
+
// Currently using a static timeout
|
|
11
|
+
const CREDENTIAL_CACHE_TIMEOUT = 300 * 1000;
|
|
12
|
+
/**
|
|
13
|
+
* We cache requests for credentials to avoid multiple requests for the same accountId and authConfig.
|
|
14
|
+
*/
|
|
15
|
+
const credentialRequestCache = {};
|
|
16
|
+
/**
|
|
17
|
+
* Generate a cache key for the given account ID and auth configuration.
|
|
18
|
+
*
|
|
19
|
+
* @param accountId the AWS account ID
|
|
20
|
+
* @param authConfig the authentication configuration, if any
|
|
21
|
+
* @returns a unique cache key for the credentials
|
|
22
|
+
*/
|
|
23
|
+
function credentialsCacheKey(accountId, authConfig) {
|
|
24
|
+
return authConfig ? `${accountId}:${JSON.stringify(authConfig)}` : accountId;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get cached credentials for the given cache key, if they exist and are not expired.
|
|
28
|
+
*
|
|
29
|
+
* @param cacheKey the cache key to get credentials for
|
|
30
|
+
* @returns the cached credentials if they exist and are not expired, otherwise undefined
|
|
31
|
+
*/
|
|
32
|
+
function getCachedCredentials(cacheKey) {
|
|
33
|
+
const cached = credentialsCache.get(cacheKey);
|
|
34
|
+
if (cached && cached.expiration > Date.now()) {
|
|
35
|
+
return cached.credentials;
|
|
36
|
+
}
|
|
37
|
+
credentialsCache.delete(cacheKey);
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Cache a set of credentials
|
|
42
|
+
*
|
|
43
|
+
* @param cacheKey the cache key to use for the credentials
|
|
44
|
+
* @param credentials the credentials to cache
|
|
45
|
+
*/
|
|
46
|
+
function setCachedCredentials(cacheKey, credentials) {
|
|
47
|
+
const expiration = (0, coreAuth_js_1.now)() + CREDENTIAL_CACHE_TIMEOUT;
|
|
48
|
+
credentialsCache.set(cacheKey, { expiration, credentials });
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get credentials for the given account ID and auth configuration.
|
|
52
|
+
*
|
|
53
|
+
* @param accountId the AWS account ID for which to get credentials
|
|
54
|
+
* @param authConfig the authentication configuration to use for the account
|
|
55
|
+
* @returns new or cached credentials based on the provided account ID and auth configuration
|
|
56
|
+
*/
|
|
57
|
+
async function getCredentials(accountId, authConfig) {
|
|
58
|
+
const cacheKey = credentialsCacheKey(accountId, authConfig);
|
|
59
|
+
const cachedCredentials = getCachedCredentials(cacheKey);
|
|
60
|
+
if (cachedCredentials) {
|
|
61
|
+
log_1.log.trace({ accountId }, 'Using cached credentials');
|
|
62
|
+
return cachedCredentials;
|
|
63
|
+
}
|
|
64
|
+
if (credentialRequestCache[cacheKey] !== undefined) {
|
|
65
|
+
return credentialRequestCache[cacheKey];
|
|
66
|
+
}
|
|
67
|
+
//Create a new promise and store it in case another request comes in while this one is being processed.
|
|
68
|
+
return (credentialRequestCache[cacheKey] = (async () => {
|
|
69
|
+
try {
|
|
70
|
+
log_1.log.trace({ accountId }, 'Creating new credentials');
|
|
71
|
+
const newCredentials = await (0, coreAuth_js_1.getNewCredentials)(accountId, authConfig);
|
|
72
|
+
setCachedCredentials(cacheKey, newCredentials);
|
|
73
|
+
return newCredentials;
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
delete credentialRequestCache[cacheKey]; // Clean up the queue regardless of success or failure.
|
|
77
|
+
}
|
|
78
|
+
})());
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/aws/auth.ts"],"names":[],"mappings":";;AAsEA,wCA0BC;AA/FD,4CAAwC;AACxC,+CAA8F;AAE9F;;GAEG;AACH,MAAM,gBAAgB,GAMlB,IAAI,GAAG,EAAE,CAAA;AAEb,mCAAmC;AACnC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAE3C;;GAEG;AACH,MAAM,sBAAsB,GAA+D,EAAE,CAAA;AAE7F;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,UAAkC;IAChF,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,WAAW,CAAA;IAC3B,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,WAA8C;IAE9C,MAAM,UAAU,GAAG,IAAA,iBAAG,GAAE,GAAG,wBAAwB,CAAA;IACnD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,UAAkC;IAElC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC3D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,iBAAiB,EAAE,CAAC;QACtB,SAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,0BAA0B,CAAC,CAAA;QACpD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,uGAAuG;IACvG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;QACrD,IAAI,CAAC;YACH,SAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,0BAA0B,CAAC,CAAA;YACpD,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAiB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YACrE,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YAC9C,OAAO,cAAc,CAAA;QACvB,CAAC;gBAAS,CAAC;YACT,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA,CAAC,uDAAuD;QACjG,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,CAAA;AACP,CAAC"}
|