Beispiel #1
0
 def allowed_addresses(self):
     if self._values['allowed_addresses'] is None:
         return None
     result = []
     addresses = self._values['allowed_addresses']
     if isinstance(addresses, string_types):
         if addresses in ['', 'none']:
             return []
         else:
             addresses = [addresses]
     if len(addresses) == 1 and addresses[0] in ['default', '']:
         result = ['127.0.0.0/8']
         return result
     for address in addresses:
         try:
             # Check for valid IPv4 or IPv6 entries
             ip_network(address)
             result.append(address)
         except ValueError:
             # else fallback to checking reasonably well formatted hostnames
             if is_valid_hostname(address):
                 result.append(str(address))
                 continue
             raise F5ModuleError(
                 "The provided 'allowed_address' value {0} is not a valid IP or hostname".format(address)
             )
     result = list(set(result))
     result.sort()
     return result
 def _parse_hosts(self, item):
     ip = ip_network(u'{0}'.format(item))
     if ip.prefixlen in [32, 128]:
         result = item.split('/')[0]
         return result
     return item
 def _convert_address(self, item):
     ip = ip_network(u'{0}'.format(item))
     return ip.with_prefixlen