UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

51 lines 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BackupVaultsSync = void 0; const client_backup_1 = require("@aws-sdk/client-backup"); const client_tools_js_1 = require("../../utils/client-tools.js"); const json_js_1 = require("../../utils/json.js"); const typedSync_js_1 = require("../typedSync.js"); exports.BackupVaultsSync = (0, typedSync_js_1.createTypedSyncOperation)('backup', 'vaults', (0, typedSync_js_1.createResourceSyncType)({ client: client_backup_1.BackupClient, command: client_backup_1.ListBackupVaultsCommand, key: 'BackupVaultList', paginationConfig: { inputKey: 'NextToken', outputKey: 'NextToken' }, resourceTypeParts: (accountId, region) => ({ service: 'backup', resourceType: 'backup-vault', account: accountId, region: region }), extraFields: { tags: async (client, vault) => { return (0, client_tools_js_1.runAndCatchError)('ResourceNotFoundException', async () => { return (0, client_tools_js_1.runAndCatch404)(async () => { const tagResult = await client.send(new client_backup_1.ListTagsCommand({ ResourceArn: vault.BackupVaultArn })); return tagResult.Tags; }); }); }, policy: async (client, vault) => { return (0, client_tools_js_1.runAndCatchError)('ResourceNotFoundException', async () => { return (0, client_tools_js_1.runAndCatch404)(async () => { const policyResult = await client.send(new client_backup_1.GetBackupVaultAccessPolicyCommand({ BackupVaultName: vault.BackupVaultName })); return (0, json_js_1.parseIfPresent)(policyResult.Policy); }); }); } }, tags: (vault) => vault.extraFields.tags, arn: (vault) => vault.BackupVaultArn, results: (vault) => ({ metadata: { name: vault.BackupVaultName, key: vault.EncryptionKeyArn, state: vault.VaultState }, policy: vault.extraFields.policy }) })); //# sourceMappingURL=backupVaults.js.map