2015-10-29 9 views

cevap

19

Şimdi Ansible 2.3.0 itibariyle desteklenen:

- name: myrole 
     with_items: 
     - "aone" 
     - "atwo" 
     include_role: 
     name: myrole 
     vars: 
     thing: "{{ item }}" 
+0

@ tomasbedrich'te tanıtılmış mı? Benim için çalışmıyor. –

+1

"myrole" öğesinde herhangi bir döngü kullanırsanız, iç döngülerle çarpışmayı önlemek için 'loop_control: loop_var: foo 'eklemeniz gerektiğini unutmayın. –

9

Şu anda no way to loop over a role var, ancak Google Grup tartışmalarında rolün bir listesini veya kuralını iletebileceğini ve dahili olarak bu döngüden geçebileceğini belirttik.

Bunun yerine gibi bir şey yapabileceğini:

# loop_role/tasks/main.yml 

- name: debug item 
    debug: var="{{ item }}" 
    with_items: my_array 

Ve sonra bu gibi kullanmak:

- hosts: all 
    vars: 
    my_array: 
     - foo 
     - bar 
     - baz 
    roles: 
    - { role: loop_role, my_array: "{{ my_array }}" } 
İlgili konular