@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
34 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RestApisSync = void 0;
const client_api_gateway_1 = require("@aws-sdk/client-api-gateway");
const json_js_1 = require("../../utils/json.js");
const typedSync_js_1 = require("../typedSync.js");
exports.RestApisSync = (0, typedSync_js_1.createTypedSyncOperation)('apigateway', 'gateways', (0, typedSync_js_1.createResourceSyncType)({
client: client_api_gateway_1.APIGatewayClient,
command: client_api_gateway_1.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: (0, json_js_1.parseIfPresent)(api.policy)
})
}));
function restApiArn(apiId, region, account, partition) {
return `arn:${partition}:apigateway:${region}::/restapis/${apiId}`;
}
//# sourceMappingURL=gateways.js.map