1 mike 1.2 // ===================================================================
2 // Title: Core MOF specification 2.6
3 // Filename: CIM_Core26.mof
4 // Version: 2.6
5 // Release: 0
6 // Date: 06/12/2001
7 // ===================================================================
8 // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release cited should always be noted.
17 // ===================================================================
18 // Description: The object classes below are listed in an order that
19 // avoids forward references. Required objects, defined
20 // by other working groups, are omitted.
21 // ==================================================================
22 mike 1.2 // Author: DMTF System and Devices Working Group
23 // ==================================================================
24 // 06/16/1998 - V2.0 Errata
25 // - CR224, CIM_ missed in 3 class names
26 // CIM_ProductPhysicalElements, CIM_FRUPhysicalElements
27 // and CIM_FRUIncludesProduct
28 // - CR231, Format for specifying Propagated keys uses
29 // period, not colon
30 // 09/29/1998 - Version 2.1
31 // - CR238, Add CompatibleProduct association
32 // - CR239, Add ProductProductDependency association
33 // - CR240, Add statistics-related objects
34 // CIM_StatisticalInformation, CIM_Statistics and
35 // CIM_RelatedStatistics
36 // - CR241, Remove "general" from the description of the
37 // compute capabilities of ComputerSystem
38 // - CR242a, Add to the enumeration for MSE.Status
39 // - CR249, Add LastErrorCode, ErrorDescription and
40 // ErrorCleared properties to LogicalDevice
41 // - CR250, Add CreationClassName (key) to PhysicalElement
42 // - CR252, Add OtherIdentifyingInfo and PoweredOn properties
43 mike 1.2 // to PhysicalElement
44 // - CR270, Correct the descriptions for Product and FRU
45 // - CR272, Remove repetition of the Values array from the
46 // descriptions of several properties
47 // - CR276b, Add to the enumeration for LogicalDevice.
48 // Availability
49 // - CR282, Add PartNumber property to PhysicalElement
50 // 06/08/1999 - Version 2.2
51 // - CR291a, Write qualifier "False" by default
52 // - CR295a, Clarify Descriptions for CIM_Product and its
53 // property, IdentifyingNumber
54 // - CR300a, Enhance Description for CIM_SettingContext
55 // - CR304, Create the NullValue qualifier
56 // - CR305, Add DisableOverride flavor to In, Out, Override
57 // - CR306, Add DisableOverride flavor to Aggregation
58 // (Already present in V2.1, Spec change only)
59 // - CR307b, Allow ArrayType, MaxLen, Units, ValueMap, Values,
60 // Syntax and SyntaxType qualifiers to pertain to methods
61 // and method parameters
62 // - CR308a, Add LogicalIdentity association
63 // - CR309, Remove Min(1) from ManagedSystemElement
64 mike 1.2 // reference of ElementSetting
65 // - CR315, Create ProvidesServiceToElement association
66 // - CR317, Create DefaultSetting association
67 // - CR320, Add UnknownValues and UnsupportedValues qualifiers
68 // - CR321, Create ConfigurationComponent association
69 // - CR322b and 323a, Add 4 methods to 'apply' CIM_Settings
70 // - CR324a, Add CollectionOfMSE object and its associations
71 // - CR352b, New statuses in ManagedSystemElement.Status
72 // (NonRecover and Stressed added)
73 // - CR353b, Add EnableDevice method to LogicalDevice
74 // - CR355a, Use Values-ValueMap qualifiers for the PowerState
75 // parameter of LogicaDevice.SetPowerState / Update
76 // the method descriptions indicating that Values-
77 // ValueMap qualifiers can be defined for return codes
78 // - CR356a, Put keys on the references of Dependency,
79 // Component, and all of the non-subclassed Setting,
80 // Configuration, Product and Collection associations
81 // - CR359, Clarify PhysicalElement.Manufacturer and
82 // Product.Vendor
83 // - CR361a, Add Terminal and DisplayName qualifiers
84 // - CR362a, Add 3 properties to ComputerSystem (Dedicated,
85 mike 1.2 // OtherIdentifyingInfo and IdentifyingDescriptions) /
86 // Update the Description for System.Roles
87 // - CR376, Add OtherIdentifyingInfo and
88 // IdentifyingDescriptions properties to LogicalDevice
89 // - CR387, Add PowerOnHours and TotalPowerOnHours properties
90 // to LogicalDevice / Update the Availability enum
91 // - CR389, Add MinValue and MaxValue qualifiers
92 // - CR390a, Create subclasses of StatisticalInformation
93 // to formalize naming
94 // - CR391b, 400a and 401b, Add Counter, Gauge, BitMap,
95 // BitValue and Static qualifiers / Update MinValue
96 // and MaxValue to apply to methods and parameters
97 // - CR396d, Add NonlocalType and SourceType qualifiers
98 // - CR404a, Add ServiceComponent association
99 // - CR405, Add Counter qualifier to PowerOnHours and
100 // and TotalPowerOnHours properties of LogicalDevice
101 // - CR411, Add Provider qualifier
102 // - CR413, Fix propagation of keys from 390a
103 // 07/06/1999 - Version 2.2.1
104 // - CR423, Locale should be specified as en_US
105 // - CR425, Update the DMI MappingStrings using the June
106 mike 1.2 // release of the master.mif
107 // Date 02/18/2000 - Version 2.3
108 // - CR433, New properties and enums from Master.MIF
109 // and new ModelCorrespondences
110 // - CR444, Add the RestartService property to the
111 // CIM_ServiceServiceDependency association in the
112 // core mof to support diagnostics.
113 // - CR445e Modify the LogicalDevice for Fault Tolerance:
114 // Update the Availability property, add an AdditionalAvailability
115 // property, change the description for the StatusInfo property
116 // add new methods, and add a MaxQuiesceTime property
117 // - CR446c add Octetstring Qualifier
118 // - CR448b Add ManagedElement, Collection and MemberOfCollection Classes,
119 // update ManagedSystemElement and Dependency classes accordingly
120 // - CR456 Add "Management" to the end of the Values array for
121 // CIM_ComputerSystem.Dedicated
122 // - CR458c Add a new association, CIM_Synchronized
123 // - CR461 Subclass from CIM_ManagedElement, CIM_Collection and
124 // CIM_MemberOfCollection.
125 // Remove Description & Caption from the above classes, where exist.
126 // - CR462 Update the Description for ManagedElement, Add qualifier in
127 mike 1.2 // MemberOfCollection
128 // Date 06/04/2000 - Version 2.3.2
129 // - Errata, Changes in CR448b not complete / Missing delete of
130 // Caption and Description properties where inherited from
131 // CIM_ManagedElement for CIM_CollectionOfMSEs
132 // Date 06/09/2000 - Version 2.4
133 // - CR481 Change the CIM_Statistics association to reference ManagedElement,
134 // not just ManagedSystemElement.
135 // - CR491a Add to new values to the enumeration for
136 // ManagedSystemElement.Status and update the property's Description.
137 // Date 07/14/2000 Version 2.4
138 // - CR505
139 // 1. Clarify the subclassing of ServiceServiceDependency
140 // 2. ProvidesServiceToElement needs to come before
141 // ServiceServiceDependency in MOF
142 // 3. Update the Description for CollectionOfMSEs to include 'bags'
143 // - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in
144 // CIM_LogicalDevice.Availability
145 // Date 12/01/2000 Version 2.5
146 // - CR514j Add Deprecated qualifier
147 // - CR529 CIM_LogicalDisk.StatusInfo property description refers to it as
148 mike 1.2 // a string even though the property is a uint16
149 // - CR532 Update description on PhysicalElement.OtherIdentifyingInfo
150 // to remove word "asset"
151 // - CR534 Update MappingStrings Qualifiers to stay in sync with
152 // updates to the MASTER.MIF.
153 // - CR536a Add EXPERIMENTAL Qualifier
154 // - CR537a Add Stopped as a valid state in the enumeration for
155 // ManagedSystemElement.Status.
156 // - CR544a Add DN qualifier
157 // - CR447e Add PropertyUsage qualifier
158 // - CR548a Add a methods to CIM_Setting to allow a subset of the
159 // properties in the CIM_Setting instance to be verified
160 // and/or applied
161 // - CR557 Change the reference for ProvidesServiceToElement.
162 // Dependent to ME (was MSE)
163 // - CR564 Move AdminDomain to the Core Model, change to concrete,
164 // and update description
165 // - CR568a Corrections to CIM_CollectionOfMSEs Description
166 // - CR569 Add EmbeddedObject qualifier
167 // - CR581 Revise the description of CIM_AdminDomain.NameFormat
168 // to alter reference to Network model
169 mike 1.2 // - CR585 Company review Changes from Compaq
170 // 1) Remove word "schema" from qualifier scope declarations
171 // per CIM_Spec_Errat221
172 // Date 05/20/2001 Version 2.5 Final
173 // Changed format of classes to be consistent.
174 // Date 05/24/2001 Version 2.6
175 // - CR583d - Moved the following properties and methods from
176 // UnitaryComputerSystem to ComputerSystem:
177 // ResetCapability, PowerManagementCapabilites, and
178 // SetPowerState.
179 // - CR587 - Add boolean CustomerReplaceable to the FRU class.
180 // - CR588 - Add new ReplaceableProductFRU association
181 // - CR608 - Correct the mapping strings associated with
182 // System.PrimaryOwnerName and System.Primary OwnerContact
183 // properties.
184 // - CR609 - Add SetPowerStateWithOptions method to Computer
185 // System
186 // ==================================================================
187
188 // ==================================================================
189 // Pragmas
190 mike 1.2 // ==================================================================
191 #pragma locale ("en_US")
192
193 // ==================================================================
194 // Qualifiers
195 // ==================================================================
196 Qualifier Abstract : boolean = false, Scope(class, association,
197 indication), Flavor(DisableOverride, Restricted);
198 Qualifier Aggregate: boolean = false, Scope (reference),
199 Flavor(DisableOverride);
200 Qualifier Aggregation : boolean = false, Scope(association),
201 Flavor(DisableOverride);
202 Qualifier Alias : string = null, Scope(property, reference,
203 method), Flavor(Translatable);
204 Qualifier ArrayType : string = "Bag", Scope(property, parameter);
205 Qualifier Association : boolean = false, Scope(class, association),
206 Flavor(DisableOverride);
207 Qualifier BitMap : string[], Scope(property, method, parameter);
208 Qualifier BitValues : string[], Scope(property, method,
209 parameter), Flavor(Translatable);
210 Qualifier Counter : boolean = false, Scope(property, method,
211 mike 1.2 parameter);
212 Qualifier Delete : boolean = false, Scope(association, reference);
213 Qualifier Deprecated : string [], Scope(class, association, property, method);
214 Qualifier Description : string = null, Scope(any),
215 Flavor(Translatable);
216 Qualifier DisplayName : string = null, Scope(any),
217 Flavor(Translatable);
218 Qualifier DN : boolean=false,
219 Scope(property, parameter), Flavor(DisableOverride);
220 Qualifier EmbeddedObject : boolean = false, Scope(property);
221 Qualifier Expensive : boolean = false,
222 Scope(property, reference, method, class, association);
223 Qualifier Experimental : boolean = false,
224 Scope(any), Flavor (DisableOverride);
225 Qualifier Gauge : boolean = false, Scope(property, method,
226 parameter);
227 Qualifier Ifdeleted : boolean = false, Scope(association,
228 reference);
229 Qualifier In : boolean = true, Scope(parameter),
230 Flavor(DisableOverride);
231 Qualifier Indication : boolean = false, Scope(class, indication),
232 mike 1.2 Flavor(DisableOverride);
233 Qualifier Invisible : boolean = false,
234 Scope(reference, association, class, property, method);
235 Qualifier Key : boolean = false, Scope(property, reference),
236 Flavor(DisableOverride);
237 Qualifier Large : boolean = false, Scope(property, class);
238 Qualifier MappingStrings : string[],
239 Scope(class, property, association, indication, reference);
240 Qualifier Max : uint32 = null, Scope(reference);
241 Qualifier MaxLen : uint32 = null, Scope(property, method,
242 parameter);
243 Qualifier MaxValue : sint64 = null, Scope(property, method,
244 parameter);
245 Qualifier Min : uint32 = 0, Scope(reference);
246 Qualifier MinValue : sint64 = null, Scope(property, method,
247 parameter);
248 Qualifier ModelCorrespondence : string[], Scope(property);
249 Qualifier Nonlocal : string = null, Scope(reference);
250 Qualifier NonlocalType : string = null, Scope(reference);
251 Qualifier NullValue : string = null, Scope (property),
252 Flavor(DisableOverride);
253 mike 1.2 Qualifier Octetstring : boolean = false, Scope(property, parameter);
254 Qualifier Out : boolean = false, Scope(parameter),
255 Flavor(DisableOverride);
256 Qualifier Override : string = null, Scope(property, method,
257 reference), Flavor(DisableOverride);
258 Qualifier Propagated : string = null, Scope(property),
259 Flavor(DisableOverride);
260 Qualifier PropertyUsage : string = "CurrentContext", Scope(property) ;
261 Qualifier Provider : string = null, Scope(any);
262 Qualifier Read : boolean = true, Scope(property);
263 Qualifier Required : boolean = false, Scope(property);
264 Qualifier Revision : string = ".5", Scope(class,
265 association, indication ), Flavor(Translatable);
266 Qualifier Schema : string = null, Scope (property, method),
267 Flavor(DisableOverride, Translatable);
268 Qualifier Source : string = null, Scope(class, association,
269 indication);
270 Qualifier SourceType : string = null, Scope(class, association,
271 indication, reference);
272 Qualifier Static : boolean = false, Scope(method, property),
273 Flavor(DisableOverride);
274 mike 1.2 Qualifier Syntax : string = null, Scope(property, reference,
275 method, parameter);
276 Qualifier SyntaxType : string = null, Scope(property, reference,
277 method, parameter);
278 Qualifier Terminal : boolean = FALSE, Scope(class);
279 Qualifier TriggerType : string = null,
280 Scope(class, property, reference, method, association,
281 indication);
282 Qualifier Units : string = null, Scope(property, method,
283 parameter), Flavor(Translatable);
284 Qualifier UnknownValues : string[], Scope(property),
285 Flavor(DisableOverride);
286 Qualifier UnsupportedValues : string[], Scope(property),
287 Flavor(DisableOverride);
288 Qualifier ValueMap : string[], Scope(property, method, parameter);
289 Qualifier Values : string[], Scope(property, method, parameter),
290 Flavor(Translatable);
291 Qualifier Version : string = "V2.5", Scope(class,
292 association, indication), Flavor(Translatable);
293 Qualifier Weak : boolean = false, Scope(reference),
294 Flavor(DisableOverride, ToSubclass);
295 mike 1.2 Qualifier Write : boolean = false, Scope(property);
296
297 // ==================================================================
298 //
299 // Elements and Collections
300 //
301 // ==================================================================
302 // ==================================================================
303 // ManagedElement
304 // ==================================================================
305 [Abstract, Description (
306 "ManagedElement is an abstract class that provides a common "
307 "superclass (or top of the inheritance tree) for the "
308 "non-association classes in the CIM Schema.")]
309 class CIM_ManagedElement {
310 [MaxLen (64), Description (
311 "The Caption property is a short textual description (one-"
312 "line string) of the object.") ]
313 string Caption;
314 [Description (
315 "The Description property provides a textual description of "
316 mike 1.2 "the object.") ]
317 string Description;
318 };
319
320
321 // ==================================================================
322 // ManagedSystemElement
323 // ==================================================================
324 [Abstract, Description (
325 "CIM_ManagedSystemElement is the base class for the System "
326 "Element hierarchy. Membership Criteria: Any distinguishable "
327 "component of a System is a candidate for inclusion in this "
328 "class. Examples: software components, such as files; and "
329 "devices, such as disk drives and controllers, and physical "
330 "components such as chips and cards.") ]
331 class CIM_ManagedSystemElement : CIM_ManagedElement {
332 [Description (
333 "A datetime value indicating when the object was installed. "
334 "A lack of a value does not indicate that the object is not "
335 "installed."),
336 MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
337 mike 1.2 datetime InstallDate;
338 [MaxLen (256), Description (
339 "The Name property defines the label by which the object is "
340 "known. When subclassed, the Name property can be overridden "
341 "to be a Key property.") ]
342 string Name;
343 [MaxLen (10), Description (
344 " A string indicating the current status of the object. "
345 "Various operational and non-operational statuses are "
346 "defined. Operational statuses are \"OK\", \"Degraded\", "
347 "\"Stressed\" and \"Pred Fail\". \"Stressed\" indicates that "
348 "the Element is functioning, but needs attention. Examples "
349 "of \"Stressed\" states are overload, overheated, etc. The "
350 "condition \"Pred Fail\" (failure predicted) indicates that "
351 "an Element is functioning properly but predicting a failure "
352 "in the near future. An example is a SMART-enabled hard "
353 "drive. \n"
354 " Non-operational statuses can also be specified. These "
355 "are \"Error\", \"NonRecover\", \"Starting\", \"Stopping\", "
356 " \"Stopped\", "
357 "\"Service\", \"No Contact\" and \"Lost Comm\". \"NonRecover\" "
358 mike 1.2 "indicates that a non-recoverable error has occurred. "
359 "\"Service\" describes an Element being configured, maintained, "
360 "cleaned, or otherwise administered. This status could apply "
361 "during mirror-resilvering of a disk, reload of a user "
362 "permissions list, or other administrative task. Not all such "
363 "work is on-line, yet the Element is neither \"OK\" nor in "
364 "one of the other states. \"No Contact\" indicates that the "
365 "current instance of the monitoring system has knowledge of "
366 "this Element but has never been able to establish "
367 "communications with it. \"Lost Comm\" indicates that "
368 "the ManagedSystemElement is known to exist and has been "
369 "contacted successfully in the past, but is currently unreachable."
370 "\"Stopped\" indicates that the ManagedSystemElement is known "
371 "to exist, it is not operational (i.e. it is unable to "
372 "provide service to users), but it has not failed. It has purposely "
373 "been made non-operational. The Element "
374 "may have never been \"OK\", the Element may have initiated its "
375 "own stop, or a management system may have initiated the stop."),
376 ValueMap {"OK", "Error", "Degraded", "Unknown", "Pred Fail",
377 "Starting", "Stopping", "Service", "Stressed",
378 "NonRecover", "No Contact", "Lost Comm", "Stopped"} ]
379 mike 1.2 string Status;
380 };
381
382
383 // ==================================================================
384 // Collection
385 // ==================================================================
386 [Abstract, Description (
387 "Collection is an abstract class that provides a common"
388 "superclass for data elements that represent collections of "
389 "ManagedElements and its subclasses.")]
390 class CIM_Collection : CIM_ManagedElement {
391 };
392
393
394 // ===================================================================
395 // CollectionOfMSEs
396 // ===================================================================
397 [Abstract, Description (
398 "The CollectionOfMSEs object allows the grouping of Managed"
399 "SystemElements for various identification purposesand to "
400 mike 1.2 "reduce the complexity of associating Settings and"
401 "Configurations. It is abstract to require furtherdefinition "
402 "and semantic refinement in subclasses. TheCollectionOfMSEs "
403 "object does not carry any state or statusinformation, but "
404 "only represents a grouping or 'bag' of Elements. Forthis "
405 "reason, it is incorrect to subclass groups that havestate/"
406 "status from CollectionOfMSEs - an example isCIM_Redundancy"
407 "Group (which is correctly subclassed fromLogicalElement).\n"
408 "Collections typically aggregate 'like'objects, but are "
409 "not required to do so. They simply identify 'bags' and "
410 "may represent an optimization. This is especiallytrue "
411 "with respect to their association to Settings and"
412 "Configurations. Without Collections, one is forcedto "
413 "define individual ElementSetting andElementConfiguration "
414 "associations, to tie Settings and Configurationobjects to "
415 "individual ManagedSystemElements. There may be much"
416 "duplication in assigning the same Setting tomultiple objects. "
417 "In addition, using the Collection object allows the"
418 "determination that the Setting and Configurationassociations "
419 "are indeed the same for the Collection's members.This "
420 "information would otherwise be obtained by definingthe "
421 mike 1.2 "Collection in a proprietary manner, and thenquerying "
422 "the ElementSetting and ElementConfigurationassociations to "
423 "determine ifthe Collection set is completely covered.") ]
424 class CIM_CollectionOfMSEs : CIM_Collection {
425 [MaxLen (256), Description (
426 "The identification of the Collection object. When subclassed, "
427 "the CollectionID property can be overridden to be a Key "
428 "property.") ]
429 string CollectionID;
430 };
431
432
433 // ==================================================================
434 // CollectedCollections
435 // ==================================================================
436 [Association, Aggregation, Description (
437 "CIM_CollectedCollections is an aggregation association "
438 "representing that a CollectionOfMSEs may itself be contained "
439 "in a CollectionOfMSEs.") ]
440 class CIM_CollectedCollections {
441 [Aggregate, Key, Description (
442 mike 1.2 "The 'higher level' or parent element in the aggregation.") ]
443 CIM_CollectionOfMSEs REF Collection;
444 [Key, Description ("The 'collected' Collection.") ]
445 CIM_CollectionOfMSEs REF CollectionInCollection;
446 };
447
448
449 // =================================================================
450 // PhysicalElement
451 // ==================================================================
452 [Abstract, Description (
453 "Subclasses of CIM_PhysicalElement define any component of a "
454 "System that has a distinct physical identity. Instances of "
455 "this class can be defined in terms of labels that can be "
456 "physically attached to the object. All Processes, Files, "
457 "and LogicalDevices are considered not to be Physical"
458 "Elements. For example, it is not possible to attach a "
459 "label to a modem. It is only possible to attach a label to "
460 "the card that implements the modem. The same card could "
461 "also implement a LAN adapter. These are tangible Managed "
462 "System Elements (usually actual hardware items) that have a "
463 mike 1.2 "physical manifestation of some sort. A Managed System "
464 "Element is not necessarily a discrete component. For "
465 "example, it is possible for a single Card (which is a type "
466 "of Physical Element) to host more than one Logical Device. "
467 "The card would be represented by a single Physical Element "
468 "associated with multiple Logical Devices.") ]
469 class CIM_PhysicalElement : CIM_ManagedSystemElement {
470 [Key, MaxLen (256), Description (
471 "An arbitrary string that uniquely identifies the Physical"
472 "Element and serves as the Element's key. The Tag property "
473 "can contain information such as asset tag or serial number "
474 "data. The key for PhysicalElement is placed very high in the "
475 "object hierarchy in order to independently identify the "
476 "hardware/entity, regardless of physical placement in or on "
477 "Cabinets, Adapters, etc. For example, a hotswappable or "
478 "removeable component may be taken from its containing "
479 "(scoping) Package and be temporarily unused. The object "
480 "still continues to exist - and may even be inserted into a "
481 "different scoping container. Therefore, the key for Physical"
482 "Element is an arbitrary string and is defined independently "
483 "of any placement or location-oriented hierarchy.") ]
484 mike 1.2 string Tag;
485 [Key, MaxLen (256), Description (
486 "CreationClassName indicates the name of the class or the "
487 "subclass used in the creation of an instance. When used "
488 "with the other key properties of this class, this property "
489 "allows all instances of this class and its subclasses to "
490 "be uniquely identified.") ]
491 string CreationClassName;
492 [MaxLen (256), Description (
493 "The name of the organization responsible for producing the "
494 "PhysicalElement. This may be the entity from whom the Element "
495 "is purchased, but this is not necessarily true. The latter "
496 "information is contained in the Vendor property of "
497 "CIM_Product.") ]
498 string Manufacturer;
499 [MaxLen (64), Description (
500 "The name by which the PhysicalElement is generally known.") ]
501 string Model;
502 [MaxLen (64), Description (
503 "The stock keeping unit number for this PhysicalElement.") ]
504 string SKU;
505 mike 1.2 [MaxLen (64), Description (
506 "A manufacturer-allocated number used to identify the Physical"
507 "Element.") ]
508 string SerialNumber;
509 [MaxLen (64), Description (
510 "A string indicating the version of the PhysicalElement.") ]
511 string Version;
512 [MaxLen (256), Description (
513 "The part number assigned by the organization responsible for "
514 "producing or manufacturing the PhysicalElement.") ]
515 string PartNumber;
516 [Description (
517 "OtherIdentifyingInfo captures additional data, beyond that of "
518 "Tag information, that could be used to identify a Physical"
519 "Element. One example is bar code data associated with an "
520 "Element that also has an asset tag. Note that if only bar "
521 "code data is available and is unique/able to be used as an "
522 "Element key, this property would be NULL and the bar code "
523 "data used as the class key, in the Tag property.") ]
524 string OtherIdentifyingInfo;
525 [Description (
526 mike 1.2 "Boolean indicating that the PhysicalElement is powered on "
527 "(TRUE), or is currently off (FALSE).") ]
528 boolean PoweredOn;
529 [Description (
530 "Date that this PhysicalElement was manufactured.") ]
531 datetime ManufactureDate;
532 };
533
534
535 // ==================================================================
536 // LogicalElement
537 // ==================================================================
538 [Abstract, Description (
539 "CIM_LogicalElement is a base class for all the components of "
540 "a System that represent abstract system components, such "
541 "as Files, Processes, or system capabilities in the form "
542 "of Logical Devices.") ]
543 class CIM_LogicalElement : CIM_ManagedSystemElement {
544 };
545
546
547 mike 1.2 // ==================================================================
548 // LogicalIdentity
549 // ==================================================================
550 [Association, Abstract, Description (
551 "CIM_LogicalIdentity is an abstract and generic association, "
552 "indicating that two LogicalElements represent different "
553 "aspects of the same underlying entity. This relationship "
554 "conveys what could be defined with multiple inheritance. It "
555 "is restricted to the 'logical' aspects of a ManagedSystem"
556 "Element. In most scenarios, the Identity relationship is "
557 "determined by the equivalence of Keys or some other "
558 "identifying properties of the related Elements. The "
559 "association should only be used in well understood scenarios. "
560 "This is why the association is abstract - allowing more "
561 "concrete definition and clarification in subclasses. One of "
562 "the scenarios where this relationship is reasonable is to "
563 "represent that a Device is both a 'bus' entity and a "
564 "'functional' entity. For example, a Device could be both a "
565 "USB (bus) and a Keyboard (functional) entity.") ]
566 class CIM_LogicalIdentity {
567 [Key, Description (
568 mike 1.2 "SystemElement represents one aspect of the Logical"
569 "Element.") ]
570 CIM_LogicalElement ref SystemElement;
571 [Key, Description (
572 "SameElement represents an alternate aspect of the "
573 "System entity.") ]
574 CIM_LogicalElement ref SameElement;
575 };
576
577
578 // ==================================================================
579 // System
580 // ==================================================================
581 [Abstract, Description (
582 "A CIM_System is a LogicalElement that aggregates an "
583 "enumerable set of Managed System Elements. The aggregation "
584 "operates as a functional whole. Within any particular "
585 "subclass of System, there is a well-defined list of "
586 "Managed System Element classes whose instances must be "
587 "aggregated.") ]
588 class CIM_System : CIM_LogicalElement {
589 mike 1.2 [Key, MaxLen (256), Description (
590 "CreationClassName indicates the name of the class or the "
591 "subclass used in the creation of an instance. When used "
592 "with the other key properties of this class, this property "
593 "allows all instances of this class and its subclasses to "
594 "be uniquely identified.") ]
595 string CreationClassName;
596 [Key, MaxLen (256), Override ("Name"), Description (
597 "The inherited Name serves as key of a System instance in "
598 "an enterprise environment.") ]
599 string Name;
600 [MaxLen (64), Description (
601 "The System object and its derivatives are Top Level Objects "
602 "of CIM. They provide the scope for numerous components. "
603 "Having unique System keys is required. A heuristic can be "
604 "defined in individual System subclasses to attempt to always "
605 "generate the same System Name Key. The NameFormat property "
606 "identifies how the System name was generated, using "
607 "the subclass' heuristic.") ]
608 string NameFormat;
609 [MaxLen (64), Description (
610 mike 1.2 "The name of the primary system owner."),
611 MappingStrings {"MIF.DMTF|General Information|001.3"} ]
612 string PrimaryOwnerName;
613 [MaxLen (256), Description (
614 "A string that provides information on how the primary system "
615 "owner can be reached (e.g. phone number, email address, "
616 "...)."),
617 MappingStrings {"MIF.DMTF|General Information|001.4"} ]
618 string PrimaryOwnerContact;
619 [Description (
620 "An array (bag) of strings that specify the roles this System "
621 "plays in the IT-environment. Subclasses of System may "
622 "override this property to define explicit Roles values. "
623 "Alternately, a Working Group may describe the heuristics, "
624 "conventions and guidelines for specifying Roles. For "
625 "example, for an instance of a networking system, the Roles "
626 "property might contain the string, 'Switch' or 'Bridge'.") ]
627 string Roles[];
628 };
629
630
631 mike 1.2 // ===================================================================
632 // ComputerSystem
633 // ===================================================================
634 [Abstract, Description (
635 "A class derived from System that is a special collection of "
636 "ManagedSystemElements. This collection provides "
637 "compute capabilities and serves as aggregation point to "
638 "associate one or more of the following elements: FileSystem, "
639 "OperatingSystem, Processor and Memory (Volatile and/or "
640 "NonVolatile Storage).") ]
641 class CIM_ComputerSystem : CIM_System {
642 [Override ("NameFormat"), Description (
643 "The ComputerSystem object and its derivatives are Top Level "
644 "Objects of CIM. They provide the scope for numerous "
645 "components. Having unique System keys is required. "
646 "A heuristic is defined to create the ComputerSystem Name "
647 "to attempt to always generate the same Name, independent of "
648 "discovery protocol. This prevents inventory and management "
649 "problems where the same asset or entity is discovered "
650 "multiple times, but can not be resolved to a single object. "
651 "Use of the heuristic is optional, but recommended.\n\n"
652 mike 1.2 "The NameFormat property identifies how the ComputerSystem "
653 "Name is generated, using a heuristic. The heuristic is "
654 "outlined, in detail, in the CIM V2 System Model spec. "
655 "It assumes that the documented rules are traversed in order, "
656 "to determine and assign a Name. The NameFormat Values "
657 "list defines the precedence order for assigning the Computer"
658 "System Name. Several rules do map to the same Value.\n\n"
659 "Note that the ComputerSystem Name calculated using the "
660 "heuristic is the System's key value. Other names can be "
661 "assigned and used for the ComputerSystem, that better suit "
662 "a business, using Aliases."),
663 ValueMap {"Other", "IP", "Dial", "HID", "NWA", "HWA", "X25",
664 "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI"} ]
665 string NameFormat;
666 [MaxLen (256), ArrayType ("Indexed"), Description (
667 "OtherIdentifyingInfo captures additional data, beyond "
668 "System Name information, that could be used to identify "
669 "a ComputerSystem. One example would be to hold the "
670 "Fibre Channel World-Wide Name (WWN) of a node. Note that "
671 "if only the Fibre Channel name is available and is "
672 "unique (able to be used as the System key), then this "
673 mike 1.2 "property would be NULL and the WWN would become the "
674 "System key, its data placed in the Name property."),
675 ModelCorrespondence {
676 "CIM_ComputerSystem.IdentifyingDescriptions"} ]
677 string OtherIdentifyingInfo[];
678 [ArrayType ("Indexed"), Description (
679 "An array of free-form strings providing explanations "
680 "and details behind the entries in the OtherIdentifying"
681 "Info array. Note, each entry of this array is related "
682 "to the entry in OtherIdentifyingInfo that is located at "
683 "the same index."),
684 ModelCorrespondence {
685 "CIM_ComputerSystem.OtherIdentifyingInfo"} ]
686 string IdentifyingDescriptions[];
687 [Description (
688 "Enumeration indicating whether the ComputerSystem is "
689 "a special-purpose System (ie, dedicated to a particular "
690 "use), versus being 'general purpose'. For example, one "
691 "could specify that the System is dedicated to \"Print\" "
692 "(value=11) or acts as a \"Hub\" (value=8)."),
693 Values {"Not Dedicated", "Unknown", "Other", "Storage",
694 mike 1.2 "Router", "Switch", "Layer 3 Switch",
695 "Central Office Switch", "Hub", "Access Server",
696 "Firewall", "Print", "I/O", "Web Caching", "Management"} ]
697 uint16 Dedicated[];
698 [Description (
699 "If enabled (value = 4), the UnitaryComputerSystem can be "
700 "reset via hardware (e.g. the power and reset buttons). If "
701 "disabled (value = 3), hardware reset is not allowed. In "
702 "addition to Enabled and Disabled, other Values for the "
703 "property are also defined - \"Not Implemented\" (5), "
704 "\"Other\" (1) and \"Unknown\" (2)."),
705 ValueMap {"1", "2", "3", "4", "5"},
706 Values {"Other", "Unknown", "Disabled",
707 "Enabled", "Not Implemented"},
708 MappingStrings {"MIF.DMTF|System Hardware Security|001.4"} ]
709 uint16 ResetCapability;
710 [Description(
711 "Indicates the specific power-related capabilities of a "
712 "ComputerSystem and its associated running OperatingSystem. "
713 "The values, 0=\"Unknown\", 1=\"Not Supported\", and "
714 "2=\"Disabled\" are self-explanatory. "
715 mike 1.2 "The value, 3=\"Enabled\" indicates that the power management "
716 "features are currently enabled but the exact feature set "
717 "is unknown or the information is unavailable. "
718 "\"Power Saving Modes Entered Automatically\" (4) describes "
719 "that a system can change its power state based on usage or "
720 "other criteria. \"Power State Settable\" (5) indicates that "
721 "the SetPowerState method is supported. \"Power Cycling "
722 "Supported\" (6) indicates that the SetPowerState method "
723 "can be invoked with the PowerState input variable set to 5 ("
724 "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "
725 "that the SetPowerState method can be invoked with the Power"
726 "State input variable set to 5 (\"Power Cycle\") and the Time "
727 "parameter set to a specific date and time, or interval, "
728 "for power-on."),
729 Values {"Unknown", "Not Supported", "Disabled",
730 "Enabled", "Power Saving Modes Entered Automatically",
731 "Power State Settable", "Power Cycling Supported",
732 "Timed Power On Supported"},
733 MappingStrings {"MIF.DMTF|System Power Controls|001.2"} ]
734 uint16 PowerManagementCapabilities[];
735 [Description(
736 mike 1.2 "SetPowerState defines the desired power state of a "
737 "ComputerSystem and its running OperatingSystem, and when "
738 "the system should be put into that state. The PowerState "
739 "parameter is specified as one of the following integer "
740 "values: 1=\"Full Power\", 2=\"Power Save - Low Power Mode\", "
741 "3=\"Power Save - Standby\", 4=\"Power Save - Other\", "
742 "5=\"Power Cycle\", 6=\"Power Off\", 7=\"Hibernate\" and "
743 "8=\"Soft Off\". The Time parameter (for all state changes "
744 "but 5, \"Power Cycle\") indicates when the power state "
745 "should be set, either as a regular date-time value or as "
746 "an interval value (where the interval begins when the "
747 "method invocation is received). When the PowerState "
748 "parameter is equal to 5, \"Power Cycle\", the Time "
749 "parameter indicates when the system should power on "
750 "again. Power off is immediate. SetPowerState should "
751 "return 0 if successful, 1 if the specified State and "
752 "Time request is not supported, and some other value if "
753 "any other error occurred. In a subclass, the "
754 "set of possible return codes could be specified, using a "
755 "ValueMap qualifier on the method. The strings to which the "
756 "ValueMap contents are 'translated' may also be specified in "
757 mike 1.2 "the subclass as a Values array qualifier.") ]
758 uint32 SetPowerState(
759 [IN, ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
760 Values {"Full Power", "Power Save - Low Power Mode",
761 "Power Save - Standby", "Power Save - Other",
762 "Power Cycle", "Power Off", "Hibernate", "Soft Off"}]
763 uint32 PowerState,
764 [IN] datetime Time);
765 [Description(
766 "SetPowerStateWithBootFlags defines the desired power state of a "
767 "ComputerSystem and its running OperatingSystem, and when "
768 "the system should be put into that state. The PowerState "
769 "parameter is specified as one of the following integer "
770 "values: 1=\"Full Power\", 2=\"Power Save - Low Power Mode\", "
771 "3=\"Power Save - Standby\", 4=\"Power Save - Other\", "
772 "5=\"Power Cycle\", 6=\"Power Off\", 7=\"Hibernate\", "
773 "8=\"Soft Off\" and 9=\"Reset\" "
774 "The Time parameter (for all state changes "
775 "but 5, \"Power Cycle\") indicates when the power state "
776 "should be set, either as a regular date-time value or as "
777 "an interval value (where the interval begins when the "
778 mike 1.2 "method invocation is received). When the PowerState "
779 "parameter is equal to 5, \"Power Cycle\", the Time "
780 "parameter indicates when the system should power on "
781 "again. Power off is immediate. "
782 "BootOptions parameter provides the options to be used "
783 "when the system comes back up. These options are not "
784 "used when the PowerState parameter is \"Power Off\", or "
785 "\"Soft Off\". This method could also be used to make the "
786 "bootOptions effective without changing the powerState. "
787 "For example, the system could be already in \"Full Power\" "
788 "state, but waiting at a boot loader state to receive a "
789 "command for BootOptions. The BootOptions can be specified "
790 "using this method. SetPowerStateWithBootFlags should "
791 "return 0 if successful, 1 if the specified State and "
792 "Time request is not supported, and some other value if "
793 "any other error occurred. In a subclass, the "
794 "set of possible return codes could be specified, using a "
795 "ValueMap qualifier on the method. The strings to which the "
796 "ValueMap contents are 'translated' may also be specified in "
797 "the subclass as a Values array qualifier.") ]
798 uint32 SetPowerStateWithOptions(
799 mike 1.2 [IN, ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
800 Values {"Full Power", "Power Save - Low Power Mode",
801 "Power Save - Standby", "Power Save - Other",
802 "Power Cycle", "Power Off", "Hibernate", "Soft Off", "Reset"} ]
803 uint16 PowerState,
804 [IN] datetime Time,
805 [IN] CIM_Settings REF Options);
806 };
807
808
809 // ===================================================================
810 // LogicalDevice
811 // ===================================================================
812 [Abstract, Description (
813 "An abstraction or emulation of a hardware entity, that may "
814 "or may not be Realized in physical hardware. Any "
815 "characteristics of a LogicalDevice that are used to manage "
816 "its operation or configuration are contained in, or "
817 "associated with, the LogicalDevice object. Examples of the "
818 "operational properties of a Printer would be paper sizes "
819 "supported, or detected errors. Examples of the configuration "
820 mike 1.2 "properties of a Sensor Device would be threshold settings. "
821 "Various configurations could exist for a LogicalDevice. "
822 "These configurations could be contained in Setting objects "
823 "and associated with the LogicalDevice.") ]
824 class CIM_LogicalDevice : CIM_LogicalElement {
825 [Propagated("CIM_System.CreationClassName"),
826 Key, MaxLen (256), Description (
827 "The scoping System's CreationClassName.") ]
828 string SystemCreationClassName;
829 [Propagated("CIM_System.Name"),
830 Key, MaxLen (256), Description (
831 "The scoping System's Name.") ]
832 string SystemName;
833 [Key, MaxLen (256), Description (
834 "CreationClassName indicates the name of the class or "
835 "the subclass used in the creation of an instance. When "
836 "used with the other key properties of this class, this "
837 "property allows all instances of this class and its "
838 "subclasses to be uniquely identified.") ]
839 string CreationClassName;
840 [Key, MaxLen (64), Description (
841 mike 1.2 "An address or other identifying information to uniquely "
842 "name the LogicalDevice.") ]
843 string DeviceID;
844 [Description (
845 "Boolean indicating that the Device can be power managed "
846 "- ie, put into a power save state. This boolean does not "
847 "indicate that power management features are currently "
848 "enabled, or if enabled, what features are supported. "
849 "Refer to the PowerManagementCapabilities array for this "
850 "information. If this boolean is false, the integer value "
851 "1, for the string, \"Not Supported\", should be the only "
852 "entry in the PowerManagementCapabilities array.") ]
853 boolean PowerManagementSupported;
854 [Description(
855 "Indicates the specific power-related capabilities of a "
856 "LogicalDevice. The array values, 0=\"Unknown\", 1="
857 "\"Not Supported\" and 2=\"Disabled\" are self-explanatory. "
858 "The value, 3=\"Enabled\" indicates that the power management "
859 "features are currently enabled but the exact feature set "
860 "is unknown or the information is unavailable. "
861 "\"Power Saving Modes Entered Automatically\" (4) describes "
862 mike 1.2 "that a Device can change its power state based on usage or "
863 "other criteria. \"Power State Settable\" (5) indicates that "
864 "the SetPowerState method is supported. \"Power Cycling "
865 "Supported\" (6) indicates that the SetPowerState method "
866 "can be invoked with the PowerState input variable set to 5 ("
867 "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "
868 "that the SetPowerState method can be invoked with the Power"
869 "State input variable set to 5 (\"Power Cycle\") and the Time "
870 "parameter set to a specific date and time, or interval, "
871 "for power-on."),
872 Values {"Unknown", "Not Supported", "Disabled",
873 "Enabled", "Power Saving Modes Entered Automatically",
874 "Power State Settable", "Power Cycling Supported",
875 "Timed Power On Supported"} ]
876 uint16 PowerManagementCapabilities[];
877 [Description (
878 "The primary availability and status of the Device. (Additional "
879 "status information can be specified using the AdditionalAvailability "
880 "array property.) For example, the Availability property indicates "
881 "that the Device is running and has full power (value=3), or is in "
882 "a warning (4), test (5), degraded (10) or power save state (values "
883 mike 1.2 "13-15 and 17). Regarding the Power Save states, these are defined "
884 "as follows: Value 13 (\"Power Save - Unknown\") indicates "
885 "that the Device is known to be in a power save mode, but its "
886 "exact status in this mode is unknown; 14 (\"Power Save - Low "
887 "Power Mode\") indicates that the Device is in a power save "
888 "state but still functioning, and may exhibit degraded "
889 "performance; 15 (\"Power Save - Standby\") describes that "
890 "the Device is not functioning but could be brought to full "
891 "power 'quickly'; and value 17 (\"Power Save - Warning\") "
892 "indicates that the Device is in a warning state, though also "
893 "in a power save mode."),
894 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
895 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
896 "20", "21"},
897 Values {"Other", "Unknown", "Running/Full Power", "Warning",
898 "In Test", "Not Applicable", "Power Off", "Off Line",
899 "Off Duty", "Degraded", "Not Installed", "Install Error",
900 "Power Save - Unknown", "Power Save - Low Power Mode",
901 "Power Save - Standby", "Power Cycle","Power Save - Warning",
902 "Paused", "Not Ready", "Not Configured", "Quiesced"},
903 MappingStrings {"MIF.DMTF|Operational State|006",
904 mike 1.2 "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
905 "MIF.DMTF|Host Device|001.5"},
906 ModelCorrespondence {"CIM_LogicalDevice.AdditionalAvailability"}]
907 uint16 Availability;
908 [Description (
909 "The StatusInfo property indicates whether the Logical"
910 "Device is in an enabled (value = 3), disabled (value = "
911 "4) or some other (1) or unknown (2) state. If this "
912 "property does not apply to the LogicalDevice, the value, "
913 "5 (\"Not Applicable\"), should be used. "
914 "If a Device is (\"Enabled\")(value=3), it has been "
915 "powered up, and is configured and operational. The Device "
916 "may or may not be functionally active, depending on whether "
917 "its Availability (or AdditionalAvailability) indicate that "
918 "it is (\"Running/Full Power\")(value=3) or (\"Off line\")"
919 "(value=8). In an enabled but offline mode, a Device may be "
920 "performing out-of-band requests, such as running Diagnostics. "
921 "If (\"Disabled\") StatusInfo value=4), a Device can only be "
922 "\"enabled\" or powered off. In a personal computer environment, "
923 "(\"Disabled\") means that the Device's driver is not "
924 "available in the stack. In other environments, a Device can "
925 mike 1.2 "be disabled by removing its configuration file. A disabled "
926 "device is physically present in a System and consuming "
927 "resources, but can not be communicated with until a load "
928 "of a driver, a load of a configuration file or some other "
929 "\"enabling\" activity has occurred."),
930 ValueMap {"1", "2", "3", "4", "5"},
931 Values {"Other", "Unknown", "Enabled",
932 "Disabled", "Not Applicable"},
933 MappingStrings {"MIF.DMTF|Operational State|006"} ]
934 uint16 StatusInfo;
935 [Description (
936 "LastErrorCode captures the last error code reported by "
937 "the LogicalDevice.")]
938 uint32 LastErrorCode;
939 [Description (
940 "ErrorDescription is a free-form string supplying more "
941 "information about the error recorded in LastErrorCode, and "
942 "information on any corrective actions that may be taken.")]
943 string ErrorDescription;
944 [Description (
945 "ErrorCleared is a boolean property indicating that the "
946 mike 1.2 "error reported in LastErrorCode is now cleared.")]
947 boolean ErrorCleared;
948 [MaxLen (256), ArrayType ("Indexed"), Description (
949 "OtherIdentifyingInfo captures additional data, beyond "
950 "DeviceID information, that could be used to identify a "
951 "LogicalDevice. One example would be to hold the Operating"
952 "System's user friendly name for the Device in this "
953 "property."),
954 ModelCorrespondence {
955 "CIM_LogicalDevice.IdentifyingDescriptions"} ]
956 string OtherIdentifyingInfo[];
957 [Description (
958 "The number of consecutive hours that this Device has been "
959 "powered, since its last power cycle."),
960 Units ("Hours"), Counter ]
961 uint64 PowerOnHours;
962 [Description (
963 "The total number of hours that this Device has been "
964 "powered."),
965 Units ("Hours"), Counter ]
966 uint64 TotalPowerOnHours;
967 mike 1.2 [ArrayType ("Indexed"), Description (
968 "An array of free-form strings providing explanations "
969 "and details behind the entries in the OtherIdentifyingInfo "
970 "array. Note, each entry of this array is related to the "
971 "entry in OtherIdentifyingInfo that is located at the same "
972 "index."),
973 ModelCorrespondence {"CIM_LogicalDevice.OtherIdentifyingInfo"} ]
974 string IdentifyingDescriptions[];
975 [Description (
976 "Additional availability and status of the Device, beyond that "
977 "specified in the Availability property. The Availability property "
978 "denotes the primary status and availability of the Device. In "
979 "some cases, this will not be sufficient to denote the complete "
980 "status of the Device. In those cases, the AdditionalAvailability "
981 "property can be used to provide further information. For example, "
982 "a Device's primary Availability may be \"Off line\" (value=8), "
983 "but it may also be in a low power state (AdditonalAvailability "
984 "value=14), or the Device could be running Diagnostics (Additional"
985 "Availability value=5, \"In Test\")."),
986 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
987 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
988 mike 1.2 "20", "21"},
989 Values {"Other", "Unknown", "Running/Full Power", "Warning",
990 "In Test", "Not Applicable", "Power Off", "Off Line",
991 "Off Duty", "Degraded", "Not Installed", "Install Error",
992 "Power Save - Unknown", "Power Save - Low Power Mode",
993 "Power Save - Standby", "Power Cycle",
994 "Power Save - Warning", "Paused", "Not Ready",
995 "Not Configured", "Quiesced"},
996 ModelCorrespondence {"CIM_LogicalDevice.Availability"}]
997 uint16 AdditionalAvailability[];
998 [Description (
999 "Maximum time in milliseconds, that a Device can run in "
1000 "a \"Quiesced\" state. A Device's state is defined in its "
1001 "Availability and AdditionalAvailability properties, where "
1002 "\"Quiesced\" is conveyed by the value 21. What occurs at "
1003 "the end of the time limit is device-specific. The Device "
1004 "may unquiesce, may offline or take other action. A value of "
1005 "0 indicates that a Device can remain quiesced indefinitely."),
1006 Units ("MilliSeconds")]
1007 uint64 MaxQuiesceTime;
1008 [Description(
1009 mike 1.2 "SetPowerState defines the desired power state for a "
1010 "LogicalDevice and when a Device should be put into that "
1011 "state. The desired power state is specified by setting "
1012 "the PowerState parameter to one of the "
1013 "following integer values: 1=\"Full Power\", 2=\"Power Save "
1014 "- Low Power Mode\", 3=\"Power Save - Standby\", 4=\"Power "
1015 "Save - Other\", 5=\"Power Cycle\" or 6=\"Power Off\". "
1016 "The Time parameter (for all state changes but 5, "
1017 "\"Power Cycle\") indicates when the power state should be "
1018 "set, either as a regular date-time value or as an interval "
1019 "value (where the interval begins when the method "
1020 "invocation is received). When the PowerState parameter is "
1021 "equal to 5, \"Power Cycle\", the Time parameter indicates "
1022 "when the Device should power on again. Power off is "
1023 "immediate. SetPowerState should return 0 if successful, 1 "
1024 "if the specified PowerState and Time request is not "
1025 "supported, and some other value if any other error "
1026 "occurred. In a subclass, the set of possible return codes "
1027 "could be specified, using a ValueMap qualifier on the method. "
1028 "The strings to which the ValueMap contents are 'translated' "
1029 "may also be specified in the subclass as a Values array "
1030 mike 1.2 "qualifier.") ]
1031 uint32 SetPowerState(
1032 [IN, ValueMap {"1", "2", "3", "4", "5", "6"},
1033 Values {"Full Power", "Power Save - Low Power Mode",
1034 "Power Save - Standby", "Power Save - Other",
1035 "Power Cycle", "Power Off"}]
1036 uint16 PowerState,
1037 [IN] datetime Time);
1038 [Description (
1039 "Requests a reset of the LogicalDevice. The return value "
1040 "should be 0 if the request was successfully executed, "
1041 "1 if the request is not supported and some other value "
1042 "if an error occurred. In a subclass, the set of possible "
1043 "return codes could be specified, using a ValueMap qualifier "
1044 "on the method. The strings to which the ValueMap contents "
1045 "are 'translated' may also be specified in the subclass as a "
1046 "Values array qualifier.") ]
1047 uint32 Reset();
1048 [Description (
1049 "Requests that the LogicalDevice be enabled (\"Enabled\" "
1050 "input parameter = TRUE) or disabled (= FALSE). If "
1051 mike 1.2 "successful, the Device's StatusInfo property should also "
1052 "reflect the desired state (enabled/disabled). The return "
1053 "code should be 0 if the request was successfully executed, "
1054 "1 if the request is not supported and some other value if "
1055 "an error occurred. In a subclass, the set of possible "
1056 "return codes could be specified, using a ValueMap qualifier "
1057 "on the method. The strings to which the ValueMap contents "
1058 "are 'translated' may also be specified in the subclass as a "
1059 "Values array qualifier.") ]
1060 uint32 EnableDevice(
1061 [IN] boolean Enabled);
1062 [Description (
1063 "Requests that the LogicalDevice be brought online (\"Online\" "
1064 "input parameter = TRUE) or taken offline (= FALSE). "
1065 "\"Online\" indicates that the Device is ready to accept "
1066 "requests, and is operational and fully functioning. In this "
1067 "case, the Device's Availability property would be set to "
1068 "a value of 3 (\"Running/Full Power\"). \"Offline\" indicates "
1069 "that a Device is powered up and operational, but not processing "
1070 "functional requests. In an offline state, a Device may be capable "
1071 "of running diagnostics or generating operational alerts. For "
1072 mike 1.2 "example, when the \"Offline\" button is pushed on a Printer, the "
1073 "Device is no longer available to process print jobs, but "
1074 "could be available for diagnostics or maintenance.\n"
1075 "If this method is successful, the Device's Availability and "
1076 "AdditionalAvailability properties should reflect the updated "
1077 "status. If a failure occurs trying to bring the Device online "
1078 "or offline, it should remain in its current state. IE, the "
1079 "request, if unsuccessful, should not leave the Device in an "
1080 "indeterminate state. When bringing a Device back \"Online\", "
1081 "from an \"Offline\" mode, the Device should be restored to its "
1082 "last \"Online\" state, if at all possible. Only a Device that "
1083 "has a StatusInfo of \"Enabled\" (value=3) and has been "
1084 "configured can be brought online or taken offline.\n"
1085 "OnlineDevice should return 0 if successful, 1 if the request is not "
1086 "supported at all, 2 if the request is not supported due to the "
1087 "current state of the Device, and some other value if any other "
1088 "error occurred. In a subclass, the set of possible return codes "
1089 "could be specified, using a ValueMap qualifier on the method. "
1090 "The strings to which the ValueMap contents are 'translated' may "
1091 "also be specified in the subclass as a Values array qualifier.") ]
1092 uint32 OnlineDevice(
1093 mike 1.2 [IN] boolean Online);
1094 [Description (
1095 "Requests that the LogicalDevice cleanly cease all current "
1096 "activity (\"Quiesce\" input parameter = TRUE) or resume "
1097 "activity (= FALSE). For this method to quiesce a Device, "
1098 "that Device should have an Availability (or Additional"
1099 "Availability) of \"Running/Full Power\" (value=3) and a "
1100 "StatusInfo of \"Enabled\" (value=3). For example, if quiesced, "
1101 "a Device may then be offlined for diagnostics, or disabled "
1102 "for power off and hot swap. For the method to \"unquiesce\" "
1103 "a Device, that Device should have an Availability (or Additional"
1104 "Availability) of \"Quiesced\" (value=21) and a StatusInfo of "
1105 "\"Enabled\" (value=3). In this case, the Device would "
1106 "be returned to an \"Enabled\" and \"Running/Full Power\" "
1107 "status.\n"
1108 "The method's return code should indicate the success or "
1109 "failure of the quiesce. It should return 0 if successful, "
1110 "1 if the request is not supported at all, 2 if the request "
1111 "is not supported due to the current state of the Device, "
1112 "and some other value if any other error occurred. In a subclass, "
1113 "the set of possible return codes could be specified, using a "
1114 mike 1.2 "ValueMap qualifier on the method. The strings to which the "
1115 "ValueMap contents are 'translated' may also be specified in "
1116 "the subclass as a Values array qualifier.") ]
1117 uint32 QuiesceDevice(
1118 [IN] boolean Quiesce);
1119 [Description (
1120 "Requests that the Device capture its current configuration, "
1121 "setup and/or state information in a backing store. The goal "
1122 "would be to use this information at a later time (via the "
1123 "RestoreProperties method), to return a Device to its present "
1124 "\"condition\". This method may not be supported by all Devices. "
1125 "The method should return 0 if successful, 1 if the request is "
1126 "not supported, and some other value if any other error occurred. "
1127 "In a subclass, the set of possible return codes could be "
1128 "specified, using a ValueMap qualifier on the method. The strings "
1129 "to which the ValueMap contents are 'translated' may also be "
1130 "specified in the subclass as a Values array qualifier.") ]
1131 uint32 SaveProperties();
1132 [Description (
1133 "Requests that the Device re-establish its configuration, "
1134 "setup and/or state information from a backing store. The "
1135 mike 1.2 "intent is to capture this information at an earlier time "
1136 "(via the SaveProperties method), and use it to return a "
1137 "Device to this earlier \"condition\". This method may not "
1138 "be supported by all Devices. The method should return 0 if "
1139 "successful, 1 if the request is not supported, and some "
1140 "other value if any other error occurred. In a subclass, "
1141 "the set of possible return codes could be specified, using "
1142 "a ValueMap qualifier on the method. The strings to which "
1143 "the ValueMap contents are 'translated' may also be specified "
1144 "in the subclass as a Values array qualifier.") ]
1145 uint32 RestoreProperties();
1146 };
1147
1148
1149 // ==================================================================
1150 // Service
1151 // ==================================================================
1152 [Abstract, Description (
1153 "A CIM_Service is a Logical Element that contains the "
1154 "information necessary to represent and manage the "
1155 "functionality provided by a Device and/or SoftwareFeature. "
1156 mike 1.2 "A Service is a general-purpose object to configure and "
1157 "manage the implementation of functionality. It is not the "
1158 "functionality itself.") ]
1159 class CIM_Service : CIM_LogicalElement {
1160 [Propagated ("CIM_System.CreationClassName"), Key,
1161 MaxLen (256), Description (
1162 "The scoping System's CreationClassName. ") ]
1163 string SystemCreationClassName;
1164 [Propagated ("CIM_System.Name"), Key, MaxLen (256),
1165 Description ("The scoping System's Name.") ]
1166 string SystemName;
1167 [Key, MaxLen (256), Description (
1168 "CreationClassName indicates the name of the class or the "
1169 "subclass used in the creation of an instance. When used "
1170 "with the other key properties of this class, this property "
1171 "allows all instances of this class and its subclasses to "
1172 "be uniquely identified.") ]
1173 string CreationClassName;
1174 [Override ("Name"), Key, MaxLen (256), Description (
1175 "The Name property uniquely identifies the Service and "
1176 "provides an indication of the functionality that is "
1177 mike 1.2 "managed. This functionality is described in more detail in "
1178 "the object's Description property. ") ]
1179 string Name;
1180 [MaxLen (10), Description (
1181 "StartMode is a string value indicating whether the Service "
1182 "is automatically started by a System, Operating System, etc. "
1183 "or only started upon request."),
1184 ValueMap {"Automatic", "Manual"} ]
1185 string StartMode;
1186 [Description (
1187 "Started is a boolean indicating whether the Service "
1188 "has been started (TRUE), or stopped (FALSE).") ]
1189 boolean Started;
1190 [Description (
1191 "The StartService method places the Service in the started "
1192 "state. It returns an integer value of 0 if the Service was "
1193 "successfully started, 1 if the request is not supported and "
1194 "any other number to indicate an error. In a subclass, the "
1195 "set of possible return codes could be specified, using a "
1196 "ValueMap qualifier on the method. The strings to which the "
1197 "ValueMap contents are 'translated' may also be specified in "
1198 mike 1.2 "the subclass as a Values array qualifier.") ]
1199 uint32 StartService();
1200 [Description (
1201 "The StopService method places the Service in the stopped "
1202 "state. It returns an integer value of 0 if the Service was "
1203 "successfully stopped, 1 if the request is not supported and "
1204 "any other number to indicate an error. In a subclass, the "
1205 "set of possible return codes could be specified, using a "
1206 "ValueMap qualifier on the method. The strings to which the "
1207 "ValueMap contents are 'translated' may also be specified in "
1208 "the subclass as a Values array qualifier.") ]
1209 uint32 StopService();
1210 };
1211
1212
1213 // ==================================================================
1214 // ServiceAccessPoint
1215 // ==================================================================
1216 [Abstract, Description (
1217 "CIM_ServiceAccessPoint represents the ability to utilize or "
1218 "invoke a Service. Access points represent that a Service is "
1219 mike 1.2 "made available to other entities for use.") ]
1220 class CIM_ServiceAccessPoint : CIM_LogicalElement {
1221 [Propagated ("CIM_System.CreationClassName"), Key,
1222 MaxLen (256), Description (
1223 "The scoping System's CreationClassName.") ]
1224 string SystemCreationClassName;
1225 [Propagated ("CIM_System.Name"), Key, MaxLen (256),
1226 Description ("The scoping System's Name.") ]
1227 string SystemName;
1228 [Key, MaxLen (256), Description (
1229 "CreationClassName indicates the name of the class or the "
1230 "subclass used in the creation of an instance. When used "
1231 "with the other key properties of this class, this property "
1232 "allows all instances of this class and its subclasses to "
1233 "be uniquely identified.") ]
1234 string CreationClassName;
1235 [Override ("Name"), Key, MaxLen (256), Description (
1236 "The Name property uniquely identifies the ServiceAccessPoint "
1237 "and provides an indication of the functionality that is "
1238 "managed. This functionality is described in more detail in "
1239 "the object's Description property.") ]
1240 mike 1.2 string Name;
1241 };
1242
1243
1244 // ==================================================================
1245 // Dependency
1246 // ==================================================================
1247 [Association, Abstract, Description (
1248 "CIM_Dependency is a generic association used to establish "
1249 "dependency relationships between ManagedElements.") ]
1250 class CIM_Dependency {
1251 [Key, Description (
1252 "Antecedent represents the independent object in this "
1253 "association.") ]
1254 CIM_ManagedElement REF Antecedent;
1255 [Key, Description (
1256 "Dependent represents the object dependent on the "
1257 "Antecedent.") ]
1258 CIM_ManagedElement REF Dependent;
1259 };
1260
1261 mike 1.2
1262 // ==================================================================
1263 // MemberOfCollection
1264 // ==================================================================
1265 [Association, Aggregation, Description (
1266 "CIM_MemberOfCollection is an aggregation used to establish "
1267 "membership of ManagedElements in a Collection." ) ]
1268 class CIM_MemberOfCollection {
1269 [Key, Aggregate, Description (
1270 "The Collection that aggregates members") ]
1271 CIM_Collection REF Collection;
1272 [Key, Description (
1273 "The aggregated member of the collection.") ]
1274 CIM_ManagedElement REF Member;
1275 };
1276
1277
1278 // ==================================================================
1279 // CollectedMSEs
1280 // ==================================================================
1281 [Association, Aggregation, Description (
1282 mike 1.2 "CIM_CollectedMSEs is a generic association used to "
1283 "establish the members of the grouping object, CollectionOf"
1284 "MSEs.") ]
1285 class CIM_CollectedMSEs : CIM_MemberOfCollection {
1286 [Aggregate, Description (
1287 "The grouping or 'bag' object that represents the "
1288 "Collection."), Override("Collection") ]
1289 CIM_CollectionOfMSEs REF Collection;
1290 [Description ("The members of the Collection."),
1291 Override("Member") ]
1292 CIM_ManagedSystemElement REF Member;
1293 };
1294
1295
1296 // ==================================================================
1297 // ServiceAccessBySAP
1298 // ==================================================================
1299 [Association, Description (
1300 "CIM_ServiceAccessBySAP is an association that identifies the "
1301 "access points for a Service. For example, a printer may be "
1302 "accessed by Netware, MacIntosh or Windows ServiceAccess"
1303 mike 1.2 "Points, potentially hosted on different Systems.") ]
1304 class CIM_ServiceAccessBySAP : CIM_Dependency {
1305 [Override ("Antecedent"),
1306 Description ("The Service. ") ]
1307 CIM_Service REF Antecedent;
1308 [Override ("Dependent"), Description (
1309 "An Access Point for a Service. Access points are dependent "
1310 "in this relationship since they have no function without a "
1311 "corresponding Service. ") ]
1312 CIM_ServiceAccessPoint REF Dependent;
1313 };
1314
1315
1316 // ==================================================================
1317 // HostedService
1318 // ==================================================================
1319 [Association, Description (
1320 "CIM_HostedService is an association between a Service and "
1321 "the System on which the functionality resides. The "
1322 "cardinality of this association is 1-to-many. A System may "
1323 "host many Services. Services are weak with respect to their "
1324 mike 1.2 "hosting System. Heuristic: A Service is hosted on the "
1325 "System where the LogicalDevices or SoftwareFeatures that "
1326 "implement the Service are located. The model does not "
1327 "represent Services hosted across multiple systems. This is "
1328 "modeled as an ApplicationSystem that acts as an aggregation "
1329 "point for Services, that are each located on a single "
1330 "host.") ]
1331 class CIM_HostedService : CIM_Dependency {
1332 [Override ("Antecedent"), Max (1), Min (1),
1333 Description ("The hosting System.") ]
1334 CIM_System REF Antecedent;
1335 [Override ("Dependent"), Weak,
1336 Description ("The Service hosted on the System.") ]
1337 CIM_Service REF Dependent;
1338 };
1339
1340
1341 // ==================================================================
1342 // HostedAccessPoint
1343 // ==================================================================
1344 [Association, Description (
1345 mike 1.2 "CIM_HostedAccessPoint is an association between a Service"
1346 "AccessPoint and the System on which it is provided. The "
1347 "cardinality of this association is 1-to-many and is weak "
1348 "with respect to the System. Each System may host many "
1349 "ServiceAccessPoints. Heuristic: If the implementation of "
1350 "the ServiceAccessPoint is modeled, it must be "
1351 "implemented by a Device or SoftwareFeature that is part of "
1352 "the System hosting the ServiceAccessPoint.") ]
1353 class CIM_HostedAccessPoint:CIM_Dependency {
1354 [Override ("Antecedent"), Max (1), Min (1),
1355 Description ("The hosting System.") ]
1356 CIM_System REF Antecedent;
1357 [Override ("Dependent"), Weak,
1358 Description ("The SAP(s) that are hosted on this System.") ]
1359 CIM_ServiceAccessPoint REF Dependent;
1360 };
1361
1362
1363 // ==================================================================
1364 // ProvidesServiceToElement
1365 // ==================================================================
1366 mike 1.2 [Association, Description (
1367 "CIM_ProvidesServiceToElement is used to describe that "
1368 "ManagedElements may be dependent on the functionality "
1369 "of one or more Services. An example is that a Processor "
1370 "and an Enclosure (PhysicalElement) are dependent on AlertOn"
1371 "LAN Services to signal an incomplete or erroneous boot, and "
1372 "hardware-related errors.") ]
1373 class CIM_ProvidesServiceToElement : CIM_Dependency {
1374 [Override ("Antecedent"), Description (
1375 "The Service provided.") ]
1376 CIM_Service ref Antecedent;
1377 [Override ("Dependent"), Description (
1378 "The ManagedElement dependent on the Service.") ]
1379 CIM_ManagedElement ref Dependent;
1380 };
1381
1382
1383 // ==================================================================
1384 // ServiceServiceDependency
1385 // ==================================================================
1386 [Association, Description (
1387 mike 1.2 "CIM_ServiceServiceDependency is an association between a "
1388 "Service and another Service, indicating that the latter is "
1389 "required to be present, required to have completed, or must "
1390 "be absent for the former Service to provide its "
1391 "functionality. For example, Boot Services may be dependent "
1392 "upon underlying BIOS Disk and initialization Services. "
1393 "In the case of the initialization Services, the Boot Service "
1394 "is simply dependent on the init Services completing. For "
1395 "the Disk Services, Boot Services may actually utilize the "
1396 "SAPs of this Service. This usage dependency is modeled via "
1397 "the CIM_ServiceSAPDependency association.") ]
1398 class CIM_ServiceServiceDependency : CIM_ProvidesServiceToElement {
1399 [Override ("Antecedent"),
1400 Description ("The required Service.") ]
1401 CIM_Service REF Antecedent;
1402 [Override ("Dependent"), Description (
1403 "The Service that is dependent on an underlying Service.") ]
1404 CIM_Service REF Dependent;
1405 [Description (
1406 "The nature of the Service to Service dependency. This "
1407 "property describes that the associated Service must have "
1408 mike 1.2 "completed (value=2), must be started (3) or must not be "
1409 "started (4) in order for the Service to function."),
1410 Values {"Unknown", "Other", "Service Must Have Completed",
1411 "Service Must Be Started",
1412 "Service Must Not Be Started"} ]
1413 uint16 TypeOfDependency;
1414 [Description(
1415 "this property describes that the antecedent service "
1416 "must be restarted after the dependent operation is complete.")]
1417 boolean RestartService;
1418 };
1419
1420
1421 // ==================================================================
1422 // ServiceSAPDependency
1423 // ==================================================================
1424 [Association, Description (
1425 "CIM_ServiceSAPDependency is an association between a Service "
1426 "and a ServiceAccessPoint indicating that the referenced SAP "
1427 "is utilized by the Service to provide its functionality. For "
1428 "example, Boot Services may invoke BIOS' Disk Services "
1429 mike 1.2 "(interrupts) in order to function.") ]
1430 class CIM_ServiceSAPDependency : CIM_Dependency {
1431 [Override ("Antecedent"),
1432 Description ("The required ServiceAccessPoint") ]
1433 CIM_ServiceAccessPoint REF Antecedent;
1434 [Override ("Dependent"), Description (
1435 "The Service that is dependent on an underlying SAP.") ]
1436 CIM_Service REF Dependent;
1437 };
1438
1439
1440 // ==================================================================
1441 // SAPSAPDependency
1442 // ==================================================================
1443 [Association, Description (
1444 "CIM_SAPSAPDependency is an association between a Service"
1445 "AccessPoint and another ServiceAccessPoint indicating that "
1446 "the latter is required in order for the former ServiceAccess"
1447 "Point to utilize or connect with its Service. For example, "
1448 "to print at a network printer, local Print Access Points "
1449 "must utilize underlying network-related SAPs, or "
1450 mike 1.2 "ProtocolEndpoints, in order to send the print request.") ]
1451 class CIM_SAPSAPDependency:CIM_Dependency {
1452 [Override ("Antecedent"), Description (
1453 "The required ServiceAccessPoint.") ]
1454 CIM_ServiceAccessPoint REF Antecedent;
1455 [Override ("Dependent"), Description (
1456 "The ServiceAccessPoint that is dependent on an underlying "
1457 "SAP.") ]
1458 CIM_ServiceAccessPoint REF Dependent;
1459 };
1460
1461
1462 // ==================================================================
1463 // Realizes
1464 // ==================================================================
1465 [Association, Description (
1466 "CIM_Realizes is the association that defines the mapping "
1467 "between a Logical Device and the physical component that "
1468 "implements the Device.") ]
1469 class CIM_Realizes : CIM_Dependency {
1470 [Override ("Antecedent"), Description (
1471 mike 1.2 "The physical component that implements the Device.") ]
1472 CIM_PhysicalElement REF Antecedent;
1473 [Override ("Dependent"), Description (
1474 "The LogicalDevice.") ]
1475 CIM_LogicalDevice REF Dependent;
1476 };
1477
1478
1479 // ==================================================================
1480 // Component
1481 // ==================================================================
1482 [Association, Abstract, Aggregation, Description (
1483 "CIM_Component is a generic association used to establish "
1484 "'part of' relationships between Managed System Elements. For "
1485 "example, the SystemComponent association defines parts of "
1486 "a System.") ]
1487 class CIM_Component {
1488 [Aggregate, Key, Description (
1489 "The parent element in the association.") ]
1490 CIM_ManagedSystemElement REF GroupComponent;
1491 [Key, Description (
1492 mike 1.2 "The child element in the association.") ]
1493 CIM_ManagedSystemElement REF PartComponent;
1494 };
1495
1496
1497 // ==================================================================
1498 // SystemComponent
1499 // ==================================================================
1500 [Association, Aggregation, Description (
1501 "CIM_SystemComponent is a specialization of the CIM_Component "
1502 "association that establishes 'part of' relationships between "
1503 "a System and the Managed System Elements of which it is "
1504 "composed.") ]
1505 class CIM_SystemComponent : CIM_Component {
1506 [Override ("GroupComponent"), Aggregate,
1507 Description ("The parent System in the Association.") ]
1508 CIM_System REF GroupComponent;
1509 [Override ("PartComponent"), Description (
1510 "The child element that is a component of a System.") ]
1511 CIM_ManagedSystemElement REF PartComponent;
1512 };
1513 mike 1.2
1514 // ==================================================================
1515 // SystemDevice
1516 // ==================================================================
1517 [Association, Aggregation, Description (
1518 "LogicalDevices may be aggregated by a System. This "
1519 "relationship is made explicit by the SystemDevice "
1520 "association. ") ]
1521 class CIM_SystemDevice:CIM_SystemComponent {
1522 [Override ("GroupComponent"), Aggregate, Max (1), Min (1),
1523 Description ("The parent system in the Association.") ]
1524 CIM_System REF GroupComponent;
1525 [Override ("PartComponent"), Weak, Description (
1526 "The LogicalDevice that is a component of a System.") ]
1527 CIM_LogicalDevice REF PartComponent;
1528 };
1529
1530
1531 // ==================================================================
1532 // ServiceComponent
1533 // ==================================================================
1534 mike 1.2 [Association, Aggregation, Description (
1535 "The ServiceComponent aggregation models a set of "
1536 "subordinate Services that are aggregated together to form "
1537 "a higher-level service.") ]
1538 class CIM_ServiceComponent : CIM_Component {
1539 [Override ("GroupComponent"), Aggregate,
1540 Description ("The parent Service.") ]
1541 CIM_Service REF GroupComponent;
1542 [Override ("PartComponent"),
1543 Description ("The component Service.") ]
1544 CIM_Service REF PartComponent;
1545 };
1546
1547
1548 // ==================================================================
1549 // Synchrononized
1550 // ==================================================================
1551 [Association, Description (
1552 "Indicates that two LogicalElements were aligned or made to "
1553 "be equivalent at the specified point in time. If the boolean "
1554 "property SyncMaintained is TRUE, then synchronization "
1555 mike 1.2 "of the Elements is preserved. Both like and unlike objects "
1556 "may be synchronized. For example, two WatchDog timers may be "
1557 "aligned, or the contents of a LogicalFile may be synchronized "
1558 "with the contents of a StorageExtent.") ]
1559 class CIM_Synchronized {
1560 [Key, Description (
1561 "SystemElement represents one LogicalElement that is "
1562 "synchronized with the entity referenced as SyncedElement.") ]
1563 CIM_LogicalElement ref SystemElement;
1564 [Key, Description (
1565 "SyncedElement represents another LogicalElement that is "
1566 "synchronized with the entity referenced as SystemElement.") ]
1567 CIM_LogicalElement ref SyncedElement;
1568 [Description (
1569 "The point in time that the Elements were synchronized.") ]
1570 datetime WhenSynced;
1571 [Description (
1572 "Boolean indicating whether synchronization is "
1573 "maintained.") ]
1574 boolean SyncMaintained;
1575 };
1576 mike 1.2
1577
1578 // ==================================================================
1579 // AdminDomain
1580 // ==================================================================
1581 [Description (
1582 "This is a special grouping of ManagedSystemElements. The "
1583 "grouping is viewed as a single entity, reflecting that all "
1584 "of its components are administered similarly - either by "
1585 "the same user, group of users or policy. It serves as "
1586 "an aggregation point to associate one or more of the "
1587 "following elements: network devices, such as routers and "
1588 "switches, servers, and other resources that can be "
1589 "accessed by end systems. This grouping of devices "
1590 "plays an essential role in ensuring that the same "
1591 "administrative policy and actions are applied to all "
1592 "of the devices in the grouping. The specific behavior "
1593 "and/or semantics of the AdminDomain can be identified "
1594 "through its aggregated and associated entities."
1595 "\n\n"
1596 "The System class and its subclasses provide the scope for "
1597 mike 1.2 "numerous types of managed objects. As such, these classes "
1598 "must have the ability to create unique keys. This attribute "
1599 "is used by the System class and its subclasses to define a "
1600 "unique Name, independent of the specific discovery protocol "
1601 "used. Use of the heuristic is optional, but recommended."
1602 "\n\n"
1603 "AdminDomain is a part of the Core model, which has frequently "
1604 "been used in the Networks Model to group "
1605 "together various network resources that must be "
1606 "administered the same way, perhaps using the same "
1607 "policies. Viewed in this light, its principal subclass is "
1608 "AutonomousSystem.") ]
1609 class CIM_AdminDomain : CIM_System {
1610 [Override ("NameFormat"), Description (
1611 "The NameFormat property identifies how the Name of the "
1612 "AdminDomain is generated, using the heuristic specified "
1613 "in the CIM V2 System Model spec. It assumes that the "
1614 "documented rules are traversed in order, to determine and "
1615 "assign a Name. The NameFormat Values list defines the "
1616 "precedence order for assigning the Name of the "
1617 "AdminDomain."),
1618 mike 1.2 ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",
1619 "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",
1620 "ATM", "E.164", "IB", "FC", "Policy Repository" },
1621 Values {"Other", "Autonomous System",
1622 "Network Access Provider", "Network Operations Center",
1623 "Point of Presence", "Regional Network Provider",
1624 "IP", "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN",
1625 "Frame Relay", "ATM", "E.164", "Infiniband",
1626 "Fibre Channel", "Policy Repository"} ]
1627 string NameFormat;
1628 };
1629
1630
1631 // ==================================================================
1632 //
1633 // 2 - Products, FRUs, and Statistics
1634 //
1635 // ==================================================================
1636
1637
1638 // ==================================================================
1639 mike 1.2 // Product
1640 // ==================================================================
1641 [Description (
1642 "CIM_Product is a concrete class that is a collection of "
1643 "PhysicalElements, SoftwareFeatures and/or other Products, "
1644 "acquired as a unit. Acquisition implies an agreement "
1645 "between supplier and consumer which may have implications "
1646 "to Product licensing, support and warranty. Non-commercial "
1647 "(e.g., in-house developed Products) should also be "
1648 "identified as an instance of CIM_Product.") ]
1649 class CIM_Product : CIM_ManagedElement {
1650 [Key, MaxLen (256),
1651 Description ("Commonly used Product name."),
1652 MappingStrings {"MIF.DMTF|ComponentID|001.2"} ]
1653 string Name;
1654 [Key, MaxLen (64), Description (
1655 "Product identification such as a serial number on software, "
1656 "a die number on a hardware chip, or (for non-commercial "
1657 "Products) a project number."),
1658 MappingStrings {"MIF.DMTF|ComponentID|001.4"} ]
1659 string IdentifyingNumber;
1660 mike 1.2 [Key, MaxLen (256), Description (
1661 "The name of the Product's supplier, or entity selling the "
1662 "Product (the manufacturer, reseller, OEM, etc.). Corresponds "
1663 "to the Vendor property in the Product object in the DMTF "
1664 "Solution Exchange Standard."),
1665 MappingStrings {"MIF.DMTF|ComponentID|001.1"} ]
1666 string Vendor;
1667 [Key, MaxLen (64), Description (
1668 "Product version information. Corresponds to the Version "
1669 "property in the Product object in the DMTF Solution "
1670 "Exchange Standard."),
1671 MappingStrings {"MIF.DMTF|ComponentID|001.3"} ]
1672 string Version;
1673 [MaxLen (64), Description (
1674 "Product SKU (stock keeping unit) information.") ]
1675 string SKUNumber;
1676 [Description (
1677 "If this Product is under warranty, the start date of the "
1678 "warranty."),
1679 ModelCorrespondence {"CIM_Product.WarrantyDuration"},
1680 MappingStrings {"MIF.DMTF|FRU|002.9"} ]
1681 mike 1.2 datetime WarrantyStartDate;
1682 [Description (
1683 "If this Product is under warranty, the duration of the "
1684 "warranty in days."), Units ("Days"),
1685 ModelCorrespondence {"CIM_Product.WarrantyStartDate"},
1686 MappingStrings {"MIF.DMTF|FRU|002.10"}]
1687 uint32 WarrantyDuration;
1688 };
1689
1690
1691 // ==================================================================
1692 // ProductParentChild
1693 // ==================================================================
1694 [Association, Aggregation, Description (
1695 "The CIM_ProductParentChild association defines a parent "
1696 "child hierarchy among Products. For example, a Product may "
1697 "come bundled with other Products. ") ]
1698 class CIM_ProductParentChild {
1699 [Aggregate, Key, Description (
1700 "The parent Product in the association.") ]
1701 CIM_Product REF Parent;
1702 mike 1.2 [Key, Description (
1703 "The child Product in the association.") ]
1704 CIM_Product REF Child;
1705 };
1706
1707
1708 // ==================================================================
1709 // CompatibleProduct
1710 // ==================================================================
1711 [Association, Description (
1712 "CIM_CompatibleProduct is an association between Products "
1713 "that can indicate a wide variety of information. For "
1714 "example, it can indicate that the two referenced Products "
1715 "interoperate, that they can be installed together, that "
1716 "one can be the physical container for the other, etc. The "
1717 "string property, CompatibilityDescription, defines how the "
1718 "Products interoperate or are compatible, any limitations "
1719 "regarding interoperability or installation, ...") ]
1720 class CIM_CompatibleProduct {
1721 [Key, Description (
1722 "The Product for which compatible offerings are defined.") ]
1723 mike 1.2 CIM_Product REF Product;
1724 [Key, Description (
1725 "The compatible Product.") ]
1726 CIM_Product REF CompatibleProduct;
1727 [Description (
1728 "CompatibilityDescription is a free-form string defining "
1729 "how the two referenced Products interoperate or are "
1730 "compatible, any limitations to compatibility, etc.") ]
1731 string CompatibilityDescription;
1732 };
1733
1734
1735 // ==================================================================
1736 // ProductProductDependency
1737 // ==================================================================
1738 [Association, Description (
1739 "CIM_ProductProductDependency is an association between two "
1740 "Products, indicating that one must be installed, or must be "
1741 "absent, for the other to function. This is conceptually "
1742 "equivalent to the ServiceServiceDependency association.") ]
1743 class CIM_ProductProductDependency {
1744 mike 1.2 [Key, Description ("The required Product.") ]
1745 CIM_Product REF RequiredProduct;
1746 [Key, Description (
1747 "The Product that is dependent on another Product.") ]
1748 CIM_Product REF DependentProduct;
1749 [Description (
1750 "The nature of the Product dependency. This property "
1751 "describes that the associated Product must be installed "
1752 "(value=2) or must be absent (value=3) in order for the "
1753 "Product to function."),
1754 Values {"Unknown", "Other", "Product Must Be Installed",
1755 "Product Must Not Be Installed"} ]
1756 uint16 TypeOfDependency;
1757 };
1758
1759
1760 // ==================================================================
1761 // SupportAccess
1762 // ==================================================================
1763 [Description (
1764 "The CIM_SupportAccess association defines how to obtain "
1765 mike 1.2 "assistance for a Product.") ]
1766 class CIM_SupportAccess : CIM_ManagedElement {
1767 [Override ("Description"), Description (
1768 "A textual description of the type of Support provided."),
1769 MappingStrings {"MIF.DMTF|Support|001.3"} ]
1770 string Description;
1771 [Key, MaxLen (256), Description (
1772 "SupportAccessID is an arbitrary, free form string defined by "
1773 "the Product Vendor or by the organization that deploys the "
1774 "Product. This property, since it is a key, should be unique "
1775 "throughout the enterprise.") ]
1776 string SupportAccessId;
1777 [Description (
1778 "CommunicationInfo provides the details of the Communication"
1779 "Mode. For example, if the CommunicationMode is 'Phone', "
1780 "CommunicationInfo specifies the phone number to be called."),
1781 MappingStrings {"MIF.DMTF|FRU|002.11", "MIF.DMTF|FRU|002.12"} ]
1782 string CommunicationInfo;
1783 [Description (
1784 "CommunicationMode defines the form of communication in order "
1785 "to obtain support. For example, phone communication (value"
1786 mike 1.2 "=2), fax (3) or email (8) can be specified."),
1787 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
1788 Values {"Other", "Phone", "Fax", "BBS",
1789 "Online Service", "Web Page", "FTP", "E-mail"},
1790 MappingStrings {"MIF.DMTF|Support|001.5"} ]
1791 uint16 CommunicationMode;
1792 [MaxLen (64), Description (
1793 "Locale defines the geographic region and/or language dialect "
1794 "to which this Support resource pertains."),
1795 MappingStrings {"MIF.DMTF|Support|001.2"} ]
1796 string Locale;
1797 };
1798
1799
1800 // ==================================================================
1801 // ProductSupport
1802 // ==================================================================
1803 [Association, Description (
1804 "CIM_ProductSupport is an association between Product and "
1805 "SupportAccess that conveys how support is obtained for the "
1806 "Product. This is a many-to-many relationship, implying that "
1807 mike 1.2 "various types of Support are available for a Product, and "
1808 "that the same Support object can provide assistance for "
1809 "multiple Products.") ]
1810 class CIM_ProductSupport {
1811 [Key, Description ("The Product.") ]
1812 CIM_Product REF Product;
1813 [Key, Description ("Support for the Product.") ]
1814 CIM_SupportAccess REF Support;
1815 };
1816
1817
1818 // ==================================================================
1819 // FRU
1820 // ==================================================================
1821 [Description (
1822 "The CIM_FRU class is a vendor-defined collection of Products "
1823 "and/or PhysicalElements that is associated with a "
1824 "Product for the purpose of supporting, maintaining or "
1825 "upgrading that Product at the customer's location. FRU is "
1826 "an acronym for 'field replaceable unit'. ") ]
1827 class CIM_FRU : CIM_ManagedElement {
1828 mike 1.2 [Override ("Description"), Description (
1829 "A textual description of the FRU."),
1830 MappingStrings {"MIF.DMTF|FRU|002.3"} ]
1831 string Description;
1832 [Key, MaxLen (64), Description (
1833 "FRU ordering information."),
1834 MappingStrings {"MIF.DMTF|FRU|002.6"} ]
1835 string FRUNumber;
1836 [Key, MaxLen (64), Description (
1837 "FRU identification such as a serial number on software or "
1838 "a die number on a hardware chip."),
1839 MappingStrings {"MIF.DMTF|FRU|002.7"} ]
1840 string IdentifyingNumber;
1841 [Key, MaxLen (256),
1842 Description ("The name of the FRU's supplier."),
1843 MappingStrings {"MIF.DMTF|FRU|002.4"} ]
1844 string Vendor;
1845 [Description ("FRU name."), MaxLen (256) ]
1846 string Name;
1847 [MaxLen (64), Description ("The FRU's revision level."),
1848 MappingStrings {"MIF.DMTF|FRU|002.8"} ]
1849 mike 1.2 string RevisionLevel;
1850 [Description ("Indicates whether the FRU is "
1851 "customer replaceable.")]
1852 boolean CustomerReplaceable;
1853 };
1854
1855
1856 // ==================================================================
1857 // ProductFRU
1858 // ==================================================================
1859 [Association, Description (
1860 "CIM_ProductFRU is an association between Product and FRU "
1861 "that provides information regarding what Product components "
1862 "have been or are being replaced. The association is one to "
1863 "many, conveying that a Product can have many FRUs, and that "
1864 "a particular instance of a FRU is only applied to one "
1865 "(instance of a) Product.") ]
1866 class CIM_ProductFRU {
1867 [Max (1), Key, Description (
1868 "The Product to which the FRU is applied.") ]
1869 CIM_Product REF Product;
1870 mike 1.2 [Key, Description ("The FRU.") ]
1871 CIM_FRU REF FRU;
1872 };
1873
1874
1875 // ==================================================================
1876 // ReplaceableProductFRU
1877 // ==================================================================
1878 [Association, Description (
1879 "ReplaceableProductFRU is an association between Product and "
1880 "FRU that shows what Product components may be replaced. "
1881 "The association is one to many, conveying that a Product "
1882 "can have many FRUs, and that a particular instance of a "
1883 "FRU is only applied to one (instance of a) Product.") ]
1884 class CIM_ReplaceableProductFRU {
1885 [Max (1), Key, Description (
1886 "The Product to which the FRU is applied.") ]
1887 CIM_Product REF Product;
1888 [Key, Description ("The FRU.") ]
1889 CIM_FRU REF FRU;
1890 };
1891 mike 1.2
1892
1893 // ==================================================================
1894 // ProductPhysicalElements
1895 // ==================================================================
1896 [Association, Aggregation, Description (
1897 "Indicates the PhysicalElements that make up a Product.") ]
1898 class CIM_ProductPhysicalElements {
1899 [Max (1), Aggregate, Key, Description (
1900 "The Product.") ]
1901 CIM_Product REF Product;
1902 [Key, Description (
1903 "The PhysicalElement which is a part of the Product.") ]
1904 CIM_PhysicalElement REF Component;
1905 };
1906
1907
1908 // ==================================================================
1909 // FRUPhysicalElements
1910 // ==================================================================
1911 [Association, Aggregation, Description (
1912 mike 1.2 "Indicates the PhysicalElements that make up a FRU.") ]
1913 class CIM_FRUPhysicalElements {
1914 [Max (1), Aggregate, Key, Description (
1915 "The FRU.") ]
1916 CIM_FRU REF FRU;
1917 [Key, Description (
1918 "The PhysicalElement which is a part of the FRU.") ]
1919 CIM_PhysicalElement REF Component;
1920 };
1921
1922
1923 // ==================================================================
1924 // FRUIncludesProduct
1925 // ==================================================================
1926 [Association, Aggregation, Description (
1927 "Indicates that a FRU may be composed of other Product(s).") ]
1928 class CIM_FRUIncludesProduct {
1929 [Max (1), Aggregate, Key, Description (
1930 "The FRU.") ]
1931 CIM_FRU REF FRU;
1932 [Key, Description (
1933 mike 1.2 "The Product which is a part of the FRU.") ]
1934 CIM_Product REF Component;
1935 };
1936
1937
1938 // ==================================================================
1939 // StatisticalInformation
1940 // ==================================================================
1941 [Abstract, Description (
1942 "CIM_StatisticalInformation is a root class for any arbitrary "
1943 "collection of statistical data and/or metrics applicable to "
1944 "one or more ManagedSystemElements.") ]
1945 class CIM_StatisticalInformation : CIM_ManagedElement {
1946 [MaxLen (256), Description (
1947 "The Name property defines the label by which the statistic "
1948 "or metric is known. When subclassed, the property can be "
1949 "overridden to be a Key property. ") ]
1950 string Name;
1951 };
1952
1953
1954 mike 1.2 // ==================================================================
1955 // Statistics
1956 // ==================================================================
1957 [Association, Description (
1958 "CIM_Statistics is an association that relates Managed"
1959 "Elements to the StatisticalGroup(s) that apply to them.") ]
1960 class CIM_Statistics {
1961 [Key, Description (
1962 "The statistic information/object.") ]
1963 CIM_StatisticalInformation REF Stats;
1964 [Key, Description (
1965 "The ManagedElement for which statistical or metric "
1966 "data is defined.") ]
1967 CIM_ManagedElement REF Element;
1968 };
1969
1970
1971 // ==================================================================
1972 // RelatedStatistics
1973 // ==================================================================
1974 [Association, Description(
1975 mike 1.2 "CIM_RelatedStatistics is an association that defines "
1976 "hierarchies and/or dependencies of related CIM_Statistical"
1977 "Information classes.") ]
1978 class CIM_RelatedStatistics {
1979 [Key, Description (
1980 "The statistic information/object.") ]
1981 CIM_StatisticalInformation REF Stats;
1982 [Key, Description (
1983 "The related statistics or metrics.") ]
1984 CIM_StatisticalInformation REF RelatedStats;
1985 };
1986
1987
1988 // ==================================================================
1989 // SystemStatisticalInformation
1990 // ==================================================================
1991 [Description (
1992 "Statistical information associated with a System object "
1993 "or one of its subclasses.") ]
1994 class CIM_SystemStatisticalInformation : CIM_StatisticalInformation {
1995 [Propagated("CIM_System.CreationClassName"), Key,
1996 mike 1.2 MaxLen (256), Description (
1997 "The scoping System's CreationClassName.") ]
1998 string SystemCreationClassName;
1999 [Propagated("CIM_System.Name"), Key, MaxLen (256),
2000 Description ("The scoping System's Name.") ]
2001 string SystemName;
2002 [Key, MaxLen (256), Description (
2003 "CreationClassName indicates the name of the class or the "
2004 "subclass used in the creation of an instance. When used "
2005 "with the other key properties of this class, this property "
2006 "allows all instances of this class and its subclasses to "
2007 "be uniquely identified.") ]
2008 string CreationClassName;
2009 [Key, MaxLen (256), Override ("Name"), Description (
2010 "The Name property, inherited from StatisticalInformation, "
2011 "serves as part of the object key.") ]
2012 string Name;
2013 };
2014
2015
2016 // ==================================================================
2017 mike 1.2 // SystemStatistics
2018 // ==================================================================
2019 [Association, Description (
2020 "SystemStatistics relates the SystemStatisticalInformation "
2021 "class to the System to which it applies.") ]
2022 class CIM_SystemStatistics : CIM_Statistics {
2023 [Override ("Stats"), Weak, Description (
2024 "The statistical object.") ]
2025 CIM_SystemStatisticalInformation REF Stats;
2026 [Override ("Element"), Min(1), Max(1),
2027 Description ( "The System to which the statistics apply.") ]
2028 CIM_System REF Element;
2029 };
2030
2031
2032 // ==================================================================
2033 // ServiceStatisticalInformation
2034 // ==================================================================
2035 [Description (
2036 "Statistical information associated with a Service object "
2037 "or one of its subclasses.") ]
2038 mike 1.2 class CIM_ServiceStatisticalInformation : CIM_StatisticalInformation {
2039 [Propagated("CIM_Service.SystemCreationClassName"), Key,
2040 MaxLen (256), Description (
2041 "The scoping System's CreationClassName.") ]
2042 string SystemCreationClassName;
2043 [Propagated("CIM_Service.SystemName"), Key, MaxLen (256),
2044 Description ("The scoping System's Name.") ]
2045 string SystemName;
2046 [Propagated("CIM_Service.CreationClassName"), Key,
2047 MaxLen (256), Description (
2048 "The scoping Service's CreationClassName.") ]
2049 string ServiceCreationClassName;
2050 [Propagated("CIM_Service.Name"), Key, MaxLen (256),
2051 Description ("The scoping Service's Name.") ]
2052 string ServiceName;
2053 [Key, MaxLen (256), Description (
2054 "CreationClassName indicates the name of the class or the "
2055 "subclass used in the creation of an instance. When used "
2056 "with the other key properties of this class, this property "
2057 "allows all instances of this class and its subclasses to "
2058 "be uniquely identified.") ]
2059 mike 1.2 string CreationClassName;
2060 [Key, MaxLen (256), Override ("Name"), Description (
2061 "The Name property, inherited from StatisticalInformation, "
2062 "serves as part of the object key.") ]
2063 string Name;
2064 };
2065
2066
2067 // ==================================================================
2068 // ServiceStatistics
2069 // ==================================================================
2070 [Association, Description (
2071 "ServiceStatistics relates the ServiceStatisticalInformation "
2072 "class to the Service to which it applies.") ]
2073 class CIM_ServiceStatistics : CIM_Statistics {
2074 [Override ("Stats"), Weak,
2075 Description ( "The statistical object.") ]
2076 CIM_ServiceStatisticalInformation REF Stats;
2077 [Override ("Element"), Min(1), Max(1),
2078 Description (
2079 "The Service to which the statistics apply.") ]
2080 mike 1.2 CIM_Service REF Element;
2081 };
2082
2083
2084 // ==================================================================
2085 // SAPStatisticalInformation
2086 // ==================================================================
2087 [Description (
2088 "Statistical information associated with a Service"
2089 "AccessPoint object or one of its subclasses.") ]
2090 class CIM_SAPStatisticalInformation : CIM_StatisticalInformation {
2091 [Propagated("CIM_ServiceAccessPoint.SystemCreationClassName"),
2092 Key, MaxLen (256), Description (
2093 "The scoping System's CreationClassName.") ]
2094 string SystemCreationClassName;
2095 [Propagated("CIM_ServiceAccessPoint.SystemName"), Key,
2096 MaxLen (256), Description ("The scoping System's Name.") ]
2097 string SystemName;
2098 [Propagated("CIM_ServiceAccessPoint.CreationClassName"),
2099 Key, MaxLen (256), Description (
2100 "The scoping SAP's CreationClassName.") ]
2101 mike 1.2 string SAPCreationClassName;
2102 [Propagated("CIM_ServiceAccessPoint.Name"), Key,
2103 MaxLen (256), Description ("The scoping SAP's Name.") ]
2104 string SAPName;
2105 [Key, MaxLen (256), Description (
2106 "CreationClassName indicates the name of the class or the "
2107 "subclass used in the creation of an instance. When used "
2108 "with the other key properties of this class, this property "
2109 "allows all instances of this class and its subclasses to "
2110 "be uniquely identified.") ]
2111 string CreationClassName;
2112 [Key, MaxLen (256), Override ("Name"), Description (
2113 "The Name property, inherited from StatisticalInformation, "
2114 "serves as part of the object key.") ]
2115 string Name;
2116 };
2117
2118
2119 // ==================================================================
2120 // SAPStatistics
2121 // ==================================================================
2122 mike 1.2 [Association, Description (
2123 "SAPStatistics relates the SAPStatisticalInformation "
2124 "class to the ServiceAccessPoint to which it applies. ") ]
2125 class CIM_SAPStatistics : CIM_Statistics {
2126 [Override ("Stats"), Weak,
2127 Description ( "The statistical object.") ]
2128 CIM_SAPStatisticalInformation REF Stats;
2129 [Override ("Element"), Min(1), Max(1), Description (
2130 "The ServiceAccessPoint to which the statistics apply.") ]
2131 CIM_ServiceAccessPoint REF Element;
2132 };
2133
2134
2135 // ==================================================================
2136 // DeviceStatisticalInformation
2137 // ==================================================================
2138 [Description (
2139 "Statistical information associated with a LogicalDevice "
2140 "or one of its subclasses.") ]
2141 class CIM_DeviceStatisticalInformation : CIM_StatisticalInformation {
2142 [Propagated("CIM_LogicalDevice.SystemCreationClassName"), Key,
2143 mike 1.2 MaxLen (256), Description (
2144 "The scoping System's CreationClassName.") ]
2145 string SystemCreationClassName;
2146 [Propagated("CIM_LogicalDevice.SystemName"), Key, MaxLen (256),
2147 Description ("The scoping System's Name.") ]
2148 string SystemName;
2149 [Propagated("CIM_LogicalDevice.CreationClassName"), Key,
2150 MaxLen (256),
2151 Description ("The scoping Device's CreationClassName.") ]
2152 string DeviceCreationClassName;
2153 [Propagated("CIM_LogicalDevice.DeviceID"), Key, MaxLen (64),
2154 Description ("The scoping Device's ID.") ]
2155 string DeviceID;
2156 [Key, MaxLen (256), Description (
2157 "CreationClassName indicates the name of the class or the "
2158 "subclass used in the creation of an instance. When used "
2159 "with the other key properties of this class, this property "
2160 "allows all instances of this class and its subclasses to "
2161 "be uniquely identified.") ]
2162 string CreationClassName;
2163 [Key, MaxLen (256), Override ("Name"), Description (
2164 mike 1.2 "The Name property, inherited from StatisticalInformation, "
2165 "serves as part of the object key.") ]
2166 string Name;
2167 };
2168
2169
2170 // ==================================================================
2171 // DeviceStatistics
2172 // ==================================================================
2173 [Association, Description (
2174 "DeviceStatistics relates the DeviceStatisticalInformation "
2175 "class to the LogicalDevice to which it applies. ") ]
2176 class CIM_DeviceStatistics : CIM_Statistics {
2177 [Override ("Stats"), Weak,
2178 Description ( "The statistical object.") ]
2179 CIM_DeviceStatisticalInformation REF Stats;
2180 [Override ("Element"), Min(1), Max(1),
2181 Description ("The Device to which the statistics apply.") ]
2182 CIM_LogicalDevice REF Element;
2183 };
2184
2185 mike 1.2
2186 // ==================================================================
2187 // PhysicalStatisticalInformation
2188 // ==================================================================
2189 [Description (
2190 "Statistical information associated with a PhysicalElement "
2191 "or one of its subclasses.") ]
2192 class CIM_PhysicalStatisticalInformation : CIM_StatisticalInformation {
2193 [Propagated("CIM_PhysicalElement.CreationClassName"), Key,
2194 MaxLen (256),
2195 Description ("The scoping Element's CreationClassName.") ]
2196 string PhysicalCreationClassName;
2197 [Propagated("CIM_PhysicalElement.Tag"), Key, MaxLen (256),
2198 Description ("The scoping Element's identifying Tag.") ]
2199 string Tag;
2200 [Key, MaxLen (256), Description (
2201 "CreationClassName indicates the name of the class or the "
2202 "subclass used in the creation of an instance. When used "
2203 "with the other key properties of this class, this property "
2204 "allows all instances of this class and its subclasses to "
2205 "be uniquely identified.") ]
2206 mike 1.2 string CreationClassName;
2207 [Key, MaxLen (256), Override ("Name"), Description (
2208 "The Name property, inherited from StatisticalInformation, "
2209 "serves as part of the object key.") ]
2210 string Name;
2211 };
2212
2213
2214 // ==================================================================
2215 // PhysicalStatistics
2216 // ==================================================================
2217 [Association, Description (
2218 "PhysicalStatistics relates the PhysicalStatisticalInformation "
2219 "class to the PhysicalElement to which it applies. ") ]
2220 class CIM_PhysicalStatistics : CIM_Statistics {
2221 [Override ("Stats"), Weak,
2222 Description ( "The statistical object.") ]
2223 CIM_PhysicalStatisticalInformation REF Stats;
2224 [Override ("Element"), Min(1), Max(1), Description (
2225 "The PhysicalElement to which the statistics apply.") ]
2226 CIM_PhysicalElement REF Element;
2227 mike 1.2 };
2228
2229
2230 // ==================================================================
2231 //
2232 // 3 - Settings and Configuration
2233 //
2234 // ==================================================================
2235 // ===================================================================
2236 // Configuration
2237 // ===================================================================
2238 [Description (
2239 "The Configuration object allows the grouping of sets of "
2240 "parameters (defined in Setting objects) and dependencies for "
2241 "one or more ManagedSystemElements. The Configuration object "
2242 "represents a certain behavior, or a desired functional state "
2243 "for the ManagedSystemElements. The desired functional state "
2244 "is typically driven by external requirements such as time or "
2245 "location. For example, to connect to a Mail System from "
2246 "'home', a dependency on a modem exists, but a dependency on "
2247 "a network adapter exists at 'work'. Settings for the "
2248 mike 1.2 "pertinent LogicalDevices (in this example, POTSModem and "
2249 "NetworkAdapter) can be defined and aggregated by the "
2250 "Configuration. Therefore, two 'Connect to Mail' "
2251 "Configurations may be defined grouping the relevant "
2252 "dependencies and Setting objects.") ]
2253 class CIM_Configuration : CIM_ManagedElement {
2254 [Key, MaxLen (256), Description (
2255 "The label by which the Configuration object is known.") ]
2256 string Name;
2257 };
2258
2259
2260 // ===================================================================
2261 // ConfigurationComponent
2262 // ===================================================================
2263 [Association, Aggregation, Description (
2264 "ConfigurationComponent aggregates 'lower-level' "
2265 "Configuration objects into a 'high-level' Configuration. "
2266 "This enables the assembly of complex Configurations by "
2267 "grouping together simpler ones. For example, a logon policy "
2268 "for the United States could consist of two Configuration "
2269 mike 1.2 "groups, one for the east coast and one for the west coast. "
2270 "Each of these could in turn consist of multiple "
2271 "Configurations to handle different aspects of the logon "
2272 "process.") ]
2273 class CIM_ConfigurationComponent {
2274 [Aggregate, Key, Description (
2275 "The Configuration that aggregates additional "
2276 "Configurations." ) ]
2277 CIM_Configuration REF ConfigGroup;
2278 [Key, Description (
2279 "A Configuration that is part of a 'higher-level' "
2280 "Configuration.") ]
2281 CIM_Configuration REF ConfigComponent;
2282 };
2283
2284
2285 // ===================================================================
2286 // ElementConfiguration
2287 // ===================================================================
2288 [Association, Description (
2289 "This association relates a Configuration object to one or "
2290 mike 1.2 "more ManagedSystemElements. The Configuration object "
2291 "represents a certain behavior, or a desired functional state "
2292 "for the associated ManagedSystemElements.") ]
2293 class CIM_ElementConfiguration {
2294 [Key, Description ("The ManagedSystemElement.")]
2295 CIM_ManagedSystemElement REF Element;
2296 [Key, Description (
2297 "The Configuration object that groups the Settings and "
2298 "dependencies associated with the ManagedSystemElement.") ]
2299 CIM_Configuration REF Configuration;
2300 };
2301
2302
2303 // ===================================================================
2304 // CollectionConfiguration
2305 // ===================================================================
2306 [Association, Description (
2307 "This association relates a Configuration object to one or "
2308 "more CollectionOfMSEs objects. The Configuration object "
2309 "represents a certain behavior, or a desired functional state "
2310 "for the associated Collection.") ]
2311 mike 1.2 class CIM_CollectionConfiguration {
2312 [Key, Description ("The CollectionOfMSEs.") ]
2313 CIM_CollectionOfMSEs REF Collection;
2314 [Key, Description (
2315 "The Configuration object that groups the Settings and "
2316 "dependencies associated with the Collection.") ]
2317 CIM_Configuration REF Configuration;
2318 };
2319
2320
2321 // ===================================================================
2322 // Setting
2323 // ===================================================================
2324 [Abstract, Description (
2325 "The Setting class represents configuration-related and "
2326 "operational parameters for one or more ManagedSystem"
2327 "Element(s). A ManagedSystemElement may have multiple Setting "
2328 "objects associated with it. The current operational values "
2329 "for an Element's parameters are reflected by properties in "
2330 "the Element itself or by properties in its associations. "
2331 "These properties do not have to be the same values present "
2332 mike 1.2 "in the Setting object. For example, a modem may have a "
2333 "Setting baud rate of 56Kb/sec but be operating "
2334 "at 19.2Kb/sec.") ]
2335 class CIM_Setting : CIM_ManagedElement {
2336 [MaxLen (256), Description (
2337 "The identifier by which the Setting object is known.") ]
2338 string SettingID;
2339 [Description (
2340 "The VerifyOKToApplyToMSE method is used to verify that "
2341 "this Setting can be 'applied' to the referenced Managed"
2342 "SystemElement, at the given time or time interval. This "
2343 "method takes three input parameters: MSE (the Managed"
2344 "SystemElement that is being verified), TimeToApply (which, "
2345 "being a datetime, can be either a specific time or a time "
2346 "interval), and MustBeCompletedBy (which indicates the "
2347 "required completion time for the method). The return "
2348 "value should be 0 if it is OK to apply the Setting, 1 if "
2349 "the method is not supported, 2 if the Setting can not be "
2350 "applied within the specified times, and any other number "
2351 "if an error occurred. In a subclass, the "
2352 "set of possible return codes could be specified, using a "
2353 mike 1.2 "ValueMap qualifier on the method. The strings to which the "
2354 "ValueMap contents are 'translated' may also be specified in "
2355 "the subclass as a Values array qualifier.") ]
2356 uint32 VerifyOKToApplyToMSE(
2357 [IN] CIM_ManagedSystemElement ref MSE,
2358 [IN] datetime TimeToApply,
2359 [IN] datetime MustBeCompletedBy);
2360 [Description (
2361 "The ApplyToMSE method performs the actual application of "
2362 "the Setting to the referenced ManagedSystemElement. It "
2363 "takes three input parameters: MSE (the ManagedSystem"
2364 "Element to which the Setting is being applied), "
2365 "TimeToApply (which, being a datetime, can be either a "
2366 "specific time or a time interval), and MustBeCompletedBy "
2367 "(which indicates the required completion time for the "
2368 "method). Note that the semantics of this method are that "
2369 "individual Settings are either wholly applied or not "
2370 "applied at all to their target ManagedSystemElement. The "
2371 "return value should be 0 if the Setting is successfully "
2372 "applied to the referenced ManagedSystemElement, 1 if the "
2373 "method is not supported, 2 if the Setting was not applied "
2374 mike 1.2 "within the specified times, and any other number if an "
2375 "error occurred. In a subclass, the set of possible return "
2376 "codes could be specified, using a ValueMap qualifier on "
2377 "the method. The strings to which the ValueMap contents are "
2378 "'translated' may also be specified in the subclass as a "
2379 "Values array qualifier.\n"
2380 "Note: If an error occurs in applying the Setting to a "
2381 "ManagedSystemElement, the Element must be configured as "
2382 "when the 'apply' attempt began. That is, the Element "
2383 "should NOT be left in an indeterminate state.") ]
2384 uint32 ApplyToMSE(
2385 [IN] CIM_ManagedSystemElement ref MSE,
2386 [IN] datetime TimeToApply,
2387 [IN] datetime MustBeCompletedBy);
2388 [Description (
2389 "The VerifyOKToApplyToCollection method is used to verify "
2390 "that this Setting can be 'applied' to the referenced "
2391 "Collection of ManagedSystemElements, at the given time "
2392 "or time interval, without causing adverse effects to "
2393 "either the Collection itself or its surrounding "
2394 "environment. The net effect is to execute the "
2395 mike 1.2 "VerifyOKToApply method against each of the Elements "
2396 "aggregated by the Collection. This method takes three "
2397 "input parameters: Collection (the Collection of Managed"
2398 "SystemElements that is being verified), TimeToApply (which, "
2399 "being a datetime, can be either a specific time or a time "
2400 "interval), and MustBeCompletedBy (which indicates the "
2401 "required completion time for the method). The return "
2402 "value should be 0 if it is OK to apply the Setting, 1 if "
2403 "the method is not supported, 2 if the Setting can not be "
2404 "applied within the specified times, and any other number if "
2405 "an error occurred. One output parameter is defined - "
2406 "CanNotApply - which is a string array that lists the keys of "
2407 "the ManagedSystemElements to which the Setting can NOT be "
2408 "applied. This enables those Elements to be revisited and "
2409 "either fixed, or other corrective action taken.\n"
2410 "In a subclass, the set of possible return codes could be "
2411 "specified, using a ValueMap qualifier on the method. The "
2412 "strings to which the ValueMap contents are 'translated' may "
2413 "also be specified in the subclass as a Values array "
2414 "qualifier.") ]
2415 uint32 VerifyOKToApplyToCollection (
2416 mike 1.2 [IN] CIM_CollectionOfMSEs ref Collection,
2417 [IN] datetime TimeToApply,
2418 [IN] datetime MustBeCompletedBy,
2419 [OUT] string CanNotApply[]);
2420 [Description (
2421 "The ApplyToCollection method performs the application of "
2422 "the Setting to the referenced Collection of ManagedSystem"
2423 "Elements. The net effect is to execute the ApplyToMSE "
2424 "method against each of the Elements aggregated by the "
2425 "Collection. If the input value ContinueOnError is FALSE, "
2426 "this method applies the Setting to all Elements in the "
2427 "Collection until it encounters an error, in which case it "
2428 "stops execution, logs the key of the Element that caused "
2429 "the error in the CanNotApply array, and issues a return code "
2430 "of 2. If the input value ContinueOnError is TRUE, then this "
2431 "method applies the Setting to all the ManagedSystemElements "
2432 "in the Collection, and reports the failed Elements in the "
2433 "array, CanNotApply. For the latter, processing will continue "
2434 "until the method is applied to all Elements in the "
2435 "Collection, regardless of any errors encountered. The key of "
2436 "each ManagedSystemElement to which the Setting could not be "
2437 mike 1.2 "applied is logged into the CanNotApply array. This method "
2438 "takes four input parameters: Collection (the Collection of "
2439 "Elements to which the Setting is being applied), TimeToApply "
2440 "(which, being a datetime, can be either a specific time or a "
2441 "time interval), ContinueOnError (TRUE means to continue "
2442 "processing on encountering an error), and MustBeCompletedBy "
2443 "(which indicates the required completion time for the "
2444 "method). The return value should be 0 if the Setting is "
2445 "successfully applied to the referenced Collection, 1 if the "
2446 "method is not supported, 2 if the Setting was not applied "
2447 "within the specified times, 3 if the Setting can not be "
2448 "applied using the input value for ContinueOnError, and any "
2449 "other number if an error occurred. One output parameter is "
2450 "defined, CanNotApplystring, which is an array that lists "
2451 "the keys of the ManagedSystemElements to which the Setting "
2452 "was NOT able to be applied. This output parameter has "
2453 "meaning only when the ContinueOnError parameter is TRUE.\n"
2454 "In a subclass, the set of possible return codes could be "
2455 "specified, using a ValueMap qualifier on the method. The "
2456 "strings to which the ValueMap contents are 'translated' may "
2457 "also be specified in the subclass as a Values array "
2458 mike 1.2 "qualifier.\n"
2459 "Note: if an error occurs in applying the Setting to a "
2460 "ManagedSystemElement in the Collection, the Element must be "
2461 "configured as when the 'apply' attempt began. That is, the "
2462 "Element should NOT be left in an indeterminate state.") ]
2463 uint32 ApplyToCollection(
2464 [IN] CIM_CollectionOfMSEs ref Collection,
2465 [IN] datetime TimeToApply,
2466 [IN] boolean ContinueOnError,
2467 [IN] datetime MustBeCompletedBy,
2468 [OUT] string CanNotApply[]);
2469 [Description (
2470 "The VerifyOKToApplyIncrementalChangeToMSE method "
2471 "is used to verify that a subset of the properties in "
2472 "this Setting can be 'applied' to the referenced Managed"
2473 "SystemElement, at the given time or time interval. This "
2474 "method takes four input parameters: MSE (the Managed"
2475 "SystemElement that is being verified), TimeToApply (which, "
2476 "being a datetime, can be either a specific time or a time "
2477 "interval), MustBeCompletedBy (which indicates the "
2478 "required completion time for the method), and a "
2479 mike 1.2 "PropertiesToApply array (which contains a list of the "
2480 "property names whose values will be verified. "
2481 "If they array is null or empty or constains the string \"all\" "
2482 "as a property name then all Settings properties shall be "
2483 "verified. If it is set to \"none\" then no Settings properties "
2484 "will be verified). The return "
2485 "value should be 0 if it is OK to apply the Setting, 1 if "
2486 "the method is not supported, 2 if the Setting can not be "
2487 "applied within the specified times, and any other number "
2488 "if an error occurred. In a subclass, the "
2489 "set of possible return codes could be specified, using a "
2490 "ValueMap qualifier on the method. The strings to which the "
2491 "ValueMap contents are 'translated' may also be specified in "
2492 "the subclass as a Values array qualifier.") ]
2493 uint32 VerifyOKToApplyIncrementalChangeToMSE(
2494 [IN] CIM_ManagedSystemElement ref MSE,
2495 [IN] datetime TimeToApply,
2496 [IN] datetime MustBeCompletedBy,
2497 [IN] string PropertiesToApply[]);
2498 [Description (
2499 "The ApplyIncrementalChangeToMSE method performs the "
2500 mike 1.2 "actual application of a subset of the properties in "
2501 "the Setting to the referenced ManagedSystemElement. It "
2502 "takes four input parameters: MSE (the ManagedSystem"
2503 "Element to which the Setting is being applied), "
2504 "TimeToApply (which, being a datetime, can be either a "
2505 "specific time or a time interval), MustBeCompletedBy "
2506 "(which indicates the required completion time for the "
2507 "method), and a "
2508 "PropertiesToApply array (which contains a list of the "
2509 "property names whose values will be applied. If a "
2510 "property is not in this list, it will be ignored by the apply. "
2511 "If they array is null or empty or constains the string \"all\" "
2512 "as a property name then all Settings properties shall be "
2513 "applied. If it is set to \"none\" then no Settings properties "
2514 "will be applied. ). "
2515 "Note that the semantics of this method are that "
2516 "individual Settings are either wholly applied or not "
2517 "applied at all to their target ManagedSystemElement. The "
2518 "return value should be 0 if the Setting is successfully "
2519 "applied to the referenced ManagedSystemElement, 1 if the "
2520 "method is not supported, 2 if the Setting was not applied "
2521 mike 1.2 "within the specified times, and any other number if an "
2522 "error occurred. In a subclass, the set of possible return "
2523 "codes could be specified, using a ValueMap qualifier on "
2524 "the method. The strings to which the ValueMap contents are "
2525 "'translated' may also be specified in the subclass as a "
2526 "Values array qualifier.\n"
2527 "Note: If an error occurs in applying the Setting to a "
2528 "ManagedSystemElement, the Element must be configured as "
2529 "when the 'apply' attempt began. That is, the Element "
2530 "should NOT be left in an indeterminate state.") ]
2531 uint32 ApplyIncrementalChangeToMSE(
2532 [IN] CIM_ManagedSystemElement ref MSE,
2533 [IN] datetime TimeToApply,
2534 [IN] datetime MustBeCompletedBy,
2535 [IN] string PropertiesToApply[]);
2536 [Description (
2537 "The VerifyOKToApplyIncrementalChangeToCollection method "
2538 "is used to verify that a subset of the properties in "
2539 "this Setting can be 'applied' to the referenced "
2540 "Collection of ManagedSystemElements, at the given time "
2541 "or time interval, without causing adverse effects to "
2542 mike 1.2 "either the Collection itself or its surrounding "
2543 "environment. The net effect is to execute the "
2544 "VerifyOKToApplyIncrementalChangeToMSE method "
2545 "against each of the Elements "
2546 "aggregated by the Collection. This method takes three "
2547 "input parameters: Collection (the Collection of Managed"
2548 "SystemElements that is being verified), TimeToApply (which, "
2549 "being a datetime, can be either a specific time or a time "
2550 "interval), MustBeCompletedBy (which indicates the "
2551 "required completion time for the method), and a "
2552 "PropertiesToApply array (which contains a list of the "
2553 "property names whose values will be verified. "
2554 "If they array is null or empty or constains the string \"all\" "
2555 "as a property name then all Settings properties shall be "
2556 "verified. If it is set to \"none\" then no Settings properties "
2557 "will be verified). The return "
2558 "value should be 0 if it is OK to apply the Setting, 1 if "
2559 "the method is not supported, 2 if the Setting can not be "
2560 "applied within the specified times, and any other number if "
2561 "an error occurred. One output parameter is defined - "
2562 "CanNotApply - which is a string array that lists the keys of "
2563 mike 1.2 "the ManagedSystemElements to which the Setting can NOT be "
2564 "applied. This enables those Elements to be revisited and "
2565 "either fixed, or other corrective action taken.\n"
2566 "In a subclass, the set of possible return codes could be "
2567 "specified, using a ValueMap qualifier on the method. The "
2568 "strings to which the ValueMap contents are 'translated' may "
2569 "also be specified in the subclass as a Values array "
2570 "qualifier.") ]
2571 uint32 VerifyOKToApplyIncrementalChangeToCollection (
2572 [IN] CIM_CollectionOfMSEs ref Collection,
2573 [IN] datetime TimeToApply,
2574 [IN] datetime MustBeCompletedBy,
2575 [IN] string PropertiesToApply[],
2576 [OUT] string CanNotApply[]);
2577 [Description (
2578 "The ApplyIncrementalChangeToCollection method performs "
2579 "the application of a subset of the properties in this "
2580 "Setting to the referenced Collection of ManagedSystem"
2581 "Elements. The net effect is to execute the "
2582 "ApplyIncrementalChangeToMSE "
2583 "method against each of the Elements aggregated by the "
2584 mike 1.2 "Collection. If the input value ContinueOnError is FALSE, "
2585 "this method applies the Setting to all Elements in the "
2586 "Collection until it encounters an error, in which case it "
2587 "stops execution, logs the key of the Element that caused "
2588 "the error in the CanNotApply array, and issues a return code "
2589 "of 2. If the input value ContinueOnError is TRUE, then this "
2590 "method applies the Setting to all the ManagedSystemElements "
2591 "in the Collection, and reports the failed Elements in the "
2592 "array, CanNotApply. For the latter, processing will continue "
2593 "until the method is applied to all Elements in the "
2594 "Collection, regardless of any errors encountered. The key of "
2595 "each ManagedSystemElement to which the Setting could not be "
2596 "applied is logged into the CanNotApply array. This method "
2597 "takes four input parameters: Collection (the Collection of "
2598 "Elements to which the Setting is being applied), TimeToApply "
2599 "(which, being a datetime, can be either a specific time or a "
2600 "time interval), ContinueOnError (TRUE means to continue "
2601 "processing on encountering an error), and MustBeCompletedBy "
2602 "(which indicates the required completion time for the "
2603 "method), and a PropertiesToApply array (which contains a list "
2604 "of the property names whose values will be applied. If a "
2605 mike 1.2 "property is not in this list, it will be ignored by the apply. "
2606 "If they array is null or empty or constains the string \"all\" "
2607 "as a property name then all Settings properties shall be "
2608 "applied. If it is set to \"none\" then no Settings properties "
2609 "will be applied. ). "
2610 "The return value should be 0 if the Setting is "
2611 "successfully applied to the referenced Collection, 1 if the "
2612 "method is not supported, 2 if the Setting was not applied "
2613 "within the specified times, 3 if the Setting can not be "
2614 "applied using the input value for ContinueOnError, and any "
2615 "other number if an error occurred. One output parameter is "
2616 "defined, CanNotApplystring, which is an array that lists "
2617 "the keys of the ManagedSystemElements to which the Setting "
2618 "was NOT able to be applied. This output parameter has "
2619 "meaning only when the ContinueOnError parameter is TRUE.\n"
2620 "In a subclass, the set of possible return codes could be "
2621 "specified, using a ValueMap qualifier on the method. The "
2622 "strings to which the ValueMap contents are 'translated' may "
2623 "also be specified in the subclass as a Values array "
2624 "qualifier.\n"
2625 "Note: if an error occurs in applying the Setting to a "
2626 mike 1.2 "ManagedSystemElement in the Collection, the Element must be "
2627 "configured as when the 'apply' attempt began. That is, the "
2628 "Element should NOT be left in an indeterminate state.") ]
2629 uint32 ApplyIncrementalChangeToCollection(
2630 [IN] CIM_CollectionOfMSEs ref Collection,
2631 [IN] datetime TimeToApply,
2632 [IN] boolean ContinueOnError,
2633 [IN] datetime MustBeCompletedBy,
2634 [IN] string PropertiesToApply[],
2635 [OUT] string CanNotApply[]);
2636 };
2637
2638
2639 // ===================================================================
2640 // ElementSetting
2641 // ===================================================================
2642 [Association, Description (
2643 "ElementSetting represents the association between Managed"
2644 "SystemElements and the Setting class(es) defined for them.") ]
2645 class CIM_ElementSetting {
2646 [Key, Description ("The ManagedSystemElement.") ]
2647 mike 1.2 CIM_ManagedSystemElement REF Element;
2648 [Key, Description (
2649 "The Setting object associated with the ManagedSystem"
2650 "Element.") ]
2651 CIM_Setting REF Setting;
2652 };
2653
2654
2655 // ===================================================================
2656 // DefaultSetting
2657 // ===================================================================
2658 [Association, Description (
2659 "DefaultSetting represents the association between a Managed"
2660 "SystemElement and the single Setting class that is defined "
2661 "to be the default setting for this Element.") ]
2662 class CIM_DefaultSetting : CIM_ElementSetting {
2663 [Override ("Setting"), Max (1), Description (
2664 "The Setting object which is the default.") ]
2665 CIM_Setting REF Setting;
2666 };
2667
2668 mike 1.2
2669 // ===================================================================
2670 // DependencyContext
2671 // ===================================================================
2672 [Association, Aggregation, Description (
2673 "This relationship associates a Dependency with one or more "
2674 "Configuration objects. For example, a ComputerSystem's "
2675 "dependencies could change based on the site/network to which "
2676 "the System is attached.") ]
2677 class CIM_DependencyContext {
2678 [Aggregate, Key, Description (
2679 "The Configuration object that aggregates the Dependency.") ]
2680 CIM_Configuration REF Context;
2681 [Key, Description ("An aggregated Dependency.") ]
2682 CIM_Dependency REF Dependency;
2683 };
2684
2685
2686 // ===================================================================
2687 // SettingContext
2688 // ===================================================================
2689 mike 1.2 [Association, Aggregation, Description (
2690 "This relationship associates Configuration objects with "
2691 "Setting objects. For example, a NetworkAdapter's Settings "
2692 "could change based on the site/network to which its hosting "
2693 "ComputerSystem is attached. In this case, the ComputerSystem "
2694 "would have two different Configuration objects, corresponding "
2695 "to the differences in network configuration for the two network "
2696 "segments. Configuration A would aggregate a Setting object for "
2697 "the NetworkAdapter when operating on segment \"ANet\", whereas "
2698 "Configuration B would aggregate a different NetworkAdapter "
2699 "Setting object, specific to segment \"BNet\". Note that many "
2700 "Settings of the computer are independent of the network "
2701 "Configuration. For example, both Configurations A and B would "
2702 "aggregate the same Setting object for the ComputerSystem's "
2703 "MonitorResolution.") ]
2704 class CIM_SettingContext {
2705 [Aggregate, Key, Description (
2706 "The Configuration object that aggregates the Setting.") ]
2707 CIM_Configuration REF Context;
2708 [Key, Description ("An aggregated Setting.")]
2709 CIM_Setting REF Setting;
2710 mike 1.2 };
2711
2712
2713 // ===================================================================
2714 // CollectionSetting
2715 // ===================================================================
2716 [Association, Description (
2717 "CollectionSetting represents the association between a "
2718 "CollectionOfMSEs class and the Setting class(es) defined for "
2719 "them.") ]
2720 class CIM_CollectionSetting {
2721 [Key, Description ("The CollectionOfMSEs.") ]
2722 CIM_CollectionOfMSEs REF Collection;
2723 [Key, Description (
2724 "The Setting object associated with the Collection.") ]
2725 CIM_Setting REF Setting;
2726 };
2727
2728
2729 // ==================================================================
2730 // Pragmas for new classes in premliminary release status
2731 mike 1.2 // ==================================================================
2732
2733 #pragma include ("CIM_Core26_Add.mof")
2734
2735
2736 // ===================================================================
2737 // end of file
2738 // ===================================================================
2739
|