--- - name: "sync_file | Cat the file" command: "cat {{ sync_file_path }}" register: sync_file_cat when: inventory_hostname == sync_file_srcs|first - name: "sync_file | Cat the key file" command: "cat {{ sync_file_key_path }}" register: sync_file_key_cat when: sync_file_is_cert|d() and inventory_hostname == sync_file_srcs|first - name: "sync_file | Set facts for file contents" set_fact: sync_file_contents: "{{ hostvars[sync_file_srcs|first].get('sync_file_cat', {}).get('stdout') }}" - name: "sync_file | Set fact for key contents" set_fact: sync_file_key_contents: "{{ hostvars[sync_file_srcs|first].get('sync_file_key_cat', {}).get('stdout') }}" when: sync_file_is_cert|d() - name: "sync_file | Ensure the directory exists" file: group: "{{ sync_file_group|d('root') }}" mode: "{{ sync_file_dir_mode|default('0750') }}" owner: "{{ sync_file_owner|d('root') }}" path: "{{ sync_file_dir }}" state: directory when: inventory_hostname not in sync_file_srcs - name: "sync_file | Copy {{ sync_file_path }} to hosts that don't have it" copy: content: "{{ sync_file_contents }}" dest: "{{ sync_file_path }}" group: "{{ sync_file_group|d('root') }}" mode: "{{ sync_file_mode|default('0640') }}" owner: "{{ sync_file_owner|d('root') }}" when: inventory_hostname not in sync_file_srcs - name: "sync_file | Copy {{ sync_file_key_path }} to hosts that don't have it" copy: content: "{{ sync_file_key_contents }}" dest: "{{ sync_file_key_path }}" group: "{{ sync_file_group|d('root') }}" mode: "{{ sync_file_mode|default('0640') }}" owner: "{{ sync_file_owner|d('root') }}" when: sync_file_is_cert|d() and inventory_hostname not in sync_file_srcs