in source/services/tagHandler/lib/SSMHelper.ts [33:67]
static async getParameter(parameterName: string): Promise<string[]> {
try {
const ssm = new SSM({
apiVersion: config.ssm,
customUserAgent: config.customUserAgent,
});
const response = await ssm
.getParameter({ Name: parameterName })
.promise();
if (!response.Parameter?.Value || !response.Parameter?.Version) {
throw new ReferenceError("parameter not found");
} else {
logger.debug({
label: "SSMHelper/getParameter",
message: `ssm parameter fetched: ${JSON.stringify(response)}`,
});
const value = response.Parameter.Value.split(",").filter(
(i) => i !== "NOP"
);
logger.debug({
label: "SSMHelper/getParameter",
message: `ssm parameter return value: ${value}`,
});
return value;
}
} catch (e) {
logger.error({
label: "SSMHelper/getParameter",
message: JSON.stringify(e),
});
if (e instanceof ReferenceError)
throw new ReferenceError("parameter not found");
else throw new APIError("error fetching SSM parameter");
}
}