Ansible - 模板键和值与它们完全一样

Ansible - template keys and values exactly as they are

我有这个变量,我使用模板模块将其模板化:

my_var: 
  something_else: 
    oh_yeah: 
      i_am_noob: true
  value_1: 
    enabled: true

目标机器上的期望输出示例:

# note the indenting, that is desired
  something_else: 
    oh_yeah: 
      i_am_noob: true
  value_1: 
    enabled: true

我试过如下配置我的模板文件:

  {{ my_var | to_nice_yaml }}

但是,没有提供所需的输出,indenting/outdenting 被搞砸了。

我假设我必须使用一些 'pretty' 过滤器或 'raw',或者使用类似于 for key, value in value_1.items() 的东西。那些也试过了,没用。

问: 我如何配置 Ansible 以便将键和值 1:1 模板化到目标?

当您需要输出具有额外的前导缩进时,您应该使用 indent() filter

{{ my_var | to_nice_yaml | indent(width=2, first=True) }}