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