exists#

Расширение тестирования ansible.builtin.exists проверяет, существует ли объект в файловой системе управляющего узла.

Проверка символических ссылок выполняется относительно их конечного объекта. Если нужно проверить именно наличие ссылки, используйте расширения ansible.builtin.link или ansible.builtin.link_exists.

Описание применения расширений тестирования приведено в документе Тестирование.

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

Для проверки существования объекта по заданному пути используйте конструкцию:

<path> is ansible.builtin.exists

Здесь <path> – путь к файлу или каталогу в файловой системе управляющего узла.

Для инверсии результата проверки добавьте not:

<path> is not ansible.builtin.exists

Входные значения#

Расширение принимает единственный входной параметр Input – путь к объекту на управляющем узле.

Выходные значения#

Расширение возвращает значение True или False в зависимости от результата проверки:

  • False – путь не существует;

  • True – путь указывает на объект.

Пример#

Следующий пример демонстрирует проверку существования конфигурационного файла на управляющем узле.

---
# ...
  tasks:
    - name: Fail if configuration file is missing
      ansible.builtin.debug:
        msg: "Configuration file is missing"
      when: '/etc/myapp/config.yml' is not ansible.builtin.exists

    - name: Proceed with configuration steps
      ansible.builtin.debug:
        msg: "Configuration file exists"
      when: '/etc/myapp/config.yml' is ansible.builtin.exists