@planetarium/account-aws-kms
Version:
Libplanet account implementation using AWS KMS
18 lines (17 loc) • 1.01 kB
TypeScript
import { AwsKmsAccount } from "./AwsKmsAccount.js";
import { AwsKmsKeyId } from "./AwsKmsKeyId.js";
import { AwsKmsMetadata } from "./AwsKmsMetadata.js";
import { KMSClient } from "@aws-sdk/client-kms";
import { type AccountDeletion, type AccountGeneration, type AccountMetadata, type AccountRetrieval, type MutableKeyStore } from "@planetarium/account";
export interface AwsKmsKeyStoreOptions {
listWindow: number;
scopingTags: Record<string, string>;
}
export declare class AwsKmsKeyStore implements MutableKeyStore<AwsKmsKeyId, AwsKmsAccount, AwsKmsMetadata> {
#private;
constructor(client: KMSClient, options?: Partial<AwsKmsKeyStoreOptions>);
list(): AsyncIterable<AccountMetadata<AwsKmsKeyId, AwsKmsMetadata>>;
get(keyId: AwsKmsKeyId): Promise<AccountRetrieval<AwsKmsKeyId, AwsKmsAccount, AwsKmsMetadata>>;
generate(metadata?: AwsKmsMetadata): Promise<AccountGeneration<AwsKmsKeyId, AwsKmsAccount>>;
delete(keyId: AwsKmsKeyId): Promise<AccountDeletion<AwsKmsKeyId>>;
}