UNPKG

@cloud-copilot/iam-data

Version:
38 lines 1.66 kB
import { readResourceTypes } from './data.js'; /** * * @param serviceKey the service key to get the resource types for, is case insensitive * @returns the resource types for the service */ export async function iamResourceTypesForService(serviceKey) { const data = await 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 */ export async function iamResourceTypeExists(serviceKey, resourceTypeKey) { const data = await 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 */ export async function iamResourceTypeDetails(serviceKey, resourceTypeKey) { const data = await 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