UNPKG

@cloud-copilot/iam-data

Version:
43 lines 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iamResourceTypesForService = iamResourceTypesForService; exports.iamResourceTypeExists = iamResourceTypeExists; exports.iamResourceTypeDetails = iamResourceTypeDetails; const data_js_1 = require("./data.js"); /** * * @param serviceKey the service key to get the resource types for, is case insensitive * @returns the resource types for the service */ async function iamResourceTypesForService(serviceKey) { const data = await (0, data_js_1.readResourceTypes)(serviceKey.toLowerCase()); return Object.values(data).map((resourceType) => resourceType.key); } /** * Check if a resource type exists for a service and resource type key * * @param serviceKey the service key to check for the resource type, is case insensitive * @param resourceTypeKey the resource type key to check for, is case insensitive * @returns true if the resource type exists, false otherwise */ async function iamResourceTypeExists(serviceKey, resourceTypeKey) { const data = await (0, data_js_1.readResourceTypes)(serviceKey.toLowerCase()); return !!data[resourceTypeKey.toLowerCase()]; } /** * Get the resource type for a service and resource type key * * @param serviceKey the service key to get the resource type for, is case insensitive * @param resourceTypeKey the resource type key to get the resource type for, is case insensitive * @throws an error if the resource type does not exist * @returns the resource type */ async function iamResourceTypeDetails(serviceKey, resourceTypeKey) { const data = await (0, data_js_1.readResourceTypes)(serviceKey.toLowerCase()); const resourceType = data[resourceTypeKey.toLowerCase()]; if (!resourceType) { throw new Error(`Resource type ${resourceTypeKey} does not exist for service ${serviceKey}`); } return resourceType; } //# sourceMappingURL=resourceTypes.js.map