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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2