ansible.builtin.debug – Print statements during execution

Note

This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name debug even without specifying the collections: keyword. Despite that, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 0.8: of ansible.builtin

Synopsis

  • This module prints statements during execution and can be useful for debugging variables or expressions without necessarily halting the playbook.

  • Useful for debugging together with the ‘when:’ directive.

  • This module is also supported for Windows targets.

Parameters

Parameter Choices/Defaults Comments
msg
string
Default:
"Hello world!"
The customized message that is printed. If omitted, prints a generic message.
var
string
A variable name to debug.
Mutually exclusive with the msg option.
Be aware that this option already runs in Jinja2 context and has an implicit {{ }} wrapping, so you should not be using Jinja2 delimiters unless you are looking for double interpolation.
verbosity
integer
added in 2.1 of ansible.builtin
Default:
0
A number that controls when the debug is run, if you set to 3 it will only run debug when -vvv or above

Notes

Note

  • This module is also supported for Windows targets.

See Also

See also

ansible.builtin.assert

The official documentation on the ansible.builtin.assert module.

ansible.builtin.fail

The official documentation on the ansible.builtin.fail module.

Examples

# Example that prints the loopback address and gateway for each host
- debug:
    msg: System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}

- debug:
    msg: System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}
  when: ansible_default_ipv4.gateway is defined

# Example that prints return information from the previous task
- shell: /usr/bin/uptime
  register: result

- debug:
    var: result
    verbosity: 2

- name: Display all variables/facts known for a host
  debug:
    var: hostvars[inventory_hostname]
    verbosity: 4

# Example that prints two lines of messages, but only if there is an environment value set
- debug:
    msg:
    - "Provisioning based on YOUR_KEY which is: {{ lookup('env', 'YOUR_KEY') }}"
    - "These servers were built using the password of '{{ password_used }}'. Please retain this for later use."

Authors

  • Dag Wieers (@dagwieers)

  • Michael DeHaan