(file) Return to CIM_ControllerConfigurationService.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM231 / DMTF / Device

  1 marek 1.1 // Copyright (c) 2005 DMTF.  All rights reserved.
  2              [Version ( "2.10.0" ), 
  3               UMLPackagePath ( "CIM::Device::ProtocolController" ), 
  4               Description ( 
  5                  "The ControllerConfigurationService provides methods that allow "
  6                  "a client to manipulate LUN Masking in a storage system." )]
  7           class CIM_ControllerConfigurationService : CIM_Service {
  8           
  9           
 10                 [Description ( 
 11                     "This method creates an appropriate subclass of "
 12                     "ProtocolController. In addition to its role of "
 13                     "controlling downstream devices, a ProtocolControl is "
 14                     "used to provide a central management point for access "
 15                     "control with respect to those devices. Certain storage "
 16                     "system implementations across multiple vendors require "
 17                     "permissions to be established atomically with the "
 18                     "creation of a ProtocolController. This method provides "
 19                     "this capability via the Privilege and Identity "
 20                     "properties. By supplying appropriate information in "
 21                     "those properties, this method will assure that "
 22 marek 1.1           "appropriate AuthorizedTarget and AuthorizedSubject "
 23                     "associations, (as defined in the User and Security "
 24                     "Model), are instantiated to restrict access to the "
 25                     "logical devices \'behind\' it. \n"
 26                     "If multiple target ports are specified in the Ports "
 27                     "input parameter, all expose the same view (i.e., have "
 28                     "the same unit numbers and permissions). This method does "
 29                     "not create the port instances, but does create "
 30                     "ProtocolControllerForPort associations between the "
 31                     "specified ports and the new ProtocolController. The new "
 32                     "ProtocolController is defined to be weak to the same "
 33                     "System as the ControllerConfigurationService." ), 
 34                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
 35                     "4097", "4098", "4099..32767", "32768..65535" }, 
 36                  Values { "Success", "Not Supported", "Unspecified Error", 
 37                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
 38                     "ID Parameter Missing or Not Unique", 
 39                     "Hardware Implementation Requires Null Ports Parameter", 
 40                     "Busy", "Method Reserved", "Vendor Specific" }]
 41              uint32 CreateProtocolControllerWithPorts(
 42                    [IN, Description ( 
 43 marek 1.1              "The string to be used in the ElementName of the "
 44                        "new ProtocolController." ), 
 45                     ModelCorrespondence { 
 46                        "CIM_ProtocolController.ElementName" }]
 47                 string ElementName, 
 48                    [IN, Description ( 
 49                        "Array of strings containing representations of "
 50                        "references to instances of CIM_LogicalPort (or "
 51                        "subclass) instances. This is the list of target "
 52                        "ports that are associated to the "
 53                        "ProtocolController. ProtocolControllerForPort "
 54                        "associations are created by the instrumentation "
 55                        "associating the new ProtocolController to these "
 56                        "ports. If this parameter is null, then all ports "
 57                        "in the storage system (this Service\'s \'scoping\' "
 58                        "System and all its ComponentCS Systems) are "
 59                        "attached to the new ProtocolController." )]
 60                 string Ports[], 
 61                    [IN, Description ( 
 62                        "The protocol type for the new ProtocolController." ), 
 63                     ValueMap { "0", "1", "2" }, 
 64 marek 1.1           Values { "Unknown", "Other", "SCSI" }, 
 65                     ModelCorrespondence { "CIM_SCSIProtocolController" }]
 66                 uint16 Protocol, 
 67                    [IN, Description ( 
 68                        "Reference to a CIM_Privilege (or subclass) "
 69                        "instance to be used as a template. If supplied, it "
 70                        "has a 1:1 correspondence with the Identity "
 71                        "parameter and this method will atomically create "
 72                        "the new ProtocolController instance and related "
 73                        "AuthorizedPrivilege, AuthorizedTarget and "
 74                        "AuthorizedSubject instances. \n"
 75                        "Note: if "
 76                        "ProtocolControllerRequiresAuthorizedIdentity is "
 77                        "true, then the Identity/Privilege pair MUST be "
 78                        "specified. If false, then the Identity/Privilege "
 79                        "pair MUST NOT be specified." ), 
 80                     ModelCorrespondence { 
 81                        "CIM_ControllerConfigurationService.CreateProtocolControllerWithPorts.Identity" }]
 82                 CIM_Privilege REF Privilege, 
 83                    [IN, Description ( 
 84                        "Reference to a CIM_ManagedElement (or subclass) "
 85 marek 1.1              "instance. This ManagedElement MUST be either a "
 86                        "CIM_Identity, or a CIM_Collection (or subclass, "
 87                        "eg. SystemSpecificCollection, Role, or Group) that "
 88                        "has CIM_Identities as MemberOfCollection. If "
 89                        "ProtocolControllerMaskingCapabilities.ProtocolControllerSupportsCollection "
 90                        "is false, the reference MUST be to a CIM_Identity "
 91                        "(or subclass). If present, it has a 1:1 "
 92                        "correspondence with the Privilege property. If "
 93                        "present, this method will atomically create the "
 94                        "new ProtocolController instance and instantiate a "
 95                        "missing AuthorizedSubject association between the "
 96                        "Privilege/Identity pair; and instantiate an "
 97                        "AuthorizedTarget association between the "
 98                        "AuthorizedPrivilege and the new "
 99                        "ProtocolController. \n"
100                        "Note: if "
101                        "ProtocolControllerRequiresAuthorizedIdentity is "
102                        "true, then at least the Identity/Privilege pair "
103                        "MUST be specified." ), 
104                     ModelCorrespondence { 
105                        "CIM_ControllerConfigurationService.CreateProtocolControllerWithPorts.Privilege" }]
106 marek 1.1       CIM_ManagedElement REF Identity, 
107                    [IN ( false ), OUT, Description ( 
108                        "A reference to the new ProtocolController that is created."
109                         )]
110                 CIM_ProtocolController REF ProtocolController);
111           
112                 [Description ( 
113                     "The method deletes an instance of ProtocolController and "
114                     "all associations in which this ProtocolController is "
115                     "referenced." ), 
116                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
117                     "4097", "4098..32767", "32768..65535" }, 
118                  Values { "Success", "Not Supported", "Unspecified Error", 
119                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
120                     "LogicalDevices Associated to Other ProtocolControllers Not Deleted", 
121                     "Busy", "Method Reserved", "Vendor Specific" }]
122              uint32 DeleteProtocolController(
123                    [IN, Description ( 
124                        "The ProtocolController to be deleted." )]
125                 CIM_ProtocolController REF ProtocolController, 
126                    [IN, Description ( 
127 marek 1.1              "If true, the management instrumentation provider "
128                        "will also delete \'child\' ProtocolControllers "
129                        "(i.e., those defined as Dependent references in "
130                        "instances of AssociatedProtocolController where "
131                        "this ProtocolController is the Antecedent "
132                        "reference). Also, all direct associations "
133                        "involving the \'child\' ProtocolControllers will "
134                        "be removed." )]
135                 boolean DeleteChildrenProtocolControllers, 
136                    [IN, Description ( 
137                        "If true, the management instrumentation provider "
138                        "will also delete LogicalDevice instances "
139                        "associated via ProtocolControllerForUnit, to this "
140                        "ProtocolController and its children. (Note that "
141                        "\'child\' controllers will only be affected if the "
142                        "DeleteChildrenProtocolControllers input parameter "
143                        "is TRUE). LogicalDevice instances are only deleted "
144                        "if there are NO remaining "
145                        "ProtocolControllerForUnit associations, to other "
146                        "ProtocolControllers." )]
147                 boolean DeleteUnits);
148 marek 1.1 
149                 [Description ( 
150                     "This method associates a LogicalDevice subclass "
151                     "(specifically a StorageVolume or MediaAccessDevice "
152                     "subclass) to the referenced ProtocolController. The "
153                     "association is persisted as an instance of "
154                     "ProtocolControllerForUnit. The management "
155                     "instrumentation provider must verify that the logical "
156                     "unit numbers (defined using the DeviceNumber input "
157                     "parameter) are unique for the ProtocolController. When "
158                     "the Protocol Controller is actively masking a device "
159                     "(i.e. is part of an AuthorizedTarget association), the "
160                     "provider should update the access configuration in the "
161                     "underlying hardware as appropriate." ), 
162                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
163                     "4097", "4098", "4099", "4100", "4101..32767", 
164                     "32768..65535" }, 
165                  Values { "Success", "Not Supported", "Unspecified Error", 
166                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
167                     "Invalid LogicalDevice Instance", 
168                     "Device Number Conflict", 
169 marek 1.1           "DeviceNumber Parameter Must Be Provided", 
170                     "Hardware Implementation Requires Null DeviceNumber", 
171                     "Busy", "Method Reserved", "Vendor Specific" }]
172              uint32 AttachDevice(
173                    [IN, Description ( "The ProtocolController instance." )]
174                 CIM_ProtocolController REF ProtocolController, 
175                    [IN, Description ( 
176                        "The LogicalDevice instance to attach." )]
177                 CIM_LogicalDevice REF Device, 
178                    [IN, OUT, Description ( 
179                        "The number assigned to "
180                        "ProtocolControllerForUnit.DeviceNumber (if "
181                        "supported by the hardware). Hardware support is "
182                        "indicated by "
183                        "ProtocolControllerMaskingCapabilities.ClientSelectableDeviceNumbers). "
184                        "If the hardware does not support setting the "
185                        "number, but the DeviceNumber has not been "
186                        "established in an existing "
187                        "ProtocolControllerForDevice subclass, then this "
188                        "parameter\'s value will be used. If the "
189                        "DeviceNumber has been established, then the "
190 marek 1.1              "current number will be reused." ), 
191                     ModelCorrespondence { 
192                        "CIM_ProtocolControllerForUnit.DeviceNumber" }]
193                 string DeviceNumber);
194           
195                 [Description ( 
196                     "This method removes the ProtocolControllerForDevice "
197                     "association subclass between the ProtocolController and "
198                     "a LogicalDevice, such as a StorageVolume or a "
199                     "MediaAccessDevice. When the ProtocolController is "
200                     "actively masking a device (i.e. is part of an "
201                     "AuthorizedTarget association, the management "
202                     "instrumentation provider should update the hardware "
203                     "access configuration when DetachDevice is called." ), 
204                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
205                     "4097", "4098..32767", "32768..65535" }, 
206                  Values { "Success", "Not Supported", "Unspecified Error", 
207                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
208                     "LogicalDevice Instance not Associated with Controller", 
209                     "Busy", "Method Reserved", "Vendor Specific" }]
210              uint32 DetachDevice(
211 marek 1.1          [IN, Description ( "The ProtocolController instance." )]
212                 CIM_ProtocolController REF ProtocolController, 
213                    [IN, Description ( 
214                        "The LogicalDevice instance to detach." )]
215                 CIM_LogicalDevice REF Device);
216           
217                 [Description ( 
218                     "Expose a list of SCSI logical units (such as RAID "
219                     "volumes or tape drives) to a list of initiators through "
220                     "a list of target ports, through one or more "
221                     "SCSIProtocolControllers (SPCs). \n"
222                     "\n"
223                     "The parameters for this method are: Job - null if no job "
224                     "created, otherwise this is a reference to the job. "
225                     "LUNames - the list of names of the logical units to use. "
226                     "InitiatorPortIDs - the names of the initiator ports to "
227                     "use. TargetPortIDs - the names of the target ports to "
228                     "use. DeviceNumbers - the device numbers (LUNs) to use. "
229                     "DeviceAccesses - permissions for the logical units. "
230                     "ProtocolControllers - SPCs involved in this operation. \n"
231                     "\n"
232 marek 1.1           "There are two modes of operation, create and modify. If "
233                     "a NULL value is passed in for the SPC, then the "
234                     "instrumentation will create at least one SPC that "
235                     "satisfies the request. Depending upon the "
236                     "instrumentation capabilities, more than one SPC MAY be "
237                     "created. (e.g. if "
238                     "CIM_ProtocolControllerMaskingCapabilities.OneHardwareIDPerView "
239                     "is true and more than one initiatorID was passed in, "
240                     "then one SPC per initiatorID will be created). If an SPC "
241                     "is passed in, then the instrumentation attempts to add "
242                     "the new paths to the existing SPC. Depending upon the "
243                     "instrumentation capabilities, this MAY result in the "
244                     "creation of additional SPCs. The instrumentation MAY "
245                     "return an error if honoring this request would violate "
246                     "SCSI semantics. \n"
247                     "\n"
248                     "For creating an SPC, the parameters that MUST be "
249                     "specified are dependent upon the SPCAllows* properties "
250                     "in CIM_ProtocolControllerMaskingCapabilities. If "
251                     "SPCAllowsNoLUs is false, the caller MUST specify a list "
252                     "of LUNames. If it is true, the caller MAY specify a list "
253 marek 1.1           "of LUNames or MAY pass in null. If SPCAllowsNoTargets is "
254                     "false and PortsPerView is not \'All Ports share the same "
255                     "view\' the caller MUST specify a list of TargetPortIDs. "
256                     "If it is true, the caller MAY specify a list of "
257                     "TargetPortIDs or MAY pass in null. If "
258                     "SPCAllowsNoInitiators is false, the caller MUST specify "
259                     "a list of InitiatorPortIDs. If it is true, the caller "
260                     "MAY specify a list of InitiatorPortIDs or MAY pass in "
261                     "null. If LUNames is not null, the caller MUST specify "
262                     "DeviceAccesses for each logical unit. If the "
263                     "instrumentation\'s "
264                     "CIM_ProtocolControllerMaskingCapabilities "
265                     "ClientSelectableDeviceNumbers property is TRUE then the "
266                     "client MAY provide a list of device numbers (LUNs) to "
267                     "use for the paths to be created. If is false, the client "
268                     "MUST pass in NULL for this parameter. \n"
269                     "\n"
270                     "The LUNames, DeviceNumbers, and DeviceAccesses "
271                     "parameters are mutually indexed arrays - any element in "
272                     "DeviceNumbers or DeviceAccesses will set a property "
273                     "relative to the LogicalDevice instance named in the "
274 marek 1.1           "corresponding element of LUNames. LUNames and "
275                     "DeviceAccesses MUST have the same number of elements. "
276                     "DeviceNumbers MUST be null (asking the instrumentation "
277                     "to assign numbers) or have the same number of elements "
278                     "as LUNames. If these conditions are not met, the "
279                     "instrumentation MUST return a \'Invalid Parameter\' "
280                     "status or a CIM_Error. \n"
281                     "\n"
282                     "For modifying an SPC, there are three specific use cases "
283                     "identified. The instrumentation MUST support these use "
284                     "cases. Other permutations are allowed, but are "
285                     "vendor-specific. The use cases are: Add LUs to a view, "
286                     "Add initiator IDs to a view, and Add target port IDs to "
287                     "a view. Add LUs to a view requires that the LUNames "
288                     "parameter not be null and that the InitiatorIDs and "
289                     "TargetPortIDs parameters be null. DeviceNumbers MAY be "
290                     "null if ClientSelectableDeviceNumbers is false. "
291                     "DeviceAccesses MUST be specified. Add initiator IDs to a "
292                     "view requires that the LUNames parameter be null, that "
293                     "the InitiatorIDs not be null, and that the TargetPortIDs "
294                     "parameters be null. DeviceNumbers and DeviceAccesses "
295 marek 1.1           "MUST be null. Add target port IDs to a view requires "
296                     "that the LUNames and InitiatorPortIDs parameters be null "
297                     "and is only possible is PortsPerView is \'Multiple Ports "
298                     "Per View\'. DeviceNumbers and DeviceAccesses MUST also "
299                     "be null \n"
300                     "\n"
301                     "The relevant rules of SCSI semantics are: \n"
302                     "- an SPC MAY NOT be exposed through a particular "
303                     "host/target port pair that is in use by another SPC. (In "
304                     "other words, an SPC and its associated logical units and "
305                     "ports together correspond to the logical unit inventory "
306                     "provided by SCSI REPORT LUNS and INQUIRY commands) \n"
307                     "- each LogicalDevice associated to an SPC MUST have a "
308                     "unique ProtocolControllerForUnit DeviceNumber (logical "
309                     "unit number) \n"
310                     "The instrumentation MUST report an error if the client "
311                     "request would violate one of these rules. \n"
312                     "\n"
313                     "If the instrumentation provides "
314                     "PrivilegeManagementService, the results of setting "
315                     "DeviceAccesses MUST be synchronized with "
316 marek 1.1           "PrivilegeManagementService as described in the "
317                     "ProtocolControllerForUnit DeviceAccess description." ), 
318                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
319                     "4097", "4098", "4099", "4100", "4101", "4102", "4103", 
320                     "4104..32767", "32768..65535" }, 
321                  Values { "Success", "Not Supported", "Unspecified Error", 
322                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
323                     "Method Parameters Checked - Job Started", 
324                     "Invalid logical unit ID", "Invalid initiator port ID", 
325                     "Invalid target port ID", "Invalid permission", 
326                     "Target/initiator combination already exposed", 
327                     "Requested logical unit number in use", 
328                     "Maximum Map Count Exceeded", "Method Reserved", 
329                     "Vendor Specific" }]
330              uint32 ExposePaths(
331                    [IN ( false ), OUT, Description ( 
332                        "Reference to the job if \'Method Parameters "
333                        "Checked - Job Started\' is returned (MAY be null "
334                        "if job completed)." )]
335                 CIM_ConcreteJob REF Job, 
336                    [Required, IN, Description ( 
337 marek 1.1              "An array of IDs of logical unit instances. The LU "
338                        "instances MUST already exist. The members of this "
339                        "array MUST match the Name property of "
340                        "LogicalDevice instances that represent SCSI "
341                        "logical units. See the method description for "
342                        "conditions where this MAY be null." ), 
343                     ArrayType ( "Indexed" ), 
344                     ModelCorrespondence { "CIM_LogicalDevice.Name", 
345                        "CIM_ControllerConfigurationService.ExposePaths.DeviceNumbers", 
346                        "CIM_ControllerConfigurationService.ExposePaths.DeviceAccesses" }]
347                 string LUNames[], 
348                    [IN, Description ( 
349                        "IDs of initiator ports. If existing "
350                        "StorageHardwareID instances exist, they MUST be "
351                        "used. If no StorageHardwareID instance matches, "
352                        "then one is implicitly created. See the method "
353                        "description for conditions where this MAY be null." ), 
354                     ModelCorrespondence { "CIM_StorageHardwareID.StorageID" }]
355                 string InitiatorPortIDs[], 
356                    [IN, Description ( 
357                        "IDs of target ports. See the method description "
358 marek 1.1              "for conditions where this MAY be null." ), 
359                     ModelCorrespondence { "CIM_SCSIProtocolEndpoint.Name" }]
360                 string TargetPortIDs[], 
361                    [IN, Description ( 
362                        "A list of logical unit numbers to assign to the "
363                        "corresponding logical unit in the LUNames "
364                        "parameter. (within the context of the elements "
365                        "specified in the other parameters). If the LUNames "
366                        "parameter is null, then this parameter MUST be "
367                        "null. Otherwise, if this parameter is null, all LU "
368                        "numbers are assigned by the hardware or "
369                        "instrumentation." ), 
370                     ArrayType ( "Indexed" ), 
371                     ModelCorrespondence { 
372                        "CIM_ProtocolControllerForUnit.DeviceNumberCIM_ControllerConfigurationService.ExposePaths.LUNames", 
373                        "CIM_ControllerConfigurationService.ExposePaths.DeviceAccesses" }]
374                 string DeviceNumbers[], 
375                    [IN, Description ( 
376                        "A list of permissions to assign to the "
377                        "corresponding logical unit in the LUNames "
378                        "parameter. This specifies the permission to assign "
379 marek 1.1              "within the context of the elements specified in "
380                        "the other parameters. Setting this to \'No Access\' "
381                        "assigns the DeviceNumber for the associated "
382                        "initiators, but does not grant read or write "
383                        "access. If the LUNames parameter is not null then "
384                        "this parameter MUST be specified." ), 
385                     ValueMap { "0", "2", "3", "4", "5..15999", "16000.." }, 
386                     Values { "Unknown", "Read Write", "Read-Only", 
387                        "No Access", "DMTF Reserved", "Vendor Reserved" }, 
388                     ArrayType ( "Indexed" ), 
389                     ModelCorrespondence { 
390                        "CIM_ProtocolControllerForUnit.DeviceAccessCIM_ControllerConfigurationService.ExposePaths.DeviceNumbers", 
391                        "CIM_ControllerConfigurationService.ExposePaths.LUNames" }]
392                 uint16 DeviceAccesses[], 
393                    [IN, OUT, Description ( 
394                        "An array of references to SCSIProtocolControllers "
395                        "(SPCs). On input, this can be null, or contain "
396                        "exactly one element; there MAY be multiple "
397                        "references on output. If null on input, the "
398                        "instrumentation will create one or more new SPC "
399                        "instances. If an SPC is specified, the "
400 marek 1.1              "instrumentation will attempt to add associations "
401                        "to one or more existing SPCs. If the first array "
402                        "element is a valid SPC reference and SCSI "
403                        "semantics can be preserved, the instrumentation "
404                        "MUST attach associations to the specified SPC. If "
405                        "multiple elements are non-null on input, the "
406                        "instrumentation MUST report an invalid parameter. "
407                        "On output, this is an array of references to SPCs "
408                        "created or modified as the result of processing "
409                        "the request." )]
410                 CIM_SCSIProtocolController REF ProtocolControllers[]);
411           
412                 [Description ( 
413                     "Hide a list of SCSI logical units (such as a RAID volume "
414                     "or tape drive) from a list of initiators and/or target "
415                     "ports on a SCSIProtocolController (SPC). \n"
416                     "\n"
417                     "The parameters for this method are: Job - null if no job "
418                     "created, otherwise this is a reference to the job. "
419                     "LUNames - the list of names of the logical units to use. "
420                     "InitiatorPortIDs - the names of the initiator ports to "
421 marek 1.1           "use. TargetPortIDs - the names of the target ports to "
422                     "use. ProtocolControllers - SPCs involved in this "
423                     "operation. \n"
424                     "\n"
425                     "When hiding logical units, there are three specific use "
426                     "cases identified. The instrumentation MUST support these "
427                     "use cases. Other permutations are allowed, but are "
428                     "vendor-specific. The use cases are: Remove LUs from a "
429                     "view, Remove initiator IDs from a view, and Remove "
430                     "target port IDs from a view. Remove LUs from a view "
431                     "requires that the LUNames parameter not be null and that "
432                     "the InitiatorIDs and TargetPortIDs parameters be null. "
433                     "Remove initiator IDs from a view requires that the "
434                     "LUNames parameter be null, that the InitiatorIDs not be "
435                     "null, and that the TargetPortIDs parameters be null. "
436                     "Remove target port IDs from a view requires that the "
437                     "LUNames and InitiatorPortIDs parameters be null. \n"
438                     "\n"
439                     "The disposition of the SPC when the last logical unit, "
440                     "initiator ID, or target port ID is removed depends upon "
441                     "the CIM_ProtocolControllerMaskingCapabilites "
442 marek 1.1           "SPCAllowsNo* properties. If SPCAllowsNoLUs is false, "
443                     "then the SPC is automatically deleted when the last "
444                     "logical unit is removed. If SPCAllowsNoTargets is false, "
445                     "then the SPC is automatically deleted when the last "
446                     "target port ID is removed. If SPCAllowsNoInitiators is "
447                     "false, then the SPC is automatically deleted when the "
448                     "last initiator port ID is removed. In all other cases, "
449                     "the SPC MUST be explicitly deleted via the "
450                     "DeleteInstance intrinsic function." ), 
451                  ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", 
452                     "4097", "4098", "4099", "4100", "4101..32767", 
453                     "32768..65535" }, 
454                  Values { "Success", "Not Supported", "Unspecified Error", 
455                     "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved", 
456                     "Method Parameters Checked - Job Started", 
457                     "Invalid logical unit ID", "Invalid initiator port ID", 
458                     "Invalid target port ID", 
459                     "Target/initiator combination not exposed", 
460                     "Method Reserved", "Vendor Specific" }]
461              uint32 HidePaths(
462                    [IN ( false ), OUT, Description ( 
463 marek 1.1              "Reference to the job if \'Method Parameters "
464                        "Checked - Job Started\' is returned (MAY be null "
465                        "if job completed)." )]
466                 CIM_ConcreteJob REF Job, 
467                    [Required, IN, Description ( 
468                        "A list of IDs of logical units. Each LU instance "
469                        "MUST already exist. See the method description for "
470                        "conditions where this MAY be null." ), 
471                     ModelCorrespondence { "CIM_LogicalDevice.Name" }]
472                 string LUNames[], 
473                    [IN, Description ( 
474                        "IDs of initiator ports. See the method description "
475                        "for conditions where this MAY be null." ), 
476                     ModelCorrespondence { "CIM_StorageHardwareID.StorageID" }]
477                 string InitiatorPortIDs[], 
478                    [IN, Description ( 
479                        "IDs of target ports. See the method description "
480                        "for conditions where this MAY be null." ), 
481                     ModelCorrespondence { "CIM_SCSIProtocolEndpoint.Name" }]
482                 string TargetPortIDs[], 
483                    [IN, OUT, Description ( 
484 marek 1.1              "An array of references to SCSIProtocolControllers "
485                        "(SPCs). On input, this MUST contain exactly one "
486                        "element; there MAY be multiple references on "
487                        "output. The instrumentation will attempt to remove "
488                        "associations (LUNames, InitiatorPortIDs, or "
489                        "TargetPortIDs) from this SPC. Depending upon the "
490                        "specific implementation, the instrumentation MAY "
491                        "need to create new SPCs with a subset of the "
492                        "remaining associations. On output, this is an "
493                        "array of references to SPCs created or modified as "
494                        "the result of processing the request." )]
495                 CIM_SCSIProtocolController REF ProtocolControllers[]);
496           
497           };

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2