MSISCSITARGET_ControllerConfigurationService class

Provides methods that allow a client to manipulate Logical Unit Name (LUN) masking in a storage system.

The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties.

Syntax

[Dynamic, Provider("MSiSCSITargetProv"), Version("1.0.0")]
class MSISCSITARGET_ControllerConfigurationService : CIM_ControllerConfigurationService
{
  string   Caption;
  string   Description;
  string   ElementName;
  datetime InstallDate;
  uint16   OperationalStatus[];
  string   StatusDescriptions[];
  string   Status;
  uint16   HealthState;
  uint16   EnabledState = 5;
  string   OtherEnabledState;
  uint16   RequestedState = 12;
  uint16   EnabledDefault = 2;
  datetime TimeOfLastStateChange;
  string   SystemCreationClassName;
  string   SystemName;
  string   CreationClassName;
  string   Name;
  string   PrimaryOwnerName;
  string   PrimaryOwnerContact;
  string   StartMode;
  boolean  Started;
};

Members

The MSISCSITARGET_ControllerConfigurationService class has these types of members:

Methods

The MSISCSITARGET_ControllerConfigurationService class has these methods.

Method Description
DeleteProtocolController Deletes an instance of CIM_ProtocolController and all associations in which this CIM_ProtocolController is referenced.
This method overrides the method inherited from the CIM_ControllerConfigurationService class.
ExposePaths Exposes a list of SCSI logical units, such as RAID volumes or tape drives through one or more CIM_SCSIProtocolController instances (SPCs).
This method overrides the method inherited from the CIM_ControllerConfigurationService class.
AttachDevice Associates a CIM_LogicalDevice subclass, such as CIM_StorageVolume to the referenced CIM_ProtocolController. The association is persisted as an instance of the CIM_ProtocolControllerForUnit class.
This method is inherited from the CIM_ControllerConfigurationService class.
CreateProtocolControllerWithPorts Atomically creates a specified instance of the CIM_ProtocolController class or subclass along with any required CIM_AuthorizedPrivilege, CIM_AuthorizedTarget, and CIM_AuthorizedSubject instances.
This method is inherited from the CIM_ControllerConfigurationService class.
DeleteProtocolController The method deletes an instance of ProtocolController and all associations in which this ProtocolController is referenced.
DetachDevice Removes the CIM_ProtocolControllerForDevice instance association between the specified CIM_ProtocolController and CIM_LogicalDevice instances.
This method is inherited from the CIM_ControllerConfigurationService class.
ExposeDefaultLUs Exposes a list of SCSI logical units, such as RAID volumes or tape drives, through a default view CIM_SCSIProtocolController instance (SPC). A default view SPC exposes logical units to all initiators.
This method is inherited from the CIM_ControllerConfigurationService class.
ExposePaths 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.
HideDefaultLUs Hides a list of SCSI logical units (such as RAID volumes or tape drives) through a list of target ports on a default view CIM_SCSIProtocolController (SPC).
This method is inherited from the CIM_ControllerConfigurationService class.
HidePaths Hide a list of SCSI logical units such as a RAID volume or tape drive from a specified list of initiator and target ports on a CIM_SCSIProtocolController instance (SPC).
This method overrides the method inherited from the CIM_ControllerConfigurationService class.
RequestStateChange Requests that the state of the element be changed to the specified value.
This method is inherited from the CIM_EnabledLogicalElement class.
StartService Places the Service in the started state. Deprecated, instead use the RequestStateChange method.
This method is inherited from the CIM_Service class.
StopService Places the Service in the stopped state. Deprecated, instead use the RequestStateChange method.
This method is inherited from the CIM_Service class.

Properties

The MSISCSITARGET_ControllerConfigurationService class has these properties.

Caption

Data type: string

Access type: Read-only

Qualifiers: MaxLen (64)

The Caption property is a short textual description (one- line string) of the object.

This property is inherited from CIM_ManagedElement.

CreationClassName

Data type: string

Access type: Read-only

Qualifiers: Key, MaxLen (256)

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.

This property is inherited from CIM_Service.

Description

Data type: string

Access type: Read-only

Contains a textual description of the object.

This property is inherited from CIM_ManagedElement.

ElementName

Data type: string

Access type: Read-only

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

This property is inherited from CIM_ManagedElement.

EnabledDefault

Data type: uint16

Access type: Read/write

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

This property is inherited from CIM_EnabledLogicalElement.

Enabled (2)

Disabled (3)

Not Applicable (5)

Enabled but Offline (6)

No Default (7)

Quiesce (9)

DMTF Reserved

10 32767

Vendor Reserved

32768 65535

EnabledState

Data type: uint16

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.OtherEnabledState")

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. Starting (10) indicates that the element is in the process of going to an Enabled state. New requests are queued.

This property is inherited from CIM_EnabledLogicalElement.

Unknown (0)

Other (1)

Enabled (2)

Disabled (3)

Shutting Down (4)

Not Applicable (5)

Enabled but Offline (6)

In Test (7)

Deferred (8)

Quiesce (9)

Starting (10)

DMTF Reserved

11 32767

Vendor Reserved

32768 65535

HealthState

Data type: uint16

Access type: Read-only

Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its sub-components.

This property is inherited from CIM_ManagedSystemElement.

The following values have been defined:

Unknown (0)

The implementation cannot report on HealthState at this time.

OK (5)

The element is fully functional and is operating within normal operational parameters and without error.

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

Minor failure (15)

All functionality is available but some might be degraded.

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.

Critical failure (25)

The element is non-functional and recovery might not be possible.

Non-recoverable error (30)

The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost.

DMTF Reserved

DMTF has reserved the unused portion of the continuum for additional HealthStates in the future.

InstallDate

Data type: datetime

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5")

Indicates when the object was installed. The lack of a value does not indicate that the object is not installed.

This property is inherited from CIM_ManagedSystemElement.

Name

Data type: string

Access type: Read-only

Qualifiers: Key, MaxLen (256)

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.

This property is inherited from CIM_Service.

OperationalStatus

Data type: uint16 array

Access type: Read-only

Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_ManagedSystemElement.StatusDescriptions")

Contains indicators of the current status of the element. The first value of OperationalStatus should contain the primary status for the element.

Note

OperationalStatus replaces the deprecated Status property. Due to the widespread use of the existing Status property in management applications, Microsoft strongly recommends that providers or instrumentation provide both the Status and OperationalStatus properties. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.

This property is inherited from CIM_ManagedSystemElement.

The following values have been defined:

Unknown (0)

Indicates the implementation cannot report on OperationalStatus at this time.

Other (1)

Indicates an undefined state.

OK (2)

Indicates full functionality without errors.

Degraded (3)

Indicates the element is working 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

Stressed (4)

Indicates that the element is functioning, but needs attention. Overload and overheated are examples of Stressed states.

Predictive Failure (5)

Indicates that an element is functioning nominally but predicting a failure in the near future.

Error (6)

Indicates that an error has occurred.

Non-Recoverable Error (7)

A non-recoverable error has occurred.

Starting (8)

The job is starting.

Stopping (9)

The job is stopping.

Stopped (10)

The element has been intentionally stopped.

In Service (11)

Indicates the element is being configured, maintained, cleaned, or otherwise administered.

No Contact (12)

Indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.

Lost Communication (13)

Indicates that the job is known to exist and has been contacted successfully in the past, but is currently unreachable.

Aborted (14)

Indicates the job stopped in an unexpected way. The state and configuration of the job might need to be updated.

Dormant (15)

Indicates that the job is inactive.

Supporting Entity in Error (16)

Indicates that an element on which this job depends is in error. This element may be OK but is unable to function because of the state of a dependent element. An example is a network service or endpoint that cannot function due to lower-layer networking problems.

Completed (17)

Indicates that the job has completed its operation. This value should be combined with either OK, ErrorError, 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 (18)

"Power Mode" indicates that the element has additional power model information contained in the associated PowerManagementService association.

DMTF Reserved

DMTF has reserved this portion of the range for additional OperationalStatus values in the future.

Vendor Reserved

Microsoft has reserved the unused portion of the range for additional OperationalStatus values in the future.

OtherEnabledState

Data type: string

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.EnabledState")

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.

This property is inherited from CIM_EnabledLogicalElement.

PrimaryOwnerContact

Data type: string

Access type: Read/write

Qualifiers: MaxLen (256), MappingStrings ("MIF.DMTF|General Information|001.4")

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

This property is inherited from CIM_Service.

PrimaryOwnerName

Data type: string

Access type: Read/write

Qualifiers: MaxLen (64), MappingStrings ("MIF.DMTF|General Information|001.3")

The name of the primary owner for the service, if one is defined. The primary owner is the initial support contact for the Service.

This property is inherited from CIM_Service.

RequestedState

Data type: uint16

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.EnabledState")

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. Offline (6) indicates that the element has been requested to transition to the Enabled but Offline EnabledState. 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.

This property is inherited from CIM_EnabledLogicalElement.

Enabled (2)

Disabled (3)

Shut Down (4)

No Change (5)

Offline (6)

Test (7)

Deferred (8)

Quiesce (9)

Reboot (10)

Reset (11)

Not Applicable (12)

DMTF Reserved

13 32767

Vendor Reserved

32768 65535

Started

Data type: boolean

Access type: Read-only

Started is a Boolean that indicates whether the Service has been started (TRUE), or stopped (FALSE).

This property is inherited from CIM_Service.

StartMode

Data type: string

Access type: Read-only

Qualifiers: Deprecated ("CIM_Service.EnabledDefault"), MaxLen (10)

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.

This property is inherited from CIM_Service.

("Automatic")

("Manual")

Status

Data type: string

Access type: Read-only

Qualifiers: Deprecated ("CIM_ManagedSystemElement.OperationalStatus"), MaxLen (10)

Contains a string indicating the primary status of the object.

Note

This property is deprecated and replaced by the OperationalStatus property. If you choose to use the Status property for backward compatibility it should be secondary to the OperationalStatus property.

This property is inherited from CIM_ManagedSystemElement.

("OK")

("Error")

("Degraded")

("Unknown")

("Pred Fail")

("Starting")

("Stopping")

("Service")

("Stressed")

("NonRecover")

("No Contact")

("Lost Comm")

("Stopped")

StatusDescriptions

Data type: string array

Access type: Read-only

Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_ManagedSystemElement.OperationalStatus")

Contains strings describing the corresponding values in the OperationalStatus array. For example, if an element in OperationalStatus contains the value Stopping, then the element at the same array index in this property may contain an explanation as to why an object is being stopped.

This property is inherited from CIM_ManagedSystemElement.

SystemCreationClassName

Data type: string

Access type: Read-only

Qualifiers: Key, Propagated ("CIM_System.CreationClassName"), MaxLen (256)

The CreationClassName of the scoping System.

This property is inherited from CIM_Service.

SystemName

Data type: string

Access type: Read-only

Qualifiers: Key, Propagated ("CIM_System.Name"), MaxLen (256)

The Name of the scoping System.

This property is inherited from CIM_Service.

TimeOfLastStateChange

Data type: datetime

Access type: Read-only

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.

This property is inherited from CIM_EnabledLogicalElement.

Requirements

Minimum supported client
None supported
Minimum supported server
Windows Server 2012 R2
Namespace
Root\CIMv2\Storage\iScsiTarget
MOF
SmIscsiTarget.mof
DLL
SMiSCSITargetProv.dll

See also

CIM_ControllerConfigurationService

iSCSI Target Server Reference