[quote="trt757, post:1, topic:43180"] If I run this play with an entry for Server1 in hosts file, and run the play on Server 1, it’s pulling the key file from host1, [/quote] I don't think it is. As written above, no `host1` is involved. It's running with `Server1` as both the Ansible controller and the target host. It's fetching from the controller to the controller. [quote="trt757, post:1, topic:43180"] it’s creating a directory, called Server1/etc/certificate-authority/host1.fqdn.key in /tmp [/quote] That's correct, because it's fetching the file from `Server1`. [quote="trt757, post:1, topic:43180"] I also can’t figure out why it’s picking up the “/etc/certificate-authority” and placing that name as part of the dir structure. [/quote] That's because you have `flat: no`. Change that to `flat: true` to eliminate the intermediate directory levels in the fetch destination. [quote="trt757, post:1, topic:43180"] I’m trying to fetch keys to the controller, Server1, from host1, and want the dir structure to look like: host1/host1.fqdn.key. [/quote] Then you want something like this: ```yaml - name: Fun with ansible.builtin.fetch hosts: host1,host2,host3 # Hosts and/or host groups to fetch _from_, NOT your controller (necessarily) gather_facts: false become: true tasks: # This task could be in a role. Trying to keep it simple. - name: Fetch key files from target hosts ansible.builtin.fetch: src: /etc/certificate-authority/{{ inventory_hostname }}.fqdn.key dest: /tmp/{{ inventory_hostname }}/ # This will create host directories flat: true # This avoids creating the intermediate directories ``` (BTW, see [this post in its _raw_ format](https://forum.ansible.com/raw/43180/3) to see how to get your `yaml` to look good in your posts.)