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

时间:2018-11-01 09:33:10

标签: ansible ansible-lint

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

不过,对于您之间使用OR的解决方案,我仍然一无所知。

现实生活中的实际示例:

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

此行很丑陋,很难阅读,显然不适合79列。

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

1 个答案:

答案 0 :(得分:7)

使用YAML折叠运算符>

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

如Ansible文档所述:

  

使用|>的值可以跨越多行。使用 Literal Block Scalar |跨越多行将包括换行符和任何尾随空格。使用折叠块标量 >会将换行符折叠到空格;它可以使原本很长的行更易于阅读和编辑。无论哪种情况,缩进都会被忽略。

其他信息可以在这里找到