vmware_deploy_ovf – Deploys a VMware virtual machine from an OVF or OVA file¶
New in version 2.7.
Synopsis¶
This module can be used to deploy a VMware VM from an OVF or OVA file
Requirements¶
The below requirements are needed on the host that executes this module.
pyvmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
allow_duplicates
boolean
|
|
Whether or not to allow duplicate VM names. ESXi allows duplicates, vCenter may not.
|
cluster
string
|
Cluster to deploy to.
|
|
datacenter
string
|
Default: "ha-datacenter"
|
Datacenter to deploy to.
|
datastore
string
|
Default: "datastore1"
|
Datastore to deploy to.
|
deployment_option
string
|
The key of the chosen deployment option.
|
|
disk_provisioning
string
|
|
Disk provisioning type.
|
fail_on_spec_warnings
boolean
|
|
Cause the module to treat OVF Import Spec warnings as errors.
|
folder
string
|
Absolute path of folder to place the virtual machine.
If not specified, defaults to the value of
datacenter.vmFolder .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.
|
|
inject_ovf_env
boolean
added in 2.8 |
|
Force the given properties to be inserted into an OVF Environment and injected through VMware Tools.
|
name
string
|
Name of the VM to work with.
Virtual machine names in vCenter are not necessarily unique, which may be problematic.
|
|
networks
dictionary
|
Default: {"VM Network": "VM Network"}
|
key: value mapping of OVF network name, to the vCenter network name. |
ovf
-
|
Path to OVF or OVA file to deploy.
aliases: ova |
|
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.
|
power_on
boolean
|
|
Whether or not to power on the virtual machine after creation.
|
properties
dictionary
|
The assignment of values to the properties found in the OVF as key value pairs.
|
|
resource_pool
string
|
Default: "Resources"
|
Resource Pool to deploy to.
|
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
|
|
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. |
wait
boolean
|
|
Wait for the host to power on.
|
wait_for_ip_address
boolean
|
|
Wait until vCenter detects an IP address for the VM.
This requires vmware-tools (vmtoolsd) to properly work after creation.
|
Examples¶
- vmware_deploy_ovf:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
ovf: /path/to/ubuntu-16.04-amd64.ovf
wait_for_ip_address: true
delegate_to: localhost
# Deploys a new VM named 'NewVM' in specific datacenter/cluster, with network mapping taken from variable and using ova template from an absolute path
- vmware_deploy_ovf:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: Datacenter1
cluster: Cluster1
datastore: vsandatastore
name: NewVM
networks: "{u'VM Network':u'{{ ProvisioningNetworkLabel }}'}"
validate_certs: no
power_on: no
ovf: /absolute/path/to/template/mytemplate.ova
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 |
metadata about the new virtual machine
Sample:
None
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]