import_playbook#

Модуль ansible.builtin.import_playbook импортирует указанный набор сценариев в текущий набор.

Особенности работы#

Особенности использования модуля ansible.builtin.import_playbook:

  • модуль используется только на верхнем уровне, то есть не может быть использован на уровне задачи;

  • модуль является частью ядра Ansible и не может быть переопределен или расширен;

  • название импортируемого набора сценариев указывается в сокращенной форме (free-form).

Атрибуты#

Атрибуты определяют функции Ansible, которые может использовать модуль.

Атрибут

Описание

action

Модуль не имеет соответствующего расширения действия (action plugin), которое выполняет работу на управляющем узле.

async

Модуль не поддерживает асинхронное выполнение.

become

Модуль не поддерживает повышение привилегий.

bypass_host_loop

Импорт выполняется не поочередно для каждого узла, а один раз для всей группы. При этом игнорируются ограничения по узлам, циклы, а также параметры serial, throttle и шаблоны, зависящие от узла. Условия срабатывают при использовании run_once. Значения переменных берутся с первого доступного узла. Это действие не работает при использовании вне стратегии lockstep.

bypass_task_loop

Модуль игнорирует директивы loop и with_ на уровне задачи импорта, но цикл применяется к каждому сценарию внутри импортированного набора сценариев.

check_mode

Модуль работает в режиме проверки (check_mode) в полном объеме.

connection

Модуль не использует информацию о настройках подключения к целевому узлу при выполнении заданий на нем.

core

Функциональность модуля не может быть изменена с помощью расширений.

delegation

Модуль не поддерживает delegate_to, то есть не может выполняться на другом узле.

diff_mode

Модуль не поддерживает режим сравнения.

ignore_conditional

Модуль игнорирует директиву when, однако импортированные задачи наследуют это условие.

platform

Модуль поддерживает все платформы, с которыми может работать Ansible.

tags

Модуль поддерживает директиву tags.

until

Модуль не поддерживает механизм повторных попыток.

Примеры#

Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.

Стандартный импорт набора сценариев#

Следующий пример демонстрирует стандартный импорт набора сценариев exampleplaybook.yaml:

---
# ...

- name: Include a playbook after play
  ansible.builtin.import_playbook: exampleplaybook.yaml

Импорт набора сценариев с передачей переменной#

Следующий пример демонстрирует импорт сценария exampleplaybook.yaml с передачей ему переменной:

---
# ...

- name: Set variables on an imported playbook
  ansible.builtin.import_playbook: exampleplaybook.yml
  vars:
    service: httpd

Попытка некорректного импорта#

Следующий пример демонстрирует некорректную попытку импорта набора сценариев на уровне задачи:

---
# ...

    - name: This DOES NOT WORK
      ansible.builtin.import_playbook: exampleplaybook.yaml