vcenter_extension – Register/deregister vCenter Extensions

New in version 2.8.

Synopsis

  • This module can be used to register/deregister vCenter Extensions.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • PyVmomi

Parameters

Parameter Choices/Defaults Comments
client_type
-
Default:
"vsphere-client-serenity"
Required for state=present. Type of client the extension is (win32, .net, linux, etc.).
company
-
Required for state=present. The name of the company that makes the extension.
description
-
Required for state=present. A short description of the extension.
email
-
Required for state=present. Administrator email to use for extension.
extension_key
- / required
The extension key of the extension to install or uninstall.
hostname
string
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 Ansible 2.6.
name
-
Required for state=present. The name of the extension you are installing.
password
string
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 Ansible 2.6.

aliases: pass, pwd
port
integer
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 Ansible 2.6.
server_type
-
Default:
"vsphere-client-serenity"
Required for state=present. Type of server being used to install the extension (SOAP, REST, HTTP, etc.).
ssl_thumbprint
-
Required for state=present. SSL thumbprint of the extension hosting server.
state
-
    Choices:
  • absent
  • present ←
Add or remove vCenter Extension.
url
-
Required for state=present. Link to server hosting extension zip file to install.
username
string
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 Ansible 2.6.

aliases: admin, user
validate_certs
boolean
    Choices:
  • no
  • yes ←
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 Ansible 2.6.
If set to yes, please make sure Python >= 2.7.9 is installed on the given machine.
version
- / required
The version of the extension you are installing or uninstalling.
visible
boolean
    Choices:
  • no
  • yes ←
Show the extension in solution manager inside vCenter.

Notes

Note

  • Tested on vSphere 6.5

Examples

- name: Register vCenter Extension
  vcenter_extension:
     hostname: "{{ groups['vcsa'][0] }}"
     username: "{{ vcenter_username }}"
     password: "{{ site_password }}"
     extension_key: "{{ extension_key }}"
     version: "1.0"
     company: "Acme"
     name: "Acme Extension"
     description: "acme management"
     email: "[email protected]"
     url: "https://10.0.0.1/ACME-vSphere-web-plugin-1.0.zip"
     ssl_thumbprint: "{{ ssl_thumbprint }}"
     state: present
  delegate_to: localhost
  register: register_extension

- name: Deregister vCenter Extension
  vcenter_extension:
     hostname: "{{ groups['vcsa'][0] }}"
     username: "{{ vcenter_username }}"
     password: "{{ site_password }}"
     extension_key: "{{ extension_key }}"
     version: "1.0"
     state: absent
  delegate_to: localhost
  register: deregister_extension

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
result
string
always
information about performed operation

Sample:
'com.acme.Extension' installed.


Status

Authors

  • Michael Tipton (@castawayegr)

Hint

If you notice any issues in this documentation you can edit this document to improve it.