function groupScPolicies()

in read_input/resources/vpc-sc.js [64:88]


function groupScPolicies(ingressEgressArray) {
  let policies = { ingress_policies: new Map(), egress_policies: new Map() };
  ingressEgressArray.forEach((data) => {
    const policy_type = data.policy_type;
    delete data.policy_type;
    const uni = JSON.stringify({
      perimeter_name: data.perimeter_name,
      from: data.from,
      to: { resources: data.to.resources },
    });
    if (policies[policy_type][uni]) {
      if (data?.to?.operations) {
        policies[policy_type][uni].to.operations = {
          ...policies[policy_type][uni].to.operations,
          ...data.to.operations,
        };
      }
    } else {
      policies[policy_type][uni] = data;
    }
  });
  policies.ingress_policies = Object.values(policies.ingress_policies);
  policies.egress_policies = Object.values(policies.egress_policies);
  return policies;
}