ansible常用模块 -- import_role模块 -- 将角色导入剧本
import_role模块 – 将角色导入剧本
一、摘要
- 与roles:关键字非常类似,此任务加载一个角色,但它允许您在角色任务在剧本的其他任务之间运行时控制它。
- 大多数关键字、循环和条件只会应用于导入的任务,而不会应用于该语句本身。如果您想要相反的行为,请使用include_role
二、参数
参数 | 选项/默认值 | 描述 |
---|---|---|
allow_duplicates boolean | · yes ← · no | 覆盖角色的元数据设置,以允许使用相同参数多次使用角色 |
defaults_from string | Default: “main” | 要从角色的 defaults/ 目录加载的文件。 |
handlers_from string | Default: “main” | 要从角色的处 handlers/ 目录加载的文件 |
name string required | 要执行的角色的名称 | |
tasks_from string | Default: “main” | 要从角色的 tasks/ 目录加载的文件。 |
vars_from string | Default: “main” | 要从角色的 vars/ 目录加载的文件。 |
三、示例
- hosts: all
tasks:
- import_role:
name: myrole
- name: Run tasks/other.yaml instead of 'main'
import_role:
name: myrole
tasks_from: other
- name: Pass variables to role
import_role:
name: myrole
vars:
rolevar1: value from task
- name: Apply condition to each task in role
import_role:
name: myrole
when: not idontwanttorun
官方文档:https://docs.ansible.com/ansible/2.9/modules/import_role_module.html#import-role-module