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

   1 karl  1.1 // ==================================================================
   2           // Title:  		Core MOF Specification 2.5
   3           // Filename:    CIM_Core25.MOF
   4           // Version:     2.5
   5           // Date:        12/19/2000
   6           // Release:     0
   7           // Description: The object classes below are listed in an order that
   8           //              avoids forward references. Required objects, defined 
   9           //				by other working groups, are omitted.
  10           // ===================================================================
  11           // Author:      DMTF System and Devices Working Group
  12           // Editor:      Michael A. Thatcher
  13           // Date:		04/14/1998 - Version 2.0 
  14           // ===================================================================
  15           //	    06/16/1998 - V2.0 Errata
  16           //		- CR224, CIM_ missed in 3 class names
  17           //                CIM_ProductPhysicalElements, CIM_FRUPhysicalElements
  18           //                and CIM_FRUIncludesProduct
  19           //		- CR231, Format for specifying Propagated keys uses
  20           //                period, not colon
  21           //	    09/29/1998 - Version 2.1 
  22 karl  1.1 //		- CR238, Add CompatibleProduct association
  23           //		- CR239, Add ProductProductDependency association
  24           //		- CR240, Add statistics-related objects
  25           //			CIM_StatisticalInformation, CIM_Statistics and
  26           //			CIM_RelatedStatistics
  27           //		- CR241, Remove "general" from the description of the
  28           //			compute capabilities of ComputerSystem
  29           //		- CR242a, Add to the enumeration for MSE.Status
  30           //		- CR249, Add LastErrorCode, ErrorDescription and
  31           //			ErrorCleared properties to LogicalDevice
  32           //		- CR250, Add CreationClassName (key) to PhysicalElement
  33           //		- CR252, Add OtherIdentifyingInfo and PoweredOn properties
  34           //			to PhysicalElement
  35           //		- CR270, Correct the descriptions for Product and FRU
  36           //		- CR272, Remove repetition of the Values array from the
  37           //			descriptions of several properties
  38           //		- CR276b, Add to the enumeration for LogicalDevice.
  39           //			Availability 
  40           //		- CR282, Add PartNumber property to PhysicalElement
  41           //	    06/08/1999 - Version 2.2
  42           //		- CR291a, Write qualifier "False" by default
  43 karl  1.1 //		- CR295a, Clarify Descriptions for CIM_Product and its
  44           //			property, IdentifyingNumber 
  45           //		- CR300a, Enhance Description for CIM_SettingContext
  46           //		- CR304, Create the NullValue qualifier
  47           //		- CR305, Add DisableOverride flavor to In, Out, Override
  48           //		- CR306, Add DisableOverride flavor to Aggregation 
  49           //			(Already present in V2.1, Spec change only)
  50           //		- CR307b, Allow ArrayType, MaxLen, Units, ValueMap, Values,
  51           //			Syntax and SyntaxType qualifiers to pertain to methods
  52           //			and method parameters 
  53           //		- CR308a, Add LogicalIdentity association
  54           //		- CR309, Remove Min(1) from ManagedSystemElement 
  55           //                 reference of ElementSetting
  56           //		- CR315, Create ProvidesServiceToElement association
  57           //		- CR317, Create DefaultSetting association
  58           //		- CR320, Add UnknownValues and UnsupportedValues qualifiers
  59           //		- CR321, Create ConfigurationComponent association
  60           //		- CR322b and 323a, Add 4 methods to 'apply' CIM_Settings
  61           //		- CR324a, Add CollectionOfMSE object and its associations
  62           //		- CR352b, New statuses in ManagedSystemElement.Status
  63           //                 (NonRecover and Stressed added)
  64 karl  1.1 //		- CR353b, Add EnableDevice method to LogicalDevice
  65           //		- CR355a, Use Values-ValueMap qualifiers for the PowerState  
  66           //			 parameter of LogicaDevice.SetPowerState / Update
  67           //			 the method descriptions indicating that Values-
  68           //			 ValueMap qualifiers can be defined for return codes
  69           //          - CR356a, Put keys on the references of Dependency,
  70           //			 Component, and all of the non-subclassed Setting, 
  71           //                 Configuration, Product and Collection associations 
  72           //		- CR359, Clarify PhysicalElement.Manufacturer and 
  73           //			 Product.Vendor
  74           //		- CR361a, Add Terminal and DisplayName qualifiers
  75           //		- CR362a, Add 3 properties to ComputerSystem (Dedicated,
  76           //			 OtherIdentifyingInfo and IdentifyingDescriptions) /
  77           //			 Update the Description for System.Roles
  78           // 		- CR376, Add OtherIdentifyingInfo and 
  79           //		       IdentifyingDescriptions properties to LogicalDevice
  80           //		- CR387, Add PowerOnHours and TotalPowerOnHours properties
  81           //			 to LogicalDevice / Update the Availability enum
  82           //		- CR389, Add MinValue and MaxValue qualifiers
  83           //		- CR390a, Create subclasses of StatisticalInformation
  84           //			 to formalize naming
  85 karl  1.1 //		- CR391b, 400a and 401b, Add Counter, Gauge, BitMap, 
  86           //                 BitValue and Static qualifiers / Update MinValue 
  87           //                 and MaxValue to apply to methods and parameters
  88           //		- CR396d, Add NonlocalType and SourceType qualifiers
  89           //		- CR404a, Add ServiceComponent association
  90           //		- CR405, Add Counter qualifier to PowerOnHours and
  91           //                 and TotalPowerOnHours properties of LogicalDevice
  92           //		- CR411, Add Provider qualifier
  93           //		- CR413, Fix propagation of keys from 390a
  94           //        07/06/1999 - Version 2.2.1
  95           //		- CR423, Locale should be specified as en_US
  96           //		- CR425, Update the DMI MappingStrings using the June
  97           //			release of the master.mif
  98           //	Date  02/18/2000 - Version 2.3
  99           //		- CR433, New properties and enums from Master.MIF 
 100           //				and new ModelCorrespondences
 101           //		- CR444, Add the RestartService property to the 
 102           //				CIM_ServiceServiceDependency association in the 
 103           //				core mof to support diagnostics. 
 104           //		- CR445e Modify the LogicalDevice for Fault Tolerance: 
 105           //				Update the Availability property, add an AdditionalAvailability 
 106 karl  1.1 //				property, change the description for the StatusInfo property
 107           //				add new methods, and add a MaxQuiesceTime property
 108           //		- CR446c add Octetstring Qualifier 
 109           //		- CR448b Add ManagedElement, Collection  and MemberOfCollection Classes, 
 110           //				update ManagedSystemElement and Dependency classes accordingly
 111           //		- CR456 Add "Management" to the end of the Values array for 
 112           //				CIM_ComputerSystem.Dedicated
 113           //		- CR458c Add a new association, CIM_Synchronized  
 114           //		- CR461 Subclass from CIM_ManagedElement, CIM_Collection and 
 115           //			CIM_MemberOfCollection.  
 116           //			Remove Description & Caption from the above classes, where exist.
 117           //		- CR462 Update the Description for ManagedElement, Add qualifier in 
 118           //			MemberOfCollection
 119           //	Date 06/04/2000 - Version 2.3.2
 120           //		- Errata, Changes in CR448b not complete / Missing delete of
 121           //			Caption and Description properties where inherited from
 122           //			CIM_ManagedElement for CIM_CollectionOfMSEs
 123           //	Date 06/09/2000 - Version 2.4
 124           //		- CR481 Change the CIM_Statistics association to reference ManagedElement,
 125           //			 not just ManagedSystemElement.
 126           //		- CR491a Add to new values to the enumeration for 
 127 karl  1.1 //			ManagedSystemElement.Status and update the property's Description.
 128           //	Date 07/14/2000 Version 2.4
 129           //		- CR505 
 130           //			1. Clarify the subclassing of ServiceServiceDependency
 131           //			2. ProvidesServiceToElement needs to come before ServiceServiceDependency in MOF
 132           //			3. Update the Description for CollectionOfMSEs to include 'bags'
 133           //		- CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in CIM_LogicalDevice.Availability 
 134           //	Date 12/01/2000 Version 2.5
 135           //		- CR514j Add Deprecated qualifier
 136           //		- CR529 CIM_LogicalDisk.StatusInfo property description refers to it as 
 137           //			a string even though the property is a uint16
 138           //		- CR532 Update description on PhysicalElement.OtherIdentifyingInfo to remove word "asset"
 139           //		- CR534 Update MappingStrings Qualifiers to stay in sync with updates to the MASTER.MIF.
 140           //		- CR536a Add EXPERIMENTAL Qualifier
 141           //		- CR537a Add Stopped as a valid state in the enumeration for ManagedSystemElement.Status.
 142           //		- CR544a Add DN qualifier 
 143           //		- CR447e Add PropertyUsage qualifier
 144           //		- CR548a Add a methods to CIM_Setting to allow a subset of the properties in the 
 145           //			CIM_Setting instance to be verified and/or applied
 146           //		- CR557 Change the reference for ProvidesServiceToElement.Dependent to ME (was MSE) 
 147           //		- CR564 Move AdminDomain to the Core Model, change to concrete, 
 148 karl  1.1 //			and update description 
 149           //		- CR568a Corrections to CIM_CollectionOfMSEs Description 
 150           //		- CR569 Add EmbeddedObject qualifier 
 151           //		- CR581 Revise the description of CIM_AdminDomain.NameFormat to alter reference to Network model 
 152           //		- CR585	Company review Changes from Compaq
 153           //			1) Remove word "schema" from qualifier scope declarations per CIM_Spec_Errat221
 154           //			
 155           // ==================================================================
 156           
 157           // ==================================================================
 158           // Pragmas
 159           // ==================================================================
 160           #pragma locale ("en_US")
 161           
 162           // ==================================================================
 163           // Qualifiers
 164           // ==================================================================
 165           Qualifier Abstract : boolean = false, Scope(class, association, 
 166           	indication), Flavor(DisableOverride, Restricted);
 167           Qualifier Aggregate: boolean = false, Scope (reference),
 168           	Flavor(DisableOverride);
 169 karl  1.1 Qualifier Aggregation : boolean = false, Scope(association),
 170           	Flavor(DisableOverride);
 171           Qualifier Alias : string = null, Scope(property, reference, 
 172           	method), Flavor(Translatable);
 173           Qualifier ArrayType : string = "Bag", Scope(property, parameter);
 174           Qualifier Association : boolean = false, Scope(class, association), 
 175                 Flavor(DisableOverride);
 176           Qualifier BitMap : string[], Scope(property, method, parameter);
 177           Qualifier BitValues : string[], Scope(property, method,
 178           	parameter), Flavor(Translatable);
 179           Qualifier Counter : boolean = false, Scope(property, method, 
 180           	parameter);
 181           Qualifier Delete : boolean = false, Scope(association, reference);
 182           Qualifier Deprecated : string [], Scope(class, association, property, method);
 183           Qualifier Description : string = null, Scope(any), 
 184           	Flavor(Translatable);
 185           Qualifier DisplayName : string = null, Scope(any),
 186           	Flavor(Translatable);
 187           Qualifier DN : boolean=false, 
 188           	Scope(property, parameter), Flavor(DisableOverride); 
 189           Qualifier EmbeddedObject : boolean = false, Scope(property);
 190 karl  1.1 Qualifier Expensive : boolean = false, 
 191           	Scope(property, reference, method, class, association);
 192           Qualifier Experimental : boolean = false, 
 193           	Scope(any), Flavor (DisableOverride); 
 194           Qualifier Gauge : boolean = false, Scope(property, method, 
 195           	parameter);
 196           Qualifier Ifdeleted : boolean = false, Scope(association, 
 197           	reference);
 198           Qualifier In : boolean = true, Scope(parameter),
 199           	Flavor(DisableOverride);
 200           Qualifier Indication : boolean = false, Scope(class, indication), 
 201           	Flavor(DisableOverride);
 202           Qualifier Invisible : boolean = false,
 203           	Scope(reference, association, class, property, method);
 204           Qualifier Key : boolean = false, Scope(property, reference), 
 205           	Flavor(DisableOverride);
 206           Qualifier Large : boolean = false, Scope(property, class);
 207           Qualifier MappingStrings : string[],
 208           	Scope(class, property, association, indication, reference);
 209           Qualifier Max : uint32 = null, Scope(reference);
 210           Qualifier MaxLen : uint32 = null, Scope(property, method, 
 211 karl  1.1 	parameter);
 212           Qualifier MaxValue : sint64 = null, Scope(property, method,
 213           	parameter);
 214           Qualifier Min : uint32 = 0, Scope(reference);
 215           Qualifier MinValue : sint64 = null, Scope(property, method,
 216           	parameter);
 217           Qualifier ModelCorrespondence : string[], Scope(property);
 218           Qualifier Nonlocal : string = null, Scope(reference);
 219           Qualifier NonlocalType : string = null, Scope(reference);
 220           Qualifier NullValue : string = null, Scope (property),
 221                 Flavor(DisableOverride);
 222           Qualifier Octetstring : boolean = false, Scope(property, parameter);
 223           Qualifier Out : boolean = false, Scope(parameter),
 224           	Flavor(DisableOverride);
 225           Qualifier Override : string = null, Scope(property, method, 
 226           	reference), Flavor(DisableOverride);
 227           Qualifier Propagated : string = null, Scope(property),
 228           	Flavor(DisableOverride);
 229           Qualifier PropertyUsage : string = "CurrentContext", Scope(property) ; 
 230           Qualifier Provider : string = null, Scope(any);
 231           Qualifier Read : boolean = true, Scope(property);
 232 karl  1.1 Qualifier Required : boolean = false, Scope(property);
 233           Qualifier Revision : string = ".5", Scope(class, 
 234           	association, indication ), Flavor(Translatable);
 235           Qualifier Schema : string = null, Scope (property, method), 
 236           	Flavor(DisableOverride, Translatable);
 237           Qualifier Source : string = null, Scope(class, association, 
 238           	indication);
 239           Qualifier SourceType : string = null, Scope(class, association, 
 240                 indication, reference);
 241           Qualifier Static : boolean = false, Scope(method, property),
 242           	Flavor(DisableOverride);
 243           Qualifier Syntax : string = null, Scope(property, reference,
 244           	method, parameter);
 245           Qualifier SyntaxType : string = null, Scope(property, reference,
 246           	method, parameter);
 247           Qualifier Terminal : boolean = FALSE, Scope(class);
 248           Qualifier TriggerType : string = null,
 249           	Scope(class, property, reference, method, association, 
 250           	indication);
 251           Qualifier Units : string = null, Scope(property, method,  
 252           	parameter), Flavor(Translatable);
 253 karl  1.1 Qualifier UnknownValues : string[], Scope(property),
 254           	Flavor(DisableOverride);
 255           Qualifier UnsupportedValues : string[], Scope(property),
 256           	Flavor(DisableOverride);
 257           Qualifier ValueMap : string[], Scope(property, method, parameter);
 258           Qualifier Values : string[], Scope(property, method, parameter), 
 259           	Flavor(Translatable);
 260           Qualifier Version : string = "V2.5", Scope(class, 
 261           	association, indication), Flavor(Translatable);
 262           Qualifier Weak : boolean = false, Scope(reference), 
 263                 Flavor(DisableOverride, ToSubclass);
 264           Qualifier Write : boolean = false, Scope(property);
 265           
 266           
 267           // ==================================================================
 268           // ManagedElement
 269           // ================================================================== 
 270              [Abstract, Description (
 271              "ManagedElement is an abstract class that provides a common "  
 272           	"superclass (or top of the inheritance tree) for the "
 273           	"non-association classes in the CIM Schema.")]
 274 karl  1.1    class CIM_ManagedElement   
 275              {  
 276                [MaxLen (64), Description (  
 277                 "The Caption property is a short textual description (one-"    
 278                 "line string) of the object.") ]   
 279                string Caption;  
 280                [Description (  
 281                 "The Description property provides a textual description of "
 282                 "the object.") ]   
 283                string Description;    
 284              };
 285                
 286           // ================================================================== 
 287           //    ManagedSystemElement
 288           // ==================================================================
 289                   [Abstract, Description (
 290                    "CIM_ManagedSystemElement is the base class for the System "
 291                    "Element hierarchy. Membership Criteria: Any distinguishable "
 292                    "component of a System is a candidate for inclusion in this "
 293                    "class. Examples: software components, such as files; and "
 294                    "devices, such as disk drives and controllers, and physical "
 295 karl  1.1   	   "components such as chips and cards.") ] 
 296           class CIM_ManagedSystemElement : CIM_ManagedElement
 297           {
 298                   [Description (
 299                    "A datetime value indicating when the object was installed. "
 300                    "A lack of a value does not indicate that the object is not "
 301                    "installed."), 
 302                    MappingStrings {"MIF.DMTF|ComponentID|001.5"} ] 
 303               datetime InstallDate;
 304                   [MaxLen (256), Description (
 305                    "The Name property defines the label by which the object is "
 306           	   "known. When subclassed, the Name property can be overridden "
 307                    "to be a Key property.") ] 
 308               string Name;
 309                    [MaxLen (10), Description ( 
 310                    "  A string indicating the current status of the object. " 
 311                    "Various operational and non-operational statuses are " 
 312                    "defined. Operational statuses are \"OK\", \"Degraded\", " 
 313                    "\"Stressed\" and \"Pred Fail\". \"Stressed\" indicates that " 
 314                    "the Element is functioning, but needs attention. Examples " 
 315                    "of \"Stressed\" states are overload, overheated, etc. The " 
 316 karl  1.1          "condition \"Pred Fail\" (failure predicted) indicates that " 
 317                    "an Element is functioning properly but predicting a failure " 
 318                    "in the near future. An example is a SMART-enabled hard " 
 319                    "drive. \n" 
 320                    "  Non-operational statuses can also be specified. These " 
 321                    "are \"Error\", \"NonRecover\", \"Starting\", \"Stopping\", " 
 322                    " \"Stopped\", " 
 323                    "\"Service\", \"No Contact\" and \"Lost Comm\". \"NonRecover\" " 
 324                    "indicates that a non-recoverable error has occurred. " 
 325                    "\"Service\" describes an Element being configured, maintained, " 
 326                    "cleaned, or otherwise administered. This status could apply " 
 327                    "during mirror-resilvering of a disk, reload of a user " 
 328                    "permissions list, or other administrative task. Not all such " 
 329                    "work is on-line, yet the Element is neither \"OK\" nor in " 
 330                    "one of the other states. \"No Contact\" indicates that the " 
 331                    "current instance of the monitoring system has knowledge of " 
 332                    "this Element but has never been able to establish " 
 333                    "communications with it. \"Lost Comm\" indicates that " 
 334                    "the ManagedSystemElement is known to exist and has been " 
 335                    "contacted successfully in the past, but is currently unreachable." 
 336                    "\"Stopped\" indicates that the ManagedSystemElement is known " 
 337 karl  1.1          "to exist, it is not operational (i.e. it is unable to " 
 338                    "provide service to users), but it has not failed. It has purposely " 
 339                    "been made non-operational. The Element " 
 340                    "may have never been \"OK\", the Element may have initiated its " 
 341                    "own stop, or a management system may have initiated the stop."), 
 342                    ValueMap {"OK", "Error", "Degraded", "Unknown", "Pred Fail", 
 343                        "Starting", "Stopping", "Service", "Stressed", 
 344                        "NonRecover", "No Contact", "Lost Comm", "Stopped"} ] 
 345               string Status; 
 346           };
 347           
 348           // ==================================================================
 349           // Collection 
 350           // ================================================================== 
 351             [Abstract, Description (   
 352              "Collection is an abstract class that provides a common"   
 353              "superclass for data elements that represent collections of "
 354              "ManagedElements and its subclasses.")]
 355             class CIM_Collection : CIM_ManagedElement    
 356             {   
 357             };
 358 karl  1.1 
 359           // ===================================================================
 360           //    CollectionOfMSEs
 361           // ===================================================================
 362                   [Abstract, Description (
 363                    "    TheCollectionOfMSEs object allows the grouping of Managed"
 364                    "SystemElements for various identification purposesand to "
 365                    "reduce the complexity of associating Settings and"
 366                    "Configurations. It is abstract to require furtherdefinition "
 367                    "and semantic refinement in subclasses. TheCollectionOfMSEs "
 368                    "object does not carry any state or statusinformation, but "
 369                    "only represents a grouping or 'bag' of Elements. Forthis "
 370                    "reason, it is incorrect to subclass groups that havestate/"
 371                    "status from CollectionOfMSEs - an example isCIM_Redundancy"
 372                    "Group (which is correctly subclassed fromLogicalElement).\n"
 373                    "   Collections typically aggregate 'like'objects, but are " 
 374                    "not required to do so.  They simply identify 'bags' and "
 375                    "may represent an optimization. This is especiallytrue "
 376                    "with respect to their association to Settings and"
 377                    "Configurations. Without Collections, one is forcedto "
 378                    "define individual ElementSetting andElementConfiguration "
 379 karl  1.1          "associations, to tie Settings and Configurationobjects to "
 380                    "individual ManagedSystemElements. There may be much"
 381                    "duplication in assigning the same Setting tomultiple objects. "
 382                    "In addition, using the Collection object allows the"
 383                    "determination that the Setting and Configurationassociations "
 384                    "are indeed the same for the Collection's members.This "
 385                    "information would otherwise be obtained by definingthe "
 386                    "Collection in a proprietary manner, and thenquerying "
 387                    "the ElementSetting and ElementConfigurationassociations to "
 388                    "determine ifthe Collection set is completely covered.") ]
 389           class CIM_CollectionOfMSEs : CIM_Collection
 390           {
 391                   [MaxLen (256), Description (
 392                    "The identification of the Collection object. When subclassed, "
 393                    "the CollectionID property can be overridden to be a Key "
 394                    "property.") ]
 395              string CollectionID;
 396           };
 397           
 398           // ==================================================================
 399           //    CollectedCollections
 400 karl  1.1 // ==================================================================
 401                   [Association, Aggregation, Description (
 402                    "CIM_CollectedCollections is an aggregation association "
 403                    "representing that a CollectionOfMSEs may itself be contained "
 404                    "in a CollectionOfMSEs.") ]
 405           class CIM_CollectedCollections
 406           {
 407                   [Aggregate, Key, Description (
 408                    "The 'higher level' or parent element in the aggregation.") ]
 409              CIM_CollectionOfMSEs REF Collection;
 410                   [Key, Description ("The 'collected' Collection.") ]
 411              CIM_CollectionOfMSEs REF CollectionInCollection;
 412           };
 413                
 414           // ================================================================= 
 415           //    PhysicalElement
 416           // ==================================================================
 417                   [Abstract, Description (
 418                    "Subclasses of CIM_PhysicalElement define any component of a " 
 419                    "System that has a distinct physical identity. Instances of "
 420                    "this class can be defined in terms of labels that can be "
 421 karl  1.1          "physically attached to the object. All Processes, Files, "
 422           	   "and LogicalDevices are considered not to be Physical"
 423                    "Elements. For example, it is not possible to attach a "
 424                    "label to a modem. It is only possible to attach a label to "
 425                    "the card that implements the modem. The same card could "
 426                    "also implement a LAN  adapter. These are tangible Managed "
 427                    "System Elements (usually actual hardware items) that have a "
 428                    "physical manifestation of some sort. A Managed System "
 429                    "Element is not necessarily a discrete component. For "
 430                    "example, it is possible for a single Card (which is a type "
 431                    "of Physical Element) to host more than one Logical Device. "
 432                    "The card would be represented by a single Physical Element "
 433            	   "associated with multiple Logical Devices.") ] 
 434           class CIM_PhysicalElement:CIM_ManagedSystemElement
 435           {
 436                   [Key, MaxLen (256), Description (
 437                    "CreationClassName indicates the name of the class or the "
 438                    "subclass used in the creation of an instance. When used "
 439                    "with the other key properties of this class, this property "
 440                    "allows all instances of this class and its subclasses to "
 441                    "be uniquely identified.") ]
 442 karl  1.1     string CreationClassName;
 443                   [MaxLen (256), Description (
 444                    "The name of the organization responsible for producing the "
 445                    "PhysicalElement. This may be the entity from whom the Element "
 446                    "is purchased, but this is not necessarily true. The latter "
 447                    "information is contained in the Vendor property of "
 448                    "CIM_Product.") ] 
 449               string Manufacturer;
 450                   [MaxLen (64), Description (
 451                    "The name by which the PhysicalElement is generally known.") ] 
 452               string Model;
 453                   [MaxLen (64), Description (
 454                    "The stock keeping unit number for this PhysicalElement.") ] 
 455               string SKU;
 456                   [MaxLen (64), Description (
 457                    "A manufacturer-allocated number used to identify the Physical"
 458                    "Element.") ] 
 459               string SerialNumber;
 460                   [Key, MaxLen (256), Description (
 461                    "An arbitrary string that uniquely identifies the Physical"
 462           	   "Element and serves as the Element's key.  The Tag property "
 463 karl  1.1 	   "can contain information such as asset tag or serial number "
 464           	   "data. The key for PhysicalElement is placed very high in the "
 465           	   "object hierarchy in order to independently identify the "
 466           	   "hardware/entity, regardless of physical placement in or on "
 467           	   "Cabinets, Adapters, etc.  For example, a hotswappable or "
 468           	   "removeable component may be taken from its containing "
 469           	   "(scoping) Package and be temporarily unused.  The object "
 470                    "still continues to exist - and may even be inserted into a "
 471           	   "different scoping container.  Therefore, the key for Physical"
 472           	   "Element is an arbitrary string and is defined independently "
 473           	   "of any placement or location-oriented hierarchy.") ]
 474               string Tag;
 475                   [MaxLen (64), Description (
 476           	   "A string indicating the version of the PhysicalElement.") ] 
 477               string Version;
 478           	  [MaxLen (256), Description (
 479           	   "The part number assigned by the organization responsible for "
 480           	   "producing or manufacturing the PhysicalElement.") ]
 481               string PartNumber;
 482           	  [Description (
 483           		"OtherIdentifyingInfo captures additional data, beyond that of " 
 484 karl  1.1 		"Tag information, that could be used to identify a Physical" 
 485           		"Element. One example is bar code data associated with an " 
 486           		"Element that also has an asset tag. Note that if only bar " 
 487           		"code data is available and is unique/able to be used as an " 
 488           		"Element key, this property would be NULL and the bar code " 
 489           		"data used as the class key, in the Tag property.") ] 
 490               string OtherIdentifyingInfo;
 491           	  [Description (
 492           	   "Boolean indicating that the PhysicalElement is powered on "
 493           	   "(TRUE), or is currently off (FALSE).") ]
 494               boolean PoweredOn;
 495           	  [Description (
 496           	  "Date that this PhysicalElement was manufactured.") ]
 497           	datetime ManufactureDate;
 498           };
 499                
 500           // ==================================================================
 501           //    LogicalElement
 502           // ==================================================================
 503                   [Abstract, Description (
 504                    "CIM_LogicalElement is a base class for all the components of "
 505 karl  1.1          "a System that represent abstract system components, such "
 506                    "as Files, Processes, or system capabilities in the form "
 507                    "of Logical Devices.") ] 
 508           class CIM_LogicalElement:CIM_ManagedSystemElement
 509           {
 510           };
 511                
 512           // ==================================================================
 513           //    LogicalIdentity
 514           // ==================================================================
 515           	  [Association, Abstract, Description (
 516           	   "CIM_LogicalIdentity is an abstract and generic association, "
 517           	   "indicating that two LogicalElements represent different "
 518           	   "aspects of the same underlying entity. This relationship "
 519           	   "conveys what could be defined with multiple inheritance. It "
 520           	   "is restricted to the 'logical' aspects of a ManagedSystem"
 521           	   "Element. In most scenarios, the Identity relationship is "
 522           	   "determined by the equivalence of Keys or some other "
 523           	   "identifying properties of the related Elements. The "
 524           	   "association should only be used in well understood scenarios. "
 525           	   "This is why the association is abstract - allowing more "
 526 karl  1.1 	   "concrete definition and clarification in subclasses. One of "
 527           	   "the scenarios where this relationship is reasonable is to "
 528           	   "represent that a Device is both a 'bus' entity and a "
 529           	   "'functional' entity. For example, a Device could be both a "
 530           	   "USB (bus) and a Keyboard (functional) entity.") ]
 531           class CIM_LogicalIdentity
 532           {
 533                   [Key, Description (
 534                    "SystemElement represents one aspect of the Logical"
 535           	   "Element.") ]
 536              CIM_LogicalElement ref SystemElement;
 537                   [Key, Description (
 538                    "SameElement represents an alternate aspect of the "
 539                    "System entity.") ]
 540              CIM_LogicalElement ref SameElement;
 541           };
 542           
 543           // ===================================================================
 544           //    Configuration
 545           // ===================================================================
 546                   [Description (
 547 karl  1.1          "The Configuration object allows the grouping of sets of "
 548                    "parameters (defined in Setting objects) and dependencies for "
 549                    "one or more ManagedSystemElements. The Configuration object "
 550                    "represents a certain behavior, or a desired functional state "
 551                    "for the ManagedSystemElements. The desired functional state "
 552                    "is typically driven by external requirements such as time or "
 553                    "location. For example, to connect to a Mail System from "
 554                    "'home', a dependency on a modem exists, but a dependency on "
 555                    "a network adapter exists at 'work'. Settings for the "
 556           	   "pertinent LogicalDevices (in this example, POTSModem and "
 557           	   "NetworkAdapter) can be defined and aggregated by the "
 558           	   "Configuration. Therefore, two 'Connect to Mail' "
 559           	   "Configurations may be defined grouping the relevant "
 560           	   "dependencies and Setting objects.") ]
 561           class CIM_Configuration : CIM_ManagedElement
 562           {
 563                   [Key, MaxLen (256), Description (
 564                    "The label by which the Configuration object is known.") ]
 565              string Name;
 566                   
 567           };
 568 karl  1.1 
 569           // ===================================================================
 570           //    ConfigurationComponent
 571           // ===================================================================
 572                   [Association, Aggregation, Description (
 573           	   "ConfigurationComponent aggregates 'lower-level' "
 574                    "Configuration objects into a 'high-level' Configuration. "
 575                    "This enables the assembly of complex Configurations by "
 576                    "grouping together simpler ones. For example, a logon policy "
 577                    "for the United States could consist of two Configuration "
 578                    "groups, one for the east coast and one for the west coast. "
 579                    "Each of these could in turn consist of multiple "
 580                    "Configurations to handle different aspects of the logon "
 581                    "process.") ]
 582           class CIM_ConfigurationComponent
 583           {
 584                   [Aggregate, Key, Description (
 585                    "The Configuration that aggregates additional "
 586                    "Configurations." ) ]
 587              CIM_Configuration REF ConfigGroup;
 588           	  [Key, Description (
 589 karl  1.1          "A Configuration that is part of a 'higher-level' "
 590                    "Configuration.") ]
 591              CIM_Configuration REF ConfigComponent;
 592           };
 593           
 594           // ===================================================================
 595           //    ElementConfiguration
 596           // ===================================================================
 597                   [Association, Description (
 598                    "This association relates a Configuration object to one or "
 599                    "more ManagedSystemElements. The Configuration object "
 600                    "represents a certain behavior, or a desired functional state "
 601                    "for the associated ManagedSystemElements.") ]
 602           class CIM_ElementConfiguration
 603           {
 604                   [Key, Description ("The ManagedSystemElement.")]
 605              CIM_ManagedSystemElement REF Element;
 606                   [Key, Description (
 607                    "The Configuration object that groups the Settings and "
 608                    "dependencies associated with the ManagedSystemElement.") ] 
 609              CIM_Configuration REF Configuration;
 610 karl  1.1 };
 611           
 612           // ===================================================================
 613           //    CollectionConfiguration
 614           // ===================================================================
 615                   [Association, Description (
 616                    "This association relates a Configuration object to one or "
 617                    "more CollectionOfMSEs objects. The Configuration object "
 618                    "represents a certain behavior, or a desired functional state "
 619                    "for the associated Collection.") ]
 620           class CIM_CollectionConfiguration
 621           {
 622                   [Key, Description ("The CollectionOfMSEs.") ]
 623              CIM_CollectionOfMSEs REF Collection;
 624                   [Key, Description (
 625                    "The Configuration object that groups the Settings and "
 626                    "dependencies associated with the Collection.") ]
 627              CIM_Configuration REF Configuration;
 628           };
 629           
 630           // ===================================================================
 631 karl  1.1 //    Setting
 632           // ===================================================================
 633                   [Abstract, Description (
 634                    "The Setting class represents configuration-related and "
 635                    "operational parameters for one or more ManagedSystem"
 636                    "Element(s). A ManagedSystemElement may have multiple Setting "
 637                    "objects associated with it. The current operational values "
 638                    "for an Element's parameters are reflected by properties in "
 639                    "the Element itself or by properties in its associations. "
 640                    "These properties do not have to be the same values present "
 641                    "in the Setting object. For example, a modem may have a "
 642                    "Setting baud rate of 56Kb/sec but be operating "
 643                    "at 19.2Kb/sec.") ]
 644           class CIM_Setting : CIM_ManagedElement
 645           {
 646                   [MaxLen (256), Description (
 647                    "The identifier by which the Setting object is known.") ]
 648              string SettingID;
 649                    [Description (
 650                    "The VerifyOKToApplyToMSE method is used to verify that "
 651                    "this Setting can be 'applied' to the referenced Managed"
 652 karl  1.1          "SystemElement, at the given time or time interval. This "
 653                    "method takes three input parameters: MSE (the Managed"
 654                    "SystemElement that is being verified), TimeToApply (which, "
 655                    "being a datetime, can be either a specific time or a time "
 656                    "interval), and MustBeCompletedBy (which indicates the "
 657                    "required completion time for the method). The return "
 658                    "value should be 0 if it is OK to apply the Setting, 1 if "
 659                    "the method is not supported, 2 if the Setting can not be "
 660                    "applied within the specified times, and any other number "
 661                    "if an error occurred. In a subclass, the "
 662                    "set of possible return codes could be specified, using a "
 663                    "ValueMap qualifier on the method. The strings to which the "
 664                    "ValueMap contents are 'translated' may also be specified in "
 665                    "the subclass as a Values array qualifier.") ]
 666              uint32 VerifyOKToApplyToMSE([IN] CIM_ManagedSystemElement ref MSE, 
 667               [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy);
 668                   [Description (
 669                    "The ApplyToMSE method performs the actual application of "
 670                    "the Setting to the referenced ManagedSystemElement. It "
 671                    "takes three input parameters: MSE (the ManagedSystem"
 672                    "Element to which the Setting is being applied), "
 673 karl  1.1          "TimeToApply (which, being a datetime, can be either a "
 674                    "specific time or a time interval), and MustBeCompletedBy "
 675                    "(which indicates the required completion time for the "
 676                    "method). Note that the semantics of this method are that "
 677                    "individual Settings are either wholly applied or not "
 678                    "applied at all to their target ManagedSystemElement. The "
 679                    "return value should be 0 if the Setting is successfully "
 680                    "applied to the referenced ManagedSystemElement, 1 if the "
 681                    "method is not supported, 2 if the Setting was not applied "
 682                    "within the specified times, and any other number if an "
 683                    "error occurred. In a subclass, the set of possible return "
 684                    "codes could be specified, using a ValueMap qualifier on "
 685                    "the method. The strings to which the ValueMap contents are "
 686                    "'translated' may also be specified in the subclass as a "
 687                    "Values array qualifier.\n"
 688                    "Note: If an error occurs in applying the Setting to a "
 689                    "ManagedSystemElement, the Element must be configured as "
 690                    "when the 'apply' attempt began. That is, the Element "
 691                    "should NOT be left in an indeterminate state.") ]
 692              uint32 ApplyToMSE([IN] CIM_ManagedSystemElement ref MSE, 
 693               [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy);
 694 karl  1.1         [Description (
 695                    "The VerifyOKToApplyToCollection method is used to verify "
 696                    "that this Setting can be 'applied' to the referenced "
 697                    "Collection of ManagedSystemElements, at the given time "
 698                    "or time interval, without causing adverse effects to "
 699                    "either the Collection itself or its surrounding "
 700                    "environment. The net effect is to execute the "
 701                    "VerifyOKToApply method against each of the Elements "
 702                    "aggregated by the Collection. This method takes three "
 703                    "input parameters: Collection (the Collection of Managed"
 704                    "SystemElements that is being verified), TimeToApply (which, "
 705                    "being a datetime, can be either a specific time or a time "
 706                    "interval), and MustBeCompletedBy (which indicates the "
 707                    "required completion time for the method). The return "
 708                    "value should be 0 if it is OK to apply the Setting, 1 if "
 709                    "the method is not supported, 2 if the Setting can not be "
 710                    "applied within the specified times, and any other number if "
 711                    "an error occurred. One output parameter is defined - "
 712                    "CanNotApply - which is a string array that lists the keys of "
 713                    "the ManagedSystemElements to which the Setting can NOT be "
 714                    "applied. This enables those Elements to be revisited and "
 715 karl  1.1          "either fixed, or other corrective action taken.\n"
 716                    "In a subclass, the set of possible return codes could be "
 717                    "specified, using a ValueMap qualifier on the method. The "
 718                    "strings to which the ValueMap contents are 'translated' may "
 719                    "also be specified in the subclass as a Values array "
 720                    "qualifier.") ] 
 721              uint32 VerifyOKToApplyToCollection (
 722               [IN] CIM_CollectionOfMSEs ref Collection,
 723               [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy,
 724               [OUT] string CanNotApply[]);
 725                   [Description (
 726                    "The ApplyToCollection method performs the application of "
 727                    "the Setting to the referenced Collection of ManagedSystem"
 728                    "Elements. The net effect is to execute the ApplyToMSE "
 729                    "method against each of the Elements aggregated by the "
 730                    "Collection. If the input value ContinueOnError is FALSE, "
 731                    "this method applies the Setting to all Elements in the "
 732                    "Collection until it encounters an error, in which case it "
 733                    "stops execution, logs the key of the Element that caused "
 734                    "the error in the CanNotApply array, and issues a return code "
 735                    "of 2. If the input value ContinueOnError is TRUE, then this "
 736 karl  1.1          "method applies the Setting to all the ManagedSystemElements "
 737                    "in the Collection, and reports the failed Elements in the "
 738                    "array, CanNotApply. For the latter, processing will continue "
 739                    "until the method is applied to all Elements in the "
 740                    "Collection, regardless of any errors encountered. The key of "
 741                    "each ManagedSystemElement to which the Setting could not be "
 742                    "applied is logged into the CanNotApply array. This method "
 743                    "takes four input parameters: Collection (the Collection of "
 744                    "Elements to which the Setting is being applied), TimeToApply "
 745                    "(which, being a datetime, can be either a specific time or a "
 746                    "time interval), ContinueOnError (TRUE means to continue "
 747                    "processing on encountering an error), and MustBeCompletedBy "
 748                    "(which indicates the required completion time for the "
 749                    "method). The return value should be 0 if the Setting is "
 750                    "successfully applied to the referenced Collection, 1 if the "
 751                    "method is not supported, 2 if the Setting was not applied "
 752                    "within the specified times, 3 if the Setting can not be "
 753                    "applied using the input value for ContinueOnError, and any "
 754                    "other number if an error occurred. One output parameter is "
 755                    "defined, CanNotApplystring, which is an array that lists "
 756                    "the keys of the ManagedSystemElements to which the Setting "
 757 karl  1.1          "was NOT able to be applied. This output parameter has "
 758                    "meaning only when the ContinueOnError parameter is TRUE.\n"
 759                    "In a subclass, the set of possible return codes could be "
 760                    "specified, using a ValueMap qualifier on the method. The "
 761                    "strings to which the ValueMap contents are 'translated' may "
 762                    "also be specified in the subclass as a Values array "
 763                    "qualifier.\n"
 764                    "Note: if an error occurs in applying the Setting to a "
 765                    "ManagedSystemElement in the Collection, the Element must be "
 766                    "configured as when the 'apply' attempt began. That is, the "
 767                    "Element should NOT be left in an indeterminate state.") ]
 768              uint32 ApplyToCollection([IN] CIM_CollectionOfMSEs ref Collection, 
 769               [IN] datetime TimeToApply, [IN] boolean ContinueOnError,
 770               [IN] datetime MustBeCompletedBy, [OUT] string CanNotApply[]);
 771           	         [Description ( 
 772                    "The VerifyOKToApplyIncrementalChangeToMSE method " 
 773                    "is used to verify that a subset of the properties in " 
 774                    "this Setting can be 'applied' to the referenced Managed" 
 775                    "SystemElement, at the given time or time interval. This " 
 776                    "method takes four input parameters: MSE (the Managed" 
 777                    "SystemElement that is being verified), TimeToApply (which, " 
 778 karl  1.1          "being a datetime, can be either a specific time or a time " 
 779                    "interval), MustBeCompletedBy (which indicates the " 
 780                    "required completion time for the method), and a " 
 781                    "PropertiesToApply array (which contains a list of the " 
 782                    "property names whose values will be verified. " 
 783                    "If they array is null or empty or constains the string \"all\" " 
 784                    "as a property name then all Settings properties shall be " 
 785                    "verified.  If it is set to \"none\" then no Settings properties " 
 786                    "will be verified). The return " 
 787                    "value should be 0 if it is OK to apply the Setting, 1 if " 
 788                    "the method is not supported, 2 if the Setting can not be " 
 789                    "applied within the specified times, and any other number " 
 790                    "if an error occurred. In a subclass, the " 
 791                    "set of possible return codes could be specified, using a " 
 792                    "ValueMap qualifier on the method. The strings to which the " 
 793                    "ValueMap contents are 'translated' may also be specified in " 
 794                    "the subclass as a Values array qualifier.") ] 
 795              uint32 VerifyOKToApplyIncrementalChangeToMSE( 
 796               [IN] CIM_ManagedSystemElement ref MSE, 
 797               [IN] datetime TimeToApply, 
 798               [IN] datetime MustBeCompletedBy, 
 799 karl  1.1     [IN] string PropertiesToApply[]); 
 800                   [Description ( 
 801                    "The ApplyIncrementalChangeToMSE method performs the " 
 802                    "actual application of  a subset of the properties in " 
 803                    "the Setting to the referenced ManagedSystemElement. It " 
 804                    "takes four input parameters: MSE (the ManagedSystem" 
 805                    "Element to which the Setting is being applied), " 
 806                    "TimeToApply (which, being a datetime, can be either a " 
 807                    "specific time or a time interval), MustBeCompletedBy " 
 808                    "(which indicates the required completion time for the " 
 809                    "method), and a " 
 810                    "PropertiesToApply array (which contains a list of the " 
 811                    "property names whose values will be applied. If a " 
 812                    "property is not in this list, it will be ignored by the apply. " 
 813                    "If they array is null or empty or constains the string \"all\" " 
 814                    "as a property name then all Settings properties shall be " 
 815                    "applied.  If it is set to \"none\" then no Settings properties " 
 816                    "will be applied. ). " 
 817                    "Note that the semantics of this method are that " 
 818                    "individual Settings are either wholly applied or not " 
 819                    "applied at all to their target ManagedSystemElement. The " 
 820 karl  1.1          "return value should be 0 if the Setting is successfully " 
 821                    "applied to the referenced ManagedSystemElement, 1 if the " 
 822                    "method is not supported, 2 if the Setting was not applied " 
 823                    "within the specified times, and any other number if an " 
 824                    "error occurred. In a subclass, the set of possible return " 
 825                    "codes could be specified, using a ValueMap qualifier on " 
 826                    "the method. The strings to which the ValueMap contents are " 
 827                    "'translated' may also be specified in the subclass as a " 
 828                    "Values array qualifier.\n" 
 829                    "Note: If an error occurs in applying the Setting to a " 
 830                    "ManagedSystemElement, the Element must be configured as " 
 831                    "when the 'apply' attempt began. That is, the Element " 
 832                    "should NOT be left in an indeterminate state.") ] 
 833              uint32 ApplyIncrementalChangeToMSE( 
 834               [IN] CIM_ManagedSystemElement ref MSE, 
 835               [IN] datetime TimeToApply, 
 836               [IN] datetime MustBeCompletedBy, 
 837               [IN] string PropertiesToApply[]); 
 838                   [Description ( 
 839                    "The VerifyOKToApplyIncrementalChangeToCollection method " 
 840                    "is used to verify that a subset of the properties in " 
 841 karl  1.1          "this Setting can be 'applied' to the referenced " 
 842                    "Collection of ManagedSystemElements, at the given time " 
 843                    "or time interval, without causing adverse effects to " 
 844                    "either the Collection itself or its surrounding " 
 845                    "environment. The net effect is to execute the " 
 846                    "VerifyOKToApplyIncrementalChangeToMSE method " 
 847                    "against each of the Elements " 
 848                    "aggregated by the Collection. This method takes three " 
 849                    "input parameters: Collection (the Collection of Managed" 
 850                    "SystemElements that is being verified), TimeToApply (which, " 
 851                    "being a datetime, can be either a specific time or a time " 
 852                    "interval), MustBeCompletedBy (which indicates the " 
 853                    "required completion time for the method), and a " 
 854                    "PropertiesToApply array (which contains a list of the " 
 855                    "property names whose values will be verified. " 
 856                    "If they array is null or empty or constains the string \"all\" " 
 857                    "as a property name then all Settings properties shall be " 
 858                    "verified.  If it is set to \"none\" then no Settings properties " 
 859                    "will be verified). The return " 
 860                    "value should be 0 if it is OK to apply the Setting, 1 if " 
 861                    "the method is not supported, 2 if the Setting can not be " 
 862 karl  1.1          "applied within the specified times, and any other number if " 
 863                    "an error occurred. One output parameter is defined - " 
 864                    "CanNotApply - which is a string array that lists the keys of " 
 865                    "the ManagedSystemElements to which the Setting can NOT be " 
 866                    "applied. This enables those Elements to be revisited and " 
 867                    "either fixed, or other corrective action taken.\n" 
 868                    "In a subclass, the set of possible return codes could be " 
 869                    "specified, using a ValueMap qualifier on the method. The " 
 870                    "strings to which the ValueMap contents are 'translated' may " 
 871                    "also be specified in the subclass as a Values array " 
 872                    "qualifier.") ] 
 873              uint32 VerifyOKToApplyIncrementalChangeToCollection ( 
 874               [IN] CIM_CollectionOfMSEs ref Collection, 
 875               [IN] datetime TimeToApply, 
 876               [IN] datetime MustBeCompletedBy, 
 877               [IN] string PropertiesToApply[], 
 878               [OUT] string CanNotApply[]); 
 879                   [Description ( 
 880                    "The ApplyIncrementalChangeToCollection method performs " 
 881                    "the application of a subset of the properties in this " 
 882                    "Setting to the referenced Collection of ManagedSystem" 
 883 karl  1.1          "Elements. The net effect is to execute the " 
 884                    "ApplyIncrementalChangeToMSE " 
 885                    "method against each of the Elements aggregated by the " 
 886                    "Collection. If the input value ContinueOnError is FALSE, " 
 887                    "this method applies the Setting to all Elements in the " 
 888                    "Collection until it encounters an error, in which case it " 
 889                    "stops execution, logs the key of the Element that caused " 
 890                    "the error in the CanNotApply array, and issues a return code " 
 891                    "of 2. If the input value ContinueOnError is TRUE, then this " 
 892                    "method applies the Setting to all the ManagedSystemElements " 
 893                    "in the Collection, and reports the failed Elements in the " 
 894                    "array, CanNotApply. For the latter, processing will continue " 
 895                    "until the method is applied to all Elements in the " 
 896                    "Collection, regardless of any errors encountered. The key of " 
 897                    "each ManagedSystemElement to which the Setting could not be " 
 898                    "applied is logged into the CanNotApply array. This method " 
 899                    "takes four input parameters: Collection (the Collection of " 
 900                    "Elements to which the Setting is being applied), TimeToApply " 
 901                    "(which, being a datetime, can be either a specific time or a " 
 902                    "time interval), ContinueOnError (TRUE means to continue " 
 903                    "processing on encountering an error), and MustBeCompletedBy " 
 904 karl  1.1          "(which indicates the required completion time for the " 
 905                    "method), and a PropertiesToApply array (which contains a list " 
 906                    "of the property names whose values will be applied. If a " 
 907                    "property is not in this list, it will be ignored by the apply. " 
 908                    "If they array is null or empty or constains the string \"all\" " 
 909                    "as a property name then all Settings properties shall be " 
 910                    "applied.  If it is set to \"none\" then no Settings properties " 
 911                    "will be applied. ). " 
 912                    "The return value should be 0 if the Setting is " 
 913                    "successfully applied to the referenced Collection, 1 if the " 
 914                    "method is not supported, 2 if the Setting was not applied " 
 915                    "within the specified times, 3 if the Setting can not be " 
 916                    "applied using the input value for ContinueOnError, and any " 
 917                    "other number if an error occurred. One output parameter is " 
 918                    "defined, CanNotApplystring, which is an array that lists " 
 919                    "the keys of the ManagedSystemElements to which the Setting " 
 920                    "was NOT able to be applied. This output parameter has " 
 921                    "meaning only when the ContinueOnError parameter is TRUE.\n" 
 922                    "In a subclass, the set of possible return codes could be " 
 923                    "specified, using a ValueMap qualifier on the method. The " 
 924                    "strings to which the ValueMap contents are 'translated' may " 
 925 karl  1.1          "also be specified in the subclass as a Values array " 
 926                    "qualifier.\n" 
 927                    "Note: if an error occurs in applying the Setting to a " 
 928                    "ManagedSystemElement in the Collection, the Element must be " 
 929                    "configured as when the 'apply' attempt began. That is, the " 
 930                    "Element should NOT be left in an indeterminate state.") ] 
 931              uint32 ApplyIncrementalChangeToCollection( 
 932               [IN] CIM_CollectionOfMSEs ref Collection, 
 933               [IN] datetime TimeToApply, 
 934               [IN] boolean ContinueOnError, 
 935               [IN] datetime MustBeCompletedBy, 
 936               [IN] string PropertiesToApply[], 
 937               [OUT] string CanNotApply[]); 
 938             
 939           };
 940           
 941           // ===================================================================
 942           //    ElementSetting
 943           // ===================================================================
 944                   [Association, Description (
 945                    "ElementSetting represents the association between Managed"
 946 karl  1.1          "SystemElements and the Setting class(es) defined for them.") ]
 947           class CIM_ElementSetting
 948           {
 949                   [Key, Description ("The ManagedSystemElement.") ]
 950              CIM_ManagedSystemElement REF Element;
 951                   [Key, Description (
 952                    "The Setting object associated with the ManagedSystem"
 953                    "Element.") ]
 954              CIM_Setting REF Setting;
 955           };
 956           
 957           // ===================================================================
 958           //    DefaultSetting
 959           // ===================================================================
 960                   [Association, Description (
 961                    "DefaultSetting represents the association between a Managed"
 962                    "SystemElement and the single Setting class that is defined "
 963                    "to be the default setting for this Element.") ]
 964           class CIM_DefaultSetting : CIM_ElementSetting
 965           {
 966                   [Override ("Setting"), Max (1), Description (
 967 karl  1.1          "The Setting object which is the default.") ]
 968              CIM_Setting REF Setting;
 969           };
 970           
 971           // ===================================================================
 972           //    SettingContext
 973           // ===================================================================
 974                   [Association, Aggregation, Description (
 975                    "This relationship associates Configuration objects with "
 976                    "Setting objects. For example, a NetworkAdapter's Settings "
 977                    "could change based on the site/network to which its hosting "
 978                    "ComputerSystem is attached. In this case, the ComputerSystem "
 979                    "would have two different Configuration objects, corresponding "
 980                    "to the differences in network configuration for the two network "
 981                    "segments. Configuration A would aggregate a Setting object for "
 982                    "the NetworkAdapter when operating on segment \"ANet\", whereas "
 983                    "Configuration B would aggregate a different NetworkAdapter "
 984                    "Setting object, specific to segment \"BNet\". Note that many "
 985                    "Settings of the computer are independent of the network "
 986                    "Configuration. For example, both Configurations A and B would "
 987                    "aggregate the same Setting object for the ComputerSystem's "
 988 karl  1.1          "MonitorResolution.") ]
 989           class CIM_SettingContext
 990           {
 991                   [Aggregate, Key, Description (
 992                    "The Configuration object that aggregates the Setting.") ]
 993              CIM_Configuration REF Context;
 994                   [Key, Description ("An aggregated Setting.")]
 995              CIM_Setting REF Setting;
 996           };
 997           
 998           // ===================================================================
 999           //    CollectionSetting
1000           // ===================================================================
1001                   [Association, Description (
1002                    "CollectionSetting represents the association between a "
1003                    "CollectionOfMSEs class and the Setting class(es) defined for "
1004                    "them.") ]
1005           class CIM_CollectionSetting
1006           {
1007                   [Key, Description ("The CollectionOfMSEs.") ]
1008              CIM_CollectionOfMSEs REF Collection;
1009 karl  1.1         [Key, Description (
1010                    "The Setting object associated with the Collection.") ]
1011              CIM_Setting REF Setting;
1012           };
1013           
1014           // ==================================================================
1015           //    System
1016           // ==================================================================
1017                   [Abstract, Description (
1018                    "A CIM_System is a LogicalElement that aggregates an "
1019                    "enumerable set of Managed System Elements. The aggregation "
1020                    "operates as a functional whole. Within any particular "
1021                    "subclass of System, there is a well-defined list of "
1022                    "Managed System Element classes whose instances must be "
1023                    "aggregated.") ] 
1024           class CIM_System:CIM_LogicalElement
1025           {
1026                   [Key, MaxLen (256), Description (
1027                    "CreationClassName indicates the name of the class or the "
1028                    "subclass used in the creation of an instance. When used "
1029                    "with the other key properties of this class, this property "
1030 karl  1.1          "allows all instances of this class and its subclasses to "
1031                    "be uniquely identified.") ]
1032               string CreationClassName;
1033                   [Key, MaxLen (256), Override ("Name"), Description (
1034                    "The inherited Name serves as key of a System instance in " 
1035                    "an enterprise environment.") ] 
1036               string Name;
1037                   [MaxLen (64), Description (
1038                    "The System object and its derivatives are Top Level Objects "
1039                    "of CIM. They provide the scope for numerous components. " 
1040                    "Having unique System keys is required. A heuristic can be "
1041                    "defined in individual System subclasses to attempt to always "
1042                    "generate the same System Name Key. The NameFormat property "
1043                    "identifies how the System name was generated, using "
1044                    "the subclass' heuristic.") ] 
1045               string NameFormat;
1046                   [MaxLen (256), Description (
1047                    "A string that provides information on how the primary system "
1048                    "owner can be reached (e.g. phone number, email address, "
1049           	   "...)."),
1050                    MappingStrings {"MIF.DMTF|General Information|001.3"} ] 
1051 karl  1.1     string PrimaryOwnerContact;
1052                   [MaxLen (64), Description (
1053           	   "The name of the primary system owner."),
1054                    MappingStrings {"MIF.DMTF|General Information|001.4"} ]  
1055               string PrimaryOwnerName;
1056                   [Description (
1057                    "An array (bag) of strings that specify the roles this System "
1058                    "plays in the IT-environment. Subclasses of System may "
1059                    "override this property to define explicit Roles values. "
1060                    "Alternately, a Working Group may describe the heuristics, "
1061                    "conventions and guidelines for specifying Roles. For "
1062                    "example, for an instance of a networking system, the Roles "
1063                    "property might contain the string, 'Switch' or 'Bridge'.") ]
1064               string Roles[];
1065           };
1066           
1067           // ===================================================================
1068           //    ComputerSystem
1069           // ===================================================================
1070           	  [Abstract, Description (
1071                    "A class derived from System that is a special collection of "
1072 karl  1.1          "ManagedSystemElements. This collection provides "
1073                    "compute capabilities and serves as aggregation point to "
1074                    "associate one or more of the following elements: FileSystem, "
1075                    "OperatingSystem, Processor and Memory (Volatile and/or "
1076                    "NonVolatile Storage).") ] 
1077           class CIM_ComputerSystem : CIM_System
1078           {
1079                   [Override ("NameFormat"), Description (
1080            	   "The ComputerSystem object and its derivatives are Top Level "
1081           	   "Objects of CIM. They provide the scope for numerous "
1082           	   "components. Having unique System keys is required. "
1083           	   "A heuristic is defined to create the ComputerSystem Name "
1084           	   "to attempt to always generate the same Name, independent of "
1085           	   "discovery protocol. This prevents inventory and management "
1086           	   "problems where the same asset or entity is discovered "
1087           	   "multiple times, but can not be resolved to a single object. "
1088           	   "Use of the heuristic is optional, but recommended.\n\n"
1089           	   "The NameFormat property identifies how the ComputerSystem "
1090           	   "Name is generated, using a heuristic. The heuristic is "
1091           	   "outlined, in detail, in the CIM V2 System Model spec. "
1092           	   "It assumes that the documented rules are traversed in order, "
1093 karl  1.1 	   "to determine and assign a Name. The NameFormat Values "
1094           	   "list defines the precedence order for assigning the Computer"
1095           	   "System Name. Several rules do map to the same Value.\n\n"
1096           	   "Note that the ComputerSystem Name calculated using the "
1097           	   "heuristic is the System's key value. Other names can be "
1098           	   "assigned and used for the ComputerSystem, that better suit "
1099           	   "a business, using Aliases."), 
1100                    ValueMap {"Other", "IP", "Dial", "HID", "NWA", "HWA", "X25", 
1101           	       "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI"} ]
1102              string NameFormat;
1103                   [MaxLen (256), ArrayType ("Indexed"), 
1104                    Description (
1105                    "OtherIdentifyingInfo captures additional data, beyond "
1106                    "System Name information, that could be used to identify "
1107                    "a ComputerSystem. One example would be to hold the "
1108                    "Fibre Channel World-Wide Name (WWN) of a node. Note that "
1109                    "if only the Fibre Channel name is available and is "
1110                    "unique (able to be used as the System key), then this "
1111                    "property would be NULL and the WWN would become the "
1112                    "System key, its data placed in the Name property."),
1113                    ModelCorrespondence {
1114 karl  1.1           "CIM_ComputerSystem.IdentifyingDescriptions"} ]
1115              string OtherIdentifyingInfo[];
1116                   [ArrayType ("Indexed"), Description (
1117                    "An array of free-form strings providing explanations "
1118                    "and details behind the entries in the OtherIdentifying"
1119                    "Info array. Note, each entry of this array is related "
1120                    "to the entry in OtherIdentifyingInfo that is located at "
1121                    "the same index."),
1122                    ModelCorrespondence {
1123                     "CIM_ComputerSystem.OtherIdentifyingInfo"} ]
1124              string IdentifyingDescriptions[];
1125                   [Description (
1126                    "Enumeration indicating whether the ComputerSystem is "
1127                    "a special-purpose System (ie, dedicated to a particular "
1128                    "use), versus being 'general purpose'. For example, one "
1129                    "could specify that the System is dedicated to \"Print\" "
1130                    "(value=11) or acts as a \"Hub\" (value=8)."),
1131                    Values {"Not Dedicated", "Unknown", "Other", "Storage", 
1132                     "Router", "Switch", "Layer 3 Switch", 
1133                     "Central Office Switch", "Hub", "Access Server", 
1134                     "Firewall", "Print", "I/O", "Web Caching", "Management"} ]
1135 karl  1.1    uint16 Dedicated[];
1136           };
1137                
1138           // ===================================================================
1139           //    LogicalDevice
1140           // ===================================================================
1141                   [Abstract, Description (
1142                    "An abstraction or emulation of a hardware entity, that may "
1143                    "or may not be Realized in physical hardware. Any "
1144           	   "characteristics of a LogicalDevice that are used to manage "
1145           	   "its operation or configuration are contained in, or "
1146           	   "associated with, the LogicalDevice object. Examples of the "
1147           	   "operational properties of a Printer would be paper sizes "
1148           	   "supported, or detected errors. Examples of the configuration "
1149           	   "properties of a Sensor Device would be threshold settings. "
1150           	   "Various configurations could exist for a LogicalDevice. "
1151           	   "These configurations could be contained in Setting objects "
1152           	   "and associated with the LogicalDevice.") ] 
1153           class CIM_LogicalDevice:CIM_LogicalElement
1154           {
1155                   [Propagated("CIM_System.CreationClassName"), 
1156 karl  1.1          Key, MaxLen (256),
1157                    Description ("The scoping System's CreationClassName.") ]
1158              string SystemCreationClassName;
1159                   [Propagated("CIM_System.Name"),
1160                    Key, MaxLen (256),
1161                    Description ("The scoping System's Name.") ]
1162              string SystemName;
1163                   [Key, MaxLen (256),
1164                    Description (
1165                    "CreationClassName indicates the name of the class or "
1166                    "the subclass used in the creation of an instance. When "
1167                    "used with the other key properties of this class, this "
1168                    "property allows all instances of this class and its "
1169                    "subclasses to be uniquely identified.") ]
1170              string CreationClassName;
1171                   [Key, MaxLen (64),
1172                    Description (
1173                    "An address or other identifying information to uniquely "
1174                    "name the LogicalDevice.") ]
1175              string DeviceID;
1176                   [Description (
1177 karl  1.1          "Boolean indicating that the Device can be power managed "
1178                    "- ie, put into a power save state. This boolean does not "
1179                    "indicate that power management features are currently "
1180                    "enabled, or if enabled, what features are supported. "
1181                    "Refer to the PowerManagementCapabilities array for this "
1182                    "information. If this boolean is false, the integer value "
1183                    "1, for the string, \"Not Supported\", should be the only "
1184                    "entry in the PowerManagementCapabilities array.") ]	
1185              boolean PowerManagementSupported;
1186                   [Description(
1187                    "Indicates the specific power-related capabilities of a "
1188                    "LogicalDevice. The array values, 0=\"Unknown\", 1="
1189           	   "\"Not Supported\" and 2=\"Disabled\" are self-explanatory. "
1190           	   "The value, 3=\"Enabled\" indicates that the power management "
1191           	   "features are currently enabled but the exact feature set "
1192           	   "is unknown or the information is unavailable. "
1193           	   "\"Power Saving Modes Entered Automatically\" (4) describes "
1194           	   "that a Device can change its power state based on usage or "
1195           	   "other criteria. \"Power State Settable\" (5) indicates that "
1196           	   "the SetPowerState method is supported. \"Power Cycling "
1197                    "Supported\" (6) indicates that the SetPowerState method "
1198 karl  1.1 	   "can be invoked with the PowerState input variable set to 5 ("
1199           	   "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "
1200           	   "that the SetPowerState method can be invoked with the Power"
1201           	   "State input variable set to 5 (\"Power Cycle\") and the Time "
1202           	   "parameter set to a specific date and time, or interval, "
1203           	   "for power-on."),
1204                    Values {"Unknown", "Not Supported", "Disabled", 
1205           	       "Enabled", "Power Saving Modes Entered Automatically",
1206           	       "Power State Settable", "Power Cycling Supported",
1207           	       "Timed Power On Supported"} ]
1208              uint16 PowerManagementCapabilities[];
1209                   [Description (
1210           		"The primary availability and status of the Device. (Additional "
1211           		"status information can be specified using the AdditionalAvailability "
1212           		"array property.) For example, the Availability property indicates "
1213           		"that the Device is running and has full power (value=3), or is in "
1214           		"a warning (4), test (5), degraded (10) or power save state (values "
1215           		"13-15 and 17). Regarding the Power Save states, these are defined "
1216                    "as follows: Value 13 (\"Power Save - Unknown\") indicates "
1217           	   "that the Device is known to be in a power save mode, but its "
1218           	   "exact status in this mode is unknown; 14 (\"Power Save - Low "
1219 karl  1.1 	   "Power Mode\") indicates that the Device is in a power save "
1220           	   "state but still functioning, and may exhibit degraded "
1221           	   "performance; 15 (\"Power Save - Standby\") describes that "
1222           	   "the Device is not functioning but could be brought to full "
1223           	   "power 'quickly'; and value 17 (\"Power Save - Warning\") "
1224           	   "indicates that the Device is in a warning state, though also "
1225           	   "in a power save mode."), 
1226           	   	   ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
1227           	       "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
1228           		   "20", "21"},
1229                  Values {"Other", "Unknown", "Running/Full Power", "Warning", 
1230           	       "In Test", "Not Applicable", "Power Off", "Off Line", 
1231           	       "Off Duty", "Degraded", "Not Installed", "Install Error",
1232           	       "Power Save - Unknown", "Power Save - Low Power Mode", 
1233           	       "Power Save - Standby", "Power Cycle","Power Save - Warning", 
1234           		   "Paused", "Not Ready", "Not Configured", "Quiesced"}, 
1235                  MappingStrings {"MIF.DMTF|Operational State|006",
1236                     "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus", 
1237                     "MIF.DMTF|Host Device|001.5"},
1238           		  ModelCorrespondence {"CIM_LogicalDevice.AdditionalAvailability"}]
1239              uint16 Availability;
1240 karl  1.1 		[Description (
1241           		"The StatusInfo property indicates whether the Logical"
1242           		"Device is in an enabled (value = 3), disabled (value = "
1243           		"4) or some other (1) or unknown (2) state. If this "
1244           		"property does not apply to the LogicalDevice, the value, "
1245           		"5 (\"Not Applicable\"), should be used. "
1246           		"If a Device is (\"Enabled\")(value=3), it has been powered up, and is "
1247                   "configured and operational. The Device may or may not be functionally "
1248                   "active, depending on whether its Availability (or AdditionalAvailability) "
1249                   "indicate that it is (\"Running/Full Power\")(value=3) or (\"Off line\")"
1250                   "(value=8). In an enabled but offline mode, a Device may be performing "
1251                   "out-of-band requests, such as running Diagnostics. If (\"Disabled\")"
1252                   "(StatusInfo value=4), a Device can only be \"enabled\" or powered off. "
1253                   "In a personal computer environment, (\"Disabled\") means that the "
1254                   "Device's driver is not available in the stack. In other environments, "
1255                   "a Device can be disabled by removing its configuration file. A "
1256                   "disabled device is physically present in a System and consuming "
1257                   "resources, but can not be communicated with until a load of a driver, "
1258                   "a load of a configuration file or some other \"enabling\" activity has "
1259                   "occurred."),
1260                    ValueMap {"1", "2", "3", "4", "5"},
1261 karl  1.1          Values {"Other", "Unknown", "Enabled",
1262           	       "Disabled", "Not Applicable"},
1263                    MappingStrings {"MIF.DMTF|Operational State|006"} ]
1264              uint16 StatusInfo;
1265           	  [Description (
1266           	   "LastErrorCode captures the last error code reported by " 
1267           	   "the LogicalDevice.")]
1268              uint32 LastErrorCode;
1269           	  [Description (
1270           	   "ErrorDescription is a free-form string supplying more " 
1271           	   "information about the error recorded in LastErrorCode, and " 
1272           	   "information on any corrective actions that may be taken.")]
1273              string ErrorDescription;
1274           	  [Description (
1275           	   "ErrorCleared is a boolean property indicating that the " 
1276           	   "error reported in LastErrorCode is now cleared.")]
1277              boolean ErrorCleared;
1278                   [MaxLen (256), ArrayType ("Indexed"), 
1279                    Description (
1280                    "OtherIdentifyingInfo captures additional data, beyond "
1281                    "DeviceID information, that could be used to identify a "
1282 karl  1.1          "LogicalDevice. One example would be to hold the Operating"
1283                    "System's user friendly name for the Device in this "
1284                    "property."),
1285                    ModelCorrespondence {
1286                      "CIM_LogicalDevice.IdentifyingDescriptions"} ]
1287              string OtherIdentifyingInfo[];
1288                   [Description (
1289                    "The number of consecutive hours that this Device has been "
1290                    "powered, since its last power cycle."),
1291                    Units ("Hours"), Counter ]
1292              uint64 PowerOnHours;
1293                   [Description (
1294                    "The total number of hours that this Device has been "
1295                    "powered."),
1296                    Units ("Hours"), Counter ]
1297              uint64 TotalPowerOnHours;
1298                   [ArrayType ("Indexed"), Description (
1299                    "An array of free-form strings providing explanations "
1300                    "and details behind the entries in the OtherIdentifyingInfo "
1301                    "array. Note, each entry of this array is related to the "
1302                    "entry in OtherIdentifyingInfo that is located at the same "
1303 karl  1.1          "index."),
1304                    ModelCorrespondence {"CIM_LogicalDevice.OtherIdentifyingInfo"} ]
1305              string IdentifyingDescriptions[];
1306           		[Description (
1307                    "Additional availability and status of the Device, beyond that "
1308                    "specified in the Availability property. The Availability property "
1309                    "denotes the primary status and availability of the Device. In "
1310                    "some cases, this will not be sufficient to denote the complete "
1311                    "status of the Device.  In those cases, the AdditionalAvailability "
1312                    "property can be used to provide further information. For example, "
1313                    "a Device's primary Availability may be \"Off line\" (value=8), "
1314                    "but it may also be in a low power state (AdditonalAvailability "
1315                    "value=14), or the Device could be running Diagnostics (Additional"
1316                    "Availability value=5, \"In Test\")."),
1317                    ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
1318                        "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", 
1319                        "20", "21"},
1320                    Values {"Other", "Unknown", "Running/Full Power", "Warning", 
1321                        "In Test", "Not Applicable", "Power Off", "Off Line", 
1322                        "Off Duty", "Degraded", "Not Installed", "Install Error",
1323                        "Power Save - Unknown", "Power Save - Low Power Mode", 
1324 karl  1.1              "Power Save - Standby", "Power Cycle", 
1325                        "Power Save - Warning", "Paused", "Not Ready",
1326                        "Not Configured", "Quiesced"}, 
1327                    ModelCorrespondence {"CIM_LogicalDevice.Availability"}]
1328              uint16 AdditionalAvailability[];
1329           		[Description (
1330                    "Maximum time in milliseconds, that a Device can run in a \"Quiesced\" "
1331                    "state. A Device's state is defined in its Availability and Additional"
1332                    "Availability properties, where \"Quiesced\" is conveyed by the value "
1333                    "21. What occurs at the end of the time limit is device-specific. The "
1334                    "Device may unquiesce, may offline or take other action. A value of 0 "
1335                    "indicates that a Device can remain quiesced indefinitely."), 
1336           		Units ("MilliSeconds")]
1337              uint64 MaxQuiesceTime;
1338                   [Description(
1339                    "SetPowerState defines the desired power state for a "
1340                    "LogicalDevice and when a Device should be put into that "
1341                    "state. The desired power state is specified by setting "
1342           	   "the PowerState parameter to one of the "
1343                    "following integer values: 1=\"Full Power\", 2=\"Power Save "
1344           	   "- Low Power Mode\", 3=\"Power Save - Standby\", 4=\"Power "
1345 karl  1.1 	   "Save - Other\", 5=\"Power Cycle\" or 6=\"Power Off\". "
1346                    "The Time parameter (for all state changes but 5, "
1347                    "\"Power Cycle\") indicates when the power state should be "
1348                    "set, either as a regular date-time value or as an interval "
1349                    "value (where the interval begins when the method "
1350                    "invocation is received). When the PowerState parameter is "
1351                    "equal to 5, \"Power Cycle\", the Time parameter indicates "
1352           	   "when the Device should power on again. Power off is "
1353           	   "immediate. SetPowerState should return 0 if successful, 1 "
1354           	   "if the specified PowerState and Time request is not "
1355           	   "supported, and some other value if any other error "
1356           	   "occurred. In a subclass, the set of possible return codes "
1357                    "could be specified, using a ValueMap qualifier on the method. "
1358                    "The strings to which the ValueMap contents are 'translated' "
1359                    "may also be specified in the subclass as a Values array "
1360                    "qualifier.") ]
1361              uint32 SetPowerState([IN, ValueMap {"1", "2", "3", "4", "5", "6"},
1362               Values {"Full Power", "Power Save - Low Power Mode", 
1363               "Power Save - Standby", "Power Save - Other", "Power Cycle",
1364               "Power Off"}] uint16 PowerState, [IN] datetime Time);
1365                   [Description (
1366 karl  1.1          "Requests a reset of the LogicalDevice. The return value "
1367                    "should be 0 if the request was successfully executed, "
1368                    "1 if the request is not supported and some other value "
1369                    "if an error occurred. In a subclass, the set of possible "
1370                    "return codes could be specified, using a ValueMap qualifier "
1371                    "on the method. The strings to which the ValueMap contents "
1372                    "are 'translated' may also be specified in the subclass as a "
1373                    "Values array qualifier.") ]
1374              uint32 Reset();
1375                   [Description (
1376                    "Requests that the LogicalDevice be enabled (\"Enabled\" "
1377                    "input parameter = TRUE) or disabled (= FALSE). If "
1378                    "successful, the Device's StatusInfo property should also "
1379                    "reflect the desired state (enabled/disabled). The return "
1380                    "code should be 0 if the request was successfully executed, "
1381                    "1 if the request is not supported and some other value if "
1382                    "an error occurred. In a subclass, the set of possible "
1383                    "return codes could be specified, using a ValueMap qualifier "
1384                    "on the method. The strings to which the ValueMap contents "
1385                    "are 'translated' may also be specified in the subclass as a "
1386                    "Values array qualifier.") ]
1387 karl  1.1    uint32 EnableDevice([IN] boolean Enabled);
1388           		[Description (
1389                    "Requests that the LogicalDevice be brought online (\"Online\" "
1390                    "input parameter = TRUE) or taken offline (= FALSE). "
1391                    "\"Online\" indicates that the Device is ready to accept "
1392                    "requests, and is operational and fully functioning. In this "
1393                    "case, the Device's Availability property would be set to "
1394                    "a value of 3 (\"Running/Full Power\"). \"Offline\" indicates "
1395                    "that a Device is powered up and operational, but not processing "
1396                    "functional requests. In an offline state, a Device may be capable "
1397                    "of running diagnostics or generating operational alerts. For "
1398                    "example, when the \"Offline\" button is pushed on a Printer, the "
1399                    "Device is no longer available to process print jobs, but "
1400                    "could be available for diagnostics or maintenance.\n"
1401                    "If this method is successful, the Device's Availability and "
1402                    "AdditionalAvailability properties should reflect the updated "
1403                    "status. If a failure occurs trying to bring the Device online "
1404                    "or offline, it should remain in its current state. IE, the "
1405                    "request, if unsuccessful, should not leave the Device in an "
1406                    "indeterminate state. When bringing a Device back \"Online\", "
1407                    "from an \"Offline\" mode, the Device should be restored to its "
1408 karl  1.1          "last \"Online\" state, if at all possible. Only a Device that "
1409                    "has a StatusInfo of \"Enabled\" (value=3) and has been "
1410                    "configured can be brought online or taken offline.\n"
1411                    "OnlineDevice should return 0 if successful, 1 if the request is not "
1412                    "supported at all, 2 if the request is not supported due to the "
1413                    "current state of the Device, and some other value if any other "
1414                    "error occurred. In a subclass, the set of possible return codes "
1415                    "could be specified, using a ValueMap qualifier on the method. "
1416                    "The strings to which the ValueMap contents are 'translated' may "
1417                    "also be specified in the subclass as a Values array qualifier.") ]
1418              uint32 OnlineDevice([IN] boolean Online);
1419                   [Description (
1420                    "Requests that the LogicalDevice cleanly cease all current activity " 
1421                    "(\"Quiesce\" input parameter = TRUE) or resume activity (= FALSE). For "
1422                    "this method to quiesce a Device, that Device should have an Availability "
1423                    "(or AdditionalAvailability) of \"Running/Full Power\" (value=3) and a Status"
1424                    "Info of \"Enabled\" (value=3). For example, if quiesced, a Device may "
1425                    "then be offlined for diagnostics, or disabled for power off and hot swap. "
1426                    "For the method to \"unquiesce\" a Device, that Device should have an "
1427                    "Availability (or AdditionalAvailability) of \"Quiesced\" (value=21) and "
1428                    "a StatusInfo of \"Enabled\" (value=3). In this case, the Device would "
1429 karl  1.1          "be returned to an \"Enabled\" and \"Running/Full Power\" status.\n"
1430                    "The method's return code should indicate the success or failure of the "
1431                    "quiesce. It should return 0 if successful, 1 if the request is not "
1432                    "supported at all, 2 if the request is not supported due to the "
1433                    "current state of the Device, and some other value if any other "
1434                    "error occurred. In a subclass, the set of possible return codes "
1435                    "could be specified, using a ValueMap qualifier on the method. "
1436                    "The strings to which the ValueMap contents are 'translated' may "
1437                    "also be specified in the subclass as a Values array qualifier.") ]
1438              uint32 QuiesceDevice([IN] boolean Quiesce);
1439                   [Description (
1440                    "Requests that the Device capture its current configuration, setup "
1441                    "and/or state information in a backing store. The goal would be to "
1442                    "use this information at a later time (via the RestoreProperties method), "
1443                    "to return a Device to its present \"condition\". This method may not be "
1444                    "supported by all Devices. The method should return 0 if successful, "
1445                    "1 if the request is not supported, and some other value if any other "
1446                    "error occurred. In a subclass, the set of possible return codes could "
1447                    "be specified, using a ValueMap qualifier on the method. The strings "
1448                    "to which the ValueMap contents are 'translated' may also be specified "
1449                    "in the subclass as a Values array qualifier.") ]
1450 karl  1.1    uint32 SaveProperties();
1451                   [Description (
1452                    "Requests that the Device re-establish its configuration, setup "
1453                    "and/or state information from a backing store. The intent is to "
1454                    "capture this information at an earlier time (via the SaveProperties method), "
1455                    "and use it to return a Device to this earlier \"condition\". This method may "
1456                    "not be supported by all Devices. The method should return 0 if successful, "
1457                    "1 if the request is not supported, and some other value if any other "
1458                    "error occurred. In a subclass, the set of possible return codes could "
1459                    "be specified, using a ValueMap qualifier on the method. The strings "
1460                    "to which the ValueMap contents are 'translated' may also be specified "
1461                    "in the subclass as a Values array qualifier.") ]
1462              uint32 RestoreProperties();        
1463           };  
1464              
1465           // ==================================================================
1466           //    Service
1467           // ==================================================================  
1468                   [Abstract, Description (
1469                    "A CIM_Service is a Logical Element that contains the "
1470                    "information necessary to represent and manage the "
1471 karl  1.1          "functionality provided by a Device and/or SoftwareFeature. "
1472                    "A Service is a general-purpose object to configure and "
1473                    "manage the implementation of functionality.  It is not the "
1474                    "functionality itself.") ] 
1475           class CIM_Service:CIM_LogicalElement
1476           {
1477                   [Key, MaxLen (256), Description (
1478           	   "CreationClassName indicates the name of the class or the "
1479           	   "subclass used in the creation of an instance. When used "
1480           	   "with the other key properties of this class, this property "
1481           	   "allows all instances of this class and its subclasses to "
1482           	   "be uniquely identified.") ]
1483               string CreationClassName;
1484                   [Override ("Name"), Key, MaxLen (256),
1485                    Description (
1486                    "The Name property uniquely identifies the Service and "
1487                    "provides an indication of the functionality that is "
1488                    "managed. This functionality is described in more detail in "
1489                    "the object's Description property. ") ] 
1490               string Name;
1491                   [MaxLen (10), Description (
1492 karl  1.1          "StartMode is a string value indicating whether the Service "
1493                    "is automatically started by a System, Operating System, etc. "
1494                    "or only started upon request."), 
1495           	   ValueMap {"Automatic", "Manual"} ] 
1496               string StartMode;
1497                   [Description (
1498                    "Started is a boolean indicating whether the Service "
1499                    "has been started (TRUE), or stopped (FALSE).") ] 
1500               boolean Started;
1501                   [Propagated ("CIM_System.CreationClassName"), Key, 
1502           	   MaxLen (256), Description (
1503                    "The scoping System's CreationClassName. ") ] 
1504               string SystemCreationClassName;
1505                   [Propagated ("CIM_System.Name"), Key, MaxLen (256),
1506                    Description ("The scoping System's Name.") ] 
1507               string SystemName;
1508                   [Description (
1509                    "The StartService method places the Service in the started "
1510                    "state. It returns an integer value of 0 if the Service was "
1511                    "successfully started, 1 if the request is not supported and "
1512                    "any other number to indicate an error. In a subclass, the "
1513 karl  1.1          "set of possible return codes could be specified, using a "
1514                    "ValueMap qualifier on the method. The strings to which the "
1515                    "ValueMap contents are 'translated' may also be specified in "
1516                    "the subclass as a Values array qualifier.") ] 
1517               uint32 StartService();
1518                   [Description (
1519                    "The StopService method places the Service in the stopped "
1520                    "state. It returns an integer value of 0 if the Service was "
1521                    "successfully stopped, 1 if the request is not supported and "
1522                    "any other number to indicate an error. In a subclass, the "
1523                    "set of possible return codes could be specified, using a "
1524                    "ValueMap qualifier on the method. The strings to which the "
1525                    "ValueMap contents are 'translated' may also be specified in "
1526                    "the subclass as a Values array qualifier.") ] 
1527               uint32 StopService();
1528           };
1529                
1530           // ==================================================================
1531           //    ServiceAccessPoint
1532           // ==================================================================
1533                   [Abstract, Description (
1534 karl  1.1          "CIM_ServiceAccessPoint represents the ability to utilize or "
1535                    "invoke a Service.  Access points represent that a Service is "
1536                    "made available to other entities for use.") ] 
1537           class CIM_ServiceAccessPoint:CIM_LogicalElement
1538           {
1539                   [Key, MaxLen (256), Description (
1540           	   "CreationClassName indicates the name of the class or the "
1541                    "subclass used in the creation of an instance. When used "
1542           	   "with the other key properties of this class, this property "
1543           	   "allows all instances of this class and its subclasses to "
1544           	   "be uniquely identified.") ]
1545               string CreationClassName;
1546                   [Override ("Name"), Key, MaxLen (256),
1547                    Description (
1548                    "The Name property uniquely identifies the ServiceAccessPoint "
1549                    "and provides an indication of the functionality that is "
1550                    "managed.  This functionality is described in more detail in "
1551                    "the object's Description property.") ] 
1552               string Name;
1553                   [Propagated ("CIM_System.CreationClassName"), Key, 
1554           	   MaxLen (256), Description (
1555 karl  1.1          "The scoping System's CreationClassName.") ] 
1556               string SystemCreationClassName;
1557                   [Propagated ("CIM_System.Name"), Key, MaxLen (256),
1558           	   Description ("The scoping System's Name.") ] 
1559               string SystemName;
1560           };
1561                
1562           // ==================================================================
1563           // Dependency   
1564           // ==================================================================
1565           	[Association, Abstract, Description (   
1566           	"CIM_Dependency is a generic association used to establish "   
1567           	"dependency relationships between ManagedElements.") ]    
1568           class CIM_Dependency    
1569           {   
1570           	[Key, Description (   
1571           	"Antecedent represents the independent object in this "   
1572           	"association.") ]    
1573             CIM_ManagedElement REF Antecedent;   
1574           	[Key, Description (   
1575               "Dependent represents the object dependent on the "   
1576 karl  1.1     "Antecedent.") ]    
1577             CIM_ManagedElement REF Dependent;   
1578           };   
1579                            
1580           // ==================================================================
1581           // MemberOfCollection    
1582           // ==================================================================
1583           	[Association, Aggregation, Description (   
1584           	"CIM_MemberOfCollection is an aggregation used to establish "   
1585           	"membership of ManagedElements in a Collection." ) ]  
1586           class CIM_MemberOfCollection  
1587           {   
1588           	[Key, Aggregate, Description ("The Collection that aggregates members") ]    
1589             CIM_Collection REF Collection;
1590           	[Key, Description ("The aggregated member of the collection.") ]    
1591             CIM_ManagedElement REF Member;   
1592           };   
1593           
1594           // ==================================================================
1595           //    CollectedMSEs
1596           // ==================================================================
1597 karl  1.1         [Association, Aggregation, Description (
1598                    "CIM_CollectedMSEs is a generic association used to "
1599                    "establish the members of the grouping object, CollectionOf"
1600                    "MSEs.") ]
1601           class CIM_CollectedMSEs : CIM_MemberOfCollection
1602           {
1603                   [Aggregate, Description (
1604                    "The grouping or 'bag' object that represents the "
1605                    "Collection."), Override("Collection") ]
1606              CIM_CollectionOfMSEs REF Collection;
1607                   [Description ("The members of the Collection."),
1608           	 Override("Member") ]
1609              CIM_ManagedSystemElement REF Member;
1610           };
1611           
1612           // ===================================================================
1613           //    DependencyContext
1614           // ===================================================================
1615                   [Association, Aggregation, Description (
1616                    "This relationship associates a Dependency with one or more "
1617                    "Configuration objects. For example, a ComputerSystem's "
1618 karl  1.1          "dependencies could change based on the site/network to which "
1619                    "the System is attached.") ]
1620           class CIM_DependencyContext
1621           {
1622                   [Aggregate, Key, Description (
1623                    "The Configuration object that aggregates the Dependency.") ]
1624              CIM_Configuration REF Context;
1625                   [Key, Description ("An aggregated Dependency.") ]
1626              CIM_Dependency REF Dependency;
1627           };
1628                
1629           // ==================================================================
1630           //    ServiceAccessBySAP
1631           // ==================================================================
1632                   [Association, Description (
1633                    "CIM_ServiceAccessBySAP is an association that identifies the "
1634                    "access points for a Service. For example, a printer may be "
1635                    "accessed by Netware, MacIntosh or Windows ServiceAccess"
1636                    "Points, potentially hosted on different Systems.") ] 
1637           class CIM_ServiceAccessBySAP:CIM_Dependency
1638           {
1639 karl  1.1         [Override ("Antecedent"),
1640           	   Description ("The Service. ") ] 
1641               CIM_Service REF Antecedent;
1642                   [Override ("Dependent"), Description (
1643           	   "An Access Point for a Service. Access points are dependent " 
1644                    "in this relationship since they have no function without a "
1645                    "corresponding Service. ") ] 
1646               CIM_ServiceAccessPoint REF Dependent;
1647           };
1648                
1649           // ==================================================================
1650           //    HostedService
1651           // ==================================================================
1652                   [Association, Description (
1653                    "CIM_HostedService is an association between a Service and "
1654                    "the System on which the functionality resides.  The "
1655                    "cardinality of this association is 1-to-many.  A System may "
1656                    "host many Services. Services are weak with respect to their "
1657                    "hosting System. Heuristic:  A Service is hosted on the "
1658                    "System where the LogicalDevices or SoftwareFeatures that "
1659                    "implement the Service are located.  The model does not "
1660 karl  1.1          "represent Services hosted across multiple systems.  This is "
1661                    "modeled as an ApplicationSystem that acts as an aggregation "
1662                    "point for Services, that are each located on a single "
1663                    "host.") ] 
1664           class CIM_HostedService:CIM_Dependency
1665           {
1666                   [Override ("Antecedent"), Max (1), Min (1),
1667           	   Description ("The hosting System.") ] 
1668               CIM_System REF Antecedent;
1669                   [Override ("Dependent"), Weak,
1670                    Description ("The Service hosted on the System.") ] 
1671               CIM_Service REF Dependent;
1672           };
1673                
1674           // ==================================================================
1675           //    HostedAccessPoint
1676           // ==================================================================
1677                   [Association, Description (
1678                    "CIM_HostedAccessPoint is an association between a Service"
1679                    "AccessPoint and the System on which it is provided.  The "
1680                    "cardinality of this association is 1-to-many and is weak "
1681 karl  1.1          "with respect to the System. Each System may host many "
1682           	   "ServiceAccessPoints.  Heuristic:  If the implementation of "
1683                    "the ServiceAccessPoint is modeled, it must be "
1684                    "implemented by a Device or SoftwareFeature that is part of "
1685                    "the System hosting the ServiceAccessPoint.") ] 
1686           class CIM_HostedAccessPoint:CIM_Dependency
1687           {
1688                   [Override ("Antecedent"), Max (1), Min (1), 
1689           	   Description ("The hosting System.") ] 
1690               CIM_System REF Antecedent;
1691                   [Override ("Dependent"), Weak,
1692           	 Description ("The SAP(s) that are hosted on this System.") ] 
1693               CIM_ServiceAccessPoint REF Dependent;
1694           };
1695              
1696           
1697           // ==================================================================
1698           //    ProvidesServiceToElement
1699           // ==================================================================
1700                   [Association, Description (
1701                    "CIM_ProvidesServiceToElement is used to describe that "
1702 karl  1.1 	   "ManagedElements may be dependent on the functionality "
1703                    "of one or more Services. An example is that a Processor "
1704                    "and an Enclosure (PhysicalElement) are dependent on AlertOn"
1705                    "LAN Services to signal an incomplete or erroneous boot, and "
1706                    "hardware-related errors.") ]
1707           class CIM_ProvidesServiceToElement : CIM_Dependency
1708           {
1709                   [Override ("Antecedent"), Description (
1710                    "The Service provided.") ]
1711              CIM_Service ref Antecedent;
1712                   [Override ("Dependent"), Description (
1713                    "The ManagedElement dependent on the Service.") ]
1714              CIM_ManagedElement ref Dependent;
1715           };
1716           
1717           
1718           // ==================================================================
1719           //    ServiceServiceDependency
1720           // ==================================================================
1721                   [Association, Description (
1722                    "CIM_ServiceServiceDependency is an association between a " 
1723 karl  1.1          "Service and another Service, indicating that the latter is "
1724                    "required to be present, required to have completed, or must " 
1725                    "be absent for the former Service to provide its "
1726                    "functionality. For example, Boot Services may be dependent "
1727                    "upon underlying BIOS Disk and initialization Services. "
1728                    "In the case of the initialization Services, the Boot Service "
1729                    "is simply dependent on the init Services completing.  For "
1730                    "the Disk Services, Boot Services may actually utilize the "
1731                     "SAPs of this Service.  This usage dependency is modeled via "
1732                    "the CIM_ServiceSAPDependency association.") ] 
1733           class CIM_ServiceServiceDependency:CIM_ProvidesServiceToElement
1734           {
1735                   [Override ("Antecedent"), 
1736                      Description ("The required Service.") ] 
1737               CIM_Service REF Antecedent;
1738                   [Override ("Dependent"), Description (
1739                    "The Service that is dependent on an underlying Service.") ] 
1740               CIM_Service REF Dependent;
1741                     [Description (
1742                    "The nature of the Service to Service dependency. This "
1743                      "property describes that the associated Service must have "
1744 karl  1.1            "completed (value=2), must be started (3) or must not be "
1745                      "started (4) in order for the Service to function."),  
1746                      Values {"Unknown", "Other", "Service Must Have Completed",
1747                            "Service Must Be Started", 
1748                            "Service Must Not Be Started"} ]
1749               uint16 TypeOfDependency;
1750           		[Description(
1751                    "this property describes that the antecedent service "
1752                    "must be restarted after the dependent operation is complete.")]
1753               boolean RestartService;
1754           };
1755           
1756           // ==================================================================
1757           //    ServiceSAPDependency
1758           // ==================================================================
1759                   [Association, Description (
1760                    "CIM_ServiceSAPDependency is an association between a Service "
1761                    "and a ServiceAccessPoint indicating that the referenced SAP "
1762                    "is utilized by the Service to provide its functionality. For "
1763                    "example, Boot Services may invoke BIOS' Disk Services "
1764                    "(interrupts) in order to function.") ] 
1765 karl  1.1 class CIM_ServiceSAPDependency:CIM_Dependency
1766           {
1767                   [Override ("Antecedent"), 
1768           	   Description ("The required ServiceAccessPoint") ] 
1769               CIM_ServiceAccessPoint REF Antecedent;
1770                   [Override ("Dependent"), Description (
1771                    "The Service that is dependent on an underlying SAP.") ] 
1772               CIM_Service REF Dependent;
1773           };
1774                
1775           // ==================================================================
1776           //    SAPSAPDependency
1777           // ==================================================================
1778                   [Association, Description (
1779                    "CIM_SAPSAPDependency is an association between a Service"
1780                    "AccessPoint and another ServiceAccessPoint indicating that "
1781                    "the latter is required in order for the former ServiceAccess"
1782                    "Point to utilize or connect with its Service. For example, "
1783                    "to print at a network printer, local Print Access Points "
1784                    "must utilize underlying network-related SAPs, or "
1785                    "ProtocolEndpoints, in order to send the print request.") ] 
1786 karl  1.1 class CIM_SAPSAPDependency:CIM_Dependency
1787           {
1788                   [Override ("Antecedent"), Description (
1789                    "The required ServiceAccessPoint.") ] 
1790               CIM_ServiceAccessPoint REF Antecedent;
1791                   [Override ("Dependent"), Description (
1792                    "The ServiceAccessPoint that is dependent on an underlying "
1793                    "SAP.") ] 
1794               CIM_ServiceAccessPoint REF Dependent;
1795           };
1796           
1797           // ==================================================================
1798           //    Realizes
1799           // ==================================================================
1800                   [Association, Description (
1801                    "CIM_Realizes is the association that defines the mapping "
1802                    "between a Logical Device and the physical component that "
1803                    "implements the Device.") ] 
1804           class CIM_Realizes:CIM_Dependency
1805           {
1806           	 [Override ("Antecedent"), Description (
1807 karl  1.1 	  "The physical component that implements the Device.") ]
1808               CIM_PhysicalElement REF Antecedent;
1809           	 [Override ("Dependent"), Description ("The LogicalDevice.") ]
1810               CIM_LogicalDevice REF Dependent;
1811           };
1812                
1813           // ==================================================================
1814           //    Component
1815           // ==================================================================
1816                   [Association, Abstract, Aggregation, Description (
1817                    "CIM_Component is a generic association used to establish "
1818                    "'part of' relationships between Managed System Elements. For "
1819                    "example, the SystemComponent association defines parts of "
1820                    "a System.") ] 
1821           class CIM_Component
1822           {
1823                   [Aggregate, Key, Description (
1824                    "The parent element in the association.") ] 
1825               CIM_ManagedSystemElement REF GroupComponent;
1826                   [Key, Description ("The child element in the association.") ] 
1827               CIM_ManagedSystemElement REF PartComponent;
1828 karl  1.1 };
1829                
1830           // ==================================================================
1831           //    SystemComponent
1832           // ==================================================================
1833                   [Association, Aggregation, Description (
1834                    "CIM_SystemComponent is a specialization of the CIM_Component "
1835                    "association that establishes 'part of' relationships between "
1836                    "a System and the Managed System Elements of which it is "
1837           	   "composed.") ] 
1838           class CIM_SystemComponent:CIM_Component
1839           {
1840                   [Override ("GroupComponent"), Aggregate, 
1841                    Description ("The parent System in the Association.") ] 
1842               CIM_System REF GroupComponent;
1843                   [Override ("PartComponent"), Description (
1844                    "The child element that is a component of a System.") ] 
1845               CIM_ManagedSystemElement REF PartComponent;
1846           };
1847                
1848           // ==================================================================
1849 karl  1.1 //    SystemDevice
1850           // ==================================================================
1851                   [Association, Aggregation, Description (
1852           	   "LogicalDevices may be aggregated by a System.  This " 
1853           	   "relationship is made explicit by the SystemDevice "
1854           	   "association. ") ]
1855           class CIM_SystemDevice:CIM_SystemComponent
1856           {
1857                   [Override ("GroupComponent"), Aggregate, Max (1), Min (1), 
1858                    Description ("The parent system in the Association.") ] 
1859               CIM_System REF GroupComponent;
1860                   [Override ("PartComponent"), Weak, Description (
1861                    "The LogicalDevice that is a component of a System.") ] 
1862               CIM_LogicalDevice REF PartComponent;
1863           };
1864           
1865           // ==================================================================
1866           //    ServiceComponent
1867           // ==================================================================
1868                   [Association, Aggregation, Description (
1869                    "The ServiceComponent aggregation models a set of "
1870 karl  1.1          "subordinate Services that are aggregated together to form "
1871                    "a higher-level service.") ]
1872           class CIM_ServiceComponent : CIM_Component
1873           {
1874                   [Override ("GroupComponent"), Aggregate, 
1875                    Description ("The parent Service.") ]
1876              CIM_Service REF GroupComponent;
1877                   [Override ("PartComponent"), 
1878                    Description ("The component Service.") ]
1879              CIM_Service REF PartComponent;
1880           };
1881                
1882           // ==================================================================
1883           //    Product
1884           // ==================================================================
1885                   [Description (
1886                    "CIM_Product is a concrete class that is a collection of "
1887                    "PhysicalElements, SoftwareFeatures and/or other Products, "
1888           	   "acquired as a unit. Acquisition implies an agreement "
1889           	   "between supplier and consumer which may have implications "
1890           	   "to Product licensing, support and warranty. Non-commercial "
1891 karl  1.1          "(e.g., in-house developed Products) should also be "
1892                    "identified as an instance of CIM_Product.") ] 
1893           class CIM_Product : CIM_ManagedElement
1894           {
1895                    [Key, MaxLen (64), Description (
1896                    "Product identification such as a serial number on software, "
1897                    "a die number on a hardware chip, or (for non-commercial "
1898                    "Products) a project number."), 
1899                    MappingStrings {"MIF.DMTF|ComponentID|001.4"} ] 
1900               string IdentifyingNumber;
1901                   [Key, MaxLen (256),
1902           	   Description ("Commonly used Product name."), 
1903           	   MappingStrings {"MIF.DMTF|ComponentID|001.2"} ] 
1904               string Name;
1905                   [MaxLen (64), Description (
1906           	   "Product SKU (stock keeping unit) information.") ] 
1907               string SKUNumber;
1908                   [Key, MaxLen (256), Description (
1909                    "The name of the Product's supplier, or entity selling the "
1910                    "Product (the manufacturer, reseller, OEM, etc.). Corresponds "
1911                    "to the Vendor property in the Product object in the DMTF "
1912 karl  1.1          "Solution Exchange Standard."), 
1913                    MappingStrings {"MIF.DMTF|ComponentID|001.1"} ] 
1914               string Vendor;
1915                   [Key, MaxLen (64), Description (
1916                    "Product version information.  Corresponds to the Version "
1917                    "property in the Product object in the DMTF Solution "
1918                    "Exchange Standard."), 
1919                    MappingStrings {"MIF.DMTF|ComponentID|001.3"} ] 
1920               string Version;
1921           		[Description (
1922           		"If this Product is under warranty, the start date of the "
1923           		"warranty."),
1924           		ModelCorrespondence {"CIM_Product.WarrantyDuration"},
1925           		MappingStrings {"MIF.DMTF|FRU|002.9"} ]
1926           	datetime WarrantyStartDate;
1927           		[Description (
1928           		"If this Product is under warranty, the duration of the "
1929           		"warranty in days."), Units ("Days"), 
1930           		ModelCorrespondence {"CIM_Product.WarrantyStartDate"},
1931           		MappingStrings {"MIF.DMTF|FRU|002.10"}]
1932           	uint32 WarrantyDuration;
1933 karl  1.1 };
1934                
1935           // ==================================================================
1936           //    ProductParentChild
1937           // ==================================================================
1938                   [Association, Aggregation, Description (
1939                    "The CIM_ProductParentChild association defines a parent "
1940                    "child hierarchy among Products.  For example, a Product may "
1941                    "come bundled with other Products. ") ] 
1942           class CIM_ProductParentChild
1943           {
1944                   [Aggregate, Key, Description (
1945           	   "The parent Product in the association.") ] 
1946               CIM_Product REF Parent;
1947                   [Key, Description ("The child Product in the association.") ] 
1948               CIM_Product REF Child;
1949           };
1950           
1951           // ==================================================================
1952           //    CompatibleProduct
1953           // ================================================================== 
1954 karl  1.1 	  [Association, Description ( 
1955           	   "CIM_CompatibleProduct is an association between Products " 
1956           	   "that can indicate a wide variety of information. For " 
1957           	   "example, it can indicate that the two referenced Products " 
1958           	   "interoperate, that they can be installed together, that " 
1959           	   "one can be the physical container for the other, etc. The " 
1960           	   "string property, CompatibilityDescription, defines how the " 
1961           	   "Products interoperate or are compatible, any limitations " 
1962           	   "regarding interoperability or installation, ...") ]
1963           class CIM_CompatibleProduct
1964           {
1965           	  [Key, Description ( 
1966           	   "The Product for which compatible offerings are defined.") ] 
1967               CIM_Product REF Product; 
1968           	  [Key, Description ("The compatible Product.") ]
1969               CIM_Product REF CompatibleProduct; 
1970           	  [Description ( 
1971           	   "CompatibilityDescription is a free-form string defining " 
1972           	   "how the two referenced Products interoperate or are " 
1973           	   "compatible, any limitations to compatibility, etc.") ]
1974               string CompatibilityDescription;
1975 karl  1.1 };
1976           
1977           // ==================================================================
1978           //    ProductProductDependency
1979           // ================================================================== 
1980           	  [Association, Description ( 
1981           	   "CIM_ProductProductDependency is an association between two " 
1982           	   "Products, indicating that one must be installed, or must be " 
1983           	   "absent, for the other to function. This is conceptually " 
1984           	   "equivalent to the ServiceServiceDependency association.") ] 
1985           class CIM_ProductProductDependency
1986           { 
1987           	  [Key, Description ("The required Product.") ] 
1988               CIM_Product REF RequiredProduct; 
1989           	  [Key, Description ( 
1990           	   "The Product that is dependent on another Product.") ] 
1991               CIM_Product REF DependentProduct; 
1992           	  [Description ( 
1993           	   "The nature of the Product dependency. This property " 
1994           	   "describes that the associated Product must be installed "
1995                    "(value=2) or must be absent (value=3) in order for the "
1996 karl  1.1          "Product to function."),  
1997           	   Values {"Unknown", "Other", "Product Must Be Installed", 
1998           	      "Product Must Not Be Installed"} ]
1999               uint16 TypeOfDependency; 
2000           };
2001                
2002           // ==================================================================
2003           //    SupportAccess
2004           // ==================================================================
2005                   [Description (
2006                    "The CIM_SupportAccess association defines how to obtain "
2007                    "assistance for a Product.") ] 
2008           class CIM_SupportAccess : CIM_ManagedElement
2009           {
2010                   [Description (
2011                    "CommunicationInfo provides the details of the Communication"
2012                    "Mode. For example, if the CommunicationMode is 'Phone', "
2013                    "CommunicationInfo specifies the phone number to be called."), 
2014                    MappingStrings {"MIF.DMTF|FRU|002.11", "MIF.DMTF|FRU|002.12"} ] 
2015               string CommunicationInfo;
2016                   [Description (
2017 karl  1.1          "CommunicationMode defines the form of communication in order "
2018                    "to obtain support. For example, phone communication (value"
2019           	   "=2), fax (3) or email (8) can be specified."), 
2020           	   ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"}, 
2021           	   Values {"Other", "Phone", "Fax", "BBS", 
2022                          "Online Service", "Web Page", "FTP", "E-mail"}, 
2023                    MappingStrings {"MIF.DMTF|Support|001.5"} ] 
2024               uint16 CommunicationMode;
2025                   [Override ("Description"), Description (
2026           	   "A textual description of the type of Support provided."),
2027           	   MappingStrings {"MIF.DMTF|Support|001.3"} ] 
2028               string Description;
2029                   [MaxLen (64), Description (
2030                    "Locale defines the geographic region and/or language dialect "
2031                    "to which this Support resource pertains."), 
2032           	   MappingStrings {"MIF.DMTF|Support|001.2"} ] 
2033               string Locale;
2034                   [Key, MaxLen (256), Description (
2035                    "SupportAccessID is an arbitrary, free form string defined by "
2036                    "the Product Vendor or by the organization that deploys the "
2037                    "Product.  This property, since it is a key, should be unique "
2038 karl  1.1          "throughout the enterprise.") ] 
2039               string SupportAccessId;
2040           };
2041                
2042           // ==================================================================
2043           //    ProductSupport
2044           // ==================================================================
2045                   [Association, Description (
2046                    "CIM_ProductSupport is an association between Product and "
2047                    "SupportAccess that conveys how support is obtained for the "
2048                    "Product.  This is a many-to-many relationship, implying that "
2049                    "various types of Support are available for a Product, and "
2050                    "that the same Support object can provide assistance for "
2051                    "multiple Products.") ] 
2052           class CIM_ProductSupport
2053           {
2054                   [Key, Description ("The Product.") ]     
2055               CIM_Product REF Product;
2056                   [Key, Description ("Support for the Product.") ]
2057               CIM_SupportAccess REF Support;
2058           };
2059 karl  1.1      
2060           // ==================================================================
2061           //    FRU
2062           // ==================================================================
2063                   [Description (
2064                    "The CIM_FRU class is a vendor-defined collection of Products "
2065                    "and/or PhysicalElements that is associated with a "
2066                    "Product for the purpose of supporting, maintaining or "
2067                    "upgrading that Product at the customer's location. FRU is "
2068                    "an acronym for 'field replaceable unit'. ") ] 
2069           class CIM_FRU : CIM_ManagedElement
2070           {
2071                  [Override ("Description"), Description ("A textual description of the FRU."), 
2072           	   MappingStrings {"MIF.DMTF|FRU|002.3"} ] 
2073               string Description;
2074                   [Key, MaxLen (64), Description ("FRU ordering information."), 
2075           	   MappingStrings {"MIF.DMTF|FRU|002.6"} ] 
2076               string FRUNumber;
2077                   [Key, MaxLen (64), Description (
2078                    "FRU identification such as a serial number on software or "
2079                    "a die number on a hardware chip."), 
2080 karl  1.1 	   MappingStrings {"MIF.DMTF|FRU|002.7"} ] 
2081               string IdentifyingNumber;
2082                   [Description ("FRU name."), MaxLen (256) ] 
2083               string Name;
2084                   [Key, MaxLen (256),
2085           	   Description ("The name of the FRU's supplier."), 
2086                    MappingStrings {"MIF.DMTF|FRU|002.4"} ] 
2087               string Vendor;
2088                   [MaxLen (64), Description ("The FRU's revision level."),
2089           	   MappingStrings {"MIF.DMTF|FRU|002.8"} ] 
2090               string RevisionLevel;
2091           };
2092                
2093           // ==================================================================
2094           //    ProductFRU
2095           // ==================================================================
2096                   [Association, Description (
2097                    "CIM_ProductFRU is an association between Product and FRU "
2098                    "that provides information regarding what Product components "
2099                    "have been or are being replaced.  The association is one to "
2100                    "many, conveying that a Product can have many FRUs, and that "
2101 karl  1.1          "a particular instance of a FRU is only applied to one " 
2102                    "(instance of a) Product.") ] 
2103           class CIM_ProductFRU
2104           {
2105                   [Max (1), Key, Description (
2106           	   "The Product to which the FRU is applied.") ] 
2107               CIM_Product REF Product;
2108           	  [Key, Description ("The FRU.") ]
2109               CIM_FRU REF FRU;
2110           };
2111                
2112           // ==================================================================
2113           //    ProductPhysicalElements
2114           // ==================================================================
2115           	  [Association, Aggregation, Description (
2116           	   "Indicates the PhysicalElements that make up a Product.") ]
2117           class CIM_ProductPhysicalElements
2118           {
2119           	  [Max (1), Aggregate, Key, Description ("The Product.") ]
2120               CIM_Product REF Product;
2121                   [Key, Description (
2122 karl  1.1 	   "The PhysicalElement which is a part of the Product.") ]
2123               CIM_PhysicalElement REF Component;
2124           };
2125           
2126           // ==================================================================
2127           //    FRUPhysicalElements
2128           // ==================================================================
2129           	  [Association, Aggregation, Description (
2130           	   "Indicates the PhysicalElements that make up a FRU.") ]
2131           class CIM_FRUPhysicalElements
2132           {
2133           	  [Max (1), Aggregate, Key, Description ("The FRU.") ]
2134               CIM_FRU REF FRU;
2135                   [Key, Description (
2136           	   "The PhysicalElement which is a part of the FRU.") ]
2137               CIM_PhysicalElement REF Component;
2138           };
2139           
2140           // ==================================================================
2141           //    FRUIncludesProduct
2142           // ==================================================================
2143 karl  1.1  	  [Association, Aggregation, Description (
2144           	   "Indicates that a FRU may be composed of other Product(s).") ]
2145           class CIM_FRUIncludesProduct
2146           {
2147           	  [Max (1), Aggregate, Key, Description ("The FRU.") ]
2148               CIM_FRU REF FRU;
2149                   [Key, Description (
2150           	   "The Product which is a part of the FRU.") ]
2151               CIM_Product REF Component;
2152           };
2153           
2154           // ==================================================================
2155           //    StatisticalInformation
2156           // ================================================================== 
2157           	  [Abstract, Description ( 
2158           	   "CIM_StatisticalInformation is a root class for any arbitrary " 
2159           	   "collection of statistical data and/or metrics applicable to " 
2160           	   "one or more ManagedSystemElements.") ] 
2161           class CIM_StatisticalInformation : CIM_ManagedElement
2162           { 
2163           	  [MaxLen (256), Description ( 
2164 karl  1.1 	   "The Name property defines the label by which the statistic " 
2165           	   "or metric is known. When subclassed, the property can be " 
2166           	   "overridden to be a Key property. ") ] 
2167               string Name; 
2168           };
2169           
2170           // ==================================================================
2171           //    Statistics
2172           // ================================================================== 
2173                   [Association, Description ( 
2174                    "CIM_Statistics is an association that relates Managed" 
2175                    "Elements to the StatisticalGroup(s) that apply to them.") ]
2176           class CIM_Statistics
2177           { 
2178                   [Key, Description ("The statistic information/object.") ] 
2179               CIM_StatisticalInformation REF Stats; 
2180                   [Key, Description ( 
2181                    "The ManagedElement for which statistical or metric " 
2182                    "data is defined.") ] 
2183               CIM_ManagedElement REF Element;
2184           };
2185 karl  1.1 
2186           // ==================================================================
2187           //    RelatedStatistics
2188           // ================================================================== 
2189           	  [Association, Description( 
2190           	   "CIM_RelatedStatistics is an association that defines " 
2191           	   "hierarchies and/or dependencies of related CIM_Statistical" 
2192           	   "Information classes.") ]
2193           class CIM_RelatedStatistics
2194           { 
2195           	  [Key, Description ("The statistic information/object.") ] 
2196               CIM_StatisticalInformation REF Stats; 
2197           	  [Key, Description ("The related statistics or metrics.") ] 
2198               CIM_StatisticalInformation REF RelatedStats;
2199           };
2200           
2201           // ==================================================================
2202           //    SystemStatisticalInformation
2203           // ==================================================================
2204                   [Description (
2205                    "Statistical information associated with a System object "
2206 karl  1.1          "or one of its subclasses.") ]
2207           class CIM_SystemStatisticalInformation : CIM_StatisticalInformation
2208           {
2209                   [Propagated("CIM_System.CreationClassName"), Key, 
2210                    MaxLen (256), Description (
2211                    "The scoping System's CreationClassName.") ]
2212              string SystemCreationClassName;
2213                   [Propagated("CIM_System.Name"), Key, MaxLen (256), 
2214                    Description ("The scoping System's Name.") ]
2215              string SystemName;
2216                   [Key, MaxLen (256), Description (
2217                    "CreationClassName indicates the name of the class or the "
2218                    "subclass used in the creation of an instance. When used "
2219                    "with the other key properties of this class, this property "
2220                    "allows all instances of this class and its subclasses to "
2221                    "be uniquely identified.") ]
2222              string CreationClassName;
2223                   [Key, MaxLen (256), Override ("Name"), Description (
2224           	   "The Name property, inherited from StatisticalInformation, "
2225                    "serves as part of the object key.") ]
2226              string Name;
2227 karl  1.1 };
2228           
2229           // ==================================================================
2230           //    SystemStatistics
2231           // ==================================================================
2232                   [Association, Description (
2233                    "SystemStatistics relates the SystemStatisticalInformation "
2234                    "class to the System to which it applies.") ]
2235           class CIM_SystemStatistics : CIM_Statistics
2236           {
2237                   [Override ("Stats"), Weak, Description (
2238                    "The statistical object.") ]
2239              CIM_SystemStatisticalInformation REF Stats;
2240                   [Override ("Element"), Min(1), Max(1), 
2241                    Description ( "The System to which the statistics apply.") ]
2242              CIM_System REF Element;
2243           };
2244           
2245           // ==================================================================
2246           //    ServiceStatisticalInformation
2247           // ==================================================================
2248 karl  1.1         [Description (
2249                    "Statistical information associated with a Service object "
2250                    "or one of its subclasses.") ]
2251           class CIM_ServiceStatisticalInformation : CIM_StatisticalInformation
2252           {
2253                   [Propagated("CIM_Service.SystemCreationClassName"), Key, 
2254                    MaxLen (256), Description (
2255                    "The scoping System's CreationClassName.") ]
2256              string SystemCreationClassName;
2257                   [Propagated("CIM_Service.SystemName"), Key, MaxLen (256), 
2258                    Description ("The scoping System's Name.") ]
2259              string SystemName;
2260                   [Propagated("CIM_Service.CreationClassName"), Key, 
2261                    MaxLen (256), Description (
2262                    "The scoping Service's CreationClassName.") ]
2263              string ServiceCreationClassName;
2264                   [Propagated("CIM_Service.Name"), Key, MaxLen (256), 
2265                    Description ("The scoping Service's Name.") ]
2266              string ServiceName;
2267                   [Key, MaxLen (256), Description (
2268                    "CreationClassName indicates the name of the class or the "
2269 karl  1.1          "subclass used in the creation of an instance. When used "
2270                    "with the other key properties of this class, this property "
2271                    "allows all instances of this class and its subclasses to "
2272                    "be uniquely identified.") ]
2273              string CreationClassName;
2274                   [Key, MaxLen (256), Override ("Name"), Description (
2275           	   "The Name property, inherited from StatisticalInformation, "
2276                    "serves as part of the object key.") ]
2277              string Name;
2278           };
2279           
2280           // ==================================================================
2281           //    ServiceStatistics
2282           // ==================================================================
2283                   [Association, Description (
2284                    "ServiceStatistics relates the ServiceStatisticalInformation "
2285                    "class to the Service to which it applies.") ]
2286           class CIM_ServiceStatistics : CIM_Statistics
2287           {
2288                   [Override ("Stats"), Weak, 
2289                    Description ( "The statistical object.") ]
2290 karl  1.1    CIM_ServiceStatisticalInformation REF Stats;
2291                   [Override ("Element"), Min(1), Max(1), 
2292                    Description ( "The Service to which the statistics apply.") ]
2293              CIM_Service REF Element;
2294           };
2295           
2296           // ==================================================================
2297           //    SAPStatisticalInformation
2298           // ==================================================================
2299                   [Description (
2300                    "Statistical information associated with a Service"
2301                    "AccessPoint object or one of its subclasses.") ]
2302           class CIM_SAPStatisticalInformation : CIM_StatisticalInformation
2303           {
2304                   [Propagated("CIM_ServiceAccessPoint.SystemCreationClassName"),  
2305                    Key, MaxLen (256), Description (
2306                    "The scoping System's CreationClassName.") ]
2307              string SystemCreationClassName;
2308                   [Propagated("CIM_ServiceAccessPoint.SystemName"), Key, 
2309           	   MaxLen (256), Description ("The scoping System's Name.") ]
2310              string SystemName;
2311 karl  1.1         [Propagated("CIM_ServiceAccessPoint.CreationClassName"), 
2312                    Key, MaxLen (256), Description (
2313                    "The scoping SAP's CreationClassName.") ]
2314              string SAPCreationClassName;
2315                   [Propagated("CIM_ServiceAccessPoint.Name"), Key, 
2316                    MaxLen (256), Description ("The scoping SAP's Name.") ]
2317              string SAPName;
2318                   [Key, MaxLen (256), Description (
2319                    "CreationClassName indicates the name of the class or the "
2320                    "subclass used in the creation of an instance. When used "
2321                    "with the other key properties of this class, this property "
2322                    "allows all instances of this class and its subclasses to "
2323                    "be uniquely identified.") ]
2324              string CreationClassName;
2325                   [Key, MaxLen (256), Override ("Name"), Description (
2326           	   "The Name property, inherited from StatisticalInformation, "
2327                    "serves as part of the object key.") ]
2328              string Name;
2329           };
2330           
2331           // ==================================================================
2332 karl  1.1 //    SAPStatistics
2333           // ==================================================================
2334                   [Association, Description (
2335                    "SAPStatistics relates the SAPStatisticalInformation "
2336                    "class to the ServiceAccessPoint to which it applies. ") ]
2337           class CIM_SAPStatistics : CIM_Statistics
2338           {
2339                   [Override ("Stats"), Weak, 
2340                    Description ( "The statistical object.") ]
2341              CIM_SAPStatisticalInformation REF Stats;
2342                   [Override ("Element"), Min(1), Max(1), Description (
2343                    "The ServiceAccessPoint to which the statistics apply.") ]
2344              CIM_ServiceAccessPoint REF Element;
2345           };
2346           
2347           // ==================================================================
2348           //    DeviceStatisticalInformation
2349           // ==================================================================
2350                   [Description (
2351                    "Statistical information associated with a LogicalDevice "
2352                    "or one of its subclasses.") ]
2353 karl  1.1 class CIM_DeviceStatisticalInformation : CIM_StatisticalInformation
2354           {
2355                   [Propagated("CIM_LogicalDevice.SystemCreationClassName"), Key, 
2356                    MaxLen (256), Description (
2357                    "The scoping System's CreationClassName.") ]
2358              string SystemCreationClassName;
2359                   [Propagated("CIM_LogicalDevice.SystemName"), Key, MaxLen (256), 
2360                    Description ("The scoping System's Name.") ]
2361              string SystemName;
2362                   [Propagated("CIM_LogicalDevice.CreationClassName"), Key, 
2363                    MaxLen (256), 
2364                    Description ("The scoping Device's CreationClassName.") ]
2365              string DeviceCreationClassName;
2366                   [Propagated("CIM_LogicalDevice.DeviceID"), Key, MaxLen (64), 
2367                    Description ("The scoping Device's ID.") ]
2368              string DeviceID;
2369                   [Key, MaxLen (256), Description (
2370                    "CreationClassName indicates the name of the class or the "
2371                    "subclass used in the creation of an instance. When used "
2372                    "with the other key properties of this class, this property "
2373                    "allows all instances of this class and its subclasses to "
2374 karl  1.1          "be uniquely identified.") ]
2375              string CreationClassName;
2376                   [Key, MaxLen (256), Override ("Name"), Description (
2377           	   "The Name property, inherited from StatisticalInformation, "
2378                    "serves as part of the object key.") ]
2379              string Name;
2380           };
2381           
2382           // ==================================================================
2383           //    DeviceStatistics
2384           // ==================================================================
2385                   [Association, Description (
2386                    "DeviceStatistics relates the DeviceStatisticalInformation "
2387                    "class to the LogicalDevice to which it applies. ") ]
2388           class CIM_DeviceStatistics : CIM_Statistics
2389           {
2390                   [Override ("Stats"), Weak, 
2391                    Description ( "The statistical object.") ]
2392              CIM_DeviceStatisticalInformation REF Stats;
2393                   [Override ("Element"), Min(1), Max(1), 
2394                    Description ("The Device to which the statistics apply.") ]
2395 karl  1.1    CIM_LogicalDevice REF Element;
2396           };
2397           
2398           // ==================================================================
2399           //    PhysicalStatisticalInformation
2400           // ==================================================================
2401                   [Description (
2402                    "Statistical information associated with a PhysicalElement "
2403                    "or one of its subclasses.") ]
2404           class CIM_PhysicalStatisticalInformation : CIM_StatisticalInformation
2405           {
2406                   [Propagated("CIM_PhysicalElement.CreationClassName"), Key, 
2407                    MaxLen (256), 
2408                    Description ("The scoping Element's CreationClassName.") ]
2409              string PhysicalCreationClassName;
2410                   [Propagated("CIM_PhysicalElement.Tag"), Key, MaxLen (256), 
2411                    Description ("The scoping Element's identifying Tag.") ]
2412              string Tag;
2413                   [Key, MaxLen (256), Description (
2414                    "CreationClassName indicates the name of the class or the "
2415                    "subclass used in the creation of an instance. When used "
2416 karl  1.1          "with the other key properties of this class, this property "
2417                    "allows all instances of this class and its subclasses to "
2418                    "be uniquely identified.") ]
2419              string CreationClassName;
2420                   [Key, MaxLen (256), Override ("Name"), Description (
2421           	   "The Name property, inherited from StatisticalInformation, "
2422                    "serves as part of the object key.") ]
2423              string Name;
2424           };
2425           
2426           // ==================================================================
2427           //    PhysicalStatistics
2428           // ==================================================================
2429                   [Association, Description (
2430                    "PhysicalStatistics relates the PhysicalStatisticalInformation "
2431                    "class to the PhysicalElement to which it applies. ") ]
2432           class CIM_PhysicalStatistics : CIM_Statistics
2433           {
2434                   [Override ("Stats"), Weak, 
2435                    Description ( "The statistical object.") ]
2436              CIM_PhysicalStatisticalInformation REF Stats;
2437 karl  1.1         [Override ("Element"), Min(1), Max(1), Description (
2438                    "The PhysicalElement to which the statistics apply.") ]
2439              CIM_PhysicalElement REF Element;
2440           };
2441           
2442           
2443           // ==================================================================
2444           //    Synchrononized
2445           // ==================================================================
2446              [Association, Description (
2447                  "Indicates that two LogicalElements were aligned or made to "
2448                  "be equivalent at the specified point in time. If the boolean "
2449                  "property SyncMaintained is TRUE, then synchronization "
2450                  "of the Elements is preserved. Both like and unlike objects "
2451                  "may be synchronized. For example, two WatchDog timers may be "
2452                  "aligned, or the contents of a LogicalFile may be synchronized "
2453                  "with the contents of a StorageExtent.") ]
2454           class CIM_Synchronized 
2455           {
2456                   [Key, Description (
2457                    "SystemElement represents one LogicalElement that is "
2458 karl  1.1          "synchronized with the entity referenced as SyncedElement.") ]
2459              CIM_LogicalElement ref SystemElement;
2460                   [Key, Description (
2461                    "SyncedElement represents another LogicalElement that is "
2462                    "synchronized with the entity referenced as SystemElement.") ]
2463              CIM_LogicalElement ref SyncedElement;
2464                   [Description (
2465                    "The point in time that the Elements were synchronized.") ]
2466              datetime WhenSynced;
2467                   [Description (
2468                    "Boolean indicating whether synchronization is "
2469                    "maintained.") ]
2470              boolean SyncMaintained;
2471           };
2472           
2473           // ==================================================================
2474           //     AdminDomain
2475           // ==================================================================
2476           		[Description (
2477           		"This is a special grouping of ManagedSystemElements. The "
2478           		"grouping is viewed as a single entity, reflecting that all "
2479 karl  1.1 		"of its components are administered similarly - either by "
2480           		"the same user, group of users or policy. It serves as "
2481           		"an aggregation point to associate one or more of the "
2482           		"following elements: network devices, such as routers and "
2483           		"switches, servers, and other resources that can be "
2484           		"accessed by end systems. This grouping of devices "
2485           		"plays an essential role in ensuring that the same "
2486           		"administrative policy and actions are applied to all "
2487           		"of the devices in the grouping. The specific behavior "
2488           		"and/or semantics of the AdminDomain can be identified "
2489           		"through its aggregated and associated entities."
2490           		"\n\n"
2491           		"The System class and its subclasses provide the scope for "
2492           		"numerous types of managed objects. As such, these classes "
2493           		"must have the ability to create unique keys. This attribute "
2494           		"is used by the System class and its subclasses to define a "
2495           		"unique Name, independent of the specific discovery protocol "
2496           		"used. Use of the heuristic is optional, but recommended."
2497           		"\n\n"
2498           		"AdminDomain is a part of the Core model, which has frequently "
2499           		"been used in the Networks Model to group "
2500 karl  1.1 		"together various network resources that must be "
2501           		"administered the same way, perhaps using the same "
2502           		"policies. Viewed in this light, its principal subclass is "
2503           		"AutonomousSystem.") ]
2504           class CIM_AdminDomain : CIM_System
2505           {
2506                   [Override ("NameFormat"), Description (
2507           		"The NameFormat property identifies how the Name of the "
2508           		"AdminDomain is generated, using the heuristic specified "
2509           		"in the CIM V2 System Model spec. It assumes that the "
2510           		"documented rules are traversed in order, to determine and "
2511           		"assign a Name. The NameFormat Values list defines the "
2512           		"precedence order for assigning the Name of the "
2513           		"AdminDomain."), 
2514                    ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",
2515                     "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",
2516                     "ATM", "E.164", "IB", "FC", "Policy Repository" },
2517                    Values {"Other", "Autonomous System",
2518                     "Network Access Provider", "Network Operations Center",
2519                     "Point of Presence", "Regional Network Provider",
2520                     "IP", "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN",
2521 karl  1.1           "Frame Relay", "ATM", "E.164", "Infiniband", 
2522                     "Fibre Channel", "Policy Repository"} ]
2523               string NameFormat;
2524           };
2525           
2526           
2527           // ==================================================================
2528           // Pragmas for new classes in premliminary release status
2529           // ==================================================================
2530           
2531           #pragma include ("CIM_Core25_Add.mof")
2532           
2533            
2534           // ===================================================================
2535           // end of file
2536           // ===================================================================
2537           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2