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="PrefixLength" 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>
<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="PrefixLength" 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*