All files / src/utils/playbook/optionHandlers/cloudwatch metrics.ts

0% Statements 0/15
100% Branches 0/0
0% Functions 0/6
0% Lines 0/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                                                   
import { Task } from "../../../../types/index.ts";
import { getCurrentAsset } from "../../getCurrentAsset.ts";
import { Key } from "../../key.ts";
import { getTaskData } from "../../task/getTaskData.ts";
 
export const getMetrics = (task: Task) => {
  const data = getTaskData(task);
  const currentAsset = getCurrentAsset(
    task,
    Key.NAMESPACE,
    "namespace",
    undefined,
    "region_dimension_map",
  );
  const regions = currentAsset?.find((el) => el.region === data.region);
  const dimensions = data?.dimensions?.map((dimension: any) =>
    regions?.dimensions?.find((el: any) => el.name === dimension.name),
  );
  return dimensions?.flatMap((d: any) =>
    d?.metrics?.map((metric: any) => ({
      id: metric,
      label: metric,
    })),
  );
};