<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="/var/opt/SUNWldom/envelope" xmlns:ovf="/var/opt/SUNWldom/envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="ovf-section.xsd"/> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <!-- A user defined annotation on an entity --> <xs:complexType name="AnnotationSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <!-- Several localized annotations can be included --> <xs:element name="Annotation" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Product information about a virtual appliance --> <xs:complexType name="ProductSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Product" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Vendor" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Version" type="xs:string" minOccurs="0"/> <xs:element name="Full-version" type="xs:string" minOccurs="0"/> <xs:element name="ProductUrl" type="xs:string" minOccurs="0"/> <xs:element name="VendorUrl" type="xs:string" minOccurs="0"/> <xs:element name="AppUrl" type="xs:string" minOccurs="0"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Configuration parameters that can be passed to the virtual machine for application-level configuration --> <xs:complexType name="PropertySection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Property" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="Description" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="key" type="xs:string"/> <xs:attribute name="type" type="xs:string"/> <xs:attribute name="configurableByUser" type="xs:boolean" use="optional"/> <xs:attribute name="configurableAtRuntime" type="xs:boolean" use="optional"/> <xs:attribute name="defaultValue" type="xs:string" use="optional"/> <xs:anyAttribute namespace="##any"/> </xs:complexType> </xs:element> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <!-- A comma-separated list of transports that are supported by the virtual machine to access the OVF environment. --> <xs:attribute name="transport" type="xs:string" use="optional"/> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Provides descriptions for the logical networks used within the package. These descriptions are typically used as an aid when the package is deployed. --> <xs:complexType name="NetworkSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Network" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="Description" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:anyAttribute namespace="##any"/> </xs:complexType> </xs:element> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Provides meta-information description of the virtual disks in the package --> <xs:complexType name="DiskSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Disk" type="ovf:VirtualDiskDesc_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Disk --> <xs:complexType name="VirtualDiskDesc_Type"> <!-- A logical ID for the virtual disk within this package --> <xs:attribute name="diskId" type="xs:string" use="required"/> <!-- A file reference to the virtual disk file. If this is not specified a blank virtual disk is created of the given size --> <xs:attribute name="fileRef" type="xs:string" use="optional"/> <!-- Capacity in bytes. The capacity can be specified as either a size or as a reference to a property using $(property_name) --> <xs:attribute name="capacity" type="xs:string" use="required"/> <!-- Format of the disk. The format is an URL that identifies the disk type, e.g., http://www.vmware.com/format/vmdk.html#sparse --> <xs:attribute name="format" type="xs:string" use="required"/> <!-- Populated size of disk. This is an estimation of how much storage the disk needs if backed by a non pre-allocated (aka. sparse) disk. This size does not take the meta-data into account used by a sparse disk. --> <xs:attribute name="populatedSize" type="xs:long" use="optional"/> <!-- Reference to a potential parent disk --> <xs:attribute name="parentRef" type="xs:string" use="optional"/> </xs:complexType> <!-- CPU Architecture requirements for the guest software. --> <xs:complexType name="CpuCompatibilitySection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Level" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="level" type="xs:int" use="optional"/> <xs:attribute name="eax" type="xs:string" use="optional"/> <xs:attribute name="ebx" type="xs:string" use="optional"/> <xs:attribute name="ecx" type="xs:string" use="optional"/> <xs:attribute name="edx" type="xs:string" use="optional"/> </xs:complexType> </xs:element> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Vendor" type="xs:string"/> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- Specification of the operating system installed in the guest --> <xs:complexType name="OperatingSystemSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="Description" type="ovf:Info_Type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <!-- The IDs are the enumeration used in CIM_OperatingSystem_Type --> <xs:attribute name="id" type="xs:string"/> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- End-User License Agreement --> <xs:complexType name="EulaSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <!-- Contains the license agreement in plain text. Several different locales can be specified --> <xs:element name="License" type="ovf:Info_Type" minOccurs="1" maxOccurs="unbounded"/> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- For a VirtualSystemCollection, this section is used to specify the order in which the contained entities are to be powered on. --> <xs:complexType name="StartupSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:element name="item" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <!-- Id of entity in collection --> <xs:attribute name="id" type="xs:string"/> <!-- Startup order. Entities are started up starting with lower-numbers first. Items with same order identifier may be started up concurrently or in any order. The order is reversed for shutdown. --> <xs:attribute name="order" type="xs:int"/> <!-- Delay in seconds to wait for the power on to complete --> <xs:attribute name="startDelay" type="xs:int"/> <!-- Whether to resume power-on sequence, once the guest reports ok. --> <xs:attribute name="waitingForGuest" type="xs:boolean"/> <!-- Delay in seconds to wait for the power on to complete --> <xs:attribute name="stopDelay" type="xs:int"/> <!-- Stop action to use. Valid values are: 'powerOn' (default), 'none'. --> <xs:attribute name="startAction" type="xs:string"/> <!-- Stop action to use. Valid values are: 'powerOff' (default), 'guestShutdown', 'suspend'. --> <xs:attribute name="stopAction" type="xs:string"/> <xs:anyAttribute namespace="##any"/> </xs:complexType> </xs:element> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <!-- A comma-separated list of transports that the virtual machine supports to provide feedback. --> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- If this section is present, it indicates that the virtual machine needs to be initially booted to install and configure the software. --> <xs:complexType name="InstallSection_Type"> <xs:complexContent> <xs:extension base="ovf:Section_Type"> <xs:sequence> <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <!-- A comma-separated list of transports that the virtual machine supports to provide feedback. --> <xs:attribute name="transport" type="xs:string"/> <xs:anyAttribute namespace="##any"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> |