vmware_host - Add / Remove ESXi host to / from vCenter
New in version 2.0.
Synopsis
- This module can be used to add / remove / reconnect an ESXi host to / from vCenter.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
add_connected bool (added in 2.6) |
| If set to True , then the host should be connected as soon as it is added.This parameter is ignored if state is set to a value other than present . |
cluster_name | Name of the cluster to add the host. If folder is not set, then this parameter is required.Aliases added in version 2.6. aliases: cluster | |
datacenter_name required | Name of the datacenter to add the host. Aliases added in version 2.6. aliases: datacenter | |
esxi_hostname required | ESXi hostname to manage. | |
esxi_password | ESXi password. Required for adding a host. Optional for reconnect. Unused for removing. No longer a required parameter from version 2.5. | |
esxi_ssl_thumbprint (added in 2.5) | Default: "" | Specifying the hostsystem certificate's thumbprint. Use following command to get hostsystem certificate's thumbprint - # openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha1 -noout |
esxi_username | ESXi username. Required for adding a host. Optional for reconnect. Unused for removing. No longer a required parameter from version 2.5. | |
folder (added in 2.6) | Name of the folder under which host to add. If cluster_name is not set, then this parameter is required.For example, if there is a datacenter 'dc1' under folder called 'Site1' then, this value will be '/Site1/dc1/host'. Here 'host' is an invisible folder under VMware Web Client. Another example, if there is a nested folder structure like '/myhosts/india/pune' under datacenter 'dc2', then folder value will be '/dc2/host/myhosts/india/pune'.Other Examples: - '/Site2/dc2/Asia-Cluster/host' - '/dc3/Asia-Cluster/host' | |
hostname str | The hostname or IP address of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_HOST will be used instead.Environment variable support added in version 2.6. | |
password str | The password of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PASSWORD will be used instead.Environment variable support added in version 2.6. aliases: pass, pwd | |
port int (added in 2.5) | Default: 443 | The port number of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PORT will be used instead.Environment variable support added in version 2.6. |
state |
| If set to present , then add the host if host is absent.If set to present , then do nothing if host already exists.If set to absent , then remove the host if host is present.If set to absent , then do nothing if host already does not exists.If set to add_or_reconnect , then add the host if it's absent else reconnect it.If set to reconnect , then reconnect the host if it's present else fail. |
username str | The username of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_USER will be used instead.Environment variable support added in version 2.6. aliases: admin, user | |
validate_certs bool |
| Allows connection when SSL certificates are not valid. Set to false when certificates are not trusted.If the value is not specified in the task, the value of environment variable VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in version 2.6. If set to yes , please make sure Python >= 2.7.9 is installed on the given machine. |
Notes
Note
- Tested on vSphere 5.5, 6.0 and 6.5
Examples
- name: Add ESXi Host to vCenter vmware_host: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' datacenter_name: datacenter_name cluster_name: cluster_name esxi_hostname: '{{ esxi_hostname }}' esxi_username: '{{ esxi_username }}' esxi_password: '{{ esxi_password }}' state: present - name: Add ESXi Host to vCenter under a specific folder vmware_host: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' datacenter_name: datacenter_name folder: '/Site2/Asia-Cluster/host' esxi_hostname: '{{ esxi_hostname }}' esxi_username: '{{ esxi_username }}' esxi_password: '{{ esxi_password }}' state: present add_connected: True - name: Reconnect ESXi Host (with username/password set) vmware_host: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' datacenter_name: datacenter_name cluster_name: cluster_name esxi_hostname: '{{ esxi_hostname }}' esxi_username: '{{ esxi_username }}' esxi_password: '{{ esxi_password }}' state: reconnect - name: Reconnect ESXi Host (with default username/password) vmware_host: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' datacenter_name: datacenter_name cluster_name: cluster_name esxi_hostname: '{{ esxi_hostname }}' state: reconnect - name: Add ESXi Host with SSL Thumbprint to vCenter vmware_host: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' datacenter_name: datacenter_name cluster_name: cluster_name esxi_hostname: '{{ esxi_hostname }}' esxi_username: '{{ esxi_username }}' esxi_password: '{{ esxi_password }}' esxi_ssl_thumbprint: "3C:A5:60:6F:7A:B7:C4:6C:48:28:3D:2F:A5:EC:A3:58:13:88:F6:DD" state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
result str | on successful addition | metadata about the new host system added Sample: 'vim.ComputeResource:domain-s222' |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Joseph Callen (@jcpowermac)
- Russell Teague (@mtnbikenc)
- Maxime de Roucy (@tchernomax)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/vmware_host_module.html