UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

52 lines 2.49 kB
import { StorageConfig, TopLevelConfig } from '../config/config.js'; import { AwsIamStore } from './AwsIamStore.js'; /** * Create a storage client based on the provided configurations and partition. * * @param configs - The top-level configurations that define the storage settings. * @param partition - The partition to use for the storage client. * @returns The storage client instance to use */ export declare function createStorageClient(configs: TopLevelConfig[], partition: string): AwsIamStore; /** * Create a storage client based on the provided storage configuration and partition. * * @param storageConfig - The storage configuration object that defines the type and path of the storage. * @param partition - The partition to use for the storage client. * @returns The storage client instance to use */ export declare function createStorageClient(storageConfig: StorageConfig, partition: string): AwsIamStore; /** * Create an in-memory storage client with the 'aws' partition. * * This is useful for testing. */ export declare function createInMemoryStorageClient(): AwsIamStore; /** * Generate a resource prefix given a starting path, a resource ARN, and a separator. * The function uses splitArnParts to get the parts of the ARN and then joins each non-empty part * with the provided separator. The last segment (resourcePath) is URL encoded. * * @param startingPath - The starting path (e.g. a base folder) * @param resourceArn - The full resource ARN. * @param separator - The separator to use (e.g. '/' or '-'). * @returns A string that represents the resource prefix. */ export declare function resourcePrefix(startingPath: string, resourceArn: string, separator: string): string; /** * Generate a resource type prefix based on the provided starting path and resource type parts. * * @param startingPath - The starting path (e.g. a base folder) * @param parts - An object containing the components of the resource type * @param separator - the separator to use for joining the parts. This could be '/' or any other string. * @returns A string that represents the resource type prefix. */ export declare function resourceTypePrefix(startingPath: string, parts: { partition?: string; account?: string; service: string; region?: string; resourceType?: string; }, separator: string): string; export declare function joinPathParts(parts: (string | undefined)[], separator: string): string; //# sourceMappingURL=util.d.ts.map