Spec-Zone.ru › Ansible

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

Примечание

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

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

Описание

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

Параметры

Параметр

Комментарии

allow_duplicates

boolean

Переопределяет установку метаданных роли, чтобы разрешить использование роли более одного раза с одинаковыми параметрами.

Варианты:

  • false
  • true ← (по умолчанию)

apply

строка

добавлен в Ansible 2.7

Принимает хеш ключевых слов задач (например, tags, become) которые будут применены ко всем задачам в включённой роли.

defaults_from

строка

Файл для загрузки из каталога defaults/ роли.

По умолчанию: "main"

handlers_from

строка

добавлен в Ansible 2.8

Файл для загрузки из каталога handlers/ роли.

По умолчанию: "main"

name

строка / обязательный

Имя роли, которая должна быть выполнена.

public

boolean

добавлен в Ansible 2.7

Эта опция определяет, будут ли vars и defaults роли доступны для playbook. Если установлено true, переменные будут доступны задачам, следующим за задачей include_role. Эта функциональность отличается от стандартной экспозиции переменных для ролей, перечисленных в заголовке roles или ansible.builtin.import_role, так как они экспонируются для playbook во время разбора playbook и доступны также для более ранних ролей и задач.

Варианты:

  • false ← (по умолчанию)
  • true

rolespec_validate

boolean

добавлен в ansible-core 2.11

Выполнить валидацию спецификации аргумента роли, если определена спецификация аргумента.

Варианты:

  • false
  • true ← (по умолчанию)

tasks_from

строка

Файл для загрузки из каталога tasks/ роли.

По умолчанию: "main"

vars_from

строка

Файл для загрузки из каталога vars/ роли.

По умолчанию: "main"

END_OF_DOCUMENT_MARKER

Атрибуты

Атрибут

Поддержка

Описание

действие

Поддержка: нет

Хотя это действие выполняется локально на контроллере, оно не регулируется плагином действий

Указывает, что у него есть соответствующий плагин действия, поэтому некоторые части параметров могут выполняться на контроллере

асинхронно

Поддержка: нет

Поддерживает использование с ключевым словом async

стать

Поддержка: нет

Может использоваться вместе с ключевыми словами become

пропустить_цикл_хоста

Поддержка: нет

Принудительно выполняет «глобальную» задачу, которая не выполняется для каждого хоста; это обходит особенности шаблонирования, последовательности, ограничения и другие параметры цикла для каждого хоста

Условные выражения будут работать так, как если бы использовалось run_once, переменные будут взяты с первого доступного хоста

Это действие обычно не будет работать вне стратегий согласованности

пропустить_цикл_задачи

Поддержка: нет

Эти задачи игнорируют ключевые слова loop и with_

режим_проверки

Поддержка: полная

Может работать в режиме проверки и возвращать прогноз изменения состояния без модификации целевого объекта; если не поддерживается, действие будет пропущено.

соединение

Поддержка: нет

Использует конфигурацию соединения целевого объекта для выполнения кода на нём

ядро

Поддержка: полная

Это функция «ядра» и не реализуется как большинство действий задач, поэтому не может быть переопределена через систему плагинов.

делегирование

Поддержка: нет

Поскольку нет соединения и фактов, нет смысла делегировать include

Может использоваться в сочетании с delegate_to и аналогичными ключевыми словами

режим_сравнения

Поддержка: нет

Возвращает подробности о том, что изменилось (или, возможно, должно измениться в режиме проверки), когда в режиме сравнения

игнорировать_условие

Поддержка: нет

Действие не подчиняется условному выполнению, поэтому оно проигнорирует ключевое слово when:

платформа

Платформы: все

Целевые операционные системы/семейства, с которыми можно работать

теги

Поддержка: полная

Теги интерпретируются этим действием, но не наследуются автоматически задачами include, см. apply

Позволяет ключевому слову «теги» управлять выбором этого действия для выполнения

до_тех_пор

Поддержка: полная

Определяет, подчиняется ли это действие ключевым словам until/retry/poll

Примечания

Примечание

  • Обработчики доступны всему плану.
  • После Ansible 2.4 вы можете использовать ansible.builtin.import_role для статического поведения и это действие для динамического.

См. также

См. также

ansible.builtin.import_playbook

Импорт книги задач.

ansible.builtin.import_role

Импорт роли в план.

ansible.builtin.import_tasks

Импорт списка задач.

ansible.builtin.include_tasks

Динамический импорт списка задач.

Использование повторно артефактов Ansible

Дополнительная информация об включении и импорте книг задач, ролей и задач.

Примеры

- ansible.builtin.include_role:
    name: myrole

- name: Run tasks/other.yaml instead of 'main'
  ansible.builtin.include_role:
    name: myrole
    tasks_from: other

- name: Pass variables to role
  ansible.builtin.include_role:
    name: myrole
  vars:
    rolevar1: value from task

- name: Use role in loop
  ansible.builtin.include_role:
    name: '{{ roleinputvar }}'
  loop:
    - '{{ roleinput1 }}'
    - '{{ roleinput2 }}'
  loop_control:
    loop_var: roleinputvar

- name: Conditional role
  ansible.builtin.include_role:
    name: myrole
  when: not idontwanttorun

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

Авторы

  • Команда Ansible Core (@ansible)

Ссылки на сборку

  • Отслеживание проблем
  • Репозиторий (источники)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/include_role_module.html

Spec-Zone.ru

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