@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
58 lines • 4.24 kB
TypeScript
import { type AwsIamStore, type OrganizationPolicyType, type ResourceTypeParts } from '../AwsIamStore.js';
/**
* A SQLite-based implementation of the AwsIamStore interface.
*/
export declare class SqliteAwsIamStore implements AwsIamStore {
private readonly dbPath;
private readonly partition;
private readonly iamCollectVersion;
private readonly db;
constructor(dbPath: string, partition: string, iamCollectVersion: string);
close(): void;
writeBatch(fn: () => Promise<void>): Promise<void>;
/**
* Returns the SQL DDL for a SQLite database.
*
* @returns The DDL to create the schema in a SQLite database.
*/
static schemaSql(iamCollectVersion: string): string;
private init;
private run;
private query;
private isEmptyContent;
private serialize;
saveResourceMetadata(accountId: string, arn: string, metadataType: string, data: string | any): Promise<void>;
listResourceMetadata(accountId: string, arn: string): Promise<string[]>;
getResourceMetadata<T, D extends T>(accountId: string, arn: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
deleteResourceMetadata(accountId: string, arn: string, metadataType: string): Promise<void>;
deleteResource(accountId: string, arn: string): Promise<void>;
listResources(accountId: string, options: ResourceTypeParts): Promise<string[]>;
findResourceMetadata<T>(accountId: string, options: ResourceTypeParts): Promise<T[]>;
syncResourceList(accountId: string, options: ResourceTypeParts, desiredResources: string[]): Promise<void>;
deleteAccountMetadata(accountId: string, metadataType: string): Promise<void>;
saveAccountMetadata(accountId: string, metadataType: string, data: any): Promise<void>;
getAccountMetadata<T, D extends T>(accountId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
getOrganizationMetadata<T, D extends T>(organizationId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
saveOrganizationMetadata(organizationId: string, metadataType: string, data: any): Promise<void>;
deleteOrganizationMetadata(organizationId: string, metadataType: string): Promise<void>;
listOrganizationalUnits(organizationId: string): Promise<string[]>;
deleteOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string): Promise<void>;
saveOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string, data: any): Promise<void>;
getOrganizationalUnitMetadata<T, D extends T>(organizationId: string, ouId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
deleteOrganizationalUnit(organizationId: string, ouId: string): Promise<void>;
deleteOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string): Promise<void>;
saveOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, data: any): Promise<void>;
getOrganizationPolicyMetadata<T, D extends T>(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
deleteOrganizationPolicy(organizationId: string, policyType: OrganizationPolicyType, policyId: string): Promise<void>;
listOrganizationPolicies(organizationId: string, policyType: OrganizationPolicyType): Promise<string[]>;
syncRamResources(accountId: string, region: string | undefined, arns: string[]): Promise<void>;
saveRamResource(accountId: string, arn: string, data: any): Promise<void>;
getRamResource<T, D extends T>(accountId: string, arn: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
listAccountIds(): Promise<string[]>;
getIndex<T>(indexName: string, defaultValue: T): Promise<{
data: T;
lockId: string;
}>;
saveIndex<T>(indexName: string, data: T, lockId: string): Promise<boolean>;
}
//# sourceMappingURL=SqliteAwsIamStore.d.ts.map