在 vars ansible 中使用条件 [英] use conditionals in vars ansible

查看:31
本文介绍了在 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屋!

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