2016-04-20 4 views
3

In Puppet können Sie bei Verwendung der Ressource exec ein Attribut "unless" angeben. Die Puppen exec nicht, es sei denn die „es sei denn“ Befehl beendet mit Status 0.Ansible-Äquivalent von Puppets Attribut "es sei denn"

Puppet Beispiel laufen:

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

ansible des command module hat eine „schafft“ Option, die für eine Datei aussieht, aber ich weiß nicht sehen Sie eine "wenn" -Option.

Wie kann ich ein Puppet-Stil "außer" -Attribut in Ansible angeben?

Antwort

3

Ansible hat conditionals, die Sie auf Aufgaben anwenden können. when wird jedoch nicht direkt Puppets unless zugeordnet, da es auf Ansible-Variablen und nicht auf Shell-Befehlen operiert.

Allerdings können Sie immer noch tun, was Sie wollen, nur nicht so direkt. Hier ist ein Beispiel aus der Dokumentation:

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