vmware.vmware_rest.vcenter_host module – Add a new standalone host in the vCenter inventory
Note
This module is part of the vmware.vmware_rest collection (version 4.4.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install vmware.vmware_rest
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: vmware.vmware_rest.vcenter_host
.
New in vmware.vmware_rest 0.1.0
Synopsis
Add a new standalone host in the vCenter inventory. The newly connected host will be in connected state. The vCenter Server will verify the SSL certificate before adding the host to its inventory. In the case where the SSL certificate cannot be verified because the Certificate Authority is not recognized or the certificate is self signed, the vCenter Server will fall back to thumbprint verification mode as defined by Host.CreateSpec.ThumbprintVerification.
Requirements
The below requirements are needed on the host that executes this module.
vSphere 7.0.3 or greater
python >= 3.6
aiohttp
Parameters
Parameter |
Comments |
---|---|
Host and cluster folder in which the new standalone host should be created. This field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the host; if a folder cannot be chosen, the host creation operation will fail. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by vmware.vmware_rest.vcenter_folder_info. |
|
Whether host should be added to the vCenter Server even if it is being managed by another vCenter Server. The original vCenterServer loses connection to the host. If unset, forceAdd is default to false. Choices:
|
|
Identifier of the host to be disconnected. The parameter must be the id of a resource returned by vmware.vmware_rest.vcenter_host_info. Required with state=[‘absent’, ‘connect’, ‘disconnect’] |
|
The IP address or DNS resolvable name of the host. Required with state=[‘present’] |
|
The password for the administrator account on the host. Required with state=[‘present’] |
|
The port of the host. If unset, port 443 will be used. |
|
Timeout settings for client session. The maximal number of seconds for the whole operation including connection establishment, request sending and response. The default value is 300s. |
|
Choices:
|
|
The thumbprint of the SSL certificate, which the host is expected to have. The thumbprint is always computed using the SHA1 hash and is the string representation of that hash in the format: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx where, ‘x’ represents a hexadecimal digit. This field is optional and it is only relevant when the value of thumbprint_verification is THUMBPRINT. |
|
The thumbprint_verification enumerated type defines the thumbprint verification schemes for a host’s SSL certificate. Required with state=[‘present’] Choices:
|
|
The administrator account on the host. Required with state=[‘present’] |
|
The hostname or IP address of the vSphere vCenter If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter password If the value is not specified in the task, the value of environment variable |
|
You can use this optional parameter to set the location of a log file. This file will be used to record the HTTP REST interaction. The file will be stored on the host that runs the module. If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter username If the value is not specified in the task, the value of environment variable |
|
Allows connection when SSL certificates are not valid. Set to If the value is not specified in the task, the value of environment variable Choices:
|
Notes
Note
Tested on vSphere 7.0.3
Examples
- name: Connect the host(s)
vmware.vmware_rest.vcenter_host:
hostname: "{{ lookup('env', 'ESXI1_HOSTNAME') }}"
user_name: "{{ lookup('env', 'ESXI1_USERNAME') }}"
password: "{{ lookup('env', 'ESXI1_PASSWORD') }}"
thumbprint_verification: NONE
folder: '{{ my_host_folder.folder }}'
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Connect the host(s) Returned: On success Sample: |