2017-02-07 6 views
-2

При выполнении ansible-playbook -i "localhost," -c local main.yml Выходом являетсяанзибль итерация с петлей над коллекцией

ok: [localhost] => (item=users) => { 
    "item": "users", 
    "msg": "use 

Но я скорее хотел бы итерацию по элементам. Как это можно достичь?

Вот мой минимальный пример:

main.yml

--- 
- hosts: all 
    tasks: 
    - debug: msg={{ item }} 
     #include_vars: users.yml 
     with_items: users 

users.yml

--- 
users: 
    - username: test_user 
    password: test_user 
    sn: User 
    uid: 50001 
    gid: 100 
    - username: test_user1 
    password: test_user 
    cn: Test User1 
    sn: User1 
    uid: 50002 
    gid: 100 

user_groups: 
    - cn: access1 
    gid: 100001 
    users: 
     - test_user1 
+0

Существует а [документация] (http://docs.ansible.com/ansible/playbooks_l oops.html) о циклах в недоступном. –

+0

Действительно, я уже следовал этой документации, но до сих пор не имел успеха. При написании 'with_items: "{{пользователей}}"' Я вижу только ошибку 'with_items: - {{Foo}} Должно быть написано как: with_items: - "{{Foo}}"' –

ответ

1

Это правильный синтаксис:

--- 
- hosts: all 
    tasks: 
    - include_vars: users.yml 
    - debug: msg={{ item }} 
     with_items: "{{ users }}" 
Смежные вопросы