Проверьте, существует ли один из файлов в ansible - PullRequest
2 голосов
/ 14 июля 2020

Я пытаюсь проверить, существует ли один из файлов в ansible.

Код для проверки одного файла, который отлично работает.

- hosts: all
  tasks:
  - name: Ansible check file exists example.
    stat:
      path: /Users/data/info.text
    register: file_details

  - debug:
      msg: "The file exists"
    when: file_details.stat.exists

Но я хочу проверить если / Users / data / info.text или /Users/data/info.html существуют или нет, здесь я пытаюсь использовать оператор or, но он сообщает о недопустимом файле yml.

- hosts: all
  tasks:
  - name: Ansible check file exists example.
    stat:
      path: /Users/data/info.text or /Users/data/info.html
    register: file_details

  - debug:
      msg: "The file exists"
    when: file_details.stat.exists

1 Ответ

0 голосов
/ 14 июля 2020

Попробуйте это

    - stat:
        path: "{{ item }}"
      register: file_details
      loop:
        - info.text
        - info.html

    - debug:
        msg: The files exist
      when: file_details.results|map(attribute='stat.exists') is all
...