/ / Ansible wyodrębnia wartość z wyjścia JSON i używa jej w innych zadaniach - json, ansible, uri, ansible-2.x

Sprawdź wartość wyciągu z wyjścia JSON i użyj go w innych zadaniach - json, ansible, uri, ansible-2.x

Korzystając z poniższego zadania, chcę wyodrębnić authresponse wartość podpisu:

- uri:
url: "http://10.25.155.x/axapi/v3/auth"
method: POST
validate_certs: no
follow_redirects: all
body: { "credentials": { "username": "admin","password": "a10" } }
return_content: yes
body_format: json
register: "a10"

Wydajność:

"json": {
"authresponse": {
"description": "the signature should be set in Authorization header for following request.",
"signature": "6123befcb272ae2d0a9b92f1842dba"
}
},

Muszę przekazać wartość podpisu do poniższego zadania w Authorization:

- name: access list
uri:
url: "http://10.25.155.x/axapi/v3/access-list/extended/"
method: POST
headers:
Content-Type: "application/json"
Authorization: A10 6123befcb272ae2d0a9b92f1842dba
body: { "extended": { "extd": 102, "rules": [ { "extd-seq-num": 15,"extd-action": "permit","tcp": 1,"src-any": 1,"dst-host": "172.69.4.4","dst-eq" : 443 } ] } }
validate_certs: no
follow_redirects: all
with_items: "{{a10.results}}"

Odpowiedzi:

1 dla odpowiedzi № 1

Wystarczy odwołać się do konkretnego klucza ze struktury danych zarejestrowanej w pierwszym zadaniu. JSON jest już zamapowany na obiekt Ansible (Python):

Authorization: "A10 {{ A10.json.authresponse.signature }}"