// =================================================================== // Title: Core Settings 2.7 // Filename: Core27_Settings.mof // Version: 2.7.0 // Release: Final // Date: 03/31/03 // =================================================================== // Copyright 1999-2003 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 date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The Core Model defines basic management concepts. // This file defines Settings/SettingData and their // groupings, Profiles and Configurations. // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.7 Final // CR927 - Relax cardinality for the ManagedElement side of ElementProfile // - Update the description of Profile to reflect this change. // CR968 - Remove the Experimental qualifier // CR994 - Update description of InstanceID // // Change Log for v2.7 // CR723 - Introduce SettingData, ScopedSetttingData, ScopedSetting, // and ElementSettingData. // - Clarify the description of Setting to reconcile with // SettingData. // CR642 - Add Profile and ElementProfile // ================================================================== #pragma locale ("en_US") // =================================================================== // SettingData // =================================================================== [Abstract, Version ("2.7.0"), Description ( " The SettingData class represents configuration-related and " "operational parameters for one or more ManagedElement(s). A " "ManagedElement may have multiple SettingData 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 SettingData object. For " "example, a modem may have a SettingData baud rate of 56Kb/sec " "but be operating at 19.2Kb/sec. \n" " Note that the CIM_SettingData class is very similar to " "CIM_Setting, yet both classes are present in the model. This is " "because many implementations have successfully used CIM_Setting. " "However, issues have arisen that could not be resolved without " "defining a new class. Therefore, until a new major release " "occurs, both classes will exist in the model. Refer to the Core " "White Paper for additional information.") ] class CIM_SettingData : CIM_ManagedElement { [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "In order to ensure uniqueness within the NameSpace, the " "value of InstanceID SHOULD be constructed using the " "following 'preferred' algorithm: \n" " : \n" "Where and are separated by a colon ':', " "and where MUST include a copyrighted, trademarked " "or otherwise unique name that is owned by the business entity " "creating/defining the InstanceID, or is a registered ID that is " "assigned to the business entity by a recognized global " "authority (This is similar to the _ " "structure of Schema class names.) In addition, to ensure " "uniqueness MUST NOT contain a colon (':'). When using " "this algorithm, the first colon to appear in " "InstanceID MUST appear between and . \n" " is chosen by the business entity and SHOULD not be " "re-used to identify different underlying (real-world) elements. " "If the above 'preferred' algorithm is not used, the defining " "entity MUST assure that the resultant InstanceID is not " "re-used across any InstanceIDs produced by this or other " "providers for this instance's NameSpace. \n" "For DMTF defined instances, the 'preferred' algorithm MUST be " "used with the set to 'CIM'.") ] string InstanceID; [Override ("ElementName"), Required, Description ( "The user friendly name for this instance of SettingData. " "In addition, the user friendly name can be used as a " "index property for a search of query. (Note: Name " "does not have to be unique within a namespace.)") ] string ElementName; }; // =================================================================== // ScopedSettingData // =================================================================== [Abstract, Version ("2.7.0"), Description ( "The ScopedSettingData class represents the general concept of " "SettingData which is scoped/contained by a ManagedElement " "(i.e. settings that are specifically defined for a system, " "device, etc). ScopedSettingData is tied to a ManagedElement using " "the ScopedSetting association. Note that the cardinality of the " "ManagedElement reference is Min(1), Max(1). This cardinality " "mandates the instantiation of the ScopedSetting association for " "the referenced instance of ScopedSettingData. ScopedSetting " "describes the existence requirements and context for the " "referenced instance of ManagedElement. Specifically, the " "ManagedElement MUST exist and provides the context for the " "ScopedSettingData.") ] class CIM_ScopedSettingData : CIM_SettingData { }; // =================================================================== // ScopedSetting // =================================================================== [Association, Version ("2.7.0"), Description ( "ScopedSetting defines a setting in the context of the Managed" "Element which it resides.") ] class CIM_ScopedSetting : CIM_Dependency { [Override ("Antecedent"), Min(1), Max (1), Description ("The scoping ManagedElement.") ] CIM_ManagedElement REF Antecedent; [Override ("Dependent"), Description ("The setting defined for the ManagedElement.") ] CIM_ScopedSettingData REF Dependent; }; // =================================================================== // ElementSettingData // =================================================================== [Association, Version ("2.7.0"), Description ( "ElementSettingData represents the association between " "ManagedElements and applicable setting data. This " "association also describes whether this is a default " "or current setting.") ] class CIM_ElementSettingData { [Key, Description ( "The managed element.") ] CIM_ManagedElement REF ManagedElement; [Key, Description ( "The SettingData object associated with the element.") ] CIM_SettingData REF SettingData; [Description ( "An enumerated integer indicating that the referenced " "setting is a default setting for the element, or that " "this information is unknown."), ValueMap {"0", "1", "2"}, Values {"Unknown", "Is Default", "Is Not Default"} ] uint16 IsDefault; [Description ( "An enumerated integer indicating that the referenced " "setting is currently being used in the operation " "of the element, or that this information is unknown."), ValueMap {"0", "1", "2"}, Values {"Unknown", "Is Current", "Is Not Current"} ] uint16 IsCurrent; }; // ================================================================== // Profile // ================================================================== [Version ("2.7.0"), Description ( " Profile specifies a general collection of Settings/SettingData " "that are logically grouped together. Note that the CIM_Profile " "class uses simplified naming/identity and collection algorithms, " "as compared to CIM_Configuration. The settings are 'collected' " "into the Profile using the MemberOfCollection association. Note " "that a Profile obtains its setting data and other necessary " "information from collected Setting/SettingData instances, and " "by the definition of additional properties in subclasses. " "One example of a Profile is to define the collection of " "settings for a particular person. Another is to define the " "collection of settings appropriate when initializing a system. \n" "\n" " Profile is tied to a ManagedElement using the ElementProfile " "association. The ManagedElement provides context for the " "Profile, and the settings collected by Profile SHOULD be " "settings of the associated ManagedElement. Note that a " "ManagedElement MAY NOT exist when the Profile is " "instantiated. This is true when the Profile is used in the " "creation of the real world entity represented by (and then " "instantiated in) the ManagedElement.") ] class CIM_Profile : CIM_Collection { [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "In order to ensure uniqueness within the NameSpace, the " "value of InstanceID SHOULD be constructed using the " "following 'preferred' algorithm: \n" " : \n" "Where and are separated by a colon ':', " "and where MUST include a copyrighted, trademarked " "or otherwise unique name that is owned by the business entity " "creating/defining the InstanceID, or is a registered ID that is " "assigned to the business entity by a recognized global " "authority (This is similar to the _ " "structure of Schema class names.) In addition, to ensure " "uniqueness MUST NOT contain a colon (':'). When using " "this algorithm, the first colon to appear in " "InstanceID MUST appear between and . \n" " is chosen by the business entity and SHOULD not be " "re-used to identify different underlying (real-world) elements. " "If the above 'preferred' algorithm is not used, the defining " "entity MUST assure that the resultant InstanceID is not " "re-used across any InstanceIDs produced by this or other " "providers for this instance's NameSpace. \n" "For DMTF defined instances, the 'preferred' algorithm MUST be " "used with the set to 'CIM'.") ] string InstanceID; }; // =================================================================== // ElementProfile // =================================================================== [Association, Version ("2.7.0"), Description ( "ElementProfile represents the association between " "ManagedElements and the Profiles (collection of " "settings) defined for them. This association describes that " "the settings collected by the Profile apply to the " "associated ManagedElement.") ] class CIM_ElementProfile { [Key, Description ( "The managed element.") ] CIM_ManagedElement REF ManagedElement; [Key, Description ( "The Profile object associated with the element.") ] CIM_Profile REF Profile; }; // =================================================================== // Setting // =================================================================== [Abstract, Version ("2.7.0"), Description ( " The Setting class represents configuration-related and " "operational parameters for one or more ManagedSystemElement(s). " "An Element 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. \n" " Note that the CIM_SettingData class is very similar to " "CIM_Setting, yet both classes are present in the model. This is " "because many implementations have successfully used CIM_Setting. " "However, issues have arisen that could not be resolved without " "defining a new class. Therefore, until a new major release " "occurs, both classes will exist in the model. Refer to the Core " "White Paper for additional information.") ] 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 cannot 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 cannot 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, [IN (false), 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 cannot 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, [IN (false), 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 the array is null, empty or contains 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 cannot 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 the array is null, empty or contains 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. \n" " 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 cannot 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[], [IN (false), 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 the array is null or empty or contains 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. \n" " 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 time, 3 if the Setting cannot 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[], [IN (false), OUT] string CanNotApply[]); }; // =================================================================== // ElementSetting // =================================================================== [Association, Version ("2.6.0"), 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, Version ("2.6.0"), 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; }; // ================================================================== // CIM_SystemSetting // ================================================================== [Abstract, Version ("2.6.0"), Description ( "CIM_SystemSetting represents the general concept of a " "CIM_Setting which is scoped by/weak to a System.") ] class CIM_SystemSetting : CIM_Setting { [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 ( "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 ("SettingID"), Key, MaxLen (256) ] string SettingID; }; // ================================================================== // SettingForSystem // ================================================================== [Association, Version ("2.6.0"), Description ( "CIM_SettingForSystem defines a Setting in the context " "of the System on which it resides.") ] class CIM_SettingForSystem : CIM_Dependency { [Override ("Antecedent"), Max (1), Min (1), Description ("The hosting System.") ] CIM_System REF Antecedent; [Override ("Dependent"), Weak, Description ("The Setting defined for the System.") ] CIM_SystemSetting REF Dependent; }; // =================================================================== // Configuration // =================================================================== [Version ("2.6.0"), Description ( " The Configuration object allows the grouping of sets of " "parameters (defined in Setting objects) and dependencies for " "one or more ManagedSystemElements. It represents a certain " "behavior, or a desired functional state for the ManagedSystem" "Elements. Note that the CIM_Profile class uses simplified " "naming/identity and collection algorithms as compared to " "CIM_Configuration. \n" " The desired functional state of the Configuration 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, Version ("2.6.0"), 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, Version ("2.6.0"), 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, Version ("2.6.0"), 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; }; // =================================================================== // DependencyContext // =================================================================== [Association, Aggregation, Version ("2.6.0"), 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; }; // =================================================================== // SettingContext // =================================================================== [Association, Aggregation, Version ("2.6.0"), 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, Version ("2.6.0"), 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; }; // ================================================================== // SystemConfiguration // ================================================================== [Version ("2.6.0"), Description ( "CIM_SystemConfiguration represents the general concept " "of a CIM_Configuration which is scoped by/weak to a " "System. This class is a peer of CIM_Configuration since " "the key structure of Configuration is currently " "defined and cannot be modified with additional " "properties.") ] class CIM_SystemConfiguration : CIM_ManagedElement { [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 ( "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), Description ( "The label by which the Configuration object is known.") ] string Name; }; // ================================================================== // ConfigurationForSystem // ================================================================== [Association, Version ("2.6.0"), Description ( "CIM_ConfigurationForSystem defines a Configuration " "in the context of the System on which it resides.") ] class CIM_ConfigurationForSystem : CIM_Dependency { [Override ("Antecedent"), Max (1), Min (1), Description ("The hosting System.") ] CIM_System REF Antecedent; [Override ("Dependent"), Weak, Description ("The Configuration defined for the System.") ] CIM_SystemConfiguration REF Dependent; }; // ================================================================== // SystemSettingContext // ================================================================== [Association, Aggregation, Version ("2.6.0"), Description ( "This relationship associates System-specific Configuration " "objects with System-specific Setting objects, similar to the " "SettingContext association.") ] class CIM_SystemSettingContext { [Aggregate, Key, Description ( "The Configuration object that aggregates the Setting.") ] CIM_SystemConfiguration REF Context; [Key, Description ( "An aggregated Setting.") ] CIM_SystemSetting REF Setting; }; // =================================================================== // end of file // ===================================================================