Hi Kai,
It seems while copying i missed {{ but actually code does have this. So
repasting code :
- name: get url data
uri:
uri: <path>
method: GET
user: username
password: password
register: dns_result
no_log: true
- set_fact:
dns_content: "{{ dns_result.content}}"
- debug:
msg: "{{dns_content.records}}"
gives result:
ok: [10.4.12.5] =>
"msg": [
{
"_links": {
"self": {
"href": "/api/name-services/dns/1e3w4r1q"
}
},
"servers": [
10.2.12.3"
],
},
{
"_links": {
"self": {
"href": "/api/name-services/dns/1f7j9f0a"
}
},
"servers": [
10.2.122.4"
],
},
The data in dns_result is :
ok: [10.4.12.5] =>
"msg": [
{
"_links": {
"self": {
"href": "/api/name-services/dns?fields=*"
}
},
"num_records": 2,
"*records*": [
{
"_links": {
"self": {
"href": "/api/name-services/dns/1e3w4r1q"
}
},
"servers": [
10.2.12.3"
],
},
{
---- more data -----
}
So why i cant access data like :
- set_fact:
dns_content: "{{ dns_result.content.records}}"
On Wed, 19 Jun 2019 at 14:55, Kai Stian Olstad <
[email protected]> wrote:
> On 19.06.2019 08:29, Punit Jain wrote:
> > Hi,
> >
> > I have a part of playbook task as below:
> >
> > - name: get url data
> > uri:
> > uri: <path>
> > method: GET
> > user: username
> > password: password
> > register: dns_result
> > no_log: true
> >
> > - set_fact:
> > dns_content: "{{ dns_result.content.records}}"
> >
> > Gives an error:
> >
> > "msg" : The task includes an option with an undefined variable. The
> > error
> > was ansible.vars.unsafe_proxy.AnsibleUnsafeText object' has no
> > attribute
> > 'records'
>
> That is because is doesn't exist, you need to check what is contains
> with
>
> - debug: var=dns_result
>
>
> > however when I set_fact separately as below, it works :
> >
> > - name: get url data
> > uri:
> > uri: <path>
> > method: GET
> > user: username
> > password: password
> > register: dns_result
> > no_log: true
> >
> > - set_fact:
> > dns_content: "{{ dns_result.content}}"
> >
> > - debug:
> > msg: "{dns_contents.records}"
>
> You only have one curly brackets so this is not treated as a variable
> but as a string.
> And if you add the missing curly brackets it will fail since you are
> using dns_contents and not dns_content.
>
>
> --
> Kai Stian Olstad
>
> --
> 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 post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/00268525a8c184eff0795059cad93ea6%40olstad.com
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAFXWBQ%2BD6c6oyc83sRCpzTB52r5ksc0Age%2BeizfMrXiimBxtAg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.