<?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_StorageServerAsymmetryCapabilities" 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_StorageServerAsymmetryCapabilities">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="StorageResourceSymmetryCapability" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">If this property is set to Symmetric it indicates that the StoragePools or StorageVolumes are processed in a distributed load-balanced manner between storage processors. If this property is set to Asymmetric it indicates that the StoragePools or StorageVolumes are have a primary affinity for one storage processor.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Symmetric</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Asymmetric</cim:Qualifier>
<cim:Classorigin name="CIM_StorageServerAsymmetryCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="StorageResourceType" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">If this property is set to StorageVolume it indicates that the StoragePools have symmetric behavior(or no affinity) and that the Volumes have affintiy for one storage processor or the other. If this property is set to StoragePool it indicates that a StoragePool as well as the Volumes allocated from it have affinity for one storage processor or the other.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">StorageVolume</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">StoragePool</cim:Qualifier>
<cim:Classorigin name="CIM_StorageServerAsymmetryCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="StorageResourceAffinityAssignable" 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">Set to true if this storage system allows the client to specify which storage processor a storage resource is assigned to, either using one of the CreateOrModify methods or the AssignStorageResourceAffinity method on StorageConfigurationService.</cim:Qualifier>
<cim:Classorigin name="CIM_StorageServerAsymmetryCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="PortGroupFailoverBehavior" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">This property specifies whether a storage server supports transparent or non-transparent failover of TargetPortGroups. If this value is 2(Port Group Fails), a TargetPortGroup will have a single StorageProcessorAffinity association to the storage processor it belongs to and will fail with. If this property has a value of 3, the TargetPortGroup will have a StorageProcessorAffinity association to each storage processor that can host it's function, and the properties on the association will indicate both which processor is primary and which is currently hosting the ports in the group.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Port Group Fails</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Port Group Fails Over Transparently</cim:Qualifier>
<cim:Classorigin name="CIM_StorageServerAsymmetryCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="TargetPortSymmetryCapability" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">This property indicates the normal(healthy) state accessibility to volumes both in the StorageResourceLoadGroup on the same storage processor as a TargetPortGroup, and to volumes in StorageResourceLoadGroups on 'other' storage processors in the redundant server. If this values is 2(Symmetric): There is equal bandwidth access to volumes on all storage processors through target ports on this storage processor. If this value is 3(Asymmetric Non-Optimized): There is full bandwidth access to volumes in the StorageResourceLoadGroup on the same storage processor as the TargetPortGroup and degraded bandwidth access to volumes in the StorageResourceLoadGroups on the 'other' storage processors. If this value is 4(Asymmetric No Access): There is full bandwidth access to volumes in the StorageResourceLoadGroup on the same storage processor as the TargetPortGroup and no access to volumes on 'other' storage processors.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Symmetric</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Asymmetric Non-Optimized</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Asymmetric No Access</cim:Qualifier>
<cim:Classorigin name="CIM_StorageServerAsymmetryCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<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_StorageServerAsymmetryCapabilities" type="class:CIM_StorageServerAsymmetryCapabilities_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_StorageServerAsymmetryCapabilities" superclass="CIM_Capabilities"/>
<cim:Qualifier name="Version" type="cim:cimString">2.45.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Device::StorageServices</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">This class defines the asymmetric characteristics and capabilites of a redundant storage server. The properties in this class guide client algorithms in the interpretation of the instances of StorageResourceLoadGroup, TargetPortGroup, StorageProcessorAffinity, and AsymmetricAccessibility, and also determining support for methods that affect assignment of storage resources to storage processors.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_StorageServerAsymmetryCapabilities_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element ref="class:ElementName"/>
<xs:element minOccurs="0" ref="class:Generation"/>
<xs:element ref="class:InstanceID"/>
<xs:element minOccurs="0" ref="class:PortGroupFailoverBehavior"/>
<xs:element minOccurs="0" ref="class:StorageResourceAffinityAssignable"/>
<xs:element minOccurs="0" ref="class:StorageResourceSymmetryCapability"/>
<xs:element minOccurs="0" ref="class:StorageResourceType"/>
<xs:element minOccurs="0" ref="class:TargetPortSymmetryCapability"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
