Here it is
TASK [debug]
**************************************************************************************************************************
ok: [localhost] => {
"msg": [
"servera",
"serverb",
"serverc",
"serverd",
"centos8-latest"
]
}
TASK [debug]
**************************************************************************************************************************
ok: [localhost] => {
"msg": "The List of VMs is ['servera', 'serverb', 'serverc',
'serverd', 'centos8-latest']"
}
TASK [write the server list to the file /tmp/output.txt]
******************************************************************************
ok: [localhost]
PLAY RECAP
****************************************************************************************************************************
localhost : ok=9 changed=0 unreachable=0 failed=0
skipped=0 rescued=0 ignored=0
$ cat /tmp/output.txt
["servera", "serverb", "serverc", "serverd", "centos8-latest"]
On Tuesday, August 1, 2023 at 12:17:12 AM UTC+5:30 Todd Lewis wrote:
> I mean, what does the output of
>
> - name: Dump result
> ansible.builtin.debug:
> msg: "{{ result }}"
>
> look like? It presumably has a 'json' field? Which itself contains a
> 'value'?
> Without a reasonable approximation of your input, I can't possibly suggest
> how to create expected output from it.
>
> On Monday, July 31, 2023 at 2:43:20 PM UTC-4 Veera wrote:
>
>> it looks like
>> 'servera', 'serverb', 'serverc', 'serverd'
>>
>>
>> and I want result to be like ..
>> $cat /tmp/my_inv
>> servera
>> serverb
>> serverc
>> serverd
>>
>>
>> On Tuesday, August 1, 2023 at 12:00:58 AM UTC+5:30 Todd Lewis wrote:
>>
>>> What does your "result" look like?
>>>
>>> On Monday, July 31, 2023 at 1:11:16 PM UTC-4 Veera wrote:
>>>
>>>> While collecting the inventory from a dynamic source , I am able to
>>>> filter the hostname and print them as below as expected.
>>>>
>>>> servera
>>>> serverb
>>>> serverc
>>>> serverd
>>>>
>>>> when set to facts with set_fact also fine and print in the order one
>>>> below the other.
>>>> However when I try to write into a file with copy module ,
>>>>
>>>> - name: Write to the file
>>>> ansible.builtin.copy:
>>>> content: "{{ result['json']['value'] |map(attribute='hostname')
>>>> }}"
>>>> dest: "{{my_inv}}"
>>>>
>>>> the format collapses as below.
>>>> 'servera', 'serverb', 'serverc', 'serverd'
>>>>
>>>> How can I write the output in the list format(line by line) as this
>>>> file will be used to read as an inventory for other tasks .
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
--
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/a7a2ddf1-1da3-4576-96fe-252da18d8394n%40googlegroups.com.