@altostra/core
Version:
Core library for shared types and logic
34 lines (33 loc) • 1.21 kB
TypeScript
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;
}