static async getParameter()

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");
    }
  }