--- - name: Acquire GPG private keys from other system when: not files_mode block: - name: Acquire GPG private keys' contents from other system delegate_to: "{{ gpg_private_keys_origin_host }}" ansible.builtin.command: argv: - gpg - -a - --export-secret-key - "{{ item }}" loop: "{{ gpg_origin_private_keyids }}" register: gpg_secrets - name: Create GPG private keys using acquired GPG private keys' contents ansible.builtin.copy: content: "{{ item }}" dest: "{{ ansible_facts['user_dir'] }}/.gnupg/{{ gpg_origin_private_keyids[idx] }}.priv.asc" force: yes backup: yes mode: "0600" state: present loop: "{{ gpg_secrets.results }}" loop_control: index_var: idx register: created_gpg_private_keys - name: Acquire GPG private keys when: files_mode ansible.builtin.copy: src: gnupg/{{ ansible_facts['user_id'] }}/{{ item }}.asc dest: "{{ ansible_facts['user_dir'] }}/.gnupg/{{ item }}.priv.asc" force: yes backup: yes mode: "0600" state: present loop: "{{ gpg_origin_private_keyids }}" loop_control: index_var: idx register: created_gpg_private_keys - name: Import GPG private keys when: (gpg_origin_private_key_passwords | length) == (gpg_origin_private_keyids | length) ansible.builtin.command: argv: - gpg - --batch - --import - --yes - --passphrase-fd - 0 - "{{ item.dest }}" stdin: "{{ gpg_origin_private_key_passwords[idx] }}" loop: "{{ created_gpg_private_keys.results }}" loop_control: index_var: idx