Skip to content

Commit 1ce439d

Browse files
author
zac
committed
waf_rate_limit: support waf-regional.
1 parent e231654 commit 1ce439d

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

waf_rate_limit/logic.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ def __init__(self, resource_properties):
1717
self.ip_set = resource_properties['IPSet']
1818
self.negated = resource_properties['Negated']
1919
self.region = resource_properties['Region']
20+
self.regional = resource_properties.get('Regional', 'false')
2021
self.web_acl_id = resource_properties['WebACLId']
2122
self.priority = int(resource_properties['Priority'])
2223
self.rule_name = f"{resource_properties['EnvironmentName']}-rate-limit"
2324
self.ip_set_name = f"{resource_properties['EnvironmentName']}-rate-limit-ip-set"
2425
self.metric_name = self.rule_name.replace('-', '')
2526

26-
self.client = boto3.client('waf', region_name=self.region)
27+
if to_bool(self.regional):
28+
self.client = boto3.client('waf-regional', region_name=self.region)
29+
else:
30+
self.client = boto3.client('waf', region_name=self.region)
2731

2832
def retry(func):
2933
# Reattempt to execute a given function with optional arguments.

waf_rate_limit/sample-event.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"Type": "IPV4",
1616
"Value": "123.22.64.68/32"
1717
}
18-
]
18+
],
19+
"Regional": "true"
1920
},
2021
"RequestType": "Delete",
2122
"ResourceType": "Custom::WAFRateLimitFunction",

0 commit comments

Comments
 (0)