1 karl 1.1.2.2 // Copyright (c) 2005 DMTF. All rights reserved.
2 [Version ( "2.11.0" ),
3 UMLPackagePath ( "CIM::System::Diagnostics" ),
4 Description (
5 "The CIM_DiagnosticTest class represents the framework for "
6 "running diagnostic tests. Specific diagnostic tests may be "
7 "defined by subclassing and/or instantiating this object. To "
8 "provide more detail for a type of test(s) (i.e, additional "
9 "properties and methods), subclassing is appropriate. \n"
10 "When a DiagnosticTest can be simultaneously executed against "
11 "several elements, then DiagnosticTest may launch a ConcreteJob "
12 "to represent each execution." )]
13 class CIM_DiagnosticTest : CIM_DiagnosticService {
14
15 [Description (
16 "The descriptions for each Characteristic are below: \n"
17 "\n"
18 "* \"Is Exclusive\" (value=2) is specified for the test "
19 "module only if the diagnostic cannot run more than one "
20 "test at a time, regardless of how many SystemElements "
21 "are supported. Typically, this occurs when hardware or "
22 karl 1.1.2.2 "software constraints prevent the test from running as "
23 "multiple, concurrent instances. If the diagnostic can be "
24 "run against multiple SystemElements, but only once per "
25 "Element, then set the IsExclusiveForMSE boolean property "
26 "on the appropriate instances of DiagnosticTestForMSE. \n"
27 "\n"
28 "* If \"Is Interactive\" (value=3) is set, then the "
29 "diagnostic displays a message either before, during or "
30 "after testing. \n"
31 "\n"
32 "* Set \"Is Destructive\" (value=4) if the diagnostic "
33 "will destroy data, or reconfigure the Element that is "
34 "being tested. \n"
35 "\n"
36 "* \"Is Risky\" (value=5) indicates that data loss may "
37 "occur if the test is interrupted. Some tests make copies "
38 "of data, perform the test, and restore the data "
39 "returning the tested entity to its previous "
40 "configuration. If the test is interrupted, then loss of "
41 "data or reconfiguration of the tested "
42 "ManagedSystemElement may occur. \n"
43 karl 1.1.2.2 "\n"
44 "* If \"Is Package\" (value=6) is set, this test is "
45 "actually a set of lower level diagnostics, that are "
46 "packaged together by the test. This packaging is "
47 "implemented by the diagnostic test, not aggregated by "
48 "CIM. Information and results associated with the "
49 "individual tests in the package may be requested by "
50 "using the \"Subtests\" value in the "
51 "DiagnosticSetting.LogOptions array. \n"
52 "\n"
53 "(value=7) was \"Supports PercentOfTestCoverage\" in "
54 "Version 2.6. Value = 7 is being deprecated. Instead, it "
55 "should be described in DiagnosticServiceCapabilities. \n"
56 "\n"
57 "\"Is Synchronous\" (value=8) indicates that this "
58 "diagnostic service will complete before the "
59 "RunDiagnostic method returns to the caller. A Job is "
60 "still created that can be accessed by the client for "
61 "accounting purposes, but the ability to track progress "
62 "and status of the Job are lost. Additionally, in certain "
63 "environments, the client may be \"blocked\" from further "
64 karl 1.1.2.2 "action until the service completes. \n"
65 "\"Media Required\" (value=9) indicates that this "
66 "diagnostic service requires that media be inserted into "
67 "the device in order to perform the service. \"Additional "
68 "Hardware Required\" (value=10) indicates that this "
69 "diagnostic service requires that some additional "
70 "hardware is installed (e.g., wrap plug) in order to "
71 "perform the service." ),
72 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
73 "10" },
74 Values { "Unknown", "Other", "Is Exclusive",
75 "Is Interactive", "Is Destructive", "Is Risky",
76 "Is Package", "Reserved", "Is Synchronous",
77 "Media Required", "Additional Hardware Required" },
78 ModelCorrespondence {
79 "CIM_DiagnosticTest.OtherCharacteristicsDescriptions" }]
80 uint16 Characteristics[];
81
82 [Deprecated {
83 "CIM_DiagnosticTest.OtherCharacteristicsDescriptions" },
84 Description (
85 karl 1.1.2.2 "Provides additional information for the Characteristic "
86 "when its value is set to 1 (\"Other\")." ),
87 ModelCorrespondence { "CIM_DiagnosticTest.Characteristics" }]
88 string OtherCharacteristicDescription;
89
90 [Description (
91 "OtherCharacteristicsDescriptions is a Bag array that "
92 "contains an element with additional information for each "
93 "Characteristics element with a value of 1 (\"Other\")." ),
94 ModelCorrespondence { "CIM_DiagnosticTest.Characteristics" }]
95 string OtherCharacteristicsDescriptions[];
96
97 [Deprecated { "CIM_Service.Started" },
98 Description (
99 "This property is being deprecated. The boolean Started "
100 "property inherited from CIM_Service should be used "
101 "instead. \n"
102 "If this test is currently being performed, the InUse "
103 "property is set to TRUE. To determine which "
104 "ManagedSystem Element is being tested, query the "
105 "DiagnosticResult objects associated with this test "
106 karl 1.1.2.2 "(query DiagnosticResultForTest), and for which the "
107 "TestState equals 4 (\"In Progress\"). The "
108 "DiagnosticResult object is associated with the System "
109 "Element under test, using DiagnosticResultForMSE." )]
110 boolean IsInUse;
111
112 [Deprecated { "CIM_ServiceAffectsElement" },
113 Description (
114 "This property is being deprecated and replaced with a "
115 "more general method for indicating Managed Elements that "
116 "are affected by this Test. The DiagnosticService parent "
117 "has a ServiceAffectsElement association to a Managed "
118 "Element for this purpose. \n"
119 "The \"Expensive\" qualifier can be applied to this class "
120 "and its RunTest method. If so, the ResourcesUsed "
121 "property describes the resources that are capitalized, "
122 "based on a default setup for the test. Multiple "
123 "resources can be specified since the property is an "
124 "array." ),
125 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10",
126 "11", "12", "13", "14", "15", "16", "17", "18", "19",
127 karl 1.1.2.2 "20", "21", "22", "23", "24", "25", "26", "27", "28" },
128 Values { "CPU", "Memory", "Hard Disk", "CDROM", "Floppy",
129 "PCI Bus", "USB Bus", "1394 Bus", "SCSI Bus", "IDE Bus",
130 "Network", "ISA Bus", "EISA Bus", "VESA Bus",
131 "PCMCIA Bus", "CardBus", "Access.bus", "NuBus", "AGP",
132 "VME Bus", "Sbus IEEE 1396-1993", "MCA Bus", "GIO Bus",
133 "XIO Bus", "HIO Bus", "PMC Bus", "SIO Bus" }]
134 uint16 ResourcesUsed[];
135
136 [Description (
137 "The descriptions for each test type are below: \n"
138 "\n"
139 "* If \"Functional\" (value=2) is set, this tests one, "
140 "more or all the functionality of the element. \n"
141 "\n"
142 "* If \"Stress\" (value=3) is set, this test is a stress "
143 "test or exerciser for the element. \n"
144 "\n"
145 "* If \"Health Check\" (value=4) is set, this test "
146 "validates the current health of the element. \n"
147 "\n"
148 karl 1.1.2.2 "* If \"Access Test\" (value=5) is set, this test "
149 "verifies the element is accessible to the system and "
150 "user. This would include access through the OS as a user "
151 "would access the element. \n"
152 "\n"
153 "* If \"Media Verify\" (value=6) is set, this test "
154 "verifies the media for the element. This does not "
155 "validate that specific data is correctly written on the "
156 "media or even if data can be written to the media, but "
157 "verifies that the media itself has no faults." ),
158 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "0x8000.." },
159 Values { "Unknown", "Other", "Functional", "Stress",
160 "Health Check", "Access Test", "Media Verify",
161 "DMTF Reserved", "Vendor Reserved" },
162 ArrayType ( "Indexed" ),
163 ModelCorrespondence {
164 "CIM_DiagnosticTest.OtherTestTypesDescriptions" }]
165 uint16 TestTypes[];
166
167 [Description (
168 "OtherTestTypesDescriptions is an array that contains an "
169 karl 1.1.2.2 "element with additional information for each TestTypes "
170 "element with a value of 1 (\"Other\")." ),
171 ArrayType ( "Indexed" ),
172 ModelCorrespondence { "CIM_DiagnosticTest.TestTypes" }]
173 string OtherTestTypesDescriptions[];
174
175
176 [Deprecated { "CIM_DiagnosticService.RunDiagnostic" },
177 Description (
178 "This method is being deprecated and replaced by the "
179 "RunDiagnostic method in the DiagnosticService class. \n"
180 "The RunTest method executes this test for the specified "
181 "ManagedSystemElement. The use of this method has been "
182 "deprecated. Instead, the RunDiagnostic method (inherited "
183 "from DiagnosticService) should be used. \n"
184 "The RunTest method executes this test for the specified "
185 "ManagedSystemElement (defined using the SystemElement "
186 "input parameter). Results of the test are stored in a "
187 "Diagnostic Result object, a reference to which is "
188 "returned as the Result output parameter. How the test "
189 "should execute, i.e. its settings, is defined in a "
190 karl 1.1.2.2 "DiagnosticSetting object (or by a subclass of "
191 "DiagnosticSetting). A reference to a Setting object is "
192 "specified using the Setting input parameter. If a "
193 "reference is not passed into the method, then a default "
194 "DiagnosticSetting may be used. This default Setting is "
195 "associated with the DiagnoticTest using the "
196 "DefaultSetting relationship of the Core Model. \n"
197 "When RunTest starts execution, the settings, which are "
198 "time sensitive, should be evaluated and captured. This "
199 "is suggested since the DiagnosticSetting object can be "
200 "modified at any time, and therefore the current test "
201 "settings could be lost. \n"
202 "The method\'s return codes are expected to adhere to the "
203 "XML return codes as they are introduced. Currently, the "
204 "standard return values are: \n"
205 "0 = OK (function succeeded, but the test itself may have "
206 "failed \n"
207 "1 = Unspecified Error (function failed for unspecified "
208 "reasons) \n"
209 "2 = Not Implemented (function is not implemented for "
210 "this instance) \n"
211 karl 1.1.2.2 "3 = Out Of Resources (component could not allocate "
212 "required resources, e.g. memory, disk space, etc.) \n"
213 "In a subclass, the set of possible return codes could be "
214 "specified, using a ValueMap qualifier on the method. The "
215 "strings to which the ValueMap contents are \'translated\' "
216 "may also be specified in the subclass as a Values array "
217 "qualifier." )]
218 uint32 RunTest(
219 [IN, Description (
220 "The ManagedSystemElement on which the test will run."
221 )]
222 CIM_ManagedSystemElement REF SystemElement,
223 [IN, Description (
224 "How the test should execute, i.e. its settings, is "
225 "defined in a DiagnosticSetting object (or by a "
226 "subclass of DiagnosticSetting). A reference to a "
227 "Setting object is specified using the Setting "
228 "input parameter. If a reference is not passed into "
229 "the method, then a default DiagnosticSetting may "
230 "be used. This default Setting is associated with "
231 "the DiagnoticTest using the DefaultSetting "
232 karl 1.1.2.2 "relationship of the Core Model." )]
233 CIM_DiagnosticSetting REF Setting,
234 [IN ( false ), OUT, Description (
235 "Results of the test are stored in a "
236 "DiagnosticResult object, a reference to which is "
237 "returned as the Result output parameter." )]
238 CIM_DiagnosticResult REF Result);
239
240 [Deprecated { "CIM_Log.ClearLog" },
241 Description (
242 "This method is deprecated in favor of using the "
243 "corresponding functionality contained in the Log class, "
244 "this is consistant with the deprecation of the Result "
245 "class in favor of Log. \n"
246 "Execution of this method will delete all instances of "
247 "the DiagnosticResultForMSE object, for this "
248 "DiagnosticTest and the specified ManagedSystemElement "
249 "(defined using the SystemElement input parameter). The "
250 "DiagnosticResults referenced in the "
251 "DiagnosticResultForMSE instances will be deleted. Also "
252 "the association DiagnosticResultForTest that refers to "
253 karl 1.1.2.2 "the DiagnosticResult object, and this test will be "
254 "deleted. \n"
255 "One output parameter is defined - ResultsNotCleared - "
256 "which is a string array that lists the keys of the "
257 "DiagnosticResults which could not be deleted. This "
258 "information enables those Results to be revisited and "
259 "either manually removed, or other corrective action "
260 "taken. \n"
261 "The method\'s return codes are expected to adhere to the "
262 "XML return codes as they are introduced. Currently, the "
263 "standard return values are: \n"
264 "0 = OK (function succeeded, but the test itself may have "
265 "failed) \n"
266 "1 = Unspecified Error (function failed for unspecified "
267 "reasons) \n"
268 "2 = Not Implemented (function is not implemented for "
269 "this instance) \n"
270 "3 = Out Of Resources (component could not allocate "
271 "required resources, e.g. memory, disk space, etc.) \n"
272 "In a subclass, the set of possible return codes could be "
273 "specified, using a ValueMap qualifier on the method. The "
274 karl 1.1.2.2 "strings to which the ValueMap contents are \'translated\' "
275 "may also be specified in the subclass as a Values array "
276 "qualifier." )]
277 uint32 ClearResults(
278 [IN, Description (
279 "The Managed System Element for which results will be cleared."
280 )]
281 CIM_ManagedSystemElement REF SystemElement,
282 [IN ( false ), OUT, Description (
283 "A string array that lists the keys of the "
284 "DiagnosticResults which could not be deleted." )]
285 string ResultsNotCleared[]);
286
287 [Deprecated { "CIM_ConcreteJob.RequestStateChange" },
288 Description (
289 "After invocation of this method and its completion, the "
290 "specified test(s) will be discontinued for the indicated "
291 "ManagedSystemElement (defined by the SystemElement input "
292 "parameter). The test to discontinue is specified using "
293 "the Result input parameter. If all instances of this "
294 "test should be stopped for the SystemElement, then the "
295 karl 1.1.2.2 "Result reference should be NULL. Upon completion of the "
296 "method, test status and other information (such as "
297 "PercentComplete) will be stored in the DiagnosticResult "
298 "instance defined by the Result input parameter. The "
299 "output parameter, TestingStopped, is used as follows: \n"
300 "Set to TRUE if testing was successfully stopped. \n"
301 "Set to FALSE if the current test(s) can not be stopped. \n"
302 "If set to FALSE, testing will stop when the diagnostic "
303 "is able to do so safely. To determine if/when the "
304 "testing is stopped, check the TestState property in the "
305 "DiagnosticResult instance defined by the Result "
306 "parameter. TestState will change from \"In Progress\" to "
307 "\"Stopped\" (from 4 to 5). \n"
308 "The method\'s return codes are expected to adhere to the "
309 "XML return codes as they are introduced. Currently, the "
310 "standard return values are: \n"
311 "0 = OK (function succeeded, but the test itself may have "
312 "failed \n"
313 "1 = Unspecified Error (function failed for unspecified "
314 "reasons) \n"
315 "2 = Not Implemented (function is not implemented for "
316 karl 1.1.2.2 "this instance) \n"
317 "3 = Out Of Resources (component could not allocate "
318 "required resources, e.g. memory, disk space, etc.) \n"
319 "In a subclass, the set of possible return codes could be "
320 "specified, using a ValueMap qualifier on the method. The "
321 "strings to which the ValueMap contents are \'translated\' "
322 "may also be specified in the subclass as a Values array "
323 "qualifier." )]
324 uint32 DiscontinueTest(
325 [IN, Description (
326 "Testing will be discontinued for the indicated "
327 "ManagedSystemElement defined by the SystemElement "
328 "input parameter." )]
329 CIM_ManagedSystemElement REF SystemElement,
330 [IN, Description (
331 "The test to discontinue is specified using the "
332 "Result input parameter." )]
333 CIM_DiagnosticResult REF Result,
334 [IN ( false ), OUT, Description (
335 "TestingStopped, is set to TRUE if testing was "
336 "successfully stopped. It is set to FALSE if the "
337 karl 1.1.2.2 "current test(s) can not be stopped. If set to "
338 "FALSE, testing will stop when the diagnostic is "
339 "able to do so safely. To determine if/when the "
340 "testing is stopped, check the TestState property "
341 "in the DiagnosticResult instance defined by the "
342 "Result parameter. TestState will change from \"In "
343 "Progress\" to \"Stopped\" (from 4 to 5)." )]
344 boolean TestingStopped);
345
346 };
|