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