<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:class="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SCSIMultipathConfigurationCapabilities" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" targetNamespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SCSIMultipathConfigurationCapabilities">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="SupportedLoadBalanceTypes" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The load balance types supported by the driver for all logical units on a target device. If 'Product Specified' is included, one or more instances of CIM_Product must be aggregated to the capabilities instance via ConcreteComponent. Each Product instance provides the SCSI Vendor, Product, and Revision ID of a supported product.</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_LOAD_BALANCE_TYPE</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceAlgorithmNames</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceVendorNames</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="0">Unknown</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">No Load Balancing</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Round Robin</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Least Blocks</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Least IO</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">LBA Region</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">Product Specific</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtherSupportedLoadBalanceAlgorithmNames" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">When the corresponding array entry in SupportedLoadBalanceTypes[] is 'Other', this entry provides a string describing the load balancing algorithm. When the corresponding array entry in SupportedLoadBalanceTypes[] is 'Product Specific', this entry provides a string specifying the SCSI vendor/product/revision and must be formatted as exactly 28 ASCII characters - 8 for vendor, 16 for product, and 4 for revision (see SCSI SPC Inquiry response)</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">SPC.INCITS-T10 |Standard Inquiry Response</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_LOAD_BALANCE_TYPE</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_DEVICE_PRODUCT_PROPERTIES</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceVendorNames</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OtherSupportedLoadBalanceVendorNames" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">When the corresponding array entry in SupportedLoadBalanceTypes[] is 'Other', this entry provides a string describing the vendor associated with the load balancing algorithm.</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_LOAD_BALANCE_TYPE</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceAlgorithmNames</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CanSetTPGAccess" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The capability of the driver to support the SetTPGAccess method. True if the implementation supports activating target port groups.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|canSetTPGAccess</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIPathConfigurationService.SetTPGAccess</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CanOverridePaths" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The capability of the driver to support the SetOverridePath and CancelOverridePaths methods. True if the implementation supports path overrides.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|canOverridePaths</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIPathConfigurationService.SetOverridePath</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ExposesPathDeviceFiles" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">False if the MP drivers assure only a single device file name (e.g. /dev/dsk/...) exists for each MP device. True if the implementation exposes (or leaves exposed) device files for the individual paths encapsulated by the multipath device file. This is typically true for MP drivers that sit near the top of the driver stack and false for transport drivers at the bottom of the stack.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|Plugin Properties|exposesPathDeviceFiles</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="DeviceNameFilespace" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">A string representing the primary file names the driver uses for multipath logical units, if those filenames do not match the names in Logical Unit osDeviceName as documented in Appendix A of the SNIA MP API specification. The name is expressing in the following format: 
'*' represents one or more alphanumeric characters 
'#' represents a string of consecutive digits 
'%' represents a string of hexadecimal digits 
backslash is an escape character for literal presentation of *, #, or %. Any other character is interpreted literally. For example, '/dev/vx/dmp/*'. If the multipath driver creates multipath logical unit device file names in the same namespace as the OS then this property should be left null.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">256</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="256"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OnlySupportsSpecifiedProducts" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">True if the only supported device types are those described in aggregated CIM_Product instances as described in the description of SupportedLoadBalanceTypes.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MaximumWeight" nillable="true" type="cim:cimUnsignedInt">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Describes the range of administer settable path weights supported by the driver. A driver with no path preference capabilities should set this property to zero. A driver with the ability to enable/disable paths should set this property to 1. Drivers with more weight settings can set the property appropriately.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|maximumWeight</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="AutofailbackSupport" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Specifies whether the implementation supports auto-failback (to re-enable paths that revert to a good state) at the plugin level, the multipath logical unit level, both levels or whether auto-failback is unsupported.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|autofailbackSupport</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.AutofailbackEnabled</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathSettings.AutofailbackEnabled</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="0">Unknown</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">No Autofailback support</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Autofailback support service-wide</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Autofailback support per logical unit</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Autofailback support per service or logical unit</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="AutoFailbackEnabled" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">A Boolean indicating that autofailback is enabled to all logical units associated to the CIM_SCSIPathConfigurationService associated with this capabilities instance (unless overridden by CIM_SCSIMultipathSettings AutoFailbackEnabled.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|autoFailbackEnabled</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathConfigurationCapabilities.AutofailbackSupport</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_SCSIMultipathSettings.AutofailbackEnabled</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="PollingRateMax" nillable="true" type="cim:cimUnsignedInt">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The maximum polling rate (in seconds) supported by the driver. A value of zero indicates the driver/plugin does not support polling. This maximum applies to both BadPathPollingRate and InactivePathPollingRate.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|pollingRateMax</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CurrentPollingRate" nillable="true" type="cim:cimUnsignedInt">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Write" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The current rate in seconds. Only valid when pollingRateMax is greater than 0 and canAutoFailback are true.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|currentPollingRate</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="DefaultLoadBalanceType" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Write" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The load balance types supported by the driver if not overridden by an administrative action.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MP_API.SNIA|MP_PLUGIN_PROPERTIES|defaultLoadBalanceType</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="0">Unknown</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">No Load Balancing</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Round Robin</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Least Blocks</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Least IO</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">Product Specific</cim:Qualifier>
<cim:Classorigin name="CIM_SCSIMultipathConfigurationCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="InstanceID" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Override" type="cim:cimString">InstanceID</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm: 
&lt;OrgID&gt;:&lt;LocalID&gt; 
Where &lt;OrgID&gt; and &lt;LocalID&gt; are separated by a colon ':', and where &lt;OrgID&gt; MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the &lt;Schema Name&gt;_&lt;Class Name&gt; structure of Schema class names.) In addition, to ensure uniqueness &lt;OrgID&gt; MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between &lt;OrgID&gt; and &lt;LocalID&gt;. 
&lt;LocalID&gt; is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace. 
For DMTF defined instances, the 'preferred' algorithm MUST be used with the &lt;OrgID&gt; set to 'CIM'.</cim:Qualifier>
<cim:Classorigin name="CIM_Capabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ElementName" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Override" type="cim:cimString">ElementName</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The user friendly name for this instance of Capabilities. In addition, the user friendly name can be used as a index property for a search of query. (Note: Name does not have to be unique within a namespace.)</cim:Qualifier>
<cim:Classorigin name="CIM_Capabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Caption" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Caption property is a short textual description (one- line string) of the object.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">64</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="64"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Description property provides a textual description of the object.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Generation" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Generation is an optional, monotonically increasing property that may be used to identify a particular generation of the resource represented by this class.
If Generation is supported by the implementation, its value shall not be null. 
Except as otherwise specified, a value (including null) of Generation specified at creation time shall be replaced by null if Generation is not supported by the implementation or shall be a, (possibly different), non-null value if the implementation does support Generation.
After creation and if supported, Generation shall be updated, at least once per access, whenever the represented resource is modified, regardless of the source of the modification.
Note: the Generation value only needs to be updated once between references, even if the resource is updated many times. The key point is to assure that it will be different if there have been updates, not to count each update.
Note: unless otherwise specified, the value of Generation within one instance is not required to be coordinated with the value of Generation in any other instance.
Note:the semantics of the instance, (as defined by its creation class), define the underlying resource. That underlying resource may be a collection or aggregation of resources. And, in that case, the semantics of the instance further define when updates to constituent resources also require updates to the Generation of the collective resource. Default behavior of composite aggregations should be to update the Generation of the composite whenever the Generation of a component is updated.
Subclasses may define additional requirements for updates on some or all of related instances.
For a particular instance, the value of Generation may wrap through zero, but the elapsed time between wraps shall be greater than 10's of years.
This class does not require Generation to be unique across instances of other classes nor across instances of the same class that have different keys. Generation shall be different across power cycles, resets, or reboots if any of those actions results in an update. Generation may be different across power cycles, resets, or reboots if those actions do not result in an update. If the Generation property of an instance is non-null, and if any attempt to update the instance includes the Generation property, then if it doesn't match the current value, the update shall fail.
The usage of this property is intended to be further specified by applicable management profiles. 
Typically, a client will read the value of this property and then supply that value as input to an operation that modifies the instance in some means. This may be via an explicit parameter in an extrinsic method or via an embedded value in an extrinsic method or intrinsic operation.
For example: a profile may require that an intrinsic instance modification supply the Generation property and that it must match for the modification to succeed.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CreateGoalSettings_INPUT">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<xs:element name="CreateGoalSettings_OUTPUT">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="SupportedGoalSettings" nillable="true" type="xs:anyType"/>
<xs:element name="ReturnValue" nillable="true">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimAnySimpleType">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="7"/>
<xs:maxInclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="32768"/>
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CIM_SCSIMultipathConfigurationCapabilities" type="class:CIM_SCSIMultipathConfigurationCapabilities_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_SCSIMultipathConfigurationCapabilities" superclass="CIM_Capabilities"/>
<cim:Qualifier name="Version" type="cim:cimString">2.29.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Device::StorageDevices</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">A class derived from CIM_Capabilities that models the capabilities of a multipath driver. Note that 'path' in this context refers to end-to-end device paths (for example, SCSI initiator/target) with no understanding of edge paths between interconnect elements such as switches. Load balancing only applies to symmetric multipath devices or to the ports in SCSITargetPortGroups in active access state. 
A driver may support different algorithms for load balancing. A few common algorithms are listed. Algorithms for specific device models and software vendor specific algorithms are also accommodated. 

An instance of this capabilities class MUST be instantiated whenever SCSIPathConfigurationService is instantiated and they MUST be assocaited one to one using ElementCapabilities. Multiple instances of the service/acapabilities pair MAY exist if multiple multipath drivers are installed. Each LogicalDevice subclass served by the underlying multipath driver is associated to the associated Service instance via ServiceAvailableToELement.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_SCSIMultipathConfigurationCapabilities_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:AutoFailbackEnabled"/>
<xs:element minOccurs="0" ref="class:AutofailbackSupport"/>
<xs:element minOccurs="0" ref="class:CanOverridePaths"/>
<xs:element minOccurs="0" ref="class:CanSetTPGAccess"/>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element minOccurs="0" ref="class:CurrentPollingRate"/>
<xs:element minOccurs="0" ref="class:DefaultLoadBalanceType"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element minOccurs="0" ref="class:DeviceNameFilespace"/>
<xs:element ref="class:ElementName"/>
<xs:element minOccurs="0" ref="class:ExposesPathDeviceFiles"/>
<xs:element minOccurs="0" ref="class:Generation"/>
<xs:element ref="class:InstanceID"/>
<xs:element minOccurs="0" ref="class:MaximumWeight"/>
<xs:element minOccurs="0" ref="class:OnlySupportsSpecifiedProducts"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:OtherSupportedLoadBalanceAlgorithmNames"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:OtherSupportedLoadBalanceVendorNames"/>
<xs:element minOccurs="0" ref="class:PollingRateMax"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:SupportedLoadBalanceTypes"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
