Use template module

```
---
- hosts: localhost
  gather_facts: no
  vars:
    servers:
        - servera
        - serverb
        - serverc
  tasks:
    - template:
        src: server.j2
        dest: output.txt
```

server.j2
```
{% for server in servers %}
{{ server }}
{% endfor %}
```

# cat output.txt
servera
serverb
serverc


On Mon, Jul 31, 2023 at 12:10 PM Veera <[email protected]> wrote:

> 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
> <https://groups.google.com/d/msgid/ansible-project/a7a2ddf1-1da3-4576-96fe-252da18d8394n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Thanks,
Abhijeet Kasurde

-- 
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/CAFwWkHpNBmk4%2BJRAxtF94aTz7BVD7kouo_wF2mQhTGD%2B5R9%3Dvw%40mail.gmail.com.

Reply via email to