在ansible中,如何根据条件为变量赋值?

时间:2017-08-13 16:57:46

标签: ansible

我想根据我的env名称为变量赋值。如果env = e1,那么一些变量名称" var"应该得到值" x"。如果env = e2," var"应该得到值" y"。

让我知道你的建议!

1 个答案:

答案 0 :(得分:0)

假设您有一个名为FOO的env变种。

- hosts: localhost
  gather_facts: "False"
  vars:
    my_env_var: "{{ lookup('env','FOO') }}"
  tasks:
    - name: "set e1"
      set_fact:
        my_ansible_var: "x"
      when: my_env_var == "e1"
    - name: "set e2"
      set_fact:
        my_ansible_var: "y"
      when: my_env_var == "e2"

现在,您可以在需要的任何地方引用{{my_ansible_var}}值。