UNPKG

@cloud-copilot/iam-data

Version:
55 lines 2.02 kB
/** * Details for an AWS service category and the IAM services assigned to it. */ export interface CategoryDetails { /** Stable lowercase category key. */ readonly key: string; /** Properly capitalized category name from AWS. */ readonly name: string; /** Sorted IAM service keys assigned to the category. */ readonly services: string[]; } /** * Get all service category keys. * * @returns an array of all service category keys */ export declare function serviceCategories(): Promise<string[]>; /** * Check if a service category exists. * * @param category the category key to check, is case insensitive * @returns true if the category exists, false otherwise */ export declare function serviceCategoryExists(category: string): Promise<boolean>; /** * Get the IAM service to category mapping. * * @returns a map of IAM service keys to category keys */ export declare function iamServiceCategoryMap(): Promise<Record<string, string>>; /** * Get IAM service keys assigned to a service category. * * @param category the category key to get IAM services for, is case insensitive * @throws an error if the category does not exist * @returns sorted IAM service keys assigned to the category */ export declare function iamServicesForCategory(category: string): Promise<string[]>; /** * Get the service category key for an IAM service. * * @param service the IAM service key to get the category for, is case insensitive * @throws an error if the service does not exist or has no category mapping * @returns the category key for the IAM service */ export declare function categoryForIamService(service: string): Promise<string>; /** * Get details for a service category. * * @param category the category key to get details for, is case insensitive * @throws an error if the category does not exist * @returns details for the service category */ export declare function getServiceCategory(category: string): Promise<CategoryDetails>; //# sourceMappingURL=categories.d.ts.map