如何通过调用java类在所有角色中动态设置变量

时间:2018-05-17 23:59:38

标签: ansible

我想根据java类的输出为字典赋值。我使用shell模块来调用java类。我尝试在vars / main.yml中编写任务,但是ansible不执行用vars / main.yml编写的任务。下面是我的vars / main.yml

---
tasks:
  - name:  java command 1
    shell: "command"
    register: var1

  - name:  java command 2
    shell: "command"
    register: var2

my_dictionary:
  key1: "{{ var1 }}"
  key2: "{{ var2 }}"

在访问my_dictionary.key1my_dictionary.key2时,ansible正在考虑将其定义为未定义。如何执行任务并将值分配给字典。

1 个答案:

答案 0 :(得分:2)

将2个任务放入tasks/main.yml,然后使用a custom queryset创建my_dictionary变量,其中包含已注册的变量var1var2

set_fact模块的示例:

- set_fact:
    one_fact: something
    other_fact: "{{ local_var * 2 }}"
    cacheable: true