You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
507 B
Python
18 lines
507 B
Python
import ipaddress
|
|
|
|
def zone_is_subset(re2o_reverse_zone, network):
|
|
"""Check if all the subnets are inside another network
|
|
|
|
Examples
|
|
--------
|
|
An Example to check if the function works as intended
|
|
|
|
>>> net1 = ipaddress.IPv4Network("10.11.0.0/16")
|
|
>>> cidrs = ['10.11.1.0/24', '10.11.2.0/23', '10.11.4.0/22']
|
|
>>> zone = {'cidrs': cidrs}
|
|
>>> zone_is_subset(zone, net1)
|
|
True
|
|
"""
|
|
return all(ipaddress.ip_network(n).subnet_of(network) for n in
|
|
zone["cidrs"])
|