1 marek 1.1 // Copyright (c) 2011 DMTF. All rights reserved.
2 [Version ( "2.29.0" ),
3 UMLPackagePath ( "CIM::Device::StorageDevices" ),
4 Description (
5 "A class derived from CIM_Service providing methods related to "
6 "management of multiple paths to SCSI devices." )]
7 class CIM_SCSIPathConfigurationService : CIM_Service {
8
9
10 [Description (
11 "This method requests that the target change the access "
12 "states of the requested SCSITargetPortGroups. This will "
13 "have the effect of doing a failover or failback "
14 "operation." ),
15 ValueMap { "0", "1", "2", "3", "4", "5", "..", "4096",
16 "4097", "4098", "4099", "..", "32768..65535" },
17 Values { "Success", "Not Supported", "Unknown", "Timeout",
18 "Failed", "Invalid Parameter", "DMTF Reserved",
19 "Unsupported AccessState", "Invalid SCSITargetPortGroup",
20 "Unsupported AccessState combination",
21 "Unsupported SCSITargetPortGroup combination",
22 marek 1.1 "Method Reserved", "Vendor Specific" }]
23 uint32 SetTPGAccess(
24 [IN, Description (
25 "A reference to an instances of a subclass of "
26 "CIM_LogicalDevice representing the SCSI logical "
27 "unit where the command will be sent." )]
28 CIM_LogicalDevice REF LogicalUnit,
29 [IN, Description (
30 "Array of references to instances of "
31 "SCSITargetPortGroup. All the referenced "
32 "TargetPortGroup instances must be part of the same "
33 "target device." ),
34 ArrayType ( "Indexed" ),
35 ModelCorrespondence { "CIM_SCSITargetPortGroup" }]
36 CIM_SCSITargetPortGroup REF TargetPortGroups[],
37 [IN, Description (
38 "An array of desired access states. Each access "
39 "state in this array is the desired access state "
40 "for the SCSITargetPortGroup in the corresponding "
41 "entry in the TargetPortGroups parameter. \n"
42 "\n"
43 marek 1.1 "The Active value is not part of the SCSI "
44 "Specification; it is a convenience for clients "
45 "that are not sure whether to specify "
46 "Active/Optimized of Active/Non-optimized. The "
47 "instrumentation selects a value based on historic "
48 "information, knowledge of the target "
49 "configuration, or trial and error. \n"
50 "\n"
51 "Note that SCSITargetPortGroup.AccessState includes "
52 "the value \'Transitioning\' that is excluded here "
53 "- a caller cannot request transitioning, though it "
54 "can be reported by a target device." ),
55 ValueMap { "2", "3", "4", "5", "6" },
56 Values { "Active/Optimized", "Active/Non-optimized",
57 "StandBy", "Unavailable", "Active" },
58 ArrayType ( "Indexed" ),
59 ModelCorrespondence {
60 "CIM_SCSITargetPortGroup.AccessState" }]
61 uint16 AccessStates[]);
62
63 [Description (
64 marek 1.1 "This method requests that the target change the load "
65 "balance algorithm for the referenced LogicalDevice "
66 "instance." ),
67 ValueMap { "0", "1", "2", "3", "4", "5", "..", "4096",
68 "4097", "..", "32768..65535" },
69 Values { "Success", "Not Supported", "Unknown", "Timeout",
70 "Failed", "Invalid Parameter", "DMTF Reserved",
71 "Unsupported LogicalDevice", "Invalid LoadBalanceType",
72 "Method Reserved", "Vendor Specific" }]
73 uint32 SetLoadBalanceAlgorithm(
74 [IN, Description (
75 "A reference to the LogicalDevice subclass instance "
76 "with an LogicalIdentity to the load balance "
77 "RedundancySet. If "
78 "SCSIMultipathConfigurationCapabilities. "
79 "CanLoadBalanceLUsIndependently is true, just the "
80 "referenced logical unit is modified. Otherwise, "
81 "all logical units sharing the target are modified." )]
82 CIM_LogicalDevice REF LogicalDevice,
83 [IN, Description ( "The desired load balance algorithm." ),
84 ValueMap { "0", "1", "2", "3", "4", "5", "6" },
85 marek 1.1 Values { "Unknown", "Other", "No Load Balancing",
86 "Round Robin", "Least Blocks", "Least IO",
87 "Product Specific" }]
88 uint16 LoadBalanceAlgorithm,
89 [IN, Description (
90 "When LoadBalanceAlgorithm is \'Other\', this "
91 "parameter specifies a description of the load "
92 "balancing algorithm. When LoadBalanceAlgorithm is "
93 "\'Product Specific\', this property provides a "
94 "string specifying the vendor/product/version of "
95 "the ManagedElement." )]
96 string OtherLoadBalanceAlgorithmDescription);
97
98 [Description (
99 "This method allows an administrator to assign a logical "
100 "unit to a target port group. At any time, each LU will "
101 "typically be associated with two target port groups, one "
102 "in active state and one in standby state. The result of "
103 "this method will be that the LU associations change to a "
104 "pair of target port groups. Only valid if the target "
105 "device supports asymmetric access state and "
106 marek 1.1 "SCSIMultipathConfigurationCapabilities "
107 "SupportsLuAssignment is set." ),
108 ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" },
109 Values { "Success", "Not Supported", "Unknown", "Timeout",
110 "Failed", "Invalid Parameter", "DMTF Reserved",
111 "Vendor Specific" }]
112 uint32 AssignLogicalUnitToPortGroup(
113 [IN, Description (
114 "A reference to an instance of a subclass of "
115 "LogicalDevice representing a SCSI logical unit." )]
116 CIM_LogicalDevice REF LogicalUnit,
117 [IN, Description (
118 "A reference to a target port group. The Target "
119 "Port Group should be in an active state." )]
120 CIM_SCSITargetPortGroup REF TargetPortGroup);
121
122 [Description (
123 "This method allows an administrator to temporarily "
124 "disable load balancing for a specific logical unit. The "
125 "path specified as a parameter will have its "
126 "AdministrativeOverride property set to \'Overriding\' "
127 marek 1.1 "and all I/O to the logical unit will be directed to this "
128 "path. All other paths to this logical unit will have "
129 "AdministrativeOverride set to \'Overridden\'." ),
130 ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" },
131 Values { "Success", "Not Supported", "Unknown", "Timeout",
132 "Failed", "Invalid Parameter", "DMTF Reserved",
133 "Vendor Specific" }]
134 uint32 SetOverridePath(
135 [IN, Description (
136 "A reference to a SCSIInitiatorTargetLogicalUnitPath."
137 )]
138 CIM_SCSIInitiatorTargetLogicalUnitPath REF Path);
139
140 [Description (
141 "This method clears an override path as set in "
142 "SetOverridePath and load balancing is enabled. All paths "
143 "to the logical unit specified as a parameter will have "
144 "AdministrativeOverride property set to \'No override in "
145 "effect\'." ),
146 ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" },
147 Values { "Success", "Not Supported", "Unknown", "Timeout",
148 marek 1.1 "Failed", "Invalid Parameter", "DMTF Reserved",
149 "Vendor Specific" }]
150 uint32 CancelOverridePath(
151 [IN, Description (
152 "A reference to a SCSIInitiatorTargetLogicalUnitPath."
153 )]
154 CIM_LogicalDevice REF LogicalUnit);
155
156 };
|