ansible常用模块 -- include_tasks模块 -- 动态包含一个任务列表
include_tasks模块 – 动态包含一个任务列表
一、摘要
- 包含一个文件,其中包含要在当前剧本中执行的任务列表。
二、参数
参数 | 选项/默认值 | 描述 |
---|---|---|
apply string | 接受一个任务关键字的散列(例如,tags,become),它将应用于include中的任务。 | |
file string | 导入文件的名称是直接指定的,没有任何其他选项。 与import_tasks不同的是,大多数关键字,包括loop、with_items和条件,都应用于此语句。 include_tasks不支持do until循环。 | |
free-form | 通过free-form - include_tasks: file提供文件名。要包含的文件的Yml等价于指定file的参数。 |
三、示例
- hosts: all
tasks:
- debug:
msg: task1
- name: Include task list in play
include_tasks: stuff.yaml
- debug:
msg: task10
- hosts: all
tasks:
- debug:
msg: task1
- name: Include task list in play only if the condition is true
include_tasks: "{{ hostvar }}.yaml"
when: hostvar is defined
- name: Apply tags to tasks within included file
include_tasks:
file: install.yml
apply:
tags:
- install
tags:
- always
- name: Apply tags to tasks within included file when using free-form
include_tasks: install.yml
args:
apply:
tags:
- install
tags:
- always
官方文档:https://docs.ansible.com/ansible/2.9/modules/include_tasks_module.html#include-tasks-module