UNPKG

@confluentinc/schemaregistry

Version:
56 lines (55 loc) 2.17 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 { 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>; close(): Promise<void>; } declare class DekRegistryClient implements DekClient { private restService; private kekCache; private dekCache; private kekMutex; private dekMutex; constructor(config: ClientConfig); static newClient(config: ClientConfig): DekClient; static getEncryptedKeyMaterialBytes(dek: Dek): Buffer | null; static getKeyMaterialBytes(dek: Dek): Buffer | null; static setKeyMaterial(dek: Dek, keyMaterialBytes: Buffer): void; 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>; close(): Promise<void>; checkLatestDekInCache(kekName: string, subject: string, algorithm: string): Promise<boolean>; } export { DekRegistryClient, DekClient, Kek, Dek };