Information

This site will undergo a brief period of maintenance on Thursday, 23 April at 2:30 AM Central/1:00 PM IST. During a 30 minute window, site availability may be intermittent.

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