Information
Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Virtual Guest Package schema



<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
 <xsd:documentation xml:lang="en">Virtual guest package input file schema</xsd:documentation>
</xsd:annotation>
<xsd:element name="VirtualGuestPackageConfiguration">  
 <xsd:complexType>
  <xsd:sequence>
   <!-- GeneralInfo contains information about package and name of the virtual guest  -->
   <xsd:element name="GeneralInfo" type="GeneralInfoType"/>
   <!-- Currently there is no support for RBACInfo through BL CLI  -->
   <xsd:element name="RBACInfo" type="RBACInfoType" minOccurs="0"/>
   <!-- PlatformInfo contains information about specific information about the platform guest  -->
   <xsd:element name="PlatformInfo" type="PlatformInfoType"/>
   <!-- LocalProperties - can add local properties by using this section  -->
   <xsd:element name="LocalProperties" type="LocalPropertiesType" minOccurs="0"/>
  </xsd:sequence>
 </xsd:complexType>
</xsd:element>
<xsd:complexType name="GeneralInfoType">
 <xsd:sequence>
  <xsd:element name="PackageName" type="xsd:string"/>
  <xsd:element name="PackageDescription" type="xsd:string"  minOccurs="0"/>
  <!-- TODO need to update cli info -->
  <xsd:element name="DepotGroupId" type="nonNegativeInt"/>
  <!-- Possible values for VirtualGuestPackageType are:
   VirtualGuestPackageType  - Description
   1-VMWare create Bare metal VM package Type
   2-VMWare create VM from template/existing VM package type.
   3-IBM create lpar package type
   4-IBM create VIOS package type
   7-Solaris create non global zone package type
   10-Citrix Xenserver create virtual machine from build-in template/custom template/existing VM package type.
   11-RHEL KVM create domain package type.
   12-RHEV create VM from template.
   13-RHEL create Bare Metal VM.
   -->
  <xsd:element name="VirtualGuestPackageType" type="nonNegativeInt"/>
  <!-- VirtualGuestName - Name of the virtual guest you want to create -->
  <xsd:element name="VirtualGuestName" type="xsd:string"  minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<!-- Currently there is no support for RBACInfo through BL CLI  -->
<xsd:complexType name="RBACInfoType">
 <xsd:sequence>
  <xsd:element name="RBACEntry" type="RBACEntryType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RBACEntryType">
 <xsd:sequence>
  <xsd:element name="Role" type="xsd:string"/>
  <xsd:element name="Authorization" type="xsd:string"/>
  <xsd:element name="Type" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PlatformInfoType">
 <xsd:sequence>
  <xsd:choice>
   <xsd:element name="VMwareInfo" type="VMwareInfoType"/>
   <xsd:element name="PartitionInfo" type="PartitionInfoType"/>
   <xsd:element name="ZoneInfo" type="ZoneInfoType"/>
   <xsd:element name="RHELKVMInfo" type="RHELKVMInfoType"/>
   <xsd:element name="CitrixXenInfo" type="CitrixXenInfoType"/>
   <!-- VirtualGuestInfo is generic tag will be helpful to represent virtual guest information for all newly
   added platforms -->
   <xsd:element name="VirtualGuestInfo" type="VirtualGuestInfoType"/>
  </xsd:choice>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VMwareInfoType">
 <xsd:sequence>
  <!-- VMOrTemplateId is applicable only for VMWare creating package by using existing template or VM(templatePackages)
-->
  <xsd:element name="VMOrTemplateId" type="xsd:string" minOccurs="0"/>
  <xsd:element name="ClonedDiskFormat" type="ClonedDiskFormatEnum" minOccurs="0"/>
  <xsd:element name="IsCustomConfig" type="booleanString" minOccurs="0" default="false"/>
  <xsd:element name="VMXDatastore" type="xsd:string" minOccurs="0"/>
  <!-- GuestOSId,  GuestOSVersionId can be fetched from CLI  Virtualization::listVirtualEntitiesByEntityManagerServerIdAndEntityType.
  Use input entity type for this cli is - VMwareGuestOSMapping
  Note: 1) For create VGP - GuestOSId,  GuestOSVersionId can be applicable for VGP type VMwareBareMetal only. For VGP Type Tempalte/VM clone, these values will be fetched from given template/vm.
     2) For update VGP/create VGJ - GuestOSId,  GuestOSVersionIdvalues can't be modified for  template/VM clone type packages.
  -->
  <xsd:element name="GuestOSId" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="GuestOSVersionId" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="NumOfProcessors" type="nonNegativeInt"  minOccurs="0"/>
  <xsd:element name="MemoryInMB" type="nonNegativeInt"  minOccurs="0"/>  
  <xsd:element name="VMwareDiskSettings" type="VMwareDiskSettingsType" minOccurs="0"/>
  <xsd:element name="VMwareNetworkSettings" type="VMwareNetworkSettingsType" minOccurs="0"/>
  <!-- OSCustomizationInfo is applicable only for VMWare template/VM clone type packages and Guest OS for the package should be either windows or linux.
-->
  <xsd:element name="OSCustomizationInfo" type="OSCustomizationInfoType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ClonedDiskFormatEnum">
 <xsd:restriction base="xsd:string">
  <xsd:enumeration value="sameAsSource"/>
  <xsd:enumeration value="thinProvision"/>
  <xsd:enumeration value="thickProvision"/>
 </xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="OSCustomizationInfoType">
 <xsd:sequence>
  <xsd:choice>
   <xsd:element name="WindowsCustomizationInfo" type="WindowsCustomizationInfoType"/>
   <xsd:element name="LinuxCustomizationInfo" type="LinuxCustomizationInfoType"/>
  </xsd:choice>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VMwareDiskSettingsType">  
 <xsd:sequence>
  <xsd:element name="SCSIAdapterType" minOccurs="0">
   <xsd:simpleType>
          <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LSILogic"/>
          <xsd:enumeration value="BusLogic"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="DiskInfo" type="DiskInfoType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DiskInfoType">
 <xsd:sequence>  
  <xsd:element name="DiskSize" type="nonNegativeInt"/>
  <xsd:element name="DiskSizeUnit" type="xsd:string"/>
  <xsd:element name="Datastore" type="xsd:string"/>
  <xsd:element name="ThinProvisioning" type="booleanString" minOccurs="0" default="false"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VMwareNetworkSettingsType">
 <xsd:sequence>
  <xsd:element name="NetworkConnection" type="NetworkConnectionType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NetworkConnectionType">
 <xsd:sequence>  
  <xsd:element name="Network" type="xsd:string"/>
  <xsd:element name="Adapter">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
              <xsd:enumeration value="VMXNET"/>
              <xsd:enumeration value="VMXNET 2 (Enhanced)"/>
              <xsd:enumeration value="VMXNET 3"/>
              <xsd:enumeration value="E1000"/>
              <xsd:enumeration value="Flexible (default)"/>
            </xsd:restriction>
           </xsd:simpleType>
          </xsd:element>
  <xsd:element name="ConnectAtPowerOn" type="booleanString"  minOccurs="0" default="false"/>
  <!-- GuestNetworkConfiguration settings will be applied if OSCustomizationInfo section mentioned in the package and Guest OS should be either windows or linux.
-->
  <xsd:element name="GuestNetworkConfiguration" type="GuestNetworkConfigurationType" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="WindowsCustomizationInfoType">
 <xsd:sequence>
  <!-- If computerName is not provided, it will be auto generated -->  
  <xsd:element name="ComputerName" type="xsd:string" minOccurs="0"/>
  <xsd:element name="AdminPassword" type="xsd:string"/>
  <xsd:choice>
   <xsd:element name="Workgroup" type="xsd:string"/>   
   <xsd:group ref="WindowsDomainGroup"/>   
  </xsd:choice>
  <xsd:element name="UserName" type="xsd:string"/>   
  <xsd:element name="Organization" type="xsd:string"/>   
  <xsd:element name="LicenseKey" type="xsd:string" minOccurs="0"/>
  <!-- LicenseType:: default value taking for license type is: perServer. User can override this by giving value perSeat.-->
  <xsd:element name="LicenseType" default="perServer">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
              <xsd:enumeration value="perServer"/>
              <xsd:enumeration value="perSeat"/>
            </xsd:restriction>
           </xsd:simpleType>
          </xsd:element>
          <!-- NumOfConnections:: default value taking for number of connections, if license type is perServer:5.
            User can override this by giving value.-->
  <xsd:element name="NumOfConnections" type="nonNegativeInt"  minOccurs="0" default="5"/>
  <!--TimezoneId values are:
   1::(GMT-12:00) International Dateline
   2::(GMT-11:00) Midway Island, Samoa
   3::(GMT-10:00) Hawaii
   4::(GMT-09:00) Alaska
   5::(GMT-08:00) Pacific Time (US, Canada, Tijuana
   6::(GMT-07:00) Mountain Time (US, Canada)
   7::(GMT-07:00) Arizona
   8::(GMT-06:00) Central Time (US, Canada)
   9::(GMT-06:00) Saskatchewan
   10::(GMT-06:00) Mexico City
   11::(GMT-06:00) Central America
   12::(GMT-05:00) Eastern Time (US, Canada)
   13::(GMT-05:00) Indiana (East)
   14::(GMT-05:00) S.A. Pacific
   15::(GMT-04:00) Atlantic Time (Canada)
   16::(GMT-04:00) S.A. Western
   17::(GMT-04:00) Pacific S.A.
   18::(GMT-03:30) Newfoundland
   19::(GMT-03:00) E. South Americe
   20::(GMT-03:00) S.A Eastern
   21::(GMT-03:00) Greenland
   22::(GMT-02:00) Mid-Atlantic
   23::(GMT-01:00) Azores
   24::(GMT-01:00) Cape Verde Is.
   25::(GMT) GMT (Greenwich Mean Time)
   26::(GMT) GMT Greenwich
   27::(GMT+01:00) Central Europe
   28::(GMT+01:00) Central European
   29::(GMT+01:00) Romance
   30::(GMT+01:00) W. Europe
   31::(GMT+01:00) W. Central Africa
   32::(GMT+02:00) E. Europe
   33::(GMT+02:00) Cairo
   34::(GMT+02:00) EET (Helsinki, Riga, Tallinn)
   35::(GMT+02:00) EET (Athens, Istanbul, Minsk)
   36::(GMT+02:00) Jerusalem
   37::(GMT+03:00) S. Africa: Harare, Pretoria
   38::(GMT+03:00) Russian
   39::(GMT+03:00) Arab
   40::(GMT+03:00) E. Africa
   41::(GMT+03:30) Iran
   42::(GMT+04:00) Arabian
   43::(GMT+04:00) Caucasus Pacific (US, Canada)
   44::(GMT+04:30) Afghanistan
   45::(GMT+05:00) Russia Yekaterinburg
   46::(GMT+05:00) W. Asia
   47::(GMT+05:30) India
   48::(GMT+05:45) Nepal
   49::(GMT+06:00) Central Asia
   50::(GMT+06:00) Sri Lanka
   51::(GMT+06:00) N. Central Asia
   52::(GMT+06:30) Rangoon
   53::(GMT+07:00) S.E. Asia
   54::(GMT+07:00) N. Asia
   55::(GMT+08:00) China
   56::(GMT+08:00) Singapore
   57::(GMT+08:00) Taipei
   58::(GMT+08:00) W. Australia
   59::(GMT+08:00) N. Asia East
   60::(GMT+09:00) Seoul
   61::(GMT+09:00) Tokyo
   62::(GMT+09:00) Yakutsk
   63::(GMT+09:30) Darwin
   64::(GMT+09:30) Central Australia
   65::(GMT+10:00) A.U.S. Eastern
   66::(GMT+10:00) E. Australia
   67::(GMT+10:00) Tasmania
   68::(GMT+10:00) Vladivostok
   69::(GMT+10:00) W. Pacific
   70::(GMT+11:00) Central Pacific
   71::(GMT+12:00) Fiji, Kamchatka, Marshall Is.
   72::(GMT+12:00) New Zealand
   73::(GMT+13:00) Tonga
   -->
  <xsd:element name="TimezoneId" type="nonNegativeInt"   minOccurs="0" default="1"/>
  <!--LocaleId values are:
   1::English United States
   2::French Standard
   3::Japanese
   4::German Standard
   -->
  <xsd:element name="LocaleId" type="nonNegativeInt"   minOccurs="0" default="1"/>
  <!--DnsSuffix is global for a operating system, this will take comma separated DNS suffixes -->
  <xsd:element name="DnsSuffix" type="stringWithMaxLength" minOccurs="0" />
  <!--RunOnceCommands will contain commands for execution in sequence -->
  <xsd:element name="RunOnceCommands" type="RunOnceCommandsType" minOccurs="0" />
   \\
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="LinuxCustomizationInfoType">
 <xsd:sequence>
  <!-- If computerName is not provided, it will be auto generated -->   
  <xsd:element name="HostName" type="xsd:string" minOccurs="0"/>
  <xsd:element name="Domain" type="xsd:string" minOccurs="0"/>
  <!--DnsSuffix is global for a operating system, this will take comma separated DNS suffixes -->
  <xsd:element name="DnsSuffix" type="stringWithMaxLength" minOccurs="0" />
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:group name="WindowsDomainGroup">
 <xsd:sequence>
  <xsd:element name="WindowsDomain" type="xsd:string"/>
  <xsd:element name="DomainAdminUser" type="xsd:string"/>
  <xsd:element name="DomainAdminPassword" type="xsd:string"/>
 </xsd:sequence>
</xsd:group>
<xsd:complexType name="GuestNetworkConfigurationType">
 <xsd:sequence>
  <xsd:choice>
   <xsd:element name="AutoIPAddress" type="booleanString"/>
   <xsd:group ref="IPAddressGroup"/>   
  </xsd:choice>
  <xsd:choice>
   <xsd:element name="AutoDNS" type="booleanString"/>
   <xsd:group ref="DNSGroup"/>  
  </xsd:choice>
  <!-- DnsSuffixForConnection will be applicable for Windows Guest OS only -->
  <xsd:element name="DnsSuffixForConnection" type="xsd:string" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:group name="IPAddressGroup">
 <xsd:sequence>
  <xsd:element name="IPAddress" type="xsd:string"/>
  <xsd:element name="SubnetMask" type="xsd:string"/>
  <xsd:element name="DefaultGateway" type="xsd:string"/>
 </xsd:sequence>
</xsd:group>
<xsd:group name="DNSGroup">
 <xsd:sequence>
  <xsd:element name="PrimaryDNS" type="xsd:string"/>
  <xsd:element name="SecondaryDNS" type="xsd:string" minOccurs="0"/>
  <!-- TertiaryDNS will be applicable for Linux Guest OS only -->
  <xsd:element name="TertiaryDNS" type="xsd:string" minOccurs="0"/>
  <!-- PrimaryDnsSuffix will be applicable for Linux Guest OS only keeping this for backward compatibility-->
           <xsd:element name="PrimaryDnsSuffix" type="xsd:string" minOccurs="0"/>      
 </xsd:sequence>
</xsd:group>
 \\
<xsd:complexType name="RunOnceCommandsType">
 <xsd:sequence>
  <xsd:element name="Command" type="stringWithMaxLength" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PartitionInfoType">
 <xsd:sequence>
  <xsd:element name="PartitionGeneralSettings" type="PartitionGeneralSettingsType"/>
  <xsd:element name="ProcessorSettings" type="ProcessorSettingsType"/>
  <xsd:element name="MemorySettings" type="MemorySettingsType"/>
  <!-- Storage details are applicable for client LPARs only -->
  <xsd:element name="Storage" type="PartitionStorageType"  minOccurs="0"/>
  <xsd:element name="PhysicalIOs" type="PhysicalIOsType" minOccurs="0"/>
  <xsd:element name="VirtualAdapters" type="VirtualAdaptersType" minOccurs="0"/>
  <xsd:element name="LHEAs" type="LHEAsType" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionStorageType">
 <xsd:choice>
  <xsd:sequence>
   <xsd:element name="VirtualDisks" type="PartitionVirtualDisksType"  minOccurs="0"/>
   <xsd:element name="PhysicalVolumes" type="PartitionPhysicalVolumesType" minOccurs="0"/>
   <xsd:element name="FiberChannelPorts" type="PartitionFiberChannelPortsType" minOccurs="0"/>
  </xsd:sequence>
 </xsd:choice>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionVirtualDisksType">
 <xsd:sequence>
  <xsd:element name="VirtualDisk" type="PartitionVirtualDiskType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionPhysicalVolumesType">
 <xsd:sequence>
  <xsd:element name="PhysicalVolume" type="PartitionPVOrFCVolumeType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionFiberChannelPortsType">
 <xsd:sequence>
  <xsd:element name="FiberChannelPort" type="PartitionPVOrFCVolumeType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionVirtualDiskType">
 <xsd:sequence>
  <!-- If disk name is not provided, it will be auto generated by system as LV_PARTITIONID_SVSA_CVSA-->
  <xsd:element name="Name" type="xsd:string" minOccurs="0"/>
  <xsd:element name="SizeInGB" type="nonNegativeDouble"/>
  <xsd:element name="Location" type="xsd:string"/>   
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionPVOrFCVolumeType">
 <xsd:sequence>
  <xsd:element name="Location" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="PartitionGeneralSettingsType">
 <xsd:sequence>
  <!-- If PartitionId is not provided, it will be auto generated by hypervisor-->  
  <xsd:element name="PartitionId" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="ProfileName" type="xsd:string" minOccurs="0"/>
  <!-- defaulting to false value for UseAllResources -->
  <xsd:element name="UseAllResources" type="booleanString"  minOccurs="0" default="false"/>   
  <xsd:element name="OptionalSettings" type="OptionalSettingsType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OptionalSettingsType">
 <xsd:sequence>
  <xsd:element name="ConnectionMonitoring" type="booleanString"/>
  <xsd:element name="AutoStartManagedSystem" type="booleanString"/>
  <xsd:element name="RedundantErrorPathReporting" type="booleanString"/>
  <!-- boot_mode(can applicable for AIX, Linux, and virtual I/O server only)
                Valid values are:
                       norm - normal
                       dd   - diagnostic with default boot list
                       ds   - diagnostic with stored boot list
                       of   - Open Firmware OK prompt
                       sms  - System Management Services
   -->
  <xsd:element name="BootMode">
   <xsd:simpleType>
          <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Normal"/>
          <xsd:enumeration value="dd"/>
          <xsd:enumeration value="ds"/>
          <xsd:enumeration value="of"/>
          <xsd:enumeration value="sms"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="WorkloadGroupId" type="xsd:string"/>
  <!-- MoverServicePartition is applicable for package type IBM VIOS only-->  
  <xsd:element name="MoverServicePartition" type="booleanString" minOccurs="0"/>  
 </xsd:sequence>
</xsd:complexType>  
<xsd:complexType name="ProcessorSettingsType">
 <xsd:sequence>
  <!-- defaulting to shared mode -->
  <xsd:element name="ProcessorMode" minOccurs="0" default="shared">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="shared"/>
          <xsd:enumeration value="ded"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <!--  processor sharing_mode  (From Bladelogic UI, ProcessorSharingMode set as 'share_idle_procs' always incase of dedicated processors)
                       Valid values for partitions using  dedicated processors are:
                       keep_idle_procs  - never share
                                processors
                       share_idle_procs - share processors only
                                when partition is inactive
                       share_idle_procs_active - share
                                processors only when partition
                                is active (POWER6 servers only)
                       share_idle_procs_always - always share
                                processors (POWER6 servers only)
                           \\
                       Valid values for partitions using shared  processors are:
                       cap   - capped
                       uncap - uncapped
   -->
  <!-- default to cap in case of shared mode. default to share_idle_proc in case of dedicated mode. -->
  <xsd:element name="ProcessorSharingMode" minOccurs="0" default="cap">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="keep_idle_procs"/>
          <xsd:enumeration value="share_idle_procs"/>
        <xsd:enumeration value="share_idle_procs_active"/>
          <xsd:enumeration value="share_idle_procs_always"/>
     <xsd:enumeration value="cap"/>
          <xsd:enumeration value="uncap"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="MinimumProcessingUnits" type="xsd:double" minOccurs="0" default="0.1"/>
  <!-- defaulting to 0.1 for DesiredProcessingUnits -->
  <xsd:element name="DesiredProcessingUnits" type="xsd:double" minOccurs="0" default="0.1"/>
  <xsd:element name="MaximumProcessingUnits" type="xsd:double" minOccurs="0" default="0.1"/>
  <xsd:element name="SharedPool" type="xsd:string"  minOccurs="0"/>
  <!-- MinimumProcessors value will default to the DesiredProcessors value if not provided as VGP input. -->
  <xsd:element name="MinimumProcessors" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="DesiredProcessors" type="nonNegativeInt"/>
  <!-- MaximumProcessors value will default to the DesiredProcessors value if not provided as VGP input. -->
  <xsd:element name="MaximumProcessors" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="UncappedWeight" type="nonNegativeInt" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MemorySettingsType">
 <xsd:sequence>
  <!-- Memory mode by default taking as dedicated. 'shared' memory mode is applicable only for client partitions. -->
  <xsd:element name="MemoryMode"  minOccurs="0" default="ded">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="shared"/>
          <xsd:enumeration value="ded"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>   
  <xsd:element name="MinimumMemory" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="DesiredMemory" type="nonNegativeInt"/>
  <xsd:element name="MaximumMemory" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="AMEFactor" type="xsd:double"  minOccurs="0"/>
  <xsd:element name="PrimaryPagingVIOS" type="xsd:string" minOccurs="0"/>
  <xsd:element name="SecondaryPagingVIOS" type="xsd:string" minOccurs="0"/>
  <xsd:element name="MemoryWeight" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="CustomEntitledMemory" type="nonNegativeInt" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="HugePagesSettingsType">
 <xsd:sequence>
  <xsd:element name="MinimumNumOfHugePages" type="nonNegativeInt"/>
  <xsd:element name="DesiredNumOfHugePages" type="nonNegativeInt"/>
  <xsd:element name="MaximumNumOfHugePages" type="nonNegativeInt"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PhysicalIOsType">
 <xsd:sequence>
  <xsd:element name="PhysicalIO" type="PhysicalIOType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PhysicalIOType">
 <xsd:sequence>
  <xsd:element name="SlotDRCIndex" type="nonNegativeInt"/>
  <xsd:element name="SlotIOPoolId" type="xsd:string" minOccurs="0"/>
  <xsd:element name="Required" type="booleanString" minOccurs="0" default="false"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VirtualAdaptersType">
 <xsd:sequence>
  <!-- for client the default value for MaxVirtualAdapters is 10. for VIOS server, the default is 20. -->
  <xsd:element name="MaxVirtualAdapters" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="EthernetAdapters" type="EthernetAdaptersType" minOccurs="0"/>
  <xsd:element name="FiberChannelAdapters" type="FiberChannelAdaptersType" minOccurs="0"/>
  <xsd:element name="SCSIAdapters" type="SCSIAdaptersType" minOccurs="0"/>
  <xsd:element name="SerialAdapters" type="SerialAdaptersType" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EthernetAdaptersType">
 <xsd:sequence>
  <xsd:element name="EthernetAdapter" type="EthernetAdapterType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EthernetAdapterType">
 <xsd:sequence>
  <!-- AdapterId value will be auto-generated if not provided as a part of VGP input. -->
  <xsd:element name="AdapterId" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="VirtualSwitch" type="xsd:string" minOccurs="0"/>
  <xsd:element name="VLANId" type="nonNegativeInt"/>
  <xsd:element name="Required" type="booleanString" minOccurs="0" default="false"/>
  <xsd:element name="AccessExternalNetwork" type="booleanString" minOccurs="0" default="false"/>
  <xsd:element name="TrunkPriority" type="nonNegativeInt" minOccurs="0"/>   
  <xsd:element name="AdditionalVLANs" type="AdditionalVLANsType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="AdditionalVLANsType">
 <xsd:restriction base="xsd:string">
  <xsd:pattern value="\[Nn\]one|\[Aa\]ll|\[\d\]+(,\[\d\]+)*"/>
 </xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="FiberChannelAdaptersType">
 <xsd:sequence>
  <xsd:element name="FiberChannelAdapter" type="FiberChannelAdapterType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FiberChannelAdapterType">
 <xsd:sequence>
  <xsd:element name="AdapterId" type="nonNegativeInt"/>
  <xsd:element name="AdapterType">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="client"/>
          <xsd:enumeration value="server"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="Required" type="booleanString"/>
  <!-- Supporting only remote partition Name  -->
  <!--
  <xsd:choice>
   <xsd:element name="RemotePartitionId" type="xsd:string"/>
   <xsd:element name="RemotePartitionName" type="xsd:string"/>
  </xsd:choice>
  -->
  <xsd:element name="RemotePartitionName" type="xsd:string"/>   
  <xsd:element name="RemoteAdapterId" type="xsd:string"/>
  <!-- If wwpns not mentioned, will be auto generated by system -->
  <xsd:element name="WWPNs" type="WWPNsType" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WWPNsType">
 <xsd:sequence>
  <xsd:element name="WWPN" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SCSIAdaptersType">
 <xsd:sequence>
  <xsd:element name="SCSIAdapter" type="SCSIAdapterType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SCSIAdapterType">
 <xsd:sequence>
  <xsd:element name="AdapterId" type="nonNegativeInt"/>
  <xsd:element name="AdapterType">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="client"/>
          <xsd:enumeration value="server"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="Required" type="booleanString"/>
  <!-- Supporting only remote partition Name  -->
  <!--
  <xsd:choice>
   <xsd:element name="RemotePartitionId" type="xsd:string"/>
   <xsd:element name="RemotePartitionName" type="xsd:string"/>
  </xsd:choice>
  -->
  <xsd:element name="RemotePartitionName" type="xsd:string" minOccurs="0"/>
  <xsd:element name="RemoteAdapterId" type="xsd:string" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SerialAdaptersType">
 <xsd:sequence>
  <xsd:element name="SerialAdapter" type="SerialAdapterType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SerialAdapterType">
 <xsd:sequence>
  <xsd:element name="AdapterId" type="nonNegativeInt"/>
  <xsd:element name="AdapterType">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="client"/>
          <xsd:enumeration value="server"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="Required" type="booleanString"/>
  <xsd:element name="SupportsHMC" type="booleanString" minOccurs="0"/>
  <xsd:element name="ConnectingRemotePartition" type="ConnectingRemotePartitionType" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ConnectingRemotePartitionType">
 <xsd:sequence>
  <!-- Supporting only remote partition Name  -->
  <!--
  <xsd:choice>
   <xsd:element name="RemotePartitionId" type="xsd:string"/>
   <xsd:element name="RemotePartitionName" type="xsd:string"/>
  </xsd:choice>
  -->
  <xsd:element name="RemotePartitionName" type="xsd:string" minOccurs="0"/>
  <xsd:element name="RemoteAdapterId" type="xsd:string" minOccurs="0"/>   
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LHEAsType">
 <xsd:sequence>
  <xsd:element name="LHEA" type="LHEAType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LHEAType">
 <xsd:sequence>
  <!-- Most of the frames allowes  AdapterId as - 23000000 -->
  <xsd:element name="AdapterId" type="nonNegativeInt"/>
  <xsd:element name="PortGroup" type="nonNegativeInt"/>
  <xsd:element name="PhysicalPortId" type="nonNegativeInt"/>
  <xsd:element name="LogicalPortId" type="nonNegativeInt"/>
  <xsd:element name="AllowAllVLANIDs" type="booleanString"/>
  <xsd:element name="AllowedVLANs" type="AllowedVLANIDsType" minOccurs="0"/>  
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LocalPropertiesType">
 <xsd:sequence>
  <xsd:element name="LocalProperty" type="LocalPropertyType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LocalPropertyType">
 <xsd:sequence>
  <xsd:element name="PropertyName" type="xsd:string"/>
  <xsd:element name="PropertyValue" type="xsd:string"/>
  <xsd:element name="PropertyType" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="AllowedVLANIDsType">
 <xsd:restriction base="xsd:string">
  <xsd:pattern value="\[Nn\]one|\[Aa\]ll|\[\d\]+(,\[\d\]+)*"/>
 </xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ZoneInfoType">
 <xsd:sequence>
  <xsd:element name="ZonePath" type="xsd:string"/>
  <xsd:element name="AutoBoot" type="booleanString" minOccurs="0"/>
  <xsd:element name="BootZoneAfterCreation" type="booleanString"  minOccurs="0" default="false"/>
  <xsd:element name="ResourcePool" type="xsd:string" minOccurs="0"/>
  <xsd:element name="BootArgs" type="xsd:string" minOccurs="0"/>
  <xsd:element name="LimitPrivileges" type="xsd:string" minOccurs="0"/>
  <!-- SchedulingClass values help:
     FSS-Fair Share sheduler
     FX-Fixed Priority
     IA-Inter Active
     RT-Real Time
     SYS-System
     TS-Time Shared
   -->
  <xsd:element name="SchedulingClass" minOccurs="0">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value=""/>
          <xsd:enumeration value="FSS"/>
          <xsd:enumeration value="FX"/>
          <xsd:enumeration value="IA"/>
          <xsd:enumeration value="RT"/>
          <xsd:enumeration value="SYS"/>
          <xsd:enumeration value="TS"/>
       </xsd:restriction>
   </xsd:simpleType>   
  </xsd:element>
  <xsd:element name="ProcessorType" minOccurs="0">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Capped"/>
          <xsd:enumeration value="Dedicated"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="NumCPUsORRange" type="xsd:string" minOccurs="0"/>
  <xsd:element name="Importance" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="PhysicalMemory" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="MaximumSwap" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="LockedMemory" type="nonNegativeInt" minOccurs="0"/>
  <xsd:element name="IPType" minOccurs="0">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="shared"/>
          <xsd:enumeration value="exclusive"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>   
  <xsd:element name="ZoneNetworkAddresses" type="ZoneNetworkAddressesType" minOccurs="0"/>
  <xsd:element name="ZoneFileSystems" type="ZoneFileSystemsType" minOccurs="0"/>
  <xsd:element name="ZoneDataSets" type="ZoneDataSetsType" minOccurs="0"/>
  <xsd:element name="ZoneDevices" type="ZoneDevicesType" minOccurs="0"/>
  <xsd:element name="ZoneInheritedPkgDirs" type="ZoneInheritedPkgDirsType" minOccurs="0"/>
  <xsd:element name="ZoneResourceControls" type="ZoneResourceControlsType" minOccurs="0"/>
  <xsd:element name="ZoneAttributes" type="ZoneAttributesType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneNetworkAddressesType">
 <xsd:sequence>
  <xsd:element name="ZoneNetworkAddress" type="ZoneNetworkAddressType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneNetworkAddressType">
 <xsd:sequence>
  <!-- Physical can be allowed in both cases of if IPType is shared/exclusive
-->
  <xsd:element name="Physical" type="xsd:string"/>
  <!-- Address can be allowed if IPType is shared -->
  <xsd:element name="Address" type="xsd:string" minOccurs="0"/>
  <!-- DefaultRouter can be allowed if IPType is shared -->
  <xsd:element name="DefaultRouter" type="xsd:string" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneFileSystemsType">
 <xsd:sequence>
  <xsd:element name="ZoneFileSystem" type="ZoneFileSystemType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneFileSystemType">
 <xsd:sequence>
  <xsd:element name="FileSystemDir" type="xsd:string"/>
  <xsd:element name="FileSystemSpecial" type="xsd:string"/>
  <xsd:element name="FileSystemRaw" type="xsd:string"/>
  <xsd:element name="FileSystemType" type="xsd:string"/>
  <xsd:element name="FileSystemOptions" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneDataSetsType">
 <xsd:sequence>
  <xsd:element name="ZoneDataSet" type="ZoneDataSetType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneDataSetType">
 <xsd:sequence>
  <xsd:element name="DataSetName" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneDevicesType">
 <xsd:sequence>
  <xsd:element name="ZoneDevice" type="ZoneDeviceType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneDeviceType">
 <xsd:sequence>
  <xsd:element name="DeviceMatch" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneInheritedPkgDirsType">
 <xsd:sequence>
  <xsd:element name="ZoneInheritedPkgDir" type="ZoneInheritedPkgDirType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneInheritedPkgDirType">
 <xsd:sequence>
  <xsd:element name="PackagePath" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneResourceControlsType">
 <xsd:sequence>
  <xsd:element name="ZoneResourceControl" type="ZoneResourceControlType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneResourceControlType">
 <xsd:sequence>
  <xsd:element name="ResourceControlName" type="xsd:string"/>
  <xsd:element name="ResourceControlValue" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneAttributesType">
 <xsd:sequence>
  <xsd:element name="ZoneAttribute" type="ZoneAttributeType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZoneAttributeType">
 <xsd:sequence>
  <xsd:element name="AttributeName" type="xsd:string"/>
  <xsd:element name="AttributeType">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="boolean"/>
          <xsd:enumeration value="int"/>
          <xsd:enumeration value="uint"/>
          <xsd:enumeration value="string"/>
       </xsd:restriction>
   </xsd:simpleType>
  </xsd:element>
  <xsd:element name="AttributeValue" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<!-- RHEL KVM Starts -->
<xsd:complexType name="RHELKVMInfoType">
 <xsd:sequence>
  <xsd:element name="NumVCPU" type="nonNegativeInt"/>
  <xsd:element name="MaxMemory" type="nonNegativeInt"/>
  <xsd:element name="StartUpMemory" type="nonNegativeInt"/>
  <xsd:element name="AutoBoot" type="booleanString" minOccurs="0" maxOccurs="1"/>
  <xsd:element name="CPUArchitecture">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
                <xsd:enumeration value="x86_64"/>
     <xsd:enumeration value="i686"/>
       </xsd:restriction>
   </xsd:simpleType>   
  </xsd:element>
  <xsd:element name="RHELKVMStorages" type="RHELKVMStoragesType" minOccurs="0" maxOccurs="1"/>
  <xsd:element name="RHELKVMNetworks" type="RHELKVMNetworksType" minOccurs="0" maxOccurs="1"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RHELKVMStoragesType">
 <xsd:sequence>
  <xsd:element name="RHELKVMStorage" type="RHELKVMStorageType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RHELKVMStorageType">
 <xsd:sequence>
   <xsd:choice>
  <xsd:element name="RHELKVMBlockPartitionStorage" type="RHELKVMBlockPartitionStorageType"/>
  <xsd:element name="RHELKVMFileImageStorage" type="RHELKVMFileImageStorageType"/>
  </xsd:choice>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RHELKVMBlockPartitionStorageType">
 <xsd:sequence>
     <xsd:element name="TargetDeviceType" type="RHELKVMStorageTargetDeviceType"/>
       <xsd:element name="TargetDeviceBus"  type="RHELKVMStorageTargetDeviceBus"/>
    <xsd:element name="Location" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RHELKVMFileImageStorageType">
 <xsd:sequence>
     <xsd:element name="TargetDeviceType" type="RHELKVMStorageTargetDeviceType"/>
        <xsd:element name="TargetDeviceBus"  type="RHELKVMStorageTargetDeviceBus"/>
  <xsd:choice minOccurs="1">
   <xsd:element name="PoolName" type="xsd:string"/>
   <xsd:element name="Location" type="xsd:string"/>
  </xsd:choice>
     <xsd:element name="FileName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
     <xsd:element name="StorageSize" type="nonNegativeInt"/>
  <xsd:element name="AllocateNow" type="booleanString" minOccurs="0" maxOccurs="1"/>
  </xsd:sequence>
</xsd:complexType>
 <xsd:complexType name="RHELKVMNetworksType">
 <xsd:sequence>
  <xsd:element name="RHELKVMNetwork" type="RHELKVMNetworkType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RHELKVMNetworkType">
 <xsd:sequence>
  <xsd:element name="Name" type="xsd:string"/>
  <xsd:element name="Type">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Virtual Network"/>
         <xsd:enumeration value="Bridge"/>
       </xsd:restriction>
   </xsd:simpleType>   
  </xsd:element>
  <xsd:element name="MacAddress" type="xsd:string"/>
  <xsd:element name="DeviceModel">
   <xsd:simpleType>
       <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Hypervisor default"/>
           <xsd:enumeration value="e1000"/>
           <xsd:enumeration value="ne2k_pci"/>
           <xsd:enumeration value="pcnet"/>
           <xsd:enumeration value="rtl8139"/>
           <xsd:enumeration value="virtio"/>
       </xsd:restriction>
   </xsd:simpleType>   
  </xsd:element>
 </xsd:sequence>
</xsd:complexType>
<!-- RHEL KVM Ends -->
 \\
<!-- Citrix Xen schema info -->
<xsd:complexType name="CitrixXenInfoType">
<xsd:sequence>
 <xsd:element name="VGDescription" type="xsd:string"  minOccurs="0" />
 <xsd:element name="VMOrTemplateName" type="xsd:string"  minOccurs="0"/>
 <xsd:element name="NumberOfvCPUs" type="nonNegativeInt" minOccurs="0"/>
 <xsd:element name="MemoryInMB" type="nonNegativeInt" minOccurs="0" />
 <xsd:element name="AutoBoot" type="booleanString"  minOccurs="0" />
 <xsd:element name="BootParams" type="xsd:string"  minOccurs="0" />
 <xsd:element name="CitrixXenDisks" type="CitrixXenDisksType" minOccurs="0" />
 <xsd:element name="CitrixXenNetworkInterfaces" type="CitrixXenNetworksType" minOccurs="0"  />
 <xsd:element name="OSCustomizationInfo" type="OSCustomizationInfoType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
  \\
<xsd:complexType name="CitrixXenDisksType">
 <xsd:sequence>
  <xsd:element name="CitrixXenDisk" type="CitrixXenDiskType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="CitrixXenNetworksType">
 <xsd:sequence>
  <xsd:element name="CitrixXenNetworkInterface" type="CitrixXenNetworkType" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
  \\
<xsd:complexType name="CitrixXenDiskType">
 <xsd:sequence>
  <xsd:element name="DiskName" type="xsd:string" />
  <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
  <xsd:element name="SizeInMB" type="nonNegativeInt"  />
  <xsd:element name="StorageRepository" type="xsd:string" minOccurs="1"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="CitrixXenNetworkType">
 <xsd:sequence>
  <xsd:element name="Network" type="xsd:string"/>
  <!-- If the macAddress is present in input xml, it will be applied to network, otherwise setting  AutoGenerateMAC as true
  (Citrix Xenserver will generate mac address automatically)-->
  <xsd:choice>
   <xsd:element name="AutoGenerateMAC" type="booleanString" />
   <xsd:element name="MACAddress" type="xsd:string"/>
  </xsd:choice>
  <xsd:element name="GuestNetworkConfiguration" type="GuestNetworkConfigurationType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
 \\
<xsd:complexType name="VirtualGuestInfoType">
 <xsd:sequence>
  <!-- VMOrTemplateId is applicable only for template or VM clone type packages-->
  <xsd:element name="Description" type="xsd:string"  minOccurs="0" />
  <xsd:element name="SourceTemplateId" type="xsd:string"  minOccurs="0"/>
  <xsd:element name="GuestOS" type="xsd:string" minOccurs="0"/>
  <xsd:element name="VirtualGuestStorage" type="xsd:string" minOccurs="0"/>
  <xsd:element name="CoresPerSocket" type="nonNegativeInt" default="1" minOccurs="0"/>
  <xsd:element name="NumOfSockets" type="nonNegativeInt" default="1" minOccurs="0"/>
  <xsd:element name="MemoryInMB" type="nonNegativeInt" default="512" minOccurs="0" />
  <xsd:element name="PowerOnVMAfterCreation" type="booleanString"  minOccurs="0" default="true"/>
  <xsd:element name="AutoBoot" type="booleanString"  minOccurs="0" default="false"/>
  <xsd:element name="VirtualDisks" type="VirtualDisksType" minOccurs="0"/>
  <xsd:element name="VirtualNetworks" type="VirtualNetworksType" minOccurs="0"/>
  <xsd:element name="PlatformSpecificProperties" type="PlatformSpecificPropertiesType" minOccurs="0"/>
  <!-- OSCustomizationInfo is applicable only for template/VM clone type packages and Guest OS for the package should be either windows or linux.-->
  <xsd:element name="OSCustomizationInfo" type="OSCustomizationInfoType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
\\
<xsd:complexType name="VirtualDisksType">
 <xsd:sequence>
  <xsd:element name="VirtualDisk" type="VirtualDiskType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VirtualDiskType">
 <xsd:sequence>
  <xsd:element name="DiskSizeInGB" type="xsd:double"/>
  <xsd:element name="Storage" type="xsd:string" minOccurs="0"/>
  <xsd:element name="ThinProvisioning" type="xsd:boolean" minOccurs="0" default="false"/>
  <!-- List of extended properties to specify platform specific properties required for VM Disk -->
  <xsd:element name="DiskExtendedProperties" type="PlatformSpecificPropertiesType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
\\
<xsd:complexType name="VirtualNetworksType">
 <xsd:sequence>
  <xsd:element name="VirtualNetwork" type="VirtualNetworkType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VirtualNetworkType">
 <xsd:sequence>
  <xsd:element name="NetworkName" type="xsd:string"/>
  <!-- MACAddress, if not mentioned it will be auto generated by hypervisor-->
  <xsd:element name="MACAddress" type="xsd:string" minOccurs="0"/>
  <xsd:element name="ConnectAtPowerOn" type="booleanString"  minOccurs="0" default="false"/>
  <!-- List of extended properties to specify platform specific properties required for VM Network -->
  <xsd:element name="NetworkExtendedProperties" type="PlatformSpecificPropertiesType" minOccurs="0"/>
  <!-- GuestNetworkConfiguration settings will be applied if OSCustomizationInfo section mentioned in the package
  and Guest OS should be either windows or linux.-->
  <xsd:element name="GuestNetworkConfiguration" type="GuestNetworkConfigurationType" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
\\
<xsd:complexType name="PlatformSpecificPropertiesType">
 <xsd:sequence>
  <xsd:element name="PlatformSpecificProperty" type="PlatformSpecificPropertyType" minOccurs="1" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>
\\
<!-- PlatformSpecific properties for RHEV platform are as follows:
 PropetyNamePossibleValues
 _______________________________________________________________
 HAPriorityNo_HA, Low, Medium, High
 diskInterfaceTypeide, virtio, scsi
 networkAdapterTypee1000, virtio, rtl8139, rtl8139_virtio
 -->
<xsd:complexType name="PlatformSpecificPropertyType">
 <xsd:sequence>
  <xsd:element name="PropertyName" type="xsd:string"/>
  <xsd:element name="PropertyValue" type="xsd:string"/>
 </xsd:sequence>
</xsd:complexType>
\\
<xsd:simpleType name="nonNegativeInt">
 <xsd:restriction base="xsd:int">
  <xsd:minInclusive value="0"/>
 </xsd:restriction>
</xsd:simpleType>
 \\
<xsd:simpleType name="nonNegativeDouble">
 <xsd:restriction base="xsd:double">
  <xsd:minInclusive value="0.0"/>
 </xsd:restriction>
</xsd:simpleType>
 \\
<xsd:simpleType name="booleanString">
 <xsd:restriction base="xsd:boolean">
  <xsd:pattern value="true|false"/>
 </xsd:restriction>
</xsd:simpleType>
   <xsd:simpleType name="RHELKVMStorageTargetDeviceType">
         <xsd:restriction base="xsd:string">
           <xsd:enumeration value="Disk"/>
           <xsd:enumeration value="CDROM"/>
           <xsd:enumeration value="Floppy"/>
         </xsd:restriction>
       </xsd:simpleType>
<xsd:simpleType name="RHELKVMStorageTargetDeviceBus">
         <xsd:restriction base="xsd:string">
           <xsd:enumeration value="IDE"/>
           <!--xsd:enumeration value="SCSI"/-->
           <xsd:enumeration value="USB"/>
           <xsd:enumeration value="VIRTIO"/>
         </xsd:restriction>
       </xsd:simpleType>
 <xsd:simpleType name="stringWithMaxLength">
  <xsd:restriction base="xsd:string">
  <xsd:maxLength value="255"/>
  </xsd:restriction>
 </xsd:simpleType>
</xsd:schema>

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Server Automation 8.3