IndexTree
SubclassesReferenced ByPropertiesMethods

CIM_ControllerConfigurationService

Superclasses

Subclasses

IBMTSESS_ControllerConfigurationService

Referenced By

none

Description

The ControllerConfigurationService provides methods that allow a client to manipulate LUN Masking in a storage system.

Properties

IdTypeRangeDescription
Keys
SystemCreationClassNamestringMax = 256The scoping System's CreationClassName.  
SystemNamestringMax = 256The scoping System's Name.  
CreationClassNamestringMax = 256CreationClassName indicates the name of the class or the subclass 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.  
NamestringMax = 256The 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 object's Description property.  
Writeable
PrimaryOwnerNamestringMax = 64The name of the primary owner for the service, if one is defined. The primary owner is the initial support contact for the Service.  
PrimaryOwnerContactstringMax = 256A string that provides information on how the primary owner of the Service can be reached (e.g. phone number, email address, ...).  
EnabledDefaultuint16Enabled
Disabled
Not Applicable
Enabled but Offline
No Default
DMTF Reserved
Vendor Reserved
An enumerated value indicating an administrator's default/startup configuration for an element's Enabled State. By default, the element is \"Enabled\" (value=2).  
Read only
StartModestringAutomatic
Manual
StartMode is a string value indicating whether the Service is automatically started by a System, Operating System, etc. or only started upon request. This property is deprecated in lieu of the EnabledDefault property inherited from EnabledLogicalElement, which 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 and did not want to modify their code. Therefore, 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.  
Startedboolean-Started is a boolean indicating whether the Service has been started (TRUE), or stopped (FALSE).  
EnabledStateuint16Unknown
Other
Enabled
Disabled
Shutting Down
Not Applicable
Enabled but Offline
In Test
Deferred
Quiesce
Starting
DMTF Reserved
Vendor Reserved
EnabledState is an integer enumeration that indicates the enabled/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/disabled states: \nEnabled (2) indicates that the element is/could be executing commands, will process any queued commands, and queues new requests. \nDisabled (3) indicates that the element will not execute commands and will drop any new requests. \nShutting Down (4) indicates that the element is in the process of going to a Disabled state. \nNot Applicable (5) indicates the element doesn't support being enabled/disabled. \nEnabled but Offline (6) indicates that the element may be completing commands, and will drop any new requests. \nTest (7) indicates that the element is in a test state. \nDeferred (8) indicates that the element may be completing commands, but will queue any new requests. \nQuiesce (9) indicates that the element is enabled but in a restricted mode. The element's behavior is similar to the Enabled state, but it only processes a restricted set of commands. All other requests are queued. \nStarting (10) indicates that the element is in the process of going to an Enabled state. New requests are queued.  
OtherEnabledStatestring-A string describing the element's enabled/disabled state when the EnabledState property is set to 1 (\"Other\"). This property MUST be set to NULL when EnabledState is any value other than 1.  
RequestedStateuint16Enabled
Disabled
Shut Down
No Change
Offline
Test
Deferred
Quiesce
Reboot
Reset
DMTF Reserved
Vendor Reserved
RequestedState is an integer enumeration indicating 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/disabled states. Note that when EnabledState is set to 5 (\"Not Applicable\"), then this property has no meaning. By default, the element's RequestedState is 5 (\"No Change\"). Refer to the EnabledState's property Description for explanations of the values in the RequestedState enumeration. \n\nIt 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). The former, Reboot, refers to doing a \"Shut Down\" and then moving to an \"Enabled\" state. The latter, Reset, indicates that the element is first \"Disabled\" and then \"Enabled\". The distinction between requesting \"Shut Down\" and \"Disabled\" should also be noted. The former, Shut Down, requests an orderly transition to the Disabled state, and MAY involve removing power, to completely erase any existing state. The latter, the Disabled state, requests an immediate disabling of the element, such that it will not execute or accept any commands or processing requests. \n\nThis property is set as the result of a method invocation (such as Start or StopService on CIM_Service), or may be overridden and defined as WRITEable in a subclass. The method approach is considered superior to a WRITEable property, since it allows an explicit invocation of the operation and the return of a result code.  
TimeOfLastStateChangedatetime-The date/time when the element's EnabledState 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.  
InstallDatedatetime-A datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.  
OperationalStatusuint16[ ]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 Reserved
Indicates the current status(es) of the element. Various health and operational statuses are defined. Many of the enumeration's values are self- explanatory. However, a few are not and are described in more detail. \n\"Stressed\" indicates that the element is functioning, but needs attention. Examples of \"Stressed\" states are overload, overheated, etc. \n\"Predictive Failure\" indicates that an element is functioning nominally but predicting a failure in the near future. \n\"In Service\" describes an element being configured, maintained, cleaned, or otherwise administered. \n\"No Contact\" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it. \n\"Lost Communication\" indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable. \n\"Stopped\" and \"Aborted\" are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the element's state and configuration may need to be updated. \n\"Dormant\" indicates that the element is inactive or quiesced. \n\"Supporting Entity in Error\" describes that this element may 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. \n\"Completed\" indicates the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can till if the complete operation passed (Completed with OK), and failure (Completed with Error). Completed with Degraded would imply the operation finished, but did not complete OK or report an error. \n\"Power Mode\" indicates the element has additional power model information contained in the Associated PowerManagementService association. \nOperationalStatus 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 since it required the DEPRECATED qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly RECOMMENDED that providers/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 (since it is single-valued) SHOULD also provide the primary status of the element.  
StatusDescriptionsstring[ ]-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.  
StatusstringOK
Error
Degraded
Unknown
Pred Fail
Starting
Stopping
Service
Stressed
NonRecover
No Contact
Lost Comm
Stopped
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 overcomes the limitation of describing status via a single value, when it is really a multi-valued property (for example, an element may be OK AND Stopped. 2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values. And, 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.  
CaptionstringMax = 64The Caption property is a short textual description (one- line string) of the object.  
Descriptionstring-The Description property provides a textual description of the object.  
ElementNamestring-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. \nNote that ManagedSystemElement's Name property 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 MAY be present in both the Name and ElementName properties.  

Method Summary

NameDescription
CreateProtocolControllerWithPortsThis method creates an appropriate subclass of ProtocolController.
DeleteProtocolControllerThe method deletes an instance of ProtocolController and all associations in which this ProtocolController is referenced.
AttachDeviceThis method associates a LogicalDevice subclass (specifically a StorageVolume or MediaAccessDevice subclass) to the referenced ProtocolController.
DetachDeviceThis method removes the ProtocolControllerForDevice association subclass between the ProtocolController and a LogicalDevice, such as a StorageVolume or a MediaAccessDevice.
StartServiceThe StartService method places the Service in the started state.
StopServiceThe StopService method places the Service in the stopped state.
RequestStateChangeRequests that the element's state be changed to the value specified in the RequestedState parameter.

Method Detail


CreateProtocolControllerWithPorts

StaticThis 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. \nIf 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.

Parameters

IdTypeRangeDescription
In
ElementNamestring-The string to be used in the ElementName of the new ProtocolController.  
Protocoluint16Unknown
Other
SCSI
The protocol type for the new ProtocolController.  
Out
ElementNamestring-The string to be used in the ElementName of the new ProtocolController.  
Protocoluint16Unknown
Other
SCSI
The protocol type for the new ProtocolController.  
Return CodesId
Success0
Not Supported1
Unspecified Error2
Timeout3
Failed4
Invalid Parameter5
DMTF Reserved6..4095
ID Parameter Missing or Not Unique4096
Hardware Implementation Requires Null Ports Parameter4097
Busy4098
Method Reserved4099..32767
Vendor Specific32768..65535

DeleteProtocolController

StaticThe method deletes an instance of ProtocolController and all associations in which this ProtocolController is referenced.

Parameters

IdTypeRangeDescription
In
DeleteChildrenProtocolControllersboolean-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.  
DeleteUnitsboolean-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.  
Out
DeleteChildrenProtocolControllersboolean-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.  
Return CodesId
Success0
Not Supported1
Unspecified Error2
Timeout3
Failed4
Invalid Parameter5
DMTF Reserved6..4095
LogicalDevices Associated to Other ProtocolControllers Not Deleted4096
Busy4097
Method Reserved4098..32767
Vendor Specific32768..65535

AttachDevice

StaticThis 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 ProtocolController 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.

Parameters

IdTypeRangeDescription
In
DeviceNumberstring-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.  
Out
DeviceNumberstring-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.  
Return CodesId
Success0
Not Supported1
Unspecified Error2
Timeout3
Failed4
Invalid Parameter5
DMTF Reserved6..4095
Invalid LogicalDevice Instance4096
Device Number Conflict4097
DeviceNumber Parameter Must Be Provided4098
Hardware Implementation Requires Null DeviceNumber4099
Busy4100
Method Reserved4101..32767
Vendor Specific32768..65535

DetachDevice

StaticThis 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.

Parameters

IdTypeRangeDescription
Return CodesId
Success0
Not Supported1
Unspecified Error2
Timeout3
Failed4
Invalid Parameter5
DMTF Reserved6..4095
LogicalDevice Instance not Associated with Controller4096
Busy4097
Method Reserved4098..32767
Vendor Specific32768..65535

StartService

StaticThe StartService method places the Service in the started state. Note that this method's function overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (i.e., 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' may also be specified in the subclass as a Values array qualifier. \n\nNote that this method overlaps in semantics with the RequestStateChange method inherited from EnabledLogicalElement. This method is maintained since it has been widely implemented, and its simple 'start' semantics are convenient to use.

Parameters

IdTypeRangeDescription
Return CodesId

StopService

StaticThe StopService method places the Service in the stopped state. Note that this method's function overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (i.e., 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' may also be specified in the subclass as a Values array qualifier. \n\nNote that this method overlaps in semantics with the RequestStateChange method inherited from EnabledLogicalElement. This method is maintained since it has been widely implemented, and its simple 'stop' semantics are convenient to use.

Parameters

IdTypeRangeDescription
Return CodesId

RequestStateChange

StaticRequests that the element's state be changed to the value specified in the RequestedState parameter. When the requested state change takes place, the element's EnabledState and RequestedState will be the same. Invoking the RequestStateChange method multiple times could result in earlier requests being overwritten/lost. \nIf 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.

Parameters

IdTypeRangeDescription
In
RequestedStateuint16Enabled
Disabled
Shut Down
Offline
Test
Defer
Quiesce
Reboot
Reset
DMTF Reserved
Vendor Reserved
The state requested for the element. This information will be placed into the instance's RequestedState property if the RequestStateChange method's return code is 0, 3, or 4096 (0x1000) - 'Completed with No Error', 'Timeout', or 'Job Started' respectively. Refer to the description of the EnabledState and RequestedState properties for the detailed meanings of the RequestedState values.  
TimeoutPerioddatetime-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. \nIf this property does not contain 0 or null and the implementation doesn't support this parameter. A return code of 'Use Of Timeout Parameter Not Supported' MUST be returned.  
Return CodesId
Completed with No Error0
Not Supported1
Unknown/Unspecified Error2
Can NOT complete within Timeout Period3
Failed4
Invalid Parameter5
In Use6
DMTF Reserved..
Method Parameters Checked - Job Started4096
Invalid State Transition4097
Use of Timeout Parameter Not Supported4098
Busy4099
Method Reserved4100..32767
Vendor Specific32768..65535