// Copyright (c) 2005 DMTF. All rights reserved. [Version ( "2.10.0" ), UMLPackagePath ( "CIM::Device::ProtocolController" ), Description ( "A subclass of Capabilities that defines the Masking-related " "capabilities of a ProtocolController." )] class CIM_ProtocolControllerMaskingCapabilities : CIM_Capabilities { [Description ( "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." ), ValueMap { "1", "2", "3", "4", "5" }, Values { "Other", "Port WWN", "Node WWN", "Host Name", "iSCSI Name" }, ArrayType ( "Indexed" )] uint16 ValidHardwareIdTypes[]; [Description ( "An array of strings describing types for valid " "StorageHardwareID.IDType. Used when the " "ValidHardwareIdTypes includes 1 (\"Other\")." ), ArrayType ( "Indexed" )] string OtherValidHardwareIDTypes[]; [Description ( "An integer enumeration indicating the way that ports per " "view (ProtocolController) are handled by the underlying " "storage system." ), ValueMap { "2", "3", "4" }, Values { "One Port per View", "Multiple Ports per View", "All Ports share the same View" }] uint16 PortsPerView = 2; [Description ( "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." )] boolean ClientSelectableDeviceNumbers = true; [Description ( "Set to true if this storage system supports the " "AttachDevice method." )] boolean AttachDeviceSupported; [Description ( "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." )] boolean OneHardwareIDPerView = false; [Description ( "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." )] boolean UniqueUnitNumbersPerPort = false; [Description ( "Set to true if this storage system allows a client to " "create a Privilege instance with PrivilegeGranted set to " "FALSE." )] boolean PrivilegeDeniedSupported = false; [Description ( "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." )] boolean ProtocolControllerRequiresAuthorizedIdentity = false; [Description ( "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." )] boolean ProtocolControllerSupportsCollections = false; [Description ( "Set to true if this storage system supports the " "ExposePaths and HidePaths methods." )] boolean ExposePathsSupported; [Description ( "Set to true if this storage system supports the " "CreateProtocolControllerWithPorts method." )] boolean CreateProtocolControllerSupported; [Description ( "The maximum number of ProtocolCOntrollerForUnit " "associations that can be associated with a single " "LogicalDevice (for example, StorageVolume). Zero " "indicates there is no limit." )] uint16 MaximumMapCount = 0; [Description ( "Set to true if the instumentation allows a client to " "create a configuration where an SPC has no " "LogicalDevices associated via " "CIM_ProtocolControllerForUnit associations." )] boolean SPCAllowsNoLUs = false; [Description ( "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." )] boolean SPCAllowsNoTargets = false; [Description ( "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." )] boolean SPCAllowsNoInitiators = false; [Description ( "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 { "CIM_ProtocolControllerMaskingCapabilities.PortsPerView" }] boolean SPCSupportsDefaultViews = true; };