Ansible Module set fact: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 22: Line 22:
=Setting Command Output as a Fact=
=Setting Command Output as a Fact=
{{Internal|Ansible_Module_command#Setting_Command_Output_as_a_Fact|Setting Command Output as a Fact}}
{{Internal|Ansible_Module_command#Setting_Command_Output_as_a_Fact|Setting Command Output as a Fact}}
=Setting a Fact by Processing the Content of a Variable=
<syntaxhighlight lang='yaml'>
- name: IDEA applications
  set_fact:
    idea_apps: "{{ intellij_apps | to_json | from_json | json_query('files[?contains(path, `/apps/IDEA-`) == `true`]') | list }}"
</syntaxhighlight>

Revision as of 05:01, 2 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 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 }}"