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

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

问题描述

伪代码:

如果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屋!

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