(file) Return to System_Diagnostics.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

   1 karl  1.1 // ===================================================================
   2           // Title:  System Diagnostics
   3           // $State: Preliminary $
   4           // $Date: 2004/07/15 21:32:36 $
   5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_Diagnostics.mof,v $
   6           // $Revision: 1.25 $
   7           // ===================================================================
   8           //#pragma inLine ("Includes/copyright.inc")
   9           // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
  10           // All rights reserved.
  11           // DMTF is a not-for-profit association of industry members dedicated
  12           // to promoting enterprise and systems management and interoperability.
  13           // DMTF specifications and documents may be reproduced for uses
  14           // consistent with this purpose by members and non-members,
  15           // provided that correct attribution is given.
  16           // As DMTF specifications may be revised from time to time,
  17           // the particular version and release date should always be noted.
  18           // 
  19           // Implementation of certain elements of this standard or proposed
  20           // standard may be subject to third party patent rights, including
  21           // provisional patent rights (herein "patent rights"). DMTF makes
  22 karl  1.1 // no representations to users of the standard as to the existence
  23           // of such rights, and is not responsible to recognize, disclose, or
  24           // identify any or all such third party patent right, owners or
  25           // claimants, nor for any incomplete or inaccurate identification or
  26           // disclosure of such rights, owners or claimants. DMTF shall have no
  27           // liability to any party, in any manner or circumstance, under any
  28           // legal theory whatsoever, for failure to recognize, disclose, or
  29           // identify any such third party patent rights, or for such party's
  30           // reliance on the standard or incorporation thereof in its product,
  31           // protocols or testing procedures. DMTF shall have no liability to
  32           // any party implementing such standard, whether such implementation
  33           // is foreseeable or not, nor to any patent owner or claimant, and shall
  34           // have no liability or responsibility for costs or losses incurred if
  35           // a standard is withdrawn or modified after publication, and shall be
  36           // indemnified and held harmless by any party implementing the
  37           // standard from any and all claims of infringement by a patent owner
  38           // for such implementations.
  39           // 
  40           // For information about patents held by third-parties which have
  41           // notified the DMTF that, in their opinion, such patent may relate to
  42           // or impact implementations of DMTF standards, visit
  43 karl  1.1 // http://www.dmtf.org/about/policies/disclosures.php.
  44           //#pragma inLine
  45           // ===================================================================
  46           // Description: The System Model defines system related management
  47           //              concepts. This file defines the specific concepts for
  48           //              Diagnostics.
  49           // 
  50           //              The object classes below are listed in an order that
  51           //              avoids forward references. Required objects, defined
  52           //              by other working groups, are omitted.
  53           // ==================================================================
  54           // Change Log for v2.9 Preliminary Company Review
  55           // CR1443 - Add ModelCorrespondance DiagnosticSetting.LoopControl,
  56           //          remove initialization of DiagnosticSetting.VerbosityLevel,
  57           //          and deprecate
  58           //          DiagnosticServiceCapabilities.SupportedTestWarnings
  59           // CR1453 - Corrections to DiagnosticServiceCapabilities
  60           // CR1454 - Various Corrections to the Diagnostic SubModel
  61           // CR1455 - Corrections to DiagnosticRecord and DiagnosticSetting
  62           //          corresponding to DiagnosticServiceCapabilities
  63           // CR1465 - Corrected compile errors and warnings.
  64 karl  1.1 // 
  65           // Change Log for 2.9 Preliminary
  66           // CR 1190 - Rewrite LogOptions and deprecate TestWarningLevel
  67           // CR 1287 - Remove DiagnosticRecord.ExecutionID, override the
  68           //  description for RecordID, and add a new required property:
  69           //  ManagedElementName
  70           // CR 1320 - Make DiagnosticSetting.OtherLoopControlDescriptions an
  71           //  array and some other fixes.
  72           // CR 1322 - Add "Device Errors" to LogOptions and RecordType
  73           // CR 1281 - Deprecate CIM_DiagnosticTest.ClearResults
  74           // CR 1323 - Add DiagnosticRecordLog to SupportedLogStorage and cleanup
  75           // CR 1292 - Add "Media Required" to CIM_DiagnosticTest.Characteristics
  76           // CR 1369 - Add "Additional Hardware Required" to
  77           //  CIM_DiagnosticTest.Characteristics
  78           // The decision was made to leave all diagnostics Experimental classes
  79           // and properties as Experimental in V2.9. V2.9 Preliminary was created
  80           // by applying all V2.8 CRs to the V2.8 Final mof. Following is a list
  81           // of these CRs (described in earlier change logs):
  82           // CR1072
  83           // CR1073
  84           // CR1074
  85 karl  1.1 // CR1075
  86           // CR1076
  87           // CR1077
  88           // CR1078
  89           // CR1079
  90           // CR1080
  91           // CR936 - Add an expiration date to DiagnosticServiceRecord.
  92           // CR937 - Localization *** needs to be applied to CORE
  93           // CR938 - Redefine DataFormat and add a data property to LogRecord.
  94           //         *** This needs to be applied to System28_Logs.mof
  95           // CR939
  96           // CR944
  97           // CR945
  98           // CR946
  99           // CR947
 100           // CR1020
 101           // CR1041 - Add Help service. *** This is IN 2.8 final
 102           // CR1181
 103           // CR1091 - Cleanup of RunDiagnostic methods
 104           // CR1125 - Rename Verbosity to TestResultLevel since it is a
 105           //          corollary of TestWarningLevel.  Clean up descriptions
 106 karl  1.1 //          in LogOptions.
 107           // CR1126 - DiagnosticServiceRecord vs. DiagnosticSettingRecord
 108           // CR1130 - DiagnosticsServiceCapabilities model correspondance
 109           //          corrections
 110           // 
 111           // Change Log for 2.8 Final
 112           // CR1204 - Removal of Experimental for Preliminary to Final
 113           //        - all diagnostics kept as experimental for 2.9 prelim
 114           // CR1184 - Change the "Boolean" declaration to "boolean" for
 115           //          DiagnosticTest.DiscontinueTest(TestingStopped)
 116           // CR1223 - SysDev Omnibus MOF corrections.
 117           // 
 118           // Change Log for 2.8 Preliminary
 119           // CR947 - Add new record types
 120           // CR945 - Change description of ResultPersistence to apply to LogRecord
 121           // CR944 - IsSynchronous DiagnosticTest Characteristic and Miscellaneous
 122           //          cleanup related to PercentOfTestCoverage and IsPackage
 123           // CR937  - Localization
 124           // CR946 - Deprecate DiagnosticResult and add needed
 125           //        properties to DiagnosticServiceRecord
 126           // CR939 - Add verbosity setting for result messages
 127 karl  1.1 // CR1020 - Promote "Test" associations to "Service"
 128           // CR1041 - Add Help service
 129           // CR1091 - Cleanup of RunDiagnostic methods
 130           // CR1092  - Move HelpService to new Core28_Help from
 131           //           System28_Diagnostics
 132           // CR1125 - Rename Verbosity to TestResultLevel since it is a
 133           //          corollary of TestWarningLevel.  Clean up descriptions
 134           //          in LogOptions.
 135           // CR1126 - DiagnosticServiceRecord vs. DiagnosticSettingRecord
 136           // CR1130 - DiagnosticsServiceCapabilities model correspondance
 137           //          corrections
 138           // 
 139           // Changes to bring forward from final
 140           // CR726/CR1072 - Add LogOptions, OtherLogOptionDescriptions to
 141           //         DiagnosticSetting and DiagnosticResult
 142           //         Deprecate ReportSoftErrors and ReportStatusMessages from
 143           //         DiagnosticSetting and DiagnosticResult
 144           // CR764/CR1076 - Add DiagnosticService
 145           //       - Change subclassing of DiagnosticTest from Service to
 146           //         DiagnosticService
 147           //       - Deprecation DiagnosticTest.ResourcesUsed and DiagnosticTest.
 148 karl  1.1 //         IsInUse
 149           //       - Fix the Class Name in the ModelCorrespondence string for
 150           //         DiagnosticTest.OtherCharacteristicDescription
 151           // CR765/CR1077 - Update the the DiagnoticTest and DiagnosticResult
 152           //         LogOptions property
 153           //       - Modify the description of DiagnosticResult.TestResults
 154           // CR779/CR1073 - Add DiagnosticService.RunDiagnostic()
 155           //       - Deprecate DiagnosticTest.RunTest()
 156           //       - Deprecate DiagnosticTest.DiscontinueTest()
 157           //       - Update class description for DiagnosticTest
 158           // CR780/CR1074 - Add DiagnosticServiceCapabilities
 159           // CR781/CR1075 - Add DiagnosticServiceRecord
 160           // CR887/CR1078 - Fix the DiagnosticService.RunDiagnostic return range
 161           // for
 162           //         Method Reserved.
 163           // CR888/CR1079 - Correct DateTime format in the description of
 164           //         DiagnosticResult.TestResults
 165           // CR889/CR1080 - For consistency change the deprecation statement in
 166           //         RunTest to reference the class where the RunDiagnostic
 167           //         is defined (DiagnosticService).
 168           // 
 169 karl  1.1 // Change Log for v2.7 Final
 170           // CR1010 - Update DiagnosticResult.TestResults Description
 171           //          related to datetime
 172           // CR965 - Update description for DiagnosticTestForMSE
 173           // CR973 - Remove Experimental from
 174           //         DiagnosticSetting.LoopControlParameter
 175           //         DiagnosticSetting.LoopControl
 176           //         DiagnosticSetting.OtherLoopControlDescription
 177           //         DiagnosticSetting.ResultPersistence
 178           //         DiagnosticResult.ErrorCode
 179           //         DiagnosticResult.ErrorCount
 180           //         DiagnosticResult.LoopsFailed
 181           //         DiagnosticResult.LoopsPassed
 182           //         DiagnosticResult.LoopControlParameter
 183           //         DiagnosticResult.LoopControl
 184           //         DiagnosticResult.OtherLoopControlDescription
 185           //         DiagnosticResult.ResultPersistence
 186           //       - Move forward with the deprecations
 187           //         DiagnosticResult.IsPackage
 188           //         DiagnosticTest.IsinUse
 189           //         DiagnosticTest.ResourcesUsed
 190 karl  1.1 //         DiagnosticResultInPackage
 191           //         DiagnosticTestInPackage
 192           //         DiagnosticTest.RunTest
 193           //         DiagnosticSetting. and DiagnosticResult.ReportSoftErrors
 194           //         DiagnosticSetting. and DiagnosticResult.ReportStatusMessages
 195           //       - Hold off the rest of the Diagnostic deprecations and
 196           //         experimental classes and properties until 2.8 (this
 197           //         includes DiagnosticService, DiagnosticServiceRecord and
 198           //         DiagnosticServiceCapabilities)
 199           // 
 200           // Change Log for v2.7
 201           // CR725 - Add the following 3 properties LoopControlParameter,
 202           //         LoopControl, and OtherLoopControlDescription to
 203           //         DiagnosticSetting and DiagnosticResult
 204           // CR749 - Deprecate DiagnosticTestInPackage, DiagnosticResultInPackage,
 205           //         and DiagnosticResult.IsPackage
 206           // CR766 - Add the following properties to DiagnosticResult:
 207           //         ErrorCode, ErrorCount, LoopsFailed, LoopsPassed
 208           // CR778 - Add property ResultPersistence to DiagnosticSetting and
 209           //         DiagnosticResult
 210           // ===================================================================
 211 karl  1.1 
 212           #pragma locale ("en_US")
 213           
 214           
 215           // ==================================================================
 216           // DiagnosticSetting
 217           // ==================================================================
 218              [Version ( "2.8.1000" ), Description (
 219                  "Specific diagnostic test parameters and execution instructions "
 220                  "are defined by subclassing and/or instantiating the "
 221                  "DiagnosticSetting object. To provide more detailed Settings "
 222                  "for a type of test (i.e., additional properties), subclassing "
 223                  "is appropriate. When only the generic Setting information is "
 224                  "required, instantiation of the Diagnostic Setting class may "
 225                  "suffice.")]
 226           class CIM_DiagnosticSetting : CIM_Setting {
 227           
 228                 [Key, Override ( "SettingID" ), Description (
 229                     "The identifier by which the DiagnosticSetting object is "
 230                     "known and uniquely named. One possible naming scheme is to "
 231                     "name the SettingID using the DiagnosticTest's CreationClass "
 232 karl  1.1           "Name and DiagnosticName, plus a GUID (Globally Unique "
 233                     "IDentifier). \n"
 234                     "Note that at an enterprise level, there is typically not a "
 235                     "one to one mapping between a DiagnosticSetting and all "
 236                     "copies of the DiagnosticTest. The proposed naming "
 237                     "convention will scale to the entrprise level."), 
 238                  MaxLen ( 256 )]
 239              string SettingID;
 240           
 241                 [Deprecated { "CIM_DiagnosticSetting.LogOptions",
 242                     "CIM_DiagnosticSetting.VerbosityLevel" }, Write, 
 243                  Description (
 244                     "This property is being deprecated because the "
 245                     "TestWarningLevel and LogOptions properties serve the same "
 246                     "purpose. It is deprecated in lieu of using the LogOptions "
 247                     "('Warnings') property in conjunction with VerbosityLevel to "
 248                     "specify this information. The 'Missing Resources' and "
 249                     "'Testing Impacts' values are not included directly in "
 250                     "LogOptions, but they are expected to be recorded in the "
 251                     "resulting DiagnosticServiceRecord object. \n"
 252                     "\n"
 253 karl  1.1           "Sets the level of warning messages to be logged. \n"
 254                     "If for example no warning information is required, the "
 255                     "level would be set to \"No Warnings\" (value=0). Using "
 256                     "\"Missing Resources\" (value=1) will cause warnings to be "
 257                     "generated when required resources or hardware are not "
 258                     "found. Setting the value to 2, \"Testing Impacts\", results "
 259                     "in both missing resources and 'test impact' warnings (for "
 260                     "example, multiple retries required) to be reported."), 
 261                  ValueMap { "0", "1", "2", "3" }, 
 262                  Values { "No Warnings", "Missing Resources", "Testing Impacts",
 263                     "All Warnings" }]
 264              uint16 TestWarningLevel;
 265           
 266                 [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, Write, 
 267                  Description (
 268                     "When this flag is true, the diagnostic test will report "
 269                     "'soft errors'. In this context, a soft error is a message "
 270                     "from the diagnostic reporting a known defect in the "
 271                     "hardware or driver configuration, or execution environment. "
 272                     "Examples are: 'Not enough memory', 'Driver IOCTL not "
 273                     "implemented', 'Video RAM compare failed during polygon fill "
 274 karl  1.1           "test (A known defect in the video chipset)', etc.")]
 275              boolean ReportSoftErrors;
 276           
 277           
 278                 [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, Write, 
 279                  Description (
 280                     "When this flag is true, the diagnostic test will report "
 281                     "'status messages'. In this context, a status message "
 282                     "indicates that the diagnostic code is at a checkpoint. "
 283                     "Examples are: \"Completion of phase 1\", \"Complex "
 284                     "pattern\", etc.")]
 285              boolean ReportStatusMessages;
 286           
 287                 [Write, Description (
 288                     "When this flag is true, the test will halt after finding "
 289                     "the first error.")]
 290              boolean HaltOnError;
 291           
 292                 [Write, Description (
 293                     "When this flag is true, the test software should attempt to "
 294                     "run in an accelerated fashion either by reducing the "
 295 karl  1.1           "coverage or number of tests performed.")]
 296              boolean QuickMode;
 297           
 298                 [Write, Description (
 299                     "Requests the diagnostic software to reduce test coverage to "
 300                     "the specified percentage. For example, a hard drive scan "
 301                     "test could be asked to run at 50%. The most effective way "
 302                     "to accomplish this is for the test software to scan every "
 303                     "other track, as opposed to only scanning the first half of "
 304                     "a drive. It is assumed that the effectiveness of the test "
 305                     "is impacted proportional to the percentage of testing "
 306                     "requested. Permissible values for this property range from "
 307                     "0 to 100."), 
 308                  Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 ), 
 309                  ModelCorrespondence { 
 310                     "CIM_DiagnosticServiceCapabilities.SupportedServiceModes" }]
 311              uint8 PercentOfTestCoverage;
 312           
 313                 [Write, Description (
 314                     "Array entries contain parameters corresponding to entries "
 315                     "in the LoopControl array, limiting the number of times a "
 316 karl  1.1           "test should be repeated with a single invocation of a test "
 317                     "method by a CIM client."), 
 318                  ArrayType ( "Indexed" ), 
 319                  ModelCorrespondence { "CIM_DiagnosticSetting.LoopControl" }]
 320              string LoopControlParameter[];
 321           
 322                 [Write, Description (
 323                     "LoopControl, used in conjunction with LoopControlParameter, "
 324                     "sets one or more loop control mechanisms that limits the "
 325                     "number of times a test should be repeated with a single "
 326                     "invocation of a test method by a CIM client. There is an "
 327                     "array-positional correspondence between LoopControl entries "
 328                     "& LoopControlParameter entries. The entries in these "
 329                     "coupled arrays of loop controls can be used in a logical OR "
 330                     "fashion to achieve the desired loop control. For example, "
 331                     "if a client wants to loop a test 1000 times, but quit if a "
 332                     "timer runs out, it could set both controls into the "
 333                     "LoopControl array as two separate entries in each array. "
 334                     "The looping test will terminate when the first of the two "
 335                     "ORed conditions are met. \n"
 336                     "The descriptions for each loop control are given below: \n"
 337 karl  1.1           "Unknown/Default (= 0) \n"
 338                     "Other (= 1) : Additional detail may be found in "
 339                     "OtherLoopControlDescriptions. \n"
 340                     "Continuous (= 2) : The corresponding LoopControl Parameter "
 341                     "is ignored and the test will execute continuously. Tests "
 342                     "that use this control should also support DiscontinueTest. "
 343                     "\nCount(=3) : The corresponding LoopControlParameter is "
 344                     "interpreted as a loop count (uint32), indicating the number "
 345                     "of times the test should be repeated with a single "
 346                     "invocation of a test method by a CIM client. \n"
 347                     "Timer (= 4) : The corresponding LoopControlParameter is "
 348                     "interpreted as an initial value (uint32) for a test loop "
 349                     "timer, given in seconds. The looping is terminated when "
 350                     "this timer has lapsed. \n"
 351                     "ErrorCount (= 5) : The corresponding LoopControl Parameter "
 352                     "is interpreted as an error count (uint32). The loop will "
 353                     "continue until the number of errors that have occurred "
 354                     "exceeds the ErrorCount. Note: the ErrorCount only refers to "
 355                     "hard test errors; it does not include soft errors or "
 356                     "warnings."), 
 357                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 358 karl  1.1        Values { "Unknown", "Other", "Continuous", "Count", "Timer",
 359                     "ErrorCount", "No Loop Control" }, ArrayType ( "Indexed" ), 
 360                  ModelCorrespondence { 
 361                     "CIM_DiagnosticSetting.LoopControlParameter",
 362                     "CIM_DiagnosticSetting.OtherLoopControlDescriptions",
 363                     "CIM_DiagnosticServiceCapabilities.SupportedLoopControl" }]
 364              uint16 LoopControl[];
 365           
 366                 [Deprecated { 
 367                     "CIM_DiagnosticSetting.OtherLoopControlDescriptions" }, Write, 
 368                  Description (
 369                     "This property is deprecated and replaced with an array. \n"
 370                     "It provides additional information for LoopControl when its "
 371                     "value is set to 1 ('Other')."), 
 372                  ModelCorrespondence { 
 373                     "CIM_DiagnosticSetting.LoopControlParameter" }]
 374              string OtherLoopControlDescription;
 375           
 376                 [Experimental, Write, Description (
 377                     "This property provides additional information for "
 378                     "LoopControl when the corresponding value is set to 1 "
 379 karl  1.1           "('Other')."), 
 380                  ArrayType ( "Indexed" ), 
 381                  ModelCorrespondence { 
 382                     "CIM_DiagnosticSetting.LoopControlParameter",
 383                     "CIM_DiagnosticSetting.LoopControl" }]
 384              string OtherLoopControlDescriptions[];
 385           
 386                 [Write, Description (
 387                     "The ResultPersistence property is a directive from a "
 388                     "diagnostic client to a diagnostic provider. It allows the "
 389                     "client to specify to the diagnostic service provider how "
 390                     "long to persist the messages that result from execution of "
 391                     "a diagnostic service. This applies to instances of "
 392                     "DiagnosticResult as well as the preferred use of "
 393                     "DiagnosticServiceRecord. The timeout period starts upon "
 394                     "completion of the diagnostic action described by the "
 395                     "DiagnosticService. \n"
 396                     "\n"
 397                     "Here is a summary of the choices and behaviors for "
 398                     "different ResultPersistence values: \n"
 399                     "0 = \"No Persistence\": \n"
 400 karl  1.1           "Setting the timer to zero tells the provider not to persist "
 401                     "the diagnostic result. The diagnostic information is only "
 402                     "available while the diagnostic is executing or at its "
 403                     "conclusion. \n"
 404                     "Value > 0 and < 0xFFFFFFFF = \"Persist With TimeOut\": \n"
 405                     "Setting the ResultPersistenceOption to a integer will cause "
 406                     "the DiagnosticResult to be persisted for that number of "
 407                     "seconds. At the end of that time, the DiagnosticResult may "
 408                     "be deleted by the diagnostic service provider. \n"
 409                     "0xFFFFFFFF = \"Persist Forever\": \n"
 410                     "By setting the timeout value to the very large value, "
 411                     "0xFFFFFFFF, the provider shall persist results forever. In "
 412                     "this case, the client MUST bear the responsibility for "
 413                     "deleting them."), 
 414                  Units ( "Seconds" )]
 415              uint32 ResultPersistence;
 416           
 417                 [Experimental, Write, Description (
 418                     "The LogOptions property is used to specify the types of "
 419                     "data that SHOULD be logged by the diagnostic service. Any "
 420                     "number of values may be specified in the array. Note that "
 421 karl  1.1           "the default behavior is for nothing to be logged. \n"
 422                     "The AMOUNT of data to be logged can be controlled for each "
 423                     "value selected by specifying a VerbosityLevel value. "
 424                     "Verbosity may not apply to all LogOptions values, in which "
 425                     "case the default VerbosityLevel of \"Standard\" SHOULD be "
 426                     "used. \n"
 427                     "The LogRecord produced by running a service MUST be tagged "
 428                     "with a RecordType that corresponds to one of these log "
 429                     "option values. \n"
 430                     "Following is a brief description of the available log "
 431                     "options: \n"
 432                     "* \"Other\" (value = 1): Details are given in the "
 433                     "corresponding OtherLogOptionsDescription entry. \n"
 434                     "* \"Results\" (value = 2): Log the results obtained by "
 435                     "running the service. This is the most common value for "
 436                     "reporting the service results. \n"
 437                     "* \"Subtests\" (value = 3): Log a test summary report upon "
 438                     "completion of each subtest and each loop iteration. The "
 439                     "summary reports SHOULD state whether the individual subtest "
 440                     "or iteration passed or failed and list relevant error codes "
 441                     "and respective error counts. \n"
 442 karl  1.1           "* \"Actions\" (value = 4): Log corrective action and "
 443                     "instructional messages to guide service personnel; for "
 444                     "example, a prioritized list of actions to perform in order "
 445                     "to isolate a failure or correct a problem. When ordering "
 446                     "steps or prioritizing actions, a number should proceed the "
 447                     "text; for example, 1) Do this first, 2) Do this next, etc. "
 448                     "\n* \"Warnings\" (value = 5): Log warning messages; for "
 449                     "example, 'device will be taken off line', 'test is "
 450                     "long-running' or 'available memory is low'. The "
 451                     "VerbosityLevel value specified for the Warnings option is "
 452                     "related to the severity of the warnings logged; for "
 453                     "instance, one would specify a high level of verbosity to "
 454                     "get all warnings logged, regardless of severity, and a low "
 455                     "level of verbosity to have only the most severe warnings "
 456                     "logged. \n"
 457                     "* \"Status\" (value = 6): Log status messages; for example, "
 458                     "state information for the driver, device, or system. \n"
 459                     "* \"Device Errors\" (value = 7): Log errors related to the "
 460                     "managed element being serviced. \n"
 461                     "* \"Service Errors\" (value = 8): Log errors related to the "
 462                     "service itself rather than the element being serviced, such "
 463 karl  1.1           "as 'Resource Allocaton Failure'. \n"
 464                     "* \"Setting Data\" (value=9): Log the property values of "
 465                     "the DiagnosticSetting object used to configure the service. "
 466                     "\n* \"Statistics\" (value = 10): Log statistical messages; "
 467                     "for example, packets sent per second. \n"
 468                     "* \"Hardware Configuration\" (value = 11): Log messages "
 469                     "that contain information about the hardware configuration "
 470                     "as viewed by the service; for example, vendor, version, FRU "
 471                     "identification, and location information. The format and "
 472                     "contents of this property is element dependent. Examples "
 473                     "are: SCSI ID, LPTx, PCI Slot Number, and Dimm#. \n"
 474                     "* \"Software Configuration\" (value = 12): Log messages "
 475                     "that contain information about the software environment as "
 476                     "viewed by the service; for example, the name and version of "
 477                     "all the critical software elements controlling the device "
 478                     "under test. Each configuration message SHOULD have the "
 479                     "following common format: Element name; element type; "
 480                     "manufacturer name; version; for example, 'Miniport driver; "
 481                     "SCSI; Intel; Version 1.2'. \n"
 482                     "* \"Reference\" (value = 13): Log the keys of an CIM object "
 483                     "of of interest; for example, the element under test, or a "
 484 karl  1.1           "data file. \n"
 485                     "* \"Debug\" (value = 14): Log debug messages. These "
 486                     "messages are vendor specific."), 
 487                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 488                     "10", "11", "12", "13", "14", "15" }, 
 489                  Values { "Unknown", "Other", "Results", "Subtests", "Actions",
 490                     "Warnings", "Status", "Device Errors", "Service Errors",
 491                     "Setting Data", "Statistics", "Hardware Configuration",
 492                     "Software Configuration", "References", "Debug",
 493                     "No Log Options" }, ArrayType ( "Indexed" ), 
 494                  ModelCorrespondence { 
 495                     "CIM_DiagnosticSetting.OtherLogOptionsDescriptions",
 496                     "CIM_DiagnosticServiceCapabilities.SupportedLogOptions",
 497                     "CIM_DiagnosticServiceRecord.RecordType",
 498                     "CIM_DiagnosticSetting.VerbosityLevel" }]
 499              uint16 LogOptions[];
 500           
 501                 [Experimental, Write, Description (
 502                     "Provides additional information regarding the types of test "
 503                     "messages that are logged when the property LogOptions "
 504                     "includes the value 1 (\"Other\")."), 
 505 karl  1.1        ModelCorrespondence { "CIM_DiagnosticSetting.LogOptions" }]
 506              string OtherLogOptionsDescriptions[];
 507           
 508                 [Experimental, Write, Description (
 509                     "The LogStorage setting property indicates which types of "
 510                     "supported storage should be used by the Diagnostic Service "
 511                     "for logging of the data specified in LogOptions. \n"
 512                     "The values are: \n"
 513                     "\"DiagnosticRecordLog\" (Value = 2): Use the "
 514                     "DiagnosticRecordLog and DiagnosticRecord classes. \n"
 515                     "\"MessageLog\" (Value = 4): Use the MessageLog class and "
 516                     "its methods. \n"
 517                     "\"File\" (Value = 5): Write data to a file."), 
 518                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
 519                  Values { "Unknown", "Other", "DiagnosticRecordLog",
 520                     "MessageLog", "File", "No Storage Supported" },
 521                     ArrayType ( "Indexed" ), 
 522                  ModelCorrespondence { 
 523                     "CIM_DiagnosticSetting.OtherLogStorageDescriptions",
 524                     "CIM_DiagnosticServiceCapabilities.SupportedLogStorage" }]
 525              uint16 LogStorage[];
 526 karl  1.1 
 527                 [Experimental, Write, Description (
 528                     "This property provides additional information for "
 529                     "LogStorage when the corresponding value is set to 1 "
 530                     "(\"Other\")."), 
 531                  ArrayType ( "Indexed" ), 
 532                  ModelCorrespondence { "CIM_DiagnosticSetting.LogStorage" }]
 533              string OtherLogStorageDescriptions[];
 534           
 535                 [Experimental, Write, Description (
 536                     "A client may want to specify the desired volume or detail "
 537                     "logged by a diagnostic service. This property is applied to "
 538                     "a corresponding logging option, acting as a qualifier on "
 539                     "its description. Three levels of verbosity are defined as "
 540                     "follows: \n"
 541                     "* \"Minimum\" (value=2): Specified if the least amount of "
 542                     "information is desired; for example, Pass or Fail. \n"
 543                     "* \"Standard\" (value=3): This is the standard level of "
 544                     "messaging provided by the service. It is the form most "
 545                     "likely to be used if no verbosity value is specified "
 546                     "(default). \n"
 547 karl  1.1           "* \"Full\" (value=4): Specified when all information, "
 548                     "regardless of size, is desired. \n"
 549                     "Note that VerbosityLevel is a subjective property and "
 550                     "relates to the degree of detail, not an absolute metric. A "
 551                     "client simply specifies its desired level of detail and the "
 552                     "provider publishes its data in accordance with this desired "
 553                     "level of detail. \n"
 554                     "Verbosity may not apply to all LogOptions values, in which "
 555                     "case the default VerbosityLevel of \"Standard\" SHOULD be "
 556                     "used."), 
 557                  ValueMap { "2", "3", "4" }, 
 558                  Values { "Minimum", "Standard", "Full" },
 559                  ArrayType ( "Indexed" ), 
 560                  ModelCorrespondence { 
 561                     "CIM_DiagnosticServiceCapabilities.SupportedVerbosityLevels",
 562                     "CIM_DiagnosticSetting.LogOptions" }]
 563              uint16 VerbosityLevel[];
 564           
 565                 [Experimental, Write, Description (
 566                     "This property, along with the locale information in "
 567                     "LocalizationCapabilities and DiagnosticServiceRecord, meets "
 568 karl  1.1           "the requirement to specify locale for results produced by a "
 569                     "diagnostic service. A locale indicates a particular "
 570                     "geographical, political, or cultural region. The Locales "
 571                     "property of the DiagnosticSetting class is an array of "
 572                     "strings whose entries specify a language to be used in the "
 573                     "formulation of information requested by or delivered to a "
 574                     "client as a result of running a diagnostic service. It is "
 575                     "specified by the client as an input parameter to the "
 576                     "RunDiagnostic method, by virtue of its inclusion in this "
 577                     "Setting class which is a parameter of the method. A single "
 578                     "Setting object may specify more than one Locale. In this "
 579                     "case, information MUST be returned in each language "
 580                     "specified. \n"
 581                     "\n"
 582                     "Each array entry consists of three sub-strings, separated "
 583                     "by underscores: \n"
 584                     "- The first sub-string is the language code, as specified "
 585                     "in ISO639. \n"
 586                     "- The second sub-string is the country code, as specified "
 587                     "in ISO3166. \n"
 588                     "- The third sub-string is a variant, which is vendor "
 589 karl  1.1           "specific. \n"
 590                     "For example, US English appears as: \"en_US_WIN\", where "
 591                     "the \"WIN\" variant would specify a Windows "
 592                     "browser-specific collation (if one exists). Since the "
 593                     "variant is not standardized, it is not commonly used and "
 594                     "generally is limited to easily recognizable values "
 595                     "(\"WIN\", \"UNIX\", \"EURO\", etc.) used in standard "
 596                     "environments. The language and country codes are required; "
 597                     "the variant may be empty."), 
 598                  ModelCorrespondence { 
 599                     "CIM_LocalizationCapabilities.SupportedOutputLocales" }]
 600              string Locales[];
 601           
 602           
 603           };
 604           
 605           
 606           // ==================================================================
 607           // DiagnosticResult
 608           // ==================================================================
 609              [Deprecated { "CIM_DiagnosticServiceRecord" }, Version ( "2.7.0" ), 
 610 karl  1.1     Description (
 611                  "When a DiagnosticTest Service is running, test results are "
 612                  "reported using a DiagnosticResult object, or one of its "
 613                  "subclasses. A DiagnosticTest may be running because its "
 614                  "Service is Started or due to an invocation of the RunTest "
 615                  "method. Diagnostic Results are related to their Test via an "
 616                  "instance of the DiagnosticResultsForMSE association. \n"
 617                  "For every running of DiagnosticTest, a new instance of "
 618                  "DiagnosticResult, or one of it's subclasses should be created.")]
 619           class CIM_DiagnosticResult {
 620           
 621                 [Deprecated { "No Value" }, Key,
 622                     Propagated ( "CIM_DiagnosticTest.CreationClassName" ), 
 623                  Description (
 624                     "The scoping Test's CreationClassName."), 
 625                  MaxLen ( 256 )]
 626              string DiagnosticCreationClassName;
 627           
 628                 [Deprecated { "No Value" }, Key,
 629                     Propagated ( "CIM_DiagnosticTest.Name" ), Description (
 630                     "The scoping Test's Name."), 
 631 karl  1.1        MaxLen ( 256 )]
 632              string DiagnosticName;
 633           
 634                 [Deprecated { "No Value" }, Key,
 635                     Propagated ( "CIM_DiagnosticTest.SystemCreationClassName" ), 
 636                  Description (
 637                     "The scoping Test's SystemCreationClassName."), 
 638                  MaxLen ( 256 )]
 639              string DiagSystemCreationClassName;
 640           
 641                 [Deprecated { "No Value" }, Key,
 642                     Propagated ( "CIM_DiagnosticTest.SystemName" ), Description (
 643                     "The scoping Test's SystemName."), 
 644                  MaxLen ( 256 )]
 645              string DiagSystemName;
 646           
 647                 [Deprecated { "CIM_DiagnosticRecord.RecordID" }, Key, 
 648                  Description (
 649                     "The Unique identifier for an instance of Diagnostic "
 650                     "Results."), 
 651                  MaxLen ( 1024 )]
 652 karl  1.1    string ExecutionID ;
 653           
 654                 [Deprecated { "CIM_LogRecord.MessageTimestamp" }, Description (
 655                     "The date and time the result was last updated.")]
 656              datetime TimeStamp;
 657           
 658                 [Deprecated { "No Value" }, Description (
 659                     "This property is being deprecated. Tests should be grouped "
 660                     "at the test level, not by the model. /n If this property is "
 661                     "TRUE, then this DiagnosticResult summarizes the results "
 662                     "from the execution of a packaged set of DiagnosticTests. "
 663                     "The Tests in the package can be identified by following the "
 664                     "DiagnosticResultForTest association to the test and then "
 665                     "using the DiagnosticTest InPackage aggregation. The "
 666                     "individual Results can be broken out by instantiating "
 667                     "DiagnosticResults for the individual lower level tests and "
 668                     "aggregating into the 'summary' Result using the "
 669                     "DiagnosticResultInPackage association.")]
 670              boolean IsPackage;
 671           
 672                 [Deprecated { "CIM_Job.StartTime" }, Description (
 673 karl  1.1           "The date and time when this test started.")]
 674              datetime TestStartTime;
 675           
 676                 [Deprecated { "No Value" }, Description (
 677                     "The date and time when this test completed.")]
 678              datetime TestCompletionTime;
 679           
 680                 [Deprecated { "No Value" }, Description (
 681                     "Describes how the test is progressing. For example, if the "
 682                     "test was discontinued, the TestState will be \"Stopped\" "
 683                     "(value=5), or if testing is currently executing, TestState "
 684                     "will be \"In Progress\" (4)."), 
 685                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
 686                  Values { "Unknown", "Other", "Passed", "Failed", "In Progress",
 687                     "Stopped" }, 
 688                  ModelCorrespondence { 
 689                     "CIM_DiagnosticResult.OtherStateDescription" }]
 690              uint16 TestState;
 691           
 692                 [Deprecated { "No Value" }, Description (
 693                     "When \"Other\" (value=1) is entered in the TestState "
 694 karl  1.1           "property, OtherStateDescription can be used to describe the "
 695                     "test's state."), 
 696                  ModelCorrespondence { "CIM_DiagnosticResult.TestState" }]
 697              string OtherStateDescription;
 698           
 699                 [Deprecated { "No Value" }, Description (
 700                     "Estimated number of seconds to perform the Diagnostic Test "
 701                     "indicated by the DiagnosticCreationClassName and "
 702                     "DiagnosticName properties. After the test has completed, "
 703                     "the actual elapsed time can be determined by subtracting "
 704                     "the TestStartTime from the TestCompletionTime. A similar "
 705                     "property is defined in the association, DiagnosticTest "
 706                     "ForMSE. The difference between the two properties is that "
 707                     "the value stored in the association is a generic test "
 708                     "execution time for the Element and the Test. But, the value "
 709                     "here (in DiagnosticResult) is the estimated time that this "
 710                     "instance with the given settings would take to run the "
 711                     "test. A CIM Consumer can compare this value with the value "
 712                     "in the association DiagnosticTestForMSE to get an idea what "
 713                     "impact their settings have on test execution."), 
 714                  Units ( "Seconds" ), 
 715 karl  1.1        ModelCorrespondence { 
 716                     "CIM_DiagnosticTestForMSE.EstimatedTimeOfPerforming" }]
 717              uint32 EstimatedTimeOfPerforming;
 718           
 719                 [Deprecated { "CIM_LogRecord.RecordData" }, Description (
 720                     "TestResults stores one or more textual results from the "
 721                     "execution of the DiagnosticTest(s) referenced by the "
 722                     "DiagnosticCreationClassName and DiagnosticName properties. "
 723                     "One entry is considered a cell location in the array. Each "
 724                     "entry is time stamped and contains the following "
 725                     "information, in the following format: \n"
 726                     "LogOption|yyymmddhhttssoutc|TestName|message_text \n"
 727                     "Where: \n"
 728                     "LogOption = string identical to the LogOption value in "
 729                     "DiagnosticSetting that was used to enable logging this "
 730                     "message. \n"
 731                     "yyyy = year, e.g. 2000 \n"
 732                     "mm = month (01 - 12) \n"
 733                     "dd = day (01 - 31) \n"
 734                     "hh = hour (00 - 24) \n"
 735                     "tt = minute (00-59) \n"
 736 karl  1.1           "ss = second (00-59) \n"
 737                     "o = \"+\" or \"-\" indicating the sign of the UTC "
 738                     "correction field \n"
 739                     "utc = offset from UTC (Universal Coordinated Time) in "
 740                     "minutes \n"
 741                     "TestName = Internal test name or current internal subtest "
 742                     "name that sent the message. \n"
 743                     "Textual message = free form string that is the 'test "
 744                     "result'."), 
 745                  ArrayType ( "Ordered" )]
 746              string TestResults[];
 747           
 748                 [Deprecated { "CIM_Job.PercentComplete" }, Description (
 749                     "The percentage of the test that has executed thus far, if "
 750                     "the TestState property is set to \"In Progress\" or the "
 751                     "percentage of the complete test that was executed if the "
 752                     "TestState property is set to any of the completed states "
 753                     "(\"Passed\", \"Failed\" or \"Stopped\"). Final results may "
 754                     "be based on less than 100% coverage due to the parameters "
 755                     "defined in DiagnosticSetting (such as QuickMode, "
 756                     "PercentOfTestCoverage or HaltOnError)."), 
 757 karl  1.1        Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 )]
 758              uint8 PercentComplete;
 759           
 760                 [Deprecated { "CIM_DiagnosticServiceRecord.ErrorCode" }, 
 761                  Description (
 762                     "If applicable, this string should contain one or more "
 763                     "vendor specific error codes that the diagnostic service "
 764                     "detected. These error codes may be used by the vendor for "
 765                     "variety of purposes such as: fault data base indexing, "
 766                     "field service trouble ticketing, product quality tracking, "
 767                     "part failure history, etc. Since these codes are for vendor "
 768                     "purposes they may assume any form. Details on suggested use "
 769                     "cases will be left to white papers. The array of error "
 770                     "codes has model correspondence with an ErrorCount array so "
 771                     "the number of errors reported can be analyzed by individual "
 772                     "error code."), 
 773                  ArrayType ( "Indexed" ), 
 774                  ModelCorrespondence { "CIM_DiagnosticResult.ErrorCount" }]
 775              string ErrorCode[];
 776           
 777                 [Experimental,
 778 karl  1.1           Deprecated { "CIM_DiagnosticServiceRecord.ErrorCount" }, 
 779                  Description (
 780                     "Since some tests may detect transient and correctable "
 781                     "errors such as a network diagnostic or memory test, an "
 782                     "error count is useful to indicate the severity of the "
 783                     "failure. This field contains an integer value of the number "
 784                     "of errors detected by the test. The ErrorCount is an array "
 785                     "with model correspondence to ErrorCode so that the test can "
 786                     "report an ErrorCount on each type of error encountered. It "
 787                     "is recommended that hard errors and correctable or "
 788                     "recoverable errors be given different codes so that clients "
 789                     "with knowledge of the error codes can evaluate correctable, "
 790                     "recoverable, and hard errors independently."), 
 791                  ArrayType ( "Indexed" ), 
 792                  ModelCorrespondence { "CIM_DiagnosticResult.ErrorCode" }]
 793              uint32 ErrorCount[];
 794           
 795                 [Deprecated { "CIM_DiagnosticServiceRecord.LoopsFailed" }, 
 796                  Description (
 797                     "Since some tests may be looped, it is useful to report how "
 798                     "many iterations passed and failed. This is relevant in "
 799 karl  1.1           "analyzing transitory failures. For example, if all the "
 800                     "errors occurred in just one of 100 iterations, the device "
 801                     "may be viewed as OK or marginal, to be monitored further "
 802                     "rather then failed. Note: LoopsPassed & LoopsFailed should "
 803                     "add up to the loops completed.")]
 804              uint32 LoopsFailed;
 805           
 806                 [Deprecated { "CIM_DiagnosticServiceRecord.LoopsPassed" }, 
 807                  Description (
 808                     "Since some tests may be looped, it is useful to report how "
 809                     "many iterations passed and failed. This is relevant in "
 810                     "analyzing transitory failures. For example if all the "
 811                     "errors occurred in just one of 100 iterations, the device "
 812                     "may be viewed as OK or marginal, to be monitored further "
 813                     "rather then failed. Note: LoopsPassed & LoopsFailed should "
 814                     "add up to the loops completed.")]
 815              uint32 LoopsPassed;
 816           
 817           
 818           // ---------  Properties below here are copied from  ------------------
 819           // ---------  DiagnosticSetting                      ------------------
 820 karl  1.1 // Note that the DiagnosticSetting object can be modified at any time,
 821           // and the current test settings can be lost. When RunTest starts
 822           // execution the settings, which are time sensitive, should be evaluated
 823           // and captured.
 824           
 825                 [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, Write, 
 826                  Description (
 827                     "Sets the level of warning messages to be logged. If for "
 828                     "example no warning information is required, the level would "
 829                     "be set to \"No Warnings\" (value=0). Using \"Missing "
 830                     "Resources\" (value=1) will cause warnings to be generated "
 831                     "when required resources or hardware are not found. Setting "
 832                     "the value to 2, \"Testing Impacts\", results in both "
 833                     "missing resources and 'test impact' warnings (for example, "
 834                     "multiple retries required) to be reported."), 
 835                  ValueMap { "0", "1", "2", "3" }, 
 836                  Values { "No Warnings", "Missing Resources", "Testing Impacts",
 837                     "All Warnings" }]
 838              uint16 TestWarningLevel;
 839           
 840                 [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, Write, 
 841 karl  1.1        Description (
 842                     "When this flag is true, the diagnostic test will report "
 843                     "'soft errors'. In this context, a soft error is a message "
 844                     "from the diagnostic reporting a known defect in the "
 845                     "hardware or driver configuration, or execution environment. "
 846                     "Examples are: 'Not enough memory', 'Driver IOCTL not "
 847                     "implemented', 'Video RAM compare failed during polygon fill "
 848                     "test (A known defect in the video chipset)', etc.")]
 849              boolean ReportSoftErrors;
 850           
 851                 [Deprecated { "CIM_DiagnosticSetting.LogOptions" }, Write, 
 852                  Description (
 853                     "When this flag is true, the diagnostic test will report "
 854                     "'status messages'. In this context, a status message "
 855                     "indicates that the diagnostic code is at a checkpoint. "
 856                     "Examples are: \"Completion of phase 1\", \"Complex "
 857                     "pattern\", etc.")]
 858              boolean ReportStatusMessages;
 859           
 860                 [Deprecated { "CIM_DiagnosticSettingRecord.HaltOnError" }, Write, 
 861                  Description (
 862 karl  1.1           "When this flag is true, the test will halt after finding "
 863                     "the first error.")]
 864              boolean HaltOnError;
 865           
 866                 [Deprecated { "CIM_DiagnosticSettingRecord.QuickMode" }, Write, 
 867                  Description (
 868                     "When this flag is true, the test software should attempt to "
 869                     "run in an accelerated fashion either by reducing the "
 870                     "coverage or number of tests performed.")]
 871              boolean QuickMode;
 872           
 873                 [Deprecated { "CIM_DiagnosticSettingRecord.PercentOfTestCoverage" 
 874                     }, Write, Description (
 875                     "Requests the diagnostic software to reduce test coverage to "
 876                     "the specified percentage. For example, a hard drive scan "
 877                     "test could be asked to run at 50%. The most effective way "
 878                     "to accomplish this is for the test software to scan every "
 879                     "other track, as opposed to only scanning the first half of "
 880                     "a drive. It is assumed that the effectiveness of the test "
 881                     "is impacted proportional to the percentage of testing "
 882                     "requested. Permissible values for this property range from "
 883 karl  1.1           "0 to 100. \n"
 884                     "This property may not be applicable to all tests. If it can "
 885                     "be set for a test, the value 7 (\"Supports PercentOf "
 886                     "TestCoverage\") should be entered into the DiagnosticTest's "
 887                     "Characteristics array."), 
 888                  Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 ), 
 889                  ModelCorrespondence { "CIM_DiagnosticTest.Characteristics" }]
 890              uint8 PercentOfTestCoverage;
 891           
 892           };
 893           
 894           
 895           // ==================================================================
 896           // DiagnosticService
 897           // ==================================================================
 898              [Experimental, Abstract, Version ( "2.8.1000" ), Description (
 899                  "The CIM_DiagnosticService class provides the ability to start "
 900                  "a service that functions to participate in a problem "
 901                  "determination process. Specific diagnostic services SHOULD be "
 902                  "defined by subclassing this class. Examples of a diagnostic "
 903                  "service are tests, information retrievers, exercisers, and "
 904 karl  1.1        "ports to external executives.")]
 905           class CIM_DiagnosticService : CIM_Service {
 906           
 907                 [Description (
 908                     "The RunDiagnostic method executes this test for the "
 909                     "specified ManagedSystemElement (defined using the "
 910                     "SystemElement input parameter). The capabilities for the "
 911                     "diagnostic service indicate where the results from the test "
 912                     "job are stored. How the test should execute, i.e. its "
 913                     "settings, is defined in a DiagnosticSetting object (or by a "
 914                     "subclass of DiagnosticSetting). A reference to a Setting "
 915                     "object is specified using the Setting input parameter. If a "
 916                     "reference is not passed into the method, then a default "
 917                     "DiagnosticSetting SHALL be used. \n"
 918                     "When RunDiagnostic starts execution, the settings, which "
 919                     "are time sensitive, SHOULD be evaluated and captured. This "
 920                     "is suggested since the DiagnosticSetting object MAY be "
 921                     "modified at any time, and therefore the current test "
 922                     "settings could be lost. \n"
 923                     "If 0 is returned, the function completed successfully and "
 924                     "no ConcreteJob instance is created. If 0x1000 a ConcreteJob "
 925 karl  1.1           "will be started."), 
 926                  ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x1000", "..",
 927                     "0x8000.." }, 
 928                  Values { "Job completed with no error", "Not Supported",
 929                     "Unknown", "Timeout", "Failed", "Invalid Parameter",
 930                     "DMTF Reserved", "Method parameters checked - job started",
 931                     "Method Reserved", "Vendor Specific" }]
 932              uint32 RunDiagnostic( 
 933                    [IN, Description (
 934                        "Specifies the element upon which the DiagnosticService "
 935                        "SHOULD be run.")]
 936                 CIM_ManagedElement REF ManagedElement, 
 937                    [IN, Description (
 938                        "Specifies the desired settings that SHOULD be applied to "
 939                        "the Diagnostic. If null, then the Diagnostic's defaults "
 940                        "MAY be used.")]
 941                 CIM_DiagnosticSetting REF DiagSetting, 
 942                    [IN, Description (
 943                        "Specifies the desired settings that SHOULD be applied to "
 944                        "the resulting Job. If null and a resulting Job is "
 945                        "required (i.e., the Diagnostic is long running), then "
 946 karl  1.1              "the test's defaults MAY be used.")]
 947                 CIM_JobSettingData REF JobSetting, 
 948                    [IN ( FALSE ), OUT, Description (
 949                        "Returns a handle to the resulting Job.")]
 950                 CIM_ConcreteJob REF Job); 
 951           };
 952           
 953           
 954           
 955           // ==================================================================
 956           // DiagnosticTest
 957           // ==================================================================
 958              [Version ( "2.8.1000" ), Description (
 959                  "The CIM_DiagnosticTest class represents the framework for "
 960                  "running diagnostic tests. Specific diagnostic tests may be "
 961                  "defined by subclassing and/or instantiating this object. To "
 962                  "provide more detail for a type of test(s) (i.e, additional "
 963                  "properties and methods), subclassing is appropriate. \n"
 964                  "When a DiagnosticTest can be simultaneously executed against "
 965                  "several elements, then DiagnosticTest may launch a ConcreteJob "
 966                  "to represent each execution.")]
 967 karl  1.1 class CIM_DiagnosticTest : CIM_DiagnosticService {
 968           
 969                 [Description (
 970                     "The descriptions for each Characteristic are below: \n"
 971                     "\n"
 972                     "* \"Is Exclusive\" (value=2) is specified for the test "
 973                     "module only if the diagnostic cannot run more than one test "
 974                     "at a time, regardless of how many SystemElements are "
 975                     "supported. Typically, this occurs when hardware or software "
 976                     "constraints prevent the test from running as multiple, "
 977                     "concurrent instances. If the diagnostic can be run against "
 978                     "multiple SystemElements, but only once per Element, then "
 979                     "set the IsExclusiveForMSE boolean property on the "
 980                     "appropriate instances of DiagnosticTestForMSE. \n"
 981                     "\n"
 982                     "* If \"Is Interactive\" (value=3) is set, then the "
 983                     "diagnostic displays a message either before, during or "
 984                     "after testing. \n"
 985                     "\n"
 986                     "* Set \"Is Destructive\" (value=4) if the diagnostic will "
 987                     "destroy data, or reconfigure the Element that is being "
 988 karl  1.1           "tested. \n"
 989                     "\n"
 990                     "* \"Is Risky\" (value=5) indicates that data loss may occur "
 991                     "if the test is interrupted. Some tests make copies of data, "
 992                     "perform the test, and restore the data returning the tested "
 993                     "entity to its previous configuration. If the test is "
 994                     "interrupted, then loss of data or reconfiguration of the "
 995                     "tested ManagedSystemElement may occur. \n"
 996                     "\n"
 997                     "* If \"Is Package\" (value=6) is set, this test is actually "
 998                     "a set of lower level diagnostics, that are packaged "
 999                     "together by the test. This packaging is implemented by the "
1000                     "diagnostic test, not aggregated by CIM. Information and "
1001                     "results associated with the individual tests in the package "
1002                     "may be requested by using the \"Subtests\" value in the "
1003                     "DiagnosticSetting.LogOptions array. \n"
1004                     "\n"
1005                     "(value=7) was \"Supports PercentOfTestCoverage\" in Version "
1006                     "2.6. Value = 7 is being deprecated. Instead, it should be "
1007                     "described in DiagnosticServiceCapabilities. \n"
1008                     "\n"
1009 karl  1.1           "\"Is Synchronous\" (value=8) indicates that this diagnostic "
1010                     "service will complete before the RunDiagnostic method "
1011                     "returns to the caller. Otherwise, RunDiagnostic may return "
1012                     "a reference to CIM_Job object that can be used for "
1013                     "monitoring and interacting with the diagnostic service. If "
1014                     "the service is synchronous, this capability is lost. "
1015                     "Additionally, in certain environments, the client may be "
1016                     "\"blocked\" from further action until the service "
1017                     "completes. \n"
1018                     "\"Media Required\" (value=9) indicates that this diagnostic "
1019                     "service requires that media be inserted into the device in "
1020                     "order to perform the service. \"Additional Hardware "
1021                     "Required\" (value=10) indicates that this diagnostic "
1022                     "service requires that some additional hardware is installed "
1023                     "(e.g., wrap plug) in order to perform the service."), 
1024                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1025                     "10" }, 
1026                  Values { "Unknown", "Other", "Is Exclusive", "Is Interactive",
1027                     "Is Destructive", "Is Risky", "Is Package", "Reserved",
1028                     "Is Synchronous", "Media Required",
1029                     "Additional Hardware Required" }, 
1030 karl  1.1        ModelCorrespondence { 
1031                     "CIM_DiagnosticTest.OtherCharacteristicDescription" }]
1032              uint16 Characteristics[];
1033           
1034                 [Description (
1035                     "Provides additional information for the Characteristic when "
1036                     "its value is set to 1 (\"Other\")."), 
1037                  ModelCorrespondence { "CIM_DiagnosticTest.Characteristics" }]
1038              string OtherCharacteristicDescription;
1039           
1040                 [Deprecated { "CIM_Service.Started" }, Description (
1041                     "This property is being deprecated. The boolean Started "
1042                     "property inherited from CIM_Service should be used instead. "
1043                     "\nIf this test is currently being performed, the InUse "
1044                     "property is set to TRUE. To determine which ManagedSystem "
1045                     "Element is being tested, query the DiagnosticResult objects "
1046                     "associated with this test (query DiagnosticResultForTest), "
1047                     "and for which the TestState equals 4 (\"In Progress\"). The "
1048                     "DiagnosticResult object is associated with the System "
1049                     "Element under test, using DiagnosticResultForMSE.")]
1050              boolean IsInUse;
1051 karl  1.1 
1052                 [Deprecated { "CIM_ServiceAffectsElement" }, Description (
1053                     "This property is being deprecated and replaced with a more "
1054                     "general method for indicating Managed Elements that are "
1055                     "affected by this Test. The DiagnosticService parent has a "
1056                     "ServiceAffectsElement association to a Managed Element for "
1057                     "this purpose. \n"
1058                     "The \"Expensive\" qualifier can be applied to this class "
1059                     "and its RunTest method. If so, the ResourcesUsed property "
1060                     "describes the resources that are capitalized, based on a "
1061                     "default setup for the test. Multiple resources can be "
1062                     "specified since the property is an array."), 
1063                  Values { "CPU", "Memory", "Hard Disk", "CDROM", "Floppy",
1064                     "PCI Bus", "USB Bus", "1394 Bus", "SCSI Bus", "IDE Bus",
1065                     "Network", "ISA Bus", "EISA Bus", "VESA Bus", "PCMCIA Bus",
1066                     "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus",
1067                     "Sbus IEEE 1396-1993", "MCA Bus", "GIO Bus", "XIO Bus",
1068                     "HIO Bus", "PMC Bus", "SIO Bus" },
1069                  ValueMap {"2", "3", "4", "5", "6", "7", "8",
1070                            "9", "10", "11", "12", "13", "14", "15", "16",
1071                            "17", "18", "19", "20", "21", "22", "23", "24",
1072 karl  1.1                  "25", "26", "27", "28"}]
1073              uint16 ResourcesUsed[];
1074           
1075           
1076                 [Deprecated { "CIM_DiagnosticService.RunDiagnostic" }, 
1077                  Description (
1078                     "This method is being deprecated and replaced by the "
1079                     "RunDiagnostic method in the DiagnosticService class. \n"
1080                     "The RunTest method executes this test for the specified "
1081                     "ManagedSystemElement. The use of this method has been "
1082                     "deprecated. Instead, the RunDiagnostic method (inherited "
1083                     "from DiagnosticService) should be used. \n"
1084                     "The RunTest method executes this test for the specified "
1085                     "ManagedSystemElement (defined using the SystemElement input "
1086                     "parameter). Results of the test are stored in a Diagnostic "
1087                     "Result object, a reference to which is returned as the "
1088                     "Result output parameter. How the test should execute, i.e. "
1089                     "its settings, is defined in a DiagnosticSetting object (or "
1090                     "by a subclass of DiagnosticSetting). A reference to a "
1091                     "Setting object is specified using the Setting input "
1092                     "parameter. If a reference is not passed into the method, "
1093 karl  1.1           "then a default DiagnosticSetting may be used. This default "
1094                     "Setting is associated with the DiagnoticTest using the "
1095                     "DefaultSetting relationship of the Core Model. \n"
1096                     "When RunTest starts execution, the settings, which are time "
1097                     "sensitive, should be evaluated and captured. This is "
1098                     "suggested since the DiagnosticSetting object can be "
1099                     "modified at any time, and therefore the current test "
1100                     "settings could be lost. \n"
1101                     "The method's return codes are expected to adhere to the XML "
1102                     "return codes as they are introduced. Currently, the "
1103                     "standard return values are: \n"
1104                     "0 = OK (function succeeded, but the test itself may have "
1105                     "failed \n"
1106                     "1 = Unspecified Error (function failed for unspecified "
1107                     "reasons) \n"
1108                     "2 = Not Implemented (function is not implemented for this "
1109                     "instance) \n"
1110                     "3 = Out Of Resources (component could not allocate required "
1111                     "resources, e.g. memory, disk space, etc.) \n"
1112                     "In a subclass, the set of possible return codes could be "
1113                     "specified, using a ValueMap qualifier on the method. The "
1114 karl  1.1           "strings to which the ValueMap contents are 'translated' may "
1115                     "also be specified in the subclass as a Values array "
1116                     "qualifier.")]
1117              uint32 RunTest( 
1118                    [IN, Description (
1119                        "The ManagedSystemElement on which the test will run.")]
1120                 CIM_ManagedSystemElement REF SystemElement, 
1121                    [IN, Description (
1122                        "How the test should execute, i.e. its settings, is "
1123                        "defined in a DiagnosticSetting object (or by a subclass "
1124                        "of DiagnosticSetting). A reference to a Setting object "
1125                        "is specified using the Setting input parameter. If a "
1126                        "reference is not passed into the method, then a default "
1127                        "DiagnosticSetting may be used. This default Setting is "
1128                        "associated with the DiagnoticTest using the "
1129                        "DefaultSetting relationship of the Core Model.")]
1130                 CIM_DiagnosticSetting REF Setting, 
1131                    [IN ( false ), OUT, Description (
1132                        "Results of the test are stored in a DiagnosticResult "
1133                        "object, a reference to which is returned as the Result "
1134                        "output parameter.")]
1135 karl  1.1       CIM_DiagnosticResult REF Result); 
1136           
1137           
1138                 [Deprecated { "CIM_Log.ClearLog" }, Description (
1139                     "This method is deprecated in favor of using the "
1140                     "corresponding functionality contained in the MessageLog "
1141                     "class, this is consistant with the deprecation of the "
1142                     "Result class in favor of MessageLog. \n"
1143                     "Execution of this method will delete all instances of the "
1144                     "DiagnosticResultForMSE object, for this DiagnosticTest and "
1145                     "the specified ManagedSystemElement (defined using the "
1146                     "SystemElement input parameter). The DiagnosticResults "
1147                     "referenced in the DiagnosticResultForMSE instances will be "
1148                     "deleted. Also the association DiagnosticResultForTest that "
1149                     "refers to the DiagnosticResult object, and this test will "
1150                     "be deleted. \n"
1151                     "One output parameter is defined - ResultsNotCleared - which "
1152                     "is a string array that lists the keys of the "
1153                     "DiagnosticResults which could not be deleted. This "
1154                     "information enables those Results to be revisited and "
1155                     "either manually removed, or other corrective action taken. "
1156 karl  1.1           "\nThe method's return codes are expected to adhere to the "
1157                     "XML return codes as they are introduced. Currently, the "
1158                     "standard return values are: \n"
1159                     "0 = OK (function succeeded, but the test itself may have "
1160                     "failed) \n"
1161                     "1 = Unspecified Error (function failed for unspecified "
1162                     "reasons) \n"
1163                     "2 = Not Implemented (function is not implemented for this "
1164                     "instance) \n"
1165                     "3 = Out Of Resources (component could not allocate required "
1166                     "resources, e.g. memory, disk space, etc.) \n"
1167                     "In a subclass, the set of possible return codes could be "
1168                     "specified, using a ValueMap qualifier on the method. The "
1169                     "strings to which the ValueMap contents are 'translated' may "
1170                     "also be specified in the subclass as a Values array "
1171                     "qualifier.")]
1172              uint32 ClearResults( 
1173                    [IN, Description (
1174                        "The Managed System Element for which results will be "
1175                        "cleared.")]
1176                 CIM_ManagedSystemElement REF SystemElement, 
1177 karl  1.1          [IN ( false ), OUT, Description (
1178                        "A string array that lists the keys of the "
1179                        "DiagnosticResults which could not be deleted.")]
1180                 string ResultsNotCleared[]); 
1181           
1182           
1183                 [Deprecated { "CIM_ConcreteJob.RequestStateChange" }, 
1184                  Description (
1185                     "After invocation of this method and its completion, the "
1186                     "specified test(s) will be discontinued for the indicated "
1187                     "ManagedSystemElement (defined by the SystemElement input "
1188                     "parameter). The test to discontinue is specified using the "
1189                     "Result input parameter. If all instances of this test "
1190                     "should be stopped for the SystemElement, then the Result "
1191                     "reference should be NULL. Upon completion of the method, "
1192                     "test status and other information (such as PercentComplete) "
1193                     "will be stored in the DiagnosticResult instance defined by "
1194                     "the Result input parameter. The output parameter, "
1195                     "TestingStopped, is used as follows: \n"
1196                     "Set to TRUE if testing was successfully stopped. \n"
1197                     "Set to FALSE if the current test(s) can not be stopped. \n"
1198 karl  1.1           "If set to FALSE, testing will stop when the diagnostic is "
1199                     "able to do so safely. To determine if/when the testing is "
1200                     "stopped, check the TestState property in the "
1201                     "DiagnosticResult instance defined by the Result parameter. "
1202                     "TestState will change from \"In Progress\" to \"Stopped\" "
1203                     "(from 4 to 5). \n"
1204                     "The method's return codes are expected to adhere to the XML "
1205                     "return codes as they are introduced. Currently, the "
1206                     "standard return values are: \n"
1207                     "0 = OK (function succeeded, but the test itself may have "
1208                     "failed \n"
1209                     "1 = Unspecified Error (function failed for unspecified "
1210                     "reasons) \n"
1211                     "2 = Not Implemented (function is not implemented for this "
1212                     "instance) \n"
1213                     "3 = Out Of Resources (component could not allocate required "
1214                     "resources, e.g. memory, disk space, etc.) \n"
1215                     "In a subclass, the set of possible return codes could be "
1216                     "specified, using a ValueMap qualifier on the method. The "
1217                     "strings to which the ValueMap contents are 'translated' may "
1218                     "also be specified in the subclass as a Values array "
1219 karl  1.1           "qualifier.")]
1220              uint32 DiscontinueTest( 
1221                    [IN, Description (
1222                        "Testing will be discontinued for the indicated "
1223                        "ManagedSystemElement defined by the SystemElement input "
1224                        "parameter.")]
1225                 CIM_ManagedSystemElement REF SystemElement, 
1226                    [IN, Description (
1227                        "The test to discontinue is specified using the Result "
1228                        "input parameter.")]
1229                 CIM_DiagnosticResult REF Result, 
1230                    [IN ( false ), OUT, Description (
1231                        "TestingStopped, is set to TRUE if testing was "
1232                        "successfully stopped. It is set to FALSE if the current "
1233                        "test(s) can not be stopped. If set to FALSE, testing "
1234                        "will stop when the diagnostic is able to do so safely. "
1235                        "To determine if/when the testing is stopped, check the "
1236                        "TestState property in the DiagnosticResult instance "
1237                        "defined by the Result parameter. TestState will change "
1238                        "from \"In Progress\" to \"Stopped\" (from 4 to 5).")]
1239                 boolean TestingStopped); 
1240 karl  1.1 
1241           
1242           };
1243           
1244           // ==================================================================
1245           // DiagnosticServiceCapabilities
1246           // ==================================================================
1247              [Experimental, Version ( "2.8.1000" ), Description (
1248                  "DiagnosticServiceCapabilities is a class that describes the "
1249                  "capabilities of the diagnostic service. This provides the "
1250                  "means for the diagnostic service to describe its abilities, "
1251                  "limitations, and/or potential for use of various diagnostic "
1252                  "service parameters. For example, what types of settings the "
1253                  "diagnostic service supports.")]
1254           class CIM_DiagnosticServiceCapabilities : CIM_Capabilities {
1255           
1256                 [Description (
1257                     "The SupportedServiceModes property lists the operational "
1258                     "modes that are supported by the Diagnostic Service. These "
1259                     "modes may correspond to, but are not limited to, settings "
1260                     "that may be applied to a Diagnostic Service."), 
1261 karl  1.1        ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
1262                  Values { "Unknown", "Other", "PercentOfTestCoverage",
1263                     "QuickMode", "HaltOnError", "ResultPersistence", "None" },
1264                  ArrayType ( "Indexed" ), 
1265                  ModelCorrespondence { "CIM_DiagnosticServiceCapabilities." 
1266                     "OtherSupportedServiceModesDescriptions" }]
1267              uint16 SupportedServiceModes[];
1268           
1269                 [Description (
1270                     "Provides additional information for SupportedServiceModes "
1271                     "when the corresponding value is set to 1 (\"Other\")."), 
1272                  ArrayType ( "Indexed" ), 
1273                  ModelCorrespondence { "CIM_DiagnosticServiceCapabilities." 
1274                     "SupportedServiceModes" }]
1275              string OtherSupportedServiceModesDescriptions[];
1276           
1277                 [Description (
1278                     "The SupportedLoopControl property lists the loop controls "
1279                     "that are supported by the Diagnostic Service."), 
1280                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
1281                  Values { "Unknown", "Other", "Continuous", "Count", "Timer",
1282 karl  1.1           "ErrorCount", "No Loop Control" }, ArrayType ( "Indexed" ), 
1283                  ModelCorrespondence { "CIM_DiagnosticSetting.LoopControl",
1284                     "CIM_DiagnosticServiceCapabilities." 
1285                     "OtherSupportedLoopControlDescriptions" }]
1286              uint16 SupportedLoopControl[];
1287           
1288                 [Description (
1289                     "Provides additional information for SupportedLoopControl "
1290                     "when the corresponding value is set to 1 (\"Other\")."), 
1291                  ArrayType ( "Indexed" ), 
1292                  ModelCorrespondence { 
1293                     "CIM_DiagnosticServiceCapabilities.SupportedLoopControl" }]
1294              string OtherSupportedLoopControlDescriptions[];
1295           
1296                 [Description (
1297                     "The SupportedLogOptions property lists the log options that "
1298                     "are supported by the Diagnostic Service."), 
1299                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1300                     "10", "11", "12", "13", "14" }, 
1301                  Values { "Unknown", "Other", "Results", "Subtests", "Actions",
1302                     "Warnings", "Status", "Device Errors", "Service Errors",
1303 karl  1.1           "Setting Data", "Statistics", "Hardware Configuration",
1304                     "Software Configuration", "References", "Debug" },
1305                  ArrayType ( "Indexed" ), 
1306                  ModelCorrespondence { "CIM_DiagnosticSetting.LogOptions",
1307                     "CIM_DiagnosticServiceCapabilities.OtherSupportedLogOptionsDescriptions" 
1308                     }]
1309              uint16 SupportedLogOptions[];
1310           
1311                 [Description (
1312                     "Provides additional information for SupportedLogOptions "
1313                     "when the corresponding value is set to 1 (\"Other\")."), 
1314                  ArrayType ( "Indexed" ), 
1315                  ModelCorrespondence { 
1316                     "CIM_DiagnosticServiceCapabilities.SupportedLogOptions" }]
1317              string OtherSupportedLogOptionsDescriptions[];
1318           
1319                 [Description (
1320                     "The SupportedLogStorage property lists the storage options "
1321                     "for logging that are supported by the Diagnostic Service. \n"
1322                     "The values are: \n"
1323                     "\"DiagnosticRecordLog\" (Value = 2): Supports use of the "
1324 karl  1.1           "DiagnosticRecordLog class for aggregating "
1325                     "DiagnosticRecords. \n"
1326                     "\"MessageLog\" (Value = 3): Supports writing log "
1327                     "information using the methods in the MessageLog class. \n"
1328                     "\"File\" (Value = 4): Supports writing log information to a "
1329                     "file."), 
1330                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
1331                  Values { "Unknown", "Other", "DiagnosticRecordLog",
1332                     "MessageLog", "File", "No Storage Capabilities" }, 
1333                  ModelCorrespondence { 
1334                     "CIM_DiagnosticServiceCapabilities.OtherSupportedLogStorageDescriptions",
1335                     "CIM_DiagnosticSetting.LogStorage" }]
1336              uint16 SupportedLogStorage[];
1337           
1338                 [Description (
1339                     "Provides additional information for SupportedLogStorage "
1340                     "when the corresponding value is set to 1 (\"Other\")."), 
1341                  ArrayType ( "Indexed" ), 
1342                  ModelCorrespondence { 
1343                     "CIM_DiagnosticServiceCapabilities.SupportedLogStorage" }]
1344              string OtherSupportedLogStorageDescriptions[];
1345 karl  1.1 
1346                 [Description (
1347                     "The SupportedExecutionControls property lists the job "
1348                     "controls that are supported by the Diagnostic Service. The "
1349                     "values are: \n"
1350                     "\"Job Creation\" (Value = 2): publishes that a ConcreteJob "
1351                     "instance will be created to control the diagnostic job "
1352                     "launched by the diagnostic service. \n"
1353                     "\"Kill Job\" (Value = 3): publishes that the diagnostic "
1354                     "service implements the ConcreteJob.RequestStateChange(Kill) "
1355                     "method. \n"
1356                     "\"Suspend Job\" (Value = 4): publishes that the diagnostic "
1357                     "service implements the "
1358                     "ConcreteJob.RequestStateChange(Suspend) method. \n"
1359                     "\"Terminate Job\" (Value = 5): publishes that the "
1360                     "diagnostic service implements the "
1361                     "ConcreteJob.RequestStateChange(Terminate) method."), 
1362                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
1363                  Values { "Unknown", "Other", "Job Creation", "Kill Job",
1364                     "Suspend Job", "Terminate Job", "No Job Capabilities" }, 
1365                  ModelCorrespondence { "CIM_DiagnosticServiceCapabilities." 
1366 karl  1.1           "OtherSupportedExecutionControlsDescriptions" }]
1367              uint16 SupportedExecutionControls[];
1368           
1369                 [Description (
1370                     "Provides additional information for "
1371                     "SupportedExecutionControls when the corresponding value is "
1372                     "set (\"Other\")."), 
1373                  ArrayType ( "Indexed" ), 
1374                  ModelCorrespondence { 
1375                     "CIM_DiagnosticServiceCapabilities.SupportedExecutionControls" 
1376                     }]
1377              string OtherSupportedExecutionControlsDescriptions[];
1378           
1379                 [Experimental, Description (
1380                     "The SupportedVerbosityLevels property lists the levels of "
1381                     "logging volume or detail supported by a diagnostic service. "
1382                     "Three levels of verbosity are defined as follows: \n"
1383                     "* \"Minimum\" (value=2): Specified if the least amount of "
1384                     "information is desired; for example, Pass or Fail. \n"
1385                     "* \"Standard\" (value=3): This is the standard level of "
1386                     "messaging provided by the service. It is the form most "
1387 karl  1.1           "likely to be used if no verbosity value is specified "
1388                     "(default). \n"
1389                     "* \"Full\" (value=4): Specified when all information, "
1390                     "regardless of size, is desired. \n"
1391                     "Note that VerbosityLevel is a subjective property and "
1392                     "relates to the degree of detail, not an absolute metric. A "
1393                     "client simply specifies its desired level of detail and the "
1394                     "provider publishes its data in accordance with this desired "
1395                     "level of detail."), 
1396                  ValueMap { "2", "3", "4" }, 
1397                  Values { "Minimum", "Standard", "Full" },
1398                  ArrayType ( "Indexed" ), 
1399                  ModelCorrespondence { "CIM_DiagnosticSetting.VerbosityLevel" }]
1400              uint16 SupportedVerbosityLevels[];
1401           
1402                 [Deprecated { 
1403                     "CIM_DiagnosticServiceCapabilities.SupportedLogOptions" }, 
1404                  Description (
1405                     "This property is being deprecated because the "
1406                     "TestWarningLevel and LogOptions properties serve the same "
1407                     "purpose. \n"
1408 karl  1.1           "Lists the level of warning messages that MAY be logged. If "
1409                     "for example no warning information is required, the level "
1410                     "would be set to \"No Warnings\" (value=0). Using \"Missing "
1411                     "Resources\" (value=1) will cause warnings to be generated "
1412                     "when required resources or hardware are not found. Setting "
1413                     "the value to 2, \"Testing Impacts\", results in both "
1414                     "missing resources and 'test impact' warnings (for example, "
1415                     "multiple retries required) to be reported."), 
1416                  ValueMap { "2", "3", "4", "5" }, 
1417                  Values { "No Warnings", "Missing Resources", "Testing Impacts",
1418                     "All Warnings" }]
1419              uint16 SupportedTestWarnings = 3;
1420           
1421           };
1422           
1423           // ==================================================================
1424           // DiagnosticRecord
1425           // ==================================================================
1426              [Experimental, Version ( "2.8.1000" ), Description (
1427                  "Data related to Diagnostics may be recorded in various "
1428                  "DiagnosticRecord objects. The type of information that is "
1429 karl  1.1        "recorded in a log is specified via the LogOptions property in "
1430                  "DiagnosticSetting.")]
1431           class CIM_DiagnosticRecord : CIM_LogRecord {
1432           
1433                 [Required, Description (
1434                     "This property should reflect the value of the underlying "
1435                     "DiagnosticService.Name property."), 
1436                  ModelCorrespondence { "CIM_DiagnosticService.Name" }]
1437              string ServiceName;
1438           
1439                 [Required, Description (
1440                     "This property SHOULD reflect the value of the underlying "
1441                     "ManagedElement.ElementName property."), 
1442                  ModelCorrespondence { "CIM_ManagedElement.ElementName" }]
1443              string ManagedElementName;
1444           
1445                 [Override ( "RecordID" ), Description (
1446                     "In order to ensure uniqueness and provide for efficient "
1447                     "mining of DiagnosticRecords that correspond a particular "
1448                     "diagnostic ConcreteJob, the RecordID key SHOULD be "
1449                     "constructed using the following 'preferred' algorithm: \n"
1450 karl  1.1           "<ConcreteJob.InstanceID>:<n> \n"
1451                     "Where <InstanceID> is <OrgID>:<LocalID> as described in "
1452                     "ConcreteJob and <n> is an increment value that provides "
1453                     "uniqueness. <n> SHOULD be set to \"0\" for the first record "
1454                     "created by the job, and incremented for each subsequent "
1455                     "record."), 
1456                  MaxLen ( 256 )]
1457              string RecordID;
1458           
1459                 [Required, Description (
1460                     "The date and time that the record instance should be "
1461                     "deleted. The expiration datetime should be set when the "
1462                     "record is fully populated with record data. The value "
1463                     "should be calculated using the ResultPersistence property "
1464                     "of the DiagnosticSetting class. \n"
1465                     "If a ResultPersistence value is not provided, the "
1466                     "ExpirationDate should be set to the current datetime. \n"
1467                     "Once the date has expired, instances should be deleted as "
1468                     "soon as possible."), 
1469                  ModelCorrespondence { "CIM_DiagnosticSetting.ResultPersistence" 
1470                     }]
1471 karl  1.1    datetime ExpirationDate;
1472           
1473                 [Description (
1474                     "The RecordType property specifies the nature of the data "
1475                     "being entered into the ServiceRecord. The value in this "
1476                     "property should match one of the values indicated by the "
1477                     "DiagnosticSetting.LogOptions property. A brief summary of "
1478                     "the various log options can be found in "
1479                     "CIM_DiagnosticSetting.LogOptions."), 
1480                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1481                     "10", "11", "12", "13", "14" }, 
1482                  Values { "Unknown", "Other", "Results", "Subtests", "Actions",
1483                     "Warnings", "Status", "Device Errors", "Service Errors",
1484                     "Setting Data", "Statistics", "Hardware Configuration",
1485                     "Software Configuration", "References", "Debug" }, 
1486                  ModelCorrespondence { "CIM_DiagnosticSetting.LogOptions",
1487                     "CIM_DiagnosticRecord.OtherRecordTypeDescription" }]
1488              uint16 RecordType;
1489           
1490                 [Description (
1491                     "When \"Other\" (value=1) is entered in the RecordType "
1492 karl  1.1           "property, OtherRecordTypeDescription can be used to "
1493                     "describe the message type."), 
1494                  ModelCorrespondence { 
1495                     "CIM_DiagnosticSetting.OtherLogOptionsDescriptions",
1496                     "CIM_DiagnosticRecord.RecordType" }]
1497              string OtherRecordTypeDescription;
1498           
1499                 [Description (
1500                     "A locale indicates a particular geographical, political, or "
1501                     "cultural region. The Locale specifies the language used in "
1502                     "creating the LogRecord data. If the Locale property is "
1503                     "empty, it is assumed that the default locale is en_US "
1504                     "(English). \n"
1505                     "The locale string consists of three sub-strings, separated "
1506                     "by underscores: \n"
1507                     "- The first sub-string is the language code, as specified "
1508                     "in ISO639. \n"
1509                     "- The second sub-string is the country code, as specified "
1510                     "in ISO3166. \n"
1511                     "- The third sub-string is a variant, which is vendor "
1512                     "specific. \n"
1513 karl  1.1           "For example, US English appears as: \"en_US_WIN\", where "
1514                     "the \"WIN\" variant would specify a Windows "
1515                     "browser-specific collation (if one exists). Since the "
1516                     "variant is not standardized, it is not commonly used and "
1517                     "generally is limited to easily recognizable values "
1518                     "(\"WIN\", \"UNIX\", \"EURO\", etc.) used in standard "
1519                     "environments. The language and country codes are required; "
1520                     "the variant may be empty."), 
1521                  ModelCorrespondence { "CIM_DiagnosticSetting.Locales" }]
1522              string Locale;
1523           };
1524           
1525           // ==================================================================
1526           // DiagnosticServiceRecord
1527           // ==================================================================
1528              [Experimental, Version ( "2.8.1000" ), Description (
1529                  "While a DiagnosticService is running, data generated by the "
1530                  "service may be recorded in DiagnosticServiceRecord objects. A "
1531                  "DiagnosticServiceRecord is related to its MessageLog via an "
1532                  "instance of the RecordInLog aggregation class.")]
1533           class CIM_DiagnosticServiceRecord : CIM_DiagnosticRecord {
1534 karl  1.1 
1535                 [Description (
1536                     "If applicable, this string should contain one or more "
1537                     "vendor specific error codes that the diagnostic service "
1538                     "detected. These error codes may be used by the vendor for "
1539                     "variety of purposes such as: fault data base indexing, "
1540                     "field service trouble ticketing, product quality tracking, "
1541                     "part failure history, etc. Since these codes are for vendor "
1542                     "purposes they may assume any form. Details on suggested use "
1543                     "cases will be left to white papers. The array of error "
1544                     "codes has model correspondence with an ErrorCount array so "
1545                     "the number of errors reported can be analyzed by individual "
1546                     "error code."), 
1547                  ArrayType ( "Indexed" ), 
1548                  ModelCorrespondence { "CIM_DiagnosticServiceRecord.ErrorCount" }]
1549              string ErrorCode[];
1550           
1551                 [Description (
1552                     "Since some tests may detect transient and correctable "
1553                     "errors such as a network diagnostic or memory test, an "
1554                     "error count is useful to indicate the severity of the "
1555 karl  1.1           "failure. This field contains an integer value of the number "
1556                     "of errors detected by the test. The ErrorCount is an array "
1557                     "with model correspondence to ErrorCode so that the test can "
1558                     "report an ErrorCount on each type of error encountered. It "
1559                     "is recommended that hard errors and correctable or "
1560                     "recoverable errors be given different codes so that clients "
1561                     "with knowledge of the error codes can evaluate correctable, "
1562                     "recoverable, and hard errors independently."), 
1563                  ArrayType ( "Indexed" ), 
1564                  ModelCorrespondence { "CIM_DiagnosticServiceRecord.ErrorCode" }]
1565              uint32 ErrorCount[];
1566           
1567                 [Description (
1568                     "Since some tests may be looped, it is useful to report how "
1569                     "many iterations passed and failed. This is relevant in "
1570                     "analyzing transitory failures. For example, if all the "
1571                     "errors occurred in just one of 100 iterations, the device "
1572                     "may be viewed as OK or marginal, to be monitored further "
1573                     "rather then failed. Note: LoopsPassed & LoopsFailed should "
1574                     "add up to the loops completed. \n"
1575                     "A value for this property would likely be reported with a "
1576 karl  1.1           "DiagnosticServiceRecord.RecordType value = "
1577                     "\"ResultSummary\", which contains a summary result covering "
1578                     "all iterations of a looped service.")]
1579              uint32 LoopsFailed;
1580           
1581                 [Description (
1582                     "Since some tests may be looped, it is useful to report how "
1583                     "many iterations passed and failed. This is relevant in "
1584                     "analyzing transitory failures. For example if all the "
1585                     "errors occurred in just one of 100 iterations, the device "
1586                     "may be viewed as OK or marginal, to be monitored further "
1587                     "rather then failed. Note: LoopsPassed & LoopsFailed should "
1588                     "add up to the loops completed. \n"
1589                     "A value for this property would likely be reported with a "
1590                     "DiagnosticServiceRecord.RecordType value = "
1591                     "\"ResultSummary\", which contains a summary result covering "
1592                     "all iterations of a looped service.")]
1593              uint32 LoopsPassed;
1594           };
1595           
1596           
1597 karl  1.1 // ==================================================================
1598           // DiagnosticSettingRecord
1599           // ==================================================================
1600              [Experimental, Version ( "2.8.1000" ), Description (
1601                  "The DiagnosticSettingData that was used to when a Diagnostic "
1602                  "was run.")]
1603           class CIM_DiagnosticSettingRecord : CIM_DiagnosticRecord {
1604           
1605                 [Description (
1606                     "The LogOptions property lists the log options that were "
1607                     "requested for the Diagnostic Service. A brief summary of "
1608                     "the various log options can be found in "
1609                     "CIM_DiagnosticSetting.LogOptions."), 
1610                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1611                     "10", "11", "12", "13", "14" }, 
1612                  Values { "Unknown", "Other", "Results", "Subtests", "Actions",
1613                     "Warnings", "Status", "Device Errors", "Service Errors",
1614                     "Setting Data", "Statistics", "Hardware Configuration",
1615                     "Software Configuration", "References", "Debug" },
1616                  ArrayType ( "Indexed" ), 
1617                  ModelCorrespondence { 
1618 karl  1.1           "CIM_DiagnosticSettingRecord.OtherLogOptionsDescriptions",
1619                     "CIM_DiagnosticSetting.LogOptions" }]
1620              uint16 LogOptions[];
1621           
1622                 [Description (
1623                     "Provides additional information regarding the types of test "
1624                     "messages that are logged when the property LogOptions "
1625                     "includes the value 1 (\"Other\")."), 
1626                  ModelCorrespondence { "CIM_DiagnosticSettingRecord.LogOptions",
1627                     "CIM_DiagnosticSetting.OtherLogOptionsDescriptions" }]
1628              string OtherLogOptionsDescriptions[];
1629           
1630                 [Description (
1631                     "When this flag is true, the test will halt after finding "
1632                     "the first error.")]
1633              boolean HaltOnError;
1634           
1635                 [Description (
1636                     "When this flag is true, the test software should attempt to "
1637                     "run in an accelerated fashion either by reducing the "
1638                     "coverage or number of tests performed.")]
1639 karl  1.1    boolean QuickMode;
1640           
1641                 [Description (
1642                     "The requested percentage of coverage for the diagnostic "
1643                     "service. For example, a hard drive scan test could be asked "
1644                     "to run at 50%. Permissible values for this property range "
1645                     "from 0 to 100."), 
1646                  Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 ), 
1647                  ModelCorrespondence { 
1648                     "CIM_DiagnosticSetting.PercentOfTestCoverage" }]
1649              uint8 PercentOfTestCoverage;
1650           
1651                 [Description (
1652                     "Array entries contain parameters corresponding to entries "
1653                     "in the LoopControl array, limiting the number of times a "
1654                     "test should be repeated with a single invocation of RunTest "
1655                     "by a CIM client."), 
1656                  ArrayType ( "Indexed" ), 
1657                  ModelCorrespondence { "CIM_DiagnosticSettingRecord.LoopControl",
1658                     "CIM_DiagnosticSetting.LoopControlParameter" }]
1659              string LoopControlParameter[];
1660 karl  1.1 
1661                 [Description (
1662                     "LoopControl, used in conjunction with LoopControlParameter, "
1663                     "sets one or more loop control mechanisms that limits the "
1664                     "number of times a test should be repeated with a single "
1665                     "invocation of RunTest by a CIM client. There is an "
1666                     "array-positional correspondence between LoopControl entries "
1667                     "& LoopControlParameter entries. The entries in these "
1668                     "coupled arrays of loop controls can be used in a logical OR "
1669                     "fashion to achieve the desired loop control. For example, "
1670                     "if a client wants to loop a test 1000 times, but quit if a "
1671                     "timer runs out, it could set both controls into the "
1672                     "LoopControl array as two separate entries in each array. "
1673                     "The looping test will terminate when the first of the two "
1674                     "ORed conditions are met. \n"
1675                     "A brief description for each loop control can be found in "
1676                     "the description of DiagnosticSetting.LoopControl."), 
1677                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
1678                  Values { "Unknown/Default", "Other", "Continuous", "Count",
1679                     "Timer", "Error Count" }, ArrayType ( "Indexed" ), 
1680                  ModelCorrespondence { 
1681 karl  1.1           "CIM_DiagnosticSetting.LoopControlParameter",
1682                     "CIM_DiagnosticSettingRecord.OtherLoopControlDescriptions" }]
1683              uint16 LoopControl[];
1684           
1685                 [Description (
1686                     "Provides additional information for LoopControl when its "
1687                     "value is set to 1 ('Other')."), 
1688                  ArrayType ( "Indexed" ), 
1689                  ModelCorrespondence { 
1690                     "CIM_DiagnosticSetting.OtherLoopControlDescriptions",
1691                     "CIM_DiagnosticSettingRecord.LoopControl" }]
1692              string OtherLoopControlDescriptions[];
1693           
1694                 [Description (
1695                     "The desired length of time to persist the messages that "
1696                     "result from execution of a diagnostic service. Here is a "
1697                     "summary of the choices and behaviors for different "
1698                     "ResultPersistence values: \n"
1699                     "0 = \"No Persistence\": \n"
1700                     "Setting the timer to zero tells the provider not to persist "
1701                     "the diagnostic result. The diagnostic information is only "
1702 karl  1.1           "available while the diagnostic is executing or at its "
1703                     "conclusion. \n"
1704                     "Value > 0 and < 0xFFFFFFFF = \"Persist With TimeOut\": \n"
1705                     "Setting the ResultPersistenceOption to a integer will cause "
1706                     "the DiagnosticResult to be persisted for that number of "
1707                     "seconds. At the end of that time, the DiagnosticResult may "
1708                     "be deleted by the diagnostic service provider. \n"
1709                     "0xFFFFFFFF = \"Persist Forever\": \n"
1710                     "By setting the timeout value to the very large value, "
1711                     "0xFFFFFFFF, the provider shall persist results forever. In "
1712                     "this case, the client MUST bear the responsibility for "
1713                     "deleting them."), 
1714                  Units ( "Seconds" ), 
1715                  ModelCorrespondence { "CIM_DiagnosticSetting.ResultPersistence" 
1716                     }]
1717              uint32 ResultPersistence;
1718           
1719           
1720                 [Description (
1721                     "A client may want to specify the volume or detail of "
1722                     "information logged by a diagnostic service. This metric is "
1723 karl  1.1           "applied to a corresponding logging option, acting as a "
1724                     "qualifier on its description. Three levels of verbosity are "
1725                     "defined as follows: \n"
1726                     "* \"Minimum\" (value=2): Specified if the least amount of "
1727                     "information is desired; for example, Pass or Fail. \n"
1728                     "* \"Standard\" (value=3): This is the standard level of "
1729                     "messaging provided by the service. It is the form most "
1730                     "likely to be used if no verbosity value is specified "
1731                     "(default). \n"
1732                     "* \"Full\" (value=4): Specified when all information, "
1733                     "regardless of size, is desired. \n"
1734                     "Verbosity may not apply to all LogOptions values, in which "
1735                     "case the default VerbosityLevel of \"Standard\" SHOULD be "
1736                     "used."), 
1737                  ValueMap { "2", "3", "4" }, 
1738                  Values { "Minimum", "Standard", "Full" },
1739                  ArrayType ( "Indexed" ), 
1740                  ModelCorrespondence { 
1741                     "CIM_DiagnosticServiceCapabilities.SupportedVerbosityLevels",
1742                     "CIM_DiagnosticSetting.LogOptions" }]
1743              uint16 VerbosityLevel[];
1744 karl  1.1 
1745           
1746           };
1747           
1748           
1749           // ==================================================================
1750           // CorrespondingSettingsRecord
1751           // ==================================================================
1752              [Association, Experimental, Version ( "2.8.1000" ), Description (
1753                  "CorrespondingSettingsRecord is used to tie a log record to its "
1754                  "corresponding setting data record.")]
1755           class CIM_CorrespondingSettingsRecord {
1756           
1757                 [Key, Description (
1758                     "The record containing the result data.")]
1759              CIM_DiagnosticRecord REF DataRecord;
1760           
1761                 [Key, Description (
1762                     "The record containing the DiagnosticSetting data that were "
1763                     "used when the result was created.")]
1764              CIM_DiagnosticSettingRecord REF SettingsRecord;
1765 karl  1.1 
1766           };
1767           
1768           // ==================================================================
1769           // DiagnosticResultForMSE
1770           // ==================================================================
1771              [Association, Deprecated { "No Value" }, Version ( "2.8.1000" ), 
1772               Description (
1773                  "This class is being deprecated as part of the deprecation of "
1774                  "the DiagnosticResult class. \n"
1775                  "This is an association class relating diagnostic test results "
1776                  "to the ManagedSystemElement that is/was tested.")]
1777           class CIM_DiagnosticResultForMSE {
1778           
1779                 [Deprecated { "No Value" }, Key, Description (
1780                     "The diagnostic result.")]
1781              CIM_DiagnosticResult REF Result;
1782           
1783                 [Deprecated { "No Value" }, Key, Description (
1784                     "The ManagedSystemElement to which the diagnostic result "
1785                     "applies.")]
1786 karl  1.1    CIM_ManagedSystemElement REF SystemElement;
1787           };
1788           
1789           
1790           // ==================================================================
1791           // DiagnosticResultForTest
1792           // ==================================================================
1793              [Association, Deprecated { "No Value" }, Version ( "2.8.1000" ), 
1794               Description (
1795                  "This class is being deprecated as part of the deprecation of "
1796                  "the DiagnosticResult class. \n"
1797                  "This is an association class to relate the results of a test "
1798                  "to the test itself.")]
1799           class CIM_DiagnosticResultForTest {
1800           
1801                 [Deprecated { "No Value" }, Key, Weak, Min ( 1 ), Max ( 1 ), 
1802                  Description (
1803                     "The result object.")]
1804              CIM_DiagnosticResult REF DiagnosticResult;
1805           
1806                 [Deprecated { "No Value" }, Key, Min ( 1 ), Max ( 1 ), 
1807 karl  1.1        Description (
1808                     "The test that generated the result object.")]
1809              CIM_DiagnosticTest REF DiagnosticTest;
1810           };
1811           
1812           
1813           // ==================================================================
1814           // DiagnosticTestForMSE
1815           // ==================================================================
1816              [Association, Deprecated { "CIM_AvailableDiagnosticService" },
1817               Version ( "2.8.1000" ), Description (
1818                  "This class is being deprecated to promote its usage to the "
1819                  "DiagnosticService level. \n"
1820                  "This is an association class that relates a DiagnosticTest to "
1821                  "a ManagedSystemElement. Consumers wishing to 'diagnose' a "
1822                  "particular Element could query this association, for the "
1823                  "Element, to determine what tests are available.")]
1824           class CIM_DiagnosticTestForMSE : CIM_ProvidesServiceToElement {
1825           
1826                 [Deprecated { "CIM_AvailableDiagnosticService.ServiceProvided" },
1827                  Override ( "Antecedent" ), Description (
1828 karl  1.1           "The test that may be run against a ManagedSystemElement.")]
1829              CIM_DiagnosticTest REF Antecedent;
1830           
1831                 [Deprecated { "CIM_AvailableDiagnosticService.UserOfService" },
1832                  Override ( "Dependent" ), Description (
1833                     "The ManagedSystemElement that can be tested.")]
1834              CIM_ManagedSystemElement REF Dependent;
1835           
1836                 [Deprecated { 
1837                     "CIM_AvailableDiagnosticService.EstimatedDurationOfService" }, 
1838                  Description (
1839                     "Estimated number of seconds to perform the referenced "
1840                     "DiagnosticTest against the ManagedSystemElement. Since "
1841                     "execution times could vary by Element, this property is "
1842                     "located in the association between the two entities. It is "
1843                     "also captured in DiagnosticResult, in the "
1844                     "EstimatedTimeOfPerforming property. \n"
1845                     "A CIM Consumer can compare this value with the value in "
1846                     "DiagnosticResult to get an idea of what impact their "
1847                     "settings have on test execution."), 
1848                  Units ( "Seconds" ), 
1849 karl  1.1        ModelCorrespondence { 
1850                     "CIM_DiagnosticResult.EstimatedTimeOfPerforming" }]
1851              uint32 EstimatedTimeOfPerforming;
1852           
1853                 [Deprecated { "CIM_ServiceAffectsElement.ElementEffects" }, 
1854                  Description (
1855                     "This property is being deprecated since the same "
1856                     "characterisitic can be published in the "
1857                     "CIM_ServiceAffectsElement.ElementEffects array as Value = "
1858                     "2, \"Exclusive Use\". \n"
1859                     "If the DiagnosticTest referenced in this object can be run "
1860                     "concurrently against multiple SystemElements, but only run "
1861                     "one at a time for the referenced ManagedSystemElement, then "
1862                     "this boolean is set to TRUE. Alternately, if the test can "
1863                     "NOT be run concurrently irregardless of the System Elements "
1864                     "being tested, then the more general \"Is Exclusive\" "
1865                     "enumerated value (2) should be set in DiagnosticTest. "
1866                     "Characteristics.")]
1867              boolean IsExclusiveForMSE;
1868           };
1869           
1870 karl  1.1 
1871           
1872           // ==================================================================
1873           // DiagnosticTestInPackage
1874           // ==================================================================
1875              [Association, Deprecated { "No value" }, Aggregation,
1876                  Version ( "2.7.0" ), Description (
1877                  "This class is being deprecated. Tests should be grouped at the "
1878                  "test level, not in the model. Therefore, the association is "
1879                  "not appropriate. /n This is an association class that "
1880                  "identifies a Diagnostic Test as made up of lower level Tests. "
1881                  "In this case, the test identified as the GroupComponent "
1882                  "reference (i.e, the higher level test) would have the \"Is "
1883                  "Package\" enumerated value specified in DiagnosticTest. "
1884                  "Characteristics.")]
1885           class CIM_DiagnosticTestInPackage : CIM_Component {
1886           
1887                 [Deprecated { "No value" }, Aggregate,
1888                     Override ( "GroupComponent" ), Description (
1889                     "The DiagnosticTest object that acts as the container for "
1890                     "all the tests of the package.")]
1891 karl  1.1    CIM_DiagnosticTest REF GroupComponent;
1892           
1893                 [Deprecated { "No value" }, Override ( "PartComponent" ), 
1894                  Description (
1895                     "The DiagnosticTest object that is one of the elements of "
1896                     "the package.")]
1897              CIM_DiagnosticTest REF PartComponent;
1898           };
1899           
1900           
1901           // ==================================================================
1902           // DiagnosticResultInPackage
1903           // ==================================================================
1904              [Association, Deprecated { "No value" }, Aggregation,
1905                  Version ( "2.7.0" ), Description (
1906                  "This class is being deprecated. Tests should be grouped at the "
1907                  "test level, not by the model. Therefore, this association is "
1908                  "no longer appropriate. /n This is an association class that "
1909                  "identifies a Diagnostic Result as made up of lower level "
1910                  "Results. In this case, the Result identified as the "
1911                  "PackageResult reference (i.e., the higher level result) would "
1912 karl  1.1        "have its IsPackage property set to TRUE.")]
1913           class CIM_DiagnosticResultInPackage {
1914           
1915                 [Deprecated { "No value" }, Key, Aggregate, Description (
1916                     "The DiagnosticResult object that acts as the container for "
1917                     "all the results of the package.")]
1918              CIM_DiagnosticResult REF PackageResult;
1919           
1920                 [Deprecated { "No value" }, Key, Description (
1921                     "The DiagnosticResult object that is one of the elements of "
1922                     "the package.")]
1923              CIM_DiagnosticResult REF Result;
1924           };
1925           
1926           
1927           // ==================================================================
1928           // DiagnosticSettingForTest
1929           // ==================================================================
1930              [Association, Deprecated { "CIM_ElementSetting" },
1931                  Version ( "2.8.1000" ), Description (
1932                  "This class is no longer required and is being deprecated. Use "
1933 karl  1.1        "ElementSetting (its parent) instead if the association is "
1934                  "needed. \n"
1935                  "This is an association class to relate test settings with "
1936                  "diagnostic tests.")]
1937           class CIM_DiagnosticSettingForTest : CIM_ElementSetting {
1938           
1939                 [Deprecated { "CIM_ElementSetting.Element" },
1940                     Override ( "Element" ), Description (
1941                     "The Test that can use the Setting object.")]
1942              CIM_DiagnosticTest REF Element;
1943           
1944                 [Deprecated { "CIM_ElementSetting.Setting" },
1945                     Override ( "Setting" ), Description (
1946                     "The Setting that can be applied to the execution of the "
1947                     "DiagnosticTest.")]
1948              CIM_DiagnosticSetting REF Setting;
1949           };
1950           
1951           // ==================================================================
1952           // AvailableDiagnosticService
1953           // ==================================================================
1954 karl  1.1    [Association, Experimental, Version ( "2.8.1000" ), Description (
1955                  "This is an association class that relates a DiagnosticService "
1956                  "to a ManagedElement. Consumers wishing to 'diagnose' a "
1957                  "particular Element could query this association to determine "
1958                  "what services are available.")]
1959           class CIM_AvailableDiagnosticService : CIM_ServiceAvailableToElement {
1960           
1961                 [Override ( "ServiceProvided" ), Description (
1962                     "The diagnostic service that is available to a "
1963                     "ManagedElement.")]
1964              CIM_DiagnosticService REF ServiceProvided;
1965           
1966                 [Description (
1967                     "Estimated magnitude of time to perform the referenced "
1968                     "DiagnosticService on the referenced ManagedElement. \n"
1969                     "Since the processing speed of a system can vary immensely "
1970                     "due to a variety of factors (e.g., processor speed), this "
1971                     "property takes on values that are a statement of magnitude, "
1972                     "not absolute time. If greater accuracy can be provided, a "
1973                     "quantification may be specified in the corresponding "
1974                     "integer property, EstimatedDurationQualifier. \n"
1975 karl  1.1           "Since execution times could vary by Element, this property "
1976                     "is located in the association between the two entities."), 
1977                  ValueMap { "0", "2", "3", "4", "5", "6" }, 
1978                  Values { "Unknown", "Milliseconds", "Seconds", "Minutes",
1979                     "Hours", "Days" }, 
1980                  ModelCorrespondence { 
1981                     "CIM_AvailableDiagnosticService.EstimatedDurationQualifier" }]
1982              uint16 EstimatedDurationOfService;
1983           
1984                 [Description (
1985                     "EstimatedDurationQualifier can be used to further quantify "
1986                     "the magnitude of time to perform the service."), 
1987                  ModelCorrespondence { 
1988                     "CIM_AvailableDiagnosticService.EstimatedDurationOfService" }]
1989              uint32 EstimatedDurationQualifier;
1990           
1991           };
1992           
1993           // ===================================================================
1994           // end of file
1995           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2