when I try with 
 - debug:
     msg: "{{ result }}"

TASK [debug] 
**************************************************************************************************************************
ok: [localhost] => {
    "msg": {
        "changed": true,
        "cmd": "curl -X POST 'https://xxxxxxxxxxx.com/auth/login' -H 
'Content-Type: application/json' -d @.mycred.json",
        -- trimmed lines ----
        "rc": 0,
       -- trimmed lines ----
        "stdout": 
"{\"access_token\":\"XXXXX\",\"token_type\":\"Bearer\",\"expires_in\":86400}",
        "stdout_lines": [
            
"{\"access_token\":\"XXXXX\",\"token_type\":\"Bearer\",\"expires_in\":86400}"
        ]
    }
}


The output for the 
  - debug:
      msg: "{{ result.stdout |from_json  }}"

is


TASK [debug] 
**************************************************************************************************************************
ok: [localhost] => {
    "msg": {
        "access_token": "XXXXX",
        "expires_in": 86400,
        "token_type": "Bearer"
    }
}



when I use  the 
 - debug:
     msg: "{{ result.stdout.access_token }}"

the error is 

TASK [debug] 
**************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an 
undefined variable. The error was: 
'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 
'access_token'\n\nThe error appears to be in 
'/home/user/nvs/check_vault.yml': line 32, column 7, but may\nbe elsewhere 
in the file depending on the exact syntax problem.\n\nThe offending line 
appears to be:\n\n\n    - debug:\n      ^ here\n"}

On Saturday, October 14, 2023 at 6:31:49 PM UTC+5:30 Will McDonald wrote:

> Is there any reason you can't just use result.stdout.access_token?
>
> $ cat debug-token.yml
> - name: debug vars
>   hosts: localhost
>   gather_facts: no
>
>   vars:
>     result:
>       stdout:
>         access_token: xxxxxxxxxx
>         expires_in: 4320
>         token_type: yyyyyyyyyy
>
>   tasks:
>     - name: debug the result
>       ansible.builtin.debug:
>         var: result
>
>     - name: extract the token
>       ansible.builtin.debug:
>         msg: "{{ result.stdout.access_token }}"
>
>
> $ ansible-playbook debug-token.yml
>
> PLAY [debug vars] 
> **********************************************************************************************************
>
> TASK [debug the result] 
> ****************************************************************************************************
> ok: [localhost] => {
>     "result": {
>         "stdout": {
>             "access_token": "xxxxxxxxxx",
>             "expires_in": 4320,
>             "token_type": "yyyyyyyyyy"
>         }
>     }
> }
>
> TASK [extract the token] 
> ***************************************************************************************************
> ok: [localhost] => {
>     "msg": "xxxxxxxxxx"
> }
>
>
> On Sat, 14 Oct 2023 at 13:43, Veera <svee...@gmail.com> wrote:
>
>> I need only the output or the value of the below(trying to set_fact the 
>> access_token)
>> access_token": "xxxxxxxxxx"
>>
>>
>>
>>
>> On Saturday, October 14, 2023 at 6:01:54 PM UTC+5:30 Dick Visser wrote:
>>
>>> What is your desired output then??
>>>
>>> Sent from Gmail Mobile
>>>
>>>
>>> On Sat, 14 Oct 2023 at 10:01, Veera <svee...@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I have the below output  from my playbook using 
>>>> - debug:
>>>>         msg: "{{ result.stdout }}"
>>>>
>>>> TASK [debug] 
>>>> **************************************************************************************************************************
>>>> ok: [localhost] => {
>>>>     "msg": {
>>>>         "access_token": "xxxxxxxxxx",
>>>>         "expires_in": 43200,
>>>> "token_type": "xxxxxx"
>>>>     }
>>>> }
>>>>
>>>>
>>>>  and  when I tried to filter the access token alone  , with map   by
>>>> "{{ result.stdout | map('extract', access_token) }}" ., it errors as 
>>>> below
>>>>
>>>> The task includes an option with an undefined variable. The error was: 
>>>> 'access_token' is  undefined\n\n 
>>>>
>>>> and  when I tried to filter the access token alone  , with map   by
>>>>  msg: "{{ result.stdout | map(attribute='access_token') }}" ., it 
>>>> errors as below
>>>>
>>>> What I am missing here  to get the desired output  here?
>>>>
>>>>
>>>> -- 
>>>> 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 ansible-proje...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/ansible-project/6a7a5ed1-6c6b-4660-8da9-1388898923fen%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/6a7a5ed1-6c6b-4660-8da9-1388898923fen%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> 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 ansible-proje...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/f1f16814-e47b-4251-8bea-9e9660ead1fcn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/f1f16814-e47b-4251-8bea-9e9660ead1fcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/595e2ade-16e4-465b-a980-5ff856482589n%40googlegroups.com.

Reply via email to