Hi,

I feel I must be missing something very obvious here, but I can't
find it, so here we go.

Let's say I've got a role's tasks/main.yml that includes some other
tasks on a loop:

- include_tasks: distribute_thing.yml
  when: thing_names is defined
  loop: "{{ thing_names | flatten(levels=1) }}"
  loop_control:
      loop_var: thing_name

thing_names is just a list like

- alpha
- bravo
- …

now in distribute_thing.yml for each thing_name I want to copy
several files:

- name: Distribute foo files for each thing
  copy:
    src: "{{ thing_name }}/foo"
    dest: /etc/things/{{ thing_name }}/foo
    mode: 0644

- name: Distribute bar files for each thing
  no_log: true
  copy:
    src: "{{ thing_name }}/bar"
    dest: /etc/things/{{ thing_name }}/bar
    mode: 0640

Fine so far. But now I also want a file /etc/things/{{ thing_name
}}/foobar which is the combined content of foo and bar. I would only
like to bother sending it over if either the foo or the bar task
changed.

What is the simplest way to do it?

I don't care if the content comes from the control host or the
target.

At first I thought a register variable on each of the foo and bar
tasks like:

- name: Distribute foo files for each thing
  register: foo_changed
  copy: …

then a template file like:

{{ foo_changed['diff'][0]['after'] }}
{{ bar_changed['diff'][0]['after'] }}

to just concat those two register variables together. That does
actually work for foo, but not bar, because bar has no diff content
owing to the no_log: true, which is necessary because the file
content of bar is sensitive and shouldn't be logged.

Probably I missed some really simple way to just concat a bunch of
files together and send that over. Is there something like that?

Thanks,
Andy

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/20181208133000.GT4569%40bitfolk.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to