include - Включение списка пьес или задач
УСТАРЕЛО
Действие include было слишком запутанным, имея дело как с пьесами, так и с задачами, являясь как динамичным, так и статичным. Этот модуль будет удалён в версии 2.8. В качестве альтернатив используйте include_tasks, import_playbook, import_tasks.
Описание
- Включает файл со списком пьес или задач, которые будут выполнены в текущем плейбуке.
- Файлы со списком пьес могут быть включены только на верхнем уровне. Списки задач могут быть включены только там, где обычно выполняются задачи (в пьесе).
- До версии Ansible 2.0 все включения были «статичными» и выполнялись при компиляции пьесы.
- Статические включения не подлежат большинству директив. Например, циклы или условные операторы применяются вместо этого к каждой унаследованной задаче.
- Начиная с Ansible 2.0, включения задач являются динамичными и ведут себя больше как реальные задачи. Это означает, что их можно циклировать, пропускать и использовать переменные из любого источника. Ansible пытается автоматически определить это, но вы можете использовать директиву
static(которая была добавлена в Ansible 2.1), чтобы обойти автоматическое определение. - Этот модуль также поддерживается для целевых платформ Windows.
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| free-form | нет | Этот модуль позволяет указать имя файла напрямую без каких-либо других параметров. |
Примеры
- hosts: localhost
tasks:
- debug:
msg: play1
- name: Include a play after another play
include: otherplays.yaml
- hosts: all
tasks:
- debug:
msg: task1
- name: Include task list in play
include: stuff.yaml
- debug:
msg: task10
- hosts: all
tasks:
- debug:
msg: task1
- name: Include task list in play only if the condition is true
include: "{{ hostvar }}.yaml"
static: no
when: hostvar is defined
Примечания
Примечание
- Это основная функция Ansible, а не модуль, и её нельзя переопределить, как модуль.
- Этот модуль также поддерживается для целевых платформ Windows.
Для получения помощи в разработке модулей, если вам это нужно, пожалуйста, прочитайте Информацию сообщества и участие в разработке, Тестирование 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.4/include_module.html