1 a.dunfey 1.1 // ===================================================================
2 // Title: CIM_Interop
3 // $State: Exp $
4 // $Date: 2004/11/29 18:31:41 $
5 // $RCSfile: CIM_Interop.mof,v $
6 // $Revision: 1.10.2.3 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 a.dunfey 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The object classes below are listed in an order that
47 // avoids forward references. Required objects, defined
48 // by other working groups, are omitted.
49 // ==================================================================
50 //
51 // 08 Sep 2004 - Version 2.8.2
52 // CR1438 - Remove counter qualifiers on date types
53 //
54 // 20 Jan 2004 - Version 2.8 Final
55 // CR1244 - Misc errors in Interop Model
56 // CR1241 - Deprecate CommMechanismForAdapter
57 // CR1224 - Experimental to Final for Interop Model
58 // CR1216 - Fix ClassInfo in CIM_Namespace
59 // CR1215 - Deprecate ProtocolAdapter for ObjectManagerAdapter
60 // CR1164 - Clarify uniqueness of RegisteredName
61 //
62 // 03 Aug 2003 - Version 2.8 Preliminary
63 // CR1143 - add missing support for CIM 2.8 in the Interop28.mof
64 a.dunfey 1.1 // CR1128 - Introduce HostedDependency into the hierarchy.
65 // CR1070 - Bring forward experimental classes
66 // CR1000 - RegisteredProfile Model
67 // CR0955 - Change property names in ProviderCapabilities
68 // CR0923 - Add ID to Object Manager
69 // CR0909 - Add the definition of CIM_Error class (+ to compile
70 // without a key, Exception AND Indication qualifiers
71 // needed)
72 //
73 // 17 Mar 2003 - Version 2.7 Final
74 // CR981 - Remove Experimental Qualifier
75 // Note: Leave Provider Registration classes Experimental
76 // CR957 - Add missing enumeration for ClassInfo
77 // CR956 - CIM_ObjectManagerCommunicationMechanism properties
78 // CR954 - Correct Model Correspondence
79 // CR953 - Add Write to SystemIdentification.IdentificationData
80 // CR926 - Add ObjectManagerCommunicationMechanism.Version
81 // CR890 - Correct the CommMechanismForAdapter association
82 // ==================================================================
83
84 #pragma Locale ("en_US")
85 a.dunfey 1.1
86 // ==================================================================
87 // Compile prerequisite: Core and Event MOFs
88 // ==================================================================
89
90
91 // ==================================================================
92 // WBEMService
93 // ==================================================================
94 [Abstract, Version ( "2.6.0" ), Description (
95 "An abstract class for WBEM services such as the ObjectManager "
96 "(CIM Server), Providers, protocol adapters, or other pluggable "
97 "components. A type of CIM_Service that provides associated "
98 "capabilities and details about the communication capabilities, "
99 "namespaces, etc. for a specific WBEMService.")]
100 class CIM_WBEMService : CIM_Service {
101 };
102
103
104 // ==================================================================
105 // ObjectManager
106 a.dunfey 1.1 // ==================================================================
107 [Version ( "2.8.0" ), Description (
108 "A type of CIM_Service that defines the capabilities of the CIM "
109 "Server in which this ObjectManager class resides. Details "
110 "related to communicating with the ObjectManager, and the "
111 "Manager's basic capabilities, are stored in instances of the "
112 "associated CommunicationMechanism class available through the "
113 "CommMechanismForManager association. It is assumed that Basic "
114 "Read operations must be supported by all ObjectManager's in "
115 "order to retrieve any additional detail.")]
116 class CIM_ObjectManager : CIM_WBEMService {
117
118 [Write, Description (
119 "The GatherStatisticalData property is used to control the "
120 "gathering of statistical data made accessible through the "
121 "CIM_CIMOMStatisticalData objects. If set to true, the data "
122 "is gathered and can be accessed. If false, the "
123 "CIM_CIMOMStatisticalData instance MAY exist but MUST show "
124 "zero values for the counter properties.")]
125 boolean GatherStatisticalData = true;
126
127 a.dunfey 1.1 [Override ( "Name" ), Description (
128 "The Name property is used to uniquely identify a CIM "
129 "Server. The CIM Server MUST ensure that this value is "
130 "globally unique. In order to ensure uniqueness, this value "
131 "SHOULD be constructed in the following manner. <Vendor "
132 "ID>:<Unique ID> \n"
133 "<Vendor ID> MUST include a copyrighted, trademarked or "
134 "otherwise unique name that is owned by the business entity "
135 "or a registered ID that is assigned to the business entity "
136 "that is defining the Name. (This is similar to the <Schema "
137 "Name>_<Class Name> structure of Schema class names.) The "
138 "purpose of <Vendor ID> is to ensure that <ID> is truly "
139 "unique across multiple vendor implementations. If such a "
140 "name is not used, the defining entity MUST assure that the "
141 "<ID> portion of the Instance ID is unique when compared "
142 "with other instance providers. For DMTF defined instances, "
143 "the <Vendor ID> is 'CIM'. \n"
144 "<Unique ID> MUST include a vendor specified unique "
145 "identifier. \n"
146 "Note: Name is semantically the same as InstanceID. In the "
147 "next major version of the CIM Schema, Name will be renamed "
148 a.dunfey 1.1 "to InstanceID and become the only key of this class.")]
149 string Name;
150
151 [Override ( "ElementName" ), Description (
152 "The ElmentName property is used as a name of the CIM Server "
153 "for human interfaces. For example, \"ACME CIM Server\"). "
154 "This property is required to support the SLP discovery "
155 "mechanism. In the next major release this property MAY "
156 "include the required qualifier.")]
157 string ElementName;
158
159 [Override ( "Description" ), Description (
160 "The description property is used as a description of the "
161 "CIM Server for human interfaces. For example, \" ACME CIM "
162 "Server version 2.2\"). This property is required to support "
163 "the SLP discovery mechanism. In the next major release this "
164 "property MAY include the required qualifier.")]
165 string Description;
166 };
167
168
169 a.dunfey 1.1 // ==================================================================
170 // ObjectManagerCommunicationMechanism
171 // ==================================================================
172 [Version ( "2.7.0" ), Description (
173 "The class, ObjectManagerCommunicationMechanism, describes "
174 "access to an ObjectManager. It describes a protocol and data "
175 "encoding that can be used for communication. When all "
176 "instances of this class are enumerated for an ObjectManager "
177 "(using the CommMechanismForManager association), all possible "
178 "protocol and encoding schemes will be known. Also, specific "
179 "capabilities (for example, basic read or query) that are "
180 "supported in the protocol/encoding are described - using the "
181 "ProfilesSupported property.")]
182 class CIM_ObjectManagerCommunicationMechanism : CIM_ServiceAccessPoint {
183
184 [Required, Description (
185 "CommunicationMechanism describes an encoding and protocol "
186 "which can be used to communicate with the ObjectManager. At "
187 "this time, only one encoding and protocol are standardized "
188 "by the DMTF - \"CIM-XML\". If this is supported by an "
189 "ObjectManager, the specified string should be indicated. "
190 a.dunfey 1.1 "Other 'standard' strings may be defined. In addition, a "
191 "vendor specific encoding/protocol string may be used."),
192 ValueMap { "0", "1", "2" },
193 Values { "Unknown", "Other", "CIM-XML" },
194 ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism."
195 "OtherCommunicationMechanismDescription" }]
196 uint16 CommunicationMechanism;
197
198 [Description (
199 "A free-form string providing a description of the supported "
200 "protocols when 1, \"Other\", is specified in the "
201 "CommunicationMechanism."),
202 ModelCorrespondence {
203 "CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism"
204 }]
205 string OtherCommunicationMechanismDescription;
206
207 [Required, Description (
208 "Enumerated array describing the types of operations "
209 "supported by the ObjectManager, using this "
210 "encoding/protocol. The enumeration is based on the "
211 a.dunfey 1.1 "Functional Profiles defined for conformance in the DMTF "
212 "document, Specification for CIM Operations over HTTP."),
213 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" },
214 Values { "Unknown", "Other", "Basic Read", "Basic Write",
215 "Schema Manipulation", "Instance Manipulation",
216 "Association Traversal", "Query Execution",
217 "Qualifier Declaration", "Indications" },
218 ArrayType ( "Indexed" ),
219 ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism."
220 "FunctionalProfileDescriptions" }]
221 uint16 FunctionalProfilesSupported[];
222
223 [Description (
224 "Free-form strings providing descriptions of the supported "
225 "operations of the object manager. Entries in the array are "
226 "correlated with those in the ProfilesSupported array. An "
227 "entry in this Descriptions array MUST be provided when 1, "
228 "\"Other\", is specified in the FunctionalProfilesSupported "
229 "array."),
230 ArrayType ( "Indexed" ),
231 ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism."
232 a.dunfey 1.1 "FunctionalProfilesSupported" }]
233 string FunctionalProfileDescriptions[];
234
235 [Required, Description (
236 "Boolean indicating whether the ObjectManager supports "
237 "multiple operation requests (TRUE) or only simple requests "
238 "(FALSE).")]
239 boolean MultipleOperationsSupported;
240
241 [Required, Description (
242 "Enumerated array describing the types of authentication "
243 "supported by the ObjectManager, using the "
244 "encoding/protocol. specified in the property, "
245 "CommunicationMechanism. The defined values represent the "
246 "authentication defined in the DMTF document, Specification "
247 "for CIM Operations over HTTP."),
248 ValueMap { "0", "1", "2", "3", "4" },
249 Values { "Unknown", "Other", "None", "Basic", "Digest" },
250 ArrayType ( "Indexed" ),
251 ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism."
252 "AuthenticationMechanismDescriptions" }]
253 a.dunfey 1.1 uint16 AuthenticationMechanismsSupported[];
254
255 [Description (
256 "Free-form strings providing descriptions of the supported "
257 "mechanisms. Entries in this array are correlated with those "
258 "in the AuthenticationMechanismsSupported array. An entry in "
259 "this Descriptions array MUST be provided when 1, \"Other\", "
260 "is specified in AuthenticationMechanismsSupported."),
261 ArrayType ( "Indexed" ),
262 ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism."
263 "AuthenticationMechanismsSupported" }]
264 string AuthenticationMechanismDescriptions[];
265
266 [Required, Description (
267 "Provides the protocol version for this service access "
268 "point. Version information MUST be in the form of M.N, "
269 "where M is a numeric that describes the Major version and N "
270 "is a numeric that describes the minor version.")]
271 string Version;
272 };
273
274 a.dunfey 1.1
275 // ==================================================================
276 // CIMXMLCommunicationMechanism
277 // ==================================================================
278 [Version ( "2.6.0" ), Description (
279 "This class specializes ObjectManagerCommunicationMechanism, "
280 "adding properties specific to the CIM-XML protocol (XML "
281 "encoding and CIM Operations).")]
282 class CIM_CIMXMLCommunicationMechanism : CIM_ObjectManagerCommunicationMechanism {
283
284 [Required, Override ( "CommunicationMechanism" )]
285 uint16 CommunicationMechanism = 2;
286
287 [Required, Override ( "Version" ), Description (
288 "Enumeration describing the CIM-XML protocol version "
289 "supported by the ObjectManager."),
290 ValueMap { "1.0", "1.1", "1.2" }]
291 string Version;
292
293 [Deprecated { "CIM_CIMXMLCommunicationMechanism.Version" },
294 Required, Description (
295 a.dunfey 1.1 "Enumeration describing the CIM-XML protocol version "
296 "supported by the ObjectManager. It is deprecated in lieu of "
297 "a more general, inherited property (Version)."),
298 ValueMap { "0", "1" },
299 Values { "Unknown", "1.0" }]
300 uint16 CIMXMLProtocolVersion;
301
302 [Required, Description (
303 "Describes whether the CIM Server is strictly validating "
304 "(validates the XML document against the DTD) or not "
305 "(loosely validating).")]
306 boolean CIMValidated;
307 };
308
309
310 // ==================================================================
311 // CommMechanismForManager
312 // ==================================================================
313 [Association, Version ( "2.6.0" ), Description (
314 "CommMechanismForManager is an association between an "
315 "ObjectManager and an ObjectManagerCommunicationMechanism "
316 a.dunfey 1.1 "class. The latter describes a possible encoding/protocol/ set "
317 "of operations for accessing the referenced ObjectManager.")]
318 class CIM_CommMechanismForManager : CIM_ServiceAccessBySAP {
319
320 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
321 "The specific ObjectManager whose communication mechanism is "
322 "described.")]
323 CIM_ObjectManager REF Antecedent;
324
325 [Override ( "Dependent" ), Min ( 1 ), Description (
326 "The encoding/protocol/set of operations that may be used to "
327 "communicate with the referenced ObjectManager.")]
328 CIM_ObjectManagerCommunicationMechanism REF Dependent;
329 };
330
331
332 // ==================================================================
333 // ProtocolAdapter
334 // ==================================================================
335 [Deprecated { "CIM_ObjectManagerAdapter" }, Version ( "2.8.0" ),
336 Description (
337 a.dunfey 1.1 "CIM_ProtocolAdapter is deprecated in lieu of "
338 "CIM_ObjectManagerAdapter. Since the CIM_ProtocolAdapter class "
339 "does not have to support the protocols and can be any type of "
340 "adapter, it was decided to change the name to "
341 "ObjectManagerAdapter to better reflect the true meaning of the "
342 "class. A ProtocolAdapter is a Service of the CIM Object "
343 "Manager. It is responsible for accepting incoming requests on "
344 "a particular protocol, and translating and forwarding the "
345 "request to the CIM Object Manager. It is also responsible for "
346 "translating and sending the response from the CIM Object "
347 "Manager.")]
348 class CIM_ProtocolAdapter : CIM_WBEMService {
349
350 [Deprecated { "CIM_ObjectManagerAdapter.Name" },
351 Override ( "Name" ), Description (
352 "A human-readable name that uniquely identifies the Protocol "
353 "Adapter within a system.")]
354 string Name;
355
356 [Deprecated { "CIM_ObjectManagerAdapter.Handle" }, Required,
357 Description (
358 a.dunfey 1.1 "An implementation specific string that identifies the "
359 "handle to the ProtocolAdapter.")]
360 string Handle;
361
362 [Deprecated { "CIM_ObjectManagerAdapter.AdapterType" }, Required,
363 Description (
364 "ProtocolAdapterType enumerates the kind of Protocol "
365 "Adapter."),
366 ValueMap { "1", "2", "3" },
367 Values { "Other", "Client", "Provider" },
368 ModelCorrespondence {
369 "CIM_ProtocolAdapter.OtherProtocolAdapterType" }]
370 uint16 ProtocolAdapterType;
371
372 [Deprecated {
373 "CIM_ObjectManagerAdapter.OtherAdapterTypeDescription" },
374 Description (
375 "The type(s) of ProtocolAdapter when \"Other\" is included "
376 "in ProtocolAdapterType property."),
377 ModelCorrespondence { "CIM_ProtocolAdapter.ProtocolAdapterType"
378 }]
379 a.dunfey 1.1 string OtherProtocolAdapterType;
380 };
381
382 // ==================================================================
383 // ObjectManagerAdapter
384 // ==================================================================
385 [Version ( "2.8.0" ), Description (
386 "A ObjectManagerAdapter is a Service of the CIM Object Manager. "
387 "An adapter can be any service of the Object Manager that needs "
388 "to be managed (e.g. started, stopped, monitored, ...). There "
389 "MUST be an instance for each Adapter type.")]
390 class CIM_ObjectManagerAdapter : CIM_WBEMService {
391
392 [Override ( "Name" ), Description (
393 "A human-readable name that uniquely identifies the "
394 "ObjectManager within a system.")]
395 string Name;
396
397 [Override ( "ElementName" ), Description (
398 "The ElmentName property is used as a name of the Object "
399 "Manager Adapter for human interfaces. For example, \"ACME "
400 a.dunfey 1.1 "ObjectManager Adapter\".")]
401 string ElementName;
402
403 [Required, Description (
404 "An implementation specific string that identifies the "
405 "handle to the Object Manager Adapter.")]
406 string Handle;
407
408 [Required, Description (
409 "AdapterType enumerates the kind of Object Manager Adapter. "
410 "If 'Other' is specified, the OtherAdapterTypeDescription "
411 "property MUST be populated. \n"
412 "Other - If the adapter does not fit into one of the other "
413 "catagories in the list. If specified, the "
414 "OtherAdapterTypeDescription property MUST be populated. \n"
415 "Client - A client side adapter that responds to client "
416 "operation requests, such as CIM-XML or CIM-SOAP. \n"
417 "Provider - A provider adapter, such as DMI, SNMP, JSR48 or "
418 "CMPI. \n"
419 "Indication Handler - An Indication Handler is a service "
420 "that delivers indications to a subscriber. Examples of "
421 a.dunfey 1.1 "possible Indication Handlers are CIM-XML, CIM-SOAP, SMPT "
422 "(e-mail) or any other delivery mechanism. \n"
423 "Repository - A repository is an adapter that can "
424 "store/retrieve persistent data, such as CIM Qualifier "
425 "Types, CIM Classes and CIM Instances. An Object Manager "
426 "could use multiple repositiories at one time, for example "
427 "one could be used for CIM Schema information only, while "
428 "another is used for instance information. Repositories MAY "
429 "be remote or local to the CIM Object Manager. Examples of "
430 "repository implementations could be databases, LDAP or "
431 "files."),
432 ValueMap { "1", "2", "3", "4", "5" },
433 Values { "Other", "Client", "Provider", "Indication Handler",
434 "Repository" },
435 ModelCorrespondence {
436 "CIM_ObjectManagerAdapter.OtherAdapterTypeDescription" }]
437 uint16 AdapterType;
438
439 [Description (
440 "The type(s) of ObjectManagerAdapter when \"Other\" is "
441 "included in ObjectManagerAdapterType property."),
442 a.dunfey 1.1 ModelCorrespondence { "CIM_ObjectManagerAdapter.AdapterType" }]
443 string OtherAdapterTypeDescription;
444 };
445
446 // ==================================================================
447 // CommMechanismForAdapter
448 // ==================================================================
449 [Association,
450 Deprecated { "CIM_CommMechanismForObjectManagerAdapter" },
451 Version ( "2.8.0" ), Description (
452 "CommMechanismForAdapter is an association between an "
453 "ObjectManager's communication mechanism and a ProtocolAdapter "
454 "that supports that mechanism to translate requests and "
455 "responses for the Object Manager.")]
456 class CIM_CommMechanismForAdapter : CIM_Dependency {
457
458 [Deprecated { "CIM_CommMechanismForObjectManagerAdapter."
459 "Antecedent" }, Override ( "Antecedent" ), Description (
460 "The specific ProtocolAdapter whose communication mechanism "
461 "with the CIM Object Manager is described.")]
462 CIM_ProtocolAdapter REF Antecedent;
463 a.dunfey 1.1
464 [Deprecated { "CIM_CommMechanismForObjectManagerAdapter."
465 "Dependent" }, Override ( "Dependent" ), Min ( 1 ),
466 Description (
467 "The encoding/protocol/set of operations that may be used to "
468 "communicate between the Object Manager and the referenced "
469 "ProtocolAdapter.")]
470 CIM_ObjectManagerCommunicationMechanism REF Dependent;
471 };
472
473 // ==================================================================
474 // CommMechanismForObjectManagerAdapter
475 // ==================================================================
476 [Association, Version ( "2.8.0" ), Description (
477 "CommMechanismForObjectManagerAdapter is an association between "
478 "an ObjectManager's communication mechanism and a "
479 "ObjectManagerAdapter that supports that mechanism to translate "
480 "requests and responses for the Object Manager.")]
481 class CIM_CommMechanismForObjectManagerAdapter : CIM_Dependency {
482
483 [Override ( "Antecedent" ), Description (
484 a.dunfey 1.1 "The specific ObjectManagerAdapter whose communication "
485 "mechanism with the CIM Object Manager is described.")]
486 CIM_ObjectManagerAdapter REF Antecedent;
487
488 [Override ( "Dependent" ), Min ( 1 ), Description (
489 "The encoding/protocol/set of operations that may be used to "
490 "communicate between the Object Manager and the referenced "
491 "ProtocolAdapter.")]
492 CIM_ObjectManagerCommunicationMechanism REF Dependent;
493 };
494
495
496 // ==================================================================
497 // Namespace
498 // ==================================================================
499 [Version ( "2.8.0" ), Description (
500 "Namespace provides a domain (in other words, a container), in "
501 "which the instances [of a class] are guaranteed to be unique "
502 "per the KEY qualifier definitions. It is named relative to the "
503 "CIM_ObjectManager implementation that provides such a domain.")]
504 class CIM_Namespace : CIM_ManagedElement {
505 a.dunfey 1.1
506 [Key, Propagated ( "CIM_ObjectManager.SystemCreationClassName" ),
507 Description (
508 "The scoping System's CreationClassName."),
509 MaxLen ( 256 )]
510 string SystemCreationClassName;
511
512 [Key, Propagated ( "CIM_ObjectManager.SystemName" ),
513 Description (
514 "The scoping System's Name."),
515 MaxLen ( 256 )]
516 string SystemName;
517
518 [Key, Propagated ( "CIM_ObjectManager.CreationClassName" ),
519 Description (
520 "The scoping ObjectManager's CreationClassName."),
521 MaxLen ( 256 )]
522 string ObjectManagerCreationClassName;
523
524 [Key, Propagated ( "CIM_ObjectManager.Name" ), Description (
525 "The scoping ObjectManager's Name."),
526 a.dunfey 1.1 MaxLen ( 256 )]
527 string ObjectManagerName;
528
529 [Key, Description (
530 "CreationClassName indicates the name of the class or the "
531 "subclass used in the creation of an instance. When used "
532 "with the other key properties of this class, this property "
533 "allows all instances of this class and its subclasses to be "
534 "uniquely identified."),
535 MaxLen ( 256 )]
536 string CreationClassName;
537
538 [Key, Description (
539 "A string to uniquely identify the Namespace within the "
540 "ObjectManager."),
541 MaxLen ( 256 )]
542 string Name;
543
544 [Deprecated { "CIM_Namespace.ClassType" }, Required, Write,
545 Description (
546 "Enumeration indicating the organization/schema of the "
547 a.dunfey 1.1 "Namespace's objects. For example, they may be instances of "
548 "classes of a specific CIM version."),
549 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
550 "10", "11", "200", "201", "202" },
551 Values { "Unknown", "Other", "CIM 1.0", "CIM 2.0", "CIM 2.1",
552 "CIM 2.2", "CIM 2.3", "CIM 2.4", "CIM 2.5", "CIM 2.6",
553 "CIM 2.7", "CIM 2.8", "DMI Recast", "SNMP Recast",
554 "CMIP Recast" },
555 ModelCorrespondence { "CIM_Namespace.DescriptionOfClassInfo" }]
556 uint16 ClassInfo;
557
558 [Deprecated { "CIM_Namespace.DescriptionOfClassType" }, Write,
559 Description (
560 "A string providing more detail (beyond the general "
561 "classification in ClassInfo) for the object hierarchy of "
562 "the Namespace."),
563 ModelCorrespondence { "CIM_Namespace.ClassInfo" }]
564 string DescriptionOfClassInfo;
565
566
567 [Write, Description (
568 a.dunfey 1.1 "Enumeration indicating the schema of the Namespace's "
569 "objects. For example, they may be instances of classes of a "
570 "specific CIM version or a mapping from another standard, "
571 "such as SNMP. If 'Other' is selected, the "
572 "DescriptionOfClassType property MUST be populated."),
573 ValueMap { "0", "1", "2", "200", "201", "202" },
574 Values { "Unknown", "Other", "CIM", "DMI Recast", "SNMP Recast",
575 "CMIP Recast" },
576 ModelCorrespondence { "CIM_Namespace.DescriptionOfClassType",
577 "CIM_Namespace.ClassTypeVersion" }]
578 uint16 ClassType;
579
580 [Write, Description (
581 "The version of the objects in this namespace. The string "
582 "representing the version MUST be in the form: \n"
583 "M + \".\" + N + \".\" + U \n"
584 "Where: \n"
585 "M - The major version (in numeric form) \n"
586 "N - The minor version (in numeric form) \n"
587 "U - The update (e.g. errata, patch, ..., in numeric form)"),
588 ModelCorrespondence { "CIM_Namespace.DescriptionOfClassType",
589 a.dunfey 1.1 "CIM_Namespace.ClassType" }]
590 string ClassTypeVersion;
591
592 [Write, Description (
593 "A string providing more detail (beyond the general "
594 "classification in ClassInfo) for the object hierarchy of "
595 "the Namespace."),
596 ModelCorrespondence { "CIM_Namespace.ClassType",
597 "CIM_Namespace.ClassTypeVersion" }]
598 string DescriptionOfClassType;
599 };
600
601
602 // ==================================================================
603 // SystemIdentification
604 // ==================================================================
605 [Version ( "2.7.0" ), Description (
606 "A Namespace may represent data for one or many systems, that "
607 "are local, remote (different than the system on which the "
608 "ObjectManager is running) or aggregated. The System "
609 "Identification class provides enough data to identify the "
610 a.dunfey 1.1 "system(s) represented in the Namespace. It is weak to the "
611 "Namespace.")]
612 class CIM_SystemIdentification : CIM_ManagedElement {
613
614 [Key, Propagated ( "CIM_Namespace.SystemCreationClassName" ),
615 Description (
616 "The scoping System's CreationClassName."),
617 MaxLen ( 256 )]
618 string SystemCreationClassName;
619
620 [Key, Propagated ( "CIM_Namespace.SystemName" ), Description (
621 "The scoping System's Name."),
622 MaxLen ( 256 )]
623 string SystemName;
624
625 [Key,
626 Propagated ( "CIM_Namespace.ObjectManagerCreationClassName" ),
627 Description (
628 "The scoping ObjectManager's CreationClassName."),
629 MaxLen ( 256 )]
630 string ObjectManagerCreationClassName;
631 a.dunfey 1.1
632 [Key, Propagated ( "CIM_Namespace.ObjectManagerName" ),
633 Description (
634 "The scoping ObjectManager's Name."),
635 MaxLen ( 256 )]
636 string ObjectManagerName;
637
638 [Key, Propagated ( "CIM_Namespace.CreationClassName" ),
639 Description (
640 "The scoping Namespace's CreationClassName."),
641 MaxLen ( 256 )]
642 string NamespaceCreationClassName;
643
644 [Key, Propagated ( "CIM_Namespace.Name" ), Description (
645 "The scoping Namespace's Name."),
646 MaxLen ( 256 )]
647 string NamespaceName;
648
649 [Key, Description (
650 "CreationClassName indicates the name of the class or the "
651 "subclass used in the creation of an instance. When used "
652 a.dunfey 1.1 "with the other key properties of this class, this property "
653 "allows all instances of this class and its subclasses to be "
654 "uniquely identified."),
655 MaxLen ( 256 )]
656 string CreationClassName;
657
658 [Key, Description (
659 "A string uniquely identifying the name of the system "
660 "represented in the Namespace."),
661 MaxLen ( 256 )]
662 string Name;
663
664 [Required, Write, Description (
665 "Enumeration indicating the format of the system "
666 "identification and/or addressing information."),
667 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
668 "10", "11" },
669 Values { "Unknown", "Other", "Short DNS Name",
670 "Fully qualified DNS Name", "Windows Domain Name",
671 "NetWare Server Name", "Unix Hostname",
672 "Globally Unique System Identifier", "IP Address",
673 a.dunfey 1.1 "Modem Dialup String", "MAC Address", "IPMI Address" },
674 ArrayType ( "Indexed" ),
675 ModelCorrespondence {
676 "CIM_SystemIdentification.IdentificationData",
677 "CIM_SystemIdentification.FormatDescriptions" }]
678 uint16 IdentificationFormats[];
679
680 [Write, Description (
681 "Strings further describing the format of the system "
682 "identification information."),
683 ArrayType ( "Indexed" ),
684 ModelCorrespondence {
685 "CIM_SystemIdentification.IdentificationFormats",
686 "CIM_SystemIdentification.IdentificationData" }]
687 string FormatDescriptions[];
688
689 [Write, Description (
690 "Strings containing the system identification information. "
691 "The format is described by the corresponding array item in "
692 "IdentificationFormats."),
693 ArrayType ( "Indexed" ),
694 a.dunfey 1.1 ModelCorrespondence {
695 "CIM_SystemIdentification.IdentificationFormats",
696 "CIM_SystemIdentification.FormatDescriptions" }]
697 string IdentificationData[];
698 };
699
700
701 // ==================================================================
702 // NamespaceInManager
703 // ==================================================================
704 [Association, Version ( "2.7.0" ), Description (
705 "NamespaceInManager is an association describing the Namespaces "
706 "hosted by a CIM ObjectManager.")]
707 class CIM_NamespaceInManager : CIM_HostedDependency {
708
709 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
710 "The ObjectManager containing a Namespace.")]
711 CIM_ObjectManager REF Antecedent;
712
713 [Override ( "Dependent" ), Weak, Description (
714 "The Namespace in an ObjectManager.")]
715 a.dunfey 1.1 CIM_Namespace REF Dependent;
716 };
717
718
719 // ==================================================================
720 // SystemInNamespace
721 // ==================================================================
722 [Association, Version ( "2.6.0" ), Description (
723 "SystemInNamespace is an association that allows enumeration of "
724 "the system(s) represented in a Namespace.")]
725 class CIM_SystemInNamespace {
726
727 [Key, Min ( 1 ), Max ( 1 ), Description (
728 "The Namespace containing management objects from one or "
729 "more systems.")]
730 CIM_Namespace REF ManagedNamespace;
731
732 [Key, Weak, Description (
733 "Identification information for systems in the Namespace.")]
734 CIM_SystemIdentification REF Identification;
735
736 a.dunfey 1.1 [Required, Write, Description (
737 "A list of enumerated values providing a high level "
738 "description of the data contained and allowed in the "
739 "Namespace. Additional clarification is provided in the "
740 "DescriptionOfContainedData array."),
741 ValueMap { "0", "1", "2", "3", "4" },
742 Values { "Unknown", "Other", "Local System Data",
743 "Data Aggregated from Multiple Systems", "Proxied Data" },
744 ArrayType ( "Indexed" ),
745 ModelCorrespondence {
746 "CIM_SystemInNamespace.DescriptionOfContainedData" }]
747 uint16 ScopeOfContainedData[];
748
749 [Write, Description (
750 "An array of free-form strings providing more detailed "
751 "explanations for the data/objects contained in the "
752 "Namespace, as described by the ContainedData array. Note, "
753 "each entry of this array is related to the entry in the "
754 "ContainedData array that is located at the same index."),
755 ArrayType ( "Indexed" ),
756 ModelCorrespondence {
757 a.dunfey 1.1 "CIM_SystemInNamespace.ScopeOfContainedData" }]
758 string DescriptionOfContainedData[];
759 };
760
761
762 // ==================================================================
763 // IdentificationOfManagedSystem
764 // ==================================================================
765 [Association, Version ( "2.6.0" ), Description (
766 "IdentificationOfManagedSystem is an association that links the "
767 "SystemIdentification object to the CIM_System(s) that are "
768 "being identified and represented in the Namespace.")]
769 class CIM_IdentificationOfManagedSystem : CIM_Dependency {
770
771 [Override ( "Antecedent" ), Max ( 1 ), Description (
772 "The System which is identified.")]
773 CIM_System REF Antecedent;
774
775 [Override ( "Dependent" ), Max ( 1 ), Description (
776 "The SystemIdentification information.")]
777 CIM_SystemIdentification REF Dependent;
778 a.dunfey 1.1 };
779
780
781 // ==================================================================
782 // CIMOMStatisticalData
783 // ==================================================================
784 [Version ( "2.7.0" ), Description (
785 "CIM_CIMOMStatisticalData provides statistical data about the "
786 "performance of the CIM Object Manager. Each object of this "
787 "class provides elapsed time and size data for a particular "
788 "type of CIM operation. All operations of that type, regardless "
789 "of the CIM operations protocol being used, are accumulated in "
790 "one object and covers the CIM operations issued by all clients "
791 "of the Object Manager scoping the instance. Batched CIM "
792 "operations are accumulated into a separate operation type for "
793 "\"Batched\". The counters in this class SHOULD be implemented "
794 "such that they always increment and naturally wrap around when "
795 "their numerical limit is exceeded. A client that calculates "
796 "the difference of two snapshots of a counter at the beginning "
797 "and end of a measurement interval should get the correct "
798 "result, even if there was a wrap-around in between obtaining "
799 a.dunfey 1.1 "the two snapshots. (Two or more wrap arounds will result in "
800 "wrong data being calculated.) The gathering of the data can be "
801 "controlled through the property, "
802 "CIM_ObjectManager.GatherStatisticalData. The time interval to "
803 "which the statistical data applies, ends at the current time "
804 "and therefore includes the most current CIM operations. The "
805 "interval starts when the statistical data gathering was last "
806 "turned on for the Object Manager.")]
807 class CIM_CIMOMStatisticalData : CIM_StatisticalData {
808
809 [Override ( "InstanceID" ), Description (
810 "The InstanceID property opaquely identifies a unique "
811 "instance of CIMOMStatisticalData and MUST be unique within "
812 "a namespace. In order to ensure uniqueness, the value of "
813 "InstanceID MUST be constructed in the following manner: \n"
814 "CIM<ID> \n"
815 "The <ID> MUST include a CIM Object Manager specified unique "
816 "identifier.")]
817 string InstanceID;
818
819 [Required, Description (
820 a.dunfey 1.1 "The OperationType property identifies the type of CIM "
821 "operation for which data is reported in this instance. "
822 "Batched CIM operations (consisting of multiple simple CIM "
823 "operations) are reported against the \"Batched\" type only."),
824 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
825 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
826 "20", "21", "22", "23", "24", "25", "26" },
827 Values { "Unknown", "Other", "Batched", "GetClass",
828 "GetInstance", "DeleteClass", "DeleteInstance",
829 "CreateClass", "CreateInstance", "ModifyClass",
830 // 10
831 "ModifyInstance", "EnumerateClasses", "EnumerateClassNames",
832 "EnumerateInstances", "EnumerateInstanceNames", "ExecQuery",
833 "Associators", "AssociatorNames", "References",
834 "ReferenceNames",
835 // 20
836 "GetProperty", "SetProperty", "GetQualifier", "SetQualifier",
837 "DeleteQualifier", "EnumerateQualifiers",
838 "IndicationDelivery" },
839 ModelCorrespondence {
840 "CIM_CIMOMStatisticalData.OtherOperationType" }]
841 a.dunfey 1.1 uint16 OperationType;
842
843 [Description (
844 "The OtherOperationType property identifies the operation if "
845 "the OperationType property has a value of 1 (\"Other\"). "
846 "For all other values of OperationType, the property is "
847 "NULL."),
848 MaxLen ( 64 ),
849 ModelCorrespondence { "CIM_CIMOMStatisticalData.OperationType" }]
850 string OtherOperationType;
851
852 [Required, Description (
853 "The NumberOfOperations property contains the number of CIM "
854 "operations of the specified type. This property can be used "
855 "to calculate average values per CIM operation."),
856 Counter]
857 uint64 NumberOfOperations;
858
859 [Required, Description (
860 "The CimomElapsedTime property contains the elapsed time "
861 "spent in the CIM Object Manager for this operation type, "
862 a.dunfey 1.1 "not counting the elapsed time spent in providers and the "
863 "underlying instrumentation. The measurement points for this "
864 "property SHOULD be at the transport layer interface on the "
865 "network side, and at the provider interface on the "
866 "instrumentation side of the CIM Object Manager.")]
867 datetime CimomElapsedTime;
868
869 [Required, Description (
870 "The ProviderElapsedTime property contains the elapsed time "
871 "spent in all providers involved with this operation type, "
872 "including the underlying instrumentation. The measurement "
873 "point for this property SHOULD be from the provider "
874 "interface of the CIM Object Manager.")]
875 datetime ProviderElapsedTime;
876
877 [Description (
878 "The RequestSize property contains the size of the operation "
879 "requests sent to the CIM Object Manager. Any overhead of "
880 "protocols above the transport protocol SHOULD be included "
881 "in the count. For example, for the HTTP protocol, the size "
882 "would include the size of the HTTP payload and the size of "
883 a.dunfey 1.1 "the HTTP headers."),
884 Units ( "Bytes" ), Counter]
885 uint64 RequestSize;
886
887 [Description (
888 "The ResponseSize property contains the size of the "
889 "operation responses sent back from the CIM Object Manager. "
890 "Any overhead of protocols above the transport protocol "
891 "SHOULD be included in the count. For example, for the HTTP "
892 "protocol, the size would include the size of the HTTP "
893 "payload and the size of the HTTP headers."),
894 Units ( "Bytes" ), Counter]
895 uint64 ResponseSize;
896 };
897
898 // ==================================================================
899 // RegisteredProfile
900 // ==================================================================
901 [Version ( "2.8.0" ), Description (
902 "A RegisteredProfile describes a set of CIM Schema classes with "
903 "required properties and/or methods, necessary to manage a "
904 a.dunfey 1.1 "real-world entity or to support a usage scenario, in an "
905 "interoperable fashion. RegisteredProfiles can be defined by "
906 "the DMTF or other standards organizations. Note that this "
907 "class should not be confused with CIM_Profile, which collects "
908 "SettingData instances, to be applied as a 'configuration "
909 "profile' for an element. \n"
910 "A RegisteredProfile is a named 'standard' for CIM-based "
911 "management of a particular System, subsystem, Service or other "
912 "entity, for a specified set of uses. It is a complete, "
913 "standalone definition, as opposed to the subclass "
914 "RegisteredSubProfile, which requires a scoping profile for "
915 "context. \n"
916 "The uses for a RegisteredProfile or SubProfile MUST be "
917 "specified in the document that defines the profile. Examples "
918 "of Profiles are to manage various aspects of an Operating "
919 "System, Storage Array, or Database. The name of the profile is "
920 "defined and scoped by its authoring organization.")]
921 class CIM_RegisteredProfile : CIM_ManagedElement {
922
923 [Key, Description (
924 "Within the scope of the instantiating Namespace, InstanceID "
925 a.dunfey 1.1 "opaquely and uniquely identifies an instance of this class. "
926 "In order to ensure uniqueness within the NameSpace, the "
927 "value of InstanceID SHOULD be constructed using the "
928 "following 'preferred' algorithm: \n"
929 "<OrgID>:<LocalID> \n"
930 "Where <OrgID> and <LocalID> are separated by a colon ':', "
931 "and where <OrgID> MUST include a copyrighted, trademarked "
932 "or otherwise unique name that is owned by the business "
933 "entity creating/defining the InstanceID, or is a registered "
934 "ID that is assigned to the business entity by a recognized "
935 "global authority. (This is similar to the <Schema "
936 "Name>_<Class Name> structure of Schema class names.) In "
937 "addition, to ensure uniqueness, <OrgID> MUST NOT contain a "
938 "colon (':'). When using this algorithm, the first colon to "
939 "appear in InstanceID MUST appear between <OrgID> and "
940 "<LocalID>. \n"
941 "<LocalID> is chosen by the organizational entity and SHOULD "
942 "not be re-used to identify different underlying "
943 "(real-world) elements. If the above 'preferred' algorithm "
944 "is not used, the defining entity MUST assure that the "
945 "resultant InstanceID is not re-used across any InstanceIDs "
946 a.dunfey 1.1 "produced by this or other providers for this instance's "
947 "NameSpace. \n"
948 "For DMTF defined instances, the 'preferred' algorithm MUST "
949 "be used with the <OrgID> set to 'CIM'.")]
950 string InstanceID;
951
952 [Required, Description (
953 "The organization that defines this profile."),
954 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
955 "11", "12", "13", "14", "15", "16", "17", "18", "19" },
956 Values { "Other", "DMTF", "CompTIA",
957 "Consortium for Service Innovation", "FAST", "GGF", "INTAP",
958 "itSMF", "NAC",
959 //10
960 "Northwest Energy Efficiency Alliance", "SNIA", "TM Forum",
961 "The Open Group", "ANSI", "IEEE", "IETF", "INCITS", "ISO",
962 "W3C" },
963 ModelCorrespondence {
964 "CIM_RegisteredProfile.OtherRegisteredOrganization" }]
965 uint16 RegisteredOrganization;
966
967 a.dunfey 1.1 [Description (
968 "A free-form string providing a description of the "
969 "organization when 1, \"Other\", is specified for the "
970 "RegisteredOrganization."),
971 MaxLen ( 256 ),
972 ModelCorrespondence {
973 "CIM_RegisteredProfile.RegisteredOrganization" }]
974 string OtherRegisteredOrganization;
975
976 [Required, Description (
977 "The name of this registered profile. Since multiple "
978 "versions can exist for the same RegisteredName, the "
979 "combination of RegisteredName, RegisteredOrganization, and "
980 "RegisteredVersion MUST uniquely identify the registered "
981 "profile within the scope of the organization."),
982 MaxLen ( 256 )]
983 string RegisteredName;
984
985 [Required, Description (
986 "The version of this profile. The string representing the "
987 "version MUST be in the form: \n"
988 a.dunfey 1.1 "M + \".\" + N + \".\" + U \n"
989 "Where: \n"
990 "M - The major version (in numeric form) describing the "
991 "profile's creation or last modification. \n"
992 "N - The minor version (in numeric form) describing the "
993 "profile's creation or last modification. \n"
994 "U - The update (e.g. errata, patch, ..., in numeric form) "
995 "describing the profile's creation or last modification.")]
996 string RegisteredVersion;
997
998 [Required, Description (
999 "This property signifies the advertisement for the profile "
1000 "information. It is used by the advertising services of the "
1001 "WBEM infrastructure to determine what should be advertised, "
1002 "via what mechanisms. The property is an array so that the "
1003 "profile MAY be advertised using several mechanisms. Note: "
1004 "If this property is null/uninitialized, this is equivalent "
1005 "to specifying the value 2, \"Not Advertised\"."),
1006 ValueMap { "1", "2", "3" },
1007 Values { "Other", "Not Advertised", "SLP" },
1008 ArrayType ( "Indexed" ),
1009 a.dunfey 1.1 ModelCorrespondence {
1010 "CIM_RegisteredProfile.AdvertiseTypeDescriptions" }]
1011 uint16 AdvertiseTypes[];
1012
1013 [Description (
1014 "A free-form string providing additional information related "
1015 "to the AdvertiseType. A description MUST be provided when "
1016 "the AdvertiseType is 1, \"Other\". An entry in this array "
1017 "corresponds to the entry in the AdvertiseTypes array at the "
1018 "same index. It is not expected that additional descriptions "
1019 "are needed if the Type is set to \"Not Advertised\" or "
1020 "\"SLP\". However, as the SLP template expands, or as other "
1021 "advertisement mechanisms are defined, support for "
1022 "additional descriptions may be needed. This array is "
1023 "defined to support this."),
1024 ArrayType ( "Indexed" ),
1025 ModelCorrespondence { "CIM_RegisteredProfile.AdvertiseTypes" }]
1026 string AdvertiseTypeDescriptions[];
1027 };
1028
1029
1030 a.dunfey 1.1 // ==================================================================
1031 // RegisteredSubProfile
1032 // ==================================================================
1033 [Version ( "2.8.0" ), Description (
1034 "A RegisteredSubProfile subclasses RegisteredProfile to "
1035 "indicate that a scoping profile is required to provide "
1036 "context. The latter is specified by the mandatory association, "
1037 "SubProfileRequiresProfile.")]
1038 class CIM_RegisteredSubProfile : CIM_RegisteredProfile {
1039 };
1040
1041
1042 // ==================================================================
1043 // ReferencedProfile
1044 // ==================================================================
1045 [Association, Version ( "2.8.0" ), Description (
1046 "A profile that is referenced by another RegisteredProfile.")]
1047 class CIM_ReferencedProfile : CIM_Dependency {
1048
1049 [Override ( "Antecedent" ), Description (
1050 "The RegisteredProfile that is referenced by the Dependent "
1051 a.dunfey 1.1 "Profile.")]
1052 CIM_RegisteredProfile REF Antecedent;
1053
1054 [Override ( "Dependent" ), Description (
1055 "A RegisteredProfile that references other profiles.")]
1056 CIM_RegisteredProfile REF Dependent;
1057 };
1058
1059
1060 // ==================================================================
1061 // SubProfileRequiresProfile
1062 // ==================================================================
1063 [Association, Version ( "2.8.0" ), Description (
1064 "A subprofile requires another RegisteredProfile for context. "
1065 "This association mandates the scoping relationship between a "
1066 "subprofile and its scoping profile.")]
1067 class CIM_SubProfileRequiresProfile : CIM_ReferencedProfile {
1068
1069 [Override ( "Antecedent" ), Min ( 1 ), Description (
1070 "The RegisteredProfile that is referenced/required by the "
1071 "subprofile.")]
1072 a.dunfey 1.1 CIM_RegisteredProfile REF Antecedent;
1073
1074 [Override ( "Dependent" ), Description (
1075 "A RegisteredSubProfile that requires a scoping profile, for "
1076 "context.")]
1077 CIM_RegisteredSubProfile REF Dependent;
1078 };
1079
1080
1081 // ==================================================================
1082 // ElementConformsToProfile
1083 // ==================================================================
1084 [Association, Version ( "2.8.0" ), Description (
1085 "The CIM_ElementConformsToProfile association defines the "
1086 "RegisteredProfiles to which the referenced ManagedElement is "
1087 "conformant. Note: This association may apply to any Managed "
1088 "Element. Typical usage will apply it to a higher level "
1089 "instance, such as a System, NameSpace, or Service. When "
1090 "applied to a higher level instance, all constituent parts MUST "
1091 "behave appropriately in support of the ManagedElement's "
1092 "conformance to the named RegisteredProfile.")]
1093 a.dunfey 1.1 class CIM_ElementConformsToProfile {
1094
1095 [Key, Description (
1096 "The RegisteredProfile to which the ManagedElement conforms.")]
1097 CIM_RegisteredProfile REF ConformantStandard;
1098
1099 [Key, Description (
1100 "The ManagedElement that conforms to the RegisteredProfile.")]
1101 CIM_ManagedElement REF ManagedElement;
1102 };
1103
1104 // ==================================================================
1105 // end of file
1106 // ==================================================================
|