【问题标题】:Ansible equivalent of Puppet's "unless" attributeAnsible 相当于 Puppet 的“除非”属性
【发布时间】:2016-04-20 20:40:17
【问题描述】:

在 Puppet 中,当使用 exec 资源时,您可以指定“unless”属性。除非“除非”命令以状态 0 退出,否则 Puppet exec 将不会运行。

木偶示例:

exec { 'Make sure frob is installed':
  command => 'apt-get install -y frob',
  unless  => 'frob --version',
}

Ansible 的 command module 有一个用于查找文件的“creates”选项,但我没有看到“unless”选项。

如何在 Ansible 中指定 Puppet 风格的“除非”属性?

【问题讨论】:

    标签: ansible puppet


    【解决方案1】:

    Ansible 有 conditionals,您可以将其应用于任务。但是,when 并不直接映射到 Puppet 的 unless,因为它操作的是 Ansible 变量,而不是 shell 命令。

    但是,您仍然可以做您想做的事,只是不那么直接。这是文档中的一个示例:

    tasks:
      - command: /bin/false
        register: result
        ignore_errors: True
      - command: /bin/something_else
        when: result|succeeded
    

    【讨论】:

      猜你喜欢
      • 2012-11-21
      • 2011-06-22
      • 2011-06-30
      • 1970-01-01
      • 2016-03-06
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      相关资源
      最近更新 更多