# vmware_export_ovf – Exports a VMware virtual machine to an OVF file, device files and a manifest file

New in version 2.8.

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

## Synopsis

- This module can be used to export a VMware virtual machine to OVF template from vCenter server or ESXi host.

## Requirements

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

- python >= 2.6
- PyVmomi

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
datacenter string | Default: "ha-datacenter" | Datacenter name of the virtual machine to export. This parameter is case sensitive.
download_timeout integer added in 2.9 | Default: 10 | The user defined timeout in minute of exporting file. If the vmdk file is too large to export in 10 minutes, specify the value larger than 10, the maximum value is 60.
export_dir path / required |  | Absolute path to place the exported files on the server running this task, must have write permission. If folder not exist will create it, also create a folder under this path named with VM name.

export_with_images
boolean

Choices:
- no ←
- yes

Export an ISO image of the media mounted on the CD/DVD Drive within the virtual machine.

folder
string

Destination folder, absolute path to find the specified guest.
The folder should include the datacenter. ESX's datacenter is ha-datacenter.
This parameter is case sensitive.
If multiple machines are found with same name, this parameter is used to identify uniqueness of the virtual machine. version_added 2.5
Examples:
folder: /ha-datacenter/vm
folder: ha-datacenter/vm
folder: /datacenter1/vm
folder: datacenter1/vm
folder: /datacenter1/vm/folder1
folder: datacenter1/vm/folder1
folder: /folder1/datacenter1/vm
folder: folder1/datacenter1/vm
folder: /folder1/datacenter1/vm/folder2

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.
moid string added in 2.9 |  | Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance. This is required if `name` or `uuid` is not supplied.
name string |  | Name of the virtual machine to export. This is a required parameter, if parameter `uuid` or `moid` is not supplied.
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.
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
uuid string |  | Uuid of the virtual machine to export. This is a required parameter, if parameter `name` or `moid` is not supplied.

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.

## Examples

    - vmware_export_ovf:
        validate_certs: false
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        name: '{{ vm_name }}'
        export_with_images: true
        export_dir: /path/to/ovf_template/
      delegate_to: localhost

## Return Values

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

Key | Returned | Description
--- | --- | ---
instance dictionary | always | list of the exported files, if exported from vCenter server, device file is not named with vm name Sample: None

## Status

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

### Authors

- Diane Wang (@Tomorrow9) <dianew@vmware.com>

Hint

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