как перебирать несколько URL-адресов с помощью get_url с Ansible - PullRequest
0 голосов
/ 04 августа 2020

У меня есть следующий блок:

  - name: pull several files
    get_url:
      url: https://my-jfrog.jfrog.io/my-jfrog/my-folder/my-file-1.txt
      headers: "X-JFrog-Art-Api:{{ vars.artifactory_api_key }}"
      dest: /var/my-location

, но мне нужно получить много файлов с разными именами из одной папки, например:

https://my-jfrog.jfrog.io/my-jfrog/my-folder/my-file-2.txt
https://my-jfrog.jfrog.io/my-jfrog/my-folder/some-filename-1.sh
https://my-jfrog.jfrog.io/my-jfrog/my-folder/another-file.jar

Как я могу выполнить итерацию над этим списком, чтобы повторно использовать те же значения? (заголовки и назначение?)

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Поскольку /, если URL такой же, за исключением имени файла, он может быть записан как:

- name: pull several files
  get_url:
    url: "https://my-jfrog.jfrog.io/my-jfrog/my-folder/{{ item }}"
    headers: "X-JFrog-Art-Api:{{ vars.artifactory_api_key }}"
    dest: /var/my-location
  with_items:
    - my-file-1.txt
    - my-file-2.txt
    - some-filename-1.sh
    - another-file.jar
1 голос
/ 04 августа 2020

Вы можете использовать loop для этого:

- name: pull several files
  get_url:
    url: "{{ item }}"
    headers: "X-JFrog-Art-Api:{{ vars.artifactory_api_key }}"
    dest: /var/my-location
  loop:
    - https://my-jfrog.jfrog.io/my-jfrog/my-folder/my-file-1.txt
    - https://my-jfrog.jfrog.io/my-jfrog/my-folder/my-file-2.txt
    - https://my-jfrog.jfrog.io/my-jfrog/my-folder/some-filename-1.sh
    - https://my-jfrog.jfrog.io/my-jfrog/my-folder/another-file.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...