在变量ansible中使用条件句
我们可以在剧本的“vars:”部分使用条件句吗?我知道任务中有set_事实,但我想知道我们可以在下面的部分中使用:在变量ansible中使用条件句,ansible,Ansible,我们可以在剧本的“vars:”部分使用条件句吗?我知道任务中有set_事实,但我想知道我们可以在下面的部分中使用: --- - hosts: "{{ host1 }}" vars: var1: "{{ passed_var1 }}" var2: "<conditionally assign value based on {{ var1 }}" --- -主机:“{host1}” 变量: var1:“{{passed_var1}}” var2:“您可以执行以下操作: ---
---
- hosts: "{{ host1 }}"
vars:
var1: "{{ passed_var1 }}"
var2: "<conditionally assign value based on {{ var1 }}"
---
-主机:“{host1}”
变量:
var1:“{{passed_var1}}”
var2:“您可以执行以下操作:
---
- 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
您可以执行以下操作:
---
- 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
这正是我想要的这正是我想要的