include_role - Загрузка и выполнение роли
Новая версия с 2.2.
Обзор
- Динамически загружает и выполняет роль как задачу. Это освобождает роли от директивы
roles:и позволяет рассматривать их как задачи. - В отличие от import_role, большинство ключевых слов, включая циклы и условные операторы, применимы к этому оператору.
- Этот модуль также поддерживается для целевых платформ Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_duplicates bool |
| Переопределяет параметр метаданных роли, чтобы разрешить использование роли более одного раза с одними и теми же параметрами. |
| defaults_from | Значение по умолчанию: "main" | Файл для загрузки из каталога роли defaults/. |
| name обязательно | Имя роли, которая должна быть выполнена. | |
| private bool |
| Этот параметр не оказывает влияния, а функциональность, описанная в предыдущих версиях, не была реализована. Этот параметр будет удален в Ansible v2.8. |
| tasks_from | Значение по умолчанию: "main" | Файл для загрузки из каталога роли tasks/. |
| vars_from | Значение по умолчанию: "main" | Файл для загрузки из каталога роли vars/. |
Примечания
Примечание
- Обработчики доступны для всего выполнения.
- До Ansible 2.4, как и с
include, эта задача могла быть статической или динамической. Если статической, это означало, что ей не понадобятся шаблоны, циклы или условные операторы, и она отобразит включённые задачи в параметрах–list. Ansible пытался автоматически определить, что необходимо, но вы можете установитьstaticвyesилиnoна уровне задачи, чтобы контролировать это. - После Ansible 2.4, вы можете использовать import_role для поведения «статической» задачи и этот параметр для «динамической».
Примеры
- include_role:
name: myrole
- name: Run tasks/other.yaml instead of 'main'
include_role:
name: myrole
tasks_from: other
- name: Pass variables to role
include_role:
name: myrole
vars:
rolevar1: value from task
- name: Use role in loop
include_role:
name: myrole
with_items:
- '{{ roleinput1 }}'
- '{{ roleinput2 }}'
loop_control:
loop_var: roleinputvar
- name: Conditional role
include_role:
name: myrole
when: not idontwanttorun
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратной совместимости интерфейса.
Техническое обслуживание
Этот модуль помечен как ядро, что означает, что его поддерживает Команда ядра Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых Командой ядра Ansible, см. в разделе здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Команда ядра Ansible (@ansible)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/include_role_module.html