Documentation

set_fact - Set host facts from a task

Synopsis

  • This module allows setting new variables. Variables are set on a host-by-host basis just like facts discovered by the setup module.
  • These variables will be available to subsequent plays during an ansible-playbook run, but will not be saved across executions even if you use a fact cache.
  • Per the standard Ansible variable precedence rules, many other types of variables have a higher priority, so this value may be overridden. See http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable for more information.

Options

parameter required default choices comments
key_value
yes
The set_fact module takes key=value pairs as variables to set in the playbook scope. Or alternatively, accepts complex arguments using the args: statement.

Examples

# Example setting host facts using key=value pairs, note that this always creates strings or booleans
- set_fact: one_fact="something" other_fact="{{ local_var }}"

# Example setting host facts using complex arguments
- set_fact:
     one_fact: something
     other_fact: "{{ local_var * 2 }}"
     another_fact: "{{ some_registered_var.results | map(attribute='ansible_facts.some_fact') | list }}"

# As of 1.8, Ansible will convert boolean strings ('true', 'false', 'yes', 'no')
# to proper boolean values when using the key=value syntax, however it is still
# recommended that booleans be set using the complex argument style:
- set_fact:
    one_fact: true
    other_fact: false

Notes

Note

  • The var=value notation can only create strings or booleans. If you want to create lists/arrays or dictionary/hashes use var: [val1, val2]

Status

This module is flagged as stableinterface which means that the maintainers for this module guarantee that no backward incompatible interface changes will be made.

Support

This module is maintained by those with core commit privileges

For more information on what this means please read Module Support

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.