Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_duplicates
boolean
    Варианты:
  • no
  • yes ←
Переопределяет настройку метаданных роли для разрешения использования роли более одного раза с теми же параметрами.
apply
-
добавлено в 2.7
Принимает хеш ключевых слов задач (например, tags, become) которые будут применены ко всем задачам в включённой роли.
defaults_from
строка
Значение по умолчанию:
"main"
Файл для загрузки из каталога defaults/ роли.
handlers_from
строка
добавлено в 2.8
Значение по умолчанию:
"main"
Файл для загрузки из каталога handlers/ роли.
name
строка / обязательно
Имя роли, подлежащей выполнению.
public
boolean
добавлено в 2.7
    Варианты:
  • no ←
  • yes
Этот параметр определяет, будут ли 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 Core (@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.9/modules/include_role_module.html

Spec-Zone.ru

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