1 karl 1.1 // ===================================================================
2 // Title: Interoperability MOF Specification 2.7
3 // Filename: CIM_Interop27.mof
4 // Version: 2.7.1
5 // Status: Preliminary
6 // Date: November 12 2002
7 // ===================================================================
8 // Copyright 2001-2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The object classes below are listed in an order that
45 // avoids forward references. Required objects, defined
46 // by other working groups, are omitted.
47 // ==================================================================
48 // 12 Nov 2002 - Version 2.7.1 Preliminary
49 // CR920 - Remove Key qualifier from the properties,
50 // NamespaceInManager.Antecedent and
51 // CIMOMStatisticalData.Instance since their
52 // superclasses have defined keys
53 // 23 Sep 2002 - Version 2.7 Preliminary
54 // CR816 - Provider Registration
55 // CR838 - Add class to collect CIMOM statistical data
56 // CR856 - Protocol Adapter Model
57 // CR858 - Correct subclassing of ProviderInModule
58 // CR859 - Add Key qualifier to ProviderModule.Name
59 // (Correcting CR816)
60 // CR890 - Corrections to CommMechanismForAdapter
61 // 09 May 2002 - Version 2.6 Final
62 // ==================================================================
63
64 karl 1.1 #pragma Locale ("en_US")
65
66
67 // ==================================================================
68 // Compile prerequisite: Core and Event MOFs
69 // ==================================================================
70
71
72 // ==================================================================
73 // WBEMService
74 // ==================================================================
75 [Abstract, Version ("2.6.0"), Description (
76 "An abstract class for WBEM services such as the "
77 "ObjectManager (CIM Server), Providers, protocol adapters, "
78 "or other pluggable components. A type of CIM_Service "
79 "that provides associated capabilities and details about the "
80 "communication capabilities, namespaces, etc. for a specific "
81 "WBEMService.") ]
82 class CIM_WBEMService : CIM_Service {
83 };
84
85 karl 1.1
86 // ==================================================================
87 // ObjectManager
88 // ==================================================================
89 [Version ("2.7.0"), Description (
90 "A type of CIM_Service that defines the capabilities of the "
91 "CIM Server in which this ObjectManager class resides. Details "
92 "related to communicating with the ObjectManager, and the "
93 "Manager's basic capabilities, are stored in instances of the "
94 "associated CommunicationMechanism class available through the "
95 "CommMechanismForManager association. It is assumed that "
96 "Basic Read operations must be supported by all "
97 "ObjectManager's in order to retrieve any additional "
98 "detail.") ]
99 class CIM_ObjectManager : CIM_WBEMService {
100
101 [Experimental, Write, Description (
102 "The GatherStatisticalData property is used to control the "
103 "gathering of statistical data made accessible through the "
104 "CIM_CIMOMStatisticalData objects. If set to true, the "
105 "data is gathered and can be accessed. If false, the "
106 karl 1.1 "CIM_CIMOMStatisticalData instance MAY exist but MUST "
107 "show zero values for the counter properties.") ]
108 boolean GatherStatisticalData = true;
109 };
110
111
112 // ==================================================================
113 // ObjectManagerCommunicationMechanism
114 // ==================================================================
115 [Version ("2.6.0"), Description (
116 "The class, ObjectManagerCommunicationMechanism, describes "
117 "access to an ObjectManager. It describes a protocol and "
118 "data encoding that can be used for communication. When all "
119 "instances of this class are enumerated for an ObjectManager "
120 "(using the CommMechanismForManager association), all possible "
121 "protocol and encoding schemes will be known. Also, specific "
122 "capabilities (for example, basic read or query) that are "
123 "supported in the protocol/encoding are described - using the "
124 "ProfilesSupported property.") ]
125 class CIM_ObjectManagerCommunicationMechanism : CIM_ServiceAccessPoint {
126
127 karl 1.1 [Required, Description (
128 "CommunicationMechanism describes an encoding and protocol "
129 "which can be used to communicate with the ObjectManager. "
130 "At this time, only one encoding and protocol are standardized "
131 "by the DMTF - \"CIM-XML\". If this is supported by an "
132 "ObjectManager, the specified string should be indicated. "
133 "Other 'standard' strings may be defined. In addition, a vendor "
134 "specific encoding/protocol string may be used."),
135 ValueMap {"0", "1", "2"},
136 Values {"Unknown", "Other", "CIM-XML"} ]
137 uint16 CommunicationMechanism;
138
139 [Description (
140 "A free-form string providing a description of the "
141 "supported protocols when 1, \"Other\", is specified in "
142 "the CommunicationMechanism."),
143 ModelCorrespondence {
144 "CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism"} ]
145 string OtherCommunicationMechanismDescription;
146
147 [Required, Description (
148 karl 1.1 "Enumerated array describing the types of operations "
149 "supported by the ObjectManager, using this encoding/protocol. "
150 "The enumeration is based on the Functional Profiles defined "
151 "for conformance in the DMTF document, Specification for CIM "
152 "Operations over HTTP."),
153 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
154 Values {"Unknown", "Other", "Basic Read", "Basic Write",
155 "Schema Manipulation", "Instance Manipulation",
156 "Association Traversal", "Query Execution",
157 "Qualifier Declaration", "Indications"} ]
158 uint16 ProfilesSupported[];
159
160 [Description (
161 "A free-form string providing a description of the "
162 "supported operations when 1, \"Other\", is specified in "
163 "the ProfilesSupported array."),
164 ModelCorrespondence {
165 "CIM_ObjectManagerCommunicationMechanism.ProfilesSupported"} ]
166 string OtherProfileDescription;
167
168 [Required, Description (
169 karl 1.1 "Boolean indicating whether the ObjectManager supports "
170 "multiple operation requests (TRUE) or only simple requests "
171 "(FALSE).") ]
172 boolean MultipleOperationsSupported;
173
174 [Required, Description (
175 "Enumerated array describing the types of authentication "
176 "supported by the ObjectManager, using this encoding/protocol. "
177 "The defined values represent the authentication defined in "
178 "the DMTF document, Specification for CIM Operations over HTTP."),
179 ValueMap {"0", "1", "2", "3", "4"},
180 Values {"Unknown", "Other", "None", "Basic", "Digest"} ]
181 uint16 AuthenticationMechanismsSupported[];
182
183 [Description (
184 "A free-form string providing a description of the "
185 "supported mechanism when 1, \"Other\", is specified in "
186 "the AuthenticationMechanismsSupported array."),
187 ModelCorrespondence {
188 "CIM_ObjectManagerCommunicationMechanism."
189 "AuthenticationMechanismsSupported"} ]
190 karl 1.1 string OtherAuthenticationDescription;
191 };
192
193
194 // ==================================================================
195 // CIMXMLCommunicationMechanism
196 // ==================================================================
197 [Version ("2.6.0"), Description (
198 "This class specializes ObjectManagerCommunicationMechanism, "
199 "adding properties specific to the CIM-XML protocol (XML "
200 "encoding and CIM Operations).") ]
201 class CIM_CIMXMLCommunicationMechanism :
202 CIM_ObjectManagerCommunicationMechanism {
203
204 [Override ("CommunicationMechanism"), Required]
205 uint16 CommunicationMechanism = 2;
206
207 [Required, Description (
208 "Enumeration describing the CIM-XML protocol version "
209 "supported by the ObjectManager."),
210 ValueMap {"0", "1"},
211 karl 1.1 Values {"Unknown", "1.0"} ]
212 uint16 CIMXMLProtocolVersion;
213
214 [Required, Description (
215 "Describes whether the CIM Server is strictly validating "
216 "(validates the XML document against the DTD) or not "
217 "(loosely validating).") ]
218 boolean CIMValidated;
219 };
220
221
222 // ==================================================================
223 // CommMechanismForManager
224 // ==================================================================
225 [Association, Version ("2.6.0"), Description (
226 "CommMechanismForManager is an association between an "
227 "ObjectManager and an ObjectManagerCommunicationMechanism "
228 "class. The latter describes a possible encoding/protocol/"
229 "set of operations for accessing the referenced "
230 "ObjectManager.") ]
231 class CIM_CommMechanismForManager : CIM_ServiceAccessBySAP {
232 karl 1.1
233 [Override ("Antecedent"), Min (1), Max (1), Description (
234 "The specific ObjectManager whose communication mechanism "
235 "is described.") ]
236 CIM_ObjectManager REF Antecedent;
237
238 [Override ("Dependent"), Min (1), Description (
239 "The encoding/protocol/set of operations that may be used "
240 "to communicate with the referenced ObjectManager.") ]
241 CIM_ObjectManagerCommunicationMechanism REF Dependent;
242 };
243
244
245 // ==================================================================
246 // Provider
247 // ==================================================================
248 [Version ("2.7.0"), Experimental, Description (
249 "A CIM Provider is a type of CIM_WBEMService that "
250 "instruments one or more aspects of the CIM Schema. A "
251 "CIM_Provider operates at the request of the "
252 "CIM_ObjectManager to perform operations on CIM objects. "
253 karl 1.1 "The properties CreationClasName, SystemCreationClassName and "
254 "SystemName can be set to empty strings. In this case, "
255 "the CIM Object Manager must interpret the properties with the "
256 "local system information.") ]
257 class CIM_Provider : CIM_WBEMService {
258
259 [Override ("Name"), Description (
260 "A human-readable name that uniquely "
261 "identifies the provider within a system.") ]
262 string Name;
263
264 [Required, Description (
265 "An implementation specific string that identifies the "
266 "handle to the provider.") ]
267 string Handle;
268 };
269
270
271 // ==================================================================
272 // ProviderCapabilities
273 // ==================================================================
274 karl 1.1 [Version ("2.7.0"), Experimental, Description (
275 "This class defines the capabilities of the associated "
276 "provider.") ]
277 class CIM_ProviderCapabilities : CIM_Capabilities {
278
279 [Required, Description (
280 "The ClassName lists the class for which the associated "
281 "Provider supplies instances, associations or indications "
282 "information. The ClassInNamespace association provides "
283 "namespace information for the listed class name.")]
284 string ClassName;
285
286 [Description (
287 "ProviderType enumerates the kind of provider "
288 "capabilities defined for the associated Provider."),
289 ValueMap {"1", "2", "3", "4", "5"},
290 Values {"Other", "Instance", "Association", "Indication",
291 "Method"},
292 ArrayType ("Indexed"),
293 ModelCorrespondence {
294 "CIM_ProviderCapabilities.OtherProviderType"} ]
295 karl 1.1 uint16 ProviderType[];
296
297 [Description (
298 "Type(s) of provider capability when \"Other\" is included "
299 "in ProviderType property array."),
300 ArrayType ("Indexed"),
301 ModelCorrespondence {"CIM_ProviderCapabilities.ProviderType"} ]
302 string OtherProviderType[];
303
304 [Description (
305 "SupportedProperties lists the properties supported "
306 "by this provider. If this array is NULL, the provider "
307 "MUST support all of the properties defined in the class. "
308 "If the provider does not support all of the properties, "
309 "the properties supported MUST be included in the array. "
310 "The array entry format is \"PropertyName\".") ]
311 string SupportedProperties[];
312
313 [Description (
314 "SupportedMethods lists the methods supported by this "
315 "provider. If this array is NULL, the provider MUST "
316 karl 1.1 "support all the methods defined in the class. "
317 "If the provider does not support all the methods, "
318 "the methods supported MUST be included in the array."
319 "The array entry format is \"MethodName\".") ]
320 string SupportedMethods[];
321 };
322
323
324 // ==================================================================
325 // ProviderModule
326 // ==================================================================
327 [Version ("2.7.0"), Experimental, Description (
328 "A ProviderModule consists of one or more Provider Services. "
329 "It can be enabled/disabled - which affects the component "
330 "Services.") ]
331 class CIM_ProviderModule : CIM_EnabledLogicalElement {
332
333 [Key, Override ("Name"), Description (
334 "A human-readable name that uniquely identifies the "
335 "Provider Module. Name is chosen as one of the keys "
336 "for correspondence with the keys/identity of the "
337 karl 1.1 "component Provider Services.") ]
338 string Name;
339
340 [Required, Description (
341 "An implementation specific string that "
342 "identifies the handle of the provider.") ]
343 string Handle;
344 };
345
346
347 // ==================================================================
348 // ProviderInModule
349 // ==================================================================
350 [Association, Aggregation, Composition, Version ("2.7.0"),
351 Experimental, Description (
352 "An association describing the Providers that are "
353 "contained in a ProviderModule.") ]
354 class CIM_ProviderInModule : CIM_Component {
355
356 [Max (1), Aggregate, Override ("GroupComponent"),
357 Description ("The CIM ProviderModule.") ]
358 karl 1.1 CIM_ProviderModule REF GroupComponent;
359
360 [Override ("PartComponent"), Description ("The CIM Providers.") ]
361 CIM_Provider REF PartComponent;
362 };
363
364
365 // ==================================================================
366 // ProviderElementCapabilities
367 // ==================================================================
368 [Association, Version ("2.7.0"), Experimental, Description (
369 "ProviderElementCapabilities is an association describing "
370 "the Capabilities that are supported by a Provider.") ]
371 class CIM_ProviderElementCapabilities : CIM_ElementCapabilities {
372
373 [Min (1), Max (1), Override ("ManagedElement"),
374 Description ("The CIM Provider.") ]
375 CIM_Provider REF ManagedElement;
376
377 [Override ("Capabilities"), Description (
378 "The CIM Provider's Capabilities.") ]
379 karl 1.1 CIM_ProviderCapabilities REF Capabilities;
380 };
381
382
383 // ==================================================================
384 // ObjectManagerIsProvider
385 // ==================================================================
386 [Association, Version ("2.7.0"), Experimental, Description (
387 "This aassociation indicates that the referenced ObjectManager "
388 "acts as a Provider for the CIM classes listed in the associated "
389 "ProviderCapabilities.") ]
390 class CIM_ObjectManagerIsProvider : CIM_LogicalIdentity {
391
392 [Override ("SystemElement"), Max (1), Description (
393 "SystemElement represents one aspect of the Logical"
394 "Element.") ]
395 CIM_ObjectManager ref SystemElement;
396
397 [Override ("SameElement"), Description (
398 "SameElement represents an alternate aspect of the "
399 "System entity.") ]
400 karl 1.1 CIM_Provider ref SameElement;
401 };
402
403
404 // ==================================================================
405 // FiltersSupported
406 // ==================================================================
407 [Association, Version ("2.7.0"), Experimental, Description (
408 "FiltersSupported is an association describing the CIM "
409 "IndicationFilters that are supported by a Provider.") ]
410 class CIM_FiltersSupported : CIM_Dependency {
411
412 [Override ("Antecedent"), Description (
413 "The CIM IndicationFilter supported for the CIM classes "
414 "listed in ClassNames array property of the referenced "
415 "ProviderCapabilities instance.") ]
416 CIM_IndicationFilter REF Antecedent;
417
418 [Override ("Dependent"), Description (
419 "The CIM Provider Capabilities.") ]
420 CIM_ProviderCapabilities REF Dependent;
421 karl 1.1 };
422
423
424 // ==================================================================
425 // ProtocolAdapter
426 // ==================================================================
427 [Version ("2.7.0"), Experimental, Description (
428 "A ProtocolAdapter is a Service of the CIM Object Manager. It "
429 "is responsible for accepting incoming requests on a particular "
430 "protocol, and translating and forwarding the request to the CIM "
431 "Object Manager. It is also responsible for translating and "
432 "sending the response from the CIM Object Manager.") ]
433 class CIM_ProtocolAdapter : CIM_WBEMService {
434
435 [Override ("Name"), Description (
436 "A human-readable name that uniquely identifies the Protocol"
437 "Adapter within a system.") ]
438 string Name;
439
440 [Required, Description (
441 "An implementation specific string that identifies the "
442 karl 1.1 "handle to the ProtocolAdapter.") ]
443 string Handle;
444
445 [Required, Description (
446 "ProtocolAdapterType enumerates the kind of Protocol"
447 "Adapter."),
448 ValueMap {"1", "2", "3"},
449 Values {"Other", "Client", "Provider"},
450 ModelCorrespondence {
451 "CIM_ProtocolAdapter.OtherProtocolAdapterType"} ]
452 uint16 ProtocolAdapterType;
453
454 [Description (
455 "The type(s) of ProtocolAdapter when \"Other\" is included "
456 "in ProtocolAdapterType property."),
457 ModelCorrespondence {
458 "CIM_ProtocolAdapter.ProtocolAdapterType"} ]
459 string OtherProtocolAdapterType;
460 };
461
462
463 karl 1.1 // ==================================================================
464 // CommMechanismForAdapter
465 // ==================================================================
466 [Association, Version ("2.7.0"), Experimental, Description (
467 "CommMechanismForAdapter is an association between an "
468 "ObjectManager's communication mechanism and a ProtocolAdapter "
469 "that supports that mechanism to translate requests and "
470 "responses for the Object Manager.") ]
471 class CIM_CommMechanismForAdapter : CIM_Dependency {
472
473 [Override ("Antecedent"), Description (
474 "The specific ProtocolAdapter whose communication mechanism "
475 "with the CIM Object Manager is described.") ]
476 CIM_ProtocolAdapter REF Antecedent;
477
478 [Override ("Dependent"), Min (1), Description (
479 "The encoding/protocol/set of operations that may be used "
480 "to communicate between the Object Manager and the "
481 "referenced ProtocolAdapter.") ]
482 CIM_ObjectManagerCommunicationMechanism REF Dependent;
483 };
484 karl 1.1
485
486 // ==================================================================
487 // Namespace
488 // ==================================================================
489 [Version ("2.6.0"), Description (
490 "Namespace provides a domain (in other words, a container), "
491 "in which the instances [of a class] are guaranteed to be "
492 "unique per the KEY qualifier definitions. It is named "
493 "relative to the CIM_ObjectManager implementation that "
494 "provides such a domain.") ]
495 class CIM_Namespace : CIM_ManagedElement {
496
497 [Propagated("CIM_ObjectManager.SystemCreationClassName"), Key,
498 MaxLen (256), Description (
499 "The scoping System's CreationClassName.") ]
500 string SystemCreationClassName;
501
502 [Propagated("CIM_ObjectManager.SystemName"), Key, MaxLen (256),
503 Description ("The scoping System's Name.") ]
504 string SystemName;
505 karl 1.1
506 [Propagated ("CIM_ObjectManager.CreationClassName"), Key,
507 MaxLen (256), Description (
508 "The scoping ObjectManager's CreationClassName.") ]
509 string ObjectManagerCreationClassName;
510
511 [Propagated ("CIM_ObjectManager.Name"), Key, MaxLen (256),
512 Description ("The scoping ObjectManager's Name.") ]
513 string ObjectManagerName;
514
515 [Key, MaxLen (256), Description (
516 "CreationClassName indicates the name of the class or the "
517 "subclass used in the creation of an instance. When used "
518 "with the other key properties of this class, this property "
519 "allows all instances of this class and its subclasses to "
520 "be uniquely identified.") ]
521 string CreationClassName;
522
523 [Key, MaxLen (256), Description (
524 "A string to uniquely identify the Namespace within "
525 "the ObjectManager.") ]
526 karl 1.1 string Name;
527
528 [Required, Write, Description (
529 "Enumeration indicating the organization/schema of the "
530 "Namespace's objects. For example, they may be instances "
531 "of classes of a specific CIM version."),
532 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
533 "200", "201", "202"},
534 Values {"Unknown", "Other", "CIM 1.0", "CIM 2.0",
535 "CIM 2.1", "CIM 2.2", "CIM 2.3", "CIM 2.4", "CIM 2.5",
536 "CIM 2.6", "DMI Recast", "SNMP Recast", "CMIP Recast"},
537 ModelCorrespondence {"CIM_Namespace.DescriptionOfClassInfo"} ]
538 uint16 ClassInfo;
539
540 [Write, Description (
541 "A string providing more detail (beyond the general "
542 "classification in ClassInfo) for the object hierarchy of "
543 "the Namespace."),
544 ModelCorrespondence {"CIM_Namespace.ClassInfo"} ]
545 string DescriptionOfClassInfo;
546 };
547 karl 1.1
548
549 // ==================================================================
550 // SystemIdentification
551 // ==================================================================
552 [Version ("2.6.0"), Description (
553 "A Namespace may represent data for one or many systems, "
554 "that are local, remote (different than the system on which "
555 "the ObjectManager is running) or aggregated. The System"
556 "Identification class provides enough data to identify the "
557 "system(s) represented in the Namespace. It is weak to "
558 "the Namespace.") ]
559 class CIM_SystemIdentification : CIM_ManagedElement {
560
561 [Propagated("CIM_Namespace.SystemCreationClassName"),Key,
562 MaxLen (256), Description (
563 "The scoping System's CreationClassName.") ]
564 string SystemCreationClassName;
565
566 [Propagated("CIM_Namespace.SystemName"), Key, MaxLen (256),
567 Description ("The scoping System's Name.") ]
568 karl 1.1 string SystemName;
569
570 [Propagated ("CIM_Namespace.ObjectManagerCreationClassName"),
571 Key, MaxLen (256), Description (
572 "The scoping ObjectManager's CreationClassName.") ]
573 string ObjectManagerCreationClassName;
574
575 [Propagated ("CIM_Namespace.ObjectManagerName"), Key,
576 MaxLen (256), Description (
577 "The scoping ObjectManager's Name.") ]
578 string ObjectManagerName;
579
580 [Propagated ("CIM_Namespace.CreationClassName"), Key,
581 MaxLen (256), Description (
582 "The scoping Namespace's CreationClassName.") ]
583 string NamespaceCreationClassName;
584
585 [Propagated ("CIM_Namespace.Name"), Key, MaxLen (256),
586 Description ("The scoping Namespace's Name.") ]
587 string NamespaceName;
588
589 karl 1.1 [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
597 [Key, MaxLen (256), Description (
598 "A string uniquely identifying the name of the system "
599 "represented in the Namespace.") ]
600 string Name;
601
602 [Required, Write, Description (
603 "Enumeration indicating the format of the system "
604 "identification and/or addressing information."),
605 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
606 "10", "11"},
607 Values {"Unknown", "Other", "Short DNS Name",
608 "Fully qualified DNS Name",
609 "Windows Domain Name", "NetWare Server Name",
610 karl 1.1 "Unix Hostname", "Globally Unique System Identifier",
611 "IP Address", "Modem Dialup String", "MAC Address",
612 "IPMI Address" },
613 ArrayType ("Indexed"),
614 ModelCorrespondence {
615 "CIM_SystemIdentification.IdentificationData",
616 "CIM_SystemIdentification.FormatDescription"} ]
617 uint16 IdentificationFormats[];
618
619 [Write, Description (
620 "Strings further describing the format of the system "
621 "identification information."),
622 ArrayType ("Indexed"),
623 ModelCorrespondence {
624 "CIM_SystemIdentification.IdentificationFormat",
625 "CIM_SystemIdentification.IdentificationData"} ]
626 string FormatDescriptions[];
627
628 [Description (
629 "Strings containing the system identification information. "
630 "The format is described by the corresponding array item in "
631 karl 1.1 "IdentificationFormats."),
632 ArrayType ("Indexed"),
633 ModelCorrespondence {
634 "CIM_SystemIdentification.IdentificationFormat",
635 "CIM_SystemIdentification.FormatDescription"} ]
636 string IdentificationData[];
637 };
638
639
640 // ==================================================================
641 // ClassSupportForNamespace
642 // ==================================================================
643 [Association, Version ("2.7.0"), Experimental, Description (
644 "ClassSupportForNamespace is an association describing the target "
645 "Namespace for the instances of the class listed in the "
646 "referenced ProviderCapabilities.ClassName property. ") ]
647 class CIM_ClassSupportForNamespace : CIM_Dependency {
648
649 [Override ("Antecedent"), Description (
650 "The Namespace in which the class instances are defined.") ]
651 CIM_Namespace REF Antecedent;
652 karl 1.1
653 [Override ("Dependent"), Description (
654 "The ProviderCapabilities instance supporting the "
655 "class instances.") ]
656 CIM_ProviderCapabilities REF Dependent;
657 };
658
659
660 // ==================================================================
661 // NamespaceInManager
662 // ==================================================================
663 [Association, Version ("2.7.1"), Description (
664 "NamespaceInManager is an association describing the "
665 "Namespaces hosted by a CIM ObjectManager.") ]
666 class CIM_NamespaceInManager : CIM_Dependency {
667
668 [Override ("Antecedent"), Min (1), Max (1), Description (
669 "The ObjectManager containing a Namespace.") ]
670 CIM_ObjectManager REF Antecedent;
671
672 [Override ("Dependent"), Weak, Description (
673 karl 1.1 "The Namespace in an ObjectManager.") ]
674 CIM_Namespace REF Dependent;
675 };
676
677
678 // ==================================================================
679 // SystemInNamespace
680 // ==================================================================
681 [Association, Version ("2.6.0"), Description (
682 "SystemInNamespace is an association that allows enumeration "
683 "of the system(s) represented in a Namespace.") ]
684 class CIM_SystemInNamespace {
685
686 [Key, Min (1), Max (1), Description (
687 "The Namespace containing management objects from "
688 "one or more systems.") ]
689 CIM_Namespace REF ManagedNamespace;
690
691 [Key, Weak, Description (
692 "Identification information for systems in the Namespace.") ]
693 CIM_SystemIdentification REF Identification;
694 karl 1.1
695 [Required, Write, Description (
696 "A list of enumerated values providing a high level "
697 "description of the data contained and allowed in the "
698 "Namespace. Additional clarification is provided in the "
699 "DescriptionOfContainedData array."),
700 ArrayType ("Indexed"),
701 ValueMap {"0", "1", "2", "3", "4"},
702 Values {"Unknown", "Other", "Local System Data",
703 "Data Aggregated from Multiple Systems",
704 "Proxied Data"},
705 ModelCorrespondence {
706 "CIM_SystemInNamespace.DescriptionOfContainedData"} ]
707 uint16 ScopeOfContainedData[];
708
709 [Write, Description (
710 "An array of free-form strings providing more detailed "
711 "explanations for the data/objects contained in the "
712 "Namespace, as described by the ContainedData array. "
713 "Note, each entry of this array is related to the entry "
714 "in the ContainedData array that is located at the same "
715 karl 1.1 "index."),
716 ArrayType ("Indexed"),
717 ModelCorrespondence {
718 "CIM_SystemInNamespace.ScopeOfContainedData"} ]
719 string DescriptionOfContainedData[];
720 };
721
722
723 // ==================================================================
724 // IdentificationOfManagedSystem
725 // ==================================================================
726 [Association, Version ("2.6.0"), Description (
727 "IdentificationOfManagedSystem is an association that "
728 "links the SystemIdentification object to the CIM_System(s) "
729 "that are being identified and represented in the "
730 "Namespace.") ]
731 class CIM_IdentificationOfManagedSystem : CIM_Dependency {
732
733 [Override ("Antecedent"), Max (1), Description (
734 "The System which is identified.") ]
735 CIM_System REF Antecedent;
736 karl 1.1
737 [Override ("Dependent"), Max (1), Description (
738 "The SystemIdentification information.") ]
739 CIM_SystemIdentification REF Dependent;
740 };
741
742
743 // ==================================================================
744 // CIMOMStatisticalData
745 // ==================================================================
746 [Version ("2.7.1"), Experimental, Description (
747 "CIM_CIMOMStatisticalData provides statistical data about the "
748 "performance of the CIM Object Manager. Each object of this "
749 "class provides elapsed time and size data for a particular type "
750 "of CIM operation. All operations of that type, "
751 "regardless of the CIM operations protocol being used, are "
752 "accumulated in one object and covers the CIM "
753 "operations issued by all clients of the Object Manager "
754 "scoping the instance. Batched CIM operations are accumulated "
755 "into a separate operation type for \"Batched\". "
756 "The counters in this class SHOULD be implemented such that they "
757 karl 1.1 "always increment and naturally wrap around when their numerical "
758 "limit is exceeded. A client that calculates the difference of "
759 "two snapshots of a counter at the beginning and end of a "
760 "measurement interval should get the correct result, even if "
761 "there was a wrap-around in between obtaining the two "
762 "snapshots. (Two or more wrap arounds will result in wrong data "
763 "being calculated.) The gathering of the data can be controlled "
764 "through the property, CIM_ObjectManager.GatherStatisticalData. "
765 "The time interval to which the statistical data applies, "
766 "ends at the current time and therefore includes the most "
767 "current CIM operations. The interval starts when the "
768 "statistical data gathering was last turned on for the Object "
769 "Manager.") ]
770 class CIM_CIMOMStatisticalData : CIM_StatisticalData {
771
772 [Override ("InstanceId"), Description (
773 "The InstanceId property opaquely identifies a unique instance "
774 "of CIMOMStatisticalData and MUST be unique within a namespace. "
775 "In order to ensure uniqueness, the value of InstanceIdD MUST be "
776 "constructed in the following manner: \n"
777 " CIM<ID> \n"
778 karl 1.1 "The <ID> MUST include a CIM Object Manager specified unique "
779 "identifier.") ]
780 string InstanceId;
781
782 [Required, Description (
783 "The OperationType property identifies the type of CIM operation "
784 "for which data is reported in this instance. Batched CIM "
785 "operations (consisting of multiple simple CIM operations) are "
786 "reported against the \"Batched\" type only."),
787 ValueMap {"0", "1", "2", "3", "4",
788 "5", "6", "7", "8", "9",
789 "10", "11", "12", "13", "14",
790 "15", "16", "17", "18", "19",
791 "20", "21", "22", "23", "24",
792 "25", "26" },
793 Values {"Unknown", "Other",
794 "Batched", "GetClass",
795 "GetInstance", "DeleteClass",
796 "DeleteInstance", "CreateClass",
797 "CreateInstance", "ModifyClass",
798 // 10
799 karl 1.1 "ModifyInstance", "EnumerateClasses",
800 "EnumerateClassNames", "EnumerateInstances",
801 "EnumerateInstanceNames", "ExecQuery",
802 "Associators", "AssociatorNames",
803 "References", "ReferenceNames",
804 // 20
805 "GetProperty", "SetProperty",
806 "GetQualifier", "SetQualifier",
807 "DeleteQualifier", "EnumerateQualifiers",
808 "IndicationDelivery" },
809 ModelCorrespondence {
810 "CIM_CIMOMStatisticalData.OtherOperationType"} ]
811 uint16 OperationType;
812
813 [Description (
814 "The OtherOperationType property identifies the operation "
815 "if the OperationType property has a value of 1 "
816 "(\"Other\"). For all other values of OperationType, "
817 "the property is NULL."),
818 MaxLen (64),
819 ModelCorrespondence {
820 karl 1.1 "CIM_CIMOMStatisticalData.OperationType"} ]
821 string OtherOperationType;
822
823 [Required, Description (
824 "The NumberOfOperations property contains the number of CIM "
825 "operations of the specified type. This property can be "
826 "used to calculate average values per CIM operation."),
827 Counter ]
828 uint64 NumberOfOperations;
829
830 [Required, Description (
831 "The CimomElapsedTime property contains the elapsed time spent "
832 "in the CIM Object Manager for this operation type, not "
833 "counting the elapsed time spent in providers and the "
834 "underlying instrumentation. The measurement points for this "
835 "property SHOULD be at the transport layer interface on the "
836 "network side, and at the provider interface on the "
837 "instrumentation side of the CIM Object Manager."),
838 Counter ]
839 datetime CimomElapsedTime;
840
841 karl 1.1 [Required, Description (
842 "The ProviderElapsedTime property contains the elapsed time spent "
843 "in all providers involved with this operation type, including "
844 "the underlying instrumentation. The measurement point for this "
845 "property SHOULD be from the provider interface of the "
846 "CIM Object Manager."),
847 Counter ]
848 datetime ProviderElapsedTime;
849
850 [Description (
851 "The RequestSize property contains the size of the operation "
852 "requests sent to the CIM Object Manager. Any overhead "
853 "of protocols above the transport protocol SHOULD be "
854 "included in the count. For example, for the HTTP protocol, "
855 "the size would include the size of the HTTP payload "
856 "and the size of the HTTP headers."),
857 Counter, Units ("Bytes") ]
858 uint64 RequestSize;
859
860 [Description (
861 "The ResponseSize property contains the size of the operation "
862 karl 1.1 "responses sent back from the CIM Object Manager. Any "
863 "overhead of protocols above the transport protocol SHOULD "
864 "be included in the count. For example, for the HTTP "
865 "protocol, the size would include the size of the HTTP payload "
866 "and the size of the HTTP headers."),
867 Counter, Units ("Bytes") ]
868 uint64 ResponseSize;
869 };
870
871
872 // ==================================================================
873 // end of file
874 // ==================================================================
|