@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,39 @@
|
|
|
1
|
+
import {} from '../indexer.js';
|
|
2
|
+
const indexName = 'accounts-to-orgs';
|
|
3
|
+
export const AccountOrganizationIndexer = {
|
|
4
|
+
awsService: 'organizations',
|
|
5
|
+
name: 'accountsToOrganizations',
|
|
6
|
+
getCache: async (storage) => {
|
|
7
|
+
const data = await storage.getIndex(indexName, {});
|
|
8
|
+
return data;
|
|
9
|
+
},
|
|
10
|
+
saveCache: async (storage, cache, lockId) => {
|
|
11
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
12
|
+
},
|
|
13
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
14
|
+
const orgForAccount = await storage.getAccountMetadata(accountId, 'organization', undefined);
|
|
15
|
+
const organizationId = orgForAccount?.organizationId;
|
|
16
|
+
// If the account is not a organization management account, we don't need to update the cache
|
|
17
|
+
if (!organizationId) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const currentCacheKeys = Object.keys(existingCache);
|
|
21
|
+
// Remove all existing accounts for the organization
|
|
22
|
+
for (const key of currentCacheKeys) {
|
|
23
|
+
if (existingCache[key] == organizationId) {
|
|
24
|
+
delete existingCache[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const currentInfo = await storage.getOrganizationMetadata(organizationId, 'accounts');
|
|
28
|
+
// If there are no accounts for the org, return
|
|
29
|
+
if (!currentInfo) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
//Add the current accounts to the cache
|
|
33
|
+
const currentAccounts = Object.keys(currentInfo);
|
|
34
|
+
for (const account of currentAccounts) {
|
|
35
|
+
existingCache[account] = organizationId;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=accountOrgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountOrgs.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/accountOrgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,eAAe,CAAA;AAM5C,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAEpC,MAAM,CAAC,MAAM,0BAA0B,GAAoC;IACzE,UAAU,EAAE,eAAe;IAC3B,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,kBAAkB,CACpD,SAAS,EACT,cAAc,EACd,SAAS,CACV,CAAA;QAED,MAAM,cAAc,GAAG,aAAa,EAAE,cAAc,CAAA;QAEpD,6FAA6F;QAC7F,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEnD,oDAAoD;QACpD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;gBACzC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QACrF,+CAA+C;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,aAAa,CAAC,OAAO,CAAC,GAAG,cAAc,CAAA;QACzC,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apigateways.d.ts","sourceRoot":"","sources":["../../../../src/indexing/indexers/apigateways.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAQ5C,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkD7D,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { splitArnParts } from '@actsecurity/iam-utils';
|
|
2
|
+
import {} from '../indexer.js';
|
|
3
|
+
const indexName = 'apigateways-to-accounts';
|
|
4
|
+
export const ApiGatewayIndexer = {
|
|
5
|
+
awsService: 'apigateway',
|
|
6
|
+
name: 'apigatewaysToAccounts',
|
|
7
|
+
getCache: async (storage) => {
|
|
8
|
+
const data = await storage.getIndex(indexName, {});
|
|
9
|
+
return data;
|
|
10
|
+
},
|
|
11
|
+
saveCache: async (storage, cache, lockId) => {
|
|
12
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
13
|
+
},
|
|
14
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
15
|
+
const regionsSet = new Set(regions);
|
|
16
|
+
const matchesRegion = (region) => {
|
|
17
|
+
return region && (regionsSet.size == 0 || regionsSet.has(region));
|
|
18
|
+
};
|
|
19
|
+
const currentCacheKeys = Object.keys(existingCache);
|
|
20
|
+
// Remove all existing gateways for the account in the specified regions
|
|
21
|
+
for (const key of currentCacheKeys) {
|
|
22
|
+
const arnParts = splitArnParts(key);
|
|
23
|
+
if (existingCache[key] == accountId && matchesRegion(arnParts.region)) {
|
|
24
|
+
delete existingCache[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const currentGateways = [];
|
|
28
|
+
if (regions.length == 0) {
|
|
29
|
+
const gateways = await storage.findResourceMetadata(accountId, {
|
|
30
|
+
service: 'apigateway',
|
|
31
|
+
region: '*',
|
|
32
|
+
resourceType: 'restapis'
|
|
33
|
+
});
|
|
34
|
+
currentGateways.push(...gateways);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
for (const region of regions) {
|
|
38
|
+
const gateways = await storage.findResourceMetadata(accountId, {
|
|
39
|
+
service: 'apigateway',
|
|
40
|
+
region: region,
|
|
41
|
+
resourceType: 'restapis'
|
|
42
|
+
});
|
|
43
|
+
currentGateways.push(...gateways);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Add the new gateways to the cache
|
|
47
|
+
for (const gateway of currentGateways) {
|
|
48
|
+
existingCache[gateway.arn] = accountId;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=apigateways.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apigateways.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/apigateways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAgB,MAAM,eAAe,CAAA;AAM5C,MAAM,SAAS,GAAG,yBAAyB,CAAA;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,aAAa,GAAG,CAAC,MAA0B,EAAE,EAAE;YACnD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACnE,CAAC,CAAA;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEnD,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAyB,EAAE,CAAA;QAEhD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAqB,SAAS,EAAE;gBACjF,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,GAAG;gBACX,YAAY,EAAE,UAAU;aACzB,CAAC,CAAA;YACF,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAqB,SAAS,EAAE;oBACjF,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,UAAU;iBACzB,CAAC,CAAA;gBACF,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACxC,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../../../src/indexing/indexers/buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAUD,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqClE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {} from '../indexer.js';
|
|
2
|
+
const indexName = 'buckets-to-accounts';
|
|
3
|
+
export const S3BucketIndexer = {
|
|
4
|
+
awsService: 's3',
|
|
5
|
+
name: 'bucketsToAccounts',
|
|
6
|
+
getCache: async (storage) => {
|
|
7
|
+
const data = await storage.getIndex(indexName, {});
|
|
8
|
+
return data;
|
|
9
|
+
},
|
|
10
|
+
saveCache: async (storage, cache, lockId) => {
|
|
11
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
12
|
+
},
|
|
13
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
14
|
+
const regionsSet = new Set(regions);
|
|
15
|
+
const matchesRegion = (region) => {
|
|
16
|
+
return region && (regionsSet.size == 0 || regionsSet.has(region));
|
|
17
|
+
};
|
|
18
|
+
const currentCacheKeys = Object.keys(existingCache);
|
|
19
|
+
// Remove all existing buckets for the account in the specified regions
|
|
20
|
+
for (const key of currentCacheKeys) {
|
|
21
|
+
if (existingCache[key].accountId == accountId && matchesRegion(existingCache[key].region)) {
|
|
22
|
+
delete existingCache[key];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const currentBuckets = await storage.findResourceMetadata(accountId, {
|
|
26
|
+
service: 's3'
|
|
27
|
+
});
|
|
28
|
+
for (const bucket of currentBuckets) {
|
|
29
|
+
if (matchesRegion(bucket.region)) {
|
|
30
|
+
existingCache[bucket.name] = {
|
|
31
|
+
accountId: accountId,
|
|
32
|
+
region: bucket.region
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=buckets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,eAAe,CAAA;AAa5C,MAAM,SAAS,GAAG,qBAAqB,CAAA;AAEvC,MAAM,CAAC,MAAM,eAAe,GAA2C;IACrE,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,aAAa,GAAG,CAAC,MAA0B,EAAE,EAAE;YACnD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACnE,CAAC,CAAA;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEnD,uEAAuE;QACvE,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1F,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAiB,SAAS,EAAE;YACnF,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;oBAC3B,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,MAAM,CAAC,MAAO;iBACvB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Indexer } from '../indexer.js';
|
|
2
|
+
interface PrincipalsToTrustPoliciesIndex {
|
|
3
|
+
[key: string]: Partial<Record<'principal' | 'notprincipal', Record<string, string[]>>>;
|
|
4
|
+
}
|
|
5
|
+
export declare const IamPrincipalsToTrustPoliciesIndexer: Indexer<PrincipalsToTrustPoliciesIndex>;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=iamPrincipalsToTrustPolicies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iamPrincipalsToTrustPolicies.d.ts","sourceRoot":"","sources":["../../../../src/indexing/indexers/iamPrincipalsToTrustPolicies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,UAAU,8BAA8B;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;CACvF;AAID,eAAO,MAAM,mCAAmC,EAAE,OAAO,CAAC,8BAA8B,CAiCvF,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { loadPolicy } from '@actsecurity/iam-policy';
|
|
2
|
+
import {} from '../indexer.js';
|
|
3
|
+
const indexName = 'principals-to-trust-policies';
|
|
4
|
+
export const IamPrincipalsToTrustPoliciesIndexer = {
|
|
5
|
+
awsService: 'iam',
|
|
6
|
+
name: 'principalsToTrustPolicies',
|
|
7
|
+
getCache: async (storage) => {
|
|
8
|
+
const data = await storage.getIndex(indexName, {});
|
|
9
|
+
return data;
|
|
10
|
+
},
|
|
11
|
+
saveCache: async (storage, cache, lockId) => {
|
|
12
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
13
|
+
},
|
|
14
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
15
|
+
// Delete any existing record for the account
|
|
16
|
+
existingCache[accountId] = {};
|
|
17
|
+
// Get all the trust policies for the account
|
|
18
|
+
const roles = await storage.findResourceMetadata(accountId, {
|
|
19
|
+
service: 'iam',
|
|
20
|
+
resourceType: 'role',
|
|
21
|
+
account: accountId
|
|
22
|
+
});
|
|
23
|
+
for (const role of roles) {
|
|
24
|
+
const trustPolicy = await storage.getResourceMetadata(accountId, role.arn, 'trust-policy');
|
|
25
|
+
if (trustPolicy) {
|
|
26
|
+
const parsedPolicy = loadPolicy(trustPolicy);
|
|
27
|
+
updateCacheForPolicy(existingCache, accountId, role.arn, parsedPolicy);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
function updateCacheForPolicy(cache, accountId, roleArn, policy) {
|
|
33
|
+
for (const statement of policy.statements()) {
|
|
34
|
+
if (statement.isAllow()) {
|
|
35
|
+
if (statement.isPrincipalStatement()) {
|
|
36
|
+
for (const principal of statement.principals()) {
|
|
37
|
+
updateCacheForPrincipal(cache, accountId, roleArn, 'principal', principal.value());
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (statement.isNotPrincipalStatement()) {
|
|
41
|
+
for (const principal of statement.notPrincipals()) {
|
|
42
|
+
updateCacheForPrincipal(cache, accountId, roleArn, 'notprincipal', principal.value());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function updateCacheForPrincipal(cache, accountId, roleArn, type, principal) {
|
|
49
|
+
if (!cache[accountId][type]) {
|
|
50
|
+
cache[accountId][type] = {};
|
|
51
|
+
}
|
|
52
|
+
if (!cache[accountId][type][principal]) {
|
|
53
|
+
cache[accountId][type][principal] = [];
|
|
54
|
+
}
|
|
55
|
+
cache[accountId][type][principal].push(roleArn);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=iamPrincipalsToTrustPolicies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iamPrincipalsToTrustPolicies.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/iamPrincipalsToTrustPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,eAAe,CAAA;AAM5C,MAAM,SAAS,GAAG,8BAA8B,CAAA;AAEhD,MAAM,CAAC,MAAM,mCAAmC,GAA4C;IAC1F,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,6CAA6C;QAC7C,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;QAE7B,6CAA6C;QAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAkB,SAAS,EAAE;YAC3E,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,mBAAmB,CACnD,SAAS,EACT,IAAI,CAAC,GAAG,EACR,cAAc,CACf,CAAA;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;gBAC5C,oBAAoB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAED,SAAS,oBAAoB,CAC3B,KAAqC,EACrC,SAAiB,EACjB,OAAe,EACf,MAAc;IAEd,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACxB,IAAI,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACrC,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC/C,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;gBACpF,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBAC/C,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;oBAClD,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAqC,EACrC,SAAiB,EACjB,OAAe,EACf,IAAkC,EAClC,SAAiB;IAEjB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Indexer } from '../indexer.js';
|
|
2
|
+
export interface VpcIndex {
|
|
3
|
+
vpcs: Record<string, {
|
|
4
|
+
arn: string;
|
|
5
|
+
endpoints: {
|
|
6
|
+
id: string;
|
|
7
|
+
service: string;
|
|
8
|
+
}[];
|
|
9
|
+
}>;
|
|
10
|
+
endpoints: Record<string, {
|
|
11
|
+
arn: string;
|
|
12
|
+
vpc: string;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export declare const VpcEndpointIndexer: Indexer<VpcIndex>;
|
|
16
|
+
//# sourceMappingURL=vpcs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpcs.d.ts","sourceRoot":"","sources":["../../../../src/indexing/indexers/vpcs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAY5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC,CAAA;IAEnF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACxD;AAID,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAgGhD,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { splitArnParts } from '@actsecurity/iam-utils';
|
|
2
|
+
import {} from '../indexer.js';
|
|
3
|
+
const indexName = 'vpcs';
|
|
4
|
+
export const VpcEndpointIndexer = {
|
|
5
|
+
awsService: 'ec2',
|
|
6
|
+
name: 'vpcs',
|
|
7
|
+
getCache: async (storage) => {
|
|
8
|
+
const data = await storage.getIndex(indexName, {
|
|
9
|
+
vpcs: {},
|
|
10
|
+
endpoints: {}
|
|
11
|
+
});
|
|
12
|
+
return data;
|
|
13
|
+
},
|
|
14
|
+
saveCache: async (storage, cache, lockId) => {
|
|
15
|
+
return storage.saveIndex(indexName, cache, lockId);
|
|
16
|
+
},
|
|
17
|
+
updateCache: async (existingCache, accountId, regions, storage) => {
|
|
18
|
+
const regionsSet = new Set(regions);
|
|
19
|
+
const matchesRegion = (region) => {
|
|
20
|
+
return region && (regionsSet.size == 0 || regionsSet.has(region));
|
|
21
|
+
};
|
|
22
|
+
const { vpcs, endpoints } = existingCache;
|
|
23
|
+
const currentVpcKeys = Object.keys(vpcs);
|
|
24
|
+
const currentEndpointKeys = Object.keys(endpoints);
|
|
25
|
+
// Remove all existing vpcs for the account in the specified regions
|
|
26
|
+
for (const key of currentVpcKeys) {
|
|
27
|
+
const arnParts = splitArnParts(vpcs[key].arn);
|
|
28
|
+
if (arnParts.accountId == accountId && matchesRegion(arnParts.region)) {
|
|
29
|
+
delete vpcs[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
for (const key of currentEndpointKeys) {
|
|
33
|
+
const arnParts = splitArnParts(endpoints[key].arn);
|
|
34
|
+
if (arnParts.accountId == accountId && matchesRegion(arnParts.region)) {
|
|
35
|
+
delete endpoints[key];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const currentEndpoints = [];
|
|
39
|
+
const currentVpcs = [];
|
|
40
|
+
if (regions.length == 0) {
|
|
41
|
+
const gateways = await storage.findResourceMetadata(accountId, {
|
|
42
|
+
service: 'ec2',
|
|
43
|
+
region: '*',
|
|
44
|
+
resourceType: 'vpc-endpoint'
|
|
45
|
+
});
|
|
46
|
+
currentEndpoints.push(...gateways);
|
|
47
|
+
const vpcs = await storage.findResourceMetadata(accountId, {
|
|
48
|
+
service: 'ec2',
|
|
49
|
+
region: '*',
|
|
50
|
+
resourceType: 'vpc'
|
|
51
|
+
});
|
|
52
|
+
currentVpcs.push(...vpcs);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
for (const region of regions) {
|
|
56
|
+
const gateways = await storage.findResourceMetadata(accountId, {
|
|
57
|
+
service: 'ec2',
|
|
58
|
+
region: region,
|
|
59
|
+
resourceType: 'vpc-endpoint'
|
|
60
|
+
});
|
|
61
|
+
currentEndpoints.push(...gateways);
|
|
62
|
+
const vpcs = await storage.findResourceMetadata(accountId, {
|
|
63
|
+
service: 'ec2',
|
|
64
|
+
region: '*',
|
|
65
|
+
resourceType: 'vpc'
|
|
66
|
+
});
|
|
67
|
+
currentVpcs.push(...vpcs);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const endpoint of currentEndpoints) {
|
|
71
|
+
const vpcId = splitArnParts(endpoint.vpc).resourcePath;
|
|
72
|
+
const endpointId = splitArnParts(endpoint.arn).resourcePath;
|
|
73
|
+
endpoints[endpointId] = { arn: endpoint.arn, vpc: vpcId };
|
|
74
|
+
if (!vpcs[vpcId]) {
|
|
75
|
+
vpcs[vpcId] = { arn: endpoint.vpc, endpoints: [] };
|
|
76
|
+
}
|
|
77
|
+
const service = endpoint.serviceName.split('.').slice(3).join('.');
|
|
78
|
+
vpcs[vpcId].endpoints.push({ id: endpointId, service });
|
|
79
|
+
}
|
|
80
|
+
for (const vpc of currentVpcs) {
|
|
81
|
+
const vpcId = splitArnParts(vpc.arn).resourcePath;
|
|
82
|
+
if (!vpcs[vpcId]) {
|
|
83
|
+
vpcs[vpcId] = { arn: vpc.arn, endpoints: [] };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// return {
|
|
87
|
+
// vpcs,
|
|
88
|
+
// endpoints
|
|
89
|
+
// }
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=vpcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpcs.js","sourceRoot":"","sources":["../../../../src/indexing/indexers/vpcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type StorageConfig } from '../config/config.js';
|
|
2
|
+
import { type JobResult } from '../jobs/jobQueue.js';
|
|
3
|
+
import { type Indexer } from './indexer.js';
|
|
4
|
+
/**
|
|
5
|
+
* An index job to run.
|
|
6
|
+
*/
|
|
7
|
+
export interface IndexJob {
|
|
8
|
+
/**
|
|
9
|
+
* The indexer to run.
|
|
10
|
+
*/
|
|
11
|
+
indexer: Indexer<any>;
|
|
12
|
+
/**
|
|
13
|
+
* The account ID to run the indexer for.
|
|
14
|
+
*/
|
|
15
|
+
accountId: string;
|
|
16
|
+
/**
|
|
17
|
+
* The regions to run the indexer for.
|
|
18
|
+
*/
|
|
19
|
+
regions: string[];
|
|
20
|
+
/**
|
|
21
|
+
* The partition to run the indexer for.
|
|
22
|
+
*/
|
|
23
|
+
partition: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run index jobs in parallel with a specified concurrency.
|
|
27
|
+
*
|
|
28
|
+
* @param indexJobs the index jobs to run
|
|
29
|
+
* @param storageConfig the storage configuration to use
|
|
30
|
+
* @param concurrency the number of jobs to run in parallel
|
|
31
|
+
*/
|
|
32
|
+
export declare function runIndexJobs(indexJobs: IndexJob[], storageConfig: StorageConfig, concurrency: number): Promise<JobResult<void, Record<string, unknown>>[]>;
|
|
33
|
+
//# sourceMappingURL=runIndexers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runIndexers.d.ts","sourceRoot":"","sources":["../../../src/indexing/runIndexers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAY,KAAK,SAAS,EAAW,MAAM,qBAAqB,CAAA;AAGvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAiDrD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {} from '../config/config.js';
|
|
2
|
+
import { runJobs } from '../jobs/jobQueue.js';
|
|
3
|
+
import { createStorageClient } from '../persistence/util.js';
|
|
4
|
+
import { log } from '@cloud-copilot/log';
|
|
5
|
+
import {} from './indexer.js';
|
|
6
|
+
/**
|
|
7
|
+
* Run index jobs in parallel with a specified concurrency.
|
|
8
|
+
*
|
|
9
|
+
* @param indexJobs the index jobs to run
|
|
10
|
+
* @param storageConfig the storage configuration to use
|
|
11
|
+
* @param concurrency the number of jobs to run in parallel
|
|
12
|
+
*/
|
|
13
|
+
export async function runIndexJobs(indexJobs, storageConfig, concurrency) {
|
|
14
|
+
const sortedJobs = new Map();
|
|
15
|
+
for (const job of indexJobs) {
|
|
16
|
+
const partition = job.partition;
|
|
17
|
+
const indexerName = job.indexer.name;
|
|
18
|
+
if (!sortedJobs.has(partition)) {
|
|
19
|
+
sortedJobs.set(partition, new Map());
|
|
20
|
+
}
|
|
21
|
+
const partitionJobs = sortedJobs.get(partition);
|
|
22
|
+
if (!partitionJobs.has(indexerName)) {
|
|
23
|
+
partitionJobs.set(indexerName, []);
|
|
24
|
+
}
|
|
25
|
+
partitionJobs.get(indexerName).push(job);
|
|
26
|
+
}
|
|
27
|
+
const jobs = [];
|
|
28
|
+
for (const [partition, partitionJobs] of sortedJobs.entries()) {
|
|
29
|
+
for (const [indexerName, indexerJobs] of partitionJobs.entries()) {
|
|
30
|
+
if (indexerJobs.length === 0) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
jobs.push({
|
|
34
|
+
properties: {
|
|
35
|
+
partition,
|
|
36
|
+
indexerName,
|
|
37
|
+
numIndexers: indexerJobs.length
|
|
38
|
+
},
|
|
39
|
+
execute: async (context) => {
|
|
40
|
+
log.debug('Running indexers', { workerId: context.workerId, ...context.properties });
|
|
41
|
+
await runIndexers(partition, storageConfig, indexerJobs);
|
|
42
|
+
log.trace('Finished indexers', { workerId: context.workerId, ...context.properties });
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
log.debug('Starting indexing', { jobs: jobs.length, concurrency });
|
|
48
|
+
const indexResults = await runJobs(jobs, concurrency);
|
|
49
|
+
const failedIndexes = indexResults.filter((r) => r.status === 'rejected');
|
|
50
|
+
if (failedIndexes.length > 0) {
|
|
51
|
+
log.error('Some indexers failed', { failedJobs: failedIndexes.length });
|
|
52
|
+
for (const failedJob of failedIndexes) {
|
|
53
|
+
log.error('Indexer failed', failedJob.reason, failedJob.properties);
|
|
54
|
+
}
|
|
55
|
+
throw new Error(`Failed to index some data. See logs for details.`);
|
|
56
|
+
}
|
|
57
|
+
log.info('Finished indexing', { jobs: jobs.length });
|
|
58
|
+
return indexResults;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Run a set of the same indexer jobs for a given partition.
|
|
62
|
+
* All jobs must use the same indexer
|
|
63
|
+
*
|
|
64
|
+
* @param partition the partition to run the indexer for
|
|
65
|
+
* @param storageConfig the storage configuration to use
|
|
66
|
+
* @param indexerJobs the indexer jobs to run
|
|
67
|
+
*/
|
|
68
|
+
async function runIndexers(partition, storageConfig, indexerJobs) {
|
|
69
|
+
let saved = false;
|
|
70
|
+
let saveAttempts = 0;
|
|
71
|
+
const indexer = indexerJobs[0].indexer;
|
|
72
|
+
const storage = createStorageClient(storageConfig, partition, false);
|
|
73
|
+
while (!saved && saveAttempts < 3) {
|
|
74
|
+
const cache = await indexer.getCache(storage);
|
|
75
|
+
for (const job of indexerJobs) {
|
|
76
|
+
await indexer.updateCache(cache.data, job.accountId, job.regions, storage);
|
|
77
|
+
}
|
|
78
|
+
saved = await indexer.saveCache(storage, cache.data, cache.lockId);
|
|
79
|
+
saveAttempts++;
|
|
80
|
+
}
|
|
81
|
+
if (!saved) {
|
|
82
|
+
throw new Error(`Failed to save indexer ${indexer.name} after ${saveAttempts} attempts`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=runIndexers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runIndexers.js","sourceRoot":"","sources":["../../../src/indexing/runIndexers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the outcome of a job:
|
|
3
|
+
* - `fulfilled` with a `value` if it succeeded
|
|
4
|
+
* - `rejected` with a `reason` if it threw.
|
|
5
|
+
*/
|
|
6
|
+
export type JobResult<T, P> = {
|
|
7
|
+
status: 'fulfilled';
|
|
8
|
+
value: T;
|
|
9
|
+
properties: P;
|
|
10
|
+
} | {
|
|
11
|
+
status: 'rejected';
|
|
12
|
+
reason: any;
|
|
13
|
+
properties: P;
|
|
14
|
+
};
|
|
15
|
+
export interface JobContext {
|
|
16
|
+
workerId: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Represents a job that can be executed
|
|
20
|
+
*/
|
|
21
|
+
export interface Job<T = void, P = Record<string, unknown>> {
|
|
22
|
+
/**
|
|
23
|
+
* Execute the job with the given context.
|
|
24
|
+
*
|
|
25
|
+
* @param context - The context for the job execution, see @link JobContext
|
|
26
|
+
* @returns A promise that is resolved by the job's worker
|
|
27
|
+
*/
|
|
28
|
+
execute: (props: JobContext & {
|
|
29
|
+
properties: P;
|
|
30
|
+
}) => Promise<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Properties associated with the job, useful for logging or tracking.
|
|
33
|
+
*/
|
|
34
|
+
properties: P;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Runs the given jobs with up to `concurrency` tasks in flight at once.
|
|
38
|
+
* Resolves with an array of results in the same order as the jobs.
|
|
39
|
+
*/
|
|
40
|
+
export declare function runJobs<T = void, P = Record<string, unknown>>(jobs: Job<T, P>[], concurrency: number): Promise<JobResult<T, P>[]>;
|
|
41
|
+
//# sourceMappingURL=jobQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobQueue.d.ts","sourceRoot":"","sources":["../../../src/jobs/jobQueue.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IACtB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,CAAC,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,CAAC,CAAA;CAAE,CAAA;AAEtD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD;;;;;OAKG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,UAAU,EAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAE9D;;OAEG;IACH,UAAU,EAAE,CAAC,CAAA;CACd;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CA0C5B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { log } from '@cloud-copilot/log';
|
|
2
|
+
/**
|
|
3
|
+
* Runs the given jobs with up to `concurrency` tasks in flight at once.
|
|
4
|
+
* Resolves with an array of results in the same order as the jobs.
|
|
5
|
+
*/
|
|
6
|
+
export async function runJobs(jobs, concurrency) {
|
|
7
|
+
const results = [];
|
|
8
|
+
let nextIndex = 0;
|
|
9
|
+
// Each worker pulls the next available job, runs it, stores the result, then loops.
|
|
10
|
+
async function worker(workerId) {
|
|
11
|
+
while (true) {
|
|
12
|
+
const i = nextIndex++;
|
|
13
|
+
if (i >= jobs.length)
|
|
14
|
+
return;
|
|
15
|
+
const context = {
|
|
16
|
+
workerId
|
|
17
|
+
};
|
|
18
|
+
const startTime = Date.now();
|
|
19
|
+
const interval = setInterval(() => {
|
|
20
|
+
log.warn(`Long-running job detected.`, { minutes: Math.floor((Date.now() - startTime) / 60000) }, { ...context, ...jobs[i].properties });
|
|
21
|
+
}, 60000);
|
|
22
|
+
try {
|
|
23
|
+
const value = await jobs[i].execute({ ...context, properties: jobs[i].properties });
|
|
24
|
+
results[i] = { status: 'fulfilled', value, properties: jobs[i].properties };
|
|
25
|
+
}
|
|
26
|
+
catch (reason) {
|
|
27
|
+
results[i] = { status: 'rejected', reason, properties: jobs[i].properties };
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
clearInterval(interval);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Create a pool of workers maxed at `concurrency` up to the number of jobs.
|
|
35
|
+
const workers = Array(Math.min(concurrency, jobs.length))
|
|
36
|
+
.fill(null)
|
|
37
|
+
.map((_, idx) => worker(idx + 1));
|
|
38
|
+
// Wait for all workers to finish
|
|
39
|
+
await Promise.all(workers);
|
|
40
|
+
return results;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=jobQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobQueue.js","sourceRoot":"","sources":["../../../src/jobs/jobQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAiCxC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAiB,EACjB,WAAmB;IAEnB,MAAM,OAAO,GAAsB,EAAE,CAAA;IACrC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,oFAAoF;IACpF,KAAK,UAAU,MAAM,CAAC,QAAgB;QACpC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,SAAS,EAAE,CAAA;YACrB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAM;YAE5B,MAAM,OAAO,GAAe;gBAC1B,QAAQ;aACT,CAAA;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,GAAG,CAAC,IAAI,CACN,4BAA4B,EAC5B,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EACzD,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CACtC,CAAA;YACH,CAAC,EAAE,KAAM,CAAC,CAAA;YACV,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;gBACnF,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAC7E,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAC7E,CAAC;oBAAS,CAAC;gBACT,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAEnC,iCAAiC;IACjC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAE1B,OAAO,OAAO,CAAA;AAChB,CAAC"}
|