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.

Reply via email to