# vcenter_extension – Register/deregister vCenter Extensions

New in version 2.8.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## 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 string | Default: "vsphere-client-serenity" | Required for `state=present`. Type of client the extension is (win32, .net, linux, etc.).
company string |  | Required for `state=present`. The name of the company that makes the extension.
description string |  | Required for `state=present`. A short description of the extension.
email string |  | Required for `state=present`. Administrator email to use for extension.
extension_key string / 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 string |  | 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.
proxy_host string added in 2.9 |  | Address of a proxy that will receive all HTTPS requests and relay them. The format is a hostname or a IP. If the value is not specified in the task, the value of environment variable `VMWARE_PROXY_HOST` will be used instead. This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
proxy_port integer added in 2.9 |  | Port of the HTTP proxy that will receive all HTTPS requests and relay them. If the value is not specified in the task, the value of environment variable `VMWARE_PROXY_PORT` will be used instead.
server_type string | Default: "vsphere-client-serenity" | Required for `state=present`. Type of server being used to install the extension (SOAP, REST, HTTP, etc.).
ssl_thumbprint string |  | Required for `state=present`. SSL thumbprint of the extension hosting server.

state
string

Choices:
- absent
- present ←

Add or remove vCenter Extension.

url string |  | 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 string / 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: "user@example.com"
         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

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Michael Tipton (@castawayegr)

Hint

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