@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
50 lines • 2.02 kB
JavaScript
;
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