0
我想根据我的env名称为变量赋值。如果env = e1,某个变量名称“var”应该将值作为“x”。如果env = e2,“var”应该将值设为“y”。在合理的情况下,如何根据条件为变量赋值?
让我知道你的建议!
我想根据我的env名称为变量赋值。如果env = e1,某个变量名称“var”应该将值作为“x”。如果env = e2,“var”应该将值设为“y”。在合理的情况下,如何根据条件为变量赋值?
让我知道你的建议!
假设你有一个名为FOO的env var。
- 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}}值。
非常感谢Russ,一个小问题... 如何用e1和e2值定义我的env var FOO? – Monika
有没有办法从var-> main.yml中调用变量来查找。我将一个变量定义为env_hn = e {{ansible_hostname}},它将根据这个变量值来获取值e1或e2或e3,我想为几个变量赋值。 – Monika
plus,你能给我一些关于这个警告的想法: [警告]:当语句不应该包含jinja2模板分隔符,如{{}}或{%%}。找到:“{{env_hn}}”==“e2” – Monika