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