We want to capture variables from Ansible output. We have a bulk dns record and wanted to capture FQDN and IP address from output but were unable to display it. Tasks are below:
- name: Run DNS Lookup
command: dig +short "{{ item }}"
register: dns_output
loop: "{{ dns_records.stdout_lines }}"
- name: Display DNS Results
debug:
msg: "FQDN: {{ item.item }}, IP Address: {{ item.stdout }}"
with_items: "{{ dns_output.results }}"
++++++ansible output+++++
changed: [localhost] => (item=www.facebook.com) => {
"ansible_loop_var": "item",
"changed": true,
"cmd": [
"dig",
"+short",
"www.facebook.com"
],
"delta": "0:00:00.028353",
"end": "2023-07-08 15:44:18.486735",
"invocation": {
"module_args": {
"_raw_params": "dig +short \"www.facebook.com\"",
"_uses_shell": false,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"stdin_add_newline": true,
"strip_empty_ends": true
}
},
"item": "www.facebook.com",
"msg": "",
"rc": 0,
"start": "2023-07-08 15:44:18.458382",
"stderr": "",
"stderr_lines": [],
"stdout": "star-mini.c10r.facebook.com.\n157.240.202.35",
"stdout_lines": [
"star-mini.c10r.facebook.com.",
"157.240.202.35"
]
}
Wanted to capture FQDN (item) and stdout
www.facebook.com - star-mini.c10r.facebook.com.\n157.240.202.35