UNPKG

@updating-secrets/aws-secrets-manager-adapter

Version:

AWS Secrets Manager adapter for the updating-secrets package.

32 lines (31 loc) 1.36 kB
import { type GetSecretValueCommand, type GetSecretValueCommandOutput } from '@aws-sdk/client-secrets-manager'; import { BaseSecretsAdapter, type ProcessedSecretDefinitions } from 'updating-secrets'; /** * Minimal subset of AWS's `SecretsManagerClient` from the * [`@aws-sdk/client-secrets-manager`](https://www.npmjs.com/package/@aws-sdk/client-secrets-manager) * package required for {@link AwsSecretsManagerAdapter}. * * For testing purposes use `MockAwsSecretsManagerClient` to create a mock instance of this. * * @category Internal */ export type NeededAwsSecretsManagerClient = { /** * Same as AWS's `SecretsManagerClient.send()` method but this only accepts the * `GetSecretValueCommand` command. */ send(command: GetSecretValueCommand): Promise<GetSecretValueCommandOutput>; }; /** * Loads secrets from AWS Secrets Manager. A `SecretsManagerClient` instance must be provided. * * @category Adapters */ export declare class AwsSecretsManagerAdapter extends BaseSecretsAdapter { protected readonly awsSecretsManager: Readonly<NeededAwsSecretsManagerClient>; constructor(awsSecretsManager: Readonly<NeededAwsSecretsManagerClient>); /** Loads secrets from the provided `SecretsManagerClient`. */ loadSecrets(secrets: ProcessedSecretDefinitions): Promise<{ [x: string]: Error | Promise<any>; }>; }