相当于Puppet"除非"属性

时间:2016-04-20 20:40:18

标签: ansible puppet

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

Puppet示例:

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

Ansible的command module有一个"创建"查找文件的选项,但我没有看到"除非"选项。

如何指定Puppet风格"除非" Ansible中的属性?

1 个答案:

答案 0 :(得分:3)

Ansible已conditionals您可以申请任务。但是,when不直接映射到Puppet的unless,因为它操作Ansible变量,而不是shell命令。

然而,你仍然可以做你想做的事情,但不是那么直接。以下是文档中的示例:

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