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.

Note

This module has a corresponding action plugin.

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

- name: Print the gateway for each host when defined
  ansible.builtin.debug:
    msg: System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}
  when: ansible_default_ipv4.gateway is defined

- name: Get uptime information
  ansible.builtin.shell: /usr/bin/uptime
  register: result

- name: Print return information from the previous task
  ansible.builtin.debug:
    var: result
    verbosity: 2

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

- name: Prints two lines of messages, but only if there is an environment value set
  ansible.builtin.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