Ansible の 'win_stat' モジュールでワイルドカードを使用するにはどうすればいいですか?

Ansible の 'win_stat' モジュールでワイルドカードを使用するにはどうすればいいですか?

ワイルドカードを使用してディレクトリが存在するかどうかを確認する以下の 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 コントロール ノードが接続して検索せずにリモート ノード上のパスを展開できないために発生します。したがって、これは予想される動作です。

ワイルドカードを使用するためのモジュールがあります。ファイルグロブ検索 – パターンに一致するファイルをリストします、 しかし

マッチングはAnsibleコントローラー上のローカルシステムファイルに対して行われます。リモートノード上のファイルのリストを反復処理するには、ansible.builtin.findモジュール。

あなたの場合win_find

特定の条件に基づいてファイルのリストを返す

関連情報