import_tasks#
Модуль ansible.builtin.import_tasks импортирует задачи из файла в сценарий.
Внимание
Модуль является частью ядра Ansible, поэтому не может быть переопределен или расширен.
Модули ansible.builtin.import_tasks и ansible.builtin.include_tasks выполняют схожие, но принципиально разные функции и применяются в разных ситуациях:
ansible.builtin.import_tasksимпортирует задачи на этапе загрузки сценария, то есть до начала его выполнения. Поэтому директивы управления потоком (when,loop,registerи так далее) не применяются кansible.builtin.import_tasksнапрямую, а должны быть указаны внутри самих импортируемых задач.ansible.builtin.include_tasks включает задачи динамически: во время выполнения сценария, в момент выполнения этой директивы. Это позволяет применять к ней управляющие конструкции снаружи, на уровне включения. ansible.builtin.include_tasks поддерживает все конструкции управления, кроме
do-until.
Параметры#
Модуль принимает следующие параметры:
- file#
Название файла со списком задач, который будет добавлен в текущий сценарий.
Модуль также поддерживает упрощенную форму записи, в которой название файла указывается без явного использования параметра
file.Например, описания этих двух задач эквивалентны:
--- # ... tasks: - name: Import tasks using parameter ansible.builtin.import_tasks: file: tasks/setup.yml - name: Import tasks using short form ansible.builtin.import_tasks: tasks/setup.yml
Атрибуты#
Атрибуты определяют особенности поведения модуля в различных режимах Ansible.
Атрибут |
Описание |
|---|---|
|
Модуль не имеет соответствующего расширения действия (action plugin), которое выполняет работу на управляющем узле. |
|
Модуль не поддерживает асинхронное выполнение. |
|
Модуль не поддерживает повышение привилегий. |
|
Модуль частично поддерживает глобальное выполнение задачи.
Условия срабатывают при использовании |
|
Циклы не применяются к самому модулю, но применяются к импортированным задачам. |
|
Модуль не работает в режиме проверки. |
|
Модуль не использует информацию о подключении к управляемым узлам для выполнения своего кода на них. |
|
Функциональность модуля не может быть изменена с помощью расширений. |
|
Модуль не поддерживает |
|
Модуль не поддерживает режим сравнения. |
|
Модуль игнорирует директиву |
|
Модуль поддерживает все платформы, с которыми может работать Ansible. |
|
Модуль поддерживает директиву |
|
Модуль не поддерживает механизм повторных попыток. |
Примеры#
Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.
Базовое включение задач#
Следующий пример демонстрирует импорт файла setup.yml в список задач:
---
# ...
tasks:
- name: Import setup tasks
ansible.builtin.import_tasks:
file: setup.yml
Использование сокращенной формы записи#
Следующий пример демонстрирует упрощенную запись без использования параметра file:
---
# ...
tasks:
- name: Import tasks using short form
ansible.builtin.import_tasks: setup.yml
Условное выполнение импортированных задач#
Следующий пример демонстрирует применение условия к задачам внутри файла audit.yml, а не к самому модулю:
---
# ...
tasks:
- name: Conditionally import audit tasks
ansible.builtin.import_tasks: audit.yml
when: ansible_facts['os_family'] == "Astra Linux"