1 karl 1.1 // ===================================================================
2 // Title: Core Settings
3 // $State: Preliminary $
4 // $Date: 2004/06/25 16:11:06 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Core_Settings.mof,v $
6 // $Revision: 1.13 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 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 karl 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 karl 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.9 Preliminary
55 // CR1333 - Add support for configuration "blobs" as a subclass of
56 // SettingData.Also deprecate Save and Restore properties in
57 // LogicalDevice
58 // CR1336 - Add TimeService and related classes. Deprecate CIM_TimeZone
59 // CR1378 - Deprecate CIM_Profile, CIM_Configuration
60 //
61 // Change Log for v2.8 Final
62 // CR1128 - Addition of HostedDependency
63 // CR1223 - SysDev Omnibus CR - Minor MOF corrections.
64 karl 1.1 //
65 // Change Log for v2.7 Final
66 // CR927 - Relax cardinality for the ManagedElement side of
67 // ElementProfile
68 // - Update the description of Profile to reflect this change.
69 // CR968 - Remove the Experimental qualifier
70 // CR994 - Update description of InstanceID
71 //
72 // Change Log for v2.7
73 // CR723 - Introduce SettingData, ScopedSetttingData, ScopedSetting,
74 // and ElementSettingData.
75 // - Clarify the description of Setting to reconcile with
76 // SettingData.
77 // CR642 - Add Profile and ElementProfile
78 // ==================================================================
79
80 #pragma locale ("en_US")
81
82
83 // ===================================================================
84 // SettingData
85 karl 1.1 // ===================================================================
86 [Abstract, Version ( "2.8.1000" ), Description (
87 "The SettingData class represents configuration-related and "
88 "operational parameters for one or more ManagedElement(s). A "
89 "ManagedElement may have multiple SettingData objects "
90 "associated with it. The current operational values for an "
91 "Element's parameters are reflected by properties in the "
92 "Element itself or by properties in its associations. These "
93 "properties do not have to be the same values present in the "
94 "SettingData object. For example, a modem may have a "
95 "SettingData baud rate of 56Kb/sec but be operating at "
96 "19.2Kb/sec. \n"
97 "Note that the CIM_SettingData class is very similar to "
98 "CIM_Setting, yet both classes are present in the model. This "
99 "is because many implementations have successfully used "
100 "CIM_Setting. However, issues have arisen that could not be "
101 "resolved without defining a new class. Therefore, until a new "
102 "major release occurs, both classes will exist in the model. "
103 "Refer to the Core White Paper for additional information. "
104 "SettingData instances may be aggregated together into higher "
105 "level SettingData objects using ConcreteComponent "
106 karl 1.1 "associations.")]
107 class CIM_SettingData : CIM_ManagedElement {
108
109 [Key, Description (
110 "Within the scope of the instantiating Namespace, InstanceID "
111 "opaquely and uniquely identifies an instance of this class. "
112 "In order to ensure uniqueness within the NameSpace, the "
113 "value of InstanceID SHOULD be constructed using the "
114 "following 'preferred' algorithm: \n"
115 "<OrgID>:<LocalID> \n"
116 "Where <OrgID> and <LocalID> are separated by a colon ':', "
117 "and where <OrgID> MUST include a copyrighted, trademarked "
118 "or otherwise unique name that is owned by the business "
119 "entity creating/defining the InstanceID, or is a registered "
120 "ID that is assigned to the business entity by a recognized "
121 "global authority (This is similar to the <Schema "
122 "Name>_<Class Name> structure of Schema class names.) In "
123 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
124 "colon (':'). When using this algorithm, the first colon to "
125 "appear in InstanceID MUST appear between <OrgID> and "
126 "<LocalID>. \n"
127 karl 1.1 "<LocalID> is chosen by the business entity and SHOULD not "
128 "be re-used to identify different underlying (real-world) "
129 "elements. If the above 'preferred' algorithm is not used, "
130 "the defining entity MUST assure that the resultant "
131 "InstanceID is not re-used across any InstanceIDs produced "
132 "by this or other providers for this instance's NameSpace. \n"
133 "For DMTF defined instances, the 'preferred' algorithm MUST "
134 "be used with the <OrgID> set to 'CIM'.")]
135 string InstanceID;
136
137 [Required, Override ( "ElementName" ), Description (
138 "The user friendly name for this instance of SettingData. In "
139 "addition, the user friendly name can be used as a index "
140 "property for a search of query. (Note: Name does not have "
141 "to be unique within a namespace.)")]
142 string ElementName;
143 };
144
145
146 // ===================================================================
147 // ScopedSettingData
148 karl 1.1 // ===================================================================
149 [Abstract, Version ( "2.7.0" ), Description (
150 "The ScopedSettingData class represents the general concept of "
151 "SettingData which is scoped/contained by a ManagedElement "
152 "(i.e. settings that are specifically defined for a system, "
153 "device, etc). ScopedSettingData is tied to a ManagedElement "
154 "using the ScopedSetting association. Note that the cardinality "
155 "of the ManagedElement reference is Min(1), Max(1). This "
156 "cardinality mandates the instantiation of the ScopedSetting "
157 "association for the referenced instance of ScopedSettingData. "
158 "ScopedSetting describes the existence requirements and context "
159 "for the referenced instance of ManagedElement. Specifically, "
160 "the ManagedElement MUST exist and provides the context for the "
161 "ScopedSettingData.")]
162 class CIM_ScopedSettingData : CIM_SettingData {
163 };
164
165
166 // ===================================================================
167 // ScopedSetting
168 // ===================================================================
169 karl 1.1 [Association, Version ( "2.8.0" ), Description (
170 "ScopedSetting defines a setting in the context of the Managed "
171 "Element which it resides.")]
172 class CIM_ScopedSetting : CIM_HostedDependency {
173
174 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
175 "The scoping ManagedElement.")]
176 CIM_ManagedElement REF Antecedent;
177
178 [Override ( "Dependent" ), Description (
179 "The setting defined for the ManagedElement.")]
180 CIM_ScopedSettingData REF Dependent;
181 };
182
183
184 // ===================================================================
185 // ElementSettingData
186 // ===================================================================
187 [Association, Version ( "2.8.1000" ), Description (
188 "ElementSettingData represents the association between "
189 "ManagedElements and applicable setting data. This association "
190 karl 1.1 "also describes whether this is a default or current setting.")]
191 class CIM_ElementSettingData {
192
193 [Key, Description (
194 "The managed element.")]
195 CIM_ManagedElement REF ManagedElement;
196
197 [Key, Description (
198 "The SettingData object associated with the element.")]
199 CIM_SettingData REF SettingData;
200
201 [Description (
202 "An enumerated integer indicating that the referenced "
203 "setting is a default setting for the element, or that this "
204 "information is unknown."),
205 ValueMap { "0", "1", "2" },
206 Values { "Unknown", "Is Default", "Is Not Default" }]
207 uint16 IsDefault;
208
209 [Description (
210 "An enumerated integer indicating that the referenced "
211 karl 1.1 "setting is currently being used in the operation of the "
212 "element, or that this information is unknown."),
213 ValueMap { "0", "1", "2" },
214 Values { "Unknown", "Is Current", "Is Not Current" }]
215 uint16 IsCurrent;
216 };
217
218
219 // ==================================================================
220 // Profile
221 // ==================================================================
222 [Deprecated { "CIM_SettingData", "CIM_Setting",
223 "CIM_ConcreteComponent" }, Version ( "2.8.1000" ),
224 Description (
225 "The use of CIM_Profile is deprecated in favor of aggregating "
226 "instances of Setting or SettingData into 'higher' level "
227 "Settings/SettingData objects, using the ConcreteComponent "
228 "association. This simplifies the use of Settings/SettingData. "
229 "With Profiles subclassing from Collection, separate "
230 "associations were needed from an element to either its "
231 "Profiles or Settings/ SettingData. This introduced unnecessary "
232 karl 1.1 "complexity and redundancy into the model. \n"
233 "\n"
234 "Profile specifies a general collection of Settings/SettingData "
235 "that are logically grouped together. Note that the CIM_Profile "
236 "class uses simplified naming/identity and collection "
237 "algorithms, as compared to CIM_Configuration. The settings are "
238 "'collected' into the Profile using the MemberOfCollection "
239 "association. Note that a Profile obtains its setting data and "
240 "other necessary information from collected Setting/SettingData "
241 "instances, and by the definition of additional properties in "
242 "subclasses. One example of a Profile is to define the "
243 "collection of settings for a particular person. Another is to "
244 "define the collection of settings appropriate when "
245 "initializing a system. \n"
246 "\n"
247 "Profile is tied to a ManagedElement using the ElementProfile "
248 "association. The ManagedElement provides context for the "
249 "Profile, and the settings collected by Profile SHOULD be "
250 "settings of the associated ManagedElement. Note that a "
251 "ManagedElement MAY NOT exist when the Profile is instantiated. "
252 "This is true when the Profile is used in the creation of the "
253 karl 1.1 "real world entity represented by (and then instantiated in) "
254 "the ManagedElement.")]
255 class CIM_Profile : CIM_Collection {
256
257 [Deprecated { "CIM_SettingData.InstanceID",
258 "CIM_Setting.SettingID" }, Key, Description (
259 "Within the scope of the instantiating Namespace, InstanceID "
260 "opaquely and uniquely identifies an instance of this class. "
261 "In order to ensure uniqueness within the NameSpace, the "
262 "value of InstanceID SHOULD be constructed using the "
263 "following 'preferred' algorithm: \n"
264 "<OrgID>:<LocalID> \n"
265 "Where <OrgID> and <LocalID> are separated by a colon ':', "
266 "and where <OrgID> MUST include a copyrighted, trademarked "
267 "or otherwise unique name that is owned by the business "
268 "entity creating/defining the InstanceID, or is a registered "
269 "ID that is assigned to the business entity by a recognized "
270 "global authority (This is similar to the <Schema "
271 "Name>_<Class Name> structure of Schema class names.) In "
272 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
273 "colon (':'). When using this algorithm, the first colon to "
274 karl 1.1 "appear in InstanceID MUST appear between <OrgID> and "
275 "<LocalID>. \n"
276 "<LocalID> is chosen by the business entity and SHOULD not "
277 "be re-used to identify different underlying (real-world) "
278 "elements. If the above 'preferred' algorithm is not used, "
279 "the defining entity MUST assure that the resultant "
280 "InstanceID is not re-used across any InstanceIDs produced "
281 "by this or other providers for this instance's NameSpace. \n"
282 "For DMTF defined instances, the 'preferred' algorithm MUST "
283 "be used with the <OrgID> set to 'CIM'.")]
284 string InstanceID;
285 };
286
287
288 // ===================================================================
289 // ElementProfile
290 // ===================================================================
291 [Association, Deprecated { "CIM_ElementSettingData",
292 "CIM_ElementSetting" }, Version ( "2.8.1000" ), Description (
293 "ElementProfile represents the association between "
294 "ManagedElements and the Profiles (collection of settings) "
295 karl 1.1 "defined for them. This association describes that the settings "
296 "collected by the Profile apply to the associated "
297 "ManagedElement. \n"
298 "\n"
299 "The Profile class is being deprecated in lieu of using a "
300 "ConcreteComponent relationship to indicate a hierarchy of "
301 "Setting/SettingData instances. This allows the re-use of the "
302 "element to Setting/SettingData associations, instead of "
303 "defining a peer association specifically for Profiles.")]
304 class CIM_ElementProfile {
305
306 [Deprecated { "CIM_ElementSettingData.ManagedElement",
307 "CIM_ElementSetting.Element" }, Key, Description (
308 "The managed element.")]
309 CIM_ManagedElement REF ManagedElement;
310
311 [Deprecated { "CIM_ElementSettingData.SettingData",
312 "CIM_ElementSetting.Setting" }, Key, Description (
313 "The Profile object associated with the element.")]
314 CIM_Profile REF Profile;
315 };
316 karl 1.1
317 // ===================================================================
318 // Setting
319 // ===================================================================
320 [Abstract, Version ( "2.8.1000" ), Description (
321 "The Setting class represents configuration-related and "
322 "operational parameters for one or more "
323 "ManagedSystemElement(s). An Element may have multiple Setting "
324 "objects associated with it. The current operational values for "
325 "an Element's parameters are reflected by properties in the "
326 "Element itself or by properties in its associations. These "
327 "properties do not have to be the same values present in the "
328 "Setting object. For example, a modem may have a Setting baud "
329 "rate of 56Kb/sec but be operating at 19.2Kb/sec. \n"
330 "Note that the CIM_SettingData class is very similar to "
331 "CIM_Setting, yet both classes are present in the model. This "
332 "is because many implementations have successfully used "
333 "CIM_Setting. However, issues have arisen that could not be "
334 "resolved without defining a new class. Therefore, until a new "
335 "major release occurs, both classes will exist in the model. "
336 "Refer to the Core White Paper for additional information. "
337 karl 1.1 "Setting instances may be aggregated together into higher level "
338 "Setting objects using ConcreteComponent associations.")]
339 class CIM_Setting : CIM_ManagedElement {
340
341 [Description (
342 "The identifier by which the Setting object is known."),
343 MaxLen ( 256 )]
344 string SettingID;
345
346 [Description (
347 "The VerifyOKToApplyToMSE method is used to verify that this "
348 "Setting can be 'applied' to the referenced Managed "
349 "SystemElement, at the given time or time interval. This "
350 "method takes three input parameters: MSE (the Managed "
351 "SystemElement that is being verified), TimeToApply (which, "
352 "being a datetime, can be either a specific time or a time "
353 "interval), and MustBeCompletedBy (which indicates the "
354 "required completion time for the method). The return value "
355 "should be 0 if it is OK to apply the Setting, 1 if the "
356 "method is not supported, 2 if the Setting cannot be applied "
357 "within the specified times, and any other number if an "
358 karl 1.1 "error occurred. In a subclass, the set of possible return "
359 "codes could be specified, using a ValueMap qualifier on the "
360 "method. The strings to which the ValueMap contents are "
361 "'translated' may also be specified in the subclass as a "
362 "Values array qualifier.")]
363 uint32 VerifyOKToApplyToMSE(
364 [IN, Description (
365 "The Managed SystemElement that is being verified.")]
366 CIM_ManagedSystemElement REF MSE,
367 [IN, Description (
368 "TimeToApply can be either a specific time or a time "
369 "interval.")]
370 datetime TimeToApply,
371 [IN, Description (
372 "The required completion time for the method.")]
373 datetime MustBeCompletedBy);
374
375 [Description (
376 "The ApplyToMSE method performs the actual application of "
377 "the Setting to the referenced ManagedSystemElement. It "
378 "takes three input parameters: MSE (the ManagedSystem "
379 karl 1.1 "Element to which the Setting is being applied), TimeToApply "
380 "(which, being a datetime, can be either a specific time or "
381 "a time interval), and MustBeCompletedBy (which indicates "
382 "the required completion time for the method). Note that the "
383 "semantics of this method are that individual Settings are "
384 "either wholly applied or not applied at all to their target "
385 "ManagedSystemElement. The return value should be 0 if the "
386 "Setting is successfully applied to the referenced "
387 "ManagedSystemElement, 1 if the method is not supported, 2 "
388 "if the Setting was not applied within the specified times, "
389 "and any other number if an error occurred. In a subclass, "
390 "the set of possible return codes could be specified, using "
391 "a ValueMap qualifier on the method. The strings to which "
392 "the ValueMap contents are 'translated' may also be "
393 "specified in the subclass as a Values array qualifier. \n"
394 "Note: If an error occurs in applying the Setting to a "
395 "ManagedSystemElement, the Element must be configured as "
396 "when the 'Apply' attempt began. That is, the Element should "
397 "NOT be left in an indeterminate state.")]
398 uint32 ApplyToMSE(
399 [IN, Description (
400 karl 1.1 "The ManagedSystem Element to which the Setting is being "
401 "applied.")]
402 CIM_ManagedSystemElement REF MSE,
403 [IN, Description (
404 "TimeToApply can be either a specific time or a time "
405 "interval.")]
406 datetime TimeToApply,
407 [IN, Description (
408 "The required completion time for the method.")]
409 datetime MustBeCompletedBy);
410
411 [Description (
412 "The VerifyOKToApplyToCollection method is used to verify "
413 "that this Setting can be 'applied' to the referenced "
414 "Collection of ManagedSystemElements, at the given time or "
415 "time interval, without causing adverse effects to either "
416 "the Collection itself or its surrounding environment. The "
417 "net effect is to execute the VerifyOKToApply method against "
418 "each of the Elements aggregated by the Collection. This "
419 "method takes three input parameters: Collection (the "
420 "Collection of Managed SystemElements that is being "
421 karl 1.1 "verified), TimeToApply (which, being a datetime, can be "
422 "either a specific time or a time interval), and "
423 "MustBeCompletedBy (which indicates the required completion "
424 "time for the method). The return value should be 0 if it is "
425 "OK to apply the Setting, 1 if the method is not supported, "
426 "2 if the Setting cannot be applied within the specified "
427 "times, and any other number if an error occurred. One "
428 "output parameter is defined - CanNotApply - which is a "
429 "string array that lists the keys of the "
430 "ManagedSystemElements to which the Setting can NOT be "
431 "applied. This enables those Elements to be revisited and "
432 "either fixed, or other corrective action taken. \n"
433 "In a subclass, the set of possible return codes could be "
434 "specified, using a ValueMap qualifier on the method. The "
435 "strings to which the ValueMap contents are 'translated' may "
436 "also be specified in the subclass as a Values array "
437 "qualifier.")]
438 uint32 VerifyOKToApplyToCollection (
439 [IN, Description (
440 "The Collection of Managed SystemElements that is being "
441 "verified.")]
442 karl 1.1 CIM_CollectionOfMSEs REF Collection,
443 [IN, Description (
444 "TimeToApply can be either a specific time or a time "
445 "interval.")]
446 datetime TimeToApply,
447 [IN, Description (
448 "The required completion time for the method.")]
449 datetime MustBeCompletedBy,
450 [IN ( false ), OUT, Description (
451 "A string array that lists the keys of the "
452 "ManagedSystemElements to which the Setting can NOT be "
453 "applied.")]
454 string CanNotApply[]);
455
456 [Description (
457 "The ApplyToCollection method performs the application of "
458 "the Setting to the referenced Collection of ManagedSystem "
459 "Elements. The net effect is to execute the ApplyToMSE "
460 "method against each of the Elements aggregated by the "
461 "Collection. If the input value ContinueOnError is FALSE, "
462 "this method applies the Setting to all Elements in the "
463 karl 1.1 "Collection until it encounters an error, in which case it "
464 "stops execution, logs the key of the Element that caused "
465 "the error in the CanNotApply array, and issues a return "
466 "code of 2. If the input value ContinueOnError is TRUE, then "
467 "this method applies the Setting to all the "
468 "ManagedSystemElements in the Collection, and reports the "
469 "failed Elements in the array, CanNotApply. For the latter, "
470 "processing will continue until the method is applied to all "
471 "Elements in the Collection, regardless of any errors "
472 "encountered. The key of each ManagedSystemElement to which "
473 "the Setting could not be applied is logged into the "
474 "CanNotApply array. This method takes four input parameters: "
475 "Collection (the Collection of Elements to which the Setting "
476 "is being applied), TimeToApply (which, being a datetime, "
477 "can be either a specific time or a time interval), "
478 "ContinueOnError (TRUE means to continue processing on "
479 "encountering an error), and MustBeCompletedBy (which "
480 "indicates the required completion time for the method). The "
481 "return value should be 0 if the Setting is successfully "
482 "applied to the referenced Collection, 1 if the method is "
483 "not supported, 2 if the Setting was not applied within the "
484 karl 1.1 "specified times, 3 if the Setting cannot be applied using "
485 "the input value for ContinueOnError, and any other number "
486 "if an error occurred. One output parameter is defined, "
487 "CanNotApplystring, which is an array that lists the keys of "
488 "the ManagedSystemElements to which the Setting was NOT able "
489 "to be applied. This output parameter has meaning only when "
490 "the ContinueOnError parameter is TRUE. \n"
491 "In a subclass, the set of possible return codes could be "
492 "specified, using a ValueMap qualifier on the method. The "
493 "strings to which the ValueMap contents are 'translated' may "
494 "also be specified in the subclass as a Values array "
495 "qualifier. \n"
496 "Note: if an error occurs in applying the Setting to a "
497 "ManagedSystemElement in the Collection, the Element must be "
498 "configured as when the 'Apply' attempt began. That is, the "
499 "Element should NOT be left in an indeterminate state.")]
500 uint32 ApplyToCollection(
501 [IN, Description (
502 "The Collection of Managed SystemElements to be applied.")]
503 CIM_CollectionOfMSEs REF Collection,
504 [IN, Description (
505 karl 1.1 "TimeToApply can be either a specific time or a time "
506 "interval.")]
507 datetime TimeToApply,
508 [IN, Description (
509 "TRUE means to continue processing on encountering an "
510 "error.")]
511 boolean ContinueOnError,
512 [IN, Description (
513 "The required completion time for the method.")]
514 datetime MustBeCompletedBy,
515 [IN ( false ), OUT, Description (
516 "A string array that lists the keys of the "
517 "ManagedSystemElements to which the Setting was NOT be "
518 "applied.")]
519 string CanNotApply[]);
520
521 [Description (
522 "The VerifyOKToApplyIncrementalChangeToMSE method is used to "
523 "verify that a subset of the properties in this Setting can "
524 "be 'applied' to the referenced Managed SystemElement, at "
525 "the given time or time interval. This method takes four "
526 karl 1.1 "input parameters: MSE (the Managed SystemElement that is "
527 "being verified), TimeToApply (which, being a datetime, can "
528 "be either a specific time or a time interval), "
529 "MustBeCompletedBy (which indicates the required completion "
530 "time for the method), and a PropertiesToApply array (which "
531 "contains a list of the property names whose values will be "
532 "verified.) If the array is null, empty or contains the "
533 "string \"ALL\" as a property name, then all Settings "
534 "properties shall be verified. If it is set to \"NONE\", "
535 "then no Settings properties will be verified. The return "
536 "value should be 0 if it is OK to apply the Setting, 1 if "
537 "the method is not supported, 2 if the Setting cannot be "
538 "applied within the specified times, and any other number if "
539 "an error occurred. In a subclass, the set of possible "
540 "return codes could be specified, using a ValueMap qualifier "
541 "on the method. The strings to which the ValueMap contents "
542 "are 'translated' may also be specified in the subclass as a "
543 "Values array qualifier.")]
544 uint32 VerifyOKToApplyIncrementalChangeToMSE(
545 [IN, Description (
546 "The ManagedSystem Element for which the Setting is being "
547 karl 1.1 "verified.")]
548 CIM_ManagedSystemElement REF MSE,
549 [IN, Description (
550 "TimeToApply can be either a specific time or a time "
551 "interval.")]
552 datetime TimeToApply,
553 [IN, Description (
554 "The required completion time for the method.")]
555 datetime MustBeCompletedBy,
556 [IN, Description (
557 "A list of the property names whose values will be "
558 "verified.")]
559 string PropertiesToApply[]);
560
561 [Description (
562 "The ApplyIncrementalChangeToMSE method performs the actual "
563 "application of a subset of the properties in the Setting to "
564 "the referenced ManagedSystemElement. It takes four input "
565 "parameters: MSE (the ManagedSystem Element to which the "
566 "Setting is being applied), TimeToApply (which, being a "
567 "datetime, can be either a specific time or a time "
568 karl 1.1 "interval), MustBeCompletedBy (which indicates the required "
569 "completion time for the method), and a PropertiesToApply "
570 "array (which contains a list of the property names whose "
571 "values will be applied.) If a property is not in this list, "
572 "it will be ignored by the Apply. If the array is null, "
573 "empty or contains the string \"ALL\" as a property name, "
574 "then all Settings properties shall be applied. If it is set "
575 "to \"NONE\", then no Settings properties will be applied. \n"
576 "Note that the semantics of this method are that individual "
577 "Settings are either wholly applied or not applied at all to "
578 "their target ManagedSystemElement. The return value should "
579 "be 0 if the Setting is successfully applied to the "
580 "referenced ManagedSystemElement, 1 if the method is not "
581 "supported, 2 if the Setting was not applied within the "
582 "specified times, and any other number if an error occurred. "
583 "In a subclass, the set of possible return codes could be "
584 "specified, using a ValueMap qualifier on the method. The "
585 "strings to which the ValueMap contents are 'translated' may "
586 "also be specified in the subclass as a Values array "
587 "qualifier. \n"
588 "Note: If an error occurs in applying the Setting to a "
589 karl 1.1 "ManagedSystemElement, the Element must be configured as "
590 "when the 'Apply' attempt began. That is, the Element should "
591 "NOT be left in an indeterminate state.")]
592 uint32 ApplyIncrementalChangeToMSE(
593 [IN, Description (
594 "The ManagedSystem Element to which the Setting is being "
595 "applied.")]
596 CIM_ManagedSystemElement REF MSE,
597 [IN, Description (
598 "TimeToApply can be either a specific time or a time "
599 "interval.")]
600 datetime TimeToApply,
601 [IN, Description (
602 "The required completion time for the method.")]
603 datetime MustBeCompletedBy,
604 [IN, Description (
605 "A list of the property names whose values will be "
606 "applied.")]
607 string PropertiesToApply[]);
608
609 [Description (
610 karl 1.1 "The VerifyOKToApplyIncrementalChangeToCollection method is "
611 "used to verify that a subset of the properties in this "
612 "Setting can be 'applied' to the referenced Collection of "
613 "ManagedSystemElements, at the given time or time interval, "
614 "without causing adverse effects to either the Collection "
615 "itself or its surrounding environment. The net effect is to "
616 "execute the VerifyOKToApplyIncrementalChangeToMSE method "
617 "against each of the Elements aggregated by the Collection. "
618 "This method takes three input parameters: Collection (the "
619 "Collection of Managed SystemElements that is being "
620 "verified), TimeToApply (which, being a datetime, can be "
621 "either a specific time or a time interval), "
622 "MustBeCompletedBy (which indicates the required completion "
623 "time for the method), and a PropertiesToApply array (which "
624 "contains a list of the property names whose values will be "
625 "verified. If they array is null or empty or constains the "
626 "string \"all\" as a property name then all Settings "
627 "properties shall be verified. If it is set to \"none\" then "
628 "no Settings properties will be verified). The return value "
629 "should be 0 if it is OK to apply the Setting, 1 if the "
630 "method is not supported, 2 if the Setting cannot be applied "
631 karl 1.1 "within the specified times, and any other number if an "
632 "error occurred. One output parameter is defined - "
633 "CanNotApply - which is a string array that lists the keys "
634 "of the ManagedSystemElements to which the Setting can NOT "
635 "be applied. This enables those Elements to be revisited and "
636 "either fixed, or other corrective action taken. \n"
637 "In a subclass, the set of possible return codes could be "
638 "specified, using a ValueMap qualifier on the method. The "
639 "strings to which the ValueMap contents are 'translated' may "
640 "also be specified in the subclass as a Values array "
641 "qualifier.")]
642 uint32 VerifyOKToApplyIncrementalChangeToCollection (
643 [IN, Description (
644 "The Collection of Managed SystemElements for which the "
645 "setting is being verified.")]
646 CIM_CollectionOfMSEs REF Collection,
647 [IN, Description (
648 "TimeToApply can be either a specific time or a time "
649 "interval.")]
650 datetime TimeToApply,
651 [IN, Description (
652 karl 1.1 "The required completion time for the method.")]
653 datetime MustBeCompletedBy,
654 [IN, Description (
655 "A list of the property names whose values will be "
656 "verified.")]
657 string PropertiesToApply[],
658 [IN ( false ), OUT, Description (
659 "A string array that lists the keys of the "
660 "ManagedSystemElements to which the Setting can NOT be "
661 "applied.")]
662 string CanNotApply[]);
663
664 [Description (
665 "The ApplyIncrementalChangeToCollection method performs the "
666 "application of a subset of the properties in this Setting "
667 "to the referenced Collection of ManagedSystem Elements. The "
668 "net effect is to execute the ApplyIncrementalChangeToMSE "
669 "method against each of the Elements aggregated by the "
670 "Collection. If the input value ContinueOnError is FALSE, "
671 "this method applies the Setting to all Elements in the "
672 "Collection until it encounters an error, in which case it "
673 karl 1.1 "stops execution, logs the key of the Element that caused "
674 "the error in the CanNotApply array, and issues a return "
675 "code of 2. If the input value ContinueOnError is TRUE, then "
676 "this method applies the Setting to all the "
677 "ManagedSystemElements in the Collection, and reports the "
678 "failed Elements in the array, CanNotApply. For the latter, "
679 "processing will continue until the method is applied to all "
680 "Elements in the Collection, regardless of any errors "
681 "encountered. The key of each ManagedSystemElement to which "
682 "the Setting could not be applied is logged into the "
683 "CanNotApply array. This method takes four input parameters: "
684 "Collection (the Collection of Elements to which the Setting "
685 "is being applied), TimeToApply (which, being a datetime, "
686 "can be either a specific time or a time interval), "
687 "ContinueOnError (TRUE means to continue processing on "
688 "encountering an error), and MustBeCompletedBy (which "
689 "indicates the required completion time for the method), and "
690 "a PropertiesToApply array (which contains a list of the "
691 "property names whose values will be applied.) If a property "
692 "is not in this list, it will be ignored by the Apply. If "
693 "the array is null or empty or contains the string \"ALL\" "
694 karl 1.1 "as a property name, then all Settings properties shall be "
695 "applied. If it is set to \"NONE\", then no Settings "
696 "properties will be applied. \n"
697 "The return value should be 0 if the Setting is successfully "
698 "applied to the referenced Collection, 1 if the method is "
699 "not supported, 2 if the Setting was not applied within the "
700 "specified time, 3 if the Setting cannot be applied using "
701 "the input value for ContinueOnError, and any other number "
702 "if an error occurred. One output parameter is defined, "
703 "CanNotApplystring, which is an array that lists the keys of "
704 "the ManagedSystemElements to which the Setting was NOT able "
705 "to be applied. This output parameter has meaning only when "
706 "the ContinueOnError parameter is TRUE. \n"
707 "In a subclass, the set of possible return codes could be "
708 "specified, using a ValueMap qualifier on the method. The "
709 "strings to which the ValueMap contents are 'translated' may "
710 "also be specified in the subclass as a Values array "
711 "qualifier. \n"
712 "Note: if an error occurs in applying the Setting to a "
713 "ManagedSystemElement in the Collection, the Element must be "
714 "configured as when the 'Apply' attempt began. That is, the "
715 karl 1.1 "Element should NOT be left in an indeterminate state.")]
716 uint32 ApplyIncrementalChangeToCollection(
717 [IN, Description (
718 "The Collection of Elements to which the Setting is being "
719 "applied.")]
720 CIM_CollectionOfMSEs REF Collection,
721 [IN, Description (
722 "A specific time or a time interval.")]
723 datetime TimeToApply,
724 [IN, Description (
725 "TRUE means to continue processing on encountering an "
726 "error.")]
727 boolean ContinueOnError,
728 [IN, Description (
729 "This parameter indicates the required completion time "
730 "for the method.")]
731 datetime MustBeCompletedBy,
732 [IN, Description (
733 "A list of the property names whose values will be "
734 "verified.")]
735 string PropertiesToApply[],
736 karl 1.1 [IN ( false ), OUT, Description (
737 "A string array that lists the keys of the "
738 "ManagedSystemElements to which the Setting can NOT be "
739 "applied.")]
740 string CanNotApply[]);
741 };
742
743
744 // ===================================================================
745 // ElementSetting
746 // ===================================================================
747 [Association, Version ( "2.6.0" ), Description (
748 "ElementSetting represents the association between Managed "
749 "SystemElements and the Setting class(es) defined for them.")]
750 class CIM_ElementSetting {
751
752 [Key, Description (
753 "The ManagedSystemElement.")]
754 CIM_ManagedSystemElement REF Element;
755
756 [Key, Description (
757 karl 1.1 "The Setting object associated with the ManagedSystem "
758 "Element.")]
759 CIM_Setting REF Setting;
760 };
761
762
763 // ===================================================================
764 // DefaultSetting
765 // ===================================================================
766 [Association, Version ( "2.6.0" ), Description (
767 "DefaultSetting represents the association between a Managed "
768 "SystemElement and the single Setting class that is defined to "
769 "be the default setting for this Element.")]
770 class CIM_DefaultSetting : CIM_ElementSetting {
771
772 [Override ( "Setting" ), Max ( 1 ), Description (
773 "The Setting object which is the default.")]
774 CIM_Setting REF Setting;
775 };
776
777
778 karl 1.1 // ==================================================================
779 // CIM_SystemSetting
780 // ==================================================================
781 [Abstract, Version ( "2.6.0" ), Description (
782 "CIM_SystemSetting represents the general concept of a "
783 "CIM_Setting which is scoped by/weak to a System.")]
784 class CIM_SystemSetting : CIM_Setting {
785
786 [Key, Propagated ( "CIM_System.CreationClassName" ),
787 Description (
788 "The scoping System's CreationClassName."),
789 MaxLen ( 256 )]
790 string SystemCreationClassName;
791
792 [Key, Propagated ( "CIM_System.Name" ), Description (
793 "The scoping System's Name."),
794 MaxLen ( 256 )]
795 string SystemName;
796
797 [Key, Description (
798 "CreationClassName indicates the name of the class or the "
799 karl 1.1 "subclass used in the creation of an instance. When used "
800 "with the other key properties of this class, this property "
801 "allows all instances of this class and its subclasses to be "
802 "uniquely identified."),
803 MaxLen ( 256 )]
804 string CreationClassName;
805
806 [Key, Override ( "SettingID" ), MaxLen ( 256 )]
807 string SettingID;
808 };
809
810
811 // ==================================================================
812 // SettingForSystem
813 // ==================================================================
814 [Association, Version ( "2.8.0" ), Description (
815 "CIM_SettingForSystem defines a Setting in the context of the "
816 "System on which it resides.")]
817 class CIM_SettingForSystem : CIM_HostedDependency {
818
819 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
820 karl 1.1 "The hosting System.")]
821 CIM_System REF Antecedent;
822
823 [Override ( "Dependent" ), Weak, Description (
824 "The Setting defined for the System.")]
825 CIM_SystemSetting REF Dependent;
826 };
827
828
829 // ===================================================================
830 // Configuration
831 // ===================================================================
832 [Deprecated { "CIM_SettingData", "CIM_Setting" },
833 Version ( "2.8.1000" ), Description (
834 "The Configuration object allows the grouping of sets of "
835 "parameters (defined in Setting objects) and dependencies for "
836 "one or more ManagedSystemElements. It represents a certain "
837 "behavior, or a desired functional state for the ManagedSystem "
838 "Elements. The use of CIM_Configuration is deprecated in favor "
839 "of aggregating instances of Setting or SettingData into "
840 "'higher' level Settings/SettingData objects, using the "
841 karl 1.1 "ConcreteComponent association. This simplifies the use of "
842 "Settings/SettingData. With Configurations serving as "
843 "aggregations of Settings (as defined by the Configuration "
844 "Component relationship), separate associations were needed for "
845 "the aggregation and to tie an element to either its "
846 "Configurations or Settings/SettingData. This introduced "
847 "unnecessary complexity and redundancy into the model. \n"
848 "The desired functional state of the Configuration is typically "
849 "driven by external requirements such as time or location. For "
850 "example, to connect to a Mail System from 'home', a dependency "
851 "on a modem exists, but a dependency on a network adapter "
852 "exists at 'work'. Settings for the pertinent LogicalDevices "
853 "(in this example, POTSModem and NetworkAdapter) can be defined "
854 "and aggregated by the Configuration. Therefore, two 'Connect "
855 "to Mail' Configurations may be defined grouping the relevant "
856 "dependencies and Setting objects.")]
857 class CIM_Configuration : CIM_ManagedElement {
858
859 [Deprecated { "CIM_SettingData.InstanceID",
860 "CIM_Setting.SettingID" }, Key, Description (
861 "The label by which the Configuration object is known."),
862 karl 1.1 MaxLen ( 256 )]
863 string Name;
864 };
865
866
867 // ===================================================================
868 // ConfigurationComponent
869 // ===================================================================
870 [Association, Deprecated { "CIM_ConcreteComponent" }, Aggregation,
871 Version ( "2.8.1000" ), Description (
872 "ConfigurationComponent aggregates 'lower-level' Configuration "
873 "objects into a 'high-level' Configuration. This enables the "
874 "assembly of complex Configurations by grouping together "
875 "simpler ones. For example, a logon policy for the United "
876 "States could consist of two Configuration groups, one for the "
877 "east coast and one for the west coast. Each of these could in "
878 "turn consist of multiple Configurations to handle different "
879 "aspects of the logon process. \n"
880 "\n"
881 "The Configuration class is being deprecated in lieu of using a "
882 "ConcreteComponent relationship to indicate a hierarchy of "
883 karl 1.1 "instances of Setting/SettingData.")]
884 class CIM_ConfigurationComponent {
885 [Deprecated { "CIM_ConcreteComponent.GroupComponent" }, Key,
886 Aggregate, Description (
887 "The Configuration that aggregates additional "
888 "Configurations.")]
889 CIM_Configuration REF ConfigGroup;
890
891 [Deprecated { "CIM_ConcreteComponent.PartComponent" }, Key,
892 Description (
893 "A Configuration that is part of a 'higher-level' "
894 "Configuration.")]
895 CIM_Configuration REF ConfigComponent;
896 };
897
898
899 // ===================================================================
900 // ElementConfiguration
901 // ===================================================================
902 [Association, Deprecated { "CIM_ElementSettingData",
903 "CIM_ElementSetting" }, Version ( "2.8.1000" ), Description (
904 karl 1.1 "This association relates a Configuration object to one or more "
905 "ManagedSystemElements. The Configuration object represents a "
906 "certain behavior, or a desired functional state for the "
907 "associated ManagedSystemElements. \n"
908 "\n"
909 "The Configuration class is being deprecated in lieu of using a "
910 "ConcreteComponent relationship to indicate a hierarchy of "
911 "Setting/SettingData instances. This allows the re-use of the "
912 "element to Setting/SettingData associations, instead of "
913 "defining a peer association specifically for Configurations.")]
914 class CIM_ElementConfiguration {
915
916 [Deprecated { "CIM_ElementSettingData.ManagedElement",
917 "CIM_ElementSetting.Element" }, Key, Description (
918 "The ManagedSystemElement.")]
919 CIM_ManagedSystemElement REF Element;
920
921 [Deprecated { "CIM_ElementSettingData.SettingData",
922 "CIM_ElementSetting.Setting" }, Key, Description (
923 "The Configuration object that groups the Settings and "
924 "dependencies associated with the ManagedSystemElement.")]
925 karl 1.1 CIM_Configuration REF Configuration;
926 };
927
928
929 // ===================================================================
930 // CollectionConfiguration
931 // ===================================================================
932 [Association, Deprecated { "CIM_ElementSettingData",
933 "CIM_CollectionSetting" }, Version ( "2.8.1000" ), Description (
934 "This association relates a Configuration object to one or more "
935 "CollectionOfMSEs objects. The Configuration object represents "
936 "a certain behavior, or a desired functional state for the "
937 "associated Collection. \n"
938 "\n"
939 "The Configuration class is being deprecated in lieu of using a "
940 "ConcreteComponent relationship to indicate a hierarchy of "
941 "instances of Setting/SettingData. This allows the re-use of "
942 "the collection to Setting and element to SettingData "
943 "associations, instead of defining peer associations "
944 "specifically for Configurations.")]
945 class CIM_CollectionConfiguration {
946 karl 1.1
947 [Deprecated { "CIM_ElementSettingData.ManagedElement",
948 "CIM_CollectionSetting.Collection" }, Key, Description (
949 "The CollectionOfMSEs.")]
950 CIM_CollectionOfMSEs REF Collection;
951
952 [Deprecated { "CIM_ElementSettingData.SettingData",
953 "CIM_CollectionSetting.Setting" }, Key, Description (
954 "The Configuration object that groups the Settings and "
955 "dependencies associated with the Collection.")]
956 CIM_Configuration REF Configuration;
957 };
958
959 // ===================================================================
960 // DependencyContext
961 // ===================================================================
962 [Association, Deprecated { "No value" }, Aggregation,
963 Version ( "2.8.1000" ), Description (
964 "This relationship associates a Dependency with one or more "
965 "Configuration objects. For example, a ComputerSystem's "
966 "dependencies could change based on the site/network to which "
967 karl 1.1 "the System is attached. \n"
968 "\n"
969 "The Configuration class is being deprecated in lieu of using a "
970 "ConcreteComponent relationship to indicate a hierarchy of "
971 "Setting/SettingData instances. Therefore, this association is "
972 "also deprecated - but is deprecated to 'No value' since there "
973 "are no equivalent relationships currently defined for the "
974 "Setting or SettingData classes. This association is an anomaly "
975 "because it defines what cannot be expressed for the components "
976 "of the Configuration. Also, it singles out the Dependency "
977 "association as opposed to allowing any relationships to be "
978 "defined as 'settings'. Its use in the industry is discouraged.")]
979 class CIM_DependencyContext {
980
981 [Deprecated { "No value" }, Key, Aggregate, Description (
982 "The Configuration object that aggregates the Dependency.")]
983 CIM_Configuration REF Context;
984
985 [Deprecated { "No value" }, Key, Description (
986 "An aggregated Dependency.")]
987 CIM_Dependency REF Dependency;
988 karl 1.1 };
989
990 // ===================================================================
991 // SettingContext
992 // ===================================================================
993 [Association, Deprecated { "CIM_ConcreteComponent" }, Aggregation,
994 Version ( "2.8.1000" ), Description (
995 "This relationship associates Configuration objects with "
996 "Setting objects. For example, a NetworkAdapter's Settings "
997 "could change based on the site/network to which its hosting "
998 "ComputerSystem is attached. In this case, the ComputerSystem "
999 "would have two different Configuration objects, corresponding "
1000 "to the differences in network configuration for the two "
1001 "network segments. Configuration A would aggregate a Setting "
1002 "object for the NetworkAdapter when operating on segment "
1003 "\"ANet\", whereas Configuration B would aggregate a different "
1004 "NetworkAdapter Setting object, specific to segment \"BNet\". "
1005 "Note that many Settings of the computer are independent of the "
1006 "network Configuration. For example, both Configurations A and "
1007 "B would aggregate the same Setting object for the "
1008 "ComputerSystem's MonitorResolution. \n"
1009 karl 1.1 "\n"
1010 "The Configuration class is being deprecated in lieu of using a "
1011 "ConcreteComponent relationship to indicate a hierarchy of "
1012 "instances of Setting/SettingData. Therefore, the aggregation "
1013 "of Settings into Configurations is replaced by the Concrete "
1014 "Component relationship between instances of Settings and "
1015 "SettingData.")]
1016 class CIM_SettingContext {
1017
1018 [Deprecated { "CIM_ConcreteComponent.GroupComponent" }, Key,
1019 Aggregate, Description (
1020 "The Configuration object that aggregates the Setting.")]
1021 CIM_Configuration REF Context;
1022
1023 [Deprecated { "CIM_ConcreteComponent.PartComponent" }, Key,
1024 Description (
1025 "An aggregated Setting.")]
1026 CIM_Setting REF Setting;
1027 };
1028
1029 // ===================================================================
1030 karl 1.1 // CollectionSetting
1031 // ===================================================================
1032 [Association, Version ( "2.6.0" ), Description (
1033 "CollectionSetting represents the association between a "
1034 "CollectionOfMSEs class and the Setting class(es) defined for "
1035 "them.")]
1036 class CIM_CollectionSetting {
1037
1038 [Key, Description (
1039 "The CollectionOfMSEs.")]
1040 CIM_CollectionOfMSEs REF Collection;
1041
1042 [Key, Description (
1043 "The Setting object associated with the Collection.")]
1044 CIM_Setting REF Setting;
1045 };
1046
1047
1048 // ==================================================================
1049 // SystemConfiguration
1050 // ==================================================================
1051 karl 1.1 [Deprecated { "CIM_ScopedSettingData", "CIM_SystemSetting" },
1052 Version ( "2.8.1000" ), Description (
1053 "CIM_SystemConfiguration represents the general concept of a "
1054 "CIM_Configuration which is scoped by/weak to a System. This "
1055 "class is a peer of CIM_Configuration since the key structure "
1056 "of Configuration is currently defined and cannot be modified "
1057 "with additional properties. \n"
1058 "Similar to the deprecation of CIM_Configuration, this peer "
1059 "class is also deprecated in favor of aggregating instances of "
1060 "Setting or SettingData into 'higher' level Settings/ "
1061 "SettingData objects, using the ConcreteComponent association.")]
1062 class CIM_SystemConfiguration : CIM_ManagedElement {
1063
1064 [Deprecated { "CIM_SystemSetting.SystemCreationClassName" }, Key,
1065 Propagated ( "CIM_System.CreationClassName" ), Description (
1066 "The scoping System's CreationClassName."),
1067 MaxLen ( 256 )]
1068 string SystemCreationClassName;
1069
1070 [Deprecated { "CIM_SystemSetting.SystemName" }, Key,
1071 Propagated ( "CIM_System.Name" ), Description (
1072 karl 1.1 "The scoping System's Name."),
1073 MaxLen ( 256 )]
1074 string SystemName;
1075
1076 [Deprecated { "CIM_SystemSetting.CreationClassName" },
1077 Key, Description (
1078 "CreationClassName indicates the name of the class or the "
1079 "subclass used in the creation of an instance. When used "
1080 "with the other key properties of this class, this property "
1081 "allows all instances of this class and its subclasses to be "
1082 "uniquely identified."),
1083 MaxLen ( 256 )]
1084 string CreationClassName;
1085
1086 [Deprecated { "CIM_ScopedSettingData.InstanceID",
1087 "CIM_SystemSetting.SettingID" }, Key, Description (
1088 "The label by which the Configuration object is known."),
1089 MaxLen ( 256 )]
1090 string Name;
1091 };
1092
1093 karl 1.1 // ==================================================================
1094 // ConfigurationForSystem
1095 // ==================================================================
1096 [Association, Deprecated { "CIM_ScopedSetting",
1097 "CIM_SettingForSystem" }, Version ( "2.8.1000" ), Description (
1098 "CIM_ConfigurationForSystem defines a Configuration in the "
1099 "context of the System on which it resides. Since the "
1100 "Configuration class is deprecated, this association is "
1101 "similarly deprecated.")]
1102 class CIM_ConfigurationForSystem : CIM_HostedDependency {
1103
1104 [Deprecated { "CIM_ScopedSetting.Antecedent",
1105 "CIM_SettingForSystem.Antecedent" },
1106 Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
1107 "The hosting System.")]
1108 CIM_System REF Antecedent;
1109
1110 [Deprecated { "CIM_ScopedSetting.Dependent",
1111 "CIM_SettingForSystem.Dependent" }, Override ( "Dependent" ),
1112 Weak, Description (
1113 "The Configuration defined for the System.")]
1114 karl 1.1 CIM_SystemConfiguration REF Dependent;
1115 };
1116
1117 // ==================================================================
1118 // SystemSettingContext
1119 // ==================================================================
1120 [Association, Deprecated { "CIM_ConcreteComponent" }, Aggregation,
1121 Version ( "2.8.1000" ), Description (
1122 "This relationship associates System-specific Configuration "
1123 "objects with System-specific Setting objects, similar to the "
1124 "SettingContext association. \n"
1125 "\n"
1126 "The Configuration and SystemConfiguration classes are "
1127 "deprecated in lieu of using a ConcreteComponent relationship "
1128 "to indicate a hierarchy of Settings/SettingData instances. "
1129 "Therefore, the aggregation of SystemSettings into System "
1130 "Configurations is replaced by the ConcreteComponent "
1131 "relationship between instances of Settings and SettingData.")]
1132 class CIM_SystemSettingContext {
1133
1134 [Deprecated { "CIM_ConcreteComponent.GroupComponent" }, Key,
1135 karl 1.1 Aggregate, Description (
1136 "The Configuration object that aggregates the Setting.")]
1137 CIM_SystemConfiguration REF Context;
1138
1139 [Deprecated { "CIM_ConcreteComponent.PartComponent" }, Key,
1140 Description (
1141 "An aggregated Setting.")]
1142 CIM_SystemSetting REF Setting;
1143 };
1144
1145 // ==================================================================
1146 // ConfigurationData
1147 // ==================================================================
1148 [Experimental, Version ( "2.8.1000" ), Description (
1149 "Captures an element's configuration information as an octet "
1150 "string (i.e., a 'blob'). The configuration data is "
1151 "element-specific and generalizes (for any element) the "
1152 "semantically similar 'Save/RestoreProperties' methods "
1153 "currently defined as part of the LogicalDevice class. \n"
1154 "\n"
1155 "Various types of configurations MAY be instantiated for an "
1156 karl 1.1 "element - a currently running config, a startup config, and/or "
1157 "other 'possible' configurations. The configuration's type is "
1158 "specified in the association of the instance to a "
1159 "ManagedElement, using the properties of the ElementSettingData "
1160 "association: \n"
1161 "- When the configuration is currently running, then the "
1162 "association's IsCurrent boolean is TRUE. \n"
1163 "- When the configuration is the initial/startup config, then "
1164 "the association's IsDefault boolean is TRUE. \n"
1165 "- If the IsCurrent and IsDefault booleans are FALSE, then the "
1166 "configuration is assumed to be a 'possible' config "
1167 "(configuration workspace) for the element. \n"
1168 "\n"
1169 "Note that this class only has an 'apply' method with no "
1170 "corresponding 'extract'. This is because an application/client "
1171 "can query for and enumerate any existing configurations using "
1172 "existing CIM Operations. It is the responsibility of the "
1173 "client to reuse/reapply the configurations that are returned "
1174 "by such a request - since the configuration data itself is "
1175 "opaque and element-specific. \n"
1176 "\n"
1177 karl 1.1 "Note that there exists at most one 'running' configuration, at "
1178 "any time. And, this may be the only configuration reported by "
1179 "an element. However, elements MAY also have one 'startup' "
1180 "configuration and MAY have multiple 'possible'/workspace "
1181 "configurations. The configurations MAY be identical. For "
1182 "example, if a 'possible' configuration is applied to an "
1183 "element (and therefore made the 'running/current' "
1184 "configuration), then the two configs would be identical upon a "
1185 "subsequent query or enumerate instances request.")]
1186 class CIM_ConfigurationData : CIM_SettingData {
1187
1188 [Required, Description (
1189 "The configuration information stored as an octet string."),
1190 OctetString]
1191 uint8 ConfigurationInformation[];
1192
1193 [Required, Description (
1194 "The datetime when the configuration information was "
1195 "obtained.")]
1196 datetime ConfigurationTimestamp;
1197
1198 karl 1.1 [Description (
1199 "This method processes the configuration data for an "
1200 "element. In this case, the data in the instance's "
1201 "ConfigurationInformation property is validated for the "
1202 "specified element (if the ValidateOnly parameter is TRUE), "
1203 "or actually set as a configuration on the element. If the "
1204 "method is successful, then the appropriate "
1205 "ElementSettingData associations are created or modified. "
1206 "Note that it is not necessary for the element to be "
1207 "associated with the ConfigurationData instance at the time "
1208 "that this method is called."),
1209 ValueMap { "0", "1", "2", "3", "4", "5", "6..15999", "16000",
1210 "16001", "16002", "16003", "16004", "16005", "16006..32767",
1211 "32768..65535" },
1212 Values { "Success", "Not Supported", "Unknown", "Timeout",
1213 "Failed", "Invalid Parameter", "DMTF Reserved",
1214 "Validate Only Request Not Supported",
1215 "Configuration Data Would Not Validate",
1216 "Element Does Not Support Initial/Default Configs",
1217 "Element Does Not Support Possible Configs/Config "
1218 "Workspaces",
1219 karl 1.1 "Element Does Not Support Setting of the Running/Current "
1220 "Config", "Element Would Not Accept Configuration",
1221 "Method Reserved", "Vendor Specific" }]
1222 uint32 ApplyConfiguration (
1223
1224 [IN, Description (
1225 "Indicates that the request is to validate the format and "
1226 "syntax of the configuration data, but not apply it to "
1227 "the referenced ManagedElement.")]
1228 boolean ValidateOnly,
1229
1230 [IN, Description (
1231 "The type of configuration information, indicating "
1232 "whether the ConfigurationInformation property holds an "
1233 "initial/default configuration, a running/current "
1234 "configuration, or a configuration for a 'temporary'/ "
1235 "possible workspace. This information affects the values "
1236 "of the IsDefault and IsCurrent properties of the "
1237 "association, ElementSettingData."),
1238 ValueMap { "2", "3", "4" },
1239 Values { "Running/Current Configuration",
1240 karl 1.1 "Initial/Default Configuration",
1241 "Possible Configuration/Config Workspace" }]
1242 uint16 TypeOfConfiguration,
1243
1244 [Required, IN, Description (
1245 "A reference to the ManagedElement whose configuration "
1246 "data is validated or applied. This reference is "
1247 "necessary since a configuration could apply to multiple "
1248 "elements simultaneously, but this processing request is "
1249 "more restrictive.")]
1250 CIM_ManagedElement REF ManagedElement);
1251 };
1252
1253 // ===================================================================
1254 // CIM_TimeZoneSettingData
1255 // ===================================================================
1256 [Experimental, Version ( "2.8.1000" ), Description (
1257 "The TimeZone class is a set of properties defining a "
1258 "particular time zone. These properties include the concept of "
1259 "daylight saving time. \n"
1260 "If time zone is implemented, then there MUST be a current "
1261 karl 1.1 "zone, as indicated using the IsCurrent property of the "
1262 "inherited ElementSettingData association. This class allows an "
1263 "application/client to pick the time zone that will be used for "
1264 "any related ManagedElements. The latter are defined by the "
1265 "Element SettingData association, based on the association's "
1266 "IsCurrent/ IsDefault properties. There SHOULD be an instance "
1267 "of TimeZoneSettingData for each zone supported by an element. "
1268 "\n\n"
1269 "If this class is implemented, then TimeService MUST also be "
1270 "implemented and available for a particular ManagedElement. "
1271 "Both together define the date and time. If the "
1272 "ElementSettingData instance associating the ManagedElement has "
1273 "the IsCurrent property set to TRUE, then the TimeData "
1274 "parameter returned by the ManageTime method MUST reflect this "
1275 "zone when time data is requested.")]
1276 class CIM_TimeZoneSettingData : CIM_SettingData {
1277
1278 [Description (
1279 "Full name of the 'standard' time zone (e.g., \"U.S. Eastern "
1280 "Standard Time\"), suitable for presentation to the user in "
1281 "the default locale.")]
1282 karl 1.1 string StandardName;
1283
1284 [Description (
1285 "Short name of the 'standard' time zone (e.g., \"EST\"), "
1286 "suitable for presentation to the user in the default "
1287 "locale. Note that a specific StandardCaption property is "
1288 "defined, instead of using the inherited Caption. This is "
1289 "done to force consistent property naming for the "
1290 "StandardXXX and DaylightXXX properties.")]
1291 string StandardCaption;
1292
1293 [Description (
1294 "The number of minutes by which this 'standard' time differs "
1295 "from UTC. For example, U.S. EST differs from UTC by -5.0 "
1296 "hours or -300 minutes, whereas Australia Adelaide Standard "
1297 "Time differs by 9.5 hours or 570 minutes."),
1298 Units ( "Minutes" )]
1299 sint32 StandardOffset;
1300
1301 [Description (
1302 "The month in which daylight saving time ends (and "
1303 karl 1.1 "'standard' time begins). Specify 0 for January, 1 for "
1304 "February, and so on."),
1305 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1306 "10", "11" },
1307 Values { "January", "February", "March", "April", "May", "June",
1308 "July", "August", "September", "October", "November",
1309 "December" }]
1310 uint8 StandardMonth;
1311
1312 [Description (
1313 "There are two different interpretations for this property, "
1314 "depending on the value of StandardDayOfWeek. In one case, "
1315 "StandardDay defines the day-in-month on which daylight "
1316 "saving time ends. This interpretation is used when the "
1317 "StandardDayOfWeek is 0. A positive or negative integer is "
1318 "specified to indicate whether the StandardDay is calculated "
1319 "from the beginning or the end of the month. For example, 5 "
1320 "indicates the fifth day in the StandardMonth and -1 "
1321 "indicates the last day in the StandardMonth. \n"
1322 "\n"
1323 "When StandardDayOfWeek is not 0, StandardDay is the day- "
1324 karl 1.1 "in-month on which daylight saving time ends, defined in "
1325 "conjunction with StandardDayOfWeek. For example, if "
1326 "StandardDay is 15 and StandardDayOfWeek is Saturday, then "
1327 "daylight saving time ends on the first Saturday on or after "
1328 "the 15th day in the StandardMonth (i.e., the third Saturday "
1329 "in the month). If StandardDay is 20 and StandardDayOfWeek "
1330 "is -Saturday, then this indicates the first Saturday on or "
1331 "before the 20th day in the StandardMonth. If StandardDay is "
1332 "-1 and StandardDayOfWeek is -Sunday, then this indicates "
1333 "the last Sunday in the StandardMonth."),
1334 MinValue ( -31 ), MaxValue ( 31 )]
1335 sint8 StandardDay;
1336
1337 [Description (
1338 "Positive or negative integer used in conjunction with "
1339 "StandardDay to indicate the day of the week on which "
1340 "daylight saving time ends (and 'standard' time begins). "
1341 "StandardDayOfWeek is set to 0 to indicate an exact day of "
1342 "the month, such as March 1. A positive integer "
1343 "(representing Sunday, Monday, ..., Saturday) means that the "
1344 "day of week is found on or after the specified StandardDay. "
1345 karl 1.1 "A negative integer (representing -Sunday, -Monday, ..., "
1346 "-Saturday) means that the day of week is found on or before "
1347 "the StandardDay."),
1348 ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1",
1349 "2", "3", "4", "5", "6", "7" },
1350 Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday",
1351 "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
1352 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
1353 "Friday", "Saturday" }]
1354 sint8 StandardDayOfWeek;
1355
1356 [Description (
1357 "The time interval after midnight when daylight saving time "
1358 "ends. For example, \n"
1359 "00000000020000.000000:000 \n"
1360 "indicates that daylight saving time ends at two o'clock, "
1361 "local time (usually, daylight saving time).")]
1362 datetime StandardStartInterval;
1363
1364 [Description (
1365 "Full name of the 'daylight' time zone (e.g., \"U.S. Eastern "
1366 karl 1.1 "Daylight Saving Time\"), suitable for presentation to the "
1367 "user in the default locale.")]
1368 string DaylightName;
1369
1370 [Description (
1371 "Short name of the 'daylight' time zone (e.g., \"EDT\"), "
1372 "suitable for presentation to the user in the default "
1373 "locale. Note that a specific DaylightCaption property is "
1374 "defined, instead of using the inherited Caption. This is "
1375 "done to force consistent property naming for the "
1376 "StandardXXX and DaylightXXX properties.")]
1377 string DaylightCaption;
1378
1379 [Description (
1380 "The number of minutes by which this daylight saving time "
1381 "differs from UTC. For example, U.S. EDT differs from UTC by "
1382 "-4.0 hours or -240 minutes, whereas Australia Adelaide "
1383 "Daylight Time differs by 10.5 hours or 630 minutes."),
1384 Units ( "Minutes" )]
1385 sint32 DaylightOffset;
1386
1387 karl 1.1 [Description (
1388 "The month in which daylight saving time starts. Specify 0 "
1389 "for January, 1 for February, and so on."),
1390 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1391 "10", "11" },
1392 Values { "January", "February", "March", "April", "May", "June",
1393 "July", "August", "September", "October", "November",
1394 "December" }]
1395 uint8 DaylightMonth;
1396
1397 [Description (
1398 "There are two different interpretations for this property, "
1399 "depending on the value of DaylightDayOfWeek. In one case, "
1400 "DaylightDay defines the day-in-month on which daylight "
1401 "saving time starts. This interpretation is used when the "
1402 "DaylightDayOfWeek is 0. A positive or negative integer is "
1403 "specified to indicate whether the DaylightDay is calculated "
1404 "from the beginning or the end of the month. For example, 5 "
1405 "indicates the fifth day in the DaylightMonth and -1 "
1406 "indicates the last day in the DaylightMonth. \n"
1407 "\n"
1408 karl 1.1 "When DaylightDayOfWeek is not 0, DaylightDay is the day- "
1409 "in-month on which daylight saving time starts, defined in "
1410 "conjunction with DaylightDayOfWeek. For example, if "
1411 "DaylightDay is 15 and DaylightDayOfWeek is Saturday, then "
1412 "daylight saving time starts on the first Saturday on or "
1413 "after the 15th day in the DaylightMonth (i.e., the third "
1414 "Saturday in the month). If DaylightDay is 20 and "
1415 "DaylightDayOfWeek is -Saturday, then this indicates the "
1416 "first Saturday on or before the 20th day in the "
1417 "DaylightMonth. If DaylightDay is -1 and DaylightDayOfWeek "
1418 "is -Sunday, then this indicates the last Sunday in the "
1419 "month."),
1420 MinValue ( -31 ), MaxValue ( 31 )]
1421 sint8 DaylightDay;
1422
1423 [Description (
1424 "Positive or negative integer used in conjunction with "
1425 "DaylightDay to indicate the day of the week on which "
1426 "daylight saving time starts. Set DaylightDayOfWeek to 0 to "
1427 "indicate an exact day of month, such as March 1. Positive "
1428 "integer (Sunday, Monday, ..., Saturday) means that the day "
1429 karl 1.1 "of week is found on or after DaylightDay. Negative integer "
1430 "(-Sunday, -Monday, ..., -Saturday) means that the day of "
1431 "week is found on or before DaylightDay."),
1432 ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1",
1433 "2", "3", "4", "5", "6", "7" },
1434 Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday",
1435 "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
1436 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
1437 "Friday", "Saturday" }]
1438 sint8 DaylightDayOfWeek;
1439
1440 [Description (
1441 "The time interval after midnight when daylight saving time "
1442 "starts. For example, \n"
1443 "00000000020000.000000:000 \n"
1444 "indicates that daylight saving time starts at two o'clock, "
1445 "local time (usually, standard time).")]
1446 datetime DaylightStartInterval;
1447
1448 };
1449
1450 karl 1.1 // ===================================================================
1451 // end of file
1452 // ===================================================================
|