1 krisbash 1.1 // Copyright (c) 2005 DMTF. All rights reserved.
2 // <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
3 // qualifier values to CIM Schema.</change>
4 // ==================================================================
5 // CIM_LogicalDevice
6 // ==================================================================
7 [Abstract, Version ( "2.8.0" ),
8 UMLPackagePath ( "CIM::Core::Device" ),
9 Description (
10 "An abstraction or emulation of a hardware entity, that may or "
11 "may not be Realized in physical hardware. Any characteristics "
12 "of a LogicalDevice that are used to manage its operation or "
13 "configuration are contained in, or associated with, the "
14 "LogicalDevice object. Examples of the operational properties "
15 "of a Printer would be paper sizes supported, or detected "
16 "errors. Examples of the configuration properties of a Sensor "
17 "Device would be threshold settings. Various configurations "
18 "could exist for a LogicalDevice. These configurations could be "
19 "contained in Setting objects and associated with the "
20 "LogicalDevice." )]
21 class CIM_LogicalDevice : CIM_EnabledLogicalElement {
22 krisbash 1.1
23 [Key, Description ( "The scoping System\'s CreationClassName." ),
24 MaxLen ( 256 ),
25 Propagated ( "CIM_System.CreationClassName" )]
26 string SystemCreationClassName;
27
28 [Key, Description ( "The scoping System\'s Name." ),
29 MaxLen ( 256 ),
30 Propagated ( "CIM_System.Name" )]
31 string SystemName;
32
33 [Key, Description (
34 "CreationClassName indicates the name of the class or the "
35 "subclass used in the creation of an instance. When used "
36 "with the other key properties of this class, this "
37 "property allows all instances of this class and its "
38 "subclasses to be uniquely identified." ),
39 MaxLen ( 256 )]
40 string CreationClassName;
41
42 [Key, Description (
43 krisbash 1.1 "An address or other identifying information to uniquely "
44 "name the LogicalDevice." ),
45 MaxLen ( 64 )]
46 string DeviceID;
47
48 [Deprecated { "CIM_PowerManagementCapabilities" },
49 Description (
50 "Boolean indicating that the Device can be power managed. "
51 "The use of this property has been deprecated. Instead, "
52 "the existence of an associated "
53 "PowerManagementCapabilities class (associated using the "
54 "ElementCapabilities relationhip) indicates that power "
55 "management is supported." )]
56 boolean PowerManagementSupported;
57
58 [Deprecated {
59 "CIM_PowerManagementCapabilities.PowerCapabilities" },
60 Description (
61 "An enumerated array describing the power management "
62 "capabilities of the Device. The use of this property has "
63 "been deprecated. Instead, the PowerCapabilites property "
64 krisbash 1.1 "in an associated PowerManagementCapabilities class "
65 "should be used." ),
66 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" },
67 Values { "Unknown", "Not Supported", "Disabled", "Enabled",
68 "Power Saving Modes Entered Automatically",
69 "Power State Settable", "Power Cycling Supported",
70 "Timed Power On Supported" }]
71 uint16 PowerManagementCapabilities[];
72
73 [Description (
74 "The primary availability and status of the Device. "
75 "(Additional status information can be specified using "
76 "the Additional Availability array property.) For "
77 "example, the Availability property indicates that the "
78 "Device is running and has full power (value=3), or is in "
79 "a warning (4), test (5), degraded (10) or power save "
80 "state (values 13-15 and 17). Regarding the Power Save "
81 "states, these are defined as follows: Value 13 (\"Power "
82 "Save - Unknown\") indicates that the Device is known to "
83 "be in a power save mode, but its exact status in this "
84 "mode is unknown; 14 (\"Power Save - Low Power Mode\") "
85 krisbash 1.1 "indicates that the Device is in a power save state but "
86 "still functioning, and may exhibit degraded performance; "
87 "15 (\"Power Save - Standby\") describes that the Device "
88 "is not functioning but could be brought to full power "
89 "\'quickly\'; and value 17 (\"Power Save - Warning\") "
90 "indicates that the Device is in a warning state, though "
91 "also in a power save mode." ),
92 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
93 "11", "12", "13", "14", "15", "16", "17", "18", "19",
94 "20", "21" },
95 Values { "Other", "Unknown", "Running/Full Power", "Warning",
96 "In Test", "Not Applicable", "Power Off", "Off Line",
97 "Off Duty", "Degraded", "Not Installed", "Install Error",
98 "Power Save - Unknown", "Power Save - Low Power Mode",
99 "Power Save - Standby", "Power Cycle",
100 "Power Save - Warning", "Paused", "Not Ready",
101 "Not Configured", "Quiesced" },
102 MappingStrings { "MIF.DMTF|Operational State|006.5",
103 "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
104 "MIF.DMTF|Host Device|001.5" },
105 ModelCorrespondence {
106 krisbash 1.1 "CIM_LogicalDevice.AdditionalAvailability" }]
107 uint16 Availability;
108
109 [Deprecated { "CIM_EnabledLogicalElement.EnabledState" },
110 Description (
111 "The StatusInfo property indicates whether the Logical "
112 "Device is in an enabled (value = 3), disabled (value = "
113 "4) or some other (1) or unknown (2) state. If this "
114 "property does not apply to the LogicalDevice, the value, "
115 "5 (\"Not Applicable\"), should be used. StatusInfo has "
116 "been deprecated in lieu of a more clearly named property "
117 "with additional enumerated values (EnabledState), that "
118 "is inherited from ManagedSystemElement. \n"
119 "If a Device is (\"Enabled\")(value=3), it has been "
120 "powered up, and is configured and operational. The "
121 "Device may or may not be functionally active, depending "
122 "on whether its Availability (or AdditionalAvailability) "
123 "indicate that it is (\"Running/Full Power\")(value=3) or "
124 "(\"Off line\") (value=8). In an enabled but offline "
125 "mode, a Device may be performing out-of-band requests, "
126 "such as running Diagnostics. If (\"Disabled\") "
127 krisbash 1.1 "StatusInfo value=4), a Device can only be \"enabled\" or "
128 "powered off. In a personal computer environment, "
129 "(\"Disabled\") means that the Device\'s driver is not "
130 "available in the stack. In other environments, a Device "
131 "can be disabled by removing its configuration file. A "
132 "disabled device is physically present in a System and "
133 "consuming resources, but can not be communicated with "
134 "until a load of a driver, a load of a configuration file "
135 "or some other \"enabling\" activity has occurred." ),
136 ValueMap { "1", "2", "3", "4", "5" },
137 Values { "Other", "Unknown", "Enabled", "Disabled",
138 "Not Applicable" },
139 MappingStrings { "MIF.DMTF|Operational State|006.4" }]
140 uint16 StatusInfo;
141
142 [Deprecated { "CIM_DeviceErrorData.LastErrorCode" },
143 Description (
144 "LastErrorCode captures the last error code reported by "
145 "the LogicalDevice." )]
146 uint32 LastErrorCode;
147
148 krisbash 1.1 [Deprecated { "CIM_DeviceErrorData.ErrorDescription" },
149 Description (
150 "ErrorDescription is a free-form string supplying more "
151 "information about the error recorded in LastErrorCode, "
152 "and information on any corrective actions that may be "
153 "taken." )]
154 string ErrorDescription;
155
156 [Deprecated { "CIM_ManagedSystemElement.OperationalStatus" },
157 Description (
158 "ErrorCleared is a boolean property indicating that the "
159 "error reported in LastErrorCode is now cleared." )]
160 boolean ErrorCleared;
161
162 [Description (
163 "OtherIdentifyingInfo captures additional data, beyond "
164 "DeviceID information, that could be used to identify a "
165 "LogicalDevice. One example would be to hold the "
166 "Operating System\'s user friendly name for the Device in "
167 "this property." ),
168 ArrayType ( "Indexed" ),
169 krisbash 1.1 MaxLen ( 256 ),
170 ModelCorrespondence {
171 "CIM_LogicalDevice.IdentifyingDescriptions" }]
172 string OtherIdentifyingInfo[];
173
174 [Description (
175 "The number of consecutive hours that this Device has "
176 "been powered, since its last power cycle." ),
177 Units ( "Hours" ),
178 Counter]
179 uint64 PowerOnHours;
180
181 [Description (
182 "The total number of hours that this Device has been powered."
183 ),
184 Units ( "Hours" ),
185 Counter]
186 uint64 TotalPowerOnHours;
187
188 [Description (
189 "An array of free-form strings providing explanations and "
190 krisbash 1.1 "details behind the entries in the OtherIdentifyingInfo "
191 "array. Note, each entry of this array is related to the "
192 "entry in OtherIdentifyingInfo that is located at the "
193 "same index." ),
194 ArrayType ( "Indexed" ),
195 ModelCorrespondence { "CIM_LogicalDevice.OtherIdentifyingInfo" }]
196 string IdentifyingDescriptions[];
197
198 [Description (
199 "Additional availability and status of the Device, beyond "
200 "that specified in the Availability property. The "
201 "Availability property denotes the primary status and "
202 "availability of the Device. In some cases, this will not "
203 "be sufficient to denote the complete status of the "
204 "Device. In those cases, the AdditionalAvailability "
205 "property can be used to provide further information. For "
206 "example, a Device\'s primary Availability may be \"Off "
207 "line\" (value=8), but it may also be in a low power "
208 "state (AdditonalAvailability value=14), or the Device "
209 "could be running Diagnostics (AdditionalAvailability "
210 "value=5, \"In Test\")." ),
211 krisbash 1.1 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
212 "11", "12", "13", "14", "15", "16", "17", "18", "19",
213 "20", "21" },
214 Values { "Other", "Unknown", "Running/Full Power", "Warning",
215 "In Test", "Not Applicable", "Power Off", "Off Line",
216 "Off Duty", "Degraded", "Not Installed", "Install Error",
217 "Power Save - Unknown", "Power Save - Low Power Mode",
218 "Power Save - Standby", "Power Cycle",
219 "Power Save - Warning", "Paused", "Not Ready",
220 "Not Configured", "Quiesced" },
221 ModelCorrespondence { "CIM_LogicalDevice.Availability" }]
222 uint16 AdditionalAvailability[];
223
224 [Deprecated { "No value" },
225 Description (
226 "The MaxQuiesceTime property has been deprecated. When "
227 "evaluating the use of Quiesce, it was determine that "
228 "this single property is not adequate for describing when "
229 "a device will automatically exit a quiescent state. In "
230 "fact, the most likely scenario for a device to exit a "
231 "quiescent state was determined to be based on the number "
232 krisbash 1.1 "of outstanding requests queued rather than on a maximum "
233 "time. This will be re-evaluated and repositioned later. \n"
234 "Maximum time in milliseconds, that a Device can run in a "
235 "\"Quiesced\" state. A Device\'s state is defined in its "
236 "Availability and AdditionalAvailability properties, "
237 "where \"Quiesced\" is conveyed by the value 21. What "
238 "occurs at the end of the time limit is device-specific. "
239 "The Device may unquiesce, may offline or take other "
240 "action. A value of 0 indicates that a Device can remain "
241 "quiesced indefinitely." ),
242 Units ( "MilliSeconds" )]
243 uint64 MaxQuiesceTime;
244
245
246 [Deprecated { "CIM_PowerManagementService.SetPowerState" },
247 Description (
248 "Sets the power state of the Device. The use of this "
249 "method has been deprecated. Instead, use the "
250 "SetPowerState method in the associated "
251 "PowerManagementService class." )]
252 uint32 SetPowerState(
253 krisbash 1.1 [IN, Description ( "The power state to set." ),
254 ValueMap { "1", "2", "3", "4", "5", "6" },
255 Values { "Full Power", "Power Save - Low Power Mode",
256 "Power Save - Standby", "Power Save - Other",
257 "Power Cycle", "Power Off" }]
258 uint16 PowerState,
259 [IN, Description (
260 "Time indicates when the power state should be set, "
261 "either as a regular date-time value or as an "
262 "interval value (where the interval begins when the "
263 "method invocation is received." )]
264 datetime Time);
265
266 [Description (
267 "Requests a reset of the LogicalDevice. The return value "
268 "should be 0 if the request was successfully executed, 1 "
269 "if the request is not supported and some other value if "
270 "an error occurred. In a subclass, the set of possible "
271 "return codes could be specified, using a ValueMap "
272 "qualifier on the method. The strings to which the "
273 "ValueMap contents are \'translated\' may also be "
274 krisbash 1.1 "specified in the subclass as a Values array qualifier." )]
275 uint32 Reset(
276 );
277
278 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
279 Description (
280 "The EnableDevice method has been deprecated in lieu of "
281 "the more general RequestStateChange method that directly "
282 "overlaps with the functionality provided by this method. \n"
283 "Requests that the LogicalDevice be enabled (\"Enabled\" "
284 "input parameter = TRUE) or disabled (= FALSE). If "
285 "successful, the Device\'s StatusInfo/EnabledState "
286 "properties should reflect the desired state "
287 "(enabled/disabled). Note that this method\'s function "
288 "overlaps with the RequestedState property. "
289 "RequestedState was added to the model to maintain a "
290 "record (i.e., a persisted value) of the last state "
291 "request. Invoking the EnableDevice method should set the "
292 "RequestedState property appropriately. \n"
293 "The return code should be 0 if the request was "
294 "successfully executed, 1 if the request is not supported "
295 krisbash 1.1 "and some other value if an error occurred. In a "
296 "subclass, the set of possible return codes could be "
297 "specified, using a ValueMap qualifier on the method. The "
298 "strings to which the ValueMap contents are \'translated\' "
299 "may also be specified in the subclass as a Values array "
300 "qualifier." )]
301 uint32 EnableDevice(
302 [IN, Description (
303 "If TRUE enable the device, if FALSE disable the device."
304 )]
305 boolean Enabled);
306
307 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
308 Description (
309 "The OnlineDevice method has been deprecated in lieu of "
310 "the more general RequestStateChange method that directly "
311 "overlaps with the functionality provided by this method. \n"
312 "Requests that the LogicalDevice be brought online "
313 "(\"Online\" input parameter = TRUE) or taken offline (= "
314 "FALSE). \"Online\" indicates that the Device is ready to "
315 "accept requests, and is operational and fully "
316 krisbash 1.1 "functioning. In this case, the Device\'s Availability "
317 "property would be set to a value of 3 (\"Running/Full "
318 "Power\"). \"Offline\" indicates that a Device is powered "
319 "up and operational, but not processing functional "
320 "requests. In an offline state, a Device may be capable "
321 "of running diagnostics or generating operational alerts. "
322 "For example, when the \"Offline\" button is pushed on a "
323 "Printer, the Device is no longer available to process "
324 "print jobs, but could be available for diagnostics or "
325 "maintenance. \n"
326 "If this method is successful, the Device\'s Availability "
327 "and AdditionalAvailability properties should reflect the "
328 "updated status. If a failure occurs trying to bring the "
329 "Device online or offline, it should remain in its "
330 "current state. IE, the request, if unsuccessful, should "
331 "not leave the Device in an indeterminate state. When "
332 "bringing a Device back \"Online\", from an \"Offline\" "
333 "mode, the Device should be restored to its last \"Online\" "
334 "state, if at all possible. Only a Device that has an "
335 "EnabledState/StatusInfo of \"Enabled\" and has been "
336 "configured can be brought online or taken offline. \n"
337 krisbash 1.1 "OnlineDevice should return 0 if successful, 1 if the "
338 "request is not supported at all, 2 if the request is not "
339 "supported due to the current state of the Device, and "
340 "some other value if any other error occurred. In a "
341 "subclass, the set of possible return codes could be "
342 "specified, using a ValueMap qualifier on the method. The "
343 "strings to which the ValueMap contents are \'translated\' "
344 "may also be specified in the subclass as a Values array "
345 "qualifier. \n"
346 "Note that this method\'s function overlaps with the "
347 "RequestedState property. RequestedState was added to the "
348 "model to maintain a record (i.e., a persisted value) of "
349 "the last state request. Invoking the OnlineDevice method "
350 "should set the RequestedState property appropriately." )]
351 uint32 OnlineDevice(
352 [IN, Description (
353 "If TRUE, take the device online, if FALSE, take "
354 "the device OFFLINE." )]
355 boolean Online);
356
357 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
358 krisbash 1.1 Description (
359 "The QuiesceDevice method has been deprecated in lieu of "
360 "the more general RequestStateChange method that directly "
361 "overlaps with the functionality provided by this method. \n"
362 "Requests that the LogicalDevice cleanly cease all "
363 "current activity (\"Quiesce\" input parameter = TRUE) or "
364 "resume activity (= FALSE). For this method to quiesce a "
365 "Device, that Device should have an Availability (or "
366 "Additional Availability) of \"Running/Full Power\" "
367 "(value=3) and an EnabledStatus/StatusInfo of \"Enabled\". "
368 "For example, if quiesced, a Device may then be offlined "
369 "for diagnostics, or disabled for power off and hot swap. "
370 "For the method to \"unquiesce\" a Device, that Device "
371 "should have an Availability (or AdditionalAvailability) "
372 "of \"Quiesced\" (value=21) and an "
373 "EnabledStatus/StatusInfo of \"Enabled\". In this case, "
374 "the Device would be returned to an \"Enabled\" and "
375 "\"Running/Full Power\" status. \n"
376 "The method\'s return code should indicate the success or "
377 "failure of the quiesce. It should return 0 if "
378 "successful, 1 if the request is not supported at all, 2 "
379 krisbash 1.1 "if the request is not supported due to the current state "
380 "of the Device, and some other value if any other error "
381 "occurred. In a subclass, the set of possible return "
382 "codes could be specified, using a ValueMap qualifier on "
383 "the method. The strings to which the ValueMap contents "
384 "are \'translated\' may also be specified in the subclass "
385 "as a Values array qualifier." )]
386 uint32 QuiesceDevice(
387 [IN, Description (
388 "If set to TRUE then cleanly cease all activity, if "
389 "FALSE resume activity." )]
390 boolean Quiesce);
391
392 [Description (
393 "Requests that the Device capture its current "
394 "configuration, setup and/or state information in a "
395 "backing store. The goal would be to use this information "
396 "at a later time (via the RestoreProperties method), to "
397 "return a Device to its present \"condition\". This "
398 "method may not be supported by all Devices. The method "
399 "should return 0 if successful, 1 if the request is not "
400 krisbash 1.1 "supported, and some other value if any other error "
401 "occurred. In a subclass, the set of possible return "
402 "codes could be specified, using a ValueMap qualifier on "
403 "the method. The strings to which the ValueMap contents "
404 "are \'translated\' may also be specified in the subclass "
405 "as a Values array qualifier." )]
406 uint32 SaveProperties(
407 );
408
409 [Description (
410 "Requests that the Device re-establish its configuration, "
411 "setup and/or state information from a backing store. The "
412 "intent is to capture this information at an earlier time "
413 "(via the SaveProperties method), and use it to return a "
414 "Device to this earlier \"condition\". This method may "
415 "not be supported by all Devices. The method should "
416 "return 0 if successful, 1 if the request is not "
417 "supported, and some other value if any other error "
418 "occurred. In a subclass, the set of possible return "
419 "codes could be specified, using a ValueMap qualifier on "
420 "the method. The strings to which the ValueMap contents "
421 krisbash 1.1 "are \'translated\' may also be specified in the subclass "
422 "as a Values array qualifier." )]
423 uint32 RestoreProperties(
424 );
425
426 };
|