Ansible: Как l oop set_fact varaibles - PullRequest
       0

Ansible: Как l oop set_fact varaibles

0 голосов
/ 25 февраля 2020

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

set_fact, который работает для хранения содержимого, но я изо всех сил пытаюсь получить их в модуле copy, используя l oop.

- name: Playbook to get element details from server
  uri:
    url: https://10.10.10.19/rest/v1.1/nucli?SetType={{ item }}
    body_format: raw
    method: GET
    headers:
      Content-Type: application/xml
      Accept: application/xml
      Authorization: Bearer password
    return_content: yes
  register: fileout
  with_items:
     - My_var1
     - My_var2
     - My_var3
     - My_var4

- set_fact:
    My_var1: "{{ fileout.results[0].content }}"
    My_var2: "{{ fileout.results[1].content }}"
    My_var3: "{{ fileout.results[2].content }}"
    My_var4: "{{ fileout.results[3].content }}"

- copy:
     content: {{ item }}
     dest: "/users/ansible/vars/{{ item }}.txt"
  delegate_to: localhost
  loop:
     - My_var1
     - My_var2
     - My_var3
     - My_var4

Playbook execution: все шаги выполнены успешно. но в copy модуль content: {{ item }} не использует переменные set_fact, вместо этого они просто копируют строку My_var1 ... et c.

Может кто-нибудь помочь мне, как использовать l oop для переменной set_fact имена? Чтобы я мог сохранить содержимое, которое я сохранил из set_fact (example - My_var1: "{{ fileout.results[0].content }}" )

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...