Ansible Module set fact: Difference between revisions
Jump to navigation
Jump to search
Line 28: | Line 28: | ||
set_fact: | set_fact: | ||
idea_apps: "{{ intellij_apps | to_json | from_json | json_query('files[?contains(path, `/apps/IDEA-`) == `true`]') | list }}" | idea_apps: "{{ intellij_apps | to_json | from_json | json_query('files[?contains(path, `/apps/IDEA-`) == `true`]') | list }}" | ||
</syntaxhighlight> | |||
=Setting the Fact Only if the Variable Does Not Exist= | |||
<syntaxhighlight lang='yaml'> | |||
- name: | |||
when: some_var is not defined | |||
set_fact: | |||
some_var: "some value" | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 21:55, 6 July 2021
External
Internal
Overview
This module sets new facts (variables). The variables are set on a host-by-host basis just like facts discovered by the setup module and will be available to subsequent plays during an ansible-playbook run.
Set cacheable to yes to save variables across executions using a fact cache. Variables created with set_fact have different precedence depending on whether they are or are not cached. Per the standard Ansible variable precedence rules, many other types of variables have a higher priority, so this value may be overridden.
- name: Set bashrc.d directory path
set_fact:
bashrc_d: "{{ ansible_env.HOME }}/.bashrc.d"
Setting Command Output as a Fact
Setting a Fact by Processing the Content of a Variable
- name: IDEA applications
set_fact:
idea_apps: "{{ intellij_apps | to_json | from_json | json_query('files[?contains(path, `/apps/IDEA-`) == `true`]') | list }}"
Setting the Fact Only if the Variable Does Not Exist
- name:
when: some_var is not defined
set_fact:
some_var: "some value"