Accept int input for ipaddr ipv4 and ipv6 filters (#224)

* Accept int input for ipaddr ipv4 and ipv6 filters

* Fix fragment

* Fix tests
pull/228/head
Ashwini Mhatre 2022-11-21 15:18:35 +05:30 committed by GitHub
parent 4f38c362f7
commit baba9ca7ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,3 @@
---
bugfixes:
- Accept int input for ipaddr filters.

View File

@ -261,6 +261,8 @@ def _ipaddr(*args, **kwargs):
pass pass
elif isinstance(data["value"], list): elif isinstance(data["value"], list):
pass pass
elif isinstance(data["value"], int):
pass
else: else:
raise AnsibleFilterError( raise AnsibleFilterError(
"Unrecognized type <{0}> for ipaddr filter <{1}>".format( "Unrecognized type <{0}> for ipaddr filter <{1}>".format(

View File

@ -138,6 +138,8 @@ def _ipv4(*args, **kwargs):
pass pass
elif isinstance(data["value"], list): elif isinstance(data["value"], list):
pass pass
elif isinstance(data["value"], int):
pass
else: else:
raise AnsibleFilterError( raise AnsibleFilterError(
"Unrecognized type <{0}> for ipv4 filter <{1}>".format( "Unrecognized type <{0}> for ipv4 filter <{1}>".format(

View File

@ -156,6 +156,8 @@ def _ipv6(*args, **kwargs):
pass pass
elif isinstance(data["value"], list): elif isinstance(data["value"], list):
pass pass
elif isinstance(data["value"], int):
pass
else: else:
raise AnsibleFilterError( raise AnsibleFilterError(
"Unrecognized type <{0}> for ipv6 filter <{1}>".format( "Unrecognized type <{0}> for ipv6 filter <{1}>".format(

View File

@ -57,3 +57,18 @@
- name: Assert result for ipaddr filter with chained filters - name: Assert result for ipaddr filter with chained filters
assert: assert:
that: "{{ result6 == '192.168.255.123' }}" that: "{{ result6 == '192.168.255.123' }}"
- debug:
msg: "Test int input for ipaddr filter"
- name: set fact 1
set_fact:
ip1: "172.20.0.1"
- name: Set fact 2
set_fact:
ip2: "{{ ((ip1 | ansible.utils.ipaddr('int')) + 6) | ansible.utils.ipaddr }}"
- name: Assert result for ipaddr filter
assert:
that: "{{ ip2 == '172.20.0.7' }}"