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 (Ansible <= 1.9)
- add_host: hostname={{ new_ip }}
ansible_ssh_host={{ inventory_hostname }}
ansible_ssh_port={{ new_port }}
# add a host alias that we reach through a tunnel (Ansible >= 2.0)
- add_host: hostname={{ new_ip }}
ansible_host={{ inventory_hostname }}
ansible_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, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/add_host_module.html