Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот модуль является частью ansible-base и включен во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля include_role даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для легкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же самое имя модуля.

Новое в версии 2.2: от ansible.builtin

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

Описание

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

Параметры

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

См. также

См. также

ansible.builtin.import_playbook

Официальная документация модуля ansible.builtin.import_playbook.

ansible.builtin.import_role

Официальная документация модуля ansible.builtin.import_role.

ansible.builtin.import_tasks

Официальная документация модуля ansible.builtin.import_tasks.

ansible.builtin.include_tasks

Официальная документация модуля ansible.builtin.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

Авторы

  • Команда 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.10/collections/ansible/builtin/include_role_module.html

Spec-Zone.ru

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