ansible.utils.resolvable test – Test if an IP or name can be resolved via /etc/hosts or DNS
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.resolvable
.
New in ansible.utils 2.2.0
Synopsis
- This plugin checks if the provided IP address of host name can be resolved using /etc/hosts or DNS
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.resolvable(key1=value1, key2=value2, ...)
and input is not ansible.utils.resolvable(key1=value1, key2=value2, ...)
Parameter | Comments |
---|---|
host string / required | A string that represents the IP address or the host name For example: |
Examples
#### Simple examples - name: Check if docs.ansible.com is resolvable or not ansible.builtin.set_fact: data: "{{ 'docs.ansible.com' is ansible.utils.resolvable }}" # TASK [Check if docs.ansible.com is resolvable or not] ********************************** # ok: [localhost] => { # "ansible_facts": { # "data": true # }, # "changed": false # } - name: Set host name variables ansible.builtin.set_fact: good_name: www.google.com bad_name: foo.google.com - name: Assert good_name's resolvability assert: that: "{{ 'www.google.com' is ansible.utils.resolvable }}" - name: Assert bad_name's resolvability assert: that: "{{ 'foo.google.com' is not ansible.utils.resolvable }}" # TASK [Assert good_name's resolvability] ************************************************ # ok: [localhost] => { # "changed": false, # "msg": "All assertions passed" # } # TASK [Assert bad_name's resolvability] ************************************************* # ok: [localhost] => { # "changed": false, # "msg": "All assertions passed" # } - name: Set ip variables ansible.builtin.set_fact: ipv4_localhost: "127.0.0.1" ipv6_localhost: "::1" - name: Assert ipv4_localhost's resolvability assert: that: "{{ ipv4_localhost is ansible.utils.resolvable }}" - name: Assert ipv6_localhost's resolvability assert: that: "{{ ipv6_localhost is ansible.utils.resolvable }}" # TASK [Assert ipv4_localhost's resolvability] ******************************************* # ok: [localhost] => { # "changed": false, # "msg": "All assertions passed" # } # TASK [Assert ipv6_localhost's resolvability] ******************************************* # ok: [localhost] => { # "changed": false, # "msg": "All assertions passed" # }
Return Value
Key | Description |
---|---|
data string | If jinja test satisfies plugin expression If jinja test does not satisfy plugin expression Returned: success |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/utils/resolvable_test.html