ansible.utils.ip test – Test if something in an IP address or network
Note
This test plugin is part of the ansible.utils collection (version 4.1.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install ansible.utils
.
To use it in a playbook, specify: ansible.utils.ip
.
New in ansible.utils 2.2.0
Synopsis
This plugin checks if the provided value is a valid host or network IP address
Keyword parameters
This describes keyword parameters of the test. These are the values key1=value1
, key2=value2
and so on in the following
examples: input is ansible.utils.ip(key1=value1, key2=value2, ...)
and input is not ansible.utils.ip(key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
A string that represents the value against which the test is going to be performed For example: |
Examples
#### Simple examples
- name: Check if 10.1.1.1 is a valid IP address
ansible.builtin.set_fact:
data: "{{ '10.1.1.1' is ansible.utils.ip }}"
# TASK [Check if 10.1.1.1 is a valid IP address] *****************************
# ok: [localhost] => {
# "ansible_facts": {
# "data": true
# },
# "changed": false
# }
- name: Check if 2001:db8:a::123 is a valid IP address
ansible.builtin.set_fact:
data: "{{ '2001:db8:a::123' is ansible.utils.ip }}"
# TASK [Check if 2001:db8:a::123 is a valid IP address] **********************
# ok: [localhost] => {
# "ansible_facts": {
# "data": true
# },
# "changed": false
# }
- name: Check if "hello-world" is not a valid IP address
ansible.builtin.set_fact:
data: "{{ 'hello-world' is not ansible.utils.ip }}"
# TASK [Check if "hello-world" is not a valid IP address] ********************
# ok: [localhost] => {
# "ansible_facts": {
# "data": true
# },
# "changed": false
# }
- name: Check if 300.1.1.1 is a valid IP address
ansible.builtin.set_fact:
data: "{{ '300.1.1.1' is ansible.utils.ip }}"
# TASK [Check if 300.1.1.1 is a valid IP address] ****************************
# ok: [localhost] => {
# "ansible_facts": {
# "data": false
# },
# "changed": false
# }
- name: Check if 10.0.0.0/8 is a valid IP address
ansible.builtin.set_fact:
data: "{{ '10.0.0.0/8' is ansible.utils.ip }}"
# TASK [Check if 10.0.0.0/8 is a valid IP address] ***************************
# ok: [localhost] => {
# "ansible_facts": {
# "data": true
# },
# "changed": false
# }
Return Value
Key |
Description |
---|---|
If jinja test satisfies plugin expression If jinja test does not satisfy plugin expression Returned: success |