In case you want to run ansible (or ansible-playbook) command against a set of hosts that makes sense only for one run,
you can don't bother to create one-time inventory file, but simply define a comma-separated list of hosts as argument of --invertory option (or its short form that's simply -i) as follows:
ansible --inventory=myhost1,myhost2,myhost3 all -m setup -a 'filter=*name*'(note that all in this command line stands for the target hostname)
If you have only one host to run your playbook against, your inventory string must ends with ,
(because otherwise Ansible would interpret it as a name of inventory file, not a hosts' list) for example:
ansible-playbook -i myhost, all -a 'uname -a'Additionally you can dynamically generate names and then put them together as comma seperated lists. For eg:
$ echo idm-01{a,b}.{atl1,lab1,rdu1}.somedom.local | tr ' ' '\n' | paste -s -d"," -
idm-01a.atl1.somedom.local,idm-01a.lab1.somedom.local,idm-01a.rdu1.somedom.local,idm-01b.atl1.somedom.local,idm-01b.lab1.somedom.local,idm-01b.rdu1.somedom.localUsing this you can pass this list to ansible as an adhoc command like so:
$ ansible -i "$(echo idm-01{a,b}.{atl1,lab1,rdu1}.somedom.local | tr ' ' '\n' | paste -s -d"," -)," \
-m shell -a uptime --forks 30 -b allNOTE: Be sure to include a trailing , to the list.
And if you've gotten this far, if you go a little further you can do this all with a printf command like this:
$ printf "%s," idm-01{a,b}.{atl1,lab1,rdu1}.somedom.local
idm-01a.atl1.somedom.local,idm-01a.lab1.somedom.local,idm-01a.rdu1.somedom.local,idm-01b.atl1.somedom.local,idm-01b.lab1.somedom.local,idm-01b.rdu1.somedom.local,which becomes this with Ansible:
$ ansible -i "$(printf "%s," idm-01{a,b}.{atl1,lab1,rdu1}.somedom.local)" -m shell -a "grep ca.crl.MasterCRL.enableCRLUpdates /etc/pki/pki-tomcat/ca/CS.cfg" --forks 30 -b allAn example of this:
$ ansible -i "$(printf "%s," idm-01{a,b}.{atl1,lab1,rdu1}.somedom.local)" -m shell \
-a "grep ca.crl.MasterCRL.enableCRLUpdates /etc/pki/pki-tomcat/ca/CS.cfg" --forks 30 -b all
idm-01a.rdu1.somedom.local | CHANGED | rc=0 >>
ca.crl.MasterCRL.enableCRLUpdates=true
idm-01a.atl1.somedom.local | CHANGED | rc=0 >>
ca.crl.MasterCRL.enableCRLUpdates=false
idm-01b.atl1.somedom.local | CHANGED | rc=0 >>
ca.crl.MasterCRL.enableCRLUpdates=false
idm-01b.rdu1.somedom.local | CHANGED | rc=0 >>
ca.crl.MasterCRL.enableCRLUpdates=false
idm-01a.lab1.somedom.local | FAILED | rc=2 >>
ca.crl.MasterCRL.enableCRLUpdates=false
idm-01b.lab1.somedom.local | CHANGED | rc=0 >>
ca.crl.MasterCRL.enableCRLUpdates=false