summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM228/DMTF/System/CIM_DiagnosticSetting.mof
blob: d455108ff09a69887aa1ec9397b8303d5bee1bbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_DiagnosticSetting 
// ==================================================================
   [Version ( "2.9.0" ), 
    UMLPackagePath ( "CIM::System::Diagnostics" ), 
    Description ( 
       "Specific diagnostic test parameters and execution instructions "
       "are defined by this class. To provide more detailed Settings "
       "for a type of test (i.e., additional properties), subclassing "
       "is appropriate." )]
class CIM_DiagnosticSetting : CIM_Setting {

      [Key, Override ( "SettingID" ), 
       Description ( 
          "In order to ensure uniqueness within the NameSpace, the "
          "value of SettingID SHOULD be constructed using the "
          "following \'preferred\' algorithm: \n"
          "<OrgID>:<LocalID> \n"
          "Where <OrgID> and <LocalID> are separated by a colon "
          "\':\', and where <OrgID> MUST include a copyrighted, "
          "trademarked or otherwise unique name that is owned by "
          "the business entity creating/defining the SettingID, or "
          "is a registered ID that is assigned to the business "
          "entity by a recognized global authority. (This is "
          "similar to the <Schema Name>_<Class Name> structure of "
          "Schema class names.) In addition, to ensure uniqueness "
          "<OrgID> MUST NOT contain a colon (\':\'). When using "
          "this algorithm, the first colon to appear in SettingID "
          "MUST appear between <OrgID> and <LocalID>. \n"
          "<LocalID> is chosen by the business entity and SHOULD "
          "not be re-used to identify different underlying "
          "(real-world) elements. If the above \'preferred\' "
          "algorithm is not used, the defining entity MUST assure "
          "that the resultant SettingID is not re-used across any "
          "SettingIDs produced by this or other providers for this "
          "instance\'s NameSpace. \n"
          "A preferred value for <LocalID> is a timestamp (CIM "
          "DateTime). For example, ACME:19980525133015.0000000-300" ), 
       MaxLen ( 256 )]
   string SettingID;

      [Deprecated { "CIM_DiagnosticSetting.LogOptions", 
          "CIM_DiagnosticSetting.VerbosityLevel" }, 
       Write, Description ( 
          "This property is being deprecated because the "
          "TestWarningLevel and LogOptions properties serve the "
          "same purpose. It is deprecated in lieu of using the "
          "LogOptions (\'Warnings\') property in conjunction with "
          "VerbosityLevel to specify this information. The \'Missing "
          "Resources\' and \'Testing Impacts\' values are not "
          "included directly in LogOptions, but they are expected "
          "to be recorded in the resulting DiagnosticServiceRecord "
          "object. \n"
          "\n"
          "Sets the level of warning messages to be logged. \n"
          "If for example no warning information is required, the "
          "level would be set to \"No Warnings\" (value=0). Using "
          "\"Missing Resources\" (value=1) will cause warnings to "
          "be generated when required resources or hardware are not "
          "found. Setting the value to 2, \"Testing Impacts\", "
          "results in both missing resources and \'test impact\' "
          "warnings (for example, multiple retries required) to be "
          "reported." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "No Warnings", "Missing Resources", 
          "Testing Impacts", "All Warnings" }]
   uint16 TestWarningLevel;

      [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, 
       Write, Description ( 
          "When this flag is true, the diagnostic test will report "
          "\'soft errors\'. In this context, a soft error is a "
          "message from the diagnostic reporting a known defect in "
          "the hardware or driver configuration, or execution "
          "environment. Examples are: \'Not enough memory\', "
          "\'Driver IOCTL not implemented\', \'Video RAM compare "
          "failed during polygon fill test (A known defect in the "
          "video chipset)\', etc." )]
   boolean ReportSoftErrors;

      [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, 
       Write, Description ( 
          "When this flag is true, the diagnostic test will report "
          "\'status messages\'. In this context, a status message "
          "indicates that the diagnostic code is at a checkpoint. "
          "Examples are: \"Completion of phase 1\", \"Complex "
          "pattern\", etc." )]
   boolean ReportStatusMessages;

      [Write, Description ( 
          "When this flag is true, the test will halt after finding "
          "the first error." )]
   boolean HaltOnError;

      [Write, Description ( 
          "When this flag is true, the test software should attempt "
          "to run in an accelerated fashion either by reducing the "
          "coverage or number of tests performed." )]
   boolean QuickMode;

      [Write, Description ( 
          "Requests the diagnostic software to reduce test coverage "
          "to the specified percentage. For example, a hard drive "
          "scan test could be asked to run at 50%. The most "
          "effective way to accomplish this is for the test "
          "software to scan every other track, as opposed to only "
          "scanning the first half of a drive. It is assumed that "
          "the effectiveness of the test is impacted proportional "
          "to the percentage of testing requested. Permissible "
          "values for this property range from 0 to 100." ), 
       Units ( "Percent" ), 
       MinValue ( 0 ), 
       MaxValue ( 100 ), 
       ModelCorrespondence { 
          "CIM_DiagnosticServiceCapabilities.SupportedServiceModes" }]
   uint8 PercentOfTestCoverage;

      [Write, Description ( 
          "Array entries contain parameters corresponding to "
          "entries in the LoopControl array, limiting the number of "
          "times a test should be repeated with a single invocation "
          "of a test method by a CIM client." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_DiagnosticSetting.LoopControl" }]
   string LoopControlParameter[];

      [Write, Description ( 
          "LoopControl, used in conjunction with "
          "LoopControlParameter, sets one or more loop control "
          "mechanisms that limits the number of times a test should "
          "be repeated with a single invocation of a test method by "
          "a CIM client. There is an array-positional "
          "correspondence between LoopControl entries & "
          "LoopControlParameter entries. The entries in these "
          "coupled arrays of loop controls can be used in a logical "
          "OR fashion to achieve the desired loop control. For "
          "example, if a client wants to loop a test 1000 times, "
          "but quit if a timer runs out, it could set both controls "
          "into the LoopControl array as two separate entries in "
          "each array. The looping test will terminate when the "
          "first of the two ORed conditions are met. \n"
          "The descriptions for each loop control are given below: \n"
          "Unknown (= 0) \n"
          "Other (= 1) : Additional detail may be found in "
          "OtherLoopControlDescriptions. \n"
          "Continuous (= 2) : The corresponding LoopControl "
          "Parameter is ignored and the test will execute "
          "continuously. Tests that use this control should also "
          "support DiscontinueTest. \n"
          "Count(=3) : The corresponding LoopControlParameter is "
          "interpreted as a loop count (uint32), indicating the "
          "number of times the test should be repeated with a "
          "single invocation of a test method by a CIM client. \n"
          "Timer (= 4) : The corresponding LoopControlParameter is "
          "interpreted as an initial value (uint32) for a test loop "
          "timer, given in seconds. The looping is terminated when "
          "this timer has lapsed. \n"
          "ErrorCount (= 5) : The corresponding LoopControl "
          "Parameter is interpreted as an error count (uint32). The "
          "loop will continue until the number of errors that have "
          "occurred exceeds the ErrorCount. Note: the ErrorCount "
          "only refers to hard test errors; it does not include "
          "soft errors or warnings." ), 
       ValueMap { "0", "1", "2", "3", "4", "5" }, 
       Values { "Unknown", "Other", "Continuous", "Count", "Timer", 
          "ErrorCount" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_DiagnosticSetting.LoopControlParameter", 
          "CIM_DiagnosticSetting.OtherLoopControlDescriptions", 
          "CIM_DiagnosticServiceCapabilities.SupportedLoopControl" }]
   uint16 LoopControl[];

      [Deprecated { 
          "CIM_DiagnosticSetting.OtherLoopControlDescriptions" }, 
       Write, Description ( 
          "This property is deprecated and replaced with an array. \n"
          "It provides additional information for LoopControl when "
          "its value is set to 1 (\'Other\')." ), 
       ModelCorrespondence { 
          "CIM_DiagnosticSetting.LoopControlParameter" }]
   string OtherLoopControlDescription;

      [Write, Description ( 
          "This property provides additional information for "
          "LoopControl when the corresponding value is set to 1 "
          "(\'Other\')." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_DiagnosticSetting.LoopControlParameter", 
          "CIM_DiagnosticSetting.LoopControl" }]
   string OtherLoopControlDescriptions[];

      [Write, Description ( 
          "The ResultPersistence property is a directive from a "
          "diagnostic client to a diagnostic provider. It allows "
          "the client to specify to the diagnostic service provider "
          "how long to persist the messages that result from "
          "execution of a diagnostic service. This applies to "
          "instances of DiagnosticResult as well as the preferred "
          "use of DiagnosticServiceRecord. The timeout period "
          "starts upon completion of the diagnostic action "
          "described by the DiagnosticService. \n"
          "\n"
          "Here is a summary of the choices and behaviors for "
          "different ResultPersistence values: \n"
          "0 = \"No Persistence\": \n"
          "Setting the timer to zero tells the provider not to "
          "persist the diagnostic result. The diagnostic "
          "information is only available while the diagnostic is "
          "executing or at its conclusion. \n"
          "Value > 0 and < 0xFFFFFFFF = \"Persist With TimeOut\": \n"
          "Setting the ResultPersistenceOption to a integer will "
          "cause the DiagnosticResult to be persisted for that "
          "number of seconds. At the end of that time, the "
          "DiagnosticResult may be deleted by the diagnostic "
          "service provider. \n"
          "0xFFFFFFFF = \"Persist Forever\": \n"
          "By setting the timeout value to the very large value, "
          "0xFFFFFFFF, the provider shall persist results forever. "
          "In this case, the client MUST bear the responsibility "
          "for deleting them." ), 
       Units ( "Seconds" )]
   uint32 ResultPersistence;

      [Write, Description ( 
          "The LogOptions property is used to specify the types of "
          "data that SHOULD be logged by the diagnostic service. "
          "Any number of values may be specified in the array. Note "
          "that the default behavior is for nothing to be logged. \n"
          "The AMOUNT of data to be logged can be controlled for "
          "each value selected by specifying a VerbosityLevel "
          "value. Verbosity may not apply to all LogOptions values, "
          "in which case the default VerbosityLevel of \"Standard\" "
          "SHOULD be used. \n"
          "The RecordForLog produced by running a service MUST be "
          "tagged with a RecordType that corresponds to one of "
          "these log option values. \n"
          "Following is a brief description of the available log "
          "options: \n"
          "* \"Other\" (value = 1): Details are given in the "
          "corresponding OtherLogOptionsDescriptions entry. \n"
          "* \"Results\" (value = 2): Log the results obtained by "
          "running the service. This is the most common value for "
          "reporting the service results. \n"
          "* \"Subtests\" (value = 3): Log a test summary report "
          "upon completion of each subtest and each loop iteration. "
          "The summary reports SHOULD state whether the individual "
          "subtest or iteration passed or failed and list relevant "
          "error codes and respective error counts. \n"
          "* \"Actions\" (value = 4): Log corrective action and "
          "instructional messages to guide service personnel; for "
          "example, a prioritized list of actions to perform in "
          "order to isolate a failure or correct a problem. When "
          "ordering steps or prioritizing actions, a number should "
          "proceed the text; for example, 1) Do this first, 2) Do "
          "this next, etc. \n"
          "* \"Warnings\" (value = 5): Log warning messages; for "
          "example, \'device will be taken off line\', \'test is "
          "long-running\' or \'available memory is low\'. The "
          "VerbosityLevel value specified for the Warnings option "
          "is related to the severity of the warnings logged; for "
          "instance, one would specify a high level of verbosity to "
          "get all warnings logged, regardless of severity, and a "
          "low level of verbosity to have only the most severe "
          "warnings logged. \n"
          "* \"Status\" (value = 6): Log status messages; for "
          "example, state information for the driver, device, or "
          "system. \n"
          "* \"Device Errors\" (value = 7): Log errors related to "
          "the managed element being serviced. \n"
          "* \"Service Errors\" (value = 8): Log errors related to "
          "the service itself rather than the element being "
          "serviced, such as \'Resource Allocaton Failure\'. \n"
          "* \"Setting Data\" (value=9): Log the property values of "
          "the DiagnosticSetting object used to configure the "
          "service. \n"
          "* \"Statistics\" (value = 10): Log statistical messages; "
          "for example, packets sent per second. \n"
          "* \"Hardware Configuration\" (value = 11): Log messages "
          "that contain information about the hardware "
          "configuration as viewed by the service; for example, "
          "vendor, version, FRU identification, and location "
          "information. The format and contents of this property is "
          "element dependent. Examples are: SCSI ID, LPTx, PCI Slot "
          "Number, and Dimm#. \n"
          "* \"Software Configuration\" (value = 12): Log messages "
          "that contain information about the software environment "
          "as viewed by the service; for example, the name and "
          "version of all the critical software elements "
          "controlling the device under test. Each configuration "
          "message SHOULD have the following common format: Element "
          "name; element type; manufacturer name; version; for "
          "example, \'Miniport driver; SCSI; Intel; Version 1.2\'. \n"
          "* \"Reference\" (value = 13): Log the keys of an CIM "
          "object of of interest; for example, the element under "
          "test, or a data file. \n"
          "* \"Debug\" (value = 14): Log debug messages. These "
          "messages are vendor specific." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15" }, 
       Values { "Unknown", "Other", "Results", "Subtests", 
          "Actions", "Warnings", "Status", "Device Errors", 
          "Service Errors", "Setting Data", "Statistics", 
          "Hardware Configuration", "Software Configuration", 
          "References", "Debug", "No Log Options" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_DiagnosticSetting.OtherLogOptionsDescriptions", 
          "CIM_DiagnosticServiceCapabilities.SupportedLogOptions", 
          "CIM_DiagnosticServiceRecord.RecordType", 
          "CIM_DiagnosticSetting.VerbosityLevel" }]
   uint16 LogOptions[];

      [Write, Description ( 
          "Provides additional information regarding the types of "
          "test messages that are logged when the property "
          "LogOptions includes the value 1 (\"Other\")." ), 
       ModelCorrespondence { "CIM_DiagnosticSetting.LogOptions" }]
   string OtherLogOptionsDescriptions[];

      [Write, Description ( 
          "The LogStorage setting property indicates which types of "
          "supported storage should be used by the Diagnostic "
          "Service for logging of the data specified in LogOptions. \n"
          "The values are: \n"
          "\"DiagnosticRecordLog\" (Value = 2): Use the "
          "DiagnosticRecordLog and DiagnosticRecord classes. \n"
          "\"MessageLog\" (Value = 4): Use the MessageLog class and "
          "its methods. \n"
          "\"File\" (Value = 5): Write data to a file." ), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Unknown", "Other", "DiagnosticRecordLog", 
          "MessageLog", "File" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_DiagnosticSetting.OtherLogStorageDescriptions", 
          "CIM_DiagnosticServiceCapabilities.SupportedLogStorage" }]
   uint16 LogStorage[];

      [Write, Description ( 
          "This property provides additional information for "
          "LogStorage when the corresponding value is set to 1 "
          "(\"Other\")." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_DiagnosticSetting.LogStorage" }]
   string OtherLogStorageDescriptions[];

      [Write, Description ( 
          "A client may want to specify the desired volume or "
          "detail logged by a diagnostic service. This property is "
          "applied to a corresponding logging option, acting as a "
          "qualifier on its description. Three levels of verbosity "
          "are defined as follows: \n"
          "* \"Minimum\" (value=2): Specified if the least amount "
          "of information is desired; for example, Pass or Fail. \n"
          "* \"Standard\" (value=3): This is the standard level of "
          "messaging provided by the service. It is the form most "
          "likely to be used if no verbosity value is specified "
          "(default). \n"
          "* \"Full\" (value=4): Specified when all information, "
          "regardless of size, is desired. \n"
          "Note that VerbosityLevel is a subjective property and "
          "relates to the degree of detail, not an absolute metric. "
          "A client simply specifies its desired level of detail "
          "and the provider publishes its data in accordance with "
          "this desired level of detail. \n"
          "Verbosity may not apply to all LogOptions values, in "
          "which case the default VerbosityLevel of \"Standard\" "
          "SHOULD be used." ), 
       ValueMap { "2", "3", "4" }, 
       Values { "Minimum", "Standard", "Full" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_DiagnosticSetting.LogOptions" }]
   uint16 VerbosityLevel[];

      [Write, Description ( 
          "This property, along with the locale information in "
          "LocalizationCapabilities and DiagnosticServiceRecord, "
          "meets the requirement to specify locale for results "
          "produced by a diagnostic service. A locale indicates a "
          "particular geographical, political, or cultural region. "
          "The Locales property of the DiagnosticSetting class is "
          "an array of strings whose entries specify a language to "
          "be used in the formulation of information requested by "
          "or delivered to a client as a result of running a "
          "diagnostic service. It is specified by the client as an "
          "input parameter to the RunDiagnostic method, by virtue "
          "of its inclusion in this Setting class which is a "
          "parameter of the method. A single Setting object may "
          "specify more than one Locale. In this case, information "
          "MUST be returned in each language specified. \n"
          "\n"
          "Each array entry consists of three sub-strings, "
          "separated by underscores: \n"
          "- The first sub-string is the language code, as "
          "specified in ISO639. \n"
          "- The second sub-string is the country code, as "
          "specified in ISO3166. \n"
          "- The third sub-string is a variant, which is vendor "
          "specific. \n"
          "For example, US English appears as: \"en_US_WIN\", where "
          "the \"WIN\" variant would specify a Windows "
          "browser-specific collation (if one exists). Since the "
          "variant is not standardized, it is not commonly used and "
          "generally is limited to easily recognizable values "
          "(\"WIN\", \"UNIX\", \"EURO\", etc.) used in standard "
          "environments. The language and country codes are "
          "required; the variant may be empty." ), 
       ModelCorrespondence { 
          "CIM_LocalizationCapabilities.SupportedOutputLocales" }]
   string Locales[];


};