[英]Ansible include multiple tasks with loop
Task1 - create_user.yml
: 通過 API 創建用戶
Task2 - add_user_to_group.yml
:通過 API 將用戶添加到組中:
Task3 - 通過調用/包括 Task1 和 Task2 創建用戶並將其添加到組
任務3
- name: Creating the User and Adding to the Group ...
include_tasks: create_user.yml
loop: "{{ userslist | flatten(levels=1) }}"
vars:
userslist:
- "{{ ['users'] | product(users) }}"
loop_control:
loop_var: tasklists
在上面的 Task3 中,我將用戶字典作為 Task1( create_user.yml
)的變量。
如何在上面的 Task3 中also
包含 Task2( add_user_to_group.yml
)?
我們可以為 Task1 和 Task2 循環多個include_tasks
,但我已經在 Task3 中有一個循環。
我想保持 Task1 和 Task2 彼此獨立,因此不包括 Task1 中的 Task2。
在我的情況下,如何在 Task3 中包含多個任務?
由於我的評論可能需要至少一些偽代碼才能理解,所以我們在這里 go。
請注意,我只是在問題中重用了您現有的變量和循環,而不知道它們是否真正完成了這項工作。 所以你可能還有一些零碎的東西需要修復。
create_user.yml
和add_user_to_group.yml
原樣。 (如果您覺得您的設計太復雜,您可以稍后將這些任務移至下一個文件)create_and_add_user_to_group.yml
文件: --- - name: Include create user tasks include_tasks: create_user.yml - name: include add user to group tasks include_tasks: add_user_to_group.yml
- name: Create user and add to group include_tasks: create_and_add_user_to_group.yml loop: "{{ userslist | flatten(levels=1) }}" vars: userslist: - "{{ ['users'] | product(users) }}" loop_control: loop_var: tasklists
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.