не понял как можно доставать что-то конкретное из вывода. У меня таска где я с помощью ansible.builtin.uri отправляю запрос. После чего я получаю ответ с кучей данных.
access_control_allow_headers: Accept, Authorization, Content-Type, Origin
access_control_allow_methods: GET, POST, DELETE, OPTIONS
access_control_allow_origin: '*'
access_control_expose_headers: Date
ansible_facts:
discovered_interpreter_python: /usr/bin/python3
cache_control: no-cache, no-store, must-revalidate
connection: close
content: '{"status":"success","data":{"silenceId":"ce758dc1-1d58-4ae3-b8a8-8748549cdcb3"}}'
content_length: '80'
content_type: application/json
cookies: {}
cookies_string: ''
date: Wed, 17 May 2023 10:40:18 GMT
elapsed: 0
json:
data:
silenceId: ce758dc1-1d58-4ae3-b8a8-8748549cdcb3
status: success
msg: OK (80 bytes)
redirected: false
server: nginx
status: 200
url: https://alertmanager.example.com/api/v1/silences
Как из этих данных достать значение silenceId что бы потом его использовать в других тассках?
Я пробовал выводить его через дебаг
- name: debug
ansible.builtin.debug:
var: silence_resp.silenceId
И получал в ответ "silence_resp.silenceId: 'VARIABLE IS NOT DEFINED!: ''dict object'' has no attribute ''silenceId'''
Я пробовал через точку, через {{}} (неправильно).
Заранее большое спасибо за ответ
пы.сы в таске где я запускаю урл я задаю регистр register: silence_resp
silence_resp["json"]["data"]["silenceId"]
ааа, то есть вот так с json-a собирают это. Спасибо большое!
Если в результате получается json, то он в переменой будет прямо в поле json: json: data: silenceId: ce758dc1-1d58-4ae3-b8a8-8748549cdcb3 status: success
Обсуждают сегодня