Thanks Vladimir .. rich info for me .. On Saturday, October 14, 2023 at 8:58:23 PM UTC+5:30 Vladimir Botka wrote:
> On Sat, 14 Oct 2023 01:01:28 -0700 (PDT) > Veera <[email protected]> wrote: > > > - debug: > > msg: "{{ result.stdout }}" > > > > ok: [localhost] => { > > "msg": { > > "access_token": "xxxxxxxxxx", > > "expires_in": 43200, > > "token_type": "xxxxxx" > > } > > } > > For example, given the file > > shell> cat /tmp/test.json > { > "access_token": "xxxxxxxxxx", > "expires_in": 43200, > "token_type": "xxxxxx" > } > > The value of *result.stdout* is *AnsibleUnsafeText*. What you see > depends on the callback. The below play > > shell> cat pb.yml > - hosts: all > tasks: > - command: cat /tmp/test.json > register: result > - debug: > var: result.stdout > > gives JSON with the default callback > > shell> ANSIBLE_STDOUT_CALLBACK=default ansible-playbook pb.yml > ... > ok: [localhost] => { > "result.stdout": { > "access_token": "xxxxxxxxxx", > "expires_in": 43200, > "token_type": "xxxxxx" > } > } > > The same task gives YAML with the yaml callback > > shell> ANSIBLE_STDOUT_CALLBACK=yaml ansible-playbook pb2.yml > ... > ok: [localhost] => > result.stdout: > access_token: xxxxxxxxxx > expires_in: 43200 > token_type: xxxxxx > > You can test the type of the attribute *stdout* > > - debug: > var: result.stdout|type_debug > > gives > > result.stdout|type_debug: AnsibleUnsafeText > > > > filter the access token alone > > Convert the text to dictionary and get the *access_token* as well. > It's up to you where you put the vars > > vars: > > test_data: "{{ result.stdout|from_json }}" > access_token: "{{ test_data.access_token }}" > > Example of a complete playbook for testing > > shell> cat pb.yml > - hosts: all > > vars: > > test_data: "{{ result.stdout|from_json }}" > access_token: "{{ test_data.access_token }}" > > tasks: > > - command: cat /tmp/test.json > register: result > - debug: > var: result.stdout > - debug: > var: result.stdout|type_debug > - debug: > var: test_data|type_debug > - debug: > var: test_data > - debug: > var: access_token > > > -- > Vladimir Botka > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/10c295f5-79bd-49ee-84dd-76944f6a2bb5n%40googlegroups.com.
