UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

119 lines 5.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getGlobalSyncsForService = getGlobalSyncsForService; exports.getRegionalSyncsForService = getRegionalSyncsForService; const services_js_1 = require("../services.js"); const gateways_js_1 = require("./apigateway/gateways.js"); const backupVaults_js_1 = require("./backup/backupVaults.js"); const dynamoDbStreams_js_1 = require("./dynamodb/dynamoDbStreams.js"); const tables_js_1 = require("./dynamodb/tables.js"); const vpcEndpoints_js_1 = require("./ec2/vpcEndpoints.js"); const ecrSyncs_js_1 = require("./ecr/ecrSyncs.js"); const fileSystems_js_1 = require("./efs/fileSystems.js"); const eventBuses_js_1 = require("./events/eventBuses.js"); const catalogs_js_1 = require("./glue/catalogs.js"); const authorizationDetails_js_1 = require("./iam/authorizationDetails.js"); const identityProviders_js_1 = require("./iam/identityProviders.js"); const instanceProfiles_js_1 = require("./iam/instanceProfiles.js"); const clusters_js_1 = require("./kafka/clusters.js"); const dataStreams_js_1 = require("./kinesis/dataStreams.js"); const key_js_1 = require("./kms/key.js"); const lambda_js_1 = require("./lambda/lambda.js"); const domains_js_1 = require("./opensearch/domains.js"); const organizations_js_1 = require("./organizations/organizations.js"); const ramShares_js_1 = require("./ram/ramShares.js"); const accessPoints_js_1 = require("./s3/accessPoints.js"); const accountBpa_js_1 = require("./s3/accountBpa.js"); const buckets_js_1 = require("./s3/buckets.js"); const multiRegionAccessPoints_js_1 = require("./s3/multiRegionAccessPoints.js"); const objectLambdaAccessPoints_js_1 = require("./s3/objectLambdaAccessPoints.js"); const vaults_js_1 = require("./s3/vaults.js"); const s3DirectoryAccessPointsSync_js_1 = require("./s3express/s3DirectoryAccessPointsSync.js"); const s3DirectoryBucketsSync_js_1 = require("./s3express/s3DirectoryBucketsSync.js"); const s3OutpostsSyncs_js_1 = require("./s3outposts/s3OutpostsSyncs.js"); const s3TablesSync_js_1 = require("./s3tables/s3TablesSync.js"); const secrets_js_1 = require("./secretsmanager/secrets.js"); const topics_js_1 = require("./sns/topics.js"); const queues_js_1 = require("./sqs/queues.js"); const ssoInstances_js_1 = require("./sso/ssoInstances.js"); const allSyncs = [ accountBpa_js_1.AccountS3BpaSync, authorizationDetails_js_1.AuthorizationDetailsSync, backupVaults_js_1.BackupVaultsSync, dynamoDbStreams_js_1.DynamoDbStreamsSync, tables_js_1.DynamoDBTableSync, ...ecrSyncs_js_1.EcrSyncs, fileSystems_js_1.ElasticFileSystemsSync, eventBuses_js_1.EventBridgeEventBusesSync, instanceProfiles_js_1.InstanceProfilesSync, ...identityProviders_js_1.IdentityProviderSyncs, vaults_js_1.GlacierVaultsSync, catalogs_js_1.GlueCatalogSync, clusters_js_1.KafkaClustersSync, dataStreams_js_1.KinesisDataStreamsSync, key_js_1.KeySync, lambda_js_1.LambdaSync, lambda_js_1.LambdaLayerVersionsSync, domains_js_1.OpenSearchDomainsSync, organizations_js_1.OrganizationSync, ramShares_js_1.RamResourcesSync, gateways_js_1.RestApisSync, accessPoints_js_1.S3AccessPointsSync, s3DirectoryBucketsSync_js_1.S3DirectoryBucketsSync, s3DirectoryAccessPointsSync_js_1.S3DirectoryAccessPointsSync, buckets_js_1.S3GeneralPurposeBucketSync, multiRegionAccessPoints_js_1.S3MultiRegionAccessPointsSync, objectLambdaAccessPoints_js_1.S3ObjectLambdaAccessPointsSync, s3OutpostsSyncs_js_1.S3OutpostsAccessPointsSync, s3OutpostsSyncs_js_1.S3OutpostsBucketsSync, s3TablesSync_js_1.S3TableBucketsSync, secrets_js_1.SecretSync, topics_js_1.SnsTopicsSync, queues_js_1.SqsQueueSync, ssoInstances_js_1.SsoDataSync, vpcEndpoints_js_1.VpcEndpointsSync ]; const syncMap = new Map(); for (const sync of allSyncs) { const service = (0, services_js_1.lowerCaseService)(sync.awsService); if (!syncMap.has(service)) { syncMap.set(service, { regional: [], global: [] }); } const syncs = syncMap.get(service); if (sync.global) { syncs.global.push(sync); } else { syncs.regional.push(sync); } } /** * Get the global syncs for a given AWS service. * * @param service The AWS service to get the syncs for * @returns An array of syncs that are global for the specified service. */ function getGlobalSyncsForService(service) { const syncs = syncMap.get((0, services_js_1.lowerCaseService)(service)); if (!syncs) { return []; } return syncs.global; } /** * Get the regional syncs for a given AWS service. * * @param service The AWS service to get the syncs for * @returns An array of syncs that are regional for the specified service. */ function getRegionalSyncsForService(service) { const syncs = syncMap.get((0, services_js_1.lowerCaseService)(service)); if (!syncs) { return []; } return syncs.regional; } //# sourceMappingURL=syncMap.js.map