A vApp object contains one or morevirtual machines, and provides detailed specifications of those virtual machines and thenetworks to which they connect. The VMware CloudDirector API supports programmatic access to a range of self-servicedatacenter operations that allow users to create, configure, deploy, and operate vApps.
The initial configuration of a vApp and the virtualmachines it contains is established in the OVF package on which its source templateis based. In the VMware CloudDirector API, vApp templates are based on OVF 1.0. These templatescan be retrieved from catalogs and transformed into virtual systems, called vApps,through a process called instantiation, which binds a template’s abstract resourcerequirements to resources available in a VDC.
After a vApp has been created, using any of the methodsdescribed in About Instantiation, you can makefurther changes to its configuration using procedures like the ones shown in Reconfiguring vApps and Virtual Machines.All configuration changes you make during instantiation or reconfiguration arediscarded when the vApp is deleted, but you can preserve them by capturing the vAppas a template See Capture a vApp as a Template.
Starting with vCloudDirector 9.5, vApps and virtual machines support IPv6connectivity. You can assign IPv6 addresses to virtual machines connected to IPv6networks.
About OVF
OVF is a widely accepted standard format that applies to many virtualization technologies.
- Virtual machines and appliances are distributed as OVF packages by many vendors.
- Many vendors, including VMware, offer tools thatsimplify creating and customizing OVF, support converting virtual machines onexisting virtualization platforms to OVF, or both.
- OVF can express the complex relationships between virtual appliances in enterprise applications. The author of the appliance can handle most of the complexity, rather than the user who deploys it.
- OVF is extensible, allowing new policies andrequirements to be inserted by ISVs and implemented by the virtualizationplatforms that support them without requiring changes to other clients, otherplatforms, or the VMware CloudDirector API itself.
Administrators and advanced users should becomefamiliar with the details of the OVF standard before developing applications withthe VMware CloudDirector API. Thecomplete OVF specification document is available at http://www.dmtf.org/standards/published_documents/DSP0243_1.0.0.pdf. Aninformative white paper on OVF is available at http://www.dmtf.org/standards/published_documents/DSP2017_1.0.0.pdf.
A virtual machine is typically made up of one or morevirtual disk files that contain the operating system and applications that run onthe virtual machine, and a configuration file containing metadata that describe howthe virtual machine is configured and deployed. An OVF package includes thesecomponents, as well as optional certificate and manifest files. The package can bedistributed and stored as a collection of individual files, or as a single archive(OVA) file. The VMware CloudDirector API supports upload and download of OVF files. It alsosupports download, but not upload, of OVA files.
About DMTF, CIM, and RASD
Virtual hardware in OVF packages elements is definedusing an open standard framework established by the Distributed Management TaskForce (DMTF). This framework, called the Common Information Model (CIM), definesvirtual hardware resources using the ResourceAllocationSettingData (RASD) schema. Inthis schema, each class of virtual hardware is represented as an Item element with aspecific ResourceType. Many VMware CloudDirector API operations that deploy and configure vApps andvirtual machines require you to understand and sometimes modify RASD Item elements.
You can download the RASD schema files and related information from http://www.dmtf.org/standards/cim/cim_schema_v2191
vApp Life Cycle
A vApp contains one or more Vm elements, whichrepresent individual virtual machines. It also contains information that definesoperational details for the vApp and the virtual machines that it contains. The vApplifecycle includes several distinct states:
- An OVF package, the form in which vApps aretypically distributed.
- A vApp template, created when a client uploads an OVF package to a catalog.
- An undeployed vApp, created when a vApp template is instantiated without also being deployed, or a deployed vApp is undeployed.
- A deployed vApp, ready to be powered on and operated. Instantiation can include deployment, power-on, or both.
For a full list of the VMware CloudDirector API user operations,see the Cloud API SchemaReference at https://code.vmware.com.