Yes. Or if you feel like ignoring the warnings^* about using variables
in copy's "content":
- name: Write to the file
ansible.builtin.copy:
content: |
{% for server in servers %}
{{ server }}
{% endfor %}
dest: "{{my_inv}}"
^* I do it quite often, looking for cases where the promised unexpected
surprises happen, but I haven't found them yet. It'll probably happen
some day when it least convenient. :)
On 7/31/23 3:41 PM, Abhijeet Kasurde wrote:
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
<https://groups.google.com/d/msgid/ansible-project/CAFwWkHpNBmk4%2BJRAxtF94aTz7BVD7kouo_wF2mQhTGD%2B5R9%3Dvw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
Todd
--
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/4877186b-3d97-2fb2-36e4-a6188010d328%40gmail.com.