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

   1 tony  1.1 // ===================================================================
   2           // Title:       Core Elements 2.8
   3           // Filename:    Core28_CoreElements.mof
   4           // Version:     2.8
   5           // Release:     Preliminary
   6           // Date:        08/18/2003
   7           // ===================================================================
   8           // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
   9           // All rights reserved.
  10           // DMTF is a not-for-profit association of industry members dedicated
  11           // to promoting enterprise and systems management and interoperability.
  12           // DMTF specifications and documents may be reproduced for uses
  13           // consistent with this purpose by members and non-members,
  14           // provided that correct attribution is given.
  15           // As DMTF specifications may be revised from time to time,
  16           // the particular version and release date should always be noted.
  17           // 
  18           // Implementation of certain elements of this standard or proposed
  19           // standard may be subject to third party patent rights, including
  20           // provisional patent rights (herein "patent rights"). DMTF makes
  21           // no representations to users of the standard as to the existence
  22 tony  1.1 // of such rights, and is not responsible to recognize, disclose, or
  23           // identify any or all such third party patent right, owners or
  24           // claimants, nor for any incomplete or inaccurate identification or
  25           // disclosure of such rights, owners or claimants. DMTF shall have no
  26           // liability to any party, in any manner or circumstance, under any
  27           // legal theory whatsoever, for failure to recognize, disclose, or
  28           // identify any such third party patent rights, or for such party's
  29           // reliance on the standard or incorporation thereof in its product,
  30           // protocols or testing procedures. DMTF shall have no liability to
  31           // any party implementing such standard, whether such implementation
  32           // is foreseeable or not, nor to any patent owner or claimant, and shall
  33           // have no liability or responsibility for costs or losses incurred if
  34           // a standard is withdrawn or modified after publication, and shall be
  35           // indemnified and held harmless by any party implementing the
  36           // standard from any and all claims of infringement by a patent owner
  37           // for such implementations.
  38           // 
  39           // For information about patents held by third-parties which have
  40           // notified the DMTF that, in their opinion, such patent may relate to
  41           // or impact implementations of DMTF standards, visit
  42           // http://www.dmtf.org/about/policies/disclosures.php.
  43 tony  1.1 // ===================================================================
  44           // Description: The Core Model defines basic management concepts.
  45           //              This file defines the concepts for the top of the CIM
  46           //              object hierarchies (ManagedElement,
  47           //              ManagedSystemElement,
  48           //              LogicalElement, Systems, Services, etc.) and the 'top'
  49           //              associations (Dependency, Component,
  50           //              LogicalIdentity, ...).
  51           // 
  52           //              The object classes below are listed in an order that
  53           //              avoids forward references. Required objects, defined
  54           //              by other working groups, are omitted.
  55           // ==================================================================
  56           // Change Log for v2.8 Preliminary
  57           // CR932  - Add power mode status to OperationalStatus.
  58           //           Move the specific power mode states from availability
  59           //          to a property between the PowerMgmt service and its ME.
  60           //          Remove the overlapping properties from Logical Device.
  61           // CR950  - Add ArrayType to CIM_ManagedSystemElement properties
  62           // CR1006 - Improve description of ManagedSystemElement
  63           // CR1026 - Update the InfoFormat enum for RemoteAccessPoint
  64 tony  1.1 // CR1019 - CIM Versioning for 2.8 Preliminary
  65           // CR1033 - relax key types for Synchronized
  66           // CR1030 - Update AdminDomain.NameFormat for WWN
  67           // CR1045 - Add method for requesting a "EnabledState" change in
  68           //          EnabledLogicalElement class / Deprecate or explain overlap
  69           //          with LogicalDevice and Service properties and methods
  70           // CR1052 - Updates to ProtocolEndpoint and its
  71           //          subclasses to better align with the IF-MIB
  72           // CR1081 - Promote CIM_Job and ConcreteJob to the Core Model to
  73           //          avoid forward reference in EnabledLogicalElement's methods
  74           // CR1092  - Move Service and SAP related classes to their own file
  75           // CR1127  - Add new enums to RequestedState
  76           // CR1128  - Addition of HostedDependency
  77           // CR1135  - Job Recovery Properties and the RecoveryJob association
  78           // 
  79           // Change Log for v2.7 Final
  80           // CR961 - Rename EnabledLogicalElement. xxxStatus properties to be
  81           //         State.
  82           //       - Update description of xxxState properties to reflect the
  83           //         expected behavior of the state values.
  84           //       - Change references to EnabledStatus and RequestedStatus to
  85 tony  1.1 //         EnabledState and RequestedState in the Service.
  86           //            StartService()
  87           //            StopService()
  88           // CR966 - Remove the Terminal qualifier from ConcreteDependency,
  89           //         ConcreteComponent, and ConcreteIdentity associations and
  90           //         add text to describe the intent of the original placement
  91           // CR968 - Remove the Experimental qualifier
  92           // CR993 - Change property name and description of
  93           //            ManagedSystemElement.OtherStatusDescription
  94           // CR1009 - Add ServiceAccessURI class
  95           // CR1135 - Job Recovery Properties and the RecoveryJob association
  96           // 
  97           // Change Log for v2.7
  98           // CR641 - Add ConcreteDependency
  99           // CR643 - Promote Component to ManagedElement, and add
 100           //         ConcreteComponent
 101           // CR660 - Add RemoteServiceAccessPoint and RemotePort
 102           // CR663 - Update the Description of ActiveConnection and some of
 103           //         its properties.  Deprecate the properties, TrafficType
 104           //         and OtherTrafficDescription
 105           // CR670 - Promote LogicalIdentity to ManagedElement, and add
 106 tony  1.1 //         ConcreteIdentity
 107           // CR671 - Deprecate ProvidesServiceToElement
 108           //       - Add ServiceAvailableToElement
 109           //       - Update description for ServiceServiceDependency
 110           // CR672 - Update description for SystemComponent to clarify its use
 111           // CR677 - Add the array property OperationalStatus & OtherStatus
 112           //         Description, and deprecate the existing Status property of
 113           //         ManagedSystemElement
 114           //       - Deprecate StartMode in Service
 115           // CR717 - Clarify description of System.Roles
 116           // CR747 - Add the Write Qualifier and update description of System.
 117           //         Roles
 118           // CR751 - Promote ActiveConnection from ProtocolEndpoint to
 119           //         ServiceAccessPoint
 120           // CR757 - Add EnabledLogicalElement
 121           //       - Change subclass of System, Service, and ServiceAccessPoint
 122           //         from LogicalElement to EnabledLogicalElement
 123           //       - Update the descriptions to Service.StartService() and
 124           //         Service.StopService() to explain the overlap with
 125           //         RequestedStatus
 126           //       - Update the deprecation of Service.StartMode to
 127 tony  1.1 //         EnabledDefault
 128           // CR758 - Add ElementName to ManagedElement
 129           // CR764 - Add ServiceAffectsElement
 130           // CR779 - Extend ManagedSystemElement.OperationalStatus to include
 131           //         "Completed"
 132           // CR804 - Update the enumeration for ProtocolEndpoint.ProtocolType
 133           // CR833 - Extend EnabledLogicalElement.EnabledStatus & .Requested
 134           //         Status to include "In Test" and "Test" respectively
 135           // CR834 - Extend ManagedSystemElement.OperationalStatus to include
 136           //         "Aborted", "Dormant", and "Supported Entity in Error"
 137           // CR844 - Add PrimaryOwnerName and PrimaryOwnerContact to Service;
 138           //         Add Write qualifier to the same properties in System
 139           // CR894 - Clarify the description for System.
 140           // CR898 - Extend MaxLen qualifier on ManagedSystemElement.Name
 141           //         from 256 to 1024 (to match subclassing requriements)
 142           // ==================================================================
 143           
 144           #pragma locale ("en_US")
 145           
 146           
 147           // ==================================================================
 148 tony  1.1 // ManagedElement
 149           // ==================================================================
 150              [Abstract, Version ("2.7.0"), Description (
 151                  "ManagedElement is an abstract class that provides a common "
 152                  "superclass (or top of the inheritance tree) for the "
 153                  "non-association classes in the CIM Schema.") ]
 154           class CIM_ManagedElement {
 155           
 156                 [Description (
 157                     "The Caption property is a short textual description (one- "
 158                     "line string) of the object."), 
 159                  MaxLen (64) ]
 160              string Caption;
 161           
 162                 [Description (
 163                     "The Description property provides a textual description of "
 164                     "the object.") ]
 165              string Description;
 166           
 167                 [Description (
 168                     "A user-friendly name for the object.  This property allows "
 169 tony  1.1           "each instance to define a user-friendly name IN ADDITION TO "
 170                     "its key properties/identity data, and description information.\n"
 171                     "Note that ManagedSystemElement's Name property is also "
 172                     "defined as a user-friendly name.  But, it is often "
 173                     "subclassed to be a Key.  It is not reasonable that the same "
 174                     "property can convey both identity and a user friendly name, "
 175                     "without inconsistencies.  Where Name exists and is not a "
 176                     "Key (such as for instances of LogicalDevice), the same "
 177                     "information MAY be present in both the Name and ElementName "
 178                     "properties.") ]
 179              string ElementName;
 180           };
 181           
 182           
 183           // ==================================================================
 184           // Dependency
 185           // ==================================================================
 186              [Association, Abstract, Version ("2.6.0"), Description (
 187                  "CIM_Dependency is a generic association used to establish "
 188                  "dependency relationships between ManagedElements.") ]
 189           class CIM_Dependency {
 190 tony  1.1 
 191                 [Key, Description (
 192                     "Antecedent represents the independent object in this "
 193                     "association.") ]
 194              CIM_ManagedElement REF Antecedent;
 195           
 196                 [Key, Description (
 197                     "Dependent represents the object dependent on the "
 198                     "Antecedent.") ]
 199              CIM_ManagedElement REF Dependent;
 200           };
 201           
 202           
 203           // ==================================================================
 204           // ConcreteDependency
 205           // ==================================================================
 206              [Association, Version ("2.7.0"), Description (
 207                  "CIM_ConcreteDependency is a generic association used to "
 208                  "establish dependency relationships between ManagedElements.  "
 209                  "It is defined as a concrete subclass of the abstract "
 210                  "CIM_Dependency class, to be used in place of many specific "
 211 tony  1.1        "subclasses of Dependency that add no semantics - i.e., that do "
 212                  "not clarify the type of dependency, update cardinalities, or "
 213                  "add/remove qualifiers.  Note that when defining additional "
 214                  "semantics for Dependency that this class MUST NOT be "
 215                  "subclassed.  Specific semantics continue to be defined as "
 216                  "subclasses of the abstract CIM_Dependency.  ConcreteDependency "
 217                  "is limited in its use as a concrete form of a general dependency.\n"
 218                  "\n"
 219                  "It was deemed more prudent to create this concrete subclass "
 220                  "than to change Dependency from an abstract to a concrete "
 221                  "class.  Dependency already had multiple abstract subclasses in "
 222                  "the CIM Schema, and wider industry usage and impact could not "
 223                  "be anticipated.") ]
 224           class CIM_ConcreteDependency : CIM_Dependency {
 225           
 226                 [Override ("Antecedent"), Description (
 227                     "Antecedent represents the independent object in this "
 228                     "association.") ]
 229              CIM_ManagedElement REF Antecedent;
 230           
 231                 [Override ("Dependent"), Description (
 232 tony  1.1           "Dependent represents the object dependent on the "
 233                     "Antecedent.") ]
 234              CIM_ManagedElement REF Dependent;
 235           };
 236           
 237           // ==================================================================
 238           // Component
 239           // ==================================================================
 240              [Association, Abstract, Aggregation, Version ("2.7.0"), 
 241               Description (
 242                  "CIM_Component is a generic association used to establish 'part "
 243                  "of' relationships between Managed Elements.  For example, it "
 244                  "could be used to define the components or parts of a System.") ]
 245           class CIM_Component {
 246           
 247                 [Key, Aggregate, Description (
 248                     "The parent element in the association.") ]
 249              CIM_ManagedElement REF GroupComponent;
 250           
 251                 [Key, Description (
 252                     "The child element in the association.") ]
 253 tony  1.1    CIM_ManagedElement REF PartComponent;
 254           };
 255           
 256           
 257           // ==================================================================
 258           // ConcreteComponent
 259           // ==================================================================
 260              [Association, Aggregation, Version ("2.7.0"), Description (
 261                  "CIM_ConcreteComponent is a generic association used to "
 262                  "establish 'part of' relationships between ManagedElements.  It "
 263                  "is defined as a concrete subclass of the abstract "
 264                  "CIM_Component class, to be used in place of many specific "
 265                  "subclasses of Component that add no semantics - i.e., that do "
 266                  "not clarify the type of composition, update cardinalities, or "
 267                  "add/remove qualifiers.  Note that when defining additional "
 268                  "semantics for Component that this class MUST NOT be "
 269                  "subclassed.  Specific semantics continue to be defined as "
 270                  "subclasses of the abstract CIM_Component.  ConcreteComponent "
 271                  "is limited in its use as a concrete form of a general composition.\n"
 272                  "\n"
 273                  "It was deemed more prudent to create this concrete subclass "
 274 tony  1.1        "than to change Component from an abstract to a concrete "
 275                  "class.  Industry usage and impact could not be anticipated.") ]
 276           class CIM_ConcreteComponent : CIM_Component {
 277           
 278                 [Aggregate, Override ("GroupComponent"), Description (
 279                     "The parent element in the association.") ]
 280              CIM_ManagedElement REF GroupComponent;
 281           
 282                 [Override ("PartComponent"), Description (
 283                     "The child element in the association.") ]
 284              CIM_ManagedElement REF PartComponent;
 285           };
 286           
 287           
 288           // ==================================================================
 289           // LogicalIdentity
 290           // ==================================================================
 291              [Association, Abstract, Version ("2.7.0"), Description (
 292                  "CIM_LogicalIdentity is an abstract and generic association, "
 293                  "indicating that two ManagedElements represent different "
 294                  "aspects of the same underlying entity.  This relationship "
 295 tony  1.1        "conveys what could be defined with multiple inheritance.  In "
 296                  "most scenarios, the Identity relationship is determined by the "
 297                  "equivalence of Keys or some other identifying properties of "
 298                  "the related Elements. \n\n"
 299                  "One of the scenarios where this relationship is reasonable is "
 300                  "to represent that a LogicalDevice is both a 'bus' entity and a "
 301                  "'functional' entity.  For example, a Device could be both a "
 302                  "USB (bus) and a Keyboard (functional) entity.") ]
 303           class CIM_LogicalIdentity {
 304           
 305                 [Key, Description (
 306                     "SystemElement represents one aspect of the Managed "
 307                     "Element.  The use of 'System' in the role name does not "
 308                     "limit the scope of the association.  The role name was "
 309                     "defined in the original association, where the referenced "
 310                     "elements were limited to LogicalElements.  Since that time, "
 311                     "it has been found valuable to instantiate these types of "
 312                     "relationships for ManagedElements, such as Collections.  "
 313                     "So, the referenced elements of the association were "
 314                     "redefined to be ManagedElements.  Unfortunately, the role "
 315                     "name could not be changed without deprecating the entire "
 316 tony  1.1           "association.  This was not deemed necessary just to correct "
 317                     "the role name.") ]
 318              CIM_ManagedElement REF SystemElement;
 319           
 320                 [Key, Description (
 321                     "SameElement represents an alternate aspect of the "
 322                     "ManagedElement.") ]
 323              CIM_ManagedElement REF SameElement;
 324           };
 325           
 326           
 327           // ==================================================================
 328           // ConcreteIdentity
 329           // ==================================================================
 330              [Association, Version ("2.7.0"), Description (
 331                  "CIM_ConcreteIdentity associates two elements representing "
 332                  "different aspects of the same underlying entity.  It is "
 333                  "defined as a concrete subclass of the abstract "
 334                  "CIM_LogicalIdentity class, to be used in place of many "
 335                  "specific subclasses of LogicalIdentity that add no semantics - "
 336                  "i.e., that do not clarify the type of identity, update "
 337 tony  1.1        "cardinalities, or add/remove qualifiers.  Note -that when "
 338                  "defining additional semantics for LogicalIdentity that this "
 339                  "class should not be subclassed.  Specifc semantics continue to "
 340                  "be defined as subclasses of the abstract CIM_LogicalIdentity.  "
 341                  "ConcreteIdentity is limited in its use as a concrete form of a "
 342                  "general identity relationship.\n"
 343                  "\n"
 344                  "It was deemed more prudent to create this concrete subclass "
 345                  "than to change LogicalIdentity from an abstract to a concrete "
 346                  "class.  LogicalIdentity already had multiple abstract "
 347                  "subclasses in the CIM Schema, and wider industry usage and "
 348                  "impact could not be anticipated.") ]
 349           class CIM_ConcreteIdentity : CIM_LogicalIdentity {
 350           
 351                 [Override ("SystemElement"), Description (
 352                     "One aspect of the ManagedElement.  The use of 'System' in "
 353                     "the name does not limit the scope of the association.  This "
 354                     "is an artifact of the original definition of the "
 355                     "association.") ]
 356              CIM_ManagedElement REF SystemElement;
 357           
 358 tony  1.1       [Override ("SameElement"), Description (
 359                     "Another aspect of the ManagedElement.") ]
 360              CIM_ManagedElement REF SameElement;
 361           };
 362           
 363           
 364           // ==================================================================
 365           // ManagedSystemElement
 366           // ==================================================================
 367              [Abstract, Version ("2.7.1000"), Description (
 368                  "CIM_ManagedSystemElement is the base class for the System "
 369                  "Element hierarchy.  Any distinguishable component of a System "
 370                  "is a candidate for inclusion in this class.  Examples of "
 371                  "system components include:\n"
 372                  "- software components such as application servers, databases, "
 373                  "and applications\n"
 374                  "- operating system components such as files, processes, and threads\n"
 375                  "- device components such as disk drives, controllers, "
 376                  "processors, and printers\n"
 377                  "- physical components such as chips and cards.") ]
 378           class CIM_ManagedSystemElement : CIM_ManagedElement {
 379 tony  1.1 
 380                 [Description (
 381                     "A datetime value indicating when the object was installed.  "
 382                     "A lack of a value does not indicate that the object is not "
 383                     "installed."), 
 384                  MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
 385              datetime InstallDate;
 386           
 387                 [Description (
 388                     "The Name property defines the label by which the object is "
 389                     "known.  When subclassed, the Name property can be "
 390                     "overridden to be a Key property."), 
 391                  MaxLen (1024) ]
 392              string Name;
 393           
 394                 [Description (
 395                     "Indicates the current status(es) of the element.  Various "
 396                     "health and operational statuses are defined.  Many of the "
 397                     "enumeration's values are self- explanatory.  However, a few "
 398                     "are not and are described in more detail.\n"
 399                     "\"Stressed\" indicates that the element is functioning, but "
 400 tony  1.1           "needs attention.  Examples of \"Stressed\" states are "
 401                     "overload, overheated, etc.\n"
 402                     "\"Predictive Failure\" indicates that an element is "
 403                     "functioning nominally but predicting a failure in the near future.\n"
 404                     "\"In Service\" describes an element being configured, "
 405                     "maintained, cleaned, or otherwise administered.\n"
 406                     "\"No Contact\" indicates that the monitoring system has "
 407                     "knowledge of this element, but has never been able to "
 408                     "establish communications with it.\n"
 409                     "\"Lost Communication\" indicates that the ManagedSystem "
 410                     "Element is known to exist and has been contacted "
 411                     "successfully in the past, but is currently unreachable.\n"
 412                     "\"Stopped\" and \"Aborted\" are similar, although the "
 413                     "former implies a clean and orderly stop, while the latter "
 414                     "implies an abrupt stop where the element's state and "
 415                     "configuration may need to be updated.\n"
 416                     "\"Dormant\" indicates that the element is inactive or quiesced.\n"
 417                     "\"Supporting Entity in Error\" describes that this element "
 418                     "may be \"OK\" but that another element, on which it is "
 419                     "dependent, is in error.  An example is a network service or "
 420                     "endpoint that cannot function due to lower layer networking problems.\n"
 421 tony  1.1           "\"Completed\" indicates the element has completed its "
 422                     "operation.  This value should be combined with either OK, "
 423                     "Error, or Degraded so that a client can till if the "
 424                     "complete operation passed (Completed with OK), and failure "
 425                     "(Completed with Error).  Completed with Degraded would "
 426                     "imply the operation finished, but did not complete OK or "
 427                     "report an error.\n"
 428                     "\"Power Mode\" indicates the element has additional power "
 429                     "model information contained in the Associated "
 430                     "PowerManagementService association.\n"
 431                     "OperationalStatus replaces the Status property on "
 432                     "ManagedSystemElement to provide a consistent approach to "
 433                     "enumerations, to address implementation needs for an array "
 434                     "property, and to provide a migration path from today's "
 435                     "environment to the future.  This change was not made "
 436                     "earlier since it required the DEPRECATED qualifier.  Due to "
 437                     "the widespread use of the existing Status property in "
 438                     "management applications, it is strongly recommended that "
 439                     "providers/instrumentation provide BOTH the Status and "
 440                     "OperationalStatus properties.  As always, Status (since it "
 441                     "is single-valued) provides the primary status of the "
 442 tony  1.1           "element."), 
 443                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 444                     "10", "11", "12", "13", "14", "15", "16", "17", "18"}, 
 445                  Values {"Unknown", "Other", "OK", "Degraded", "Stressed",
 446                     "Predictive Failure", "Error", "Non-Recoverable Error",
 447                     "Starting", "Stopping", "Stopped", "In Service",
 448                      "No Contact", "Lost Communication", "Aborted", "Dormant",
 449                     "Supporting Entity in Error", "Completed", "Power Mode"}, 
 450                  ArrayType ("Indexed"), 
 451                  ModelCorrespondence { 
 452                     "CIM_ManagedSystemElement.StatusDescriptions"} ]
 453              uint16 OperationalStatus[];
 454           
 455                 [Description (
 456                     "Strings describing the various OperationalStatus array "
 457                     "values.  For example, if \"Stopping\" is the value assigned "
 458                     "to OperationalStatus, then this property may contain an "
 459                     "explanation as to why an object is being stopped.  Note "
 460                     "that entries in this array are correlated with those at the "
 461                     "same array index in OperationalStatus."), 
 462                  ArrayType ("Indexed"), 
 463 tony  1.1        ModelCorrespondence { 
 464                     "CIM_ManagedSystemElement.OperationalStatus"} ]
 465              string StatusDescriptions[];
 466           
 467                 [Deprecated {"CIM_ManagedSystemElement.OperationalStatus"}, 
 468                  Description (
 469                     "A string indicating the current status of the object.  "
 470                     "Various operational and non-operational statuses are "
 471                     "defined.  This property is deprecated in lieu of "
 472                     "OperationalStatus, which includes the same semantics in its "
 473                     "enumeration.  This change is made for 3 reasons: 1) Status "
 474                     "is more correctly defined as an array.  This overcomes the "
 475                     "limitation of describing status via a single value, when it "
 476                     "is really a multi-valued property (for example, an element "
 477                     "may be OK AND Stopped.  2) A MaxLen of 10 is too "
 478                     "restrictive and leads to unclear enumerated values.  And, "
 479                     "3) The change to a uint16 data type was discussed when CIM "
 480                     "V2.0 was defined.  However, existing V1.0 implementations "
 481                     "used the string property and did not want to modify their "
 482                     "code.  Therefore, Status was grandfathered into the "
 483                     "Schema.  Use of the Deprecated qualifier allows the "
 484 tony  1.1           "maintenance of the existing property, but also permits an "
 485                     "improved definition using OperationalStatus."), 
 486                  ValueMap {"OK", "Error", "Degraded", "Unknown", "Pred Fail",
 487                     "Starting", "Stopping", "Service", "Stressed", "NonRecover",
 488                     "No Contact", "Lost Comm", "Stopped"}, MaxLen (10) ]
 489              string Status;
 490           };
 491           
 492           // ===================================================================
 493           // HostedDependency
 494           // ===================================================================
 495              [Association, Experimental, Version ("2.7.1000"), Description (
 496                  "HostedDependency defines a ManagedElement in the context of "
 497                  "another ManagedElement in which it resides.") ]
 498           class CIM_HostedDependency : CIM_Dependency {
 499           
 500                 [Override ("Antecedent"), Max (1), Description (
 501                     "The scoping ManagedElement.") ]
 502              CIM_ManagedElement REF Antecedent;
 503           
 504                 [Override ("Dependent"), Description (
 505 tony  1.1           "The hosted ManagedElement.") ]
 506              CIM_ManagedElement REF Dependent;
 507           };
 508           
 509           // ==================================================================
 510           // LogicalElement
 511           // ==================================================================
 512              [Abstract, Version ("2.6.0"), Description (
 513                  "CIM_LogicalElement is a base class for all the components of a "
 514                  "System that represent abstract system components, such as "
 515                  "Files, Processes, or LogicalDevices.") ]
 516           class CIM_LogicalElement : CIM_ManagedSystemElement {
 517           };
 518           
 519           
 520           // ===================================================================
 521           // Job
 522           // ===================================================================
 523              [Abstract, Version ("2.7.1000"), Description (
 524                  "A Job is a LogicalElement representing an executing unit of "
 525                  "work, such as a script or a print job.  A Job is distinct from "
 526 tony  1.1        "a Process in that a Job can be scheduled, queued, and its "
 527                  "execution is not limited to a single system.") ]
 528           class CIM_Job : CIM_LogicalElement {
 529           
 530                 [Description (
 531                     "A free form string representing the Job's status.  The "
 532                     "primary status is reflected in the inherited "
 533                     "OperationalStatus property.  JobStatus provides additional, "
 534                     "implementation-specific details."), 
 535                  ModelCorrespondence { "ManagedSystemElement.OperationalStatus"} ]
 536              string JobStatus;
 537           
 538                 [Description (
 539                     "The time that the Job was submitted to execute.  A value of "
 540                     "all zeroes indicates that the owning element is not capable "
 541                     "of reporting a date and time.  Therefore, the "
 542                     "ScheduledStartTime and StartTime are reported as intervals "
 543                     "relative to the time their values are requested.") ]
 544              datetime TimeSubmitted;
 545           
 546                 [Deprecated {"CIM_Job.RunMonth", "CIM_Job.RunDay",
 547 tony  1.1           "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval"}, Write, 
 548                  Description (
 549                     "The time that the current Job is scheduled to start.  This "
 550                     "may be represented by the actual date and time, or an "
 551                     "interval relative to the time that this property is "
 552                     "requested.  A value of all zeroes indicates that the Job is "
 553                     "already executing.  The property is deprecated in lieu of "
 554                     "the more expressive scheduling properties, RunMonth, "
 555                     "RunDay, RunDayOfWeek and RunStartInterval.") ]
 556              datetime ScheduledStartTime;
 557           
 558                 [Description (
 559                     "The time that the Job was actually started.  This may be "
 560                     "represented by an actual date and time, or by an interval "
 561                     "relative to the time that this property is requested.  Note "
 562                     "that this property is also present in the "
 563                     "JobProcessingStatistics class.  This is necessary to "
 564                     "capture the processing information for recurring Jobs, "
 565                     "since only the 'last' run time can be stored in this "
 566                     "single-valued property.") ]
 567              datetime StartTime;
 568 tony  1.1 
 569                 [Description (
 570                     "The time interval that the Job has been executing or the "
 571                     "total execution time if the Job is complete.  Note that "
 572                     "this property is also present in the "
 573                     "JobProcessingStatistics class.  This is necessary to "
 574                     "capture the processing information for recurring Jobs, "
 575                     "since only the 'last' run time can be stored in this "
 576                     "single-valued property.") ]
 577              datetime ElapsedTime;
 578           
 579                 [Experimental, Write, Description (
 580                     "Number of times that the Job should be run.  A value of 1 "
 581                     "indicates that the Job is NOT recurring, while any non-zero "
 582                     "value indicates a limit to the number of times that the Job "
 583                     "will recur.  Zero indicates that there is no limit to the "
 584                     "number of times that the Job can be processed, but that it "
 585                     "is terminated either AFTER the UntilTime, or by manual "
 586                     "intervention.  By default, a Job is processed once.") ]
 587              uint32 JobRunTimes = 1;
 588           
 589 tony  1.1       [Experimental, Write, Description (
 590                     "The month during which the Job should be processed.  "
 591                     "Specify 0 for January, 1 for February, and so on."), 
 592                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 593                     "10", "11"}, 
 594                  Values {"January", "February", "March", "April", "May", "June",
 595                     "July", "August", "September", "October", "November",
 596                     "December"}, 
 597                  ModelCorrespondence {"CIM_Job.RunDay", "CIM_Job.RunDayOfWeek",
 598                     "CIM_Job.RunStartInterval"} ]
 599              uint8 RunMonth;
 600           
 601                 [Experimental, Write, Description (
 602                     "The day in the month on which the Job should be processed.  "
 603                     "There are two different interpretations for this property, "
 604                     "depending on the value of DayOfWeek.  In one case, RunDay "
 605                     "defines the day-in-month on which the Job is processed.  "
 606                     "This interpretation is used when the DayOfWeek is 0.  A "
 607                     "positive or negative integer indicates whether the RunDay "
 608                     "should be calculated from the beginning or the end of the "
 609                     "month.  For example, 5 indicates the fifth day in RunMonth "
 610 tony  1.1           "and -1 indicates the last day in the RunMonth.\n"
 611                     "\n"
 612                     "When RunDayOfWeek is not 0, RunDay is the day-in-month on "
 613                     "which the Job is processed, defined in conjunction with "
 614                     "RunDayOfWeek.  For example, if RunDay is 15 and "
 615                     "RunDayOfWeek is Saturday, then the Job is processed on the "
 616                     "first Saturday on or AFTER the 15th day in the RunMonth "
 617                     "(e.g., the third Saturday in the month).  If RunDay is 20 "
 618                     "and RunDayOfWeek is -Saturday, then this indicates the "
 619                     "first Saturday on or BEFORE the 20th day in the RunMonth.  "
 620                     "If RunDay is -1 and RunDayOfWeek is -Sunday, then this "
 621                     "indicates the last Sunday in the RunMonth."), 
 622                  MinValue (-31), MaxValue (31), 
 623                  ModelCorrespondence {"CIM_Job.RunMonth", "CIM_Job.RunDayOfWeek",
 624                     "CIM_Job.RunStartInterval" } ]
 625              sint8 RunDay;
 626           
 627                 [Experimental, Write, Description (
 628                     "Positive or negative integer used in conjunction with "
 629                     "RunDay to indicate the day of the week on which the Job is "
 630                     "processed.  RunDayOfWeek is set to 0 to indicate an exact "
 631 tony  1.1           "day of the month, such as March 1.  A positive integer "
 632                     "(representing Sunday, Monday, ..., Saturday) means that the "
 633                     "day of week is found on or AFTER the specified RunDay.  A "
 634                     "negative integer (representing -Sunday, -Monday, ..., "
 635                     "-Saturday) means that the day of week is found on or BEFORE "
 636                     "the RunDay."), 
 637                  ValueMap {"-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1",
 638                     "2", "3", "4", "5", "6", "7" }, 
 639                  Values {"-Saturday", "-Friday", "-Thursday", "-Wednesday",
 640                     "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
 641                     "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
 642                     "Friday", "Saturday" }, 
 643                  ModelCorrespondence {"CIM_Job.RunMonth", "CIM_Job.RunDay",
 644                     "CIM_Job.RunStartInterval"} ]
 645              sint8 RunDayOfWeek;
 646           
 647                 [Experimental, Write, Description (
 648                     "The time interval after midnight when the Job should be "
 649                     "processed.  For example,\n"
 650                     " 00000000020000.000000:000\n"
 651                     "indicates that the Job should be run on or after two "
 652 tony  1.1           "o'clock, local time or UTC time (distinguished using the "
 653                     "LocalOrUtcTime property."), 
 654                  ModelCorrespondence {"CIM_Job.RunMonth", "CIM_Job.RunDay",
 655                     "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval"} ]
 656              datetime RunStartInterval;
 657           
 658                 [Experimental, Write, Description (
 659                     "This property indicates whether the times represented in "
 660                     "the RunStartInterval and UntilTime properties represent "
 661                     "local times or UTC times.  Time values are synchronized "
 662                     "worldwide by using the enumeration value 2, \"UTC Time\"."), 
 663                  ValueMap {"1", "2"}, 
 664                  Values {"Local Time", "UTC Time"} ]
 665              uint16 LocalOrUtcTime;
 666           
 667                 [Write, Description (
 668                     "The time after which the Job is invalid or should be "
 669                     "stopped.  This may be represented by an actual date and "
 670                     "time, or by an interval relative to the time that this "
 671                     "property is requested.  A value of all nines indicates that "
 672                     "the Job can run indefinitely."), 
 673 tony  1.1        ModelCorrespondence {"CIM_Job.LocalOrUtcTime"} ]
 674              datetime UntilTime;
 675           
 676                 [Write, Description (
 677                     "User to be notified upon the Job completion or failure.") ]
 678              string Notify;
 679           
 680                 [Description (
 681                     "The User that submitted the Job or the Service/method "
 682                     "name/etc.  that caused the job to be created."), 
 683                  ModelCorrespondence {"CIM_OwningJobElement"} ]
 684              string Owner;
 685           
 686                 [Write, Description (
 687                     "Indicates the urgency or importance of execution of the "
 688                     "Job.  The lower the number, the higher the priority.  Note "
 689                     "that this property is also present in the "
 690                     "JobProcessingStatistics class.  This is necessary to "
 691                     "capture the setting information that would influence a "
 692                     "Job's results.") ]
 693              uint32 Priority;
 694 tony  1.1 
 695                 [Description (
 696                     "The percentage of the job that has completed at the time "
 697                     "that this value is requested.  Note that this property is "
 698                     "also present in the JobProcessingStatistics class.  This is "
 699                     "necessary to capture the processing information for "
 700                     "recurring Jobs, since only the 'last' run data can be "
 701                     "stored in this single-valued property."), 
 702                  Units ("Percent"), MinValue (0), MaxValue (101) ]
 703              uint16 PercentComplete;
 704           
 705                 [Write, Description (
 706                     "Indicates whether or not the job should be automatically "
 707                     "deleted upon completion.  Note that the 'completion' of a "
 708                     "recurring job is defined by its JobRunTimes or UntilTime "
 709                     "properties, OR when the Job is terminated by manual "
 710                     "intervention.  If this property is set to false and the job "
 711                     "completes, then the extrinsic method DeleteInstance MUST be "
 712                     "used to delete the job versus updating this property.") ]
 713              boolean DeleteOnCompletion;
 714           
 715 tony  1.1       [Description (
 716                     "A vendor specific error code.  This MUST be set to zero if "
 717                     "the Job completed without error.  Note that this property "
 718                     "is also present in the JobProcessingStatistics class.  This "
 719                     "is necessary to capture the processing information for "
 720                     "recurring Jobs, since only the 'last' run error can be "
 721                     "stored in this single-valued property."), 
 722                  ModelCorrespondence {"CIM_Job.ErrorDescription"} ]
 723              uint16 ErrorCode;
 724           
 725                 [Description (
 726                     "A free form string containing the vendor error "
 727                     "description.  Note that this property is also present in "
 728                     "the JobProcessingStatistics class.  This is necessary to "
 729                     "capture the processing information for recurring Jobs, "
 730                     "since only the 'last' run error can be stored in this "
 731                     "single-valued property."), 
 732                  ModelCorrespondence {"CIM_Job.ErrorCode"} ]
 733              string ErrorDescription;
 734           
 735                 [Experimental, Description (
 736 tony  1.1           "Describes the recovery action to be taken for an "
 737                     "unsuccessfully run Job.  The possible values are:\n"
 738                     "0 = \"Unknown\", meaning it is unknown as to what recovery "
 739                     "action to take\n"
 740                     "1 = \"Other\", indicating that the recovery action will be "
 741                     "specified in the property, OtherRecoveryAction\n"
 742                     "2 = \"Do Not Continue\", meaning stop the execution of the "
 743                     "job and appropriately update its status\n"
 744                     "3 = \"Continue With Next Job\", meaning continue with the "
 745                     "next job in the queue\n"
 746                     "4 = \"Re-run Job\", indicating that the job should be re-run\n"
 747                     "5 = \"Run Recovery Job\", meaning run the Job associated "
 748                     "using the RecoveryJob relationship.  Note that the recovery "
 749                     "Job MUST already be on the queue from which it will run."), 
 750                  ValueMap {"0", "1", "2", "3", "4", "5"}, 
 751                  Values {"Unknown", "Other", "Do Not Continue",
 752                      "Continue With Next Job", "Re-run Job", "Run Recovery Job"}, 
 753                  ModelCorrespondence {"CIM_Job.OtherRecoveryAction",
 754                     "CIM_RecoveryJob"} ]
 755              uint16 RecoveryAction;
 756           
 757 tony  1.1       [Experimental, Description (
 758                     "A string describing the recovery action when the instance's "
 759                     "RecoveryAction property is 1 (\"Other\")."), 
 760                  ModelCorrespondence {"CIM_Job.RecoveryAction"} ]
 761              string OtherRecoveryAction;
 762           
 763                 [Description (
 764                     "A method to kill this job and any underlying processes, and "
 765                     "to remove any 'dangling' associations."), 
 766                  ValueMap {"0", "1", "2", "3", "4", "6", "7", "..",
 767                     "32768..65535"}, 
 768                  Values {"Success", "Not Supported", "Unknown", "Timeout",
 769                     "Failed", "Access Denied", "Not Found", "DMTF Reserved",
 770                     "Vendor Specific"} ]
 771              uint32 KillJob(
 772                  [IN, Description ("Indicates whether or not the Job "
 773                  "should be automatically deleted upon termination. "
 774                  "This parameter takes precedence over the property, "
 775                  "DeleteOnCompletion.") ]
 776                  boolean DeleteOnKill);
 777           };
 778 tony  1.1 
 779           
 780           // ===================================================================
 781           // ConcreteJob
 782           // ===================================================================
 783              [Version ("2.7.0"), Description (
 784                  "A concrete version of Job.  This class represents a generic "
 785                  "and instantiable unit of work, such as a batch or a print "
 786                  "job.") ]
 787           class CIM_ConcreteJob : CIM_Job {
 788           
 789                 [Key, Description (
 790                     "Within the scope of the instantiating Namespace, InstanceID "
 791                     "opaquely and uniquely identifies an instance of this "
 792                     "class.  In order to ensure uniqueness within the NameSpace, "
 793                     "the value of InstanceID SHOULD be constructed using the "
 794                     "following 'preferred' algorithm:\n"
 795                     " <OrgID>:<LocalID>\n"
 796                     "Where <OrgID> and <LocalID> are separated by a colon ':', "
 797                     "and where <OrgID> MUST include a copyrighted, trademarked "
 798                     "or otherwise unique name that is owned by the business "
 799 tony  1.1           "entity creating/defining the InstanceID, or is a registered "
 800                     "ID that is assigned to the business entity by a recognized "
 801                     "global authority (This is similar to the <Schema "
 802                     "Name>_<Class Name> structure of Schema class names.) In "
 803                     "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
 804                     "colon (':').  When using this algorithm, the first colon to "
 805                     "appear in InstanceID MUST appear between <OrgID> and <LocalID>.\n"
 806                     "<LocalID> is chosen by the business entity and SHOULD not "
 807                     "be re-used to identify different underlying (real-world) "
 808                     "elements.  If the above 'preferred' algorithm is not used, "
 809                     "the defining entity MUST assure that the resultant "
 810                     "InstanceID is not re-used across any InstanceIDs produced "
 811                     "by this or other providers for this instance's NameSpace.\n"
 812                     "For DMTF defined instances, the 'preferred' algorithm MUST "
 813                     "be used with the <OrgID> set to 'CIM'.") ]
 814              string InstanceID;
 815           
 816                 [Required, Override ("Name"), Description (
 817                     "The user friendly name for this instance of Job.  In "
 818                     "addition, the user friendly name can be used as a property "
 819                     "for a search or query.  (Note: Name does not have to be "
 820 tony  1.1           "unique within a namespace.)") ]
 821              string Name;
 822           };
 823           
 824           
 825           // ==================================================================
 826           // EnabledLogicalElement
 827           // ==================================================================
 828              [Abstract, Version ("2.7.1000"), Description (
 829                  "This class extends LogicalElement to abstract the concept of "
 830                  "an element that is enabled and disabled, such as a "
 831                  "LogicalDevice or a ServiceAccessPoint.") ]
 832           class CIM_EnabledLogicalElement : CIM_LogicalElement {
 833           
 834                 [Description (
 835                     "EnabledState is an integer enumeration that indicates the "
 836                     "enabled/disabled states of an element.  It can also "
 837                     "indicate the transitions between these requested states.  "
 838                     "For example, shutting down (value = 4) and starting "
 839                     "(value=10) are transient states between enabled and "
 840                     "disabled.  The following text briefly summarizes the "
 841 tony  1.1           "various enabled/disabled states:\n"
 842                     "Enabled (2) indicates that the element is/could be "
 843                     "executing commands, will process any queued commands, and "
 844                     "queues new requests.\n"
 845                     "Disabled (3) indicates that the element will not execute "
 846                     "commands and will drop any new requests.\n"
 847                     "Shutting Down (4) indicates that the element is in the "
 848                     "process of going to a Disabled state.\n"
 849                     "Not Applicable (5) indicates the element doesn't support "
 850                     "being enabled/disabled.\n"
 851                     "Enabled but Offline (6) indicates that the element may be "
 852                     "completing commands, and will drop any new requests.\n"
 853                     "Test (7) indicates that the element is in a test state.\n"
 854                     "Deferred (8) indicates that the element may be completing "
 855                     "commands, but will queue any new requests.\n"
 856                     "Quiesce (9) indicates that the element is enabled but in a "
 857                     "restricted mode.  The element's behavior is similar to the "
 858                     "Enabled state, but it only processes a restricted set of "
 859                     "commands.  All other requests are queued.\n"
 860                     "Starting (10) indicates that the element is in the process "
 861                     "of going to an Enabled state.  New requests are queued.\n"
 862 tony  1.1           ""), 
 863                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 864                     "10", "11..32767", "32768..65535" }, 
 865                  Values {"Unknown", "Other", "Enabled", "Disabled",
 866                      "Shutting Down", "Not Applicable", "Enabled but Offline",
 867                     "In Test", "Deferred", "Quiesce", "Starting",
 868                      "DMTF Reserved", "Vendor Reserved" }, 
 869                  ModelCorrespondence { 
 870                     "CIM_EnabledLogicalElement.OtherEnabledState"} ]
 871              uint16 EnabledState = 5;
 872           
 873                 [Description (
 874                     "A string describing the element's enabled/disabled state "
 875                     "when the EnabledState property is set to 1 (\"Other\").  "
 876                     "This property MUST be set to NULL when EnabledState is any "
 877                     "value other than 1."), 
 878                  ModelCorrespondence {"CIM_EnabledLogicalElement.EnabledState"} ]
 879              string OtherEnabledState;
 880           
 881                 [Description (
 882                     "RequestedState is an integer enumeration indicating the "
 883 tony  1.1           "last requested or desired state for the element.  The "
 884                     "actual state of the element is represented by "
 885                     "EnabledState.  This property is provided to compare the "
 886                     "last requested and current enabled/disabled states.  Note "
 887                     "that when EnabledState is set to 5 (\"Not Applicable\"), "
 888                     "then this property has no meaning.  By default, the "
 889                     "element's RequestedState is 5 (\"No Change\").  Refer to "
 890                     "the EnabledState's property Description for explanations of "
 891                     "the values in the RequestedState enumeration.\n"
 892                     "\n"
 893                     "It should be noted that there are two new values in "
 894                     "RequestedState that build on the statuses of EnabledState.  "
 895                     "These are \"Reboot\" (10) and \"Reset\" (11).  The former, "
 896                     "Reboot, refers to doing a \"Shut Down\" and then moving to "
 897                     "an \"Enabled\" state.  The latter, Reset, indicates that "
 898                     "the element is first \"Disabled\" and then \"Enabled\".  "
 899                     "The distinction between requesting \"Shut Down\" and "
 900                     "\"Disabled\" should also be noted.  The former, Shut Down, "
 901                     "requests an orderly transition to the Disabled state, and "
 902                     "MAY involve removing power, to completely erase any "
 903                     "existing state.  The latter, the Disabled state, requests "
 904 tony  1.1           "an immediate disabling of the element, such that it will "
 905                     "not execute or accept any commands or processing requests.\n"
 906                     "\n"
 907                     "This property is set as the result of a method invocation "
 908                     "(such as Start or StopService on CIM_Service), or may be "
 909                     "overridden and defined as WRITEable in a subclass.  The "
 910                     "method approach is considered superior to a WRITEable "
 911                     "property, since it allows an explicit invocation of the "
 912                     "operation and the return of a result code."), 
 913                  ValueMap {"2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
 914                     "..", "32768..65535" }, 
 915                  Values {"Enabled", "Disabled", "Shut Down", "No Change",
 916                     "Offline", "Test", "Deferred", "Quiesce", "Reboot", "Reset",
 917                     "DMTF Reserved", "Vendor Reserved"}, 
 918                  ModelCorrespondence {"CIM_EnabledLogicalElement.EnabledState"} ]
 919              uint16 RequestedState = 5;
 920           
 921                 [Write, Description (
 922                     "An enumerated value indicating an administrator's "
 923                     "default/startup configuration for an element's Enabled "
 924                     "State.  By default, the element is \"Enabled\" (value=2)."), 
 925 tony  1.1        ValueMap {"2", "3", "5", "6", "7", "8..32767", "32768..65535"}, 
 926                  Values {"Enabled", "Disabled", "Not Applicable",
 927                      "Enabled but Offline", "No Default", "DMTF Reserved",
 928                     "Vendor Reserved"} ]
 929              uint16 EnabledDefault = 2;
 930           
 931                 [Experimental, Description (
 932                     "The date/time when the element's EnabledState last "
 933                     "changed.  If the state of the element has not changed and "
 934                     "this property is populated, then it MUST be set to a 0 "
 935                     "interval value.  If a state change was requested, but "
 936                     "rejected or not yet processed, the property MUST NOT be "
 937                     "updated.") ]
 938              datetime TimeOfLastStateChange;
 939           
 940                 [Experimental, Description (
 941                     "Requests that the element's state be changed to the value "
 942                     "specified in the RequestedState parameter.  When the "
 943                     "requested state change takes place, the element's "
 944                     "EnabledState and RequestedState will be the same.  Invoking "
 945                     "the RequestStateChange method multiple times could result "
 946 tony  1.1           "in earlier requests being overwritten/lost.\n"
 947                     "If 0 is returned, then the task completed successfully and "
 948                     "the use of ConcreteJob was not required.  If 4096 (0x1000) "
 949                     "is returned, then the task will take some time to complete, "
 950                     "ConcreteJob will be created, and its reference returned in "
 951                     "the output parameter Job.  Any other return code indicates "
 952                     "an error condition."), 
 953                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "..", "4096",
 954                     "4097", "4098", "4099", "4100..32767", "32768..65535"}, 
 955                  Values {"Completed with No Error", "Not Supported",
 956                     "Unknown/Unspecified Error",
 957                      "Can NOT complete within Timeout Period", "Failed",
 958                      "Invalid Parameter", "In Use", "DMTF Reserved",
 959                      "Method Parameters Checked - Job Started",
 960                      "Invalid State Transition",
 961                      "Use of Timeout Parameter Not Supported", "Busy",
 962                      "Method Reserved", "Vendor Specific"}, 
 963                  ModelCorrespondence {"CIM_EnabledLogicalElement.RequestedState"} ]
 964              uint32 RequestStateChange(
 965                  [IN, Description
 966                  ("The state requested for the element. This "
 967 tony  1.1        "information will be placed into the instance's "
 968                  "RequestedState property if the RequestStateChange "
 969                  "method's return code is 0, 3, or 4096 (0x1000) - "
 970                  "'Completed with No Error', 'Timeout', or 'Job "
 971                  "Started' respectively. Refer to the description of "
 972                  "the EnabledState and RequestedState properties "
 973                  "for the detailed meanings of the RequestedState values."),
 974                  ModelCorrespondence
 975                  {"CIM_EnabledLogicalElement.RequestedState"},
 976                  ValueMap {"2", "3", "4", "6", "7", "8", "9", "10", "11",
 977                  "..", "32768..65535" },
 978                  Values {"Enabled", "Disabled",
 979                  "Shut Down", "Offline", "Test", "Defer", "Quiesce",
 980                  "Reboot", "Reset", "DMTF Reserved", "Vendor Reserved"}]
 981                  uint16 RequestedState,
 982                  [OUT, IN(false), Description
 983                  ("Reference to the job (may be null if task "
 984                  "completed).") ]
 985                  CIM_ConcreteJob REF Job,
 986                  [IN, Description
 987                  ("A timeout period that specifies the maximum amount "
 988 tony  1.1        "of time that the client expects the transition to "
 989                  "the new state to take.  The interval format MUST be "
 990                  "used to specify the TimeoutPeriod.  A value of 0 or "
 991                  "a null parameter indicates that the client has no "
 992                  "time requirements for the transition.\n"
 993                  "If this property does not contain 0 or null and the "
 994                  "implementation doesn't support this parameter.  A "
 995                  "return code of 'Use Of Timeout Parameter Not "
 996                  "Supported' MUST be returned.")]
 997                  datetime TimeoutPeriod);
 998           };
 999           
1000           
1001           // ==================================================================
1002           // Synchronized
1003           // ==================================================================
1004              [Association, Version ("2.7.1000"), Description (
1005                  "Indicates that two ManagedElements were aligned or made to be "
1006                  "equivalent at the specified point in time.  If the boolean "
1007                  "property SyncMaintained is TRUE, then synchronization of the "
1008                  "Elements is preserved.  Both like and unlike objects may be "
1009 tony  1.1        "synchronized.  For example, two WatchDog timers may be "
1010                  "aligned, or the contents of a LogicalFile may be synchronized "
1011                  "with the contents of a StorageExtent.") ]
1012           class CIM_Synchronized {
1013           
1014                 [Key, Description (
1015                     "SystemElement represents one ManagedElement that is "
1016                     "synchronized with the entity referenced as SyncedElement.") ]
1017              CIM_ManagedElement REF SystemElement;
1018           
1019                 [Key, Description (
1020                     "SyncedElement represents another ManagedElement that is "
1021                     "synchronized with the entity referenced as SystemElement.") ]
1022              CIM_ManagedElement REF SyncedElement;
1023           
1024                 [Description (
1025                     "The point in time that the Elements were synchronized.") ]
1026              datetime WhenSynced;
1027           
1028                 [Description (
1029                     "Boolean indicating whether synchronization is maintained.") ]
1030 tony  1.1    boolean SyncMaintained;
1031           };
1032           
1033           
1034           // ==================================================================
1035           // System
1036           // ==================================================================
1037              [Abstract, Version ("2.7.0"), Description (
1038                  "CIM_System represents an entity made up of component parts "
1039                  "(defined by the SystemComponent relationship), that operates "
1040                  "as a 'functional whole'.  Systems are top level objects in the "
1041                  "CIM hierarchy, requiring no scoping or weak relationships in "
1042                  "order to exist and have context.  It should be reasonable to "
1043                  "uniquely name and manage a System at an enterprise level.  For "
1044                  "example, a ComputerSystem is a kind of System that can be "
1045                  "uniquely named and independently managed in an enterprise.  "
1046                  "However, this is not true for the power supply (or the power "
1047                  "supply sub-'system') within the computer.\n"
1048                  "\n"
1049                  "Although a System may be viewed as a Collection, this is not "
1050                  "the correct model.  A Collection is simply a 'bag' that "
1051 tony  1.1        "'holds' its members.  A System is a higher level abstraction, "
1052                  "built out of its individual components.  It is more than a sum "
1053                  "of its parts.  Note that System is a subclass of "
1054                  "EnabledLogicalElement which allows the entire abstraction to "
1055                  "be functionally enabled/disabled - at a higher level than "
1056                  "enabling/disabling its component parts.") ]
1057           class CIM_System : CIM_EnabledLogicalElement {
1058           
1059                 [Key, Description (
1060                     "CreationClassName indicates the name of the class or the "
1061                     "subclass used in the creation of an instance.  When used "
1062                     "with the other key properties of this class, this property "
1063                     "allows all instances of this class and its subclasses to be "
1064                     "uniquely identified."), 
1065                  MaxLen (256) ]
1066              string CreationClassName;
1067           
1068                 [Key, Override ("Name"), Description (
1069                     "The inherited Name serves as key of a System instance in an "
1070                     "enterprise environment."), 
1071                  MaxLen (256) ]
1072 tony  1.1    string Name;
1073           
1074                 [Description (
1075                     "The System object and its derivatives are Top Level Objects "
1076                     "of CIM.  They provide the scope for numerous components.  "
1077                     "Having unique System keys is required.  A heuristic can be "
1078                     "defined in individual System subclasses to attempt to "
1079                     "always generate the same System Name Key.  The NameFormat "
1080                     "property identifies how the System name was generated, "
1081                     "using the subclass' heuristic."), 
1082                  MaxLen (64) ]
1083              string NameFormat;
1084           
1085                 [Write, Description (
1086                     "The name of the primary system owner.  The system owner is "
1087                     "the primary user of the system."), 
1088                  MaxLen (64), 
1089                  MappingStrings { "MIF.DMTF|General Information|001.3"} ]
1090              string PrimaryOwnerName;
1091           
1092                 [Write, Description (
1093 tony  1.1           "A string that provides information on how the primary "
1094                     "system owner can be reached (e.g.  phone number, email "
1095                     "address, ...)."), 
1096                  MaxLen (256), 
1097                  MappingStrings { "MIF.DMTF|General Information|001.4"} ]
1098              string PrimaryOwnerContact;
1099           
1100                 [Write, Description (
1101                     "An array (bag) of strings that specify the administrator "
1102                     "-defined roles this System plays in the managed "
1103                     "environment.  Examples might be 'Building 8 print server' "
1104                     "or 'Boise user directories'.  A single system may perform "
1105                     "multiple roles.\n"
1106                     "Note that instrumentation's view of a System's 'roles' is "
1107                     "defined by instantiating a specific subclass of System and/ "
1108                     "or by properties in a subclass.  For example, a "
1109                     "ComputerSystem's purpose is defined using the Dedicated and "
1110                     "OtherDedicatedDescription properties.") ]
1111              string Roles[];
1112           };
1113           
1114 tony  1.1 
1115           // ==================================================================
1116           // SystemComponent
1117           // ==================================================================
1118              [Association, Aggregation, Version ("2.7.0"), Description (
1119                  "CIM_SystemComponent is a specialization of the CIM_Component "
1120                  "association that establishes 'part of' relationships between a "
1121                  "System and any ManagedSystemElements of which it is composed.\n"
1122                  "The use of this association is cautioned - versus the use of a "
1123                  "subclass such as SystemDevice, or a peer association such as "
1124                  "HostedService.  This class is very broadly defined which can "
1125                  "lead to erroneous use.  For example, Access Points that are "
1126                  "dependent on (and hosted on) a System are NOT Components of "
1127                  "the System.  The System is not made up of any AccessPoint "
1128                  "'parts', which is why a Dependency association, "
1129                  "HostedAccessPoint, was defined.  Similarly, a PhysicalPackage "
1130                  "is not a 'part' of a System, since the physical element exists "
1131                  "independently of any internal components, software, etc.  In "
1132                  "fact, again, a Dependency relationship is true - where a "
1133                  "ComputerSystem is Dependent on its packaging, as described by "
1134                  "the ComputerSystemPackage association.") ]
1135 tony  1.1 class CIM_SystemComponent : CIM_Component {
1136           
1137                 [Aggregate, Override ("GroupComponent"), Description (
1138                     "The parent System in the Association.") ]
1139              CIM_System REF GroupComponent;
1140           
1141                 [Override ("PartComponent"), Description (
1142                     "The child element that is a component of a System.") ]
1143              CIM_ManagedSystemElement REF PartComponent;
1144           };
1145           
1146           
1147           // ==================================================================
1148           // AdminDomain
1149           // ==================================================================
1150           
1151              [Version ("2.7.1000"), Description (
1152                  "This is a special grouping of ManagedSystemElements.  The "
1153                  "grouping is viewed as a single entity, reflecting that all of "
1154                  "its components are administered similarly - either by the same "
1155                  "user, group of users or policy.  It serves as an aggregation "
1156 tony  1.1        "point to associate one or more of the following elements: "
1157                  "network devices, such as routers and switches, servers, and "
1158                  "other resources that can be accessed by end systems.  This "
1159                  "grouping of devices plays an essential role in ensuring that "
1160                  "the same administrative policy and actions are applied to all "
1161                  "of the devices in the grouping.  The specific behavior and/or "
1162                  "semantics of the AdminDomain can be identified through its "
1163                  "aggregated and associated entities.\n"
1164                  "") ]
1165           class CIM_AdminDomain : CIM_System {
1166           
1167                 [Override ("NameFormat"), Description (
1168                     "The NameFormat property identifies how the Name of the "
1169                     "AdminDomain is generated, using the heuristic specified in "
1170                     "the CIM V2 System Model spec.  It assumes that the "
1171                     "documented rules are traversed in order, to determine and "
1172                     "assign a Name.  The NameFormat Values list defines the "
1173                     "precedence order for assigning the Name of the AdminDomain.\n\n"
1174                     "\"FC\" has been deprecated and replaced by \"WWN\" to be "
1175                     "consistent with the other ValueMaps."), 
1176                  ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",
1177 tony  1.1           "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",
1178                     "ATM", "E.164", "IB", "FC", "Policy Repository", "WWN"}, 
1179                  Values {"Other", "Autonomous System", "Network Access Provider",
1180                     "Network Operations Center", "Point of Presence",
1181                      "Regional Network Provider", "IP", "IPX", "SNA", "Dial",
1182                     "WAN", "LAN", "ISDN", "Frame Relay", "ATM", "E.164",
1183                     "Infiniband", "Fibre Channel", "Policy Repository",
1184                      "Fibre Channel Worldwide Name"}, 
1185                  ModelCorrespondence {"CIM_AdminDomain.Name"} ]
1186              string NameFormat;
1187           };
1188           
1189           
1190           // ==================================================================
1191           // ContainedDomain
1192           // ==================================================================
1193              [Association, Aggregation, Version ("2.6.0"), Description (
1194                  "A relationship that aggregates one or more lower-level "
1195                  "AdminDomain instances into a higher-level AdminDomain.") ]
1196           class CIM_ContainedDomain: CIM_SystemComponent {
1197           
1198 tony  1.1       [Aggregate, Override ("GroupComponent"), Description (
1199                     "An AdminDomain that aggregates other AdminDomains.") ]
1200              CIM_AdminDomain REF GroupComponent;
1201           
1202                 [Override ("PartComponent"), Description (
1203                     "An AdminDomain aggregated by another AdminDomain.") ]
1204              CIM_AdminDomain REF PartComponent;
1205           };
1206           
1207           
1208           
1209           
1210           // ===================================================================
1211           // end of file
1212           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2