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

Diff for /pegasus/Schemas/CIM25/CIM_Core25.mof between version 1.1 and 1.1.2.1

version 1.1, 2001/04/08 22:06:43 version 1.1.2.1, 2001/08/07 11:01:19
Line 2 
Line 2 
 // Title:               Core MOF Specification 2.5 // Title:               Core MOF Specification 2.5
 // Filename:    CIM_Core25.MOF // Filename:    CIM_Core25.MOF
 // Version:     2.5 // Version:     2.5
 // Date:        12/19/2000  
 // Release:     0 // Release:     0
   // Date:        06/12/2001
   // ===================================================================
   // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
   // All rights reserved.
   // DMTF is a not-for-profit association of industry members dedicated
   // to promoting enterprise and systems management and interoperability.
   // DMTF specifications and documents may be reproduced for uses
   // consistent with this purpose by members and non-members,
   // provided that correct attribution is given.
   // As DMTF specifications may be revised from time to time,
   // the particular version and release cited should always be noted.
   // ===================================================================
 // Description: The object classes below are listed in an order that // Description: The object classes below are listed in an order that
 //              avoids forward references. Required objects, defined //              avoids forward references. Required objects, defined
 //                              by other working groups, are omitted. //                              by other working groups, are omitted.
 // =================================================================== // ===================================================================
 // Author:      DMTF System and Devices Working Group // Author:      DMTF System and Devices Working Group
 // Editor:      Michael A. Thatcher  
 // Date:                04/14/1998 - Version 2.0  
 // =================================================================== // ===================================================================
 //          06/16/1998 - V2.0 Errata //          06/16/1998 - V2.0 Errata
 //              - CR224, CIM_ missed in 3 class names //              - CR224, CIM_ missed in 3 class names
Line 128 
Line 137 
 //      Date 07/14/2000 Version 2.4 //      Date 07/14/2000 Version 2.4
 //              - CR505 //              - CR505
 //                      1. Clarify the subclassing of ServiceServiceDependency //                      1. Clarify the subclassing of ServiceServiceDependency
 //                      2. ProvidesServiceToElement needs to come before ServiceServiceDependency in MOF  //          2. ProvidesServiceToElement needs to come before
   //             ServiceServiceDependency in MOF
 //                      3. Update the Description for CollectionOfMSEs to include 'bags' //                      3. Update the Description for CollectionOfMSEs to include 'bags'
 //              - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in CIM_LogicalDevice.Availability  //      - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in
   //              CIM_LogicalDevice.Availability
 //      Date 12/01/2000 Version 2.5 //      Date 12/01/2000 Version 2.5
 //              - CR514j Add Deprecated qualifier //              - CR514j Add Deprecated qualifier
 //              - CR529 CIM_LogicalDisk.StatusInfo property description refers to it as //              - CR529 CIM_LogicalDisk.StatusInfo property description refers to it as
 //                      a string even though the property is a uint16 //                      a string even though the property is a uint16
 //              - CR532 Update description on PhysicalElement.OtherIdentifyingInfo to remove word "asset"  //      - CR532 Update description on PhysicalElement.OtherIdentifyingInfo
 //              - CR534 Update MappingStrings Qualifiers to stay in sync with updates to the MASTER.MIF.  //              to remove word "asset"
   //      - CR534 Update MappingStrings Qualifiers to stay in sync with
   //              updates to the MASTER.MIF.
 //              - CR536a Add EXPERIMENTAL Qualifier //              - CR536a Add EXPERIMENTAL Qualifier
 //              - CR537a Add Stopped as a valid state in the enumeration for ManagedSystemElement.Status.  //      - CR537a Add Stopped as a valid state in the enumeration for
   //               ManagedSystemElement.Status.
 //              - CR544a Add DN qualifier //              - CR544a Add DN qualifier
 //              - CR447e Add PropertyUsage qualifier //              - CR447e Add PropertyUsage qualifier
 //              - CR548a Add a methods to CIM_Setting to allow a subset of the properties in the  //      - CR548a Add a methods to CIM_Setting to allow a subset of the
 //                      CIM_Setting instance to be verified and/or applied  //               properties in the CIM_Setting instance to be verified
 //              - CR557 Change the reference for ProvidesServiceToElement.Dependent to ME (was MSE)  //               and/or applied
   //      - CR557 Change the reference for ProvidesServiceToElement.
   //              Dependent to ME (was MSE)
 //              - CR564 Move AdminDomain to the Core Model, change to concrete, //              - CR564 Move AdminDomain to the Core Model, change to concrete,
 //                      and update description //                      and update description
 //              - CR568a Corrections to CIM_CollectionOfMSEs Description //              - CR568a Corrections to CIM_CollectionOfMSEs Description
 //              - CR569 Add EmbeddedObject qualifier //              - CR569 Add EmbeddedObject qualifier
 //              - CR581 Revise the description of CIM_AdminDomain.NameFormat to alter reference to Network model  //      - CR581 Revise the description of CIM_AdminDomain.NameFormat
   //              to alter reference to Network model
 //              - CR585 Company review Changes from Compaq //              - CR585 Company review Changes from Compaq
 //                      1) Remove word "schema" from qualifier scope declarations per CIM_Spec_Errat221  //          1) Remove word "schema" from qualifier scope declarations
 //  //             per CIM_Spec_Errat221
   //  Date 05/20/2001 Version 2.5 Final
   //          Changed format of classes to be consistent.
   //          Changed order of class definition to match Visio
 // ================================================================== // ==================================================================
  
 // ================================================================== // ==================================================================
Line 263 
Line 283 
       Flavor(DisableOverride, ToSubclass);       Flavor(DisableOverride, ToSubclass);
 Qualifier Write : boolean = false, Scope(property); Qualifier Write : boolean = false, Scope(property);
  
   // ==================================================================
   //
   //  Elements and Collections
   //
   // ==================================================================
 // ================================================================== // ==================================================================
 // ManagedElement // ManagedElement
 // ================================================================== // ==================================================================
Line 271 
Line 295 
    "ManagedElement is an abstract class that provides a common "    "ManagedElement is an abstract class that provides a common "
         "superclass (or top of the inheritance tree) for the "         "superclass (or top of the inheritance tree) for the "
         "non-association classes in the CIM Schema.")]         "non-association classes in the CIM Schema.")]
    class CIM_ManagedElement  class CIM_ManagedElement {
    {  
      [MaxLen (64), Description (      [MaxLen (64), Description (
       "The Caption property is a short textual description (one-"       "The Caption property is a short textual description (one-"
       "line string) of the object.") ]       "line string) of the object.") ]
Line 283 
Line 306 
      string Description;      string Description;
    };    };
  
   
 // ================================================================== // ==================================================================
 //    ManagedSystemElement //    ManagedSystemElement
 // ================================================================== // ==================================================================
Line 293 
Line 317 
          "class. Examples: software components, such as files; and "          "class. Examples: software components, such as files; and "
          "devices, such as disk drives and controllers, and physical "          "devices, such as disk drives and controllers, and physical "
            "components such as chips and cards.") ]            "components such as chips and cards.") ]
 class CIM_ManagedSystemElement : CIM_ManagedElement  class CIM_ManagedSystemElement : CIM_ManagedElement {
 {  
         [Description (         [Description (
          "A datetime value indicating when the object was installed. "          "A datetime value indicating when the object was installed. "
          "A lack of a value does not indicate that the object is not "          "A lack of a value does not indicate that the object is not "
Line 345 
Line 368 
     string Status;     string Status;
 }; };
  
   
 // ================================================================== // ==================================================================
 // Collection // Collection
 // ================================================================== // ==================================================================
Line 352 
Line 376 
    "Collection is an abstract class that provides a common"    "Collection is an abstract class that provides a common"
    "superclass for data elements that represent collections of "    "superclass for data elements that represent collections of "
    "ManagedElements and its subclasses.")]    "ManagedElements and its subclasses.")]
   class CIM_Collection : CIM_ManagedElement  class CIM_Collection : CIM_ManagedElement {
   {  
   };   };
  
   
 // =================================================================== // ===================================================================
 //    CollectionOfMSEs //    CollectionOfMSEs
 // =================================================================== // ===================================================================
Line 386 
Line 410 
          "Collection in a proprietary manner, and thenquerying "          "Collection in a proprietary manner, and thenquerying "
          "the ElementSetting and ElementConfigurationassociations to "          "the ElementSetting and ElementConfigurationassociations to "
          "determine ifthe Collection set is completely covered.") ]          "determine ifthe Collection set is completely covered.") ]
 class CIM_CollectionOfMSEs : CIM_Collection  class CIM_CollectionOfMSEs : CIM_Collection {
 {  
         [MaxLen (256), Description (         [MaxLen (256), Description (
          "The identification of the Collection object. When subclassed, "          "The identification of the Collection object. When subclassed, "
          "the CollectionID property can be overridden to be a Key "          "the CollectionID property can be overridden to be a Key "
Line 395 
Line 418 
    string CollectionID;    string CollectionID;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    CollectedCollections //    CollectedCollections
 // ================================================================== // ==================================================================
Line 402 
Line 426 
          "CIM_CollectedCollections is an aggregation association "          "CIM_CollectedCollections is an aggregation association "
          "representing that a CollectionOfMSEs may itself be contained "          "representing that a CollectionOfMSEs may itself be contained "
          "in a CollectionOfMSEs.") ]          "in a CollectionOfMSEs.") ]
 class CIM_CollectedCollections  class CIM_CollectedCollections {
 {  
         [Aggregate, Key, Description (         [Aggregate, Key, Description (
          "The 'higher level' or parent element in the aggregation.") ]          "The 'higher level' or parent element in the aggregation.") ]
    CIM_CollectionOfMSEs REF Collection;    CIM_CollectionOfMSEs REF Collection;
Line 411 
Line 434 
    CIM_CollectionOfMSEs REF CollectionInCollection;    CIM_CollectionOfMSEs REF CollectionInCollection;
 }; };
  
   
 // ================================================================= // =================================================================
 //    PhysicalElement //    PhysicalElement
 // ================================================================== // ==================================================================
Line 431 
Line 455 
          "of Physical Element) to host more than one Logical Device. "          "of Physical Element) to host more than one Logical Device. "
          "The card would be represented by a single Physical Element "          "The card would be represented by a single Physical Element "
            "associated with multiple Logical Devices.") ]            "associated with multiple Logical Devices.") ]
 class CIM_PhysicalElement:CIM_ManagedSystemElement  class CIM_PhysicalElement : CIM_ManagedSystemElement {
 {        [Key, MaxLen (256), Description (
           "An arbitrary string that uniquely identifies the Physical"
           "Element and serves as the Element's key.  The Tag property "
           "can contain information such as asset tag or serial number "
           "data. The key for PhysicalElement is placed very high in the "
           "object hierarchy in order to independently identify the "
           "hardware/entity, regardless of physical placement in or on "
           "Cabinets, Adapters, etc.  For example, a hotswappable or "
           "removeable component may be taken from its containing "
           "(scoping) Package and be temporarily unused.  The object "
           "still continues to exist - and may even be inserted into a "
           "different scoping container.  Therefore, the key for Physical"
           "Element is an arbitrary string and is defined independently "
           "of any placement or location-oriented hierarchy.") ]
      string Tag;
         [Key, MaxLen (256), Description (         [Key, MaxLen (256), Description (
          "CreationClassName indicates the name of the class or the "          "CreationClassName indicates the name of the class or the "
          "subclass used in the creation of an instance. When used "          "subclass used in the creation of an instance. When used "
Line 457 
Line 495 
          "A manufacturer-allocated number used to identify the Physical"          "A manufacturer-allocated number used to identify the Physical"
          "Element.") ]          "Element.") ]
     string SerialNumber;     string SerialNumber;
         [Key, MaxLen (256), Description (  
          "An arbitrary string that uniquely identifies the Physical"  
            "Element and serves as the Element's key.  The Tag property "  
            "can contain information such as asset tag or serial number "  
            "data. The key for PhysicalElement is placed very high in the "  
            "object hierarchy in order to independently identify the "  
            "hardware/entity, regardless of physical placement in or on "  
            "Cabinets, Adapters, etc.  For example, a hotswappable or "  
            "removeable component may be taken from its containing "  
            "(scoping) Package and be temporarily unused.  The object "  
          "still continues to exist - and may even be inserted into a "  
            "different scoping container.  Therefore, the key for Physical"  
            "Element is an arbitrary string and is defined independently "  
            "of any placement or location-oriented hierarchy.") ]  
     string Tag;  
         [MaxLen (64), Description (         [MaxLen (64), Description (
            "A string indicating the version of the PhysicalElement.") ]            "A string indicating the version of the PhysicalElement.") ]
     string Version;     string Version;
Line 497 
Line 520 
         datetime ManufactureDate;         datetime ManufactureDate;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    LogicalElement //    LogicalElement
 // ================================================================== // ==================================================================
Line 505 
Line 529 
          "a System that represent abstract system components, such "          "a System that represent abstract system components, such "
          "as Files, Processes, or system capabilities in the form "          "as Files, Processes, or system capabilities in the form "
          "of Logical Devices.") ]          "of Logical Devices.") ]
 class CIM_LogicalElement:CIM_ManagedSystemElement  class CIM_LogicalElement : CIM_ManagedSystemElement {
 {  
 }; };
  
   
 // ================================================================== // ==================================================================
 //    LogicalIdentity //    LogicalIdentity
 // ================================================================== // ==================================================================
Line 528 
Line 552 
            "represent that a Device is both a 'bus' entity and a "            "represent that a Device is both a 'bus' entity and a "
            "'functional' entity. For example, a Device could be both a "            "'functional' entity. For example, a Device could be both a "
            "USB (bus) and a Keyboard (functional) entity.") ]            "USB (bus) and a Keyboard (functional) entity.") ]
 class CIM_LogicalIdentity  class CIM_LogicalIdentity {
 {  
         [Key, Description (         [Key, Description (
          "SystemElement represents one aspect of the Logical"          "SystemElement represents one aspect of the Logical"
            "Element.") ]            "Element.") ]
Line 540 
Line 563 
    CIM_LogicalElement ref SameElement;    CIM_LogicalElement ref SameElement;
 }; };
  
 // ===================================================================  
 //    Configuration  // ==================================================================
 // ===================================================================  //    System
         [Description (  // ==================================================================
          "The Configuration object allows the grouping of sets of "     [Abstract, Description (
          "parameters (defined in Setting objects) and dependencies for "       "A CIM_System is a LogicalElement that aggregates an "
          "one or more ManagedSystemElements. The Configuration object "       "enumerable set of Managed System Elements. The aggregation "
          "represents a certain behavior, or a desired functional state "       "operates as a functional whole. Within any particular "
          "for the ManagedSystemElements. The desired functional state "       "subclass of System, there is a well-defined list of "
          "is typically driven by external requirements such as time or "       "Managed System Element classes whose instances must be "
          "location. For example, to connect to a Mail System from "       "aggregated.") ]
          "'home', a dependency on a modem exists, but a dependency on "  class CIM_System : CIM_LogicalElement {
          "a network adapter exists at 'work'. Settings for the "  
            "pertinent LogicalDevices (in this example, POTSModem and "  
            "NetworkAdapter) can be defined and aggregated by the "  
            "Configuration. Therefore, two 'Connect to Mail' "  
            "Configurations may be defined grouping the relevant "  
            "dependencies and Setting objects.") ]  
 class CIM_Configuration : CIM_ManagedElement  
 {  
         [Key, MaxLen (256), Description (         [Key, MaxLen (256), Description (
          "The label by which the Configuration object is known.") ]          "CreationClassName indicates the name of the class or the "
           "subclass used in the creation of an instance. When used "
           "with the other key properties of this class, this property "
           "allows all instances of this class and its subclasses to "
           "be uniquely identified.") ]
      string CreationClassName;
         [Key, MaxLen (256), Override ("Name"), Description (
           "The inherited Name serves as key of a System instance in "
           "an enterprise environment.") ]
    string Name;    string Name;
         [MaxLen (64), Description (
           "The System object and its derivatives are Top Level Objects "
           "of CIM. They provide the scope for numerous components. "
           "Having unique System keys is required. A heuristic can be "
           "defined in individual System subclasses to attempt to always "
           "generate the same System Name Key. The NameFormat property "
           "identifies how the System name was generated, using "
           "the subclass' heuristic.") ]
      string NameFormat;
         [MaxLen (64), Description (
           "The name of the primary system owner."),
          MappingStrings {"MIF.DMTF|General Information|001.4"} ]
      string PrimaryOwnerName;
         [MaxLen (256), Description (
           "A string that provides information on how the primary system "
           "owner can be reached (e.g. phone number, email address, "
           "...)."),
          MappingStrings {"MIF.DMTF|General Information|001.3"} ]
      string PrimaryOwnerContact;
         [Description (
           "An array (bag) of strings that specify the roles this System "
           "plays in the IT-environment. Subclasses of System may "
           "override this property to define explicit Roles values. "
           "Alternately, a Working Group may describe the heuristics, "
           "conventions and guidelines for specifying Roles. For "
           "example, for an instance of a networking system, the Roles "
           "property might contain the string, 'Switch' or 'Bridge'.") ]
      string Roles[];
 }; };
  
 // ===================================================================  
 //    ConfigurationComponent  
 // ===================================================================  
         [Association, Aggregation, Description (  
            "ConfigurationComponent aggregates 'lower-level' "  
          "Configuration objects into a 'high-level' Configuration. "  
          "This enables the assembly of complex Configurations by "  
          "grouping together simpler ones. For example, a logon policy "  
          "for the United States could consist of two Configuration "  
          "groups, one for the east coast and one for the west coast. "  
          "Each of these could in turn consist of multiple "  
          "Configurations to handle different aspects of the logon "  
          "process.") ]  
 class CIM_ConfigurationComponent  
 {  
         [Aggregate, Key, Description (  
          "The Configuration that aggregates additional "  
          "Configurations." ) ]  
    CIM_Configuration REF ConfigGroup;  
           [Key, Description (  
          "A Configuration that is part of a 'higher-level' "  
          "Configuration.") ]  
    CIM_Configuration REF ConfigComponent;  
 };  
  
 // =================================================================== // ===================================================================
 //    ElementConfiguration  //    ComputerSystem
 // =================================================================== // ===================================================================
         [Association, Description (     [Abstract, Description (
          "This association relates a Configuration object to one or "       "A class derived from System that is a special collection of "
          "more ManagedSystemElements. The Configuration object "       "ManagedSystemElements. This collection provides "
          "represents a certain behavior, or a desired functional state "       "compute capabilities and serves as aggregation point to "
          "for the associated ManagedSystemElements.") ]       "associate one or more of the following elements: FileSystem, "
 class CIM_ElementConfiguration       "OperatingSystem, Processor and Memory (Volatile and/or "
 {       "NonVolatile Storage).") ]
         [Key, Description ("The ManagedSystemElement.")]  class CIM_ComputerSystem : CIM_System {
    CIM_ManagedSystemElement REF Element;        [Override ("NameFormat"), Description (
         [Key, Description (          "The ComputerSystem object and its derivatives are Top Level "
          "The Configuration object that groups the Settings and "          "Objects of CIM. They provide the scope for numerous "
          "dependencies associated with the ManagedSystemElement.") ]          "components. Having unique System keys is required. "
    CIM_Configuration REF Configuration;          "A heuristic is defined to create the ComputerSystem Name "
           "to attempt to always generate the same Name, independent of "
           "discovery protocol. This prevents inventory and management "
           "problems where the same asset or entity is discovered "
           "multiple times, but can not be resolved to a single object. "
           "Use of the heuristic is optional, but recommended.\n\n"
           "The NameFormat property identifies how the ComputerSystem "
           "Name is generated, using a heuristic. The heuristic is "
           "outlined, in detail, in the CIM V2 System Model spec. "
           "It assumes that the documented rules are traversed in order, "
           "to determine and assign a Name. The NameFormat Values "
           "list defines the precedence order for assigning the Computer"
           "System Name. Several rules do map to the same Value.\n\n"
           "Note that the ComputerSystem Name calculated using the "
           "heuristic is the System's key value. Other names can be "
           "assigned and used for the ComputerSystem, that better suit "
           "a business, using Aliases."),
          ValueMap {"Other", "IP", "Dial", "HID", "NWA", "HWA", "X25",
                    "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI"} ]
      string NameFormat;
         [MaxLen (256), ArrayType ("Indexed"), Description (
           "OtherIdentifyingInfo captures additional data, beyond "
           "System Name information, that could be used to identify "
           "a ComputerSystem. One example would be to hold the "
           "Fibre Channel World-Wide Name (WWN) of a node. Note that "
           "if only the Fibre Channel name is available and is "
           "unique (able to be used as the System key), then this "
           "property would be NULL and the WWN would become the "
           "System key, its data placed in the Name property."),
          ModelCorrespondence {
           "CIM_ComputerSystem.IdentifyingDescriptions"} ]
      string OtherIdentifyingInfo[];
         [ArrayType ("Indexed"), Description (
           "An array of free-form strings providing explanations "
           "and details behind the entries in the OtherIdentifying"
           "Info array. Note, each entry of this array is related "
           "to the entry in OtherIdentifyingInfo that is located at "
           "the same index."),
          ModelCorrespondence {
           "CIM_ComputerSystem.OtherIdentifyingInfo"} ]
      string IdentifyingDescriptions[];
         [Description (
           "Enumeration indicating whether the ComputerSystem is "
           "a special-purpose System (ie, dedicated to a particular "
           "use), versus being 'general purpose'. For example, one "
           "could specify that the System is dedicated to \"Print\" "
           "(value=11) or acts as a \"Hub\" (value=8)."),
          Values {"Not Dedicated", "Unknown", "Other", "Storage",
                  "Router", "Switch", "Layer 3 Switch",
                  "Central Office Switch", "Hub", "Access Server",
                  "Firewall", "Print", "I/O", "Web Caching", "Management"} ]
      uint16 Dedicated[];
 }; };
  
 // ===================================================================  
 //    CollectionConfiguration  
 // ===================================================================  
         [Association, Description (  
          "This association relates a Configuration object to one or "  
          "more CollectionOfMSEs objects. The Configuration object "  
          "represents a certain behavior, or a desired functional state "  
          "for the associated Collection.") ]  
 class CIM_CollectionConfiguration  
 {  
         [Key, Description ("The CollectionOfMSEs.") ]  
    CIM_CollectionOfMSEs REF Collection;  
         [Key, Description (  
          "The Configuration object that groups the Settings and "  
          "dependencies associated with the Collection.") ]  
    CIM_Configuration REF Configuration;  
 };  
  
 // =================================================================== // ===================================================================
 //    Setting  //    LogicalDevice
 // =================================================================== // ===================================================================
         [Abstract, Description (         [Abstract, Description (
          "The Setting class represents configuration-related and "       "An abstraction or emulation of a hardware entity, that may "
          "operational parameters for one or more ManagedSystem"       "or may not be Realized in physical hardware. Any "
          "Element(s). A ManagedSystemElement may have multiple Setting "       "characteristics of a LogicalDevice that are used to manage "
          "objects associated with it. The current operational values "       "its operation or configuration are contained in, or "
          "for an Element's parameters are reflected by properties in "       "associated with, the LogicalDevice object. Examples of the "
          "the Element itself or by properties in its associations. "       "operational properties of a Printer would be paper sizes "
          "These properties do not have to be the same values present "       "supported, or detected errors. Examples of the configuration "
          "in the Setting object. For example, a modem may have a "       "properties of a Sensor Device would be threshold settings. "
          "Setting baud rate of 56Kb/sec but be operating "       "Various configurations could exist for a LogicalDevice. "
          "at 19.2Kb/sec.") ]       "These configurations could be contained in Setting objects "
 class CIM_Setting : CIM_ManagedElement       "and associated with the LogicalDevice.") ]
 {  class CIM_LogicalDevice : CIM_LogicalElement {
         [MaxLen (256), Description (        [Propagated("CIM_System.CreationClassName"),
          "The identifier by which the Setting object is known.") ]         Key, MaxLen (256), Description (
    string SettingID;          "The scoping System's CreationClassName.") ]
          [Description (     string SystemCreationClassName;
          "The VerifyOKToApplyToMSE method is used to verify that "        [Propagated("CIM_System.Name"),
          "this Setting can be 'applied' to the referenced Managed"         Key, MaxLen (256), Description (
          "SystemElement, at the given time or time interval. This "          "The scoping System's Name.") ]
          "method takes three input parameters: MSE (the Managed"     string SystemName;
          "SystemElement that is being verified), TimeToApply (which, "        [Key, MaxLen (256), Description (
          "being a datetime, can be either a specific time or a time "          "CreationClassName indicates the name of the class or "
          "interval), and MustBeCompletedBy (which indicates the "          "the subclass used in the creation of an instance. When "
          "required completion time for the method). The return "          "used with the other key properties of this class, this "
          "value should be 0 if it is OK to apply the Setting, 1 if "          "property allows all instances of this class and its "
          "the method is not supported, 2 if the Setting can not be "          "subclasses to be uniquely identified.") ]
          "applied within the specified times, and any other number "     string CreationClassName;
          "if an error occurred. In a subclass, the "        [Key, MaxLen (64), Description (
          "set of possible return codes could be specified, using a "          "An address or other identifying information to uniquely "
          "ValueMap qualifier on the method. The strings to which the "          "name the LogicalDevice.") ]
          "ValueMap contents are 'translated' may also be specified in "     string DeviceID;
          "the subclass as a Values array qualifier.") ]  
    uint32 VerifyOKToApplyToMSE([IN] CIM_ManagedSystemElement ref MSE,  
     [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy);  
         [Description (         [Description (
          "The ApplyToMSE method performs the actual application of "          "Boolean indicating that the Device can be power managed "
          "the Setting to the referenced ManagedSystemElement. It "          "- ie, put into a power save state. This boolean does not "
          "takes three input parameters: MSE (the ManagedSystem"          "indicate that power management features are currently "
          "Element to which the Setting is being applied), "          "enabled, or if enabled, what features are supported. "
          "TimeToApply (which, being a datetime, can be either a "          "Refer to the PowerManagementCapabilities array for this "
          "specific time or a time interval), and MustBeCompletedBy "          "information. If this boolean is false, the integer value "
          "(which indicates the required completion time for the "          "1, for the string, \"Not Supported\", should be the only "
          "method). Note that the semantics of this method are that "          "entry in the PowerManagementCapabilities array.") ]
          "individual Settings are either wholly applied or not "     boolean PowerManagementSupported;
          "applied at all to their target ManagedSystemElement. The "  
          "return value should be 0 if the Setting is successfully "  
          "applied to the referenced ManagedSystemElement, 1 if the "  
          "method is not supported, 2 if the Setting was not applied "  
          "within the specified times, and any other number if an "  
          "error occurred. In a subclass, the set of possible return "  
          "codes could be specified, using a ValueMap qualifier on "  
          "the method. The strings to which the ValueMap contents are "  
          "'translated' may also be specified in the subclass as a "  
          "Values array qualifier.\n"  
          "Note: If an error occurs in applying the Setting to a "  
          "ManagedSystemElement, the Element must be configured as "  
          "when the 'apply' attempt began. That is, the Element "  
          "should NOT be left in an indeterminate state.") ]  
    uint32 ApplyToMSE([IN] CIM_ManagedSystemElement ref MSE,  
     [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy);  
         [Description (         [Description (
          "The VerifyOKToApplyToCollection method is used to verify "          "Indicates the specific power-related capabilities of a "
          "that this Setting can be 'applied' to the referenced "          "LogicalDevice. The array values, 0=\"Unknown\", 1="
          "Collection of ManagedSystemElements, at the given time "          "\"Not Supported\" and 2=\"Disabled\" are self-explanatory. "
          "or time interval, without causing adverse effects to "          "The value, 3=\"Enabled\" indicates that the power management "
          "either the Collection itself or its surrounding "          "features are currently enabled but the exact feature set "
          "environment. The net effect is to execute the "          "is unknown or the information is unavailable. "
          "VerifyOKToApply method against each of the Elements "          "\"Power Saving Modes Entered Automatically\" (4) describes "
          "aggregated by the Collection. This method takes three "          "that a Device can change its power state based on usage or "
          "input parameters: Collection (the Collection of Managed"          "other criteria. \"Power State Settable\" (5) indicates that "
          "SystemElements that is being verified), TimeToApply (which, "          "the SetPowerState method is supported. \"Power Cycling "
          "being a datetime, can be either a specific time or a time "          "Supported\" (6) indicates that the SetPowerState method "
          "interval), and MustBeCompletedBy (which indicates the "          "can be invoked with the PowerState input variable set to 5 ("
          "required completion time for the method). The return "          "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "
          "value should be 0 if it is OK to apply the Setting, 1 if "          "that the SetPowerState method can be invoked with the Power"
          "the method is not supported, 2 if the Setting can not be "          "State input variable set to 5 (\"Power Cycle\") and the Time "
          "applied within the specified times, and any other number if "          "parameter set to a specific date and time, or interval, "
          "an error occurred. One output parameter is defined - "          "for power-on."),
          "CanNotApply - which is a string array that lists the keys of "         Values {"Unknown", "Not Supported", "Disabled",
          "the ManagedSystemElements to which the Setting can NOT be "                 "Enabled", "Power Saving Modes Entered Automatically",
          "applied. This enables those Elements to be revisited and "                 "Power State Settable", "Power Cycling Supported",
          "either fixed, or other corrective action taken.\n"                 "Timed Power On Supported"} ]
          "In a subclass, the set of possible return codes could be "     uint16 PowerManagementCapabilities[];
          "specified, using a ValueMap qualifier on the method. The "  
          "strings to which the ValueMap contents are 'translated' may "  
          "also be specified in the subclass as a Values array "  
          "qualifier.") ]  
    uint32 VerifyOKToApplyToCollection (  
     [IN] CIM_CollectionOfMSEs ref Collection,  
     [IN] datetime TimeToApply, [IN] datetime MustBeCompletedBy,  
     [OUT] string CanNotApply[]);  
         [Description (         [Description (
          "The ApplyToCollection method performs the application of "          "The primary availability and status of the Device. (Additional "
          "the Setting to the referenced Collection of ManagedSystem"          "status information can be specified using the AdditionalAvailability "
          "Elements. The net effect is to execute the ApplyToMSE "          "array property.) For example, the Availability property indicates "
          "method against each of the Elements aggregated by the "          "that the Device is running and has full power (value=3), or is in "
          "Collection. If the input value ContinueOnError is FALSE, "          "a warning (4), test (5), degraded (10) or power save state (values "
          "this method applies the Setting to all Elements in the "          "13-15 and 17). Regarding the Power Save states, these are defined "
          "Collection until it encounters an error, in which case it "          "as follows: Value 13 (\"Power Save - Unknown\") indicates "
          "stops execution, logs the key of the Element that caused "          "that the Device is known to be in a power save mode, but its "
          "the error in the CanNotApply array, and issues a return code "          "exact status in this mode is unknown; 14 (\"Power Save - Low "
          "of 2. If the input value ContinueOnError is TRUE, then this "          "Power Mode\") indicates that the Device is in a power save "
          "method applies the Setting to all the ManagedSystemElements "          "state but still functioning, and may exhibit degraded "
          "in the Collection, and reports the failed Elements in the "          "performance; 15 (\"Power Save - Standby\") describes that "
          "array, CanNotApply. For the latter, processing will continue "          "the Device is not functioning but could be brought to full "
          "until the method is applied to all Elements in the "          "power 'quickly'; and value 17 (\"Power Save - Warning\") "
          "Collection, regardless of any errors encountered. The key of "          "indicates that the Device is in a warning state, though also "
          "each ManagedSystemElement to which the Setting could not be "          "in a power save mode."),
          "applied is logged into the CanNotApply array. This method "         ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
          "takes four input parameters: Collection (the Collection of "                  "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
          "Elements to which the Setting is being applied), TimeToApply "                  "20", "21"},
          "(which, being a datetime, can be either a specific time or a "         Values {"Other", "Unknown", "Running/Full Power", "Warning",
          "time interval), ContinueOnError (TRUE means to continue "                 "In Test", "Not Applicable", "Power Off", "Off Line",
          "processing on encountering an error), and MustBeCompletedBy "                 "Off Duty", "Degraded", "Not Installed", "Install Error",
          "(which indicates the required completion time for the "                 "Power Save - Unknown", "Power Save - Low Power Mode",
          "method). The return value should be 0 if the Setting is "                 "Power Save - Standby", "Power Cycle","Power Save - Warning",
          "successfully applied to the referenced Collection, 1 if the "                 "Paused", "Not Ready", "Not Configured", "Quiesced"},
          "method is not supported, 2 if the Setting was not applied "         MappingStrings {"MIF.DMTF|Operational State|006",
          "within the specified times, 3 if the Setting can not be "          "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
          "applied using the input value for ContinueOnError, and any "          "MIF.DMTF|Host Device|001.5"},
          "other number if an error occurred. One output parameter is "         ModelCorrespondence {"CIM_LogicalDevice.AdditionalAvailability"}]
          "defined, CanNotApplystring, which is an array that lists "     uint16 Availability;
          "the keys of the ManagedSystemElements to which the Setting "  
          "was NOT able to be applied. This output parameter has "  
          "meaning only when the ContinueOnError parameter is TRUE.\n"  
          "In a subclass, the set of possible return codes could be "  
          "specified, using a ValueMap qualifier on the method. The "  
          "strings to which the ValueMap contents are 'translated' may "  
          "also be specified in the subclass as a Values array "  
          "qualifier.\n"  
          "Note: if an error occurs in applying the Setting to a "  
          "ManagedSystemElement in the Collection, the Element must be "  
          "configured as when the 'apply' attempt began. That is, the "  
          "Element should NOT be left in an indeterminate state.") ]  
    uint32 ApplyToCollection([IN] CIM_CollectionOfMSEs ref Collection,  
     [IN] datetime TimeToApply, [IN] boolean ContinueOnError,  
     [IN] datetime MustBeCompletedBy, [OUT] string CanNotApply[]);  
                  [Description (                  [Description (
          "The VerifyOKToApplyIncrementalChangeToMSE method "          "The StatusInfo property indicates whether the Logical"
          "is used to verify that a subset of the properties in "          "Device is in an enabled (value = 3), disabled (value = "
          "this Setting can be 'applied' to the referenced Managed"          "4) or some other (1) or unknown (2) state. If this "
          "SystemElement, at the given time or time interval. This "          "property does not apply to the LogicalDevice, the value, "
          "method takes four input parameters: MSE (the Managed"          "5 (\"Not Applicable\"), should be used.  "
          "SystemElement that is being verified), TimeToApply (which, "          "If a Device is (\"Enabled\")(value=3), it has been "
          "being a datetime, can be either a specific time or a time "          "powered up, and is configured and operational.  The Device "
          "interval), MustBeCompletedBy (which indicates the "          "may or may not be functionally active, depending on whether "
          "required completion time for the method), and a "          "its Availability (or AdditionalAvailability) indicate that "
          "PropertiesToApply array (which contains a list of the "          "it is (\"Running/Full Power\")(value=3) or (\"Off line\")"
          "property names whose values will be verified. "          "(value=8). In an enabled but offline mode, a Device may be "
          "If they array is null or empty or constains the string \"all\" "          "performing out-of-band requests, such as running Diagnostics.  "
          "as a property name then all Settings properties shall be "          "If (\"Disabled\") StatusInfo value=4), a Device can only be "
          "verified.  If it is set to \"none\" then no Settings properties "          "\"enabled\" or powered off.  In a personal computer environment, "
          "will be verified). The return "          "(\"Disabled\") means that the Device's driver is not "
          "value should be 0 if it is OK to apply the Setting, 1 if "          "available in the stack. In other environments, a Device can "
          "the method is not supported, 2 if the Setting can not be "          "be disabled by removing its configuration file. A disabled "
          "applied within the specified times, and any other number "          "device is physically present in a System and consuming "
          "if an error occurred. In a subclass, the "          "resources, but can not be communicated with until a load "
          "set of possible return codes could be specified, using a "          "of a driver, a load of a configuration file or some other "
          "ValueMap qualifier on the method. The strings to which the "          "\"enabling\" activity has occurred."),
          "ValueMap contents are 'translated' may also be specified in "         ValueMap {"1", "2", "3", "4", "5"},
          "the subclass as a Values array qualifier.") ]         Values {"Other", "Unknown", "Enabled",
    uint32 VerifyOKToApplyIncrementalChangeToMSE(                 "Disabled", "Not Applicable"},
     [IN] CIM_ManagedSystemElement ref MSE,         MappingStrings {"MIF.DMTF|Operational State|006"} ]
     [IN] datetime TimeToApply,     uint16 StatusInfo;
     [IN] datetime MustBeCompletedBy,  
     [IN] string PropertiesToApply[]);  
         [Description (         [Description (
          "The ApplyIncrementalChangeToMSE method performs the "          "LastErrorCode captures the last error code reported by "
          "actual application of  a subset of the properties in "          "the LogicalDevice.")]
          "the Setting to the referenced ManagedSystemElement. It "     uint32 LastErrorCode;
          "takes four input parameters: MSE (the ManagedSystem"  
          "Element to which the Setting is being applied), "  
          "TimeToApply (which, being a datetime, can be either a "  
          "specific time or a time interval), MustBeCompletedBy "  
          "(which indicates the required completion time for the "  
          "method), and a "  
          "PropertiesToApply array (which contains a list of the "  
          "property names whose values will be applied. If a "  
          "property is not in this list, it will be ignored by the apply. "  
          "If they array is null or empty or constains the string \"all\" "  
          "as a property name then all Settings properties shall be "  
          "applied.  If it is set to \"none\" then no Settings properties "  
          "will be applied. ). "  
          "Note that the semantics of this method are that "  
          "individual Settings are either wholly applied or not "  
          "applied at all to their target ManagedSystemElement. The "  
          "return value should be 0 if the Setting is successfully "  
          "applied to the referenced ManagedSystemElement, 1 if the "  
          "method is not supported, 2 if the Setting was not applied "  
          "within the specified times, and any other number if an "  
          "error occurred. In a subclass, the set of possible return "  
          "codes could be specified, using a ValueMap qualifier on "  
          "the method. The strings to which the ValueMap contents are "  
          "'translated' may also be specified in the subclass as a "  
          "Values array qualifier.\n"  
          "Note: If an error occurs in applying the Setting to a "  
          "ManagedSystemElement, the Element must be configured as "  
          "when the 'apply' attempt began. That is, the Element "  
          "should NOT be left in an indeterminate state.") ]  
    uint32 ApplyIncrementalChangeToMSE(  
     [IN] CIM_ManagedSystemElement ref MSE,  
     [IN] datetime TimeToApply,  
     [IN] datetime MustBeCompletedBy,  
     [IN] string PropertiesToApply[]);  
         [Description (         [Description (
          "The VerifyOKToApplyIncrementalChangeToCollection method "          "ErrorDescription is a free-form string supplying more "
          "is used to verify that a subset of the properties in "          "information about the error recorded in LastErrorCode, and "
          "this Setting can be 'applied' to the referenced "          "information on any corrective actions that may be taken.")]
          "Collection of ManagedSystemElements, at the given time "     string ErrorDescription;
          "or time interval, without causing adverse effects to "        [Description (
          "either the Collection itself or its surrounding "          "ErrorCleared is a boolean property indicating that the "
          "environment. The net effect is to execute the "          "error reported in LastErrorCode is now cleared.")]
          "VerifyOKToApplyIncrementalChangeToMSE method "     boolean ErrorCleared;
          "against each of the Elements "        [MaxLen (256), ArrayType ("Indexed"), Description (
          "aggregated by the Collection. This method takes three "          "OtherIdentifyingInfo captures additional data, beyond "
          "input parameters: Collection (the Collection of Managed"          "DeviceID information, that could be used to identify a "
          "SystemElements that is being verified), TimeToApply (which, "          "LogicalDevice. One example would be to hold the Operating"
          "being a datetime, can be either a specific time or a time "          "System's user friendly name for the Device in this "
          "interval), MustBeCompletedBy (which indicates the "          "property."),
          "required completion time for the method), and a "         ModelCorrespondence {
          "PropertiesToApply array (which contains a list of the "          "CIM_LogicalDevice.IdentifyingDescriptions"} ]
          "property names whose values will be verified. "     string OtherIdentifyingInfo[];
          "If they array is null or empty or constains the string \"all\" "        [Description (
          "as a property name then all Settings properties shall be "          "The number of consecutive hours that this Device has been "
          "verified.  If it is set to \"none\" then no Settings properties "          "powered, since its last power cycle."),
          "will be verified). The return "         Units ("Hours"), Counter ]
          "value should be 0 if it is OK to apply the Setting, 1 if "     uint64 PowerOnHours;
          "the method is not supported, 2 if the Setting can not be "        [Description (
          "applied within the specified times, and any other number if "          "The total number of hours that this Device has been "
          "an error occurred. One output parameter is defined - "          "powered."),
          "CanNotApply - which is a string array that lists the keys of "         Units ("Hours"), Counter ]
          "the ManagedSystemElements to which the Setting can NOT be "     uint64 TotalPowerOnHours;
          "applied. This enables those Elements to be revisited and "        [ArrayType ("Indexed"), Description (
          "either fixed, or other corrective action taken.\n"          "An array of free-form strings providing explanations "
          "In a subclass, the set of possible return codes could be "          "and details behind the entries in the OtherIdentifyingInfo "
          "specified, using a ValueMap qualifier on the method. The "          "array. Note, each entry of this array is related to the "
          "strings to which the ValueMap contents are 'translated' may "          "entry in OtherIdentifyingInfo that is located at the same "
          "also be specified in the subclass as a Values array "          "index."),
          ModelCorrespondence {"CIM_LogicalDevice.OtherIdentifyingInfo"} ]
      string IdentifyingDescriptions[];
         [Description (
           "Additional availability and status of the Device, beyond that "
           "specified in the Availability property. The Availability property "
           "denotes the primary status and availability of the Device. In "
           "some cases, this will not be sufficient to denote the complete "
           "status of the Device.  In those cases, the AdditionalAvailability "
           "property can be used to provide further information. For example, "
           "a Device's primary Availability may be \"Off line\" (value=8), "
           "but it may also be in a low power state (AdditonalAvailability "
           "value=14), or the Device could be running Diagnostics (Additional"
           "Availability value=5, \"In Test\")."),
          ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
                    "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
                    "20", "21"},
          Values {"Other", "Unknown", "Running/Full Power", "Warning",
                  "In Test", "Not Applicable", "Power Off", "Off Line",
                  "Off Duty", "Degraded", "Not Installed", "Install Error",
                  "Power Save - Unknown", "Power Save - Low Power Mode",
                  "Power Save - Standby", "Power Cycle",
                  "Power Save - Warning", "Paused", "Not Ready",
                  "Not Configured", "Quiesced"},
          ModelCorrespondence {"CIM_LogicalDevice.Availability"}]
      uint16 AdditionalAvailability[];
         [Description (
           "Maximum time in milliseconds, that a Device can run in "
           "a \"Quiesced\" state. A Device's state is defined in its "
           "Availability and AdditionalAvailability properties, where "
           "\"Quiesced\" is conveyed by the value 21. What occurs at "
           "the end of the time limit is device-specific. The Device "
           "may unquiesce, may offline or take other action. A value of "
           "0 indicates that a Device can remain quiesced indefinitely."),
          Units ("MilliSeconds")]
      uint64 MaxQuiesceTime;
         [Description(
           "SetPowerState defines the desired power state for a "
           "LogicalDevice and when a Device should be put into that "
           "state. The desired power state is specified by setting "
           "the PowerState parameter to one of the "
           "following integer values: 1=\"Full Power\", 2=\"Power Save "
           "- Low Power Mode\", 3=\"Power Save - Standby\", 4=\"Power "
           "Save - Other\", 5=\"Power Cycle\" or 6=\"Power Off\". "
           "The Time parameter (for all state changes but 5, "
           "\"Power Cycle\") indicates when the power state should be "
           "set, either as a regular date-time value or as an interval "
           "value (where the interval begins when the method "
           "invocation is received). When the PowerState parameter is "
           "equal to 5, \"Power Cycle\", the Time parameter indicates "
           "when the Device should power on again. Power off is "
           "immediate. SetPowerState should return 0 if successful, 1 "
           "if the specified PowerState and Time request is not "
           "supported, and some other value if any other error "
           "occurred. In a subclass, the set of possible return codes "
           "could be specified, using a ValueMap qualifier on the method. "
           "The strings to which the ValueMap contents are 'translated' "
           "may also be specified in the subclass as a Values array "
          "qualifier.") ]          "qualifier.") ]
    uint32 VerifyOKToApplyIncrementalChangeToCollection (     uint32 SetPowerState(
     [IN] CIM_CollectionOfMSEs ref Collection,        [IN, ValueMap {"1", "2", "3", "4", "5", "6"},
     [IN] datetime TimeToApply,             Values {"Full Power", "Power Save - Low Power Mode",
     [IN] datetime MustBeCompletedBy,                     "Power Save - Standby", "Power Save - Other",
     [IN] string PropertiesToApply[],                     "Power Cycle", "Power Off"}]
     [OUT] string CanNotApply[]);         uint16 PowerState,
         [IN] datetime Time);
         [Description (         [Description (
          "The ApplyIncrementalChangeToCollection method performs "          "Requests a reset of the LogicalDevice. The return value "
          "the application of a subset of the properties in this "          "should be 0 if the request was successfully executed, "
          "Setting to the referenced Collection of ManagedSystem"          "1 if the request is not supported and some other value "
          "Elements. The net effect is to execute the "          "if an error occurred. In a subclass, the set of possible "
          "ApplyIncrementalChangeToMSE "          "return codes could be specified, using a ValueMap qualifier "
          "method against each of the Elements aggregated by the "          "on the method. The strings to which the ValueMap contents "
          "Collection. If the input value ContinueOnError is FALSE, "          "are 'translated' may also be specified in the subclass as a "
          "this method applies the Setting to all Elements in the "          "Values array qualifier.") ]
          "Collection until it encounters an error, in which case it "      uint32 Reset();
          "stops execution, logs the key of the Element that caused "        [Description (
          "the error in the CanNotApply array, and issues a return code "          "Requests that the LogicalDevice be enabled (\"Enabled\" "
          "of 2. If the input value ContinueOnError is TRUE, then this "          "input parameter = TRUE) or disabled (= FALSE). If "
          "method applies the Setting to all the ManagedSystemElements "          "successful, the Device's StatusInfo property should also "
          "in the Collection, and reports the failed Elements in the "          "reflect the desired state (enabled/disabled). The return "
          "array, CanNotApply. For the latter, processing will continue "          "code should be 0 if the request was successfully executed, "
          "until the method is applied to all Elements in the "          "1 if the request is not supported and some other value if "
          "Collection, regardless of any errors encountered. The key of "          "an error occurred. In a subclass, the set of possible "
          "each ManagedSystemElement to which the Setting could not be "          "return codes could be specified, using a ValueMap qualifier "
          "applied is logged into the CanNotApply array. This method "          "on the method. The strings to which the ValueMap contents "
          "takes four input parameters: Collection (the Collection of "          "are 'translated' may also be specified in the subclass as a "
          "Elements to which the Setting is being applied), TimeToApply "          "Values array qualifier.") ]
          "(which, being a datetime, can be either a specific time or a "      uint32 EnableDevice(
          "time interval), ContinueOnError (TRUE means to continue "        [IN] boolean Enabled);
          "processing on encountering an error), and MustBeCompletedBy "        [Description (
          "(which indicates the required completion time for the "          "Requests that the LogicalDevice be brought online (\"Online\" "
          "method), and a PropertiesToApply array (which contains a list "          "input parameter = TRUE) or taken offline (= FALSE). "
          "of the property names whose values will be applied. If a "          "\"Online\" indicates that the Device is ready to accept "
          "property is not in this list, it will be ignored by the apply. "          "requests, and is operational and fully functioning. In this "
          "If they array is null or empty or constains the string \"all\" "          "case, the Device's Availability property would be set to "
          "as a property name then all Settings properties shall be "          "a value of 3 (\"Running/Full Power\"). \"Offline\" indicates "
          "applied.  If it is set to \"none\" then no Settings properties "          "that a Device is powered up and operational, but not processing "
          "will be applied. ). "          "functional requests. In an offline state, a Device may be capable "
          "The return value should be 0 if the Setting is "          "of running diagnostics or generating operational alerts. For "
          "successfully applied to the referenced Collection, 1 if the "          "example, when the \"Offline\" button is pushed on a Printer, the "
          "method is not supported, 2 if the Setting was not applied "          "Device is no longer available to process print jobs, but "
          "within the specified times, 3 if the Setting can not be "          "could be available for diagnostics or maintenance.\n"
          "applied using the input value for ContinueOnError, and any "          "If this method is successful, the Device's Availability and "
          "other number if an error occurred. One output parameter is "          "AdditionalAvailability properties should reflect the updated "
          "defined, CanNotApplystring, which is an array that lists "          "status. If a failure occurs trying to bring the Device online "
          "the keys of the ManagedSystemElements to which the Setting "          "or offline, it should remain in its current state. IE, the "
          "was NOT able to be applied. This output parameter has "          "request, if unsuccessful, should not leave the Device in an "
          "meaning only when the ContinueOnError parameter is TRUE.\n"          "indeterminate state. When bringing a Device back \"Online\", "
           "from an \"Offline\" mode, the Device should be restored to its "
           "last \"Online\" state, if at all possible. Only a Device that "
           "has a StatusInfo of \"Enabled\" (value=3) and has been "
           "configured can be brought online or taken offline.\n"
           "OnlineDevice should return 0 if successful, 1 if the request is not "
           "supported at all, 2 if the request is not supported due to the "
           "current state of the Device, and some other value if any other "
           "error occurred. In a subclass, the set of possible return codes "
           "could be specified, using a ValueMap qualifier on the method. "
           "The strings to which the ValueMap contents are 'translated' may "
           "also be specified in the subclass as a Values array qualifier.") ]
      uint32 OnlineDevice(
         [IN] boolean Online);
         [Description (
           "Requests that the LogicalDevice cleanly cease all current "
           "activity (\"Quiesce\" input parameter = TRUE) or resume "
           "activity (= FALSE). For this method to quiesce a Device, "
           "that Device should have an Availability (or Additional"
           "Availability) of \"Running/Full Power\" (value=3) and a "
           "StatusInfo of \"Enabled\" (value=3). For example, if quiesced, "
           "a Device may then be offlined for diagnostics, or disabled "
           "for power off and hot swap.  For the method to \"unquiesce\" "
           "a Device, that Device should have an Availability (or Additional"
           "Availability) of \"Quiesced\" (value=21) and a StatusInfo of "
           "\"Enabled\" (value=3). In this case, the Device would "
           "be returned to an \"Enabled\" and \"Running/Full Power\" "
           "status.\n"
           "The method's return code should indicate the success or "
           "failure of the quiesce. It should return 0 if successful, "
           "1 if the request is not supported at all, 2 if the request "
           "is not supported due to the current state of the Device, "
           "and some other value if any other error occurred. In a subclass, "
           "the set of possible return codes could be specified, using a "
           "ValueMap qualifier on the method.  The strings to which the "
           "ValueMap contents are 'translated' may also be specified in "
           "the subclass as a Values array qualifier.") ]
      uint32 QuiesceDevice(
         [IN] boolean Quiesce);
         [Description (
           "Requests that the Device capture its current configuration, "
           "setup and/or state information in a backing store. The goal "
           "would be to use this information at a later time (via the "
           "RestoreProperties method), to return a Device to its present "
           "\"condition\". This method may not be supported by all Devices.  "
           "The method should return 0 if successful, 1 if the request is "
           "not supported, and some other value if any other error occurred. "
          "In a subclass, the set of possible return codes could be "          "In a subclass, the set of possible return codes could be "
          "specified, using a ValueMap qualifier on the method. The "          "specified, using a ValueMap qualifier on the method. The strings "
          "strings to which the ValueMap contents are 'translated' may "          "to which the ValueMap contents are 'translated' may also be "
          "also be specified in the subclass as a Values array "          "specified in the subclass as a Values array qualifier.") ]
          "qualifier.\n"     uint32 SaveProperties();
          "Note: if an error occurs in applying the Setting to a "        [Description (
          "ManagedSystemElement in the Collection, the Element must be "          "Requests that the Device re-establish its configuration, "
          "configured as when the 'apply' attempt began. That is, the "          "setup and/or state information from a backing store. The "
          "Element should NOT be left in an indeterminate state.") ]          "intent is to capture this information at an earlier time "
    uint32 ApplyIncrementalChangeToCollection(          "(via the SaveProperties method), and use it to return a "
     [IN] CIM_CollectionOfMSEs ref Collection,          "Device to this earlier \"condition\". This method may not "
     [IN] datetime TimeToApply,          "be supported by all Devices. The method should return 0 if "
     [IN] boolean ContinueOnError,          "successful, 1 if the request is not supported, and some "
     [IN] datetime MustBeCompletedBy,          "other value if any other error occurred. In a subclass, "
     [IN] string PropertiesToApply[],          "the set of possible return codes could be specified, using "
     [OUT] string CanNotApply[]);          "a ValueMap qualifier on the method. The strings to which "
           "the ValueMap contents are 'translated' may also be specified "
           "in the subclass as a Values array qualifier.") ]
      uint32 RestoreProperties();
 }; };
  
 // ===================================================================  
 //    ElementSetting  
 // ===================================================================  
         [Association, Description (  
          "ElementSetting represents the association between Managed"  
          "SystemElements and the Setting class(es) defined for them.") ]  
 class CIM_ElementSetting  
 {  
         [Key, Description ("The ManagedSystemElement.") ]  
    CIM_ManagedSystemElement REF Element;  
         [Key, Description (  
          "The Setting object associated with the ManagedSystem"  
          "Element.") ]  
    CIM_Setting REF Setting;  
 };  
   
 // ===================================================================  
 //    DefaultSetting  
 // ===================================================================  
         [Association, Description (  
          "DefaultSetting represents the association between a Managed"  
          "SystemElement and the single Setting class that is defined "  
          "to be the default setting for this Element.") ]  
 class CIM_DefaultSetting : CIM_ElementSetting  
 {  
         [Override ("Setting"), Max (1), Description (  
          "The Setting object which is the default.") ]  
    CIM_Setting REF Setting;  
 };  
   
 // ===================================================================  
 //    SettingContext  
 // ===================================================================  
         [Association, Aggregation, Description (  
          "This relationship associates Configuration objects with "  
          "Setting objects. For example, a NetworkAdapter's Settings "  
          "could change based on the site/network to which its hosting "  
          "ComputerSystem is attached. In this case, the ComputerSystem "  
          "would have two different Configuration objects, corresponding "  
          "to the differences in network configuration for the two network "  
          "segments. Configuration A would aggregate a Setting object for "  
          "the NetworkAdapter when operating on segment \"ANet\", whereas "  
          "Configuration B would aggregate a different NetworkAdapter "  
          "Setting object, specific to segment \"BNet\". Note that many "  
          "Settings of the computer are independent of the network "  
          "Configuration. For example, both Configurations A and B would "  
          "aggregate the same Setting object for the ComputerSystem's "  
          "MonitorResolution.") ]  
 class CIM_SettingContext  
 {  
         [Aggregate, Key, Description (  
          "The Configuration object that aggregates the Setting.") ]  
    CIM_Configuration REF Context;  
         [Key, Description ("An aggregated Setting.")]  
    CIM_Setting REF Setting;  
 };  
   
 // ===================================================================  
 //    CollectionSetting  
 // ===================================================================  
         [Association, Description (  
          "CollectionSetting represents the association between a "  
          "CollectionOfMSEs class and the Setting class(es) defined for "  
          "them.") ]  
 class CIM_CollectionSetting  
 {  
         [Key, Description ("The CollectionOfMSEs.") ]  
    CIM_CollectionOfMSEs REF Collection;  
         [Key, Description (  
          "The Setting object associated with the Collection.") ]  
    CIM_Setting REF Setting;  
 };  
  
 // ================================================================== // ==================================================================
 //    System  //    Service
 // ================================================================== // ==================================================================
         [Abstract, Description (         [Abstract, Description (
          "A CIM_System is a LogicalElement that aggregates an "       "A CIM_Service is a Logical Element that contains the "
          "enumerable set of Managed System Elements. The aggregation "       "information necessary to represent and manage the "
          "operates as a functional whole. Within any particular "       "functionality provided by a Device and/or SoftwareFeature. "
          "subclass of System, there is a well-defined list of "       "A Service is a general-purpose object to configure and "
          "Managed System Element classes whose instances must be "       "manage the implementation of functionality.  It is not the "
          "aggregated.") ]       "functionality itself.") ]
 class CIM_System:CIM_LogicalElement  class CIM_Service : CIM_LogicalElement {
 {        [Propagated ("CIM_System.CreationClassName"), Key,
          MaxLen (256), Description (
           "The scoping System's CreationClassName. ") ]
      string SystemCreationClassName;
         [Propagated ("CIM_System.Name"), Key, MaxLen (256),
          Description ("The scoping System's Name.") ]
      string SystemName;
         [Key, MaxLen (256), Description (         [Key, MaxLen (256), Description (
          "CreationClassName indicates the name of the class or the "          "CreationClassName indicates the name of the class or the "
          "subclass used in the creation of an instance. When used "          "subclass used in the creation of an instance. When used "
Line 1030 
Line 1052 
          "allows all instances of this class and its subclasses to "          "allows all instances of this class and its subclasses to "
          "be uniquely identified.") ]          "be uniquely identified.") ]
     string CreationClassName;     string CreationClassName;
         [Key, MaxLen (256), Override ("Name"), Description (        [Override ("Name"), Key, MaxLen (256), Description (
          "The inherited Name serves as key of a System instance in "          "The Name property uniquely identifies the Service and "
          "an enterprise environment.") ]          "provides an indication of the functionality that is "
           "managed. This functionality is described in more detail in "
           "the object's Description property. ") ]
     string Name;     string Name;
         [MaxLen (64), Description (        [MaxLen (10), Description (
          "The System object and its derivatives are Top Level Objects "          "StartMode is a string value indicating whether the Service "
          "of CIM. They provide the scope for numerous components. "          "is automatically started by a System, Operating System, etc. "
          "Having unique System keys is required. A heuristic can be "          "or only started upon request."),
          "defined in individual System subclasses to attempt to always "         ValueMap {"Automatic", "Manual"} ]
          "generate the same System Name Key. The NameFormat property "     string StartMode;
          "identifies how the System name was generated, using "  
          "the subclass' heuristic.") ]  
     string NameFormat;  
         [MaxLen (256), Description (  
          "A string that provides information on how the primary system "  
          "owner can be reached (e.g. phone number, email address, "  
            "...)."),  
          MappingStrings {"MIF.DMTF|General Information|001.3"} ]  
     string PrimaryOwnerContact;  
         [MaxLen (64), Description (  
            "The name of the primary system owner."),  
          MappingStrings {"MIF.DMTF|General Information|001.4"} ]  
     string PrimaryOwnerName;  
         [Description (         [Description (
          "An array (bag) of strings that specify the roles this System "          "Started is a boolean indicating whether the Service "
          "plays in the IT-environment. Subclasses of System may "          "has been started (TRUE), or stopped (FALSE).") ]
          "override this property to define explicit Roles values. "     boolean Started;
          "Alternately, a Working Group may describe the heuristics, "  
          "conventions and guidelines for specifying Roles. For "  
          "example, for an instance of a networking system, the Roles "  
          "property might contain the string, 'Switch' or 'Bridge'.") ]  
     string Roles[];  
 };  
   
 // ===================================================================  
 //    ComputerSystem  
 // ===================================================================  
           [Abstract, Description (  
          "A class derived from System that is a special collection of "  
          "ManagedSystemElements. This collection provides "  
          "compute capabilities and serves as aggregation point to "  
          "associate one or more of the following elements: FileSystem, "  
          "OperatingSystem, Processor and Memory (Volatile and/or "  
          "NonVolatile Storage).") ]  
 class CIM_ComputerSystem : CIM_System  
 {  
         [Override ("NameFormat"), Description (  
            "The ComputerSystem object and its derivatives are Top Level "  
            "Objects of CIM. They provide the scope for numerous "  
            "components. Having unique System keys is required. "  
            "A heuristic is defined to create the ComputerSystem Name "  
            "to attempt to always generate the same Name, independent of "  
            "discovery protocol. This prevents inventory and management "  
            "problems where the same asset or entity is discovered "  
            "multiple times, but can not be resolved to a single object. "  
            "Use of the heuristic is optional, but recommended.\n\n"  
            "The NameFormat property identifies how the ComputerSystem "  
            "Name is generated, using a heuristic. The heuristic is "  
            "outlined, in detail, in the CIM V2 System Model spec. "  
            "It assumes that the documented rules are traversed in order, "  
            "to determine and assign a Name. The NameFormat Values "  
            "list defines the precedence order for assigning the Computer"  
            "System Name. Several rules do map to the same Value.\n\n"  
            "Note that the ComputerSystem Name calculated using the "  
            "heuristic is the System's key value. Other names can be "  
            "assigned and used for the ComputerSystem, that better suit "  
            "a business, using Aliases."),  
          ValueMap {"Other", "IP", "Dial", "HID", "NWA", "HWA", "X25",  
                "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI"} ]  
    string NameFormat;  
         [MaxLen (256), ArrayType ("Indexed"),  
          Description (  
          "OtherIdentifyingInfo captures additional data, beyond "  
          "System Name information, that could be used to identify "  
          "a ComputerSystem. One example would be to hold the "  
          "Fibre Channel World-Wide Name (WWN) of a node. Note that "  
          "if only the Fibre Channel name is available and is "  
          "unique (able to be used as the System key), then this "  
          "property would be NULL and the WWN would become the "  
          "System key, its data placed in the Name property."),  
          ModelCorrespondence {  
           "CIM_ComputerSystem.IdentifyingDescriptions"} ]  
    string OtherIdentifyingInfo[];  
         [ArrayType ("Indexed"), Description (  
          "An array of free-form strings providing explanations "  
          "and details behind the entries in the OtherIdentifying"  
          "Info array. Note, each entry of this array is related "  
          "to the entry in OtherIdentifyingInfo that is located at "  
          "the same index."),  
          ModelCorrespondence {  
           "CIM_ComputerSystem.OtherIdentifyingInfo"} ]  
    string IdentifyingDescriptions[];  
         [Description (         [Description (
          "Enumeration indicating whether the ComputerSystem is "          "The StartService method places the Service in the started "
          "a special-purpose System (ie, dedicated to a particular "          "state. It returns an integer value of 0 if the Service was "
          "use), versus being 'general purpose'. For example, one "          "successfully started, 1 if the request is not supported and "
          "could specify that the System is dedicated to \"Print\" "          "any other number to indicate an error. In a subclass, the "
          "(value=11) or acts as a \"Hub\" (value=8)."),          "set of possible return codes could be specified, using a "
          Values {"Not Dedicated", "Unknown", "Other", "Storage",          "ValueMap qualifier on the method. The strings to which the "
           "Router", "Switch", "Layer 3 Switch",          "ValueMap contents are 'translated' may also be specified in "
           "Central Office Switch", "Hub", "Access Server",          "the subclass as a Values array qualifier.") ]
           "Firewall", "Print", "I/O", "Web Caching", "Management"} ]     uint32 StartService();
    uint16 Dedicated[];        [Description (
           "The StopService method places the Service in the stopped "
           "state. It returns an integer value of 0 if the Service was "
           "successfully stopped, 1 if the request is not supported and "
           "any other number to indicate an error. In a subclass, the "
           "set of possible return codes could be specified, using a "
           "ValueMap qualifier on the method. The strings to which the "
           "ValueMap contents are 'translated' may also be specified in "
           "the subclass as a Values array qualifier.") ]
      uint32 StopService();
 }; };
  
 // ===================================================================  
 //    LogicalDevice  // ==================================================================
 // ===================================================================  //    ServiceAccessPoint
   // ==================================================================
         [Abstract, Description (         [Abstract, Description (
          "An abstraction or emulation of a hardware entity, that may "       "CIM_ServiceAccessPoint represents the ability to utilize or "
          "or may not be Realized in physical hardware. Any "       "invoke a Service.  Access points represent that a Service is "
            "characteristics of a LogicalDevice that are used to manage "       "made available to other entities for use.") ]
            "its operation or configuration are contained in, or "  class CIM_ServiceAccessPoint : CIM_LogicalElement {
            "associated with, the LogicalDevice object. Examples of the "        [Propagated ("CIM_System.CreationClassName"), Key,
            "operational properties of a Printer would be paper sizes "         MaxLen (256), Description (
            "supported, or detected errors. Examples of the configuration "          "The scoping System's CreationClassName.") ]
            "properties of a Sensor Device would be threshold settings. "  
            "Various configurations could exist for a LogicalDevice. "  
            "These configurations could be contained in Setting objects "  
            "and associated with the LogicalDevice.") ]  
 class CIM_LogicalDevice:CIM_LogicalElement  
 {  
         [Propagated("CIM_System.CreationClassName"),  
          Key, MaxLen (256),  
          Description ("The scoping System's CreationClassName.") ]  
    string SystemCreationClassName;    string SystemCreationClassName;
         [Propagated("CIM_System.Name"),        [Propagated ("CIM_System.Name"), Key, MaxLen (256),
          Key, MaxLen (256),  
          Description ("The scoping System's Name.") ]          Description ("The scoping System's Name.") ]
    string SystemName;    string SystemName;
         [Key, MaxLen (256),        [Key, MaxLen (256), Description (
          Description (          "CreationClassName indicates the name of the class or the "
          "CreationClassName indicates the name of the class or "          "subclass used in the creation of an instance. When used "
          "the subclass used in the creation of an instance. When "          "with the other key properties of this class, this property "
          "used with the other key properties of this class, this "          "allows all instances of this class and its subclasses to "
          "property allows all instances of this class and its "          "be uniquely identified.") ]
          "subclasses to be uniquely identified.") ]  
    string CreationClassName;    string CreationClassName;
         [Key, MaxLen (64),        [Override ("Name"), Key, MaxLen (256), Description (
          Description (          "The Name property uniquely identifies the ServiceAccessPoint "
          "An address or other identifying information to uniquely "          "and provides an indication of the functionality that is "
          "name the LogicalDevice.") ]          "managed.  This functionality is described in more detail in "
    string DeviceID;          "the object's Description property.") ]
         [Description (     string Name;
          "Boolean indicating that the Device can be power managed "  
          "- ie, put into a power save state. This boolean does not "  
          "indicate that power management features are currently "  
          "enabled, or if enabled, what features are supported. "  
          "Refer to the PowerManagementCapabilities array for this "  
          "information. If this boolean is false, the integer value "  
          "1, for the string, \"Not Supported\", should be the only "  
          "entry in the PowerManagementCapabilities array.") ]  
    boolean PowerManagementSupported;  
         [Description(  
          "Indicates the specific power-related capabilities of a "  
          "LogicalDevice. The array values, 0=\"Unknown\", 1="  
            "\"Not Supported\" and 2=\"Disabled\" are self-explanatory. "  
            "The value, 3=\"Enabled\" indicates that the power management "  
            "features are currently enabled but the exact feature set "  
            "is unknown or the information is unavailable. "  
            "\"Power Saving Modes Entered Automatically\" (4) describes "  
            "that a Device can change its power state based on usage or "  
            "other criteria. \"Power State Settable\" (5) indicates that "  
            "the SetPowerState method is supported. \"Power Cycling "  
          "Supported\" (6) indicates that the SetPowerState method "  
            "can be invoked with the PowerState input variable set to 5 ("  
            "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "  
            "that the SetPowerState method can be invoked with the Power"  
            "State input variable set to 5 (\"Power Cycle\") and the Time "  
            "parameter set to a specific date and time, or interval, "  
            "for power-on."),  
          Values {"Unknown", "Not Supported", "Disabled",  
                "Enabled", "Power Saving Modes Entered Automatically",  
                "Power State Settable", "Power Cycling Supported",  
                "Timed Power On Supported"} ]  
    uint16 PowerManagementCapabilities[];  
         [Description (  
                 "The primary availability and status of the Device. (Additional "  
                 "status information can be specified using the AdditionalAvailability "  
                 "array property.) For example, the Availability property indicates "  
                 "that the Device is running and has full power (value=3), or is in "  
                 "a warning (4), test (5), degraded (10) or power save state (values "  
                 "13-15 and 17). Regarding the Power Save states, these are defined "  
          "as follows: Value 13 (\"Power Save - Unknown\") indicates "  
            "that the Device is known to be in a power save mode, but its "  
            "exact status in this mode is unknown; 14 (\"Power Save - Low "  
            "Power Mode\") indicates that the Device is in a power save "  
            "state but still functioning, and may exhibit degraded "  
            "performance; 15 (\"Power Save - Standby\") describes that "  
            "the Device is not functioning but could be brought to full "  
            "power 'quickly'; and value 17 (\"Power Save - Warning\") "  
            "indicates that the Device is in a warning state, though also "  
            "in a power save mode."),  
                    ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",  
                "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",  
                    "20", "21"},  
        Values {"Other", "Unknown", "Running/Full Power", "Warning",  
                "In Test", "Not Applicable", "Power Off", "Off Line",  
                "Off Duty", "Degraded", "Not Installed", "Install Error",  
                "Power Save - Unknown", "Power Save - Low Power Mode",  
                "Power Save - Standby", "Power Cycle","Power Save - Warning",  
                    "Paused", "Not Ready", "Not Configured", "Quiesced"},  
        MappingStrings {"MIF.DMTF|Operational State|006",  
           "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",  
           "MIF.DMTF|Host Device|001.5"},  
                   ModelCorrespondence {"CIM_LogicalDevice.AdditionalAvailability"}]  
    uint16 Availability;  
                 [Description (  
                 "The StatusInfo property indicates whether the Logical"  
                 "Device is in an enabled (value = 3), disabled (value = "  
                 "4) or some other (1) or unknown (2) state. If this "  
                 "property does not apply to the LogicalDevice, the value, "  
                 "5 (\"Not Applicable\"), should be used. "  
                 "If a Device is (\"Enabled\")(value=3), it has been powered up, and is "  
         "configured and operational. The Device may or may not be functionally "  
         "active, depending on whether its Availability (or AdditionalAvailability) "  
         "indicate that it is (\"Running/Full Power\")(value=3) or (\"Off line\")"  
         "(value=8). In an enabled but offline mode, a Device may be performing "  
         "out-of-band requests, such as running Diagnostics. If (\"Disabled\")"  
         "(StatusInfo value=4), a Device can only be \"enabled\" or powered off. "  
         "In a personal computer environment, (\"Disabled\") means that the "  
         "Device's driver is not available in the stack. In other environments, "  
         "a Device can be disabled by removing its configuration file. A "  
         "disabled device is physically present in a System and consuming "  
         "resources, but can not be communicated with until a load of a driver, "  
         "a load of a configuration file or some other \"enabling\" activity has "  
         "occurred."),  
          ValueMap {"1", "2", "3", "4", "5"},  
          Values {"Other", "Unknown", "Enabled",  
                "Disabled", "Not Applicable"},  
          MappingStrings {"MIF.DMTF|Operational State|006"} ]  
    uint16 StatusInfo;  
           [Description (  
            "LastErrorCode captures the last error code reported by "  
            "the LogicalDevice.")]  
    uint32 LastErrorCode;  
           [Description (  
            "ErrorDescription is a free-form string supplying more "  
            "information about the error recorded in LastErrorCode, and "  
            "information on any corrective actions that may be taken.")]  
    string ErrorDescription;  
           [Description (  
            "ErrorCleared is a boolean property indicating that the "  
            "error reported in LastErrorCode is now cleared.")]  
    boolean ErrorCleared;  
         [MaxLen (256), ArrayType ("Indexed"),  
          Description (  
          "OtherIdentifyingInfo captures additional data, beyond "  
          "DeviceID information, that could be used to identify a "  
          "LogicalDevice. One example would be to hold the Operating"  
          "System's user friendly name for the Device in this "  
          "property."),  
          ModelCorrespondence {  
            "CIM_LogicalDevice.IdentifyingDescriptions"} ]  
    string OtherIdentifyingInfo[];  
         [Description (  
          "The number of consecutive hours that this Device has been "  
          "powered, since its last power cycle."),  
          Units ("Hours"), Counter ]  
    uint64 PowerOnHours;  
         [Description (  
          "The total number of hours that this Device has been "  
          "powered."),  
          Units ("Hours"), Counter ]  
    uint64 TotalPowerOnHours;  
         [ArrayType ("Indexed"), Description (  
          "An array of free-form strings providing explanations "  
          "and details behind the entries in the OtherIdentifyingInfo "  
          "array. Note, each entry of this array is related to the "  
          "entry in OtherIdentifyingInfo that is located at the same "  
          "index."),  
          ModelCorrespondence {"CIM_LogicalDevice.OtherIdentifyingInfo"} ]  
    string IdentifyingDescriptions[];  
                 [Description (  
          "Additional availability and status of the Device, beyond that "  
          "specified in the Availability property. The Availability property "  
          "denotes the primary status and availability of the Device. In "  
          "some cases, this will not be sufficient to denote the complete "  
          "status of the Device.  In those cases, the AdditionalAvailability "  
          "property can be used to provide further information. For example, "  
          "a Device's primary Availability may be \"Off line\" (value=8), "  
          "but it may also be in a low power state (AdditonalAvailability "  
          "value=14), or the Device could be running Diagnostics (Additional"  
          "Availability value=5, \"In Test\")."),  
          ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",  
              "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",  
              "20", "21"},  
          Values {"Other", "Unknown", "Running/Full Power", "Warning",  
              "In Test", "Not Applicable", "Power Off", "Off Line",  
              "Off Duty", "Degraded", "Not Installed", "Install Error",  
              "Power Save - Unknown", "Power Save - Low Power Mode",  
              "Power Save - Standby", "Power Cycle",  
              "Power Save - Warning", "Paused", "Not Ready",  
              "Not Configured", "Quiesced"},  
          ModelCorrespondence {"CIM_LogicalDevice.Availability"}]  
    uint16 AdditionalAvailability[];  
                 [Description (  
          "Maximum time in milliseconds, that a Device can run in a \"Quiesced\" "  
          "state. A Device's state is defined in its Availability and Additional"  
          "Availability properties, where \"Quiesced\" is conveyed by the value "  
          "21. What occurs at the end of the time limit is device-specific. The "  
          "Device may unquiesce, may offline or take other action. A value of 0 "  
          "indicates that a Device can remain quiesced indefinitely."),  
                 Units ("MilliSeconds")]  
    uint64 MaxQuiesceTime;  
         [Description(  
          "SetPowerState defines the desired power state for a "  
          "LogicalDevice and when a Device should be put into that "  
          "state. The desired power state is specified by setting "  
            "the PowerState parameter to one of the "  
          "following integer values: 1=\"Full Power\", 2=\"Power Save "  
            "- Low Power Mode\", 3=\"Power Save - Standby\", 4=\"Power "  
            "Save - Other\", 5=\"Power Cycle\" or 6=\"Power Off\". "  
          "The Time parameter (for all state changes but 5, "  
          "\"Power Cycle\") indicates when the power state should be "  
          "set, either as a regular date-time value or as an interval "  
          "value (where the interval begins when the method "  
          "invocation is received). When the PowerState parameter is "  
          "equal to 5, \"Power Cycle\", the Time parameter indicates "  
            "when the Device should power on again. Power off is "  
            "immediate. SetPowerState should return 0 if successful, 1 "  
            "if the specified PowerState and Time request is not "  
            "supported, and some other value if any other error "  
            "occurred. In a subclass, the set of possible return codes "  
          "could be specified, using a ValueMap qualifier on the method. "  
          "The strings to which the ValueMap contents are 'translated' "  
          "may also be specified in the subclass as a Values array "  
          "qualifier.") ]  
    uint32 SetPowerState([IN, ValueMap {"1", "2", "3", "4", "5", "6"},  
     Values {"Full Power", "Power Save - Low Power Mode",  
     "Power Save - Standby", "Power Save - Other", "Power Cycle",  
     "Power Off"}] uint16 PowerState, [IN] datetime Time);  
         [Description (  
          "Requests a reset of the LogicalDevice. The return value "  
          "should be 0 if the request was successfully executed, "  
          "1 if the request is not supported and some other value "  
          "if an error occurred. In a subclass, the set of possible "  
          "return codes could be specified, using a ValueMap qualifier "  
          "on the method. The strings to which the ValueMap contents "  
          "are 'translated' may also be specified in the subclass as a "  
          "Values array qualifier.") ]  
    uint32 Reset();  
         [Description (  
          "Requests that the LogicalDevice be enabled (\"Enabled\" "  
          "input parameter = TRUE) or disabled (= FALSE). If "  
          "successful, the Device's StatusInfo property should also "  
          "reflect the desired state (enabled/disabled). The return "  
          "code should be 0 if the request was successfully executed, "  
          "1 if the request is not supported and some other value if "  
          "an error occurred. In a subclass, the set of possible "  
          "return codes could be specified, using a ValueMap qualifier "  
          "on the method. The strings to which the ValueMap contents "  
          "are 'translated' may also be specified in the subclass as a "  
          "Values array qualifier.") ]  
    uint32 EnableDevice([IN] boolean Enabled);  
                 [Description (  
          "Requests that the LogicalDevice be brought online (\"Online\" "  
          "input parameter = TRUE) or taken offline (= FALSE). "  
          "\"Online\" indicates that the Device is ready to accept "  
          "requests, and is operational and fully functioning. In this "  
          "case, the Device's Availability property would be set to "  
          "a value of 3 (\"Running/Full Power\"). \"Offline\" indicates "  
          "that a Device is powered up and operational, but not processing "  
          "functional requests. In an offline state, a Device may be capable "  
          "of running diagnostics or generating operational alerts. For "  
          "example, when the \"Offline\" button is pushed on a Printer, the "  
          "Device is no longer available to process print jobs, but "  
          "could be available for diagnostics or maintenance.\n"  
          "If this method is successful, the Device's Availability and "  
          "AdditionalAvailability properties should reflect the updated "  
          "status. If a failure occurs trying to bring the Device online "  
          "or offline, it should remain in its current state. IE, the "  
          "request, if unsuccessful, should not leave the Device in an "  
          "indeterminate state. When bringing a Device back \"Online\", "  
          "from an \"Offline\" mode, the Device should be restored to its "  
          "last \"Online\" state, if at all possible. Only a Device that "  
          "has a StatusInfo of \"Enabled\" (value=3) and has been "  
          "configured can be brought online or taken offline.\n"  
          "OnlineDevice should return 0 if successful, 1 if the request is not "  
          "supported at all, 2 if the request is not supported due to the "  
          "current state of the Device, and some other value if any other "  
          "error occurred. In a subclass, the set of possible return codes "  
          "could be specified, using a ValueMap qualifier on the method. "  
          "The strings to which the ValueMap contents are 'translated' may "  
          "also be specified in the subclass as a Values array qualifier.") ]  
    uint32 OnlineDevice([IN] boolean Online);  
         [Description (  
          "Requests that the LogicalDevice cleanly cease all current activity "  
          "(\"Quiesce\" input parameter = TRUE) or resume activity (= FALSE). For "  
          "this method to quiesce a Device, that Device should have an Availability "  
          "(or AdditionalAvailability) of \"Running/Full Power\" (value=3) and a Status"  
          "Info of \"Enabled\" (value=3). For example, if quiesced, a Device may "  
          "then be offlined for diagnostics, or disabled for power off and hot swap. "  
          "For the method to \"unquiesce\" a Device, that Device should have an "  
          "Availability (or AdditionalAvailability) of \"Quiesced\" (value=21) and "  
          "a StatusInfo of \"Enabled\" (value=3). In this case, the Device would "  
          "be returned to an \"Enabled\" and \"Running/Full Power\" status.\n"  
          "The method's return code should indicate the success or failure of the "  
          "quiesce. It should return 0 if successful, 1 if the request is not "  
          "supported at all, 2 if the request is not supported due to the "  
          "current state of the Device, and some other value if any other "  
          "error occurred. In a subclass, the set of possible return codes "  
          "could be specified, using a ValueMap qualifier on the method. "  
          "The strings to which the ValueMap contents are 'translated' may "  
          "also be specified in the subclass as a Values array qualifier.") ]  
    uint32 QuiesceDevice([IN] boolean Quiesce);  
         [Description (  
          "Requests that the Device capture its current configuration, setup "  
          "and/or state information in a backing store. The goal would be to "  
          "use this information at a later time (via the RestoreProperties method), "  
          "to return a Device to its present \"condition\". This method may not be "  
          "supported by all Devices. The method should return 0 if successful, "  
          "1 if the request is not supported, and some other value if any other "  
          "error occurred. In a subclass, the set of possible return codes could "  
          "be specified, using a ValueMap qualifier on the method. The strings "  
          "to which the ValueMap contents are 'translated' may also be specified "  
          "in the subclass as a Values array qualifier.") ]  
    uint32 SaveProperties();  
         [Description (  
          "Requests that the Device re-establish its configuration, setup "  
          "and/or state information from a backing store. The intent is to "  
          "capture this information at an earlier time (via the SaveProperties method), "  
          "and use it to return a Device to this earlier \"condition\". This method may "  
          "not be supported by all Devices. The method should return 0 if successful, "  
          "1 if the request is not supported, and some other value if any other "  
          "error occurred. In a subclass, the set of possible return codes could "  
          "be specified, using a ValueMap qualifier on the method. The strings "  
          "to which the ValueMap contents are 'translated' may also be specified "  
          "in the subclass as a Values array qualifier.") ]  
    uint32 RestoreProperties();  
 }; };
  
   
 // ================================================================== // ==================================================================
 //    Service  // Dependency
 // ==================================================================  
         [Abstract, Description (  
          "A CIM_Service is a Logical Element that contains the "  
          "information necessary to represent and manage the "  
          "functionality provided by a Device and/or SoftwareFeature. "  
          "A Service is a general-purpose object to configure and "  
          "manage the implementation of functionality.  It is not the "  
          "functionality itself.") ]  
 class CIM_Service:CIM_LogicalElement  
 {  
         [Key, MaxLen (256), Description (  
            "CreationClassName indicates the name of the class or the "  
            "subclass used in the creation of an instance. When used "  
            "with the other key properties of this class, this property "  
            "allows all instances of this class and its subclasses to "  
            "be uniquely identified.") ]  
     string CreationClassName;  
         [Override ("Name"), Key, MaxLen (256),  
          Description (  
          "The Name property uniquely identifies the Service and "  
          "provides an indication of the functionality that is "  
          "managed. This functionality is described in more detail in "  
          "the object's Description property. ") ]  
     string Name;  
         [MaxLen (10), Description (  
          "StartMode is a string value indicating whether the Service "  
          "is automatically started by a System, Operating System, etc. "  
          "or only started upon request."),  
            ValueMap {"Automatic", "Manual"} ]  
     string StartMode;  
         [Description (  
          "Started is a boolean indicating whether the Service "  
          "has been started (TRUE), or stopped (FALSE).") ]  
     boolean Started;  
         [Propagated ("CIM_System.CreationClassName"), Key,  
            MaxLen (256), Description (  
          "The scoping System's CreationClassName. ") ]  
     string SystemCreationClassName;  
         [Propagated ("CIM_System.Name"), Key, MaxLen (256),  
          Description ("The scoping System's Name.") ]  
     string SystemName;  
         [Description (  
          "The StartService method places the Service in the started "  
          "state. It returns an integer value of 0 if the Service was "  
          "successfully started, 1 if the request is not supported and "  
          "any other number to indicate an error. In a subclass, the "  
          "set of possible return codes could be specified, using a "  
          "ValueMap qualifier on the method. The strings to which the "  
          "ValueMap contents are 'translated' may also be specified in "  
          "the subclass as a Values array qualifier.") ]  
     uint32 StartService();  
         [Description (  
          "The StopService method places the Service in the stopped "  
          "state. It returns an integer value of 0 if the Service was "  
          "successfully stopped, 1 if the request is not supported and "  
          "any other number to indicate an error. In a subclass, the "  
          "set of possible return codes could be specified, using a "  
          "ValueMap qualifier on the method. The strings to which the "  
          "ValueMap contents are 'translated' may also be specified in "  
          "the subclass as a Values array qualifier.") ]  
     uint32 StopService();  
 };  
   
 // ==================================================================  
 //    ServiceAccessPoint  
 // ==================================================================  
         [Abstract, Description (  
          "CIM_ServiceAccessPoint represents the ability to utilize or "  
          "invoke a Service.  Access points represent that a Service is "  
          "made available to other entities for use.") ]  
 class CIM_ServiceAccessPoint:CIM_LogicalElement  
 {  
         [Key, MaxLen (256), Description (  
            "CreationClassName indicates the name of the class or the "  
          "subclass used in the creation of an instance. When used "  
            "with the other key properties of this class, this property "  
            "allows all instances of this class and its subclasses to "  
            "be uniquely identified.") ]  
     string CreationClassName;  
         [Override ("Name"), Key, MaxLen (256),  
          Description (  
          "The Name property uniquely identifies the ServiceAccessPoint "  
          "and provides an indication of the functionality that is "  
          "managed.  This functionality is described in more detail in "  
          "the object's Description property.") ]  
     string Name;  
         [Propagated ("CIM_System.CreationClassName"), Key,  
            MaxLen (256), Description (  
          "The scoping System's CreationClassName.") ]  
     string SystemCreationClassName;  
         [Propagated ("CIM_System.Name"), Key, MaxLen (256),  
            Description ("The scoping System's Name.") ]  
     string SystemName;  
 };  
   
 // ==================================================================  
 // Dependency  
 // ================================================================== // ==================================================================
         [Association, Abstract, Description (         [Association, Abstract, Description (
         "CIM_Dependency is a generic association used to establish "         "CIM_Dependency is a generic association used to establish "
         "dependency relationships between ManagedElements.") ]         "dependency relationships between ManagedElements.") ]
 class CIM_Dependency  class CIM_Dependency {
 {  
         [Key, Description (         [Key, Description (
         "Antecedent represents the independent object in this "         "Antecedent represents the independent object in this "
         "association.") ]         "association.") ]
Line 1577 
Line 1139 
   CIM_ManagedElement REF Dependent;   CIM_ManagedElement REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 // MemberOfCollection // MemberOfCollection
 // ================================================================== // ==================================================================
         [Association, Aggregation, Description (         [Association, Aggregation, Description (
         "CIM_MemberOfCollection is an aggregation used to establish "         "CIM_MemberOfCollection is an aggregation used to establish "
         "membership of ManagedElements in a Collection." ) ]         "membership of ManagedElements in a Collection." ) ]
 class CIM_MemberOfCollection  class CIM_MemberOfCollection {
 {        [Key, Aggregate, Description (
         [Key, Aggregate, Description ("The Collection that aggregates members") ]          "The Collection that aggregates members") ]
   CIM_Collection REF Collection;   CIM_Collection REF Collection;
         [Key, Description ("The aggregated member of the collection.") ]        [Key, Description (
           "The aggregated member of the collection.") ]
   CIM_ManagedElement REF Member;   CIM_ManagedElement REF Member;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    CollectedMSEs //    CollectedMSEs
 // ================================================================== // ==================================================================
Line 1598 
Line 1163 
          "CIM_CollectedMSEs is a generic association used to "          "CIM_CollectedMSEs is a generic association used to "
          "establish the members of the grouping object, CollectionOf"          "establish the members of the grouping object, CollectionOf"
          "MSEs.") ]          "MSEs.") ]
 class CIM_CollectedMSEs : CIM_MemberOfCollection  class CIM_CollectedMSEs : CIM_MemberOfCollection {
 {  
         [Aggregate, Description (         [Aggregate, Description (
          "The grouping or 'bag' object that represents the "          "The grouping or 'bag' object that represents the "
          "Collection."), Override("Collection") ]          "Collection."), Override("Collection") ]
Line 1609 
Line 1173 
    CIM_ManagedSystemElement REF Member;    CIM_ManagedSystemElement REF Member;
 }; };
  
 // ===================================================================  
 //    DependencyContext  
 // ===================================================================  
         [Association, Aggregation, Description (  
          "This relationship associates a Dependency with one or more "  
          "Configuration objects. For example, a ComputerSystem's "  
          "dependencies could change based on the site/network to which "  
          "the System is attached.") ]  
 class CIM_DependencyContext  
 {  
         [Aggregate, Key, Description (  
          "The Configuration object that aggregates the Dependency.") ]  
    CIM_Configuration REF Context;  
         [Key, Description ("An aggregated Dependency.") ]  
    CIM_Dependency REF Dependency;  
 };  
  
 // ================================================================== // ==================================================================
 //    ServiceAccessBySAP //    ServiceAccessBySAP
Line 1634 
Line 1182 
          "access points for a Service. For example, a printer may be "          "access points for a Service. For example, a printer may be "
          "accessed by Netware, MacIntosh or Windows ServiceAccess"          "accessed by Netware, MacIntosh or Windows ServiceAccess"
          "Points, potentially hosted on different Systems.") ]          "Points, potentially hosted on different Systems.") ]
 class CIM_ServiceAccessBySAP:CIM_Dependency  class CIM_ServiceAccessBySAP : CIM_Dependency {
 {  
         [Override ("Antecedent"),         [Override ("Antecedent"),
            Description ("The Service. ") ]            Description ("The Service. ") ]
     CIM_Service REF Antecedent;     CIM_Service REF Antecedent;
Line 1646 
Line 1193 
     CIM_ServiceAccessPoint REF Dependent;     CIM_ServiceAccessPoint REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    HostedService //    HostedService
 // ================================================================== // ==================================================================
Line 1661 
Line 1209 
          "modeled as an ApplicationSystem that acts as an aggregation "          "modeled as an ApplicationSystem that acts as an aggregation "
          "point for Services, that are each located on a single "          "point for Services, that are each located on a single "
          "host.") ]          "host.") ]
 class CIM_HostedService:CIM_Dependency  class CIM_HostedService : CIM_Dependency {
 {  
         [Override ("Antecedent"), Max (1), Min (1),         [Override ("Antecedent"), Max (1), Min (1),
            Description ("The hosting System.") ]            Description ("The hosting System.") ]
     CIM_System REF Antecedent;     CIM_System REF Antecedent;
Line 1671 
Line 1218 
     CIM_Service REF Dependent;     CIM_Service REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    HostedAccessPoint //    HostedAccessPoint
 // ================================================================== // ==================================================================
Line 1683 
Line 1231 
          "the ServiceAccessPoint is modeled, it must be "          "the ServiceAccessPoint is modeled, it must be "
          "implemented by a Device or SoftwareFeature that is part of "          "implemented by a Device or SoftwareFeature that is part of "
          "the System hosting the ServiceAccessPoint.") ]          "the System hosting the ServiceAccessPoint.") ]
 class CIM_HostedAccessPoint:CIM_Dependency  class CIM_HostedAccessPoint:CIM_Dependency {
 {  
         [Override ("Antecedent"), Max (1), Min (1),         [Override ("Antecedent"), Max (1), Min (1),
            Description ("The hosting System.") ]            Description ("The hosting System.") ]
     CIM_System REF Antecedent;     CIM_System REF Antecedent;
Line 1704 
Line 1251 
          "and an Enclosure (PhysicalElement) are dependent on AlertOn"          "and an Enclosure (PhysicalElement) are dependent on AlertOn"
          "LAN Services to signal an incomplete or erroneous boot, and "          "LAN Services to signal an incomplete or erroneous boot, and "
          "hardware-related errors.") ]          "hardware-related errors.") ]
 class CIM_ProvidesServiceToElement : CIM_Dependency  class CIM_ProvidesServiceToElement : CIM_Dependency {
 {  
         [Override ("Antecedent"), Description (         [Override ("Antecedent"), Description (
          "The Service provided.") ]          "The Service provided.") ]
    CIM_Service ref Antecedent;    CIM_Service ref Antecedent;
Line 1730 
Line 1276 
          "the Disk Services, Boot Services may actually utilize the "          "the Disk Services, Boot Services may actually utilize the "
           "SAPs of this Service.  This usage dependency is modeled via "           "SAPs of this Service.  This usage dependency is modeled via "
          "the CIM_ServiceSAPDependency association.") ]          "the CIM_ServiceSAPDependency association.") ]
 class CIM_ServiceServiceDependency:CIM_ProvidesServiceToElement  class CIM_ServiceServiceDependency : CIM_ProvidesServiceToElement {
 {  
         [Override ("Antecedent"),         [Override ("Antecedent"),
            Description ("The required Service.") ]            Description ("The required Service.") ]
     CIM_Service REF Antecedent;     CIM_Service REF Antecedent;
Line 1753 
Line 1298 
     boolean RestartService;     boolean RestartService;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ServiceSAPDependency //    ServiceSAPDependency
 // ================================================================== // ==================================================================
Line 1762 
Line 1308 
          "is utilized by the Service to provide its functionality. For "          "is utilized by the Service to provide its functionality. For "
          "example, Boot Services may invoke BIOS' Disk Services "          "example, Boot Services may invoke BIOS' Disk Services "
          "(interrupts) in order to function.") ]          "(interrupts) in order to function.") ]
 class CIM_ServiceSAPDependency:CIM_Dependency  class CIM_ServiceSAPDependency : CIM_Dependency {
 {  
         [Override ("Antecedent"),         [Override ("Antecedent"),
            Description ("The required ServiceAccessPoint") ]            Description ("The required ServiceAccessPoint") ]
     CIM_ServiceAccessPoint REF Antecedent;     CIM_ServiceAccessPoint REF Antecedent;
Line 1772 
Line 1317 
     CIM_Service REF Dependent;     CIM_Service REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SAPSAPDependency //    SAPSAPDependency
 // ================================================================== // ==================================================================
Line 1783 
Line 1329 
          "to print at a network printer, local Print Access Points "          "to print at a network printer, local Print Access Points "
          "must utilize underlying network-related SAPs, or "          "must utilize underlying network-related SAPs, or "
          "ProtocolEndpoints, in order to send the print request.") ]          "ProtocolEndpoints, in order to send the print request.") ]
 class CIM_SAPSAPDependency:CIM_Dependency  class CIM_SAPSAPDependency:CIM_Dependency {
 {  
         [Override ("Antecedent"), Description (         [Override ("Antecedent"), Description (
          "The required ServiceAccessPoint.") ]          "The required ServiceAccessPoint.") ]
     CIM_ServiceAccessPoint REF Antecedent;     CIM_ServiceAccessPoint REF Antecedent;
Line 1794 
Line 1339 
     CIM_ServiceAccessPoint REF Dependent;     CIM_ServiceAccessPoint REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    Realizes //    Realizes
 // ================================================================== // ==================================================================
Line 1801 
Line 1347 
          "CIM_Realizes is the association that defines the mapping "          "CIM_Realizes is the association that defines the mapping "
          "between a Logical Device and the physical component that "          "between a Logical Device and the physical component that "
          "implements the Device.") ]          "implements the Device.") ]
 class CIM_Realizes:CIM_Dependency  class CIM_Realizes : CIM_Dependency {
 {  
          [Override ("Antecedent"), Description (          [Override ("Antecedent"), Description (
           "The physical component that implements the Device.") ]           "The physical component that implements the Device.") ]
     CIM_PhysicalElement REF Antecedent;     CIM_PhysicalElement REF Antecedent;
          [Override ("Dependent"), Description ("The LogicalDevice.") ]        [Override ("Dependent"), Description (
           "The LogicalDevice.") ]
     CIM_LogicalDevice REF Dependent;     CIM_LogicalDevice REF Dependent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    Component //    Component
 // ================================================================== // ==================================================================
Line 1818 
Line 1365 
          "'part of' relationships between Managed System Elements. For "          "'part of' relationships between Managed System Elements. For "
          "example, the SystemComponent association defines parts of "          "example, the SystemComponent association defines parts of "
          "a System.") ]          "a System.") ]
 class CIM_Component  class CIM_Component {
 {  
         [Aggregate, Key, Description (         [Aggregate, Key, Description (
          "The parent element in the association.") ]          "The parent element in the association.") ]
     CIM_ManagedSystemElement REF GroupComponent;     CIM_ManagedSystemElement REF GroupComponent;
         [Key, Description ("The child element in the association.") ]        [Key, Description (
           "The child element in the association.") ]
     CIM_ManagedSystemElement REF PartComponent;     CIM_ManagedSystemElement REF PartComponent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SystemComponent //    SystemComponent
 // ================================================================== // ==================================================================
Line 1835 
Line 1383 
          "association that establishes 'part of' relationships between "          "association that establishes 'part of' relationships between "
          "a System and the Managed System Elements of which it is "          "a System and the Managed System Elements of which it is "
            "composed.") ]            "composed.") ]
 class CIM_SystemComponent:CIM_Component  class CIM_SystemComponent : CIM_Component {
 {  
         [Override ("GroupComponent"), Aggregate,         [Override ("GroupComponent"), Aggregate,
          Description ("The parent System in the Association.") ]          Description ("The parent System in the Association.") ]
     CIM_System REF GroupComponent;     CIM_System REF GroupComponent;
Line 1852 
Line 1399 
            "LogicalDevices may be aggregated by a System.  This "            "LogicalDevices may be aggregated by a System.  This "
            "relationship is made explicit by the SystemDevice "            "relationship is made explicit by the SystemDevice "
            "association. ") ]            "association. ") ]
 class CIM_SystemDevice:CIM_SystemComponent  class CIM_SystemDevice:CIM_SystemComponent {
 {  
         [Override ("GroupComponent"), Aggregate, Max (1), Min (1),         [Override ("GroupComponent"), Aggregate, Max (1), Min (1),
          Description ("The parent system in the Association.") ]          Description ("The parent system in the Association.") ]
     CIM_System REF GroupComponent;     CIM_System REF GroupComponent;
Line 1862 
Line 1408 
     CIM_LogicalDevice REF PartComponent;     CIM_LogicalDevice REF PartComponent;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ServiceComponent //    ServiceComponent
 // ================================================================== // ==================================================================
Line 1869 
Line 1416 
          "The ServiceComponent aggregation models a set of "          "The ServiceComponent aggregation models a set of "
          "subordinate Services that are aggregated together to form "          "subordinate Services that are aggregated together to form "
          "a higher-level service.") ]          "a higher-level service.") ]
 class CIM_ServiceComponent : CIM_Component  class CIM_ServiceComponent : CIM_Component {
 {  
         [Override ("GroupComponent"), Aggregate,         [Override ("GroupComponent"), Aggregate,
          Description ("The parent Service.") ]          Description ("The parent Service.") ]
    CIM_Service REF GroupComponent;    CIM_Service REF GroupComponent;
Line 1879 
Line 1425 
    CIM_Service REF PartComponent;    CIM_Service REF PartComponent;
 }; };
  
   
   // ==================================================================
   //    Synchrononized
   // ==================================================================
      [Association, Description (
        "Indicates that two LogicalElements were aligned or made to "
        "be equivalent at the specified point in time. If the boolean "
        "property SyncMaintained is TRUE, then synchronization "
        "of the Elements is preserved. Both like and unlike objects "
        "may be synchronized. For example, two WatchDog timers may be "
        "aligned, or the contents of a LogicalFile may be synchronized "
        "with the contents of a StorageExtent.") ]
   class CIM_Synchronized {
         [Key, Description (
           "SystemElement represents one LogicalElement that is "
           "synchronized with the entity referenced as SyncedElement.") ]
      CIM_LogicalElement ref SystemElement;
         [Key, Description (
           "SyncedElement represents another LogicalElement that is "
           "synchronized with the entity referenced as SystemElement.") ]
      CIM_LogicalElement ref SyncedElement;
         [Description (
           "The point in time that the Elements were synchronized.") ]
      datetime WhenSynced;
         [Description (
           "Boolean indicating whether synchronization is "
           "maintained.") ]
      boolean SyncMaintained;
   };
   
   
   // ==================================================================
   //     AdminDomain
   // ==================================================================
      [Description (
        "This is a special grouping of ManagedSystemElements. The "
        "grouping is viewed as a single entity, reflecting that all "
        "of its components are administered similarly - either by "
        "the same user, group of users or policy. It serves as "
        "an aggregation point to associate one or more of the "
        "following elements: network devices, such as routers and "
        "switches, servers, and other resources that can be "
        "accessed by end systems. This grouping of devices "
        "plays an essential role in ensuring that the same "
        "administrative policy and actions are applied to all "
        "of the devices in the grouping. The specific behavior "
        "and/or semantics of the AdminDomain can be identified "
        "through its aggregated and associated entities."
        "\n\n"
        "The System class and its subclasses provide the scope for "
        "numerous types of managed objects. As such, these classes "
        "must have the ability to create unique keys. This attribute "
        "is used by the System class and its subclasses to define a "
        "unique Name, independent of the specific discovery protocol "
        "used. Use of the heuristic is optional, but recommended."
        "\n\n"
        "AdminDomain is a part of the Core model, which has frequently "
        "been used in the Networks Model to group "
        "together various network resources that must be "
        "administered the same way, perhaps using the same "
        "policies. Viewed in this light, its principal subclass is "
        "AutonomousSystem.") ]
   class CIM_AdminDomain : CIM_System {
         [Override ("NameFormat"), Description (
           "The NameFormat property identifies how the Name of the "
           "AdminDomain is generated, using the heuristic specified "
           "in the CIM V2 System Model spec. It assumes that the "
           "documented rules are traversed in order, to determine and "
           "assign a Name. The NameFormat Values list defines the "
           "precedence order for assigning the Name of the "
           "AdminDomain."),
          ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",
               "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",
               "ATM", "E.164", "IB", "FC", "Policy Repository" },
          Values {"Other", "Autonomous System",
                  "Network Access Provider", "Network Operations Center",
                  "Point of Presence", "Regional Network Provider",
                  "IP", "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN",
                  "Frame Relay", "ATM", "E.164", "Infiniband",
                  "Fibre Channel", "Policy Repository"} ]
      string NameFormat;
   };
   
   
   // ==================================================================
   //
   //  Products, FRUs, and Statistics
   //
   // ==================================================================
   
   
 // ================================================================== // ==================================================================
 //    Product //    Product
 // ================================================================== // ==================================================================
Line 1890 
Line 1527 
            "to Product licensing, support and warranty. Non-commercial "            "to Product licensing, support and warranty. Non-commercial "
          "(e.g., in-house developed Products) should also be "          "(e.g., in-house developed Products) should also be "
          "identified as an instance of CIM_Product.") ]          "identified as an instance of CIM_Product.") ]
 class CIM_Product : CIM_ManagedElement  class CIM_Product : CIM_ManagedElement {
 {        [Key, MaxLen (256),
          Description ("Commonly used Product name."),
          MappingStrings {"MIF.DMTF|ComponentID|001.2"} ]
      string Name;
          [Key, MaxLen (64), Description (          [Key, MaxLen (64), Description (
          "Product identification such as a serial number on software, "          "Product identification such as a serial number on software, "
          "a die number on a hardware chip, or (for non-commercial "          "a die number on a hardware chip, or (for non-commercial "
          "Products) a project number."),          "Products) a project number."),
          MappingStrings {"MIF.DMTF|ComponentID|001.4"} ]          MappingStrings {"MIF.DMTF|ComponentID|001.4"} ]
     string IdentifyingNumber;     string IdentifyingNumber;
         [Key, MaxLen (256),  
            Description ("Commonly used Product name."),  
            MappingStrings {"MIF.DMTF|ComponentID|001.2"} ]  
     string Name;  
         [MaxLen (64), Description (  
            "Product SKU (stock keeping unit) information.") ]  
     string SKUNumber;  
         [Key, MaxLen (256), Description (         [Key, MaxLen (256), Description (
          "The name of the Product's supplier, or entity selling the "          "The name of the Product's supplier, or entity selling the "
          "Product (the manufacturer, reseller, OEM, etc.). Corresponds "          "Product (the manufacturer, reseller, OEM, etc.). Corresponds "
Line 1918 
Line 1551 
          "Exchange Standard."),          "Exchange Standard."),
          MappingStrings {"MIF.DMTF|ComponentID|001.3"} ]          MappingStrings {"MIF.DMTF|ComponentID|001.3"} ]
     string Version;     string Version;
         [MaxLen (64), Description (
           "Product SKU (stock keeping unit) information.") ]
      string SKUNumber;
                 [Description (                 [Description (
                 "If this Product is under warranty, the start date of the "                 "If this Product is under warranty, the start date of the "
                 "warranty."),                 "warranty."),
Line 1932 
Line 1568 
         uint32 WarrantyDuration;         uint32 WarrantyDuration;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ProductParentChild //    ProductParentChild
 // ================================================================== // ==================================================================
Line 1939 
Line 1576 
          "The CIM_ProductParentChild association defines a parent "          "The CIM_ProductParentChild association defines a parent "
          "child hierarchy among Products.  For example, a Product may "          "child hierarchy among Products.  For example, a Product may "
          "come bundled with other Products. ") ]          "come bundled with other Products. ") ]
 class CIM_ProductParentChild  class CIM_ProductParentChild {
 {  
         [Aggregate, Key, Description (         [Aggregate, Key, Description (
            "The parent Product in the association.") ]            "The parent Product in the association.") ]
     CIM_Product REF Parent;     CIM_Product REF Parent;
         [Key, Description ("The child Product in the association.") ]        [Key, Description (
           "The child Product in the association.") ]
     CIM_Product REF Child;     CIM_Product REF Child;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    CompatibleProduct //    CompatibleProduct
 // ================================================================== // ==================================================================
Line 1960 
Line 1598 
            "string property, CompatibilityDescription, defines how the "            "string property, CompatibilityDescription, defines how the "
            "Products interoperate or are compatible, any limitations "            "Products interoperate or are compatible, any limitations "
            "regarding interoperability or installation, ...") ]            "regarding interoperability or installation, ...") ]
 class CIM_CompatibleProduct  class CIM_CompatibleProduct {
 {  
           [Key, Description (           [Key, Description (
            "The Product for which compatible offerings are defined.") ]            "The Product for which compatible offerings are defined.") ]
     CIM_Product REF Product;     CIM_Product REF Product;
           [Key, Description ("The compatible Product.") ]        [Key, Description (
           "The compatible Product.") ]
     CIM_Product REF CompatibleProduct;     CIM_Product REF CompatibleProduct;
           [Description (           [Description (
            "CompatibilityDescription is a free-form string defining "            "CompatibilityDescription is a free-form string defining "
Line 1974 
Line 1612 
     string CompatibilityDescription;     string CompatibilityDescription;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ProductProductDependency //    ProductProductDependency
 // ================================================================== // ==================================================================
Line 1982 
Line 1621 
            "Products, indicating that one must be installed, or must be "            "Products, indicating that one must be installed, or must be "
            "absent, for the other to function. This is conceptually "            "absent, for the other to function. This is conceptually "
            "equivalent to the ServiceServiceDependency association.") ]            "equivalent to the ServiceServiceDependency association.") ]
 class CIM_ProductProductDependency  class CIM_ProductProductDependency {
 {  
           [Key, Description ("The required Product.") ]           [Key, Description ("The required Product.") ]
     CIM_Product REF RequiredProduct;     CIM_Product REF RequiredProduct;
           [Key, Description (           [Key, Description (
Line 1999 
Line 1637 
     uint16 TypeOfDependency;     uint16 TypeOfDependency;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SupportAccess //    SupportAccess
 // ================================================================== // ==================================================================
         [Description (         [Description (
          "The CIM_SupportAccess association defines how to obtain "          "The CIM_SupportAccess association defines how to obtain "
          "assistance for a Product.") ]          "assistance for a Product.") ]
 class CIM_SupportAccess : CIM_ManagedElement  class CIM_SupportAccess : CIM_ManagedElement {
 {        [Override ("Description"), Description (
           "A textual description of the type of Support provided."),
          MappingStrings {"MIF.DMTF|Support|001.3"} ]
      string Description;
         [Key, MaxLen (256), Description (
           "SupportAccessID is an arbitrary, free form string defined by "
           "the Product Vendor or by the organization that deploys the "
           "Product.  This property, since it is a key, should be unique "
           "throughout the enterprise.") ]
      string SupportAccessId;
         [Description (         [Description (
          "CommunicationInfo provides the details of the Communication"          "CommunicationInfo provides the details of the Communication"
          "Mode. For example, if the CommunicationMode is 'Phone', "          "Mode. For example, if the CommunicationMode is 'Phone', "
Line 2022 
Line 1670 
                "Online Service", "Web Page", "FTP", "E-mail"},                "Online Service", "Web Page", "FTP", "E-mail"},
          MappingStrings {"MIF.DMTF|Support|001.5"} ]          MappingStrings {"MIF.DMTF|Support|001.5"} ]
     uint16 CommunicationMode;     uint16 CommunicationMode;
         [Override ("Description"), Description (  
            "A textual description of the type of Support provided."),  
            MappingStrings {"MIF.DMTF|Support|001.3"} ]  
     string Description;  
         [MaxLen (64), Description (         [MaxLen (64), Description (
          "Locale defines the geographic region and/or language dialect "          "Locale defines the geographic region and/or language dialect "
          "to which this Support resource pertains."),          "to which this Support resource pertains."),
            MappingStrings {"MIF.DMTF|Support|001.2"} ]            MappingStrings {"MIF.DMTF|Support|001.2"} ]
     string Locale;     string Locale;
         [Key, MaxLen (256), Description (  
          "SupportAccessID is an arbitrary, free form string defined by "  
          "the Product Vendor or by the organization that deploys the "  
          "Product.  This property, since it is a key, should be unique "  
          "throughout the enterprise.") ]  
     string SupportAccessId;  
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ProductSupport //    ProductSupport
 // ================================================================== // ==================================================================
Line 2049 
Line 1688 
          "various types of Support are available for a Product, and "          "various types of Support are available for a Product, and "
          "that the same Support object can provide assistance for "          "that the same Support object can provide assistance for "
          "multiple Products.") ]          "multiple Products.") ]
 class CIM_ProductSupport  class CIM_ProductSupport {
 {  
         [Key, Description ("The Product.") ]         [Key, Description ("The Product.") ]
     CIM_Product REF Product;     CIM_Product REF Product;
         [Key, Description ("Support for the Product.") ]         [Key, Description ("Support for the Product.") ]
     CIM_SupportAccess REF Support;     CIM_SupportAccess REF Support;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    FRU //    FRU
 // ================================================================== // ==================================================================
Line 2066 
Line 1705 
          "Product for the purpose of supporting, maintaining or "          "Product for the purpose of supporting, maintaining or "
          "upgrading that Product at the customer's location. FRU is "          "upgrading that Product at the customer's location. FRU is "
          "an acronym for 'field replaceable unit'. ") ]          "an acronym for 'field replaceable unit'. ") ]
 class CIM_FRU : CIM_ManagedElement  class CIM_FRU : CIM_ManagedElement {
 {        [Override ("Description"), Description (
        [Override ("Description"), Description ("A textual description of the FRU."),          "A textual description of the FRU."),
            MappingStrings {"MIF.DMTF|FRU|002.3"} ]            MappingStrings {"MIF.DMTF|FRU|002.3"} ]
     string Description;     string Description;
         [Key, MaxLen (64), Description ("FRU ordering information."),        [Key, MaxLen (64), Description (
           "FRU ordering information."),
            MappingStrings {"MIF.DMTF|FRU|002.6"} ]            MappingStrings {"MIF.DMTF|FRU|002.6"} ]
     string FRUNumber;     string FRUNumber;
         [Key, MaxLen (64), Description (         [Key, MaxLen (64), Description (
Line 2079 
Line 1719 
          "a die number on a hardware chip."),          "a die number on a hardware chip."),
            MappingStrings {"MIF.DMTF|FRU|002.7"} ]            MappingStrings {"MIF.DMTF|FRU|002.7"} ]
     string IdentifyingNumber;     string IdentifyingNumber;
         [Description ("FRU name."), MaxLen (256) ]  
     string Name;  
         [Key, MaxLen (256),         [Key, MaxLen (256),
            Description ("The name of the FRU's supplier."),            Description ("The name of the FRU's supplier."),
          MappingStrings {"MIF.DMTF|FRU|002.4"} ]          MappingStrings {"MIF.DMTF|FRU|002.4"} ]
     string Vendor;     string Vendor;
         [Description ("FRU name."), MaxLen (256) ]
      string Name;
         [MaxLen (64), Description ("The FRU's revision level."),         [MaxLen (64), Description ("The FRU's revision level."),
            MappingStrings {"MIF.DMTF|FRU|002.8"} ]            MappingStrings {"MIF.DMTF|FRU|002.8"} ]
     string RevisionLevel;     string RevisionLevel;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ProductFRU //    ProductFRU
 // ================================================================== // ==================================================================
Line 2100 
Line 1741 
          "many, conveying that a Product can have many FRUs, and that "          "many, conveying that a Product can have many FRUs, and that "
          "a particular instance of a FRU is only applied to one "          "a particular instance of a FRU is only applied to one "
          "(instance of a) Product.") ]          "(instance of a) Product.") ]
 class CIM_ProductFRU  class CIM_ProductFRU {
 {  
         [Max (1), Key, Description (         [Max (1), Key, Description (
            "The Product to which the FRU is applied.") ]            "The Product to which the FRU is applied.") ]
     CIM_Product REF Product;     CIM_Product REF Product;
Line 2109 
Line 1749 
     CIM_FRU REF FRU;     CIM_FRU REF FRU;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ProductPhysicalElements //    ProductPhysicalElements
 // ================================================================== // ==================================================================
           [Association, Aggregation, Description (           [Association, Aggregation, Description (
            "Indicates the PhysicalElements that make up a Product.") ]            "Indicates the PhysicalElements that make up a Product.") ]
 class CIM_ProductPhysicalElements  class CIM_ProductPhysicalElements {
 {        [Max (1), Aggregate, Key, Description (
           [Max (1), Aggregate, Key, Description ("The Product.") ]          "The Product.") ]
     CIM_Product REF Product;     CIM_Product REF Product;
         [Key, Description (         [Key, Description (
            "The PhysicalElement which is a part of the Product.") ]            "The PhysicalElement which is a part of the Product.") ]
     CIM_PhysicalElement REF Component;     CIM_PhysicalElement REF Component;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    FRUPhysicalElements //    FRUPhysicalElements
 // ================================================================== // ==================================================================
           [Association, Aggregation, Description (           [Association, Aggregation, Description (
            "Indicates the PhysicalElements that make up a FRU.") ]            "Indicates the PhysicalElements that make up a FRU.") ]
 class CIM_FRUPhysicalElements  class CIM_FRUPhysicalElements {
 {        [Max (1), Aggregate, Key, Description (
           [Max (1), Aggregate, Key, Description ("The FRU.") ]          "The FRU.") ]
     CIM_FRU REF FRU;     CIM_FRU REF FRU;
         [Key, Description (         [Key, Description (
            "The PhysicalElement which is a part of the FRU.") ]            "The PhysicalElement which is a part of the FRU.") ]
     CIM_PhysicalElement REF Component;     CIM_PhysicalElement REF Component;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    FRUIncludesProduct //    FRUIncludesProduct
 // ================================================================== // ==================================================================
           [Association, Aggregation, Description (           [Association, Aggregation, Description (
            "Indicates that a FRU may be composed of other Product(s).") ]            "Indicates that a FRU may be composed of other Product(s).") ]
 class CIM_FRUIncludesProduct  class CIM_FRUIncludesProduct {
 {        [Max (1), Aggregate, Key, Description (
           [Max (1), Aggregate, Key, Description ("The FRU.") ]          "The FRU.") ]
     CIM_FRU REF FRU;     CIM_FRU REF FRU;
         [Key, Description (         [Key, Description (
            "The Product which is a part of the FRU.") ]            "The Product which is a part of the FRU.") ]
     CIM_Product REF Component;     CIM_Product REF Component;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    StatisticalInformation //    StatisticalInformation
 // ================================================================== // ==================================================================
Line 2158 
Line 1802 
            "CIM_StatisticalInformation is a root class for any arbitrary "            "CIM_StatisticalInformation is a root class for any arbitrary "
            "collection of statistical data and/or metrics applicable to "            "collection of statistical data and/or metrics applicable to "
            "one or more ManagedSystemElements.") ]            "one or more ManagedSystemElements.") ]
 class CIM_StatisticalInformation : CIM_ManagedElement  class CIM_StatisticalInformation : CIM_ManagedElement {
 {  
           [MaxLen (256), Description (           [MaxLen (256), Description (
            "The Name property defines the label by which the statistic "            "The Name property defines the label by which the statistic "
            "or metric is known. When subclassed, the property can be "            "or metric is known. When subclassed, the property can be "
Line 2167 
Line 1810 
     string Name;     string Name;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    Statistics //    Statistics
 // ================================================================== // ==================================================================
         [Association, Description (         [Association, Description (
          "CIM_Statistics is an association that relates Managed"          "CIM_Statistics is an association that relates Managed"
          "Elements to the StatisticalGroup(s) that apply to them.") ]          "Elements to the StatisticalGroup(s) that apply to them.") ]
 class CIM_Statistics  class CIM_Statistics {
 {        [Key, Description (
         [Key, Description ("The statistic information/object.") ]          "The statistic information/object.") ]
     CIM_StatisticalInformation REF Stats;     CIM_StatisticalInformation REF Stats;
         [Key, Description (         [Key, Description (
          "The ManagedElement for which statistical or metric "          "The ManagedElement for which statistical or metric "
Line 2183 
Line 1827 
     CIM_ManagedElement REF Element;     CIM_ManagedElement REF Element;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    RelatedStatistics //    RelatedStatistics
 // ================================================================== // ==================================================================
Line 2190 
Line 1835 
            "CIM_RelatedStatistics is an association that defines "            "CIM_RelatedStatistics is an association that defines "
            "hierarchies and/or dependencies of related CIM_Statistical"            "hierarchies and/or dependencies of related CIM_Statistical"
            "Information classes.") ]            "Information classes.") ]
 class CIM_RelatedStatistics  class CIM_RelatedStatistics {
 {        [Key, Description (
           [Key, Description ("The statistic information/object.") ]          "The statistic information/object.") ]
     CIM_StatisticalInformation REF Stats;     CIM_StatisticalInformation REF Stats;
           [Key, Description ("The related statistics or metrics.") ]        [Key, Description (
           "The related statistics or metrics.") ]
     CIM_StatisticalInformation REF RelatedStats;     CIM_StatisticalInformation REF RelatedStats;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SystemStatisticalInformation //    SystemStatisticalInformation
 // ================================================================== // ==================================================================
         [Description (         [Description (
          "Statistical information associated with a System object "          "Statistical information associated with a System object "
          "or one of its subclasses.") ]          "or one of its subclasses.") ]
 class CIM_SystemStatisticalInformation : CIM_StatisticalInformation  class CIM_SystemStatisticalInformation : CIM_StatisticalInformation {
 {  
         [Propagated("CIM_System.CreationClassName"), Key,         [Propagated("CIM_System.CreationClassName"), Key,
          MaxLen (256), Description (          MaxLen (256), Description (
          "The scoping System's CreationClassName.") ]          "The scoping System's CreationClassName.") ]
Line 2226 
Line 1872 
    string Name;    string Name;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SystemStatistics //    SystemStatistics
 // ================================================================== // ==================================================================
         [Association, Description (         [Association, Description (
          "SystemStatistics relates the SystemStatisticalInformation "          "SystemStatistics relates the SystemStatisticalInformation "
          "class to the System to which it applies.") ]          "class to the System to which it applies.") ]
 class CIM_SystemStatistics : CIM_Statistics  class CIM_SystemStatistics : CIM_Statistics {
 {  
         [Override ("Stats"), Weak, Description (         [Override ("Stats"), Weak, Description (
          "The statistical object.") ]          "The statistical object.") ]
    CIM_SystemStatisticalInformation REF Stats;    CIM_SystemStatisticalInformation REF Stats;
Line 2242 
Line 1888 
    CIM_System REF Element;    CIM_System REF Element;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ServiceStatisticalInformation //    ServiceStatisticalInformation
 // ================================================================== // ==================================================================
         [Description (         [Description (
          "Statistical information associated with a Service object "          "Statistical information associated with a Service object "
          "or one of its subclasses.") ]          "or one of its subclasses.") ]
 class CIM_ServiceStatisticalInformation : CIM_StatisticalInformation  class CIM_ServiceStatisticalInformation : CIM_StatisticalInformation {
 {  
         [Propagated("CIM_Service.SystemCreationClassName"), Key,         [Propagated("CIM_Service.SystemCreationClassName"), Key,
          MaxLen (256), Description (          MaxLen (256), Description (
          "The scoping System's CreationClassName.") ]          "The scoping System's CreationClassName.") ]
Line 2277 
Line 1923 
    string Name;    string Name;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    ServiceStatistics //    ServiceStatistics
 // ================================================================== // ==================================================================
         [Association, Description (         [Association, Description (
          "ServiceStatistics relates the ServiceStatisticalInformation "          "ServiceStatistics relates the ServiceStatisticalInformation "
          "class to the Service to which it applies.") ]          "class to the Service to which it applies.") ]
 class CIM_ServiceStatistics : CIM_Statistics  class CIM_ServiceStatistics : CIM_Statistics {
 {  
         [Override ("Stats"), Weak,         [Override ("Stats"), Weak,
          Description ( "The statistical object.") ]          Description ( "The statistical object.") ]
    CIM_ServiceStatisticalInformation REF Stats;    CIM_ServiceStatisticalInformation REF Stats;
         [Override ("Element"), Min(1), Max(1),         [Override ("Element"), Min(1), Max(1),
          Description ( "The Service to which the statistics apply.") ]         Description (
           "The Service to which the statistics apply.") ]
    CIM_Service REF Element;    CIM_Service REF Element;
 }; };
  
   
 // ================================================================== // ==================================================================
 //    SAPStatisticalInformation //    SAPStatisticalInformation
 // ================================================================== // ==================================================================
         [Description (         [Description (
          "Statistical information associated with a Service"          "Statistical information associated with a Service"
          "AccessPoint object or one of its subclasses.") ]          "AccessPoint object or one of its subclasses.") ]
 class CIM_SAPStatisticalInformation : CIM_StatisticalInformation  class CIM_SAPStatisticalInformation : CIM_StatisticalInformation {
 {  
         [Propagated("CIM_ServiceAccessPoint.SystemCreationClassName"),         [Propagated("CIM_ServiceAccessPoint.SystemCreationClassName"),
          Key, MaxLen (256), Description (          Key, MaxLen (256), Description (
          "The scoping System's CreationClassName.") ]          "The scoping System's CreationClassName.") ]
Line 2328 
Line 1975 
    string Name;    string Name;
 }; };
  
 // ==================================================================  
 //    SAPStatistics  // ==================================================================
 // ==================================================================  //    SAPStatistics
   // ==================================================================
      [Association, Description (
        "SAPStatistics relates the SAPStatisticalInformation "
        "class to the ServiceAccessPoint to which it applies. ") ]
   class CIM_SAPStatistics : CIM_Statistics {
         [Override ("Stats"), Weak,
          Description ( "The statistical object.") ]
      CIM_SAPStatisticalInformation REF Stats;
         [Override ("Element"), Min(1), Max(1), Description (
           "The ServiceAccessPoint to which the statistics apply.") ]
      CIM_ServiceAccessPoint REF Element;
   };
   
   
   // ==================================================================
   //    DeviceStatisticalInformation
   // ==================================================================
      [Description (
        "Statistical information associated with a LogicalDevice "
        "or one of its subclasses.") ]
   class CIM_DeviceStatisticalInformation : CIM_StatisticalInformation {
         [Propagated("CIM_LogicalDevice.SystemCreationClassName"), Key,
          MaxLen (256), Description (
           "The scoping System's CreationClassName.") ]
      string SystemCreationClassName;
         [Propagated("CIM_LogicalDevice.SystemName"), Key, MaxLen (256),
          Description ("The scoping System's Name.") ]
      string SystemName;
         [Propagated("CIM_LogicalDevice.CreationClassName"), Key,
          MaxLen (256),
          Description ("The scoping Device's CreationClassName.") ]
      string DeviceCreationClassName;
         [Propagated("CIM_LogicalDevice.DeviceID"), Key, MaxLen (64),
          Description ("The scoping Device's ID.") ]
      string DeviceID;
         [Key, MaxLen (256), Description (
           "CreationClassName indicates the name of the class or the "
           "subclass used in the creation of an instance. When used "
           "with the other key properties of this class, this property "
           "allows all instances of this class and its subclasses to "
           "be uniquely identified.") ]
      string CreationClassName;
         [Key, MaxLen (256), Override ("Name"), Description (
           "The Name property, inherited from StatisticalInformation, "
           "serves as part of the object key.") ]
      string Name;
   };
   
   
   // ==================================================================
   //    DeviceStatistics
   // ==================================================================
      [Association, Description (
        "DeviceStatistics relates the DeviceStatisticalInformation "
        "class to the LogicalDevice to which it applies. ") ]
   class CIM_DeviceStatistics : CIM_Statistics {
         [Override ("Stats"), Weak,
          Description ( "The statistical object.") ]
      CIM_DeviceStatisticalInformation REF Stats;
         [Override ("Element"), Min(1), Max(1),
          Description ("The Device to which the statistics apply.") ]
      CIM_LogicalDevice REF Element;
   };
   
   
   // ==================================================================
   //    PhysicalStatisticalInformation
   // ==================================================================
      [Description (
        "Statistical information associated with a PhysicalElement "
        "or one of its subclasses.") ]
   class CIM_PhysicalStatisticalInformation : CIM_StatisticalInformation {
         [Propagated("CIM_PhysicalElement.CreationClassName"), Key,
          MaxLen (256),
          Description ("The scoping Element's CreationClassName.") ]
      string PhysicalCreationClassName;
         [Propagated("CIM_PhysicalElement.Tag"), Key, MaxLen (256),
          Description ("The scoping Element's identifying Tag.") ]
      string Tag;
         [Key, MaxLen (256), Description (
           "CreationClassName indicates the name of the class or the "
           "subclass used in the creation of an instance. When used "
           "with the other key properties of this class, this property "
           "allows all instances of this class and its subclasses to "
           "be uniquely identified.") ]
      string CreationClassName;
         [Key, MaxLen (256), Override ("Name"), Description (
           "The Name property, inherited from StatisticalInformation, "
           "serves as part of the object key.") ]
      string Name;
   };
   
   
   // ==================================================================
   //    PhysicalStatistics
   // ==================================================================
      [Association, Description (
        "PhysicalStatistics relates the PhysicalStatisticalInformation "
        "class to the PhysicalElement to which it applies. ") ]
   class CIM_PhysicalStatistics : CIM_Statistics {
         [Override ("Stats"), Weak,
          Description ( "The statistical object.") ]
      CIM_PhysicalStatisticalInformation REF Stats;
         [Override ("Element"), Min(1), Max(1), Description (
           "The PhysicalElement to which the statistics apply.") ]
      CIM_PhysicalElement REF Element;
   };
   
   
   // ==================================================================
   //
   //  Settings and Configuration
   //
   // ==================================================================
   // ===================================================================
   //    Configuration
   // ===================================================================
      [Description (
        "The Configuration object allows the grouping of sets of "
        "parameters (defined in Setting objects) and dependencies for "
        "one or more ManagedSystemElements. The Configuration object "
        "represents a certain behavior, or a desired functional state "
        "for the ManagedSystemElements. The desired functional state "
        "is typically driven by external requirements such as time or "
        "location. For example, to connect to a Mail System from "
        "'home', a dependency on a modem exists, but a dependency on "
        "a network adapter exists at 'work'. Settings for the "
        "pertinent LogicalDevices (in this example, POTSModem and "
        "NetworkAdapter) can be defined and aggregated by the "
        "Configuration. Therefore, two 'Connect to Mail' "
        "Configurations may be defined grouping the relevant "
        "dependencies and Setting objects.") ]
   class CIM_Configuration : CIM_ManagedElement {
         [Key, MaxLen (256), Description (
           "The label by which the Configuration object is known.") ]
      string Name;
   };
   
   
   // ===================================================================
   //    ConfigurationComponent
   // ===================================================================
      [Association, Aggregation, Description (
        "ConfigurationComponent aggregates 'lower-level' "
        "Configuration objects into a 'high-level' Configuration. "
        "This enables the assembly of complex Configurations by "
        "grouping together simpler ones. For example, a logon policy "
        "for the United States could consist of two Configuration "
        "groups, one for the east coast and one for the west coast. "
        "Each of these could in turn consist of multiple "
        "Configurations to handle different aspects of the logon "
        "process.") ]
   class CIM_ConfigurationComponent {
         [Aggregate, Key, Description (
           "The Configuration that aggregates additional "
           "Configurations." ) ]
      CIM_Configuration REF ConfigGroup;
         [Key, Description (
           "A Configuration that is part of a 'higher-level' "
           "Configuration.") ]
      CIM_Configuration REF ConfigComponent;
   };
   
   
   // ===================================================================
   //    ElementConfiguration
   // ===================================================================
      [Association, Description (
        "This association relates a Configuration object to one or "
        "more ManagedSystemElements. The Configuration object "
        "represents a certain behavior, or a desired functional state "
        "for the associated ManagedSystemElements.") ]
   class CIM_ElementConfiguration {
         [Key, Description ("The ManagedSystemElement.")]
      CIM_ManagedSystemElement REF Element;
         [Key, Description (
           "The Configuration object that groups the Settings and "
           "dependencies associated with the ManagedSystemElement.") ]
      CIM_Configuration REF Configuration;
   };
   
   
   // ===================================================================
   //    CollectionConfiguration
   // ===================================================================
      [Association, Description (
        "This association relates a Configuration object to one or "
        "more CollectionOfMSEs objects. The Configuration object "
        "represents a certain behavior, or a desired functional state "
        "for the associated Collection.") ]
   class CIM_CollectionConfiguration {
         [Key, Description ("The CollectionOfMSEs.") ]
      CIM_CollectionOfMSEs REF Collection;
         [Key, Description (
           "The Configuration object that groups the Settings and "
           "dependencies associated with the Collection.") ]
      CIM_Configuration REF Configuration;
   };
   
   
   // ===================================================================
   //    Setting
   // ===================================================================
      [Abstract, Description (
        "The Setting class represents configuration-related and "
        "operational parameters for one or more ManagedSystem"
        "Element(s). A ManagedSystemElement may have multiple Setting "
        "objects associated with it. The current operational values "
        "for an Element's parameters are reflected by properties in "
        "the Element itself or by properties in its associations. "
        "These properties do not have to be the same values present "
        "in the Setting object. For example, a modem may have a "
        "Setting baud rate of 56Kb/sec but be operating "
        "at 19.2Kb/sec.") ]
   class CIM_Setting : CIM_ManagedElement {
         [MaxLen (256), Description (
           "The identifier by which the Setting object is known.") ]
      string SettingID;
         [Description (
           "The VerifyOKToApplyToMSE method is used to verify that "
           "this Setting can be 'applied' to the referenced Managed"
           "SystemElement, at the given time or time interval. This "
           "method takes three input parameters: MSE (the Managed"
           "SystemElement that is being verified), TimeToApply (which, "
           "being a datetime, can be either a specific time or a time "
           "interval), and MustBeCompletedBy (which indicates the "
           "required completion time for the method). The return "
           "value should be 0 if it is OK to apply the Setting, 1 if "
           "the method is not supported, 2 if the Setting can not be "
           "applied within the specified times, and any other number "
           "if an error occurred. In a subclass, the "
           "set of possible return codes could be specified, using a "
           "ValueMap qualifier on the method. The strings to which the "
           "ValueMap contents are 'translated' may also be specified in "
           "the subclass as a Values array qualifier.") ]
      uint32 VerifyOKToApplyToMSE(
         [IN] CIM_ManagedSystemElement ref MSE,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy);
         [Description (
           "The ApplyToMSE method performs the actual application of "
           "the Setting to the referenced ManagedSystemElement. It "
           "takes three input parameters: MSE (the ManagedSystem"
           "Element to which the Setting is being applied), "
           "TimeToApply (which, being a datetime, can be either a "
           "specific time or a time interval), and MustBeCompletedBy "
           "(which indicates the required completion time for the "
           "method). Note that the semantics of this method are that "
           "individual Settings are either wholly applied or not "
           "applied at all to their target ManagedSystemElement. The "
           "return value should be 0 if the Setting is successfully "
           "applied to the referenced ManagedSystemElement, 1 if the "
           "method is not supported, 2 if the Setting was not applied "
           "within the specified times, and any other number if an "
           "error occurred. In a subclass, the set of possible return "
           "codes could be specified, using a ValueMap qualifier on "
           "the method. The strings to which the ValueMap contents are "
           "'translated' may also be specified in the subclass as a "
           "Values array qualifier.\n"
           "Note: If an error occurs in applying the Setting to a "
           "ManagedSystemElement, the Element must be configured as "
           "when the 'apply' attempt began. That is, the Element "
           "should NOT be left in an indeterminate state.") ]
      uint32 ApplyToMSE(
         [IN] CIM_ManagedSystemElement ref MSE,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy);
         [Description (
           "The VerifyOKToApplyToCollection method is used to verify "
           "that this Setting can be 'applied' to the referenced "
           "Collection of ManagedSystemElements, at the given time "
           "or time interval, without causing adverse effects to "
           "either the Collection itself or its surrounding "
           "environment. The net effect is to execute the "
           "VerifyOKToApply method against each of the Elements "
           "aggregated by the Collection. This method takes three "
           "input parameters: Collection (the Collection of Managed"
           "SystemElements that is being verified), TimeToApply (which, "
           "being a datetime, can be either a specific time or a time "
           "interval), and MustBeCompletedBy (which indicates the "
           "required completion time for the method). The return "
           "value should be 0 if it is OK to apply the Setting, 1 if "
           "the method is not supported, 2 if the Setting can not be "
           "applied within the specified times, and any other number if "
           "an error occurred. One output parameter is defined - "
           "CanNotApply - which is a string array that lists the keys of "
           "the ManagedSystemElements to which the Setting can NOT be "
           "applied. This enables those Elements to be revisited and "
           "either fixed, or other corrective action taken.\n"
           "In a subclass, the set of possible return codes could be "
           "specified, using a ValueMap qualifier on the method. The "
           "strings to which the ValueMap contents are 'translated' may "
           "also be specified in the subclass as a Values array "
           "qualifier.") ]
      uint32 VerifyOKToApplyToCollection (
         [IN] CIM_CollectionOfMSEs ref Collection,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy,
         [OUT] string CanNotApply[]);
         [Description (
           "The ApplyToCollection method performs the application of "
           "the Setting to the referenced Collection of ManagedSystem"
           "Elements. The net effect is to execute the ApplyToMSE "
           "method against each of the Elements aggregated by the "
           "Collection. If the input value ContinueOnError is FALSE, "
           "this method applies the Setting to all Elements in the "
           "Collection until it encounters an error, in which case it "
           "stops execution, logs the key of the Element that caused "
           "the error in the CanNotApply array, and issues a return code "
           "of 2. If the input value ContinueOnError is TRUE, then this "
           "method applies the Setting to all the ManagedSystemElements "
           "in the Collection, and reports the failed Elements in the "
           "array, CanNotApply. For the latter, processing will continue "
           "until the method is applied to all Elements in the "
           "Collection, regardless of any errors encountered. The key of "
           "each ManagedSystemElement to which the Setting could not be "
           "applied is logged into the CanNotApply array. This method "
           "takes four input parameters: Collection (the Collection of "
           "Elements to which the Setting is being applied), TimeToApply "
           "(which, being a datetime, can be either a specific time or a "
           "time interval), ContinueOnError (TRUE means to continue "
           "processing on encountering an error), and MustBeCompletedBy "
           "(which indicates the required completion time for the "
           "method). The return value should be 0 if the Setting is "
           "successfully applied to the referenced Collection, 1 if the "
           "method is not supported, 2 if the Setting was not applied "
           "within the specified times, 3 if the Setting can not be "
           "applied using the input value for ContinueOnError, and any "
           "other number if an error occurred. One output parameter is "
           "defined, CanNotApplystring, which is an array that lists "
           "the keys of the ManagedSystemElements to which the Setting "
           "was NOT able to be applied. This output parameter has "
           "meaning only when the ContinueOnError parameter is TRUE.\n"
           "In a subclass, the set of possible return codes could be "
           "specified, using a ValueMap qualifier on the method. The "
           "strings to which the ValueMap contents are 'translated' may "
           "also be specified in the subclass as a Values array "
           "qualifier.\n"
           "Note: if an error occurs in applying the Setting to a "
           "ManagedSystemElement in the Collection, the Element must be "
           "configured as when the 'apply' attempt began. That is, the "
           "Element should NOT be left in an indeterminate state.") ]
      uint32 ApplyToCollection(
         [IN] CIM_CollectionOfMSEs ref Collection,
         [IN] datetime TimeToApply,
         [IN] boolean ContinueOnError,
         [IN] datetime MustBeCompletedBy,
         [OUT] string CanNotApply[]);
         [Description (
           "The VerifyOKToApplyIncrementalChangeToMSE method "
           "is used to verify that a subset of the properties in "
           "this Setting can be 'applied' to the referenced Managed"
           "SystemElement, at the given time or time interval. This "
           "method takes four input parameters: MSE (the Managed"
           "SystemElement that is being verified), TimeToApply (which, "
           "being a datetime, can be either a specific time or a time "
           "interval), MustBeCompletedBy (which indicates the "
           "required completion time for the method), and a "
           "PropertiesToApply array (which contains a list of the "
           "property names whose values will be verified. "
           "If they array is null or empty or constains the string \"all\" "
           "as a property name then all Settings properties shall be "
           "verified.  If it is set to \"none\" then no Settings properties "
           "will be verified). The return "
           "value should be 0 if it is OK to apply the Setting, 1 if "
           "the method is not supported, 2 if the Setting can not be "
           "applied within the specified times, and any other number "
           "if an error occurred. In a subclass, the "
           "set of possible return codes could be specified, using a "
           "ValueMap qualifier on the method. The strings to which the "
           "ValueMap contents are 'translated' may also be specified in "
           "the subclass as a Values array qualifier.") ]
      uint32 VerifyOKToApplyIncrementalChangeToMSE(
         [IN] CIM_ManagedSystemElement ref MSE,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy,
         [IN] string PropertiesToApply[]);
         [Description (
           "The ApplyIncrementalChangeToMSE method performs the "
           "actual application of  a subset of the properties in "
           "the Setting to the referenced ManagedSystemElement. It "
           "takes four input parameters: MSE (the ManagedSystem"
           "Element to which the Setting is being applied), "
           "TimeToApply (which, being a datetime, can be either a "
           "specific time or a time interval), MustBeCompletedBy "
           "(which indicates the required completion time for the "
           "method), and a "
           "PropertiesToApply array (which contains a list of the "
           "property names whose values will be applied. If a "
           "property is not in this list, it will be ignored by the apply. "
           "If they array is null or empty or constains the string \"all\" "
           "as a property name then all Settings properties shall be "
           "applied.  If it is set to \"none\" then no Settings properties "
           "will be applied. ). "
           "Note that the semantics of this method are that "
           "individual Settings are either wholly applied or not "
           "applied at all to their target ManagedSystemElement. The "
           "return value should be 0 if the Setting is successfully "
           "applied to the referenced ManagedSystemElement, 1 if the "
           "method is not supported, 2 if the Setting was not applied "
           "within the specified times, and any other number if an "
           "error occurred. In a subclass, the set of possible return "
           "codes could be specified, using a ValueMap qualifier on "
           "the method. The strings to which the ValueMap contents are "
           "'translated' may also be specified in the subclass as a "
           "Values array qualifier.\n"
           "Note: If an error occurs in applying the Setting to a "
           "ManagedSystemElement, the Element must be configured as "
           "when the 'apply' attempt began. That is, the Element "
           "should NOT be left in an indeterminate state.") ]
      uint32 ApplyIncrementalChangeToMSE(
         [IN] CIM_ManagedSystemElement ref MSE,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy,
         [IN] string PropertiesToApply[]);
         [Description (
           "The VerifyOKToApplyIncrementalChangeToCollection method "
           "is used to verify that a subset of the properties in "
           "this Setting can be 'applied' to the referenced "
           "Collection of ManagedSystemElements, at the given time "
           "or time interval, without causing adverse effects to "
           "either the Collection itself or its surrounding "
           "environment. The net effect is to execute the "
           "VerifyOKToApplyIncrementalChangeToMSE method "
           "against each of the Elements "
           "aggregated by the Collection. This method takes three "
           "input parameters: Collection (the Collection of Managed"
           "SystemElements that is being verified), TimeToApply (which, "
           "being a datetime, can be either a specific time or a time "
           "interval), MustBeCompletedBy (which indicates the "
           "required completion time for the method), and a "
           "PropertiesToApply array (which contains a list of the "
           "property names whose values will be verified. "
           "If they array is null or empty or constains the string \"all\" "
           "as a property name then all Settings properties shall be "
           "verified.  If it is set to \"none\" then no Settings properties "
           "will be verified). The return "
           "value should be 0 if it is OK to apply the Setting, 1 if "
           "the method is not supported, 2 if the Setting can not be "
           "applied within the specified times, and any other number if "
           "an error occurred. One output parameter is defined - "
           "CanNotApply - which is a string array that lists the keys of "
           "the ManagedSystemElements to which the Setting can NOT be "
           "applied. This enables those Elements to be revisited and "
           "either fixed, or other corrective action taken.\n"
           "In a subclass, the set of possible return codes could be "
           "specified, using a ValueMap qualifier on the method. The "
           "strings to which the ValueMap contents are 'translated' may "
           "also be specified in the subclass as a Values array "
           "qualifier.") ]
      uint32 VerifyOKToApplyIncrementalChangeToCollection (
         [IN] CIM_CollectionOfMSEs ref Collection,
         [IN] datetime TimeToApply,
         [IN] datetime MustBeCompletedBy,
         [IN] string PropertiesToApply[],
         [OUT] string CanNotApply[]);
         [Description (
           "The ApplyIncrementalChangeToCollection method performs "
           "the application of a subset of the properties in this "
           "Setting to the referenced Collection of ManagedSystem"
           "Elements. The net effect is to execute the "
           "ApplyIncrementalChangeToMSE "
           "method against each of the Elements aggregated by the "
           "Collection. If the input value ContinueOnError is FALSE, "
           "this method applies the Setting to all Elements in the "
           "Collection until it encounters an error, in which case it "
           "stops execution, logs the key of the Element that caused "
           "the error in the CanNotApply array, and issues a return code "
           "of 2. If the input value ContinueOnError is TRUE, then this "
           "method applies the Setting to all the ManagedSystemElements "
           "in the Collection, and reports the failed Elements in the "
           "array, CanNotApply. For the latter, processing will continue "
           "until the method is applied to all Elements in the "
           "Collection, regardless of any errors encountered. The key of "
           "each ManagedSystemElement to which the Setting could not be "
           "applied is logged into the CanNotApply array. This method "
           "takes four input parameters: Collection (the Collection of "
           "Elements to which the Setting is being applied), TimeToApply "
           "(which, being a datetime, can be either a specific time or a "
           "time interval), ContinueOnError (TRUE means to continue "
           "processing on encountering an error), and MustBeCompletedBy "
           "(which indicates the required completion time for the "
           "method), and a PropertiesToApply array (which contains a list "
           "of the property names whose values will be applied. If a "
           "property is not in this list, it will be ignored by the apply. "
           "If they array is null or empty or constains the string \"all\" "
           "as a property name then all Settings properties shall be "
           "applied.  If it is set to \"none\" then no Settings properties "
           "will be applied. ). "
           "The return value should be 0 if the Setting is "
           "successfully applied to the referenced Collection, 1 if the "
           "method is not supported, 2 if the Setting was not applied "
           "within the specified times, 3 if the Setting can not be "
           "applied using the input value for ContinueOnError, and any "
           "other number if an error occurred. One output parameter is "
           "defined, CanNotApplystring, which is an array that lists "
           "the keys of the ManagedSystemElements to which the Setting "
           "was NOT able to be applied. This output parameter has "
           "meaning only when the ContinueOnError parameter is TRUE.\n"
           "In a subclass, the set of possible return codes could be "
           "specified, using a ValueMap qualifier on the method. The "
           "strings to which the ValueMap contents are 'translated' may "
           "also be specified in the subclass as a Values array "
           "qualifier.\n"
           "Note: if an error occurs in applying the Setting to a "
           "ManagedSystemElement in the Collection, the Element must be "
           "configured as when the 'apply' attempt began. That is, the "
           "Element should NOT be left in an indeterminate state.") ]
      uint32 ApplyIncrementalChangeToCollection(
         [IN] CIM_CollectionOfMSEs ref Collection,
         [IN] datetime TimeToApply,
         [IN] boolean ContinueOnError,
         [IN] datetime MustBeCompletedBy,
         [IN] string PropertiesToApply[],
         [OUT] string CanNotApply[]);
   };
   
   
   // ===================================================================
   //    ElementSetting
   // ===================================================================
         [Association, Description (         [Association, Description (
          "SAPStatistics relates the SAPStatisticalInformation "       "ElementSetting represents the association between Managed"
          "class to the ServiceAccessPoint to which it applies. ") ]       "SystemElements and the Setting class(es) defined for them.") ]
 class CIM_SAPStatistics : CIM_Statistics  class CIM_ElementSetting {
 {        [Key, Description ("The ManagedSystemElement.") ]
         [Override ("Stats"), Weak,     CIM_ManagedSystemElement REF Element;
          Description ( "The statistical object.") ]        [Key, Description (
    CIM_SAPStatisticalInformation REF Stats;          "The Setting object associated with the ManagedSystem"
         [Override ("Element"), Min(1), Max(1), Description (          "Element.") ]
          "The ServiceAccessPoint to which the statistics apply.") ]     CIM_Setting REF Setting;
    CIM_ServiceAccessPoint REF Element;  
 }; };
  
 // ==================================================================  
 //    DeviceStatisticalInformation  
 // ==================================================================  
         [Description (  
          "Statistical information associated with a LogicalDevice "  
          "or one of its subclasses.") ]  
 class CIM_DeviceStatisticalInformation : CIM_StatisticalInformation  
 {  
         [Propagated("CIM_LogicalDevice.SystemCreationClassName"), Key,  
          MaxLen (256), Description (  
          "The scoping System's CreationClassName.") ]  
    string SystemCreationClassName;  
         [Propagated("CIM_LogicalDevice.SystemName"), Key, MaxLen (256),  
          Description ("The scoping System's Name.") ]  
    string SystemName;  
         [Propagated("CIM_LogicalDevice.CreationClassName"), Key,  
          MaxLen (256),  
          Description ("The scoping Device's CreationClassName.") ]  
    string DeviceCreationClassName;  
         [Propagated("CIM_LogicalDevice.DeviceID"), Key, MaxLen (64),  
          Description ("The scoping Device's ID.") ]  
    string DeviceID;  
         [Key, MaxLen (256), Description (  
          "CreationClassName indicates the name of the class or the "  
          "subclass used in the creation of an instance. When used "  
          "with the other key properties of this class, this property "  
          "allows all instances of this class and its subclasses to "  
          "be uniquely identified.") ]  
    string CreationClassName;  
         [Key, MaxLen (256), Override ("Name"), Description (  
            "The Name property, inherited from StatisticalInformation, "  
          "serves as part of the object key.") ]  
    string Name;  
 };  
  
 // ==================================================================  // ===================================================================
 //    DeviceStatistics  //    DefaultSetting
 // ==================================================================  // ===================================================================
         [Association, Description (         [Association, Description (
          "DeviceStatistics relates the DeviceStatisticalInformation "       "DefaultSetting represents the association between a Managed"
          "class to the LogicalDevice to which it applies. ") ]       "SystemElement and the single Setting class that is defined "
 class CIM_DeviceStatistics : CIM_Statistics       "to be the default setting for this Element.") ]
 {  class CIM_DefaultSetting : CIM_ElementSetting {
         [Override ("Stats"), Weak,        [Override ("Setting"), Max (1), Description (
          Description ( "The statistical object.") ]          "The Setting object which is the default.") ]
    CIM_DeviceStatisticalInformation REF Stats;     CIM_Setting REF Setting;
         [Override ("Element"), Min(1), Max(1),  
          Description ("The Device to which the statistics apply.") ]  
    CIM_LogicalDevice REF Element;  
 }; };
  
 // ==================================================================  
 //    PhysicalStatisticalInformation  // ===================================================================
 // ==================================================================  //    DependencyContext
         [Description (  // ===================================================================
          "Statistical information associated with a PhysicalElement "     [Association, Aggregation, Description (
          "or one of its subclasses.") ]       "This relationship associates a Dependency with one or more "
 class CIM_PhysicalStatisticalInformation : CIM_StatisticalInformation       "Configuration objects. For example, a ComputerSystem's "
 {       "dependencies could change based on the site/network to which "
         [Propagated("CIM_PhysicalElement.CreationClassName"), Key,       "the System is attached.") ]
          MaxLen (256),  class CIM_DependencyContext {
          Description ("The scoping Element's CreationClassName.") ]        [Aggregate, Key, Description (
    string PhysicalCreationClassName;          "The Configuration object that aggregates the Dependency.") ]
         [Propagated("CIM_PhysicalElement.Tag"), Key, MaxLen (256),     CIM_Configuration REF Context;
          Description ("The scoping Element's identifying Tag.") ]        [Key, Description ("An aggregated Dependency.") ]
    string Tag;     CIM_Dependency REF Dependency;
         [Key, MaxLen (256), Description (  
          "CreationClassName indicates the name of the class or the "  
          "subclass used in the creation of an instance. When used "  
          "with the other key properties of this class, this property "  
          "allows all instances of this class and its subclasses to "  
          "be uniquely identified.") ]  
    string CreationClassName;  
         [Key, MaxLen (256), Override ("Name"), Description (  
            "The Name property, inherited from StatisticalInformation, "  
          "serves as part of the object key.") ]  
    string Name;  
 }; };
  
 // ==================================================================  
 //    PhysicalStatistics  // ===================================================================
 // ==================================================================  //    SettingContext
         [Association, Description (  // ===================================================================
          "PhysicalStatistics relates the PhysicalStatisticalInformation "     [Association, Aggregation, Description (
          "class to the PhysicalElement to which it applies. ") ]       "This relationship associates Configuration objects with "
 class CIM_PhysicalStatistics : CIM_Statistics       "Setting objects. For example, a NetworkAdapter's Settings "
 {       "could change based on the site/network to which its hosting "
         [Override ("Stats"), Weak,       "ComputerSystem is attached. In this case, the ComputerSystem "
          Description ( "The statistical object.") ]       "would have two different Configuration objects, corresponding "
    CIM_PhysicalStatisticalInformation REF Stats;       "to the differences in network configuration for the two network "
         [Override ("Element"), Min(1), Max(1), Description (       "segments. Configuration A would aggregate a Setting object for "
          "The PhysicalElement to which the statistics apply.") ]       "the NetworkAdapter when operating on segment \"ANet\", whereas "
    CIM_PhysicalElement REF Element;       "Configuration B would aggregate a different NetworkAdapter "
        "Setting object, specific to segment \"BNet\". Note that many "
        "Settings of the computer are independent of the network "
        "Configuration. For example, both Configurations A and B would "
        "aggregate the same Setting object for the ComputerSystem's "
        "MonitorResolution.") ]
   class CIM_SettingContext {
         [Aggregate, Key, Description (
           "The Configuration object that aggregates the Setting.") ]
      CIM_Configuration REF Context;
         [Key, Description ("An aggregated Setting.")]
      CIM_Setting REF Setting;
 }; };
  
  
 // ==================================================================  // ===================================================================
 //    Synchrononized  //    CollectionSetting
 // ==================================================================  // ===================================================================
    [Association, Description (    [Association, Description (
        "Indicates that two LogicalElements were aligned or made to "       "CollectionSetting represents the association between a "
        "be equivalent at the specified point in time. If the boolean "       "CollectionOfMSEs class and the Setting class(es) defined for "
        "property SyncMaintained is TRUE, then synchronization "       "them.") ]
        "of the Elements is preserved. Both like and unlike objects "  class CIM_CollectionSetting {
        "may be synchronized. For example, two WatchDog timers may be "        [Key, Description ("The CollectionOfMSEs.") ]
        "aligned, or the contents of a LogicalFile may be synchronized "     CIM_CollectionOfMSEs REF Collection;
        "with the contents of a StorageExtent.") ]  
 class CIM_Synchronized  
 {  
         [Key, Description (  
          "SystemElement represents one LogicalElement that is "  
          "synchronized with the entity referenced as SyncedElement.") ]  
    CIM_LogicalElement ref SystemElement;  
         [Key, Description (         [Key, Description (
          "SyncedElement represents another LogicalElement that is "          "The Setting object associated with the Collection.") ]
          "synchronized with the entity referenced as SystemElement.") ]     CIM_Setting REF Setting;
    CIM_LogicalElement ref SyncedElement;  
         [Description (  
          "The point in time that the Elements were synchronized.") ]  
    datetime WhenSynced;  
         [Description (  
          "Boolean indicating whether synchronization is "  
          "maintained.") ]  
    boolean SyncMaintained;  
 };  
   
 // ==================================================================  
 //     AdminDomain  
 // ==================================================================  
                 [Description (  
                 "This is a special grouping of ManagedSystemElements. The "  
                 "grouping is viewed as a single entity, reflecting that all "  
                 "of its components are administered similarly - either by "  
                 "the same user, group of users or policy. It serves as "  
                 "an aggregation point to associate one or more of the "  
                 "following elements: network devices, such as routers and "  
                 "switches, servers, and other resources that can be "  
                 "accessed by end systems. This grouping of devices "  
                 "plays an essential role in ensuring that the same "  
                 "administrative policy and actions are applied to all "  
                 "of the devices in the grouping. The specific behavior "  
                 "and/or semantics of the AdminDomain can be identified "  
                 "through its aggregated and associated entities."  
                 "\n\n"  
                 "The System class and its subclasses provide the scope for "  
                 "numerous types of managed objects. As such, these classes "  
                 "must have the ability to create unique keys. This attribute "  
                 "is used by the System class and its subclasses to define a "  
                 "unique Name, independent of the specific discovery protocol "  
                 "used. Use of the heuristic is optional, but recommended."  
                 "\n\n"  
                 "AdminDomain is a part of the Core model, which has frequently "  
                 "been used in the Networks Model to group "  
                 "together various network resources that must be "  
                 "administered the same way, perhaps using the same "  
                 "policies. Viewed in this light, its principal subclass is "  
                 "AutonomousSystem.") ]  
 class CIM_AdminDomain : CIM_System  
 {  
         [Override ("NameFormat"), Description (  
                 "The NameFormat property identifies how the Name of the "  
                 "AdminDomain is generated, using the heuristic specified "  
                 "in the CIM V2 System Model spec. It assumes that the "  
                 "documented rules are traversed in order, to determine and "  
                 "assign a Name. The NameFormat Values list defines the "  
                 "precedence order for assigning the Name of the "  
                 "AdminDomain."),  
          ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",  
           "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",  
           "ATM", "E.164", "IB", "FC", "Policy Repository" },  
          Values {"Other", "Autonomous System",  
           "Network Access Provider", "Network Operations Center",  
           "Point of Presence", "Regional Network Provider",  
           "IP", "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN",  
           "Frame Relay", "ATM", "E.164", "Infiniband",  
           "Fibre Channel", "Policy Repository"} ]  
     string NameFormat;  
 }; };
  
  


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2