1 kumpf 1.2 // ===================================================================
2 // Title: Core Settings 2.7
3 // Filename: Core27_Settings.mof
4 // Version: 2.7.0
5 // Release: Final
6 // Date: 03/31/03
7 // ===================================================================
8 // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 kumpf 1.2 // ===================================================================
44 // Description: The Core Model defines basic management concepts.
45 // This file defines Settings/SettingData and their
46 // groupings, Profiles and Configurations.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.7 Final
53 // CR927 - Relax cardinality for the ManagedElement side of ElementProfile
54 // - Update the description of Profile to reflect this change.
55 // CR968 - Remove the Experimental qualifier
56 // CR994 - Update description of InstanceID
57 //
58 // Change Log for v2.7
59 // CR723 - Introduce SettingData, ScopedSetttingData, ScopedSetting,
60 // and ElementSettingData.
61 // - Clarify the description of Setting to reconcile with
62 // SettingData.
63 // CR642 - Add Profile and ElementProfile
64 kumpf 1.2 // ==================================================================
65
66 #pragma locale ("en_US")
67
68
69 // ===================================================================
70 // SettingData
71 // ===================================================================
72 [Abstract, Version ("2.7.0"), Description (
73 " The SettingData class represents configuration-related and "
74 "operational parameters for one or more ManagedElement(s). A "
75 "ManagedElement may have multiple SettingData objects associated "
76 "with it. The current operational values for an Element's "
77 "parameters are reflected by properties in the Element itself or "
78 "by properties in its associations. These properties do not have "
79 "to be the same values present in the SettingData object. For "
80 "example, a modem may have a SettingData baud rate of 56Kb/sec "
81 "but be operating at 19.2Kb/sec. \n"
82 " Note that the CIM_SettingData class is very similar to "
83 "CIM_Setting, yet both classes are present in the model. This is "
84 "because many implementations have successfully used CIM_Setting. "
85 kumpf 1.2 "However, issues have arisen that could not be resolved without "
86 "defining a new class. Therefore, until a new major release "
87 "occurs, both classes will exist in the model. Refer to the Core "
88 "White Paper for additional information.") ]
89 class CIM_SettingData : CIM_ManagedElement {
90
91 [Key, Description (
92 "Within the scope of the instantiating Namespace, InstanceID "
93 "opaquely and uniquely identifies an instance of this class. "
94 "In order to ensure uniqueness within the NameSpace, the "
95 "value of InstanceID SHOULD be constructed using the "
96 "following 'preferred' algorithm: \n"
97 " <OrgID>:<LocalID> \n"
98 "Where <OrgID> and <LocalID> are separated by a colon ':', "
99 "and where <OrgID> MUST include a copyrighted, trademarked "
100 "or otherwise unique name that is owned by the business entity "
101 "creating/defining the InstanceID, or is a registered ID that is "
102 "assigned to the business entity by a recognized global "
103 "authority (This is similar to the <Schema Name>_<Class Name> "
104 "structure of Schema class names.) In addition, to ensure "
105 "uniqueness <OrgID> MUST NOT contain a colon (':'). When using "
106 kumpf 1.2 "this algorithm, the first colon to appear in "
107 "InstanceID MUST appear between <OrgID> and <LocalID>. \n"
108 " <LocalID> is chosen by the business entity and SHOULD not be "
109 "re-used to identify different underlying (real-world) elements. "
110 "If the above 'preferred' algorithm is not used, the defining "
111 "entity MUST assure that the resultant InstanceID is not "
112 "re-used across any InstanceIDs produced by this or other "
113 "providers for this instance's NameSpace. \n"
114 "For DMTF defined instances, the 'preferred' algorithm MUST be "
115 "used with the <OrgID> set to 'CIM'.") ]
116 string InstanceID;
117
118 [Override ("ElementName"), Required, Description (
119 "The user friendly name for this instance of SettingData. "
120 "In addition, the user friendly name can be used as a "
121 "index property for a search of query. (Note: Name "
122 "does not have to be unique within a namespace.)") ]
123 string ElementName;
124 };
125
126
127 kumpf 1.2 // ===================================================================
128 // ScopedSettingData
129 // ===================================================================
130 [Abstract, Version ("2.7.0"), Description (
131 "The ScopedSettingData class represents the general concept of "
132 "SettingData which is scoped/contained by a ManagedElement "
133 "(i.e. settings that are specifically defined for a system, "
134 "device, etc). ScopedSettingData is tied to a ManagedElement using "
135 "the ScopedSetting association. Note that the cardinality of the "
136 "ManagedElement reference is Min(1), Max(1). This cardinality "
137 "mandates the instantiation of the ScopedSetting association for "
138 "the referenced instance of ScopedSettingData. ScopedSetting "
139 "describes the existence requirements and context for the "
140 "referenced instance of ManagedElement. Specifically, the "
141 "ManagedElement MUST exist and provides the context for the "
142 "ScopedSettingData.") ]
143 class CIM_ScopedSettingData : CIM_SettingData {
144 };
145
146
147 // ===================================================================
148 kumpf 1.2 // ScopedSetting
149 // ===================================================================
150 [Association, Version ("2.7.0"), Description (
151 "ScopedSetting defines a setting in the context of the Managed"
152 "Element which it resides.") ]
153 class CIM_ScopedSetting : CIM_Dependency {
154
155 [Override ("Antecedent"), Min(1), Max (1),
156 Description ("The scoping ManagedElement.") ]
157 CIM_ManagedElement REF Antecedent;
158
159 [Override ("Dependent"),
160 Description ("The setting defined for the ManagedElement.") ]
161 CIM_ScopedSettingData REF Dependent;
162 };
163
164
165 // ===================================================================
166 // ElementSettingData
167 // ===================================================================
168 [Association, Version ("2.7.0"), Description (
169 kumpf 1.2 "ElementSettingData represents the association between "
170 "ManagedElements and applicable setting data. This "
171 "association also describes whether this is a default "
172 "or current setting.") ]
173 class CIM_ElementSettingData {
174
175 [Key, Description (
176 "The managed element.") ]
177 CIM_ManagedElement REF ManagedElement;
178
179 [Key, Description (
180 "The SettingData object associated with the element.") ]
181 CIM_SettingData REF SettingData;
182
183 [Description (
184 "An enumerated integer indicating that the referenced "
185 "setting is a default setting for the element, or that "
186 "this information is unknown."),
187 ValueMap {"0", "1", "2"},
188 Values {"Unknown", "Is Default", "Is Not Default"} ]
189 uint16 IsDefault;
190 kumpf 1.2
191 [Description (
192 "An enumerated integer indicating that the referenced "
193 "setting is currently being used in the operation "
194 "of the element, or that this information is unknown."),
195 ValueMap {"0", "1", "2"},
196 Values {"Unknown", "Is Current", "Is Not Current"} ]
197 uint16 IsCurrent;
198 };
199
200
201 // ==================================================================
202 // Profile
203 // ==================================================================
204 [Version ("2.7.0"), Description (
205 " Profile specifies a general collection of Settings/SettingData "
206 "that are logically grouped together. Note that the CIM_Profile "
207 "class uses simplified naming/identity and collection algorithms, "
208 "as compared to CIM_Configuration. The settings are 'collected' "
209 "into the Profile using the MemberOfCollection association. Note "
210 "that a Profile obtains its setting data and other necessary "
211 kumpf 1.2 "information from collected Setting/SettingData instances, and "
212 "by the definition of additional properties in subclasses. "
213 "One example of a Profile is to define the collection of "
214 "settings for a particular person. Another is to define the "
215 "collection of settings appropriate when initializing a system. \n"
216 "\n"
217 " Profile is tied to a ManagedElement using the ElementProfile "
218 "association. The ManagedElement provides context for the "
219 "Profile, and the settings collected by Profile SHOULD be "
220 "settings of the associated ManagedElement. Note that a "
221 "ManagedElement MAY NOT exist when the Profile is "
222 "instantiated. This is true when the Profile is used in the "
223 "creation of the real world entity represented by (and then "
224 "instantiated in) the ManagedElement.") ]
225 class CIM_Profile : CIM_Collection {
226
227 [Key, Description (
228 "Within the scope of the instantiating Namespace, InstanceID "
229 "opaquely and uniquely identifies an instance of this class. "
230 "In order to ensure uniqueness within the NameSpace, the "
231 "value of InstanceID SHOULD be constructed using the "
232 kumpf 1.2 "following 'preferred' algorithm: \n"
233 " <OrgID>:<LocalID> \n"
234 "Where <OrgID> and <LocalID> are separated by a colon ':', "
235 "and where <OrgID> MUST include a copyrighted, trademarked "
236 "or otherwise unique name that is owned by the business entity "
237 "creating/defining the InstanceID, or is a registered ID that is "
238 "assigned to the business entity by a recognized global "
239 "authority (This is similar to the <Schema Name>_<Class Name> "
240 "structure of Schema class names.) In addition, to ensure "
241 "uniqueness <OrgID> MUST NOT contain a colon (':'). When using "
242 "this algorithm, the first colon to appear in "
243 "InstanceID MUST appear between <OrgID> and <LocalID>. \n"
244 " <LocalID> is chosen by the business entity and SHOULD not be "
245 "re-used to identify different underlying (real-world) elements. "
246 "If the above 'preferred' algorithm is not used, the defining "
247 "entity MUST assure that the resultant InstanceID is not "
248 "re-used across any InstanceIDs produced by this or other "
249 "providers for this instance's NameSpace. \n"
250 "For DMTF defined instances, the 'preferred' algorithm MUST be "
251 "used with the <OrgID> set to 'CIM'.") ]
252 string InstanceID;
253 kumpf 1.2 };
254
255
256 // ===================================================================
257 // ElementProfile
258 // ===================================================================
259 [Association, Version ("2.7.0"), Description (
260 "ElementProfile represents the association between "
261 "ManagedElements and the Profiles (collection of "
262 "settings) defined for them. This association describes that "
263 "the settings collected by the Profile apply to the "
264 "associated ManagedElement.") ]
265 class CIM_ElementProfile {
266
267 [Key, Description (
268 "The managed element.") ]
269 CIM_ManagedElement REF ManagedElement;
270
271 [Key, Description (
272 "The Profile object associated with the element.") ]
273 CIM_Profile REF Profile;
274 kumpf 1.2 };
275
276
277 // ===================================================================
278 // Setting
279 // ===================================================================
280 [Abstract, Version ("2.7.0"), Description (
281 " The Setting class represents configuration-related and "
282 "operational parameters for one or more ManagedSystemElement(s). "
283 "An Element may have multiple Setting objects associated with it. "
284 "The current operational values for an Element's parameters are "
285 "reflected by properties in the Element itself or by properties in "
286 "its associations. These properties do not have to be the same "
287 "values present in the Setting object. For example, a modem may "
288 "have a Setting baud rate of 56Kb/sec but be operating at "
289 "19.2Kb/sec. \n"
290 " Note that the CIM_SettingData class is very similar to "
291 "CIM_Setting, yet both classes are present in the model. This is "
292 "because many implementations have successfully used CIM_Setting. "
293 "However, issues have arisen that could not be resolved without "
294 "defining a new class. Therefore, until a new major release "
295 kumpf 1.2 "occurs, both classes will exist in the model. Refer to the Core "
296 "White Paper for additional information.") ]
297 class CIM_Setting : CIM_ManagedElement {
298
299 [MaxLen (256), Description (
300 "The identifier by which the Setting object is known.") ]
301 string SettingID;
302
303 [Description (
304 "The VerifyOKToApplyToMSE method is used to verify that "
305 "this Setting can be 'applied' to the referenced Managed"
306 "SystemElement, at the given time or time interval. This "
307 "method takes three input parameters: MSE (the Managed"
308 "SystemElement that is being verified), TimeToApply (which, "
309 "being a datetime, can be either a specific time or a time "
310 "interval), and MustBeCompletedBy (which indicates the "
311 "required completion time for the method). The return "
312 "value should be 0 if it is OK to apply the Setting, 1 if "
313 "the method is not supported, 2 if the Setting cannot be "
314 "applied within the specified times, and any other number "
315 "if an error occurred. In a subclass, the "
316 kumpf 1.2 "set of possible return codes could be specified, using a "
317 "ValueMap qualifier on the method. The strings to which the "
318 "ValueMap contents are 'translated' may also be specified in "
319 "the subclass as a Values array qualifier.") ]
320 uint32 VerifyOKToApplyToMSE(
321 [IN] CIM_ManagedSystemElement REF MSE,
322 [IN] datetime TimeToApply,
323 [IN] datetime MustBeCompletedBy);
324
325 [Description (
326 " The ApplyToMSE method performs the actual application of "
327 "the Setting to the referenced ManagedSystemElement. It "
328 "takes three input parameters: MSE (the ManagedSystem"
329 "Element to which the Setting is being applied), "
330 "TimeToApply (which, being a datetime, can be either a "
331 "specific time or a time interval), and MustBeCompletedBy "
332 "(which indicates the required completion time for the "
333 "method). Note that the semantics of this method are that "
334 "individual Settings are either wholly applied or not "
335 "applied at all to their target ManagedSystemElement. The "
336 "return value should be 0 if the Setting is successfully "
337 kumpf 1.2 "applied to the referenced ManagedSystemElement, 1 if the "
338 "method is not supported, 2 if the Setting was not applied "
339 "within the specified times, and any other number if an "
340 "error occurred. In a subclass, the set of possible return "
341 "codes could be specified, using a ValueMap qualifier on "
342 "the method. The strings to which the ValueMap contents are "
343 "'translated' may also be specified in the subclass as a "
344 "Values array qualifier. \n"
345 " Note: If an error occurs in applying the Setting to a "
346 "ManagedSystemElement, the Element must be configured as "
347 "when the 'Apply' attempt began. That is, the Element "
348 "should NOT be left in an indeterminate state.") ]
349 uint32 ApplyToMSE(
350 [IN] CIM_ManagedSystemElement REF MSE,
351 [IN] datetime TimeToApply,
352 [IN] datetime MustBeCompletedBy);
353
354 [Description (
355 " The VerifyOKToApplyToCollection method is used to verify "
356 "that this Setting can be 'applied' to the referenced "
357 "Collection of ManagedSystemElements, at the given time "
358 kumpf 1.2 "or time interval, without causing adverse effects to "
359 "either the Collection itself or its surrounding "
360 "environment. The net effect is to execute the "
361 "VerifyOKToApply method against each of the Elements "
362 "aggregated by the Collection. This method takes three "
363 "input parameters: Collection (the Collection of Managed"
364 "SystemElements that is being verified), TimeToApply (which, "
365 "being a datetime, can be either a specific time or a time "
366 "interval), and MustBeCompletedBy (which indicates the "
367 "required completion time for the method). The return "
368 "value should be 0 if it is OK to apply the Setting, 1 if "
369 "the method is not supported, 2 if the Setting cannot be "
370 "applied within the specified times, and any other number if "
371 "an error occurred. One output parameter is defined - "
372 "CanNotApply - which is a string array that lists the keys "
373 "of the ManagedSystemElements to which the Setting can NOT be "
374 "applied. This enables those Elements to be revisited and "
375 "either fixed, or other corrective action taken. \n"
376 " In a subclass, the set of possible return codes could be "
377 "specified, using a ValueMap qualifier on the method. The "
378 "strings to which the ValueMap contents are 'translated' may "
379 kumpf 1.2 "also be specified in the subclass as a Values array "
380 "qualifier.") ]
381 uint32 VerifyOKToApplyToCollection (
382 [IN] CIM_CollectionOfMSEs REF Collection,
383 [IN] datetime TimeToApply,
384 [IN] datetime MustBeCompletedBy,
385 [IN (false), OUT] string CanNotApply[]);
386
387 [Description (
388 " The ApplyToCollection method performs the application of "
389 "the Setting to the referenced Collection of ManagedSystem"
390 "Elements. The net effect is to execute the ApplyToMSE "
391 "method against each of the Elements aggregated by the "
392 "Collection. If the input value ContinueOnError is FALSE, "
393 "this method applies the Setting to all Elements in the "
394 "Collection until it encounters an error, in which case it "
395 "stops execution, logs the key of the Element that caused "
396 "the error in the CanNotApply array, and issues a return code "
397 "of 2. If the input value ContinueOnError is TRUE, then this "
398 "method applies the Setting to all the ManagedSystemElements "
399 "in the Collection, and reports the failed Elements in the "
400 kumpf 1.2 "array, CanNotApply. For the latter, processing will continue "
401 "until the method is applied to all Elements in the "
402 "Collection, regardless of any errors encountered. The key of "
403 "each ManagedSystemElement to which the Setting could not be "
404 "applied is logged into the CanNotApply array. This method "
405 "takes four input parameters: Collection (the Collection of "
406 "Elements to which the Setting is being applied), TimeToApply "
407 "(which, being a datetime, can be either a specific time or a "
408 "time interval), ContinueOnError (TRUE means to continue "
409 "processing on encountering an error), and MustBeCompletedBy "
410 "(which indicates the required completion time for the "
411 "method). The return value should be 0 if the Setting is "
412 "successfully applied to the referenced Collection, 1 if the "
413 "method is not supported, 2 if the Setting was not applied "
414 "within the specified times, 3 if the Setting cannot be "
415 "applied using the input value for ContinueOnError, and any "
416 "other number if an error occurred. One output parameter is "
417 "defined, CanNotApplystring, which is an array that lists "
418 "the keys of the ManagedSystemElements to which the Setting "
419 "was NOT able to be applied. This output parameter has "
420 "meaning only when the ContinueOnError parameter is TRUE. \n"
421 kumpf 1.2 " In a subclass, the set of possible return codes could be "
422 "specified, using a ValueMap qualifier on the method. The "
423 "strings to which the ValueMap contents are 'translated' may "
424 "also be specified in the subclass as a Values array "
425 "qualifier. \n"
426 "Note: if an error occurs in applying the Setting to a "
427 "ManagedSystemElement in the Collection, the Element must be "
428 "configured as when the 'Apply' attempt began. That is, the "
429 "Element should NOT be left in an indeterminate state.") ]
430 uint32 ApplyToCollection(
431 [IN] CIM_CollectionOfMSEs REF Collection,
432 [IN] datetime TimeToApply,
433 [IN] boolean ContinueOnError,
434 [IN] datetime MustBeCompletedBy,
435 [IN (false), OUT] string CanNotApply[]);
436
437 [Description (
438 "The VerifyOKToApplyIncrementalChangeToMSE method "
439 "is used to verify that a subset of the properties in "
440 "this Setting can be 'applied' to the referenced Managed"
441 "SystemElement, at the given time or time interval. This "
442 kumpf 1.2 "method takes four input parameters: MSE (the Managed"
443 "SystemElement that is being verified), TimeToApply (which, "
444 "being a datetime, can be either a specific time or a time "
445 "interval), MustBeCompletedBy (which indicates the "
446 "required completion time for the method), and a "
447 "PropertiesToApply array (which contains a list of the "
448 "property names whose values will be verified.) "
449 "If the array is null, empty or contains the string \"ALL\" "
450 "as a property name, then all Settings properties shall be "
451 "verified. If it is set to \"NONE\", then no Settings "
452 "properties will be verified. The return "
453 "value should be 0 if it is OK to apply the Setting, 1 if "
454 "the method is not supported, 2 if the Setting cannot be "
455 "applied within the specified times, and any other number "
456 "if an error occurred. In a subclass, the "
457 "set of possible return codes could be specified, using a "
458 "ValueMap qualifier on the method. The strings to which the "
459 "ValueMap contents are 'translated' may also be specified in "
460 "the subclass as a Values array qualifier.") ]
461 uint32 VerifyOKToApplyIncrementalChangeToMSE(
462 [IN] CIM_ManagedSystemElement REF MSE,
463 kumpf 1.2 [IN] datetime TimeToApply,
464 [IN] datetime MustBeCompletedBy,
465 [IN] string PropertiesToApply[]);
466
467 [Description (
468 " The ApplyIncrementalChangeToMSE method performs the "
469 "actual application of a subset of the properties in "
470 "the Setting to the referenced ManagedSystemElement. It "
471 "takes four input parameters: MSE (the ManagedSystem"
472 "Element to which the Setting is being applied), "
473 "TimeToApply (which, being a datetime, can be either a "
474 "specific time or a time interval), MustBeCompletedBy "
475 "(which indicates the required completion time for the "
476 "method), and a PropertiesToApply array (which contains a "
477 "list of the property names whose values will be applied.) If a "
478 "property is not in this list, it will be ignored by the Apply. "
479 "If the array is null, empty or contains the string \"ALL\" "
480 "as a property name, then all Settings properties shall be "
481 "applied. If it is set to \"NONE\", then no Settings "
482 "properties will be applied. \n"
483 " Note that the semantics of this method are that "
484 kumpf 1.2 "individual Settings are either wholly applied or not "
485 "applied at all to their target ManagedSystemElement. The "
486 "return value should be 0 if the Setting is successfully "
487 "applied to the referenced ManagedSystemElement, 1 if the "
488 "method is not supported, 2 if the Setting was not applied "
489 "within the specified times, and any other number if an "
490 "error occurred. In a subclass, the set of possible return "
491 "codes could be specified, using a ValueMap qualifier on "
492 "the method. The strings to which the ValueMap contents are "
493 "'translated' may also be specified in the subclass as a "
494 "Values array qualifier. \n"
495 " Note: If an error occurs in applying the Setting to a "
496 "ManagedSystemElement, the Element must be configured as "
497 "when the 'Apply' attempt began. That is, the Element "
498 "should NOT be left in an indeterminate state.") ]
499 uint32 ApplyIncrementalChangeToMSE(
500 [IN] CIM_ManagedSystemElement REF MSE,
501 [IN] datetime TimeToApply,
502 [IN] datetime MustBeCompletedBy,
503 [IN] string PropertiesToApply[]);
504
505 kumpf 1.2 [Description (
506 " The VerifyOKToApplyIncrementalChangeToCollection method "
507 "is used to verify that a subset of the properties in "
508 "this Setting can be 'applied' to the referenced "
509 "Collection of ManagedSystemElements, at the given time "
510 "or time interval, without causing adverse effects to "
511 "either the Collection itself or its surrounding "
512 "environment. The net effect is to execute the "
513 "VerifyOKToApplyIncrementalChangeToMSE method "
514 "against each of the Elements "
515 "aggregated by the Collection. This method takes three "
516 "input parameters: Collection (the Collection of Managed"
517 "SystemElements that is being verified), TimeToApply (which, "
518 "being a datetime, can be either a specific time or a time "
519 "interval), MustBeCompletedBy (which indicates the "
520 "required completion time for the method), and a "
521 "PropertiesToApply array (which contains a list of the "
522 "property names whose values will be verified. "
523 "If they array is null or empty or constains the string \"all\" "
524 "as a property name then all Settings properties shall be "
525 "verified. If it is set to \"none\" then no Settings properties "
526 kumpf 1.2 "will be verified). The return "
527 "value should be 0 if it is OK to apply the Setting, 1 if "
528 "the method is not supported, 2 if the Setting cannot be "
529 "applied within the specified times, and any other number if "
530 "an error occurred. One output parameter is defined - "
531 "CanNotApply - which is a string array that lists the keys of "
532 "the ManagedSystemElements to which the Setting can NOT be "
533 "applied. This enables those Elements to be revisited and "
534 "either fixed, or other corrective action taken. \n"
535 " In a subclass, the set of possible return codes could be "
536 "specified, using a ValueMap qualifier on the method. The "
537 "strings to which the ValueMap contents are 'translated' may "
538 "also be specified in the subclass as a Values array "
539 "qualifier.") ]
540 uint32 VerifyOKToApplyIncrementalChangeToCollection (
541 [IN] CIM_CollectionOfMSEs REF Collection,
542 [IN] datetime TimeToApply,
543 [IN] datetime MustBeCompletedBy,
544 [IN] string PropertiesToApply[],
545 [IN (false), OUT] string CanNotApply[]);
546
547 kumpf 1.2 [Description (
548 " The ApplyIncrementalChangeToCollection method performs "
549 "the application of a subset of the properties in this "
550 "Setting to the referenced Collection of ManagedSystem"
551 "Elements. The net effect is to execute the "
552 "ApplyIncrementalChangeToMSE "
553 "method against each of the Elements aggregated by the "
554 "Collection. If the input value ContinueOnError is FALSE, "
555 "this method applies the Setting to all Elements in the "
556 "Collection until it encounters an error, in which case it "
557 "stops execution, logs the key of the Element that caused "
558 "the error in the CanNotApply array, and issues a return code "
559 "of 2. If the input value ContinueOnError is TRUE, then this "
560 "method applies the Setting to all the ManagedSystemElements "
561 "in the Collection, and reports the failed Elements in the "
562 "array, CanNotApply. For the latter, processing will continue "
563 "until the method is applied to all Elements in the "
564 "Collection, regardless of any errors encountered. The key of "
565 "each ManagedSystemElement to which the Setting could not be "
566 "applied is logged into the CanNotApply array. This method "
567 "takes four input parameters: Collection (the Collection of "
568 kumpf 1.2 "Elements to which the Setting is being applied), TimeToApply "
569 "(which, being a datetime, can be either a specific time or a "
570 "time interval), ContinueOnError (TRUE means to continue "
571 "processing on encountering an error), and MustBeCompletedBy "
572 "(which indicates the required completion time for the "
573 "method), and a PropertiesToApply array (which contains a list "
574 "of the property names whose values will be applied.) If a "
575 "property is not in this list, it will be ignored by the Apply. "
576 "If the array is null or empty or contains the string \"ALL\" "
577 "as a property name, then all Settings properties shall be "
578 "applied. If it is set to \"NONE\", then no Settings properties "
579 "will be applied. \n"
580 " The return value should be 0 if the Setting is "
581 "successfully applied to the referenced Collection, 1 if the "
582 "method is not supported, 2 if the Setting was not applied "
583 "within the specified time, 3 if the Setting cannot be "
584 "applied using the input value for ContinueOnError, and any "
585 "other number if an error occurred. One output parameter is "
586 "defined, CanNotApplystring, which is an array that lists "
587 "the keys of the ManagedSystemElements to which the Setting "
588 "was NOT able to be applied. This output parameter has "
589 kumpf 1.2 "meaning only when the ContinueOnError parameter is TRUE. \n"
590 " In a subclass, the set of possible return codes could be "
591 "specified, using a ValueMap qualifier on the method. The "
592 "strings to which the ValueMap contents are 'translated' may "
593 "also be specified in the subclass as a Values array "
594 "qualifier. \n"
595 " Note: if an error occurs in applying the Setting to a "
596 "ManagedSystemElement in the Collection, the Element must be "
597 "configured as when the 'Apply' attempt began. That is, the "
598 "Element should NOT be left in an indeterminate state.") ]
599 uint32 ApplyIncrementalChangeToCollection(
600 [IN] CIM_CollectionOfMSEs REF Collection,
601 [IN] datetime TimeToApply,
602 [IN] boolean ContinueOnError,
603 [IN] datetime MustBeCompletedBy,
604 [IN] string PropertiesToApply[],
605 [IN (false), OUT] string CanNotApply[]);
606 };
607
608
609 // ===================================================================
610 kumpf 1.2 // ElementSetting
611 // ===================================================================
612 [Association, Version ("2.6.0"), Description (
613 "ElementSetting represents the association between Managed"
614 "SystemElements and the Setting class(es) defined for them.") ]
615 class CIM_ElementSetting {
616
617 [Key, Description (
618 "The ManagedSystemElement.") ]
619 CIM_ManagedSystemElement REF Element;
620
621 [Key, Description (
622 "The Setting object associated with the ManagedSystem"
623 "Element.") ]
624 CIM_Setting REF Setting;
625 };
626
627
628 // ===================================================================
629 // DefaultSetting
630 // ===================================================================
631 kumpf 1.2 [Association, Version ("2.6.0"), Description (
632 "DefaultSetting represents the association between a Managed"
633 "SystemElement and the single Setting class that is defined "
634 "to be the default setting for this Element.") ]
635 class CIM_DefaultSetting : CIM_ElementSetting {
636
637 [Override ("Setting"), Max (1), Description (
638 "The Setting object which is the default.") ]
639 CIM_Setting REF Setting;
640 };
641
642
643 // ==================================================================
644 // CIM_SystemSetting
645 // ==================================================================
646 [Abstract, Version ("2.6.0"), Description (
647 "CIM_SystemSetting represents the general concept of a "
648 "CIM_Setting which is scoped by/weak to a System.") ]
649 class CIM_SystemSetting : CIM_Setting {
650
651 [Propagated ("CIM_System.CreationClassName"), Key,
652 kumpf 1.2 MaxLen (256), Description (
653 "The scoping System's CreationClassName.") ]
654 string SystemCreationClassName;
655
656 [Propagated ("CIM_System.Name"), Key, MaxLen (256),
657 Description ("The scoping System's Name.") ]
658 string SystemName;
659
660 [Key, MaxLen (256), Description (
661 "CreationClassName indicates the name of the class or the "
662 "subclass used in the creation of an instance. When used "
663 "with the other key properties of this class, this property "
664 "allows all instances of this class and its subclasses to "
665 "be uniquely identified.") ]
666 string CreationClassName;
667
668 [Override ("SettingID"), Key,
669 MaxLen (256) ]
670 string SettingID;
671 };
672
673 kumpf 1.2
674 // ==================================================================
675 // SettingForSystem
676 // ==================================================================
677 [Association, Version ("2.6.0"), Description (
678 "CIM_SettingForSystem defines a Setting in the context "
679 "of the System on which it resides.") ]
680 class CIM_SettingForSystem : CIM_Dependency {
681
682 [Override ("Antecedent"), Max (1), Min (1),
683 Description ("The hosting System.") ]
684 CIM_System REF Antecedent;
685
686 [Override ("Dependent"), Weak,
687 Description ("The Setting defined for the System.") ]
688 CIM_SystemSetting REF Dependent;
689 };
690
691
692 // ===================================================================
693 // Configuration
694 kumpf 1.2 // ===================================================================
695 [Version ("2.6.0"), Description (
696 " The Configuration object allows the grouping of sets of "
697 "parameters (defined in Setting objects) and dependencies for "
698 "one or more ManagedSystemElements. It represents a certain "
699 "behavior, or a desired functional state for the ManagedSystem"
700 "Elements. Note that the CIM_Profile class uses simplified "
701 "naming/identity and collection algorithms as compared to "
702 "CIM_Configuration. \n"
703 " The desired functional state of the Configuration is "
704 "typically driven by external requirements such as time or "
705 "location. For example, to connect to a Mail System from "
706 "'home', a dependency on a modem exists, but a dependency on "
707 "a network adapter exists at 'work'. Settings for the "
708 "pertinent LogicalDevices (in this example, POTSModem and "
709 "NetworkAdapter) can be defined and aggregated by the "
710 "Configuration. Therefore, two 'Connect to Mail' "
711 "Configurations may be defined grouping the relevant "
712 "dependencies and Setting objects.") ]
713 class CIM_Configuration : CIM_ManagedElement {
714 [Key, MaxLen (256), Description (
715 kumpf 1.2 "The label by which the Configuration object is known.") ]
716 string Name;
717 };
718
719
720 // ===================================================================
721 // ConfigurationComponent
722 // ===================================================================
723 [Association, Aggregation, Version ("2.6.0"), Description (
724 "ConfigurationComponent aggregates 'lower-level' "
725 "Configuration objects into a 'high-level' Configuration. "
726 "This enables the assembly of complex Configurations by "
727 "grouping together simpler ones. For example, a logon policy "
728 "for the United States could consist of two Configuration "
729 "groups, one for the east coast and one for the west coast. "
730 "Each of these could in turn consist of multiple "
731 "Configurations to handle different aspects of the logon "
732 "process.") ]
733 class CIM_ConfigurationComponent {
734 [Aggregate, Key, Description (
735 "The Configuration that aggregates additional "
736 kumpf 1.2 "Configurations." ) ]
737 CIM_Configuration REF ConfigGroup;
738
739 [Key, Description (
740 "A Configuration that is part of a 'higher-level' "
741 "Configuration.") ]
742 CIM_Configuration REF ConfigComponent;
743 };
744
745
746 // ===================================================================
747 // ElementConfiguration
748 // ===================================================================
749 [Association, Version ("2.6.0"), Description (
750 "This association relates a Configuration object to one or "
751 "more ManagedSystemElements. The Configuration object "
752 "represents a certain behavior, or a desired functional state "
753 "for the associated ManagedSystemElements.") ]
754 class CIM_ElementConfiguration {
755 [Key, Description (
756 "The ManagedSystemElement.") ]
757 kumpf 1.2 CIM_ManagedSystemElement REF Element;
758
759 [Key, Description (
760 "The Configuration object that groups the Settings and "
761 "dependencies associated with the ManagedSystemElement.") ]
762 CIM_Configuration REF Configuration;
763 };
764
765
766 // ===================================================================
767 // CollectionConfiguration
768 // ===================================================================
769 [Association, Version ("2.6.0"), Description (
770 "This association relates a Configuration object to one or "
771 "more CollectionOfMSEs objects. The Configuration object "
772 "represents a certain behavior, or a desired functional state "
773 "for the associated Collection.") ]
774 class CIM_CollectionConfiguration {
775
776 [Key, Description (
777 "The CollectionOfMSEs.") ]
778 kumpf 1.2 CIM_CollectionOfMSEs REF Collection;
779
780 [Key, Description (
781 "The Configuration object that groups the Settings and "
782 "dependencies associated with the Collection.") ]
783 CIM_Configuration REF Configuration;
784 };
785
786
787 // ===================================================================
788 // DependencyContext
789 // ===================================================================
790 [Association, Aggregation, Version ("2.6.0"), Description (
791 "This relationship associates a Dependency with one or more "
792 "Configuration objects. For example, a ComputerSystem's "
793 "dependencies could change based on the site/network to which "
794 "the System is attached.") ]
795 class CIM_DependencyContext {
796
797 [Aggregate, Key, Description (
798 "The Configuration object that aggregates the Dependency.") ]
799 kumpf 1.2 CIM_Configuration REF Context;
800
801 [Key, Description (
802 "An aggregated Dependency.") ]
803 CIM_Dependency REF Dependency;
804 };
805
806
807 // ===================================================================
808 // SettingContext
809 // ===================================================================
810 [Association, Aggregation, Version ("2.6.0"), Description (
811 "This relationship associates Configuration objects with "
812 "Setting objects. For example, a NetworkAdapter's Settings "
813 "could change based on the site/network to which its hosting "
814 "ComputerSystem is attached. In this case, the ComputerSystem "
815 "would have two different Configuration objects, corresponding "
816 "to the differences in network configuration for the two network "
817 "segments. Configuration A would aggregate a Setting object for "
818 "the NetworkAdapter when operating on segment \"ANet\", whereas "
819 "Configuration B would aggregate a different NetworkAdapter "
820 kumpf 1.2 "Setting object, specific to segment \"BNet\". Note that many "
821 "Settings of the computer are independent of the network "
822 "Configuration. For example, both Configurations A and B would "
823 "aggregate the same Setting object for the ComputerSystem's "
824 "MonitorResolution.") ]
825 class CIM_SettingContext {
826 [Aggregate, Key, Description (
827 "The Configuration object that aggregates the Setting.") ]
828 CIM_Configuration REF Context;
829
830 [Key, Description (
831 "An aggregated Setting.") ]
832 CIM_Setting REF Setting;
833 };
834
835
836 // ===================================================================
837 // CollectionSetting
838 // ===================================================================
839 [Association, Version ("2.6.0"), Description (
840 "CollectionSetting represents the association between a "
841 kumpf 1.2 "CollectionOfMSEs class and the Setting class(es) defined for "
842 "them.") ]
843 class CIM_CollectionSetting {
844 [Key, Description (
845 "The CollectionOfMSEs.") ]
846 CIM_CollectionOfMSEs REF Collection;
847
848 [Key, Description (
849 "The Setting object associated with the Collection.") ]
850 CIM_Setting REF Setting;
851 };
852
853
854 // ==================================================================
855 // SystemConfiguration
856 // ==================================================================
857 [Version ("2.6.0"), Description (
858 "CIM_SystemConfiguration represents the general concept "
859 "of a CIM_Configuration which is scoped by/weak to a "
860 "System. This class is a peer of CIM_Configuration since "
861 "the key structure of Configuration is currently "
862 kumpf 1.2 "defined and cannot be modified with additional "
863 "properties.") ]
864 class CIM_SystemConfiguration : CIM_ManagedElement {
865
866 [Propagated ("CIM_System.CreationClassName"), Key,
867 MaxLen (256), Description (
868 "The scoping System's CreationClassName.") ]
869 string SystemCreationClassName;
870
871 [Propagated ("CIM_System.Name"), Key, MaxLen (256),
872 Description ("The scoping System's Name.") ]
873 string SystemName;
874
875 [Key, MaxLen (256), Description (
876 "CreationClassName indicates the name of the class or the "
877 "subclass used in the creation of an instance. When used "
878 "with the other key properties of this class, this property "
879 "allows all instances of this class and its subclasses to "
880 "be uniquely identified.") ]
881 string CreationClassName;
882
883 kumpf 1.2 [Key, MaxLen (256), Description (
884 "The label by which the Configuration object is known.") ]
885 string Name;
886 };
887
888
889 // ==================================================================
890 // ConfigurationForSystem
891 // ==================================================================
892 [Association, Version ("2.6.0"), Description (
893 "CIM_ConfigurationForSystem defines a Configuration "
894 "in the context of the System on which it resides.") ]
895 class CIM_ConfigurationForSystem : CIM_Dependency {
896 [Override ("Antecedent"), Max (1), Min (1),
897 Description ("The hosting System.") ]
898 CIM_System REF Antecedent;
899
900 [Override ("Dependent"), Weak,
901 Description ("The Configuration defined for the System.") ]
902 CIM_SystemConfiguration REF Dependent;
903 };
904 kumpf 1.2
905
906 // ==================================================================
907 // SystemSettingContext
908 // ==================================================================
909 [Association, Aggregation, Version ("2.6.0"), Description (
910 "This relationship associates System-specific Configuration "
911 "objects with System-specific Setting objects, similar to the "
912 "SettingContext association.") ]
913 class CIM_SystemSettingContext {
914
915 [Aggregate, Key, Description (
916 "The Configuration object that aggregates the Setting.") ]
917 CIM_SystemConfiguration REF Context;
918
919 [Key, Description (
920 "An aggregated Setting.") ]
921 CIM_SystemSetting REF Setting;
922 };
923
924
925 kumpf 1.2 // ===================================================================
926 // end of file
927 // ===================================================================
|