UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

31 lines 1.1 kB
import { APIGatewayClient, GetRestApisCommand } from '@aws-sdk/client-api-gateway'; import { parseIfPresent } from '../../utils/json.js'; import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js'; export const RestApisSync = createTypedSyncOperation('apigateway', 'gateways', createResourceSyncType({ client: APIGatewayClient, command: GetRestApisCommand, key: 'items', paginationConfig: { inputKey: 'position', outputKey: 'position' }, arn: (api, region, account, partition) => restApiArn(api.id, region, account, partition), tags: (api) => api.tags, resourceTypeParts: (account, region) => ({ account, service: 'apigateway', region, resourceType: 'restapis' }), results: (api) => ({ metadata: { id: api.id, name: api.name }, policy: parseIfPresent(api.policy) }) })); function restApiArn(apiId, region, account, partition) { return `arn:${partition}:apigateway:${region}::/restapis/${apiId}`; } //# sourceMappingURL=gateways.js.map