Spec-Zone.ru › Ansible 2.7

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

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

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

Описание

  • Загружает и выполняет роль как задачу динамически. Это освобождает роли от директивы roles: и позволяет рассматривать их скорее как задачи.
  • В отличие от import_role, большинство ключевых слов, включая loop, with_items и условия, применяются к этому оператору.
  • Цикл do until не поддерживается в include_role.
  • Этот модуль также поддерживается для целевых систем Windows.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_duplicates
boolean
    Варианты:
  • no
  • yes ←
Переопределяет настройку метаданных роли, разрешая использование роли более одного раза с одними и теми же параметрами.
apply
-
добавлен в 2.7
Принимает хеш ключевых слов задачи (например, tags, become), которые будут применены к задачам внутри включения.
defaults_from
-
Значение по умолчанию:
"main"
Файл для загрузки из каталога defaults/ роли.
name
- / обязательно
Имя роли для выполнения.
private
-
Этот параметр — пустая операция, и функциональность, описанная в предыдущих версиях, не реализована. Этот параметр будет удалён в Ansible v2.8.
public
boolean
добавлен в 2.7
    Варианты:
  • no ←
  • yes
Этот параметр определяет, будут ли переменные vars и defaults роли доступны в плейбуке. Если установлен в yes, переменные будут доступны задачам, следующим за задачей include_role. Эта функциональность отличается от стандартного доступа к переменным для ролей, перечисленных в разделе roles или import_role, поскольку они доступны во время разбора плейбука и доступны также более ранним ролям и задачам.
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

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

Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается командой разработчиков 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.7/modules/include_role_module.html

Spec-Zone.ru

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