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

Note

This plugin is part of the community.vmware collection.

To install it use: ansible-galaxy collection install community.vmware.

To use it in a playbook, specify: community.vmware.vmware_export_ovf.

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
Default:
30
The user defined timeout in second of exporting file.
If the vmdk file is too large, you can increase the value.
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 datacenter is ha-datacenter.
This parameter is case sensitive.
If multiple machines are found with same name, this parameter is used to identify
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
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
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
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
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

- community.vmware.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


Authors