Skip to content

Latest commit

 

History

History
183 lines (143 loc) · 5.44 KB

ansible.utils.in_network_test.rst

File metadata and controls

183 lines (143 loc) · 5.44 KB

ansible.utils.in_network

Test if IP address falls in the network

Version added: 2.2.0

  • This plugin checks if the provided IP address belongs to the provided network
Parameter Choices/Defaults Configuration Comments
ip
string / required
A string that represents an IP address
For example: 10.1.1.1
network
string / required
A string that represents the network address in CIDR form
For example: 10.0.0.0/8

#### Simple examples

- name: Check if 10.1.1.1 is in 10.0.0.0/8
  ansible.builtin.set_fact:
    data: "{{ '10.1.1.1' is ansible.utils.in_network '10.0.0.0/8' }}"

# TASK [Check if 10.1.1.1 is in 10.0.0.0/8] ***********************************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 10.1.1.1 is not in 192.168.1.0/24
  ansible.builtin.set_fact:
    data: "{{ '10.1.1.1' is not ansible.utils.in_network '192.168.1.0/24' }}"

# TASK [Check if 10.1.1.1 is not in 192.168.1.0/24] ****************************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 2001:db8:a::123 is in 2001:db8:a::/64
  ansible.builtin.set_fact:
    data: "{{ '2001:db8:a::123' is ansible.utils.in_network '2001:db8:a::/64' }}"

# TASK [Check if 2001:db8:a::123 is in 2001:db8:a::/64] ****************************
# task path: /home/prsahoo/playbooks/collections/localhost_test/utils_in_network.yml:16
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 2001:db8:a::123 is not in 10.0.0.0/8
  ansible.builtin.set_fact:
    data: "{{ '2001:db8:a::123' is not ansible.utils.in_network '10.0.0.0/8' }}"

# TASK [Check if 2001:db8:a::123 is not in 10.0.0.0/8] *********************************
# task path: /home/prsahoo/playbooks/collections/localhost_test/utils_in_network.yml:20
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

Common return values are documented here, the following are the fields unique to this test:

Key Returned Description
data
-
If jinja test satisfies plugin expression true
If jinja test does not satisfy plugin expression false



Authors

  • Priyam Sahoo (@priyamsahoo)

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.