如何在 ansible 上使用 OR 很好地拆分多行长条件?

How to nicely split on multiple lines long conditionals with OR on ansible?

我已经知道,如果您在它们之间有很长的条件,您可以使用列表将它们分成多行。

不过,对于您在它们之间有 OR 的情况,我不知道有任何解决方案。

现实生活中的实例:

when: ansible_user_dir is not defined or ansible_python is not defined or ansible_processor_vcpus is not defined

这一行很难看,而且显然不适合 79 列。

我们如何重写它以使其更易于阅读?

使用 YAML 折叠运算符>

when: >
  ansible_user_dir is not defined or 
  ansible_python is not defined or 
  ansible_processor_vcpus is not defined

正如 ansible 文档所述:

Values can span multiple lines using | or >. Spanning multiple lines using a Literal Block Scalar | will include the newlines and any trailing spaces. Using a Folded Block Scalar > will fold newlines to spaces; it’s used to make what would otherwise be a very long line easier to read and edit. In either case the indentation will be ignored.

可在此处找到其他信息: