在vars ansible中使用条件 [英] use conditionals in vars ansible
本文介绍了在vars ansible中使用条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们可以在剧本的"vars:"部分中使用条件语句吗,我知道任务中的set_fact,但是我想知道我们可以在以下部分中使用此条件:
Can we use conditionals in "vars:" section of a playbook, I am aware of set_fact in tasks ,but I want to know we could use in section like below:
---
- hosts: "{{ host1 }}"
vars:
var1: "{{ passed_var1 }}"
var2: "<conditionally assign value based on {{ var1 }}"
推荐答案
您可以执行以下操作:
---
- name: Test Play
hosts: local
gather_facts: false
vars:
var1: hola
var2: "{{ 'foo' if var1 else '' }}"
tasks:
- name: debug var1
debug:
var: var1
- name: debug var2
debug:
var: var2
您将获得:
PLAY [Test Play] ***************************************************************
TASK [debug1] ******************************************************************
ok: [localhost] => {
"var1": "hola"
}
TASK [debug1] ******************************************************************
ok: [localhost] => {
"var2": "foo"
}
另一个例子:
---
- name: Test Play
hosts: local
gather_facts: false
vars:
var1: hola
var2: "{{ 'foo' if var1 == 'hola' else '' }}"
tasks:
- name: debug var1
debug:
var: var1
- name: debug var2
debug:
var: var2
这篇关于在vars ansible中使用条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文