在 SaltStack 中注释多行?

在 SaltStack 中注释多行?

我正在使用以下状态尝试注释掉文件中的两行:

/etc/cloud/cloud.cfg:
  file.comment:
    - regex: ^ - set_hostname
    - regex: ^ - update_hostname

不幸的是,正如预期的那样,它只使用了后者的正则表达式行,而忽略了第一个。

如何使用 file.comment 注释掉文件中的多行?

答案1

有点黑客风格,但你可以用或链接正则表达式:

/etc/cloud/cloud.cfg:
  file.comment:
    - regex: ^ - set_hostname|^ - update_hostname

答案2

经过一整晚的努力,我找到了一个可行的解决方案。

以下是解决方案不起作用

/etc/cloud/cloud.cfg:
  file.comment:
    - regex: ^ - set_hostname

/etc/cloud/cloud.cfg:
  file.comment:
    - regex: ^ - update_hostname

之所以行不通,是因为该/etc/cloud/cloud.cfg位被用作状态的 ID,而 SLS 文件中不会有两个相同的 ID,因为 ID 是全局的。不过,还有另一种方式来写入状态:

comment_set_hostname:
  file.comment:
    - name: /etc/cloud/cloud.cfg
    - regex: ^ - set_hostname

comment_update_hostname:
  file.comment:
    - name: /etc/cloud/cloud.cfg
    - regex: ^ - update_hostname

此版本在状态中手动设置文件,而不是将其作为状态的 ID。这样,我就可以解决我的问题。

相关内容