From 73766e08168c23b74e71c7d8e86ad517d9ba5e6c Mon Sep 17 00:00:00 2001 From: Mark Janssen -- Sig-I/O Automatisering Date: Fri, 25 Mar 2016 15:24:48 +0100 Subject: [PATCH] Add ip4_hex filter to convert ip-address to hex notation --- lib/ansible/plugins/filter/ipaddr.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ansible/plugins/filter/ipaddr.py b/lib/ansible/plugins/filter/ipaddr.py index 432de6031b1..7ea55b30ad7 100644 --- a/lib/ansible/plugins/filter/ipaddr.py +++ b/lib/ansible/plugins/filter/ipaddr.py @@ -670,7 +670,11 @@ def _need_netaddr(f_name, *args, **kwargs): raise errors.AnsibleFilterError('The {0} filter requires python-netaddr be' ' installed on the ansible controller'.format(f_name)) -# ---- Ansible filters ---- +def ip4_hex(arg): + ''' Convert an IPv4 address to Hexadecimal notation ''' + numbers = list(map(int, arg.split('.'))) + return '{:02x}{:02x}{:02x}{:02x}'.format(*numbers) + class FilterModule(object): ''' IP address and network manipulation filters ''' @@ -683,6 +687,7 @@ class FilterModule(object): 'ipsubnet': ipsubnet, 'nthhost': nthhost, 'slaac': slaac, + 'ip4_hex': ip4_hex, # MAC / HW addresses 'hwaddr': hwaddr,