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