2015-10-29 10 views

答えて

19

今すぐAnsible 2.3.0のようサポート:

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

@tomasbedrichそれを確認できますか?それは私にとってはうまくいかない。 –

+1

"myrole"でループを使用する場合は、内部ループとの衝突を避けるために 'loop_control:loop_var:foo'を追加する必要があることに注意してください。 –

9

現在はno way to loop over a roleですが、そのGoogleグループディスカッションに記載されているように、リストやディクテーションをロールに渡して内部的にループすることができます。

ので、代わりにあなたのような何かを行うことができます:

# loop_role/tasks/main.yml 

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

をし、このようにそれを使用します。

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

include_roleモジュールがありますここに文書化されています:https://docs.ansible.com/ansible/include_role_module.html

ドキュメントによれば、それはすでにAnsible 2.2に導入されています。

+1

コードの例を投稿してください。外部リソースへのリンクだけでなく –

関連する問題