<?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_ProtocolControllerMaskingCapabilities" 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_ProtocolControllerMaskingCapabilities">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="ValidHardwareIdTypes" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">A list of the valid values for StrorageHardwareID.IDType. iSCSI IDs MAY use one of three iSCSI formats - iqn, eui, or naa. This three letter format is the name prefix; so a single iSCSI type is provided here, the prefix can be used to further refine the format.</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_StorageHardwareID.IDType</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Port WWN</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Node WWN</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Host Name</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">iSCSI Name</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">SAS Address</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="7"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtherValidHardwareIDTypes" 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">An array of strings describing types for valid StorageHardwareID.IDType. Used when the ValidHardwareIdTypes includes 1 ("Other").</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="PortsPerView" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">An integer enumeration indicating the way that ports per view (ProtocolController) are handled by the underlying storage system.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">One Port per View</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Multiple Ports per View</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">All Ports share the same View</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimUnsignedShort">2</cim:Defaultvalue>
</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="ClientSelectableDeviceNumbers" 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 the DeviceNumber parameter when calling ControllerConfigurationService.AttachDevice() or specify the DeviceNumbers parameter when calling ControllerConfigurationService.ExposePaths(). Set to false if the implementation does not allow unit numbers to vary for a ProtocolController. However, if set to false and a Device is not the Dependent of a ProtocolControllerForUnit association, the client MUST provide a DeviceNumber parameter in ControllerConfigurationService.AttachDevice or ControllerConfigurationService.ExposePaths. If set to false and the Device is already the Dependent of a ProtocolControllerForUnit association, then the client can omit the DeviceNumber parameter (or supply the same value) in subsequent ControllerConfigurationService.AttachDevice calls.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">true</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="AttachDeviceSupported" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Deprecated" type="cim:cimString">CIM_ProtocolControllerMaskingCapabilities.SupportedAsynchronousActions</cim:Qualifier>
<cim:Qualifier name="Deprecated" type="cim:cimString">CIM_ProtocolControllerMaskingCapabilities.SupportedSynchronousActions</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Set to true if this storage system supports the AttachDevice method.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OneHardwareIDPerView" 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 limits configurations to a single subject hardware ID per view. Otherwise, multiple hardware ID types can be used. The default is FALSE, that multiple ID types MAY be used in a single view.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="UniqueUnitNumbersPerPort" 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">When set to false, different ProtocolContollers attached to a LogicalPort can expose the same unit numbers. If true, then this storage system requires unique unit numbers across all the ProtocolControllers connected to a LogicalPort.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="PrivilegeDeniedSupported" 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 a client to create a Privilege instance with PrivilegeGranted set to FALSE.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ProtocolControllerRequiresAuthorizedIdentity" 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">If true, this property indicates that a Privilege/Identity pair MUST be specified when CreateProtocolControllerWithPorts() is called. If false, then the Privilege/Identity pair in CreateProtocolControllerWithPorts() MUST NOT be set.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ProtocolControllerSupportsCollections" 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">If true, this property indicates that the Identity parameter of CreateProtocolConntrollerWithPorts() MUST contain a reference to a CIM_Collection (or subclass) or to a CIM_Identity (or subclass). If ExposePathsSupported is true, this property indicates the storage system supports SystemSpecificCollections of StorageHardwareIDs.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ExposePathsSupported" 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 supports the ExposePaths and HidePaths methods.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CreateProtocolControllerSupported" 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 supports the CreateProtocolControllerWithPorts method.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MaximumMapCount" nillable="true" type="cim:cimUnsignedShort">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The maximum number of ProtocolCOntrollerForUnit associations that can be associated with a single LogicalDevice (for example, StorageVolume). Zero indicates there is no limit.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimUnsignedShort">0</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SPCAllowsNoLUs" 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 the instumentation allows a client to create a configuration where an SPC has no LogicalDevices associated via CIM_ProtocolControllerForUnit associations.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SPCAllowsNoTargets" 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 the instumentation allows a client to create a configuration where an SPC has no target SCSIProtocolEndpoints associated via CIM_SAPAvailableForELement associations.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SPCAllowsNoInitiators" 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 the instumentation allows a client to create a configuration where an SPC has no StorageHardwareIDs associated via CIM_AuthorizedTarget/CIM_AuthorizedPrivilege/CIM_AuthorizedSubject.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">false</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SPCSupportsDefaultViews" 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 it the instrumentation supports 'default view' SPCs that exposes logical units to all initiators (so called 'promiscuous LUNs'. Default view SPCs MUST have be associated to a CIM_StorageHardwareID instance with Name set to the null string. A target port MUST NOT be associated with more a single default view SPC. If PortsPerView is 'All Ports share the same View', then at most one default view SPC MAY be associated with the target system. If SPCAllowsNoLUs is true, the instrumentation MAY instantiate a static default view instance or let the client create one as needed using ExposePaths. For other values of PortsPerView, all default view SPC MUST share the same null-Name CIM_StorageHardwareID instance.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_ProtocolControllerMaskingCapabilities.PortsPerView</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
<cim:Defaultvalue type="cim:cimBoolean">true</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ExposePathsWithNameAndHostTypeSupported" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Experimental" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Set to true if this storage system supports the ExposePathsWithNameAndHostType method.</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SupportedAsynchronousActions" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Experimental" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Enumeration indicating what operations will be executed as asynchronous jobs. If an operation is included in both this and SupportedSynchronousActions then the underlying implementation is indicating that it may or may not create a job. Values are: 
Create StorageHardwareID: The CreateStorageHardwareID extrinsic.
Create StorageHardwareID by ExposePaths: The implicit creation of aStorageHardwareID by the ExposePaths extrinsic.
Delete StorageHardwareID: The DeleteStorageHardwareID extrinsic.
Delete StorageHardwareID by Delete Instance intrinsic: The DeleteInstance intrinsic of a StorageHardwareID.
Create Gateway Path ID: The CreateGatewayPathID extrinsic.
Delete Gateway Path ID: The DeleteInstance intrinsic of a GatewayPathID.
Create StorageHardwareID Collection: The CreateHardwareIDCollection extrinsic.
Delete StorageHardwareID Collection: The DeleteInstance intrinsic of a SystemSpecificCollection.
Add StorageHardwareID to Collection: The AddHardwareIDsToCollection extrinsic.
Remove StorageHardwareID from Collection: The DeleteInstance intrinsic of a MemberOfCollection.
Expose Paths: The ExposePaths extrinsic.
Hide Paths: The HidePaths extrinsic.
Expose Default LUs: The ExposeDefaultLUs extrinsic.
Hide Default LUs: The HideDefaultLUs extrinsic.
Attach Device: The AttachDevice extrinsic.
Detach Device: The DetachDevice extrinsic.
Create ProtocolController With Ports: The CreateProtocolControllerWithPorts extrinsic.
Delete ProtocolController: The DeleteProtocolController extrinsic.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_ProtocolControllerMaskingCapabilities.SupportedSynchronousActions</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Create StorageHardwareID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Create StorageHardwareID by ExposePaths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Delete StorageHardwareID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Create Gateway Path ID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">Delete Gateway Path ID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">Create StorageHardwareID Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="8">Delete StorageHardwareID Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="9">Add StorageHardwareIDs to Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="10">Remove StorageHardwareIDs from Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="11">Expose Paths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="12">Hide Paths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="13">Expose Default Views</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="14">Hide Default Views</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="15">Attach Device</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="16">Detach Device</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="17">Create ProtocolController With Ports</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="18">Delete ProtocolController</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="..">DMTF Reserved</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="32768..65535">Vendor Specific</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimAnySimpleType">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<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:enumeration value="8"/>
<xs:enumeration value="9"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="19"/>
<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:element name="SupportedSynchronousActions" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Experimental" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Enumeration indicating what operations will be executed without the creation of a job. If an operation is included in both this and SupportedAsynchronousActions then the underlying instrumentation is indicating that it may or may not create a job. Values are: 
Create StorageHardwareID: The CreateStorageHardwareID extrinsic.
Create StorageHardwareID by ExposePaths: The implicit creation of CreateStorageHardwareID by the ExposePaths extrinsic.
Delete StorageHardwareID: The DeleteStorageHardwareID extrinsic.
Delete StorageHardwareID by Delete Instance intrinsic: The DeleteInstance intrinsic of a StorageHardwareID.
Create Gateway Path ID: The CreateGatewayPathID extrinsic.
Delete Gateway Path ID: The DeleteInstance intrinsic of a GatewayPathID.
Create StorageHardwareID Collection: The Delete StorageHardwareID Collection: The DeleteInstance intrinsic of a SystemSpecificCollection.
Add StorageHardwareID to Collection: The AddHardwareIDsToCollection extrinsic.
Remove StorageHardwareID from Collection: The DeleteInstance intrinsic of a MemberOfCollection.
Expose Paths: The ExposePaths extrinsic.
Hide Paths: The HidePaths extrinsic.
Expose Default LUs: The ExposeDefaultLUs extrinsic.
Hide Default LUs: The HideDefaultLUs extrinsic.
Attach Device: The AttachDevice extrinsic.
Detach Device: The DetachDevice extrinsic.
Create ProtocolController With Ports: The CreateProtocolControllerWithPorts extrinsic.
Delete ProtocolController: The DeleteProtocolController extrinsic.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_ProtocolControllerMaskingCapabilities.SupportedAsynchronousActions</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Create StorageHardwareID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Create StorageHardwareID by ExposePaths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Delete StorageHardwareID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Create Gateway Path ID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">Delete Gateway Path ID</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">Create StorageHardwareID Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="8">Delete StorageHardwareID Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="9">Add StorageHardwareIDs to Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="10">Remove StorageHardwareIDs from Collection</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="11">Expose Paths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="12">Hide Paths</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="13">Expose Default Views</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="14">Hide Default Views</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="15">Attach Device</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="16">Detach Device</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="17">Create ProtocolController With Ports</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="18">Delete protocolController</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="..">DMTF Reserved</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="32768..65535">Vendor Specific</cim:Qualifier>
<cim:Classorigin name="CIM_ProtocolControllerMaskingCapabilities"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimAnySimpleType">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<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:enumeration value="8"/>
<xs:enumeration value="9"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="19"/>
<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: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="GetElementNameCapabilities_INPUT">
<xs:complexType>
<xs:sequence>
<xs:element name="ElementType" 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="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="4"/>
<xs:maxInclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="32768"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Goal" nillable="true" type="cim:cimReference"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetElementNameCapabilities_OUTPUT">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="SupportedFeatures" 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="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="5"/>
<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:element name="MaxElementNameLen" nillable="true" type="cim:cimUnsignedShort"/>
<xs:element name="ElementNameMask" nillable="true" type="cim:cimString"/>
<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:unsignedInt">
<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:unsignedInt">
<xs:minInclusive value="7"/>
<xs:maxInclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="32768"/>
</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="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_ProtocolControllerMaskingCapabilities" type="class:CIM_ProtocolControllerMaskingCapabilities_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_ProtocolControllerMaskingCapabilities" superclass="CIM_Capabilities"/>
<cim:Qualifier name="Version" type="cim:cimString">2.45.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Device::ProtocolController</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">A subclass of Capabilities that defines the Masking-related capabilities of a ProtocolController.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_ProtocolControllerMaskingCapabilities_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:AttachDeviceSupported"/>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element minOccurs="0" ref="class:ClientSelectableDeviceNumbers"/>
<xs:element minOccurs="0" ref="class:CreateProtocolControllerSupported"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element ref="class:ElementName"/>
<xs:element minOccurs="0" ref="class:ExposePathsSupported"/>
<xs:element minOccurs="0" ref="class:ExposePathsWithNameAndHostTypeSupported"/>
<xs:element minOccurs="0" ref="class:Generation"/>
<xs:element ref="class:InstanceID"/>
<xs:element minOccurs="0" ref="class:MaximumMapCount"/>
<xs:element minOccurs="0" ref="class:OneHardwareIDPerView"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:OtherValidHardwareIDTypes"/>
<xs:element minOccurs="0" ref="class:PortsPerView"/>
<xs:element minOccurs="0" ref="class:PrivilegeDeniedSupported"/>
<xs:element minOccurs="0" ref="class:ProtocolControllerRequiresAuthorizedIdentity"/>
<xs:element minOccurs="0" ref="class:ProtocolControllerSupportsCollections"/>
<xs:element minOccurs="0" ref="class:SPCAllowsNoInitiators"/>
<xs:element minOccurs="0" ref="class:SPCAllowsNoLUs"/>
<xs:element minOccurs="0" ref="class:SPCAllowsNoTargets"/>
<xs:element minOccurs="0" ref="class:SPCSupportsDefaultViews"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:SupportedAsynchronousActions"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:SupportedSynchronousActions"/>
<xs:element minOccurs="0" ref="class:UniqueUnitNumbersPerPort"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:ValidHardwareIdTypes"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
