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