Spec-Zone.ru › Ansible 2.11

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

Примечания

Примечание

  • Обработчики делаются доступными для всего playbook.
  • До 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 (@ansible)

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

Spec-Zone.ru

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