Use variables to create new hosts and groups in inventory for use in later plays of the same playbook. Takes variables so you can define the new hosts more fully.
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| groups |
no | The groups to add the hostname to, comma separated. aliases: groupname, group | ||
| name |
yes | The hostname/ip of the host to add to the inventory, can include a colon and a port number. aliases: hostname, host |
# add host to group 'just_created' with variable foo=42 - add_host: name={{ ip_from_ec2 }} groups=just_created foo=42 # add a host with a non-standard port local to your machines - add_host: name={{ new_ip }}:{{ new_port }} # add a host alias that we reach through a tunnel - add_host: hostname={{ new_ip }} ansible_ssh_host={{ inventory_hostname }} ansible_ssh_port={{ new_port }}
Note
This module bypasses the play host loop and only runs once for all the hosts in the play, if you need it to iterate use a with_ directive.
For more information on what this means please read Core Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.