Hey all, I am currently on the older 1.7 (looking to upgrade shortly). I
have a question in regards to optimization of tasks.
I have a role where I collect some output from other task actions and im
trying to use them in the mail module.
Unfortunately if I try to format subject: to how I want the output to look,
not all the data is represented correctly in the body of the mail.
I spent some time looking around yesterday and I know that there is a
possibility of using a template, but I got myself going with the following.
- name: Distributing files
synchronize: src="{{streams_path}}/" dest="{{prod_config}}/"
rsync_opts="--exclude=scripts/"
register: sync_out
- debug: var=sync_out
- set_fact:
email1: "The following files have been distributed to the
following DCS servers: \n\n"
- set_fact:
email2: "{{play_hosts}}"
- set_fact:
email3: "\n\n"
- set_fact:
email4: "{{sync_out.msg | regex_replace('.* ')}}"
run_once: true
"{{sync_out.msg | regex_replace('.* ')}}"
- name: email
local_action:
mail
subject="**DCS Streams distribution"
body="{{email1}}{{email2}}{{email3}}{{email4}}"
from="[email protected]"
to="{{mailto}}"
run_once: true
As mentioned, this gets me what I need to see in the body, but it seem
excessive to me? was trying to combine everything into a multiline var but
the vars "{{play_hosts}}" and "{{sync_out.msg | regex_replace('.* ')}}"
were not being printed correctly as they are lists.
Thanks in advance for any comments..
--
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/34581895-42f1-427f-9ff3-78ad27884a0e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.