@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
40 lines • 1.6 kB
TypeScript
import { type AwsCredentialProviderWithMetaData } from '../aws/coreAuth.js';
import { type AuthConfig } from '../config/config.js';
import { type ClientConstructor } from '../customClients/AbstractClient.js';
import { AbstractClientPool } from '../customClients/AbstractClientPool.js';
import { type AwsService } from '../services.js';
import { type AwsConfigClientContext } from './AwsConfigClientContext.js';
interface AwsConfigClientPoolOptions {
aggregatorName: string;
region: string;
accountId?: string;
auth?: AuthConfig;
}
/**
* AWS Config-based client pool using the new abstract base classes
*/
export declare class AwsConfigClientPool extends AbstractClientPool<AwsConfigClientContext> {
private readonly options;
private configClient;
private aggregatorName;
private configCredentials;
/**
* Constructor
*
* @param options Options for the Config client pool
*/
constructor(options: AwsConfigClientPoolOptions);
init(): Promise<void>;
requiresAwsCredentials(): boolean;
/**
* Register the default supported Config-based clients
*/
protected registerDefaultClients(): void;
/**
* Get custom client context for Config-based implementations
*/
protected getClientContext(ClientType: ClientConstructor<any>, credentials: AwsCredentialProviderWithMetaData, region: string | undefined, endpoint: string | undefined): AwsConfigClientContext;
isSyncSupported(service: AwsService, syncName: string, region: string): boolean;
}
export {};
//# sourceMappingURL=AwsConfigClientPool.d.ts.map