async function getRegions()

in source/services/helper/index.ts [257:285]


async function getRegions(): Promise<string[]> {
  logger.info({
    label: "helper/getRegions",
    message: `getting ec2 regions`,
  });
  try {
    const ec2 = new EC2({
      apiVersion: awsClients.ec2,
      customUserAgent: process.env.CUSTOM_SDK_USER_AGENT,
    });
    const _r = await ec2.describeRegions().promise();
    if (!_r.Regions) throw new Error("failed to describe regions");

    const regions = <string[]>_r.Regions.map((region) => {
      return region.RegionName;
    });
    logger.debug({
      label: "helper/getRegions",
      message: `${JSON.stringify({ regions: regions })}`,
    });
    return regions;
  } catch (e) {
    logger.error({
      label: "helper/getRegions",
      message: e,
    });
    throw new Error("error in getting regions");
  }
}