Как использовать подстановочный знак в модуле «win_stat» в Ansible?

Как использовать подстановочный знак в модуле «win_stat» в Ansible?

Я создал следующий скрипт Ansible, в котором я проверяю наличие каталога с помощью подстановочных знаков, но у меня он не сработал:

- host: windows

  vars:

    dir: 'c:\inetpub\wwwroot\mysite*' # without * playbook working well

  tasks:

    - name : check dir
      win_stat:
        path: "{{ dir }}"
      register: dirdata

    - name: check
      fail:
        msg: not present
      when: dirdata.stat.exists == false

Получаю следующую ошибку:

    FAILED: => { " argument for the path is of type System.String and we were unable to convert to path: Illaegel characters in path.”}

Может кто-нибудь мне подсказать то же самое? Заранее спасибо.

решение1

Ошибка возникает из-за того, что узел управления Ansible не может расширить путь на удаленном узле без установления соединения и поиска на нем. Так что это ожидаемое поведение.

Существуют модули для использования с подстановочными знаками, напримерfileglob lookup – список файлов, соответствующих шаблону, но

Сопоставление выполняется с локальными системными файлами на контроллере Ansible. Для итерации списка файлов на удаленном узле используйтеansible.builtin.findмодуль.

в твоем случаеwin_findк

вернуть список файлов на основе определенных критериев.

Связанный контент