UNPKG

@planetarium/account-aws-kms

Version:

Libplanet account implementation using AWS KMS

18 lines (17 loc) 1.01 kB
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>>; }