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