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.2.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

folder

string

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.

force_add

boolean

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:

  • false

  • true

host

string

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’]

hostname

string

The IP address or DNS resolvable name of the host. Required with state=[‘present’]

password

string

The password for the administrator account on the host. Required with state=[‘present’]

port

integer

The port of the host.

If unset, port 443 will be used.

session_timeout

float

added in vmware.vmware_rest 2.1.0

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.

state

string

Choices:

  • "absent"

  • "connect"

  • "disconnect"

  • "present" ← (default)

thumbprint

string

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.

thumbprint_verification

string

The thumbprint_verification enumerated type defines the thumbprint verification schemes for a host’s SSL certificate. Required with state=[‘present’]

Choices:

  • "NONE"

  • "THUMBPRINT"

user_name

string

The administrator account on the host. Required with state=[‘present’]

vcenter_hostname

string / required

The hostname or IP address of the vSphere vCenter

If the value is not specified in the task, the value of environment variable VMWARE_HOST will be used instead.

vcenter_password

string / required

The vSphere vCenter password

If the value is not specified in the task, the value of environment variable VMWARE_PASSWORD will be used instead.

vcenter_rest_log_file

string

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 VMWARE_REST_LOG_FILE will be used instead.

vcenter_username

string / required

The vSphere vCenter username

If the value is not specified in the task, the value of environment variable VMWARE_USER will be used instead.

vcenter_validate_certs

boolean

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.

Choices:

  • false

  • true ← (default)

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

value

string

Connect the host(s)

Returned: On success

Sample: "host-1013"

Authors

  • Ansible Cloud Team (@ansible-collections)