Class Hierarchy
Class Attributes
Class Qualifiers
Properties
Methods
Associations in which the class can participate
Sub Profiling Summary
CIM_ControllerConfigurationService --> CIM_Service --> CIM_EnabledLogicalElement --> CIM_LogicalElement --> CIM_ManagedSystemElement --> CIM_ManagedElement --> [top]
Class Declaration Attributes Name Value SUPERCLASS CIM_Service NAME CIM_ControllerConfigurationService
Class CIM_ControllerConfigurationService Qualifiers Name Type Value From Class Version string 2.10.0 CIM_ControllerConfigurationService Description string The ControllerConfigurationService provides methods that allow a client to manipulate LUN Masking in a storage system. CIM_ControllerConfigurationService Description string A CIM_Service is a Logical Element that contains the information that is necessary to represent and manage the functionality provided by a Device or a SoftwareFeature, or both. A Service is a general-purpose object that is used to configure and manage the implementation of functionality. It is not the functionality itself. CIM_Service Description string This class extends LogicalElement to abstract the concept of an element that is enabled and disabled, such as a LogicalDevice or a ServiceAccessPoint. CIM_EnabledLogicalElement Description string CIM_LogicalElement is a base class for all the components of a System that represent abstract system components, such as Files, Processes, or LogicalDevices. CIM_LogicalElement Description string CIM_ManagedSystemElement is the base class for the System Element hierarchy. Any distinguishable component of a System is a candidate for inclusion in this class. Examples of system components include: - software components such as application servers, databases, and applications - operating system components such as files, processes, and threads - device components such as disk drives, controllers, processors, and printers - physical components such as chips and cards. CIM_ManagedSystemElement Description string ManagedElement is an abstract class that provides a common superclass (or top of the inheritance tree) for the non-association classes in the CIM Schema. CIM_ManagedElement
Property Qualifiers
Property SystemCreationClassName Qualifiers Name Type Value From Class Key boolean true CIM_Service Propagated string CIM_System.CreationClassName CIM_Service Description string The CreationClassName of the scoping System. CIM_Service MaxLen uint32 256 CIM_Service
Property SystemName Qualifiers Name Type Value From Class Key boolean true CIM_Service Propagated string CIM_System.Name CIM_Service Description string The Name of the scoping System. CIM_Service MaxLen uint32 256 CIM_Service
Property CreationClassName Qualifiers Name Type Value From Class Key boolean true CIM_Service Description string CreationClassName indicates the name of the class or the subclass that is used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified. CIM_Service MaxLen uint32 256 CIM_Service
Property Name Qualifiers Name Type Value From Class Key boolean true CIM_Service Override string Name CIM_Service Description string The Name property uniquely identifies the Service and provides an indication of the functionality that is managed. This functionality is described in more detail in the Description property of the object. CIM_Service MaxLen uint32 256 CIM_Service
Property PrimaryOwnerName Qualifiers Name Type Value From Class Write boolean true CIM_Service Description string The name of the primary owner for the service, if one is defined. The primary owner is the initial support contact for the Service. CIM_Service MaxLen uint32 64 CIM_Service MappingStrings string MIF.DMTF|General Information|001.3 CIM_Service
Property PrimaryOwnerContact Qualifiers Name Type Value From Class Write boolean true CIM_Service Description string A string that provides information on how the primary owner of the Service can be reached (for example, phone number, e-mail address, and so on). CIM_Service MaxLen uint32 256 CIM_Service MappingStrings string MIF.DMTF|General Information|001.4 CIM_Service
Property StartMode Qualifiers Name Type Value From Class Description string Note: The use of this element is deprecated in lieu of the EnabledDefault property that is inherited from EnabledLogicalElement. The EnabledLogicalElement addresses the same semantics. The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property. To remain compatible with those implementations, StartMode was grandfathered into the schema. Use of the deprecated qualifier allows the maintenance of the existing property but also permits an improved, clarified definition using EnabledDefault. Deprecated description: StartMode is a string value that indicates whether the Service is automatically started by a System, an Operating System, and so on, or is started only upon request. CIM_Service ValueMap string [See below.] CIM_Service MaxLen uint32 10 CIM_Service
Name Value Automatic [none] Manual [none]
Property Started Qualifiers Name Type Value From Class Description string Started is a Boolean that indicates whether the Service has been started (TRUE), or stopped (FALSE). CIM_Service
Property EnabledState Qualifiers Name Type Value From Class Description string EnabledState is an integer enumeration that indicates the enabled and disabled states of an element. It can also indicate the transitions between these requested states. For example, shutting down (value=4) and starting (value=10) are transient states between enabled and disabled. The following text briefly summarizes the various enabled and disabled states: Enabled (2) indicates that the element is or could be executing commands, will process any queued commands, and queues new requests. Disabled (3) indicates that the element will not execute commands and will drop any new requests. Shutting Down (4) indicates that the element is in the process of going to a Disabled state. Not Applicable (5) indicates the element does not support being enabled or disabled. Enabled but Offline (6) indicates that the element might be completing commands, and will drop any new requests. Test (7) indicates that the element is in a test state. Deferred (8) indicates that the element might be completing commands, but will queue any new requests. Quiesce (9) indicates that the element is enabled but in a restricted mode. The behavior of the element is similar to the Enabled state, but it processes only a restricted set of commands. All other requests are queued. Starting (10) indicates that the element is in the process of going to an Enabled state. New requests are queued. CIM_EnabledLogicalElement ValueMap string [See below.] CIM_EnabledLogicalElement Values string Unknown
Other
Enabled
Disabled
Shutting Down
Not Applicable
Enabled but Offline
In Test
Deferred
Quiesce
Starting
DMTF Reserved
Vendor ReservedCIM_EnabledLogicalElement ModelCorrespondence string CIM_EnabledLogicalElement.OtherEnabledState CIM_EnabledLogicalElement
Name Value 0 Unknown 1 Other 2 Enabled 3 Disabled 4 Shutting Down 5 Not Applicable 6 Enabled but Offline 7 In Test 8 Deferred 9 Quiesce 10 Starting 11..32767 DMTF Reserved 32768..65535 Vendor Reserved
Property OtherEnabledState Qualifiers Name Type Value From Class Description string A string that describes the enabled or disabled state of the element when the EnabledState property is set to 1 ( " Other " ). This property must be set to null when EnabledState is any value other than 1. CIM_EnabledLogicalElement ModelCorrespondence string CIM_EnabledLogicalElement.EnabledState CIM_EnabledLogicalElement
Property RequestedState Qualifiers Name Type Value From Class Description string RequestedState is an integer enumeration that indicates the last requested or desired state for the element. The actual state of the element is represented by EnabledState. This property is provided to compare the last requested and current enabled or disabled states. Note that when EnabledState is set to 5 ( " Not Applicable " ), then this property has no meaning. By default, the RequestedState of the element is 5 ( " No Change " ). Refer to the EnabledState property description for explanations of the values in the RequestedState enumeration. It should be noted that there are two new values in RequestedState that build on the statuses of EnabledState. These are " Reboot " (10) and " Reset " (11). Reboot refers to doing a " Shut Down " and then moving to an " Enabled " state. Reset indicates that the element is first " Disabled " and then " Enabled " . The distinction between requesting " Shut Down " and " Disabled " should also be noted. Shut Down requests an orderly transition to the Disabled state, and might involve removing power, to completely erase any existing state. The Disabled state requests an immediate disabling of the element, such that it will not execute or accept any commands or processing requests. This property is set as the result of a method invocation (such as Start or StopService on CIM_Service), or can be overridden and defined as WRITEable in a subclass. The method approach is considered superior to a WRITEable property, because it allows an explicit invocation of the operation and the return of a result code. A particular instance of EnabledLogicalElement might not support RequestedStateChange. If this occurs, the value 12 ( " Not Applicable " ) is used. CIM_EnabledLogicalElement ValueMap string [See below.] CIM_EnabledLogicalElement Values string Enabled
Disabled
Shut Down
No Change
Offline
Test
Deferred
Quiesce
Reboot
Reset
Not Applicable
DMTF Reserved
Vendor ReservedCIM_EnabledLogicalElement ModelCorrespondence string CIM_EnabledLogicalElement.EnabledState CIM_EnabledLogicalElement
Name Value 2 Enabled 3 Disabled 4 Shut Down 5 No Change 6 Offline 7 Test 8 Deferred 9 Quiesce 10 Reboot 11 Reset 12 Not Applicable .. DMTF Reserved 32768..65535 Vendor Reserved
Property EnabledDefault Qualifiers Name Type Value From Class Write boolean true CIM_EnabledLogicalElement Description string An enumerated value indicating an administrator ’ s default or startup configuration for the Enabled State of an element. By default, the element is " Enabled " (value=2). CIM_EnabledLogicalElement ValueMap string [See below.] CIM_EnabledLogicalElement Values string Enabled
Disabled
Not Applicable
Enabled but Offline
No Default
DMTF Reserved
Vendor ReservedCIM_EnabledLogicalElement
Name Value 2 Enabled 3 Disabled 5 Not Applicable 6 Enabled but Offline 7 No Default 8..32767 DMTF Reserved 32768..65535 Vendor Reserved
Property TimeOfLastStateChange Qualifiers Name Type Value From Class Description string The date or time when the EnabledState of the element last changed. If the state of the element has not changed and this property is populated, then it must be set to a 0 interval value. If a state change was requested, but rejected or not yet processed, the property must not be updated. CIM_EnabledLogicalElement
Property InstallDate Qualifiers Name Type Value From Class Description string A datetime value that indicates when the object was installed. Lack of a value does not indicate that the object is not installed. CIM_ManagedSystemElement MappingStrings string MIF.DMTF|ComponentID|001.5 CIM_ManagedSystemElement
Property Name Qualifiers Name Type Value From Class Description string The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property. CIM_ManagedSystemElement MaxLen uint32 1024 CIM_ManagedSystemElement
Property OperationalStatus Qualifiers Name Type Value From Class Description string Indicates the current statuses of the element. Various operational statuses are defined. Many of the enumeration ’ s values are self-explanatory. However, a few are not and are described here in more detail. " Stressed " indicates that the element is functioning, but needs attention. Examples of " Stressed " states are overload, overheated, and so on. " Predictive Failure " indicates that an element is functioning nominally but predicting a failure in the near future. " In Service " describes an element being configured, maintained, cleaned, or otherwise administered. " No Contact " indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it. " Lost Communication " indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable. " Stopped " and " Aborted " are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the element might need to be updated. " Dormant " indicates that the element is inactive or quiesced. " Supporting Entity in Error " indicates that this element might be " OK " but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems. " Completed " indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error). " Power Mode " indicates that the element has additional power model information contained in the Associated PowerManagementService association. OperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today ’ s environment to the future. This change was not made earlier because it required the deprecated qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly recommended that providers or instrumentation provide both the Status and OperationalStatus properties. Further, the first value of OperationalStatus should contain the primary status for the element. When instrumented, Status (because it is single-valued) should also provide the primary status of the element. CIM_ManagedSystemElement ValueMap string [See below.] CIM_ManagedSystemElement Values string Unknown
Other
OK
Degraded
Stressed
Predictive Failure
Error
Non-Recoverable Error
Starting
Stopping
Stopped
In Service
No Contact
Lost Communication
Aborted
Dormant
Supporting Entity in Error
Completed
Power Mode
DMTF Reserved
Vendor ReservedCIM_ManagedSystemElement ArrayType string Indexed CIM_ManagedSystemElement ModelCorrespondence string CIM_ManagedSystemElement.StatusDescriptions CIM_ManagedSystemElement
Name Value 0 Unknown 1 Other 2 OK 3 Degraded 4 Stressed 5 Predictive Failure 6 Error 7 Non-Recoverable Error 8 Starting 9 Stopping 10 Stopped 11 In Service 12 No Contact 13 Lost Communication 14 Aborted 15 Dormant 16 Supporting Entity in Error 17 Completed 18 Power Mode .. DMTF Reserved 0x8000.. Vendor Reserved
Property StatusDescriptions Qualifiers Name Type Value From Class Description string Strings describing the various OperationalStatus array values. For example, if " Stopping " is the value assigned to OperationalStatus, then this property may contain an explanation as to why an object is being stopped. Note that entries in this array are correlated with those at the same array index in OperationalStatus. CIM_ManagedSystemElement ArrayType string Indexed CIM_ManagedSystemElement ModelCorrespondence string CIM_ManagedSystemElement.OperationalStatus CIM_ManagedSystemElement
Property Status Qualifiers Name Type Value From Class Description string A string indicating the current status of the object. Various operational and non-operational statuses are defined. This property is deprecated in lieu of OperationalStatus, which includes the same semantics in its enumeration. This change is made for 3 reasons: 1) Status is more correctly defined as an array. This definition overcomes the limitation of describing status using a single value, when it is really a multi-valued property (for example, an element might be OK AND Stopped. 2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values. 3) The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property and did not want to modify their code. Therefore, Status was grandfathered into the Schema. Use of the deprecated qualifier allows the maintenance of the existing property, but also permits an improved definition using OperationalStatus. CIM_ManagedSystemElement ValueMap string [See below.] CIM_ManagedSystemElement MaxLen uint32 10 CIM_ManagedSystemElement
Name Value OK [none] Error [none] Degraded [none] Unknown [none] Pred Fail [none] Starting [none] Stopping [none] Service [none] Stressed [none] NonRecover [none] No Contact [none] Lost Comm [none] Stopped [none]
Property HealthState Qualifiers Name Type Value From Class Description string Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its subcomponents. The possible values are 0 to 30, where 5 means the element is entirely healthy and 30 means the element is completely non-functional. The following continuum is defined: " Non-recoverable Error " (30) - The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost. " Critical Failure " (25) - The element is non-functional and recovery might not be possible. " Major Failure " (20) - The element is failing. It is possible that some or all of the functionality of this component is degraded or not working. " Minor Failure " (15) - All functionality is available but some might be degraded. " Degraded/Warning " (10) - The element is in working order and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors. " OK " (5) - The element is fully functional and is operating within normal operational parameters and without error. " Unknown " (0) - The implementation cannot report on HealthState at this time. DMTF has reserved the unused portion of the continuum for additional HealthStates in the future. CIM_ManagedSystemElement ValueMap string [See below.] CIM_ManagedSystemElement Values string Unknown
OK
Degraded/Warning
Minor failure
Major failure
Critical failure
Non-recoverable error
DMTF ReservedCIM_ManagedSystemElement
Name Value 0 Unknown 5 OK 10 Degraded/Warning 15 Minor failure 20 Major failure 25 Critical failure 30 Non-recoverable error .. DMTF Reserved
Property Caption Qualifiers Name Type Value From Class Description string The Caption property is a short textual description (one- line string) of the object. CIM_ManagedElement MaxLen uint32 64 CIM_ManagedElement
Property Description Qualifiers Name Type Value From Class Description string The Description property provides a textual description of the object. CIM_ManagedElement
Property ElementName Qualifiers Name Type Value From Class Description string A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information. Note that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties. CIM_ManagedElement
Method Qualifiers
Method CreateProtocolControllerWithPorts Qualifiers Name Type Value From Class Description string This method creates an appropriate subclass of ProtocolController. In addition to its role of controlling downstream devices, a ProtocolControl is used to provide a central management point for access control with respect to those devices. Certain storage system implementations across multiple vendors require permissions to be established atomically with the creation of a ProtocolController. This method provides this capability via the Privilege and Identity properties. By supplying appropriate information in those properties, this method will assure that appropriate AuthorizedTarget and AuthorizedSubject associations, (as defined in the User and Security Model), are instantiated to restrict access to the logical devices ’ behind ’ it. If multiple target ports are specified in the Ports input parameter, all expose the same view (i.e., have the same unit numbers and permissions). This method does not create the port instances, but does create ProtocolControllerForPort associations between the specified ports and the new ProtocolController. The new ProtocolController is defined to be weak to the same System as the ControllerConfigurationService. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
ID Parameter Missing or Not Unique
Hardware Implementation Requires Null Ports Parameter
Busy
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method DeleteProtocolController Qualifiers Name Type Value From Class Description string The method deletes an instance of ProtocolController and all associations in which this ProtocolController is referenced. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
LogicalDevices Associated to Other ProtocolControllers Not Deleted
Busy
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method AttachDevice Qualifiers Name Type Value From Class Description string This method associates a LogicalDevice subclass (specifically a StorageVolume or MediaAccessDevice subclass) to the referenced ProtocolController. The association is persisted as an instance of ProtocolControllerForUnit. The management instrumentation provider must verify that the logical unit numbers (defined using the DeviceNumber input parameter) are unique for the ProtocolController. When the Protocol Controller is actively masking a device (i.e. is part of an AuthorizedTarget association), the provider should update the access configuration in the underlying hardware as appropriate. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
Invalid LogicalDevice Instance
Device Number Conflict
DeviceNumber Parameter Must Be Provided
Hardware Implementation Requires Null DeviceNumber
Busy
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method DetachDevice Qualifiers Name Type Value From Class Description string This method removes the ProtocolControllerForDevice association subclass between the ProtocolController and a LogicalDevice, such as a StorageVolume or a MediaAccessDevice. When the ProtocolController is actively masking a device (i.e. is part of an AuthorizedTarget association, the management instrumentation provider should update the hardware access configuration when DetachDevice is called. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
LogicalDevice Instance not Associated with Controller
Busy
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method ExposePaths Qualifiers Name Type Value From Class Description string Expose a list of SCSI logical units (such as RAID volumes or tape drives) to a list of initiators through a list of target ports, through one or more SCSIProtocolControllers (SPCs). The parameters for this method are: Job - null if no job created, otherwise this is a reference to the job. LUNames - the list of names of the logical units to use. InitiatorPortIDs - the names of the initiator ports to use. TargetPortIDs - the names of the target ports to use. DeviceNumbers - the device numbers (LUNs) to use. DeviceAccesses - permissions for the logical units. ProtocolControllers - SPCs involved in this operation. There are two modes of operation, create and modify. If a NULL value is passed in for the SPC, then the instrumentation will create at least one SPC that satisfies the request. Depending upon the instrumentation capabilities, more than one SPC MAY be created. (e.g. if CIM_ProtocolControllerMaskingCapabilities.OneHardwareIDPerView is true and more than one initiatorID was passed in, then one SPC per initiatorID will be created). If an SPC is passed in, then the instrumentation attempts to add the new paths to the existing SPC. Depending upon the instrumentation capabilities, this MAY result in the creation of additional SPCs. The instrumentation MAY return an error if honoring this request would violate SCSI semantics. For creating an SPC, the parameters that MUST be specified are dependent upon the SPCAllows* properties in CIM_ProtocolControllerMaskingCapabilities. If SPCAllowsNoLUs is false, the caller MUST specify a list of LUNames. If it is true, the caller MAY specify a list of LUNames or MAY pass in null. If SPCAllowsNoTargets is false and PortsPerView is not ’ All Ports share the same view ’ the caller MUST specify a list of TargetPortIDs. If it is true, the caller MAY specify a list of TargetPortIDs or MAY pass in null. If SPCAllowsNoInitiators is false, the caller MUST specify a list of InitiatorPortIDs. If it is true, the caller MAY specify a list of InitiatorPortIDs or MAY pass in null. If LUNames is not null, the caller MUST specify DeviceAccesses for each logical unit. If the instrumentation ’ s CIM_ProtocolControllerMaskingCapabilities ClientSelectableDeviceNumbers property is TRUE then the client MAY provide a list of device numbers (LUNs) to use for the paths to be created. If is false, the client MUST pass in NULL for this parameter. The LUNames, DeviceNumbers, and DeviceAccesses parameters are mutually indexed arrays - any element in DeviceNumbers or DeviceAccesses will set a property relative to the LogicalDevice instance named in the corresponding element of LUNames. LUNames and DeviceAccesses MUST have the same number of elements. DeviceNumbers MUST be null (asking the instrumentation to assign numbers) or have the same number of elements as LUNames. If these conditions are not met, the instrumentation MUST return a ’ Invalid Parameter ’ status or a CIM_Error. For modifying an SPC, there are three specific use cases identified. The instrumentation MUST support these use cases. Other permutations are allowed, but are vendor-specific. The use cases are: Add LUs to a view, Add initiator IDs to a view, and Add target port IDs to a view. Add LUs to a view requires that the LUNames parameter not be null and that the InitiatorIDs and TargetPortIDs parameters be null. DeviceNumbers MAY be null if ClientSelectableDeviceNumbers is false. DeviceAccesses MUST be specified. Add initiator IDs to a view requires that the LUNames parameter be null, that the InitiatorIDs not be null, and that the TargetPortIDs parameters be null. DeviceNumbers and DeviceAccesses MUST be null. Add target port IDs to a view requires that the LUNames and InitiatorPortIDs parameters be null and is only possible is PortsPerView is ’ Multiple Ports Per View ’ . DeviceNumbers and DeviceAccesses MUST also be null The relevant rules of SCSI semantics are: - an SPC MAY NOT be exposed through a particular host/target port pair that is in use by another SPC. (In other words, an SPC and its associated logical units and ports together correspond to the logical unit inventory provided by SCSI REPORT LUNS and INQUIRY commands) - each LogicalDevice associated to an SPC MUST have a unique ProtocolControllerForUnit DeviceNumber (logical unit number) The instrumentation MUST report an error if the client request would violate one of these rules. If the instrumentation provides PrivilegeManagementService, the results of setting DeviceAccesses MUST be synchronized with PrivilegeManagementService as described in the ProtocolControllerForUnit DeviceAccess description. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
Method Parameters Checked - Job Started
Invalid logical unit ID
Invalid initiator port ID
Invalid target port ID
Invalid permission
Target/initiator combination already exposed
Requested logical unit number in use
Maximum Map Count Exceeded
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method HidePaths Qualifiers Name Type Value From Class Description string Hide a list of SCSI logical units (such as a RAID volume or tape drive) from a list of initiators and/or target ports on a SCSIProtocolController (SPC). The parameters for this method are: Job - null if no job created, otherwise this is a reference to the job. LUNames - the list of names of the logical units to use. InitiatorPortIDs - the names of the initiator ports to use. TargetPortIDs - the names of the target ports to use. ProtocolControllers - SPCs involved in this operation. When hiding logical units, there are three specific use cases identified. The instrumentation MUST support these use cases. Other permutations are allowed, but are vendor-specific. The use cases are: Remove LUs from a view, Remove initiator IDs from a view, and Remove target port IDs from a view. Remove LUs from a view requires that the LUNames parameter not be null and that the InitiatorIDs and TargetPortIDs parameters be null. Remove initiator IDs from a view requires that the LUNames parameter be null, that the InitiatorIDs not be null, and that the TargetPortIDs parameters be null. Remove target port IDs from a view requires that the LUNames and InitiatorPortIDs parameters be null. The disposition of the SPC when the last logical unit, initiator ID, or target port ID is removed depends upon the CIM_ProtocolControllerMaskingCapabilites SPCAllowsNo* properties. If SPCAllowsNoLUs is false, then the SPC is automatically deleted when the last logical unit is removed. If SPCAllowsNoTargets is false, then the SPC is automatically deleted when the last target port ID is removed. If SPCAllowsNoInitiators is false, then the SPC is automatically deleted when the last initiator port ID is removed. In all other cases, the SPC MUST be explicitly deleted via the DeleteInstance intrinsic function. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
Method Parameters Checked - Job Started
Invalid logical unit ID
Invalid initiator port ID
Invalid target port ID
Target/initiator combination not exposed
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method ExposeDefaultLUs Qualifiers Name Type Value From Class Description string Expose a list of SCSI logical units (such as RAID volumes or tape drives) through a ’ default view ’ SCSIProtocolController (SPC) through a list of target ports. The ’ default view ’ SPC exposes logical units to all initiators. This SPC is identified by an association to a StorageHardwareID with Name property set to the empty string. The parameters for this method are: Job - null if no job created, otherwise this is a reference to the job. LUNames - the list of names of the logical units to use. TargetPortIDs - the names of the target ports to use. DeviceNumbers - the device numbers (LUNs) to use. DeviceAccesses - permissions for the logical units. ProtocolControllers - SPCs involved in this operation. There are two modes of operation, create and modify. If a NULL value is passed in for the SPC, then the instrumentation will attempt to create a new default view. If PortsPerView is ’ All Ports share the same view ’ , then there is at most one default view SPC. If PortsPerView is not ’ All Ports share the same view ’ , then there MAY be multiple default view SPCs as long as different ports are associated with each. If an SPC is passed in, then the instrumentation adds the new paths to the existing SPC. The instrumentation MAY return an error if honoring this request would violate SCSI semantics. For creating a default view SPC, the parameters that MUST be specified are dependent upon the SPCAllows* properties in CIM_ProtocolControllerMaskingCapabilities. If SPCAllowsNoLUs is false, the caller MUST specify a list of LUNames. If it is true, the caller MAY specify a list of LUNames or MAY pass in null. If SPCAllowsNoTargets is false, the caller MUST specify a list of TargetPortIDs. If it is true, the caller MAY specify a list of TargetPortIDs or MAY pass in null. If LUNames is not null, the caller MUST specify DeviceAccesses for each logical unit. If the instrumentation ’ s CIM_ProtocolControllerMaskingCapabilities ClientSelectableDeviceNumbers property is TRUE then the client MAY provide a list of device numbers (LUNs) to use for the paths to be created. If is false, the client MUST pass in NULL for this parameter. The LUNames, DeviceNumbers, and DeviceAccesses parameters are mutually indexed arrays - any element in DeviceNumbers or DeviceAccesses will set a property relative to the LogicalDevice instance named in the corresponding element of LUNames. LUNames and DeviceAccesses MUST have the same number of elements. DeviceNumbers MUST be null (asking the instrumentation to assign numbers) or have the same number of elements as LUNames. If these conditions are not met, the instrumentation MUST return a ’ Invalid Parameter ’ status or a CIM_Error. For modifying an SPC, there are two specific use cases identified. The instrumentation MUST support one and the other is required depending on a how a property is set. Other permutations are allowed, but are vendor-specific. The required use case is - Add LUs to a default view. Add LUs to a default view requires that the LUNames parameter not be null and that the TargetPortIDs parameters be null. DeviceNumbers MAY be null if ClientSelectableDeviceNumbers is false. DeviceAccess MUST be specified. Add target port IDs to a default view is only valid if PortsPerView is set to ’ Multiple Ports per View ’ . It requires that the LUNames, DeviceNumbers, and DeviceAccesses MUST also be null The relevant rules of SCSI semantics are: - an SPC MAY NOT be exposed through a particular host/target port pair that is in use by another SPC. (In other words, an SPC and its associated logical units and ports together correspond to the logical unit inventory provided by SCSI REPORT LUNS and INQUIRY commands) - each LogicalDevice associated to an SPC MUST have a unique ProtocolControllerForUnit DeviceNumber (logical unit number) The instrumentation MUST report an error if the client request would violate one of these rules. If the instrumentation provides PrivilegeManagementService, the results of setting DeviceAccesses MUST be synchronized with PrivilegeManagementService as described in the ProtocolControllerForUnit DeviceAccess description. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
Method Parameters Checked - Job Started
Invalid logical unit ID
Invalid target port ID
Invalid permission
Requested logical unit number in use
Maximum Map Count Exceeded
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method HideDefaultLUs Qualifiers Name Type Value From Class Description string Hide a list of SCSI logical units (such as RAID volumes or tape drives) through a list of target ports on a default view SCSIProtocolController (SPC). The parameters for this method are: Job - null if no job created, otherwise this is a reference to the job. LUNames - the list of names of the logical units to use. TargetPortIDs - the names of the target ports to use. ProtocolControllers - SPCs involved in this operation. When hiding logical units, there are two specific use cases identified. The instrumentation MUST support the Remove LUs case and MUST support the remove target port IDs if PortsPerView is set to ’ Multiple Ports per View ’ . Other permutations are allowed, but are vendor-specific. The use cases are: Remove LUs from a default view and Remove target port IDs from a default view. Remove LUs from a default view requires that the LUNames parameter not be null and that the TargetPortIDs parameter be null. Remove target port IDs from a default view is required if PortsPerView is Multiple Ports per view. It requires that the LUNames parameter be null. If both LUNames and TargetIDs parameters are non-null and CIM_ProtocolControllerMaskingCapabilities.MaximumMapCount is 0, then the instrumentation MUST create new SPCs and change associations as necessary to meet the client request and maintain the relevant rules of SCSI in the ExposeDefaultLUs description. If both LUNames and TargetIDs parameters are non-null and CIM_ProtocolControllerMaskingCapabilities.MaximumMapCount is greater than 0, then any client request that cannot be honored by changing associations to the specified SPC will receive a ’ Maximum Map Count Error ’ response. The disposition of the SPC when the last logical unit or target port ID is removed depends upon the CIM_ProtocolControllerMaskingCapabilites SPCAllowsNo* properties. If SPCAllowsNoLUs is false, then the SPC is automatically deleted when the last logical unit is removed. If SPCAllowsNoTargets is false, then the SPC is automatically deleted when the last target port ID is removed. In all other cases, the SPC MUST be explicitly deleted via the DeleteInstance intrinsic function. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Success
Not Supported
Unspecified Error
Timeout
Failed
Invalid Parameter
DMTF Reserved
Method Parameters Checked - Job Started
Invalid logical unit ID
Invalid target port ID
Maximum Map Count Error
Method Reserved
Vendor SpecificCIM_ControllerConfigurationService
Method StartService Qualifiers Name Type Value From Class Description string The StartService method places the Service in the started state. Note that the function of this method overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (such as a persisted value) of the last state request. Invoking the StartService method should set the RequestedState property appropriately. The method returns an integer value of 0 if the Service was successfully started, 1 if the request is not supported, and any other number to indicate an error. In a subclass, the set of possible return codes could be specified using a ValueMap qualifier on the method. The strings to which the ValueMap contents are translated can also be specified in the subclass as a Values array qualifier. Note: The semantics of this method overlap with the RequestStateChange method that is inherited from EnabledLogicalElement. This method is maintained because it has been widely implemented, and its simple " start " semantics are convenient to use. CIM_Service
Method StopService Qualifiers Name Type Value From Class Description string The StopService method places the Service in the stopped state. Note that the function of this method overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (such as a persisted value) of the last state request. Invoking the StopService method should set the RequestedState property appropriately. The method returns an integer value of 0 if the Service was successfully stopped, 1 if the request is not supported, and any other number to indicate an error. In a subclass, the set of possible return codes could be specified using a ValueMap qualifier on the method. The strings to which the ValueMap contents are translated can also be specified in the subclass as a Values array qualifier. Note: The semantics of this method overlap with the RequestStateChange method that is inherited from EnabledLogicalElement. This method is maintained because it has been widely implemented, and its simple " stop " semantics are convenient to use. CIM_Service
Method RequestStateChange Qualifiers Name Type Value From Class Description string Requests that the state of the element be changed to the value specified in the RequestedState parameter. When the requested state change takes place, the EnabledState and RequestedState of the element will be the same. Invoking the RequestStateChange method multiple times could result in earlier requests being overwritten or lost. If 0 is returned, then the task completed successfully and the use of ConcreteJob was not required. If 4096 (0x1000) is returned, then the task will take some time to complete, ConcreteJob will be created, and its reference returned in the output parameter Job. Any other return code indicates an error condition. CIM_EnabledLogicalElement ValueMap string [See below.] CIM_EnabledLogicalElement Values string Completed with No Error
Not Supported
Unknown or Unspecified Error
Cannot complete within Timeout Period
Failed
Invalid Parameter
In Use
DMTF Reserved
Method Parameters Checked - Job Started
Invalid State Transition
Use of Timeout Parameter Not Supported
Busy
Method Reserved
Vendor SpecificCIM_EnabledLogicalElement ModelCorrespondence string CIM_EnabledLogicalElement.RequestedState CIM_EnabledLogicalElement Parameters
Method CreateProtocolControllerWithPorts Parameters Name Type Qualifiers ElementName string IN
Description
ModelCorrespondencePorts string IN
DescriptionProtocol uint16 IN
Description
ValueMap
Values
ModelCorrespondence
Method DeleteProtocolController Parameters Name Type Qualifiers DeleteChildrenProtocolControllers boolean IN
DescriptionDeleteUnits boolean IN
Description
Method AttachDevice Parameters Name Type Qualifiers DeviceNumber string IN
OUT
Description
ModelCorrespondence
Method ExposePaths Parameters Name Type Qualifiers LUNames string Required
IN
Description
ArrayType
ModelCorrespondenceInitiatorPortIDs string IN
Description
ModelCorrespondenceTargetPortIDs string IN
Description
ModelCorrespondenceDeviceNumbers string IN
Description
ArrayType
ModelCorrespondenceDeviceAccesses uint16 IN
Description
ValueMap
Values
ArrayType
ModelCorrespondence
Method HidePaths Parameters Name Type Qualifiers LUNames string Required
IN
Description
ModelCorrespondenceInitiatorPortIDs string IN
Description
ModelCorrespondenceTargetPortIDs string IN
Description
ModelCorrespondence
Method ExposeDefaultLUs Parameters Name Type Qualifiers LUNames string Required
IN
Description
ArrayType
ModelCorrespondenceTargetPortIDs string IN
Description
ModelCorrespondenceDeviceNumbers string IN
Description
ArrayType
ModelCorrespondenceDeviceAccesses uint16 IN
Description
ValueMap
Values
ArrayType
ModelCorrespondence
Method HideDefaultLUs Parameters Name Type Qualifiers LUNames string Required
IN
Description
ModelCorrespondenceTargetPortIDs string IN
Description
ModelCorrespondence
Method RequestStateChange Parameters Name Type Qualifiers RequestedState uint16 IN
Description
ValueMap
Values
ModelCorrespondenceTimeoutPeriod datetime IN
DescriptionParameter Qualifiers
Parameter ElementName Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string The string to be used in the ElementName of the new ProtocolController. CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolController.ElementName CIM_ControllerConfigurationService
Parameter Ports Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string Array of strings containing representations of references to instances of CIM_LogicalPort (or subclass) instances. This is the list of target ports that are associated to the ProtocolController. ProtocolControllerForPort associations are created by the instrumentation associating the new ProtocolController to these ports. If this parameter is null, then all ports in the storage system (this Service ’ s ’ scoping ’ System and all its ComponentCS Systems) are attached to the new ProtocolController. CIM_ControllerConfigurationService
Parameter Protocol Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string The protocol type for the new ProtocolController. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Unknown
Other
SCSICIM_ControllerConfigurationService ModelCorrespondence string CIM_SCSIProtocolController CIM_ControllerConfigurationService
Parameter DeleteChildrenProtocolControllers Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string If true, the management instrumentation provider will also delete ’ child ’ ProtocolControllers (i.e., those defined as Dependent references in instances of AssociatedProtocolController where this ProtocolController is the Antecedent reference). Also, all direct associations involving the ’ child ’ ProtocolControllers will be removed. CIM_ControllerConfigurationService
Parameter DeleteUnits Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string If true, the management instrumentation provider will also delete LogicalDevice instances associated via ProtocolControllerForUnit, to this ProtocolController and its children. (Note that ’ child ’ controllers will only be affected if the DeleteChildrenProtocolControllers input parameter is TRUE). LogicalDevice instances are only deleted if there are NO remaining ProtocolControllerForUnit associations, to other ProtocolControllers. CIM_ControllerConfigurationService
Parameter DeviceNumber Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService OUT boolean true CIM_ControllerConfigurationService Description string The number assigned to ProtocolControllerForUnit.DeviceNumber (if supported by the hardware). Hardware support is indicated by ProtocolControllerMaskingCapabilities.ClientSelectableDeviceNumbers). If the hardware does not support setting the number, but the DeviceNumber has not been established in an existing ProtocolControllerForDevice subclass, then this parameter ’ s value will be used. If the DeviceNumber has been established, then the current number will be reused. CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolControllerForUnit.DeviceNumber CIM_ControllerConfigurationService
Parameter LUNames Qualifiers Name Type Value From Class Required boolean true CIM_ControllerConfigurationService IN boolean true CIM_ControllerConfigurationService Description string An array of IDs of logical unit instances. The LU instances MUST already exist. The members of this array MUST match the Name property of LogicalDevice instances that represent SCSI logical units. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_LogicalDevice.Name
CIM_ControllerConfigurationService.ExposePaths.DeviceNumbers
CIM_ControllerConfigurationService.ExposePaths.DeviceAccessesCIM_ControllerConfigurationService
Parameter InitiatorPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of initiator ports. If existing StorageHardwareID instances exist, they MUST be used. If no StorageHardwareID instance matches, then one is implicitly created. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_StorageHardwareID.StorageID CIM_ControllerConfigurationService
Parameter TargetPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of target ports. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_SCSIProtocolEndpoint.Name CIM_ControllerConfigurationService
Parameter DeviceNumbers Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string A list of logical unit numbers to assign to the corresponding logical unit in the LUNames parameter. (within the context of the elements specified in the other parameters). If the LUNames parameter is null, then this parameter MUST be null. Otherwise, if this parameter is null, all LU numbers are assigned by the hardware or instrumentation. CIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolControllerForUnit.DeviceNumberCIM_ControllerConfigurationService.ExposePaths.LUNames
CIM_ControllerConfigurationService.ExposePaths.DeviceAccessesCIM_ControllerConfigurationService
Parameter DeviceAccesses Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string A list of permissions to assign to the corresponding logical unit in the LUNames parameter. This specifies the permission to assign within the context of the elements specified in the other parameters. Setting this to ’ No Access ’ assigns the DeviceNumber for the associated initiators, but does not grant read or write access. If the LUNames parameter is not null then this parameter MUST be specified. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Unknown
Read Write
Read-Only
No Access
DMTF Reserved
Vendor ReservedCIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolControllerForUnit.DeviceAccessCIM_ControllerConfigurationService.ExposePaths.DeviceNumbers
CIM_ControllerConfigurationService.ExposePaths.LUNamesCIM_ControllerConfigurationService
Parameter LUNames Qualifiers Name Type Value From Class Required boolean true CIM_ControllerConfigurationService IN boolean true CIM_ControllerConfigurationService Description string A list of IDs of logical units. Each LU instance MUST already exist. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_LogicalDevice.Name CIM_ControllerConfigurationService
Parameter InitiatorPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of initiator ports. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_StorageHardwareID.StorageID CIM_ControllerConfigurationService
Parameter TargetPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of target ports. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_SCSIProtocolEndpoint.Name CIM_ControllerConfigurationService
Parameter LUNames Qualifiers Name Type Value From Class Required boolean true CIM_ControllerConfigurationService IN boolean true CIM_ControllerConfigurationService Description string An array of IDs of logical unit instances. The LU instances MUST already exist. The members of this array MUST match the Name property of LogicalDevice instances that represent SCSI logical units. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_LogicalDevice.Name
CIM_ControllerConfigurationService.ExposePaths.DeviceNumbers
CIM_ControllerConfigurationService.ExposePaths.DeviceAccessesCIM_ControllerConfigurationService
Parameter TargetPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of target ports. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_SCSIProtocolEndpoint.Name CIM_ControllerConfigurationService
Parameter DeviceNumbers Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string A list of logical unit numbers to assign to the corresponding logical unit in the LUNames parameter. (within the context of the elements specified in the other parameters). If the LUNames parameter is null, then this parameter MUST be null. Otherwise, if this parameter is null, all LU numbers are assigned by the hardware or instrumentation. CIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolControllerForUnit.DeviceNumberCIM_ControllerConfigurationService.ExposePaths.LUNames
CIM_ControllerConfigurationService.ExposePaths.DeviceAccessesCIM_ControllerConfigurationService
Parameter DeviceAccesses Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string A list of permissions to assign to the corresponding logical unit in the LUNames parameter. This specifies the permission to assign within the context of the elements specified in the other parameters. Setting this to ’ No Access ’ assigns the DeviceNumber for all initiators, but does not grant read or write access. If the LUNames parameter is not null then this parameter MUST be specified. CIM_ControllerConfigurationService ValueMap string [See below.] CIM_ControllerConfigurationService Values string Unknown
Read Write
Read-Only
No Access
DMTF Reserved
Vendor ReservedCIM_ControllerConfigurationService ArrayType string Indexed CIM_ControllerConfigurationService ModelCorrespondence string CIM_ProtocolControllerForUnit.DeviceAccessCIM_ControllerConfigurationService.ExposePaths.DeviceNumbers
CIM_ControllerConfigurationService.ExposePaths.LUNamesCIM_ControllerConfigurationService
Parameter LUNames Qualifiers Name Type Value From Class Required boolean true CIM_ControllerConfigurationService IN boolean true CIM_ControllerConfigurationService Description string A list of IDs of logical units. Each LU instance MUST already exist. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_LogicalDevice.Name CIM_ControllerConfigurationService
Parameter TargetPortIDs Qualifiers Name Type Value From Class IN boolean true CIM_ControllerConfigurationService Description string IDs of target ports. See the method description for conditions where this MAY be null. CIM_ControllerConfigurationService ModelCorrespondence string CIM_SCSIProtocolEndpoint.Name CIM_ControllerConfigurationService
Parameter RequestedState Qualifiers Name Type Value From Class IN boolean true CIM_EnabledLogicalElement Description string The state requested for the element. This information will be placed into the RequestedState property of the instance if the return code of the RequestStateChange method is 0 ( ’ Completed with No Error ’ ), 3 ( ’ Timeout ’ ), or 4096 (0x1000) ( ’ Job Started ’ ). Refer to the description of the EnabledState and RequestedState properties for the detailed explanations of the RequestedState values. CIM_EnabledLogicalElement ValueMap string [See below.] CIM_EnabledLogicalElement Values string Enabled
Disabled
Shut Down
Offline
Test
Defer
Quiesce
Reboot
Reset
DMTF Reserved
Vendor ReservedCIM_EnabledLogicalElement ModelCorrespondence string CIM_EnabledLogicalElement.RequestedState CIM_EnabledLogicalElement
Parameter TimeoutPeriod Qualifiers Name Type Value From Class IN boolean true CIM_EnabledLogicalElement Description string A timeout period that specifies the maximum amount of time that the client expects the transition to the new state to take. The interval format must be used to specify the TimeoutPeriod. A value of 0 or a null parameter indicates that the client has no time requirements for the transition. If this property does not contain 0 or null and the implementation does not support this parameter, a return code of ’ Use Of Timeout Parameter Not Supported ’ must be returned. CIM_EnabledLogicalElement