ansible 剧本 if else if

问题描述 投票:0回答:2

我有一些输出变量。大约有 4 种不同类型的错误条件可能存在,并且有一个成功条件,我使用

when
条件进行检查。但它更像是一个 if else if else if else 条件。如果第一个条件成立,我什至不想检查第二个、第三个和第四个条件并跳到最终的摘要任务。

如何实施。

ansible conditional-statements
2个回答
1
投票

Ansible 是一种配置管理工具,您可以使用它声明状态,理想情况下是幂等

以及一个成功的条件,我使用when条件进行检查。

由于存在一种正确的状态,因此只能在剧本中定义该状态。那就不需要检查了。

除此之外,还有 条件

,如果有多个条件,可以用括号将它们分组。

您可以使用逻辑运算符来组合条件。

为了实现你的目标,你应该看看 turn ... if then 逻辑为布尔表达式

此外,这里有很多Q&A,已经回答了你的问题。


0
投票

这个具有多个

if
条件的示例可能会对您有所帮助:

- name: Example playbook
  hosts: 127.0.0.1
  connection: local

  vars_prompt:
    - name: env
      prompt: Enter environment name.
      private: false

  tasks:
    - name: Debug
      ansible.builtin.debug:
        msg: "{{ 'This is stage' if env == 'stage' else 'This is prod' if env == 'prod' }}"
© www.soinside.com 2019 - 2024. All rights reserved.