aws-secrets-manager-cache
Version:
A package to help you out when wanting to cache items from AWS Secrets Manager.
30 lines (29 loc) • 913 B
TypeScript
import { SecretsManager } from 'aws-sdk';
export declare class CachedSecret {
readonly value: string;
readonly ttl: number;
readonly expiresAt: number;
constructor(value: string, ttl: number);
hasExpired(): boolean;
}
export declare type SecretsManagerCacheOptions = Partial<SecretsManagerCacheConfig>;
interface SecretsManagerCacheConfig {
/**
* How many milliseconds to cache each secret for.
* @default 300000
*/
ttl: number;
/** AWS SDK SecretsManager instance */
secretsManager: SecretsManager;
}
export declare class SecretsManagerCache {
config: SecretsManagerCacheConfig;
private cache;
constructor(options?: SecretsManagerCacheOptions);
/**
* Fetches a secret from SecretsManager and caches it as long as the given
* `ttl`.
*/
getSecret(secretName: string, isJSON?: boolean): Promise<string | undefined>;
}
export {};