UNPKG

@altostra/core

Version:

Core library for shared types and logic

34 lines (33 loc) 1.21 kB
import { SSM } from 'aws-sdk'; import type { Logger } from "../Logging"; import type { Maybe } from "../Maybe"; import type { Dict } from "../Types"; import type { IParameterStoreLayer } from "./ParametersManager"; export interface AWSParameterStoreOptions { logger?: Logger; environment?: string; service?: string; } export declare class AWSParameterStore implements IParameterStoreLayer { #private; constructor(ssm?: SSM, { logger, environment, service, }?: AWSParameterStoreOptions); /** *Brings parameter from SSM * @param param param should be without environment prefix * @returns value of param */ get(param: string): Promise<Maybe<string>>; /** *Brings parameters from SSM * @param params params should be without environment prefix * @returns [name, value] for requested params */ getParameters<T extends string>(params: readonly T[]): Promise<Dict<string, T>>; getParametersByPath(path: string, { isRecursive }?: GetParamsByPathOptions): Promise<Dict<string>>; } export interface GetParamsByPathOptions { /** * if true brings all sublevels in hierarchy of provided path */ isRecursive?: boolean; }