<?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>
|