UNPKG

@confluentinc/schemaregistry

Version:
63 lines (62 loc) 2.5 kB
import { ClientConfig } from '../../../rest-service'; interface Kek { name?: string; kmsType?: string; kmsKeyId?: string; kmsProps?: { [key: string]: string; }; doc?: string; shared?: boolean; ts?: number; deleted?: boolean; } interface Dek { kekName?: string; subject?: string; version?: number; algorithm?: string; encryptedKeyMaterial?: string; encryptedKeyMaterialBytes?: Buffer; keyMaterial?: string; keyMaterialBytes?: Buffer; ts?: number; deleted?: boolean; } interface DekClient { config(): ClientConfig; registerKek(name: string, kmsType: string, kmsKeyId: string, shared: boolean, kmsProps?: { [key: string]: string; }, doc?: string): Promise<Kek>; getKek(name: string, deleted: boolean): Promise<Kek>; registerDek(kekName: string, subject: string, algorithm: string, version: number, encryptedKeyMaterial?: string): Promise<Dek>; getDek(kekName: string, subject: string, algorithm: string, version: number, deleted: boolean): Promise<Dek>; getDekEncryptedKeyMaterialBytes(dek: Dek): Promise<Buffer | null>; getDekKeyMaterialBytes(dek: Dek): Promise<Buffer | null>; setDekKeyMaterial(dek: Dek, keyMaterialBytes: Buffer): Promise<void>; close(): Promise<void>; } declare class DekRegistryClient implements DekClient { private clientConfig; private restService; private kekCache; private dekCache; private kekMutex; private dekMutex; constructor(config: ClientConfig); static newClient(config: ClientConfig): DekClient; config(): ClientConfig; registerKek(name: string, kmsType: string, kmsKeyId: string, shared: boolean, kmsProps?: { [key: string]: string; }, doc?: string): Promise<Kek>; getKek(name: string, deleted?: boolean): Promise<Kek>; registerDek(kekName: string, subject: string, algorithm: string, version?: number, encryptedKeyMaterial?: string): Promise<Dek>; private createDek; getDek(kekName: string, subject: string, algorithm: string, version?: number, deleted?: boolean): Promise<Dek>; getDekEncryptedKeyMaterialBytes(dek: Dek): Promise<Buffer | null>; getDekKeyMaterialBytes(dek: Dek): Promise<Buffer | null>; setDekKeyMaterial(dek: Dek, keyMaterialBytes: Buffer): Promise<void>; close(): Promise<void>; checkLatestDekInCache(kekName: string, subject: string, algorithm: string): Promise<boolean>; } export { DekRegistryClient, DekClient, Kek, Dek };