1 karl 1.2 // ===================================================================
2 // Title: Interoperability MOF Specification 2.6
3 // Filename: CIM_Interop26.mof
4 // Version: 2.6.0
5 // Status: Final
6 // Date: 06/04/2002
7 // ===================================================================
8 // Copyright 2001-2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party’s
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.2 // ===================================================================
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 //
49 // 09 May 2002 - Version 2.6 Final
50 // CR831 - Add Write qualifier to applicable properties
51 // CR746 - Add Version qualifier to all classes
52 // CR712 - Add Required qualifier where appropriate
53 // CR693 - Make ObjectManager classes more general purpose
54 // CR613 - Add new Type to IdentificationFormats Field of
55 // CIM_SystemIdentification Class
56 //
57 // 21 June 2001 - Version 2.6 Preliminary
58 // CR610 - Create CIM_Namespace and associated objects
59 // CR603 - Create CIM_ObjectManager and associated objects
60 // ==================================================================
61
62 // ==================================================================
63 // Pragmas
64 karl 1.2 // ==================================================================
65 #pragma Locale ("en_US")
66
67 // ==================================================================
68 // WBEMService
69 // ==================================================================
70 [Abstract, Version("2.6.0"), Description (
71 "An abstract class for WBEM services such as the "
72 "ObjectManager (CIM Server), Providers, protocol adapters, "
73 "or other pluggable components. A type of CIM_Service "
74 "that provides associated capabilities and details about the "
75 "communication capabilities, namespaces, etc. for a specific "
76 "WBEMService.") ]
77 class CIM_WBEMService : CIM_Service {
78 };
79
80
81 // ==================================================================
82 // ObjectManager
83 // ==================================================================
84 [Version("2.6.0"), Description (
85 karl 1.2 "A type of CIM_Service that defines the capabilities of the "
86 "CIM Server in which this ObjectManager class resides. Details "
87 "related to communicating with the ObjectManager, and the "
88 "Manager's basic capabilities, are stored in instances of the "
89 "associated CommunicationMechanism class available through the "
90 "CommMechanismForManager association. It is assumed that "
91 "Basic Read operations must be supported by all "
92 "ObjectManager's in order to retrieve any additional "
93 "detail.") ]
94 class CIM_ObjectManager : CIM_WBEMService {
95 };
96
97
98 // ==================================================================
99 // ObjectManagerCommunicationMechanism
100 // ==================================================================
101 [Version("2.6.0"), Description (
102 "The class, ObjectManagerCommunicationMechanism, describes "
103 "access to an ObjectManager. It describes a protocol and "
104 "data encoding that can be used for communication. When all "
105 "instances of this class are enumerated for an ObjectManager "
106 karl 1.2 "(using the CommMechanismForManager association), all possible "
107 "protocol and encoding schemes will be known. Also, specific "
108 "capabilities (for example, basic read or query) that are "
109 "supported in the protocol/encoding are described - using the "
110 "ProfilesSupported property.") ]
111 class CIM_ObjectManagerCommunicationMechanism :
112 CIM_ServiceAccessPoint {
113
114 [Required, Description (
115 "CommunicationMechanism describes an encoding and protocol "
116 "which can be used to communicate with the ObjectManager. "
117 "At this time, only one encoding and protocol are standardized "
118 "by the DMTF - \"CIM-XML\". If this is supported by an "
119 "ObjectManager, the specified string should be indicated. "
120 "Other 'standard' strings may be defined. In addition, a vendor "
121 "specific encoding/protocol string may be used."),
122 ValueMap {"0", "1", "2"},
123 Values {"Unknown", "Other", "CIM-XML"} ]
124 uint16 CommunicationMechanism;
125
126 [Description (
127 karl 1.2 "A free-form string providing a description of the "
128 "supported protocols when 1, \"Other\", is specified in "
129 "the CommunicationMechanism."),
130 ModelCorrespondence {
131 "CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism"} ]
132 string OtherCommunicationMechanismDescription;
133
134 [Required, Description (
135 "Enumerated array describing the types of operations "
136 "supported by the ObjectManager, using this encoding/protocol. "
137 "The enumeration is based on the Functional Profiles defined "
138 "for conformance in the DMTF document, Specification for CIM "
139 "Operations over HTTP."),
140 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
141 Values {"Unknown", "Other", "Basic Read", "Basic Write",
142 "Schema Manipulation", "Instance Manipulation",
143 "Association Traversal", "Query Execution",
144 "Qualifier Declaration", "Indications"} ]
145 uint16 ProfilesSupported[];
146
147 [Description (
148 karl 1.2 "A free-form string providing a description of the "
149 "supported operations when 1, \"Other\", is specified in "
150 "the ProfilesSupported array."),
151 ModelCorrespondence {
152 "CIM_ObjectManagerCommunicationMechanism.ProfilesSupported"} ]
153 string OtherProfileDescription;
154
155 [Required, Description (
156 "Boolean indicating whether the ObjectManager supports "
157 "multiple operation requests (TRUE) or only simple requests "
158 "(FALSE).") ]
159 boolean MultipleOperationsSupported;
160
161 [Required, Description (
162 "Enumerated array describing the types of authentication "
163 "supported by the ObjectManager, using this encoding/protocol. "
164 "The defined values represent the authentication defined in "
165 "the DMTF document, Specification for CIM Operations over HTTP."),
166 ValueMap {"0", "1", "2", "3", "4"},
167 Values {"Unknown", "Other", "None", "Basic", "Digest"} ]
168 uint16 AuthenticationMechanismsSupported[];
169 karl 1.2
170 [Description (
171 "A free-form string providing a description of the "
172 "supported mechanism when 1, \"Other\", is specified in "
173 "the AuthenticationMechanismsSupported array."),
174 ModelCorrespondence {
175 "CIM_ObjectManagerCommunicationMechanism."
176 "AuthenticationMechanismsSupported"} ]
177 string OtherAuthenticationDescription;
178 };
179
180
181 // ==================================================================
182 // CIMXMLCommunicationMechanism
183 // ==================================================================
184 [Version("2.6.0"), Description (
185 "This class specializes ObjectManagerCommunicationMechanism, "
186 "adding properties specific to the CIM-XML protocol (XML "
187 "encoding and CIM Operations).") ]
188 class CIM_CIMXMLCommunicationMechanism :
189 CIM_ObjectManagerCommunicationMechanism {
190 karl 1.2
191 [Override ("CommunicationMechanism"), Required ]
192 uint16 CommunicationMechanism = 2;
193
194 [Required, Description (
195 "Enumeration describing the CIM-XML protocol version "
196 "supported by the ObjectManager."),
197 ValueMap {"0", "1"},
198 Values {"Unknown", "1.0"} ]
199 uint16 CIMXMLProtocolVersion;
200
201 [Required, Description (
202 "Describes whether the CIM Server is strictly validating "
203 "(validates the XML document against the DTD) or not "
204 "(loosely validating).") ]
205 boolean CIMValidated;
206 };
207
208
209 // ==================================================================
210 // CommMechanismForManager
211 karl 1.2 // ==================================================================
212 [Association, Version("2.6.0"), Description (
213 "CommMechanismForManager is an association between an "
214 "ObjectManager and an ObjectManagerCommunicationMechanism "
215 "class. The latter describes a possible encoding/protocol/"
216 "set of operations for accessing the referenced "
217 "ObjectManager.") ]
218 class CIM_CommMechanismForManager : CIM_ServiceAccessBySAP {
219
220 [Override ("Antecedent"), Min (1), Max (1), Description (
221 "The specific ObjectManager whose communication mechanism "
222 "is described.") ]
223 CIM_ObjectManager REF Antecedent;
224
225 [Override ("Dependent"), Min (1), Description (
226 "The encoding/protocol/set of operations that may be used "
227 "to communicate with the referenced ObjectManager.") ]
228 CIM_ObjectManagerCommunicationMechanism REF Dependent;
229 };
230
231
232 karl 1.2 // ==================================================================
233 // Namespace
234 // ==================================================================
235 [Version("2.6.0"), Description (
236 "Namespace provides a domain (in other words, a container), "
237 "in which the instances [of a class] are guaranteed to be "
238 "unique per the KEY qualifier definitions. It is named "
239 "relative to the CIM_ObjectManager implementation that "
240 "provides such a domain.") ]
241 class CIM_Namespace : CIM_ManagedElement {
242
243 [Propagated("CIM_ObjectManager.SystemCreationClassName"),
244 Key, MaxLen (256),
245 Description ("The scoping System's CreationClassName.") ]
246 string SystemCreationClassName;
247
248 [Propagated("CIM_ObjectManager.SystemName"),
249 Key, MaxLen (256),
250 Description ("The scoping System's Name.") ]
251 string SystemName;
252
253 karl 1.2 [Propagated ("CIM_ObjectManager.CreationClassName"), Key,
254 MaxLen (256), Description (
255 "The scoping ObjectManager's CreationClassName.") ]
256 string ObjectManagerCreationClassName;
257
258 [Propagated ("CIM_ObjectManager.Name"), Key,
259 MaxLen (256), Description (
260 "The scoping ObjectManager's Name.") ]
261 string ObjectManagerName;
262
263 [Key, MaxLen (256), Description (
264 "CreationClassName indicates the name of the class or the "
265 "subclass used in the creation of an instance. When used "
266 "with the other key properties of this class, this property "
267 "allows all instances of this class and its subclasses to "
268 "be uniquely identified.") ]
269 string CreationClassName;
270
271 [Key, MaxLen (256), Description (
272 "A string to uniquely identify the Namespace within "
273 "the ObjectManager.") ]
274 karl 1.2 string Name;
275
276 [Required, Write, Description (
277 "Enumeration indicating the organization/schema of the "
278 "Namespace's objects. For example, they may be instances "
279 "of classes of a specific CIM version."),
280 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
281 "200", "201", "202"},
282 Values {"Unknown", "Other", "CIM 1.0", "CIM 2.0",
283 "CIM 2.1", "CIM 2.2", "CIM 2.3", "CIM 2.4", "CIM 2.5",
284 "CIM 2.6", "DMI Recast", "SNMP Recast", "CMIP Recast"},
285 ModelCorrespondence {"CIM_Namespace.DescriptionOfClassInfo"} ]
286 uint16 ClassInfo;
287
288 [Write, Description (
289 "A string providing more detail (beyond the general "
290 "classification in ClassInfo) for the object hierarchy of "
291 "the Namespace."),
292 ModelCorrespondence {"CIM_Namespace.ClassInfo"} ]
293 string DescriptionOfClassInfo;
294 };
295 karl 1.2
296
297 // ==================================================================
298 // SystemIdentification
299 // ==================================================================
300 [Version("2.6.0"), Description (
301 "A Namespace may represent data for one or many systems, "
302 "that are local, remote (different than the system on which "
303 "the ObjectManager is running) or aggregated. The System"
304 "Identification class provides enough data to identify the "
305 "system(s) represented in the Namespace. It is weak to "
306 "the Namespace.") ]
307 class CIM_SystemIdentification : CIM_ManagedElement {
308
309 [Propagated("CIM_Namespace.SystemCreationClassName"),
310 Key, MaxLen (256),
311 Description ("The scoping System's CreationClassName.") ]
312 string SystemCreationClassName;
313
314 [Propagated("CIM_Namespace.SystemName"),
315 Key, MaxLen (256),
316 karl 1.2 Description ("The scoping System's Name.") ]
317 string SystemName;
318
319 [Propagated ("CIM_Namespace.ObjectManagerCreationClassName"),
320 Key, MaxLen (256), Description (
321 "The scoping ObjectManager's CreationClassName.") ]
322 string ObjectManagerCreationClassName;
323
324 [Propagated ("CIM_Namespace.ObjectManagerName"), Key,
325 MaxLen (256), Description (
326 "The scoping ObjectManager's Name.") ]
327 string ObjectManagerName;
328
329 [Propagated ("CIM_Namespace.CreationClassName"),
330 Key, MaxLen (256), Description (
331 "The scoping Namespace's CreationClassName.") ]
332 string NamespaceCreationClassName;
333
334 [Propagated ("CIM_Namespace.Name"), Key,
335 MaxLen (256), Description (
336 "The scoping Namespace's Name.") ]
337 karl 1.2 string NamespaceName;
338
339 [Key, MaxLen (256), Description (
340 "CreationClassName indicates the name of the class or the "
341 "subclass used in the creation of an instance. When used "
342 "with the other key properties of this class, this property "
343 "allows all instances of this class and its subclasses to "
344 "be uniquely identified.") ]
345 string CreationClassName;
346
347 [Key, MaxLen (256), Description (
348 "A string uniquely identifying the name of the system "
349 "represented in the Namespace.") ]
350 string Name;
351
352 [Required, Write, Description (
353 "Enumeration indicating the format of the system "
354 "identification and/or addressing information."),
355 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
356 "10", "11"},
357 Values {"Unknown", "Other", "Short DNS Name",
358 karl 1.2 "Fully qualified DNS Name",
359 "Windows Domain Name", "NetWare Server Name",
360 "Unix Hostname", "Globally Unique System Identifier",
361 "IP Address", "Modem Dialup String", "MAC Address",
362 "IPMI Address" },
363 ArrayType ("Indexed"),
364 ModelCorrespondence {
365 "CIM_SystemIdentification.IdentificationData",
366 "CIM_SystemIdentification.FormatDescription"} ]
367 uint16 IdentificationFormats[];
368
369 [Write, Description (
370 "Strings further describing the format of the system "
371 "identification information."),
372 ArrayType ("Indexed"),
373 ModelCorrespondence {
374 "CIM_SystemIdentification.IdentificationFormat",
375 "CIM_SystemIdentification.IdentificationData"} ]
376 string FormatDescriptions[];
377
378 [Description (
379 karl 1.2 "Strings containing the system identification information. "
380 "The format is described by the corresponding array item in "
381 "IdentificationFormats."),
382 ArrayType ("Indexed"),
383 ModelCorrespondence {
384 "CIM_SystemIdentification.IdentificationFormat",
385 "CIM_SystemIdentification.FormatDescription"} ]
386 string IdentificationData[];
387 };
388
389
390 // ==================================================================
391 // NamespaceInManager
392 // ==================================================================
393 [Association, Version("2.6.0"), Description (
394 "NamespaceInManager is an association describing the "
395 "Namespaces hosted by a CIM ObjectManager.") ]
396 class CIM_NamespaceInManager : CIM_Dependency {
397
398 [Override ("Antecedent"), Min (1), Max (1), Key,
399 Description ("The ObjectManager containing a Namespace.") ]
400 karl 1.2 CIM_ObjectManager REF Antecedent;
401
402 [Override ("Dependent"), Weak,
403 Description ("The Namespace in an ObjectManager.") ]
404 CIM_Namespace REF Dependent;
405 };
406
407
408 // ==================================================================
409 // SystemInNamespace
410 // ==================================================================
411 [Association, Version("2.6.0"), Description (
412 "SystemInNamespace is an association that allows enumeration "
413 "of the system(s) represented in a Namespace.") ]
414 class CIM_SystemInNamespace {
415 [Key, Min (1), Max (1),
416 Description (
417 "The Namespace containing management objects from "
418 "one or more systems.") ]
419 CIM_Namespace REF ManagedNamespace;
420
421 karl 1.2 [Key, Weak, Description (
422 "Identification information for systems in the Namespace.") ]
423 CIM_SystemIdentification REF Identification;
424
425 [Required, Write, Description (
426 "A list of enumerated values providing a high level "
427 "description of the data contained and allowed in the "
428 "Namespace. Additional clarification is provided in the "
429 "DescriptionOfContainedData array."),
430 ArrayType ("Indexed"),
431 ValueMap {"0", "1", "2", "3", "4"},
432 Values {"Unknown", "Other", "Local System Data",
433 "Data Aggregated from Multiple Systems", "Proxied Data"},
434 ModelCorrespondence {
435 "CIM_SystemInNamespace.DescriptionOfContainedData"} ]
436 uint16 ScopeOfContainedData[];
437
438 [Write, Description (
439 "An array of free-form strings providing more detailed "
440 "explanations for the data/objects contained in the "
441 "Namespace, as described by the ContainedData array. "
442 karl 1.2 "Note, each entry of this array is related to the entry "
443 "in the ContainedData array that is located at the same "
444 "index."),
445 ArrayType ("Indexed"),
446 ModelCorrespondence {
447 "CIM_SystemInNamespace.ScopeOfContainedData"} ]
448 string DescriptionOfContainedData[];
449 };
450
451
452 // ==================================================================
453 // IdentificationOfManagedSystem
454 // ==================================================================
455 [Association, Version("2.6.0"), Description (
456 "IdentificationOfManagedSystem is an association that "
457 "links the SystemIdentification object to the CIM_System(s) "
458 "that are being identified and represented in the "
459 "Namespace.") ]
460 class CIM_IdentificationOfManagedSystem : CIM_Dependency {
461
462 [Override ("Antecedent"), Max (1),
463 karl 1.2 Description ("The System which is identified.") ]
464 CIM_System REF Antecedent;
465
466 [Override ("Dependent"), Max (1),
467 Description (
468 "The SystemIdentification information.") ]
469 CIM_SystemIdentification REF Dependent;
470 };
471
472 // ==================================================================
473 // end of file
474 // ==================================================================
|