有条件地将Ansible角色设置为默认值 [英] Set Ansible role defaults conditionally

查看:234
本文介绍了有条件地将Ansible角色设置为默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

伪代码:

如果env是de,则将变量名设置为hello,否则,如果env是prod,则将变量名设置为bye.

If env is de, set variable name to hello else if env is prod, set variable name to bye.

我尝试了 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"

错误!角色试用"的default/main.yml文件必须包含一个 变量字典

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:

名称:"{%如果env =='de'%} hello {%elif env =='prod'%}再见{%endif%}"

name: "{% if env == 'de' %}hello{% elif env == 'prod' %}bye{% endif %}"

这篇关于有条件地将Ansible角色设置为默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆