in source/networkFirewallAutomation/lib/service/network-firewall-service.ts [275:298]
async listRuleGroupsForPolicy(firewallPolicyName: string): Promise<string[]> {
let ruleGroupArns: string[] = [];
let response;
try {
response = await this.NetworkFirewallInstance.describeFirewallPolicy({ FirewallPolicyName: firewallPolicyName }).promise();
if (response && response.FirewallPolicy) {
response.FirewallPolicy?.StatefulRuleGroupReferences?.forEach((ruleGroup) => {
ruleGroupArns.push(ruleGroup.ResourceArn)
})
response.FirewallPolicy?.StatelessRuleGroupReferences?.forEach((ruleGroup) => {
ruleGroupArns.push(ruleGroup.ResourceArn)
})
} else {
Logger.log(LOG_LEVEL.INFO, `No firewall policy of the name: ${firewallPolicyName}`)
return Promise.resolve([])
}
return Promise.resolve(ruleGroupArns)
} catch (error) {
Logger.log(LOG_LEVEL.INFO, `Error trying to retrieve current rule groups configured ${JSON.stringify(error)}`)
return Promise.resolve([])
}
}