У меня есть список в анзибле, который выглядит так:

[
    {
        "src_files": "/tmp/files/**/*",
        "dest_dir": "/home/user1"
    },
    {
        "src_files": "/tmp/files2/**/*",
        "dest_dir": "/home/user2"
    }
]

Теперь я хочу перебрать каждый элемент в этом списке, а затем перебрать файл в соответствующем файловом глобале и скопировать его в dest_dir.

Я понимаю, как использовать copy с with_fileglob, но как я могу отключить этот список файловых глобусов?

1
Nathan 14 Окт 2019 в 17:44

1 ответ

Лучший ответ

Можно включить with_fileglob из отдельного файла. Например

- include_tasks: copy-fileglob.yml
  loop: "{{ my_list }}"
  loop_control:
    loop_var: outer_item

$ cat copy-fileglob.yml
- copy:
    src: "{{ item }}"
    dest: "{{ outer_item.dest_dir }}"
  with_fileglob: "{{ outer_item.src_files }}"

(не испытано)

1
Vladimir Botka 14 Окт 2019 в 16:18