@ -173,8 +173,19 @@ except ImportError:
from ansible . module_utils . basic import AnsibleModule
from ansible . module_utils . basic import AnsibleModule
from ansible . module_utils . vmware import vmware_argument_spec , PyVmomi
from ansible . module_utils . vmware import vmware_argument_spec , PyVmomi
from ansible . module_utils . _text import to_native , to_text
from ansible . module_utils . _text import to_native
from ansible . module_utils . compat import ipaddress
import socket
def is_ipaddress ( value ) :
try :
socket . inet_aton ( value )
except socket . error :
try :
socket . inet_pton ( socket . AF_INET6 , value )
except socket . error :
return False
return True
class VmwareFirewallManager ( PyVmomi ) :
class VmwareFirewallManager ( PyVmomi ) :
@ -229,14 +240,14 @@ class VmwareFirewallManager(PyVmomi):
ip_networks = allowed_hosts . get ( ' ip_network ' , [ ] )
ip_networks = allowed_hosts . get ( ' ip_network ' , [ ] )
for ip_address in ip_addresses :
for ip_address in ip_addresses :
try :
try :
i paddress. ip_address ( to_text ( ip_address ) )
i s_ipaddress( ip_address )
except ValueError :
except ValueError :
self . module . fail_json ( msg = " The provided IP address %s is not a valid IP "
self . module . fail_json ( msg = " The provided IP address %s is not a valid IP "
" for the rule %s " % ( ip_address , rule_name ) )
" for the rule %s " % ( ip_address , rule_name ) )
for ip_network in ip_networks :
for ip_network in ip_networks :
try :
try :
i paddress. ip_network ( ip_network )
i s_i paddress( ip_network )
except ValueError :
except ValueError :
self . module . fail_json ( msg = " The provided IP network %s is not a valid network "
self . module . fail_json ( msg = " The provided IP network %s is not a valid network "
" for the rule %s " % ( ip_network , rule_name ) )
" for the rule %s " % ( ip_network , rule_name ) )