vcenter_ovf_libraryitem
Creates a library item in content library from a virtual machine or virtual appliance
Collection: vmware.vmware_rest
Full Name: vmware.vmware_rest.vcenter_ovf_libraryitem
Synopsis
Creates a library item in content library from a virtual machine or virtual appliance
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| vcenter_hostname | string | yes | The hostname or IP address of the vSphere vCenter | |
| If the value is not specified in the task, the value of environment variable C(VMWARE_HOST) will be used instead. | ||||
| vcenter_username | string | yes | The vSphere vCenter username | |
| If the value is not specified in the task, the value of environment variable C(VMWARE_USER) will be used instead. | ||||
| vcenter_password | string | yes | The vSphere vCenter password | |
| If the value is not specified in the task, the value of environment variable C(VMWARE_PASSWORD) will be used instead. | ||||
| vcenter_validate_certs | bool | true | Allows connection when SSL certificates are not valid. Set to C(false) when certificates are not trusted. | |
| If the value is not specified in the task, the value of environment variable C(VMWARE_VALIDATE_CERTS) will be used instead. | ||||
| vcenter_rest_log_file | string | You can use this optional parameter to set the location of a log file. | ||
| This file will be used to record the HTTP REST interaction. | ||||
| The file will be stored on the host that runs the module. | ||||
| If the value is not specified in the task, the value of | ||||
| environment variable C(VMWARE_REST_LOG_FILE) will be used instead. | ||||
| session_timeout | float | Timeout settings for client session. | ||
| The maximal number of seconds for the whole operation including connection establishment, request sending and response. | ||||
| The default value is 300s. | ||||
| client_token | string | Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried. | ||
| If unset, the server will create a token. | ||||
| create_spec | dict | Information used to create the OVF package from the source virtual machine or virtual appliance. Required with I(state=[‘present’]) | ||
| Valid attributes are: |
- C(name) (str): Name to use in the OVF descriptor stored in the library item. If unset, the server will use source’s current name. ([‘present’])
- C(description) (str): Description to use in the OVF descriptor stored in the library item. If unset, the server will use source’s current annotation. ([‘present’])
- C(flags) (list): Flags to use for OVF package creation. The supported flags can be obtained using ExportFlag.list. If unset, no flags will be used. ([‘present’]) | | deployment_spec | dict | | | Specification of how the OVF package should be deployed to the target. Required with I(state=[‘deploy’]) Valid attributes are:
- C(name) (str): Name assigned to the deployed target virtual machine or virtual appliance. If unset, the server will use the name from the OVF package. ([‘deploy’])
- C(annotation) (str): Annotation assigned to the deployed target virtual machine or virtual appliance. If unset, the server will use the annotation from the OVF package. ([‘deploy’])
- C(accept_all_EULA) (bool): Whether to accept all End User License Agreements. See I() ([‘deploy’]) This key is required with [‘deploy’].
- C(network_mappings) (dict): Specification of the target network to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the map is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target network to be used for deployment. If unset, the server will choose a network mapping. When clients pass a value of this structure as a parameter, the value in the field map must be the id of a resource returned by M(vmware.vmware_rest.vcenter_network_info). ([‘deploy’])
- C(storage_mappings) (dict): Specification of the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor. The key in the map is the section identifier of the ovf:StorageGroupSection section in the OVF descriptor and the value is the target storage specification to be used for deployment. See I() If unset, the server will choose a storage mapping. ([‘deploy’])
- C(storage_provisioning) (str): This option defines the virtual disk provisioning types that can be set for a disk on the target platform. ([‘deploy’])
- Accepted values:
- eagerZeroedThick
- thick
- thin
- Accepted values:
- C(storage_profile_id) (str): Default storage profile to use for all sections of type vmw:StorageSection in the OVF descriptor. If unset, the server will choose the default profile. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.vcenter_storage_policies_info). ([‘deploy’])
- C(locale) (str): The locale to use for parsing the OVF descriptor. If unset, the server locale will be used. ([‘deploy’])
- C(flags) (list): Flags to be use for deployment. The supported flag values can be obtained using ImportFlag.list. If unset, no flags will be used. ([‘deploy’])
- C(additional_parameters) (list): Additional OVF parameters that may be needed for the deployment. Additional OVF parameters may be required by the OVF descriptor of the OVF package in the library item. Examples of OVF parameters that can be specified through this field include, but are not limited to:
- DeploymentOptionParams
- ExtraConfigParams
- IpAllocationParams
- PropertyParams
- ScaleOutParams
- VcenterExtensionParams
If unset, the server will choose default settings for all parameters necessary for the LibraryItem.deploy operation. See LibraryItem.deploy. When clients pass a value of this structure as a parameter, the field must contain all the attributes defined in OvfParams. ([‘deploy’])
- C(default_datastore_id) (str): Default datastore to use for all sections of type vmw:StorageSection in the OVF descriptor. If unset, the server will choose the default datastore. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.vcenter_datastore_info). ([‘deploy’])
- C(vm_config_spec) (dict): The I(resource_pool_deployment_spec).vm-config-spec is used for virtual machine configuration settings including hardware specifications to use in place of the OVF descriptor. If set, the OVF descriptor acts as a disk descriptor. Fields in the I(resource_pool_deployment_spec) parameters such as I(resource_pool_deployment_spec).name that overlap with settings in the I(resource_pool_deployment_spec).vm-config-spec are not overridden and will continue to be used. Similarly, storage settings in the I(resource_pool_deployment_spec) that affect the disks on the virtual machine namely I(resource_pool_deployment_spec).storage-mappings, I(resource_pool_deployment_spec).storage-profile-id, I(resource_pool_deployment_spec).storage-provisioning and I(resource_pool_deployment_spec).default-datastore-id will also be honored.
If unset, the relevant virtual machine specifications in the OVF descriptor of the OVF template will be used. ([‘deploy’])
- Accepted keys:
- provider (string): The I(vm_config_spec_provider) is used to provide the optional I(vm_config_spec) used when deploying an OVF template.
Accepted value for this field:
- C(XML)
- xml (string): The I(xml) is a conditional configuration made available upon selecting the XML. It is used to pass in a vim.vm.ConfigSpec for a virtual machine that has been serialized to XML and base64 encoded. This field is optional and it is only relevant when the value of I(provider) is XML. | | ovf_library_item_id | string | | | Identifier of the content library item containing the OVF package to be deployed. The parameter must be the id of a resource returned by M(vmware.vmware_rest.content_library_item_info). Required with I(state=[‘deploy’, ‘filter’]) | | source | dict | | | Identifier of the virtual machine or virtual appliance to use as the source. Required with I(state=[‘present’]) Valid attributes are:
- provider (string): The I(vm_config_spec_provider) is used to provide the optional I(vm_config_spec) used when deploying an OVF template.
Accepted value for this field:
- Accepted keys:
- C(type) (str): Type of the deployable resource. When clients pass a value of this structure as a parameter, the field must be one of VirtualMachine or VirtualApp. ([‘present’]) This key is required with [‘present’].
- C(id) (str): Identifier of the deployable resource.
When clients pass a value of this structure as a parameter, the field must be an identifier for one of these resource types: VirtualMachine or VirtualApp. ([‘present’])
This key is required with [‘present’]. |
| state | string | |
present| Operation to perform; allowed values: deploy, filter, present. | | target | dict | yes | | Specification of the target content library and library item. This parameter is mandatory. Valid attributes are: - C(library_id) (str): Identifier of the library in which a new library item should be created. This field is not used if the I(library_item_id) field is specified. This field is currently required. In the future, if unset, the I(library_item_id) field must be specified.
When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.content_library_info). ([‘present’])
- C(library_item_id) (str): Identifier of the library item that should be should be updated. If unset, a new library item will be created. The I(library_id) field must be specified if this field is set. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.content_library_item_info). ([‘present’])
- C(resource_pool_id) (str): Identifier of the resource pool to which the virtual machine or virtual appliance should be attached. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.vcenter_resourcepool_info). ([‘deploy’, ‘filter’]) This key is required with [‘deploy’, ‘filter’].
- C(host_id) (str): Identifier of the target host on which the virtual machine or virtual appliance will run. The target host must be a member of the cluster that contains the resource pool identified by I() If unset, the server will automatically select a target host from the resource pool if I(resource_pool_id) is a stand-alone host or a cluster with Distributed Resource Scheduling (DRS) enabled. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.vcenter_host_info). ([‘deploy’, ‘filter’])
- C(folder_id) (str): Identifier of the vCenter folder that should contain the virtual machine or virtual appliance. The folder must be virtual machine folder. If unset, the server will choose the deployment folder. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by M(vmware.vmware_rest.vcenter_folder_info). ([‘deploy’, ‘filter’]) |
Example
yaml
---
- name: Export the VM as an OVF on the library
vmware.vmware_rest.vcenter_ovf_libraryitem:
session_timeout: 2900
source:
type: VirtualMachine
id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
target:
library_id: 1111111-1111111-1111111-111111
create_spec:
name: Golden Image
description: A golden image for templating
flags: []
state: present
# Due to an issue with the generated module code and the REST API limitations,
# updating existing template descriptions must be done by removing the create_spec.name
# attribute.
#
# Note that omitting the create_spec.name attribute will force the OVF template to be replaced.
# Thus, the second task will always report as changed
- name: Export the VM as an OVF on the library
vmware.vmware_rest.vcenter_ovf_libraryitem:
session_timeout: 2900
source:
type: VirtualMachine
id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
target:
library_id: 1111111-1111111-1111111-111111
create_spec:
name: Golden Image
description: Some unhelpful description
flags: []
state: present
register: _ovf_item
- name: Update The Template Description
vmware.vmware_rest.vcenter_ovf_libraryitem:
session_timeout: 2900
source:
type: VirtualMachine
id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
target:
library_id: 1111111-1111111-1111111-111111
library_item_id: "{{ _ovf_item.value.ovf_library_item_id }}"
create_spec:
description: A much better description for this template
flags: []