UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

50 lines 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventBridgeEventBusesSync = void 0; const client_eventbridge_1 = require("@aws-sdk/client-eventbridge"); 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.EventBridgeEventBusesSync = (0, typedSync_js_1.createTypedSyncOperation)('events', 'eventBuses', (0, typedSync_js_1.createResourceSyncType)({ client: client_eventbridge_1.EventBridgeClient, command: client_eventbridge_1.ListEventBusesCommand, key: 'EventBuses', paginationConfig: { inputKey: 'NextToken', outputKey: 'NextToken' }, arn: (eventBus) => eventBus.Arn, resourceTypeParts: (accountId, region) => ({ service: 'events', resourceType: 'event-bus', account: accountId, region: region }), extraFields: { details: async (client, eventBus) => { return (0, client_tools_js_1.runAndCatch404)(async () => { const result = await client.send(new client_eventbridge_1.DescribeEventBusCommand({ Name: eventBus.Name })); return result; }); }, tags: async (client, eventBus, accountId, region, partition) => { return (0, client_tools_js_1.runAndCatch404)(async () => { const result = await client.send(new client_eventbridge_1.ListTagsForResourceCommand({ ResourceARN: eventBus.Arn })); return result.Tags; }); } }, tags: (eventBus) => eventBus.extraFields.tags, results: (eventBus) => ({ metadata: { name: eventBus.Name, kmsKey: eventBus.extraFields.details?.KmsKeyIdentifier }, policy: (0, json_js_1.parseIfPresent)(eventBus.extraFields.details?.Policy) }) })); //# sourceMappingURL=eventBuses.js.map