Skip to content

Commit c44f138

Browse files
committed
**Added:** example policy_filter_efilter.py
1 parent 42624b1 commit c44f138

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Diff for: examples/cmdb/firewall/policy_filter_efilter.py

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
"""api/v2/cmdb/firewall/policy.
2+
3+
- Get all firewall policies, to be sure that we have some policies
4+
- Get policies by an exact source address using Extended-filter parameter
5+
- Get policies by an exact source address using filter parameter
6+
"""
7+
8+
from fortigate_api import FortiGateAPI
9+
10+
HOST = "host"
11+
USERNAME = "username"
12+
PASSWORD = "password"
13+
14+
api = FortiGateAPI(
15+
host=HOST,
16+
username=USERNAME,
17+
password=PASSWORD,
18+
)
19+
20+
# Get all firewall policies, to be sure that we have some policies
21+
policies_all = api.cmdb.firewall.policy.get()
22+
print(f"{len(policies_all)=}") # len(policies_all)=245
23+
24+
# Get policies by an exact source address using Extended-filter parameter
25+
policies_efilter = api.cmdb.firewall.policy.get(efilter=["srcaddr==1.1.1.1/32"])
26+
print(f"{len(policies_efilter)=}") # len(policies_efilter)=1
27+
28+
# Get policies by an exact source address using filter parameter
29+
policies_filter = []
30+
addresses = api.cmdb.firewall.address.get(filter="subnet==1.1.1.1 255.255.255.255")
31+
for item in api.cmdb.firewall.policy.get():
32+
dstaddr = [d["name"] for d in item["srcaddr"]]
33+
for address in addresses:
34+
if address["name"] in dstaddr:
35+
policies_filter.append(item)
36+
print(f"{len(policies_filter)=}") # len(policies_filter)=1
37+
38+
api.logout()

0 commit comments

Comments
 (0)