@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
54 lines • 2.69 kB
TypeScript
import { type StorageConfig, type TopLevelConfig } from '../config/config.js';
import { type 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.
* @param deleteData - Whether to delete existing data in the storage.
* @returns The storage client instance to use
*/
export declare function createStorageClient(configs: TopLevelConfig[], partition: string, deleteData: boolean): 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.
* @param deleteData - Whether to delete existing data in the storage.
* @returns The storage client instance to use
*/
export declare function createStorageClient(storageConfig: StorageConfig, partition: string, deleteData: boolean): 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