997 lines
48 KiB
XML
997 lines
48 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
DMTF - Distributed Management Task Force, Inc. - http://www.dmtf.org
|
|
|
|
Document number: DSP8023
|
|
Date: 2009-12-22
|
|
Version: 1.1.0
|
|
Document status: DMTF Standard
|
|
|
|
Title: OVF XML Schema Specification for OVF Envelope
|
|
|
|
Document type: Specification (W3C XML Schema)
|
|
Document language: E
|
|
|
|
Contact group: tm-redundancy@dmtf.org
|
|
|
|
Copyright (C) 2008,2009 Distributed Management Task Force, Inc. (DMTF). All rights reserved.
|
|
DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and
|
|
systems management and interoperability. Members and non-members may reproduce DMTF specifications
|
|
and documents for uses consistent with this purpose, provided that correct attribution is given. As
|
|
DMTF specifications may be revised from time to time, the particular version and release date should
|
|
always be noted. Implementation of certain elements of this standard or proposed standard may be
|
|
subject to third party patent rights, including provisional patent rights (herein "patent rights").
|
|
DMTF makes no representations to users of the standard as to the existence of such rights, and is
|
|
not responsible to recognize, disclose, or identify any or all such third party patent right, owners
|
|
or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights,
|
|
owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance,
|
|
under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third
|
|
party patent rights, or for such party's reliance on the standard or incorporation thereof in its
|
|
product, protocols or testing procedures. DMTF shall have no liability to any party implementing
|
|
such standard, whether such implementation is foreseeable or not, nor to any patent owner or
|
|
claimant, and shall have no liability or responsibility for costs or losses incurred if a standard
|
|
is withdrawn or modified after publication, and shall be indemnified and held harmless by any party
|
|
implementing the standard from any and all claims of infringement by a patent owner for such
|
|
implementations. For information about patents held by third-parties which have notified the DMTF
|
|
that, in their opinion, such patent may relate to or impact implementations of DMTF standards, visit
|
|
http://www.dmtf.org/about/policies/disclosures.php.
|
|
|
|
Change log:
|
|
1.0.0 - 2009-01-15 - DMTF Standard
|
|
1.1.0a - 2009-08-06 - Work in progress
|
|
- Added optional xml:lang attribute on Envelope element
|
|
- Added optional ovf:id attribute on VirtualHardwareSection element
|
|
- Added declaration of top-level Strings element
|
|
- Updated DMTF header
|
|
1.1.0b - 2009-09-15 - Work in progress
|
|
- Added optional ovf:password attribute on Property element
|
|
1.1.0c - 2009-10-08 - Work in progress
|
|
- Declared ovf:transport as global attribute
|
|
1.1.0 - 2009-12-22 - DMTF Standard
|
|
-->
|
|
<xs:schema
|
|
targetNamespace="http://schemas.dmtf.org/ovf/envelope/1"
|
|
xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common"
|
|
xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
|
|
xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
|
|
attributeFormDefault="qualified"
|
|
elementFormDefault="qualified">
|
|
|
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
schemaLocation="xml.xsd"/>
|
|
|
|
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common"
|
|
schemaLocation="common.xsd"/>
|
|
|
|
<xs:import
|
|
namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
|
|
schemaLocation="CIM_VirtualSystemSettingData.xsd"/>
|
|
<xs:import
|
|
namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
|
|
schemaLocation="CIM_ResourceAllocationSettingData.xsd"/>
|
|
|
|
<xs:attribute name="required" type="xs:boolean" default="true">
|
|
<xs:annotation>
|
|
<xs:documentation>Determines whether import should fail if the Section is
|
|
not understood</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="transport" type="xs:string" default="">
|
|
<xs:annotation>
|
|
<xs:documentation>Comma-separated list of supported transport types</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:element name="Envelope" type="ovf:EnvelopeType">
|
|
<xs:annotation>
|
|
<xs:documentation>Root element of OVF Descriptor</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="EnvelopeType">
|
|
<xs:annotation>
|
|
<xs:documentation>Root OVF descriptor type</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:element name="References" type="ovf:References_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>References to all external files</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element ref="ovf:Section" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Package level meta-data</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element ref="ovf:Content">
|
|
<xs:annotation>
|
|
<xs:documentation>Content: A VirtualSystem or a
|
|
VirtualSystemCollection</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Strings" type="ovf:Strings_Type" minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Localized string resource bundles
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- xs:any with namespace ##other extension point not present here,
|
|
extensions at outermost Envelope level should be done by defining
|
|
new members of the ovf:Section substitution group -->
|
|
</xs:sequence>
|
|
<xs:attribute ref="xml:lang" use="optional" default="en-US"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="References_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for list of external resources</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:element name="File" type="ovf:File_Type" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="File_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for an external reference to a
|
|
resource</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Reference key used in other parts of the
|
|
package</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="href" type="xs:anyURI" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Location of external resource</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="size" type="xs:unsignedLong" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Size in bytes of the files (if
|
|
known)</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="compression" type="xs:string" default="" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Compression type (gzip, bzip2, or none if empty or not
|
|
specified)</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="chunkSize" type="xs:long" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Chunk size (except for last chunk)</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="Content" type="ovf:Content_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Base element for content types. This is the head the
|
|
subsitution group</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="Content_Type" abstract="true">
|
|
<xs:annotation>
|
|
<xs:documentation>Base class for content</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:element name="Info" type="ovf:Msg_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Info element describes the meaning of the content,
|
|
this is typically shown if the type is not understood by an
|
|
application</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Name" type="ovf:Msg_Type" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>An optional localizable display name of the content
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element ref="ovf:Section" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Content body is a list of Sections
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- xs:any with namespace ##other extension point not present here,
|
|
extensions at Content level should be done by defining new members
|
|
of the ovf:Section substitution group -->
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:string" use="required"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="VirtualSystem" type="ovf:VirtualSystem_Type"
|
|
substitutionGroup="ovf:Content">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Content since VirtualSystem_Type
|
|
is a derivation of Content_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="VirtualSystem_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Content describing a virtual system</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Content_Type"/>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="VirtualSystemCollection" type="ovf:VirtualSystemCollection_Type"
|
|
substitutionGroup="ovf:Content">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Content since VirtualSystemCollection_Type
|
|
is a derivation of Content_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="VirtualSystemCollection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>A collection of Content.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Content_Type">
|
|
<xs:sequence>
|
|
<xs:element ref="ovf:Content" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<!-- STRINGS -->
|
|
|
|
<xs:element name="Strings" type="ovf:Strings_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Root element of I18N string bundle</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="Strings_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for string resource bundle</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:element name="Msg" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Resource bundle element</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>String element value</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="msgid" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>String element identifier
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute ref="xml:lang">
|
|
<xs:annotation>
|
|
<xs:documentation>Locale for this string resource
|
|
bundle</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="fileRef" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Reference to external resource
|
|
bundle</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<!--- SECTION -->
|
|
|
|
<xs:element name="Section" type="ovf:Section_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Base elements for OVF sections. This is the head of the
|
|
substitution group.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="Section_Type" abstract="true">
|
|
<xs:sequence>
|
|
<xs:annotation>
|
|
<xs:documentation>Base type for Sections, subclassing this is the most
|
|
common form of extensibility. Subtypes define more specific
|
|
elements.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:element name="Info" type="ovf:Msg_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Info element describes the meaning of the Section,
|
|
this is typically shown if the Section is not understood by an
|
|
application</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute ref="ovf:required" use="optional"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="Msg_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for localizable string</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>Default string value</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="msgid" type="xs:string" default="" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Identifier for lookup in string resource bundle
|
|
for alternate locale</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<!-- CORE SECTIONS -->
|
|
|
|
<xs:element name="AnnotationSection" type="ovf:AnnotationSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since
|
|
AnnotationSection_Type is a derivation of Section_Type
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="AnnotationSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>User defined annotation</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Annotation" type="ovf:Msg_Type"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="ProductSection" type="ovf:ProductSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since ProductSection_Type
|
|
is a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="ProductSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Product information for a virtual
|
|
appliance</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Product" type="ovf:Msg_Type" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Name of product</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Vendor" type="ovf:Msg_Type" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Name of product vendor</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Version" type="cim:cimString" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Product version, short form</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="FullVersion" type="cim:cimString" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Product version, long form</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ProductUrl" type="cim:cimString" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>URL resolving to product description</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="VendorUrl" type="cim:cimString" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>URL resolving to vendor description</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="AppUrl" type="cim:cimString" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Experimental: URL resolving to deployed product instance</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Icon" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Experimental: Display icon for product</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attribute name="height" type="xs:unsignedShort" use="optional"/>
|
|
<xs:attribute name="width" type="xs:unsignedShort" use="optional"/>
|
|
<xs:attribute name="mimeType" type="xs:string" use="optional"/>
|
|
<xs:attribute name="fileRef" type="xs:string" use="required"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Properties for application-level
|
|
customization</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:element name="Category" type="ovf:Msg_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Property grouping
|
|
delimiter</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Property">
|
|
<xs:annotation>
|
|
<xs:documentation>Property element</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Label" type="ovf:Msg_Type"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Short description of
|
|
property</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Description" type="ovf:Msg_Type"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Description of
|
|
property</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Value"
|
|
type="ovf:PropertyConfigurationValue_Type"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Alternative default
|
|
property values for different
|
|
configuration</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="key" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Property
|
|
identifier</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="type" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Property
|
|
type</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="qualifiers" type="xs:string"
|
|
use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>A comma-separated set of type
|
|
qualifiers</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="userConfigurable" type="xs:boolean"
|
|
default="false" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Determines whether the property
|
|
value is configurable during
|
|
installation</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="value" type="xs:string"
|
|
use="optional" default="">
|
|
<xs:annotation>
|
|
<xs:documentation>Default value for
|
|
property</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="password" type="xs:boolean"
|
|
default="false" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Determines whether the property
|
|
value should be obscured during deployment
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="class" type="xs:string" default="" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Property identifier prefix</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="instance" type="xs:string" default="" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Property identifier suffix</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="PropertyConfigurationValue_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for alternative default values for properties when
|
|
DeploymentOptionSection is used</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="value" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Alternative default property value</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="configuration" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Configuration from DeploymentOptionSection in which
|
|
this value is default</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="NetworkSection" type="ovf:NetworkSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since NetworkSection_Type
|
|
is a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="NetworkSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Descriptions of logical networks used within the
|
|
package</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Network" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Description" type="ovf:Msg_Type"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="DiskSection" type="ovf:DiskSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since DiskSection_Type is
|
|
a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="DiskSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Descriptions of virtual disks used within the
|
|
package</xs:documentation>
|
|
</xs:annotation>
|
|
<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="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="VirtualDiskDesc_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Type for virtual disk descriptor</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="diskId" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Identifier for virtual disk</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="fileRef" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Reference to virtual disk content. If not specified a
|
|
blank virtual disk is created of size given by capacity
|
|
attribute</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="capacity" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Virtual disk capacity, can be specified as either an
|
|
xs:long size or as a reference to a property using ${property_name}.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="capacityAllocationUnits" type="xs:string" default="byte" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Unit of allocation for ovf:capacity. If not specified
|
|
default value is bytes. Value shall match a recognized value for the
|
|
UNITS qualifier in DSP0004.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="format" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Format of virtual disk given as a URI that identifies
|
|
the disk type</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="populatedSize" type="xs:long" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Estimated populated size of disk in
|
|
bytes</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="parentRef" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Reference to potential parent disk</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="OperatingSystemSection" type="ovf:OperatingSystemSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since
|
|
OperatingSystemSection_Type is a derivation of Section_Type
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="OperatingSystemSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Specification of the operating system installed in the
|
|
guest</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Description" type="ovf:Msg_Type" minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:unsignedShort" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Identifier defined by the
|
|
CIM_OperatingSystem.OsType enumeration</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="version" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Version defined by the
|
|
CIM_OperatingSystem.Version field</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="EulaSection" type="ovf:EulaSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since EulaSection_Type is
|
|
a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="EulaSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>End-User License Agreement</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="License" type="ovf:Msg_Type"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="VirtualHardwareSection" type="ovf:VirtualHardwareSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since
|
|
VirtualHardwareSection_Type is a derivation of Section_Type
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="VirtualHardwareSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Specifies virtual hardware requirements for a virtual
|
|
machine</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="System" type="ovf:VSSD_Type" minOccurs="0"/>
|
|
<xs:element name="Item" type="ovf:RASD_Type" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" default="" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Unique identifier of this VirtualHardwareSection
|
|
(within a VirtualSystem)</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute ref="ovf:transport" use="optional"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="ResourceAllocationSection"
|
|
type="ovf:ResourceAllocationSection_Type" substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since
|
|
ResourceAllocationSection_Type is a derivation of Section_Type
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="ResourceAllocationSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Resource constraints on a
|
|
VirtualSystemCollection</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Item" type="ovf:RASD_Type" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="InstallSection" type="ovf:InstallSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since InstallSection_Type
|
|
is a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="InstallSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>If present indicates that the virtual machine needs to be
|
|
initially booted to install and configure the software</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="initialBootStopDelay" type="xs:unsignedShort" default="0"
|
|
use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Delay in seconds to wait for power off to
|
|
complete after initial boot</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="StartupSection" type="ovf:StartupSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since StartupSection_Type
|
|
is a derivation of Section_Type </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="StartupSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Specifies the order in which entities in a
|
|
VirtualSystemCollection are powered on and shut down</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="id" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Unique identifier of
|
|
the content (within a VirtualSystemCollection)
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="order" type="xs:unsignedShort"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Startup order. Entities are started
|
|
up starting with lower-numbers first, starting
|
|
from 0. Items with same order identifier may be
|
|
started up concurrently or in any order. The
|
|
order is reversed for
|
|
shutdown.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="startDelay" type="xs:unsignedShort"
|
|
default="0" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Delay in seconds to wait for power
|
|
on to complete</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="waitingForGuest" type="xs:boolean"
|
|
default="false" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Resumes power-on sequence if guest
|
|
software reports ok</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="stopDelay" type="xs:unsignedShort"
|
|
default="0" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Delay in seconds to wait for power
|
|
off to complete</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="startAction" type="xs:string"
|
|
default="powerOn" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Start action to use, valid values
|
|
are: 'powerOn', 'none' </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="stopAction" type="xs:string"
|
|
default="powerOff" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Stop action to use, valid values
|
|
are: ''powerOff' , 'guestShutdown',
|
|
'none'</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="DeploymentOptionSection" type="ovf:DeploymentOptionSection_Type"
|
|
substitutionGroup="ovf:Section">
|
|
<xs:annotation>
|
|
<xs:documentation>Element substitutable for Section since
|
|
DeploymentOptionSection_Type is a derivation of Section_Type
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="DeploymentOptionSection_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Enumeration of discrete deployment
|
|
options</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="ovf:Section_Type">
|
|
<xs:sequence>
|
|
<xs:element name="Configuration" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Label" type="ovf:Msg_Type"/>
|
|
<xs:element name="Description" type="ovf:Msg_Type"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:string" use="required"/>
|
|
<xs:attribute name="default" type="xs:boolean"
|
|
default="false" use="optional"/>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="VSSD_Type">
|
|
<xs:annotation>
|
|
<xs:documentation>Wrapper for
|
|
CIM_VirtualSystemSettingData_Type</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexContent>
|
|
<xs:extension base="vssd:CIM_VirtualSystemSettingData_Type">
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="RASD_Type">
|
|
<xs:complexContent>
|
|
<xs:annotation>
|
|
<xs:documentation>Wrapper for
|
|
CIM_ResourceAllocationSettingData_Type</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:extension base="rasd:CIM_ResourceAllocationSettingData_Type">
|
|
<xs:attribute name="required" type="xs:boolean" default="true"
|
|
use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Determines whether import should fail if entry
|
|
is not understood</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="configuration" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Configuration from DeploymentOptionSection this
|
|
entry is valid for</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="bound" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>States that this entry is a range
|
|
marker</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:schema>
|