vars/varnames more examles more varied (#84300)

also ref each other in seealso as they will commonly be used toghether

(cherry picked from commit c734ac2125)
pull/84305/head
Brian Coca 1 week ago committed by Brian Coca
parent d0c9fc3edd
commit 8b7c7e35f6

@ -13,11 +13,14 @@ DOCUMENTATION = """
_terms:
description: List of Python regex patterns to search for in variable names.
required: True
seealso:
- plugin_type: lookup
plugin: ansible.builtin.vars
"""
EXAMPLES = """
- name: List variables that start with qz_
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', '^qz_.+')}}"
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', '^qz_.+') }}"
vars:
qz_1: hello
qz_2: world
@ -25,13 +28,16 @@ EXAMPLES = """
qz_: "I won't show either"
- name: Show all variables
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', '.+')}}"
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', '.+') }}"
- name: Show variables with 'hosts' in their names
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', 'hosts')}}"
ansible.builtin.debug: msg="{{ q('varnames', 'hosts') }}"
- name: Find several related variables that end specific way
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.varnames', '.+_zone$', '.+_location$') }}"
ansible.builtin.debug: msg="{{ query('ansible.builtin.varnames', '.+_zone$', '.+_location$') }}"
- name: display values from variables found via varnames (note "*" is used to dereference the list to a 'list of arguments')
debug: msg="{{ lookup('vars', *lookup('varnames', 'ansible_play_.+')) }}"
"""

@ -17,6 +17,10 @@ DOCUMENTATION = """
description:
- What to return if a variable is undefined.
- If no default is set, it will result in an error if any of the variables is undefined.
seealso:
- plugin_type: lookup
plugin: ansible.builtin.varnames
"""
EXAMPLES = """
@ -27,20 +31,23 @@ EXAMPLES = """
myvar: ename
- name: Show default empty since i dont have 'variablnotename'
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar, default='')}}"
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar, default='') }}"
vars:
variablename: hello
myvar: notename
- name: Produce an error since i dont have 'variablnotename'
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar)}}"
ansible.builtin.debug: msg="{{ q('vars', 'variabl' + myvar) }}"
ignore_errors: True
vars:
variablename: hello
myvar: notename
- name: find several related variables
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'ansible_play_hosts', 'ansible_play_batch', 'ansible_play_hosts_all') }}"
ansible.builtin.debug: msg="{{ query('ansible.builtin.vars', 'ansible_play_hosts', 'ansible_play_batch', 'ansible_play_hosts_all') }}"
- name: show values from variables found via varnames (note "*" is used to dereference the list to a 'list of arguments')
debug: msg="{{ q('vars', *q('varnames', 'ansible_play_.+')) }}"
- name: Access nested variables
ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar).sub_var }}"

Loading…
Cancel
Save