2016-06-28 5 views
0

Nur in ansible bekommen und möchten wissen, ob Sie eine Datei in eine Aufgabe main.yml basierend auf einer Variablen in --extra-vars übergeben können?Ansible enthalten Taskdateien basierend auf bedingten

Beispiel;

main.yml - von der Rolle/Aufgaben

# Upload latest json to s3 
- include: upload-code.yml 

playbook.yml - von Playbooks

- name: Launch cloudformation stack 
    hosts: 127.0.0.1 
    connection: local 
    roles: 
    - launch.cloudformation 

Wie Sie playbook.yml umfasst ein role und die main.yml umfasst upload-code.yml

sehen Wie kann ich Include upload-code.yml basierend auf einem bedingten wie unten

ansible-playbook playbook.yml --extra-vars "include=upload"

Antwort

1

Sie können dies tun, um eine when Bedingung für die Aufgabe ist durch die Anwendung.

- include: upload-code.yml 
    when: 
    - include is defined 
    - include == "upload" 

Oder, wenn Sie mehrere haben, gehören Dateien, die Sie auch include als Teil des Namens verwenden könnte.

- include: "{{ include }}-code.yml" 
    when: include is defined 
Verwandte Themen