Spec-Zone.ru › Ansible 2.8

include_role – Загрузка и выполнение роли

Новая в версии 2.2.

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Статус

Описание

  • Динамически загружает и выполняет указанную роль как задачу.
  • Может использоваться только там, где разрешены задачи Ansible — внутри pre_tasks, tasks, или post_tasks объектов playbook, или как задача внутри роли.
  • Ключевые слова, циклы и условные операторы уровня задачи применяются только к самому оператору include_role.
  • Для применения ключевых слов к задачам внутри роли передайте их с помощью параметра apply или используйте import_role вместо этого.
  • Игнорирует некоторые ключевые слова, такие как until и retries.
  • Этот модуль также поддерживается для целевых систем Windows.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_duplicates
boolean
    Варианты:
  • no
  • да ←
Переопределяет настройку метаданных роли, позволяя использовать роль более одного раза с теми же параметрами.
apply
-
добавлено в 2.7
Принимает хеш ключевых слов задач (например, tags, become) которые будут применены ко всем задачам внутри включённой роли.
defaults_from
строка
Значение по умолчанию:
"main"
Файл для загрузки из каталога defaults/ роли.
handlers_from
строка
добавлено в 2.8
Значение по умолчанию:
"main"
Файл для загрузки из каталога handlers/ роли.
name
строка / обязательно
Имя роли, которую нужно выполнить.
public
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Этот параметр определяет, будут ли vars и defaults роли доступны playbook. Если значение установлено в yes, переменные будут доступны задачам, следующими за задачей include_role. Эта функциональность отличается от стандартного доступа к переменным для ролей, перечисленных в заголовке roles или import_role, так как они доступны на этапе разбора playbook и доступны для более ранних ролей и задач.
tasks_from
строка
Значение по умолчанию:
"main"
Файл для загрузки из каталога tasks/ роли.
vars_from
строка
Значение по умолчанию:
"main"
Файл для загрузки из каталога vars/ роли.

Примечания

Примечание

  • Обработчики доступны для всего выполнения.
  • До Ansible 2.4, как и в случае include, эта задача могла быть статической или динамической. Если статическая, это означало, что ей не потребуются шаблоны, циклы или условные операторы, и включенные задачи будут отображаться в параметрах --list. Ansible пытался автоматически определить необходимость, но вы можете установить static в yes или no на уровне задачи, чтобы контролировать это.
  • После Ansible 2.4 можно использовать import_role для поведения static и это действие для dynamic.

См. также

См. также

import_playbook – Импорт playbook
Официальная документация модуля import_playbook.
import_role – Импорт роли в выполнение
Официальная документация модуля import_role.
import_tasks – Импорт списка задач
Официальная документация модуля import_tasks.
include_tasks – Динамическое включение списка задач
Официальная документация модуля include_tasks.
Включение и импорт
Дополнительная информация по включению и импорту playbook, ролей и задач.

Примеры

- 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: '{{ roleinputvar }}'
  loop:
    - '{{ roleinput1 }}'
    - '{{ roleinput2 }}'
  loop_control:
    loop_var: roleinputvar

- name: Conditional role
  include_role:
    name: myrole
  when: not idontwanttorun

- name: Apply tags to tasks within included file
  include_role:
    name: install
    apply:
      tags:
        - install
  tags:
    - always

Статус

  • Отсутствуют изменения в интерфейсе, несовместимые с предыдущими версиями. [stableinterface]
  • Этот модуль поддерживается Командой разработчиков Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний 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.8/modules/include_role_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API