6

Is it possible to use what would normally be included in ansible_facts in an Ansible adhoc command?

For example, I have a file at /tmp/myFile on all of my servers and I'd like to do:

ansible all -i [inventory file] -m fetch -a "src=/tmp/myFile dest=myFile-[insert ansible_hostname here]"

Without having to make a whole playbook for it.

techraf
  • 64,883
  • 27
  • 193
  • 198
Mitch
  • 1,604
  • 4
  • 20
  • 36

1 Answers1

8

No you cannot refer to ansible facts in ansible cli. This is because when you run ansible ... -m fetch you are not getting the facts of the host(s) you are running on. The facts are gathered with setup module ( you can try that by doing ansible ... -m setup. Anyway, this can be addressed with a simple playbook like

# file: fetchfile.yml
- hosts: all 
  tasks:
    - fetch: src=/tmp/myFile dest=myFile-{{ inventory_hostname }}

$ ansible-playbook -i [inventory_file] fetchfile.yml

ansible-playbook runs the setup module implicitly, so you will have access to all the facts as variables.

shaps
  • 1,159
  • 6
  • 12