# Class CIM_ProtocolControllerMaskingCapabilities
extends CIM_Capabilities

A subclass of Capabilities that defines the Masking-related capabilities of a ProtocolController.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_Capabilities
|
+--CIM_ProtocolControllerMaskingCapabilities

## Direct Known Subclasses

CIM_GroupMaskingMappingCapabilities

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A subclass of Capabilities that defines the Masking-related capabilities of a ProtocolController.
UMLPackagePath | string | CIM::Device::ProtocolController
Version | string | 2.45.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
AttachDeviceSupported | boolean |
Deprecated | string | CIM_ProtocolControllerMaskingCapabilities.SupportedAsynchronousActions, CIM_ProtocolControllerMaskingCapabilities.SupportedSynchronousActions
Description | string | Set to true if this storage system supports the AttachDevice method.
ClientSelectableDeviceNumbers | boolean | true
Description | string | 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.
CreateProtocolControllerSupported | boolean |
Description | string | Set to true if this storage system supports the CreateProtocolControllerWithPorts method.
ExposePathsSupported | boolean |
Description | string | Set to true if this storage system supports the ExposePaths and HidePaths methods.
ExposePathsWithNameAndHostTypeSupported | boolean |
Description | string | Set to true if this storage system supports the ExposePathsWithNameAndHostType method.
MaximumMapCount | uint16 | 0
Description | string | The maximum number of ProtocolCOntrollerForUnit associations that can be associated with a single LogicalDevice (for example, StorageVolume). Zero indicates there is no limit.
OneHardwareIDPerView | boolean | false
Description | string | 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.
PortsPerView | uint16 | 2
Description | string | An integer enumeration indicating the way that ports per view (ProtocolController) are handled by the underlying storage system.
ValueMap | string | 2, 3, 4
Values | string | One Port per View, Multiple Ports per View, All Ports share the same View
PrivilegeDeniedSupported | boolean | false
Description | string | Set to true if this storage system allows a client to create a Privilege instance with PrivilegeGranted set to FALSE.
ProtocolControllerRequiresAuthorizedIdentity | boolean | false
Description | string | 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.
ProtocolControllerSupportsCollections | boolean | false
Description | string | 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.
SPCAllowsNoInitiators | boolean | false
Description | string | 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.
SPCAllowsNoLUs | boolean | false
Description | string | Set to true if the instumentation allows a client to create a configuration where an SPC has no LogicalDevices associated via CIM_ProtocolControllerForUnit associations.
SPCAllowsNoTargets | boolean | false
Description | string | 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.
SPCSupportsDefaultViews | boolean | true
Description | string | 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.
ModelCorrespondence | string | CIM_ProtocolControllerMaskingCapabilities.PortsPerView
UniqueUnitNumbersPerPort | boolean | false
Description | string | 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.
OtherValidHardwareIDTypes | string[] |
ArrayType | string | Indexed
Description | string | An array of strings describing types for valid StorageHardwareID.IDType. Used when the ValidHardwareIdTypes includes 1 ("Other").
SupportedAsynchronousActions | uint16[] |
Description | string | 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.
ModelCorrespondence | string | CIM_ProtocolControllerMaskingCapabilities.SupportedSynchronousActions
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, .., 32768..65535
Values | string | Create StorageHardwareID, Create StorageHardwareID by ExposePaths, Delete StorageHardwareID, Create Gateway Path ID, Delete Gateway Path ID, Create StorageHardwareID Collection, Delete StorageHardwareID Collection, Add StorageHardwareIDs to Collection, Remove StorageHardwareIDs from Collection, Expose Paths, Hide Paths, Expose Default Views, Hide Default Views, Attach Device, Detach Device, Create ProtocolController With Ports, Delete ProtocolController, DMTF Reserved, Vendor Specific
SupportedSynchronousActions | uint16[] |
Description | string | 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.
ModelCorrespondence | string | CIM_ProtocolControllerMaskingCapabilities.SupportedAsynchronousActions
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, .., 32768..65535
Values | string | Create StorageHardwareID, Create StorageHardwareID by ExposePaths, Delete StorageHardwareID, Create Gateway Path ID, Delete Gateway Path ID, Create StorageHardwareID Collection, Delete StorageHardwareID Collection, Add StorageHardwareIDs to Collection, Remove StorageHardwareIDs from Collection, Expose Paths, Hide Paths, Expose Default Views, Hide Default Views, Attach Device, Detach Device, Create ProtocolController With Ports, Delete protocolController, DMTF Reserved, Vendor Specific
ValidHardwareIdTypes | uint16[] |
ArrayType | string | Indexed
Description | string | 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.
ModelCorrespondence | string | CIM_StorageHardwareID.IDType
ValueMap | string | 1, 2, 3, 4, 5, 7
Values | string | Other, Port WWN, Node WWN, Host Name, iSCSI Name, SAS Address

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
Description | string | CIM_ManagedElement
ElementName | string | CIM_Capabilities
Generation | uint64 | CIM_ManagedElement
InstanceID | string | CIM_Capabilities

## Class Methods

### Local Class Methods

#### GetElementNameCapabilities (uint32)

#### Method Qualifiers (GetElementNameCapabilities)

Name | Data Type | Value
--- | --- | ---
Description | string | This method indicates if ElementName can be specified as a part of invoking an appropriate method of the ControllerConfigurationService to create a new element. Additionally, the returned data includes the methods that can be used to modify the ElementName of existing storage elements. This method also returns the restrictions on the ElementName in the related "OUT" parameters.
ModelCorrespondence | string | CIM_ControllerConfigurationService.ExposePaths, CIM_ControllerConfigurationService.ExposePathsWithNameAndHostType, CIM_StorageHardwareIDManagementService.CreateStorageHardwareID, CIM_GroupMaskingMappingService.CreateMaskingView
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x8000..
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Vendor Specific

#### Method Parameters (GetElementNameCapabilities)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementNameMask | string
Description | string | This string expresses the restrictions on ElementName. The mask is expressed as a regular expression. See DMTF standard ABNF with the Management Profile Specification Usage Guide, Annex C for the regular expression syntax permitted. Since the ElementNameMask can describe the maximum length of the ElementName, any length defined in the regexp is in addition to the restriction defined in MaxElementNameLen (causing the smaller value to be the maximum length). The ElementName value satisfies the restriction, if and only if it matches the regular expression. If NULL, it indicates no restrictions on the ElementName.
ModelCorrespondence | string | CIM_EnabledLogicalElementCapabilities.ElementNameMask
OUT | boolean | true
ElementType | uint16
Description | string | A value indicating the element type.
IN | boolean | true
ValueMap | string | 2, 3, .., 0x8000..
Values | string | StorageHardwareID, SCSIProtocolController, DMTF Reserved, Vendor Specific
MaxElementNameLen | uint16
Description | string | Maximum supported ElementName length.
ModelCorrespondence | string | CIM_EnabledLogicalElementCapabilities.MaxElementNameLen
OUT | boolean | true
SupportedFeatures | uint16[]
Description | string | Enumeration indicating what methods can accept the element name for creation or modification of a storage element. ExposePaths is an example of an InvokeMethod. ModifyInstance and SetProperty are examples of intrinsic methods. An empty array indicates ElementNaming for ElementType is not supported, in which case the other OUT parameters are null.
OUT | boolean | true
ValueMap | string | 2, 3, 4, .., 32768..65535
Values | string | ElementName can be supplied during creation, ElementName can be modified with InvokeMethod, ElementName can be modified with intrinsic method, DMTF Reserved, Vendor Specific
Goal | REF CIM_ManagedElement
Description | string | Properties of the Goal provide additional information about ElementType.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
CreateGoalSettings | uint16 | CIM_Capabilities