有条件地设置 Ansible 角色默认值 [英] Set Ansible role defaults conditionally
问题描述
伪代码:
如果env是de,变量名设置为hello,如果env是prod,变量名设置为bye.
我试过 https://serverfault.com/questions/715769/ansible-change-default-value-according-to-a-condition
- 名称:设置变量set_fact:名称=你好"当:{{ env }}" ==de"- 名称:设置变量set_fact:名称=再见"什么时候:{{ env }}" ==prod"
<块引用>
错误!角色 'trial' 的 default/main.yml 文件必须包含一个变量字典
按照我的要求,需要在role里面做,所以做如下:
名称:{% if env == 'de' %}hello{% elif env == 'prod' %}bye{% endif %}"
Pseudocode:
If env is de, set variable name to hello else if env is prod, set variable name to bye.
I tried https://serverfault.com/questions/715769/ansible-change-default-value-according-to-a-condition
- name: setting variable
set_fact: name="hello"
when: "{{ env }}" == "de"
- name: setting variable
set_fact: name="bye"
when: "{{ env }}" == "prod"
ERROR! The default/main.yml file for role 'trial' must contain a dictionary of variables
As per my requirement, it needs to be done in role.So it is done as follows:
name: "{% if env == 'de' %}hello{% elif env == 'prod' %}bye{% endif %}"
这篇关于有条件地设置 Ansible 角色默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!