HP 3PAR CIM API Programming Reference (OS 3.1.2 MU2) (QL226-97015, June 2013)

"For creating an SPC, all parameters, except ProtocolControllers, "
"MUST be specified since SPCAllowsNoLUs, SPCAllowsNoTargets and "
"SPCAllowsNoInitiators properties are all false, and "
"ClientSelectableDeviceNumbers property is true, for a HP 3PAR "
"Storage System. \n"
"\n"
"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, DeviceNumbers and DeviceAccesses MUST "
"have the same number of elements. If these conditions are "
"not met, the instrumentation MUST return a 'Invalid Parameter' "
"status or a CIM_Error. \n"
"\n"
"For modifying an SPC, the HP 3PAR Storage System supports only "
"the Add LUs to a view use case."
"Add LUs to a view requires that the LUNames and DeviceNumbers "
"parameters not be null and that the InitiatorIDs and TargetPortIDs "
"parameters be null. \n"
"\n"
"The relevant rules of SCSI semantics are: \n"
"- 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) \n"
"- each LogicalDevice associated to an SPC MUST have a "
"unique ProtocolControllerForUnit DeviceNumber (logical unit "
"number) \n"
"The instrumentation MUST report an error if the client "
"request would violate one of these rules. \n"
"\n"
"If the instrumentation provides PrivilegeManagementService, "
"the results of setting DeviceAccesses MUST be synchronized "
"with PrivilegeManagementService as described in the "
"ProtocolControllerForUnit DeviceAccess description."),
ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096",
"4097", "4098", "4099", "4100", "4101", "4102", "4103",
"4104..32767", "32768..65535" },
Values { "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 Specific" }]
uint32 ExposePaths (
[IN ( false ), OUT, Description (
"Reference to the job if 'Method Parameters Checked - Job "
"Started' is returned (MAY be null if job completed).")]
CIM_ConcreteJob REF Job,
[Required, IN, Description (
"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."),
ModelCorrespondence { "CIM_LogicalDevice.Name"}]
string LUNames[],
[IN, Description (
"IDs of initiator ports. If existing StorageHardwareID "
"instances exist, they MUST be used. Implicit creation "
"of StorageHardwareID if no instance matches is "
"NOT supported."),
3PAR_TPD.mof 209