include_role - Загрузка и выполнение роли
Новая версия 2.2.
Описание
- Динамически загружает и выполняет роль как задачу. Это освобождает роли от директивы
roles:и позволяет относиться к ним как к задачам. - В отличие от import_role, большинство ключевых слов, включая циклы и условные операторы, применяются к этому оператору.
- Этот модуль также поддерживается для целевых платформ Windows.
Параметры
| параметр | обязательный | значение по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| allow_duplicates | нет | True | Переопределяет настройку метаданных роли, разрешая использование роли более одного раза с теми же параметрами. | |
| defaults_from | нет | main | Файл для загрузки из каталога defaults/ роли. | |
| name | да | Имя исполняемой роли. | ||
| private | нет | None | Если True, переменные из defaults/ и vars/ в роли не будут доступны остальной части воспроизведения. | |
| tasks_from | нет | main | Файл для загрузки из каталога tasks/ роли. | |
| vars_from | нет | main | Файл для загрузки из каталога vars/ роли. |
Примеры
- 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 2.4, как и в
include, эта задача могла быть статической или динамической. Если статической, это означало, что она не потребует шаблонизацию, циклы или условные операторы и отобразит включенные задачи в параметрах–list. Ansible пытался автоматически определить, что необходимо, но вы можете установитьstaticвyesилиnoна уровне задачи, чтобы контролировать это. - После Ansible 2.4 вы можете использовать import_role для 'статического' поведения и данную операцию для 'динамического'.
Статус
Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость интерфейса.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, пожалуйста, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочтите Информация о сообществе и участие, Тестирование 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.4/include_role_module.html