1 karl 1.1 // ===================================================================
2 // Title: Core Elements 2.7
3 // Filename: Core27_CoreElements.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 09/20/02
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The Core Model defines basic management concepts.
45 // This file defines the concepts for the top of the CIM
46 // object hierarchies (ManagedElement, ManagedSystemElement,
47 // LogicalElement, Systems, Services, etc.) and the 'top'
48 // associations (Dependency, Component,
49 // LogicalIdentity, ...).
50 //
51 // The object classes below are listed in an order that
52 // avoids forward references. Required objects, defined
53 // by other working groups, are omitted.
54 // ==================================================================
55 // Change Log for v2.7
56 // CR641 - Add ConcreteDependency
57 // CR643 - Promote Component to ManagedElement, and add
58 // ConcreteComponent
59 // CR660 - Add RemoteServiceAccessPoint and RemotePort
60 // CR663 - Update the Description of ActiveConnection and some of
61 // its properties. Deprecate the properties, TrafficType
62 // and OtherTrafficDescription
63 // CR670 - Promote LogicalIdentity to ManagedElement, and add
64 karl 1.1 // ConcreteIdentity
65 // CR671 - Deprecate ProvidesServiceToElement
66 // - Add ServiceAvailableToElement
67 // - Update description for ServiceServiceDependency
68 // CR672 - Update description for SystemComponent to clarify its use
69 // CR677 - Add the array property OperationalStatus & OtherStatus
70 // Description, and deprecate the existing Status property of
71 // ManagedSystemElement
72 // - Deprecate StartMode in Service
73 // CR717 - Clarify description of System.Roles
74 // CR747 - Add the Write Qualifier and update description of System.
75 // Roles
76 // CR751 - Promote ActiveConnection from ProtocolEndpoint to
77 // ServiceAccessPoint
78 // CR757 - Add EnabledLogicalElement
79 // - Change subclass of System, Service, and ServiceAccessPoint
80 // from LogicalElement to EnabledLogicalElement
81 // - Update the descriptions to Service.StartService() and
82 // Service.StopService() to explain the overlap with
83 // RequestedStatus
84 // - Update the deprecation of Service.StartMode to
85 karl 1.1 // EnabledDefault
86 // CR758 - Add ElementName to ManagedElement
87 // CR764 - Add ServiceAffectsElement
88 // CR779 - Extend ManagedSystemElement.OperationalStatus to include
89 // "Completed"
90 // CR804 - Update the enumeration for ProtocolEndpoint.ProtocolType
91 // CR833 - Extend EnabledLogicalElement.EnabledStatus & .Requested
92 // Status to include "In Test" and "Test" respectively
93 // CR834 - Extend ManagedSystemElement.OperationalStatus to include
94 // "Aborted", "Dormant", and "Supported Entity in Error"
95 // CR844 - Add PrimaryOwnerName and PrimaryOwnerContact to Service;
96 // Add Write qualifier to the same properties in System
97 // CR894 - Clarify the description for System.
98 // CR898 - Extend MaxLen qualifier on ManagedSystemElement.Name
99 // from 256 to 1024 (to match subclassing requriements)
100 // ==================================================================
101
102 #pragma locale ("en_US")
103
104
105 // ==================================================================
106 karl 1.1 // ManagedElement
107 // ==================================================================
108 [Abstract, Version ("2.7.0"), Description (
109 "ManagedElement is an abstract class that provides a common "
110 "superclass (or top of the inheritance tree) for the "
111 "non-association classes in the CIM Schema.") ]
112 class CIM_ManagedElement {
113
114 [MaxLen (64), Description (
115 "The Caption property is a short textual description (one-"
116 "line string) of the object.") ]
117 string Caption;
118
119 [Description (
120 "The Description property provides a textual description of "
121 "the object.") ]
122 string Description;
123
124 [Description (
125 " A user-friendly name for the object. This property allows "
126 "each instance to define a user-friendly name IN ADDITION TO its "
127 karl 1.1 "key properties/identity data, and description information. \n"
128 " Note that ManagedSystemElement's Name property is also defined "
129 "as a user-friendly name. But, it is often subclassed to be a "
130 "Key. It is not reasonable that the same property can convey "
131 "both identity and a user friendly name, without inconsistencies. "
132 "Where Name exists and is not a Key (such as for instances of "
133 "LogicalDevice), the same information MAY be present in both "
134 "the Name and ElementName properties.") ]
135 string ElementName;
136 };
137
138
139 // ==================================================================
140 // Dependency
141 // ==================================================================
142 [Association, Abstract, Version ("2.6.0"), Description (
143 "CIM_Dependency is a generic association used to establish "
144 "dependency relationships between ManagedElements.") ]
145 class CIM_Dependency {
146
147 [Key, Description (
148 karl 1.1 "Antecedent represents the independent object in this "
149 "association.") ]
150 CIM_ManagedElement REF Antecedent;
151
152 [Key, Description (
153 "Dependent represents the object dependent on the "
154 "Antecedent.") ]
155 CIM_ManagedElement REF Dependent;
156 };
157
158
159 // ==================================================================
160 // ConcreteDependency
161 // ==================================================================
162 [Association, Terminal, Experimental, Version ("2.7.0"), Description (
163 " CIM_ConcreteDependency is a generic association used to "
164 "establish dependency relationships between ManagedElements. It "
165 "is defined as a Terminal, concrete subclass of Dependency, to be "
166 "used in place of many specific subclasses of Dependency that "
167 "add no semantics - i.e., that do not clarify the type of "
168 "dependency, update cardinalities, or add/remove qualifiers. Note "
169 karl 1.1 "that a Terminal class cannot be subclassed. This is done to "
170 "limit the use of ConcreteDependency - as a concrete form of a "
171 "general dependency. Specific semantics continue to be defined "
172 "as subclasses of the abstract CIM_Dependency. \n\n"
173 " It was deemed more prudent to create this concrete subclass "
174 "than to change Dependency from an abstract to a concrete class. "
175 "Dependency already had multiple abstract subclasses in the CIM "
176 "Schema, and wider industry usage and impact could not be "
177 "anticipated.") ]
178 class CIM_ConcreteDependency : CIM_Dependency {
179
180 [Override ("Antecedent"), Description (
181 "Antecedent represents the independent object in this "
182 "association.") ]
183 CIM_ManagedElement REF Antecedent;
184
185 [Override ("Dependent"), Description (
186 "Dependent represents the object dependent on the "
187 "Antecedent.") ]
188 CIM_ManagedElement REF Dependent;
189 };
190 karl 1.1
191
192 // ==================================================================
193 // Component
194 // ==================================================================
195 [Association, Abstract, Aggregation, Version ("2.7.0"), Description (
196 "CIM_Component is a generic association used to establish "
197 "'part of' relationships between Managed Elements. For "
198 "example, it could be used to define the components or parts of "
199 "a System.") ]
200 class CIM_Component {
201
202 [Aggregate, Key, Description (
203 "The parent element in the association.") ]
204 CIM_ManagedElement REF GroupComponent;
205
206 [Key, Description (
207 "The child element in the association.") ]
208 CIM_ManagedElement REF PartComponent;
209 };
210
211 karl 1.1
212 // ==================================================================
213 // ConcreteComponent
214 // ==================================================================
215 [Association, Aggregation, Terminal, Experimental,
216 Version ("2.7.0"), Description (
217 " CIM_ConcreteComponent is a generic association used to "
218 "establish 'part of' relationships between ManagedElements. It "
219 "is defined as a Terminal, concrete subclass of Component, to be "
220 "used in place of many specific subclasses of Component that "
221 "add no semantics - i.e., that do not clarify the type of "
222 "composition, update cardinalities, or add/remove qualifiers. "
223 "Note that a Terminal class cannot be subclassed. This is done "
224 "to limit the use of ConcreteComponent - as a concrete form of "
225 "general composition. Specific semantics continue to be defined "
226 "as subclasses of the abstract CIM_Component. \n\n"
227 " It was deemed more prudent to create this concrete subclass "
228 "than to change Component from an abstract to a concrete class. "
229 "Industry usage and impact could not be anticipated.") ]
230 class CIM_ConcreteComponent : CIM_Component {
231
232 karl 1.1 [Aggregate, Override ("GroupComponent"), Description (
233 "The parent element in the association.") ]
234 CIM_ManagedElement REF GroupComponent;
235
236 [Override ("PartComponent"), Description (
237 "The child element in the association.") ]
238 CIM_ManagedElement REF PartComponent;
239 };
240
241
242 // ==================================================================
243 // LogicalIdentity
244 // ==================================================================
245 [Association, Abstract, Version ("2.7.0"), Description (
246 " CIM_LogicalIdentity is an abstract and generic association, "
247 "indicating that two ManagedElements represent different "
248 "aspects of the same underlying entity. This relationship "
249 "conveys what could be defined with multiple inheritance. "
250 "In most scenarios, the Identity relationship is "
251 "determined by the equivalence of Keys or some other "
252 "identifying properties of the related Elements. \n\n"
253 karl 1.1 " One of the scenarios where this relationship is reasonable "
254 "is to represent that a LogicalDevice is both a 'bus' entity and "
255 "a 'functional' entity. For example, a Device could be both a "
256 "USB (bus) and a Keyboard (functional) entity.") ]
257 class CIM_LogicalIdentity {
258
259 [Key, Description (
260 "SystemElement represents one aspect of the Managed"
261 "Element. The use of 'System' in the role name does not "
262 "limit the scope of the association. The role name was "
263 "defined in the original association, where the "
264 "referenced elements were limited to LogicalElements. "
265 "Since that time, it has been found valuable to instantiate "
266 "these types of relationships for ManagedElements, such as "
267 "Collections. So, the referenced elements of the association "
268 "were redefined to be ManagedElements. Unfortunately, the "
269 "role name could not be changed without deprecating the "
270 "entire association. This was not deemed necessary just to "
271 "correct the role name.") ]
272 CIM_ManagedElement REF SystemElement;
273
274 karl 1.1 [Key, Description (
275 "SameElement represents an alternate aspect of the "
276 "ManagedElement.") ]
277 CIM_ManagedElement REF SameElement;
278 };
279
280
281 // ==================================================================
282 // ConcreteIdentity
283 // ==================================================================
284 [Association, Terminal, Experimental, Version ("2.7.0"), Description (
285 " CIM_ConcreteIdentity associates two elements representing "
286 "different aspects of the same underlying entity. It is "
287 "defined as a Terminal, concrete subclass of "
288 "LogicalIdentity, to be used in place of many specific "
289 "subclasses of LogicalIdentity that add no semantics - "
290 "i.e., that do not clarify the type of identity, update "
291 "cardinalities, or add/remove qualifiers. Note that a "
292 "Terminal class cannot be subclassed. This is done to "
293 "limit the use of ConcreteIdentity - as a concrete form of "
294 "a general identity relationship. Specific semantics "
295 karl 1.1 "continue to be defined as subclasses of the abstract "
296 "CIM_LogicalIdentity class.") ]
297 class CIM_ConcreteIdentity : CIM_LogicalIdentity {
298
299 [Override ("SystemElement"), Description (
300 "One aspect of the ManagedElement. The use of 'System' "
301 "in the name does not limit the scope of the association. "
302 "This is an artifact of the original definition of the "
303 "association.") ]
304 CIM_ManagedElement REF SystemElement;
305
306 [Override ("SameElement"), Description (
307 "Another aspect of the ManagedElement.") ]
308 CIM_ManagedElement REF SameElement;
309 };
310
311
312 // ==================================================================
313 // ManagedSystemElement
314 // ==================================================================
315 [Abstract, Version ("2.7.0"), Description (
316 karl 1.1 "CIM_ManagedSystemElement is the base class for the System "
317 "Element hierarchy. Membership Criteria: Any distinguishable "
318 "component of a System is a candidate for inclusion in this "
319 "class. Examples: software components, such as files; and "
320 "devices, such as disk drives and controllers, and physical "
321 "components such as chips and cards.") ]
322 class CIM_ManagedSystemElement : CIM_ManagedElement {
323
324 [Description (
325 "A datetime value indicating when the object was installed. "
326 "A lack of a value does not indicate that the object is not "
327 "installed."),
328 MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
329 datetime InstallDate;
330
331 [MaxLen (1024), Description (
332 "The Name property defines the label by which the object is "
333 "known. When subclassed, the Name property can be overridden "
334 "to be a Key property.") ]
335 string Name;
336
337 karl 1.1 [Experimental, Description (
338 " Indicates the current status(es) of the element. "
339 "Various health and operational statuses are "
340 "defined. Many of the enumeration's values are self-"
341 "explanatory. However, a few are not and are described "
342 "in more detail. \n"
343 " \"Stressed\" indicates that the element is functioning, "
344 "but needs attention. Examples of \"Stressed\" states are "
345 "overload, overheated, etc. \n"
346 " \"Predictive Failure\" indicates that an element is "
347 "functioning nominally but predicting a failure in the "
348 "near future. \n"
349 " \"In Service\" describes an element being configured, "
350 "maintained, cleaned, or otherwise administered. \n"
351 " \"No Contact\" indicates that the monitoring system "
352 "has knowledge of this element, but has never been able to "
353 "establish communications with it. \n"
354 " \"Lost Communication\" indicates that the ManagedSystem"
355 "Element is known to exist and has been contacted "
356 "successfully in the past, but is currently unreachable. \n"
357 " \"Stopped\" and \"Aborted\" are similar, although the "
358 karl 1.1 "former implies a clean and orderly stop, while the latter "
359 "implies an abrupt stop where the element's state and "
360 "configuration may need to be updated. \n"
361 "\"Dormant\" indicates that the element is inactive or "
362 "quiesced. \n"
363 " \"Supporting Entity in Error\" describes that this "
364 "element may be \"OK\" but that another element, on which it "
365 "is dependent, is in error. An example is a network service "
366 "or endpoint that cannot function due to lower layer "
367 "networking problems. \n"
368 "\"Completed\" indicates the element has completed its "
369 "operation. This value should be combined with either OK, "
370 "Error, or Degraded so that a client can till if the complete "
371 "operation passed (Completed with OK), and failure (Completed "
372 "with Error). Completed with Degraded would imply the "
373 "operation finished, but did not complete OK or report an "
374 "error. \n"
375 " OperationalStatus replaces the Status property on "
376 "ManagedSystemElement to provide a consistent approach to "
377 "enumerations, to address implementation needs for an "
378 "array property, and to provide a migration path from today's "
379 karl 1.1 "environment to the future. This change was not made earlier "
380 "since it required the DEPRECATED qualifier. Due to the "
381 "widespread use of the existing Status property in "
382 "management applications, it is strongly recommended that "
383 "providers/instrumentation provide BOTH the Status and "
384 "OperationalStatus properties. As always, Status (since it "
385 "is single-valued) provides the primary status of the "
386 "element."),
387 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8",
388 "9", "10", "11", "12", "13", "14", "15", "16", "17"},
389 Values {"Unknown", "Other", "OK", "Degraded", "Stressed",
390 "Predictive Failure", "Error", "Non-Recoverable Error",
391 "Starting", "Stopping", "Stopped", "In Service",
392 "No Contact", "Lost Communication", "Aborted",
393 "Dormant", "Supporting Entity in Error", "Completed"},
394 ModelCorrespondence {
395 "CIM_ManagedSystemElement.OtherStatusDescriptions"} ]
396 uint16 OperationalStatus[];
397
398 [Experimental, Description (
399 "A string describing the status - used when the "
400 karl 1.1 "OperationalStatus property is set to 1 (\"Other\")."),
401 ModelCorrespondence {
402 "CIM_ManagedSystemElement.OperationalStatus"} ]
403 string OtherStatusDescriptions[];
404
405 [MaxLen (10),
406 Deprecated {"CIM_ManagedSystemElement.OperationalStatus"},
407 Description (
408 "A string indicating the current status of the object. "
409 "Various operational and non-operational statuses are "
410 "defined. This property is deprecated in lieu of "
411 "OperationalStatus, which includes the same semantics "
412 "in its enumeration. This change is made for 3 reasons: "
413 "1) Status is more correctly defined as an array. "
414 "This overcomes the limitation of describing status via a "
415 "single value, when it is really a multi-valued property "
416 "(for example, an element may be OK AND Stopped. 2) A "
417 "MaxLen of 10 is too restrictive and leads to unclear "
418 "enumerated values. And, 3) The change to a uint16 data "
419 "type was discussed when CIM V2.0 was defined. However, "
420 "existing V1.0 implementations used the string property "
421 karl 1.1 "and did not want to modify their code. Therefore, Status "
422 "was grandfathered into the Schema. Use of the Deprecated "
423 "qualifier allows the maintenance of the existing "
424 "property, but also permits an improved definition using "
425 "OperationalStatus."),
426 ValueMap {"OK", "Error", "Degraded", "Unknown", "Pred Fail",
427 "Starting", "Stopping", "Service", "Stressed",
428 "NonRecover", "No Contact", "Lost Comm", "Stopped"} ]
429 string Status;
430 };
431
432
433 // ==================================================================
434 // LogicalElement
435 // ==================================================================
436 [Abstract, Version ("2.6.0"), Description (
437 "CIM_LogicalElement is a base class for all the components of "
438 "a System that represent abstract system components, such "
439 "as Files, Processes, or LogicalDevices.") ]
440 class CIM_LogicalElement : CIM_ManagedSystemElement {
441 };
442 karl 1.1
443
444 // ==================================================================
445 // EnabledLogicalElement
446 // ==================================================================
447 [Abstract, Experimental, Version ("2.7.0"), Description (
448 "This class extends LogicalElement to abstract the concept of an "
449 "element that is enabled and disabled, such as a LogicalDevice or "
450 "a ServiceAccessPoint.") ]
451 class CIM_EnabledLogicalElement : CIM_LogicalElement {
452
453 [Description (
454 "EnabledStatus is an integer enumeration indicating "
455 "whether the element is currently shutting down (value = 4), "
456 "or in an enabled (value = 2) or disabled (value = 3) "
457 "state. In various situations, an element that is being "
458 "tested is neither enabled or disabled - this is addressed "
459 "by the value \"In Test\" (7). It is possible that a "
460 "particular instance of a LogicalDevice, SAP, etc. may not "
461 "support being enabled/disabled. If this occurs, the value 5 "
462 "(\"Not Applicable\") is used."),
463 karl 1.1 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
464 Values {"Unknown", "Other", "Enabled", "Disabled",
465 "Shutting Down", "Not Applicable", "Enabled but Offline",
466 "In Test"},
467 ModelCorrespondence {
468 "CIM_EnabledLogicalElement.OtherEnabledStatus"} ]
469 uint16 EnabledStatus = 5;
470
471 [Description (
472 "A string describing the element's enabled/disabled state when "
473 "the EnabledStatus property is set to 1 (\"Other\"). This "
474 "property MUST be set to NULL when EnabledStatus "
475 "is any value other than 1."),
476 ModelCorrespondence {"CIM_EnabledLogicalElement.EnabledStatus"} ]
477 string OtherEnabledStatus;
478
479 [Write, Description (
480 "RequestedStatus is an integer enumeration indicating "
481 "whether the element should be shut down (value = 4), "
482 "enabled (2), disabled (3), taken offline (6) or "
483 "tested (7) at the next opportunity. This "
484 karl 1.1 "property is provided to compare Requested and "
485 "current Enabled statuses. Note that when "
486 "EnabledStatus is set to 5 (\"Not Applicable\"), "
487 "then writing this property has no effect. By default, "
488 "the element's RequestedStatus is 5 (\"No Change\")."),
489 ValueMap {"2", "3", "4", "5", "6", "7"},
490 Values {"Enabled", "Disabled", "Shut Down", "No Change",
491 "Offline", "Test"} ]
492 uint16 RequestedStatus = 5;
493
494 [Write, Description (
495 "An enumerated value indicating an administrator's "
496 "default/startup configuration for an element's Enabled"
497 "Status. By default, the element is \"Enabled\" (value=2)."),
498 ValueMap {"2", "3", "5", "6", "7"},
499 Values {"Enabled", "Disabled", "Not Applicable",
500 "Enabled but Offline", "No Default"} ]
501 uint16 EnabledDefault = 2;
502 };
503
504
505 karl 1.1 // ==================================================================
506 // Synchrononized
507 // ==================================================================
508 [Association, Version ("2.6.0"), Description (
509 "Indicates that two LogicalElements were aligned or made to "
510 "be equivalent at the specified point in time. If the boolean "
511 "property SyncMaintained is TRUE, then synchronization "
512 "of the Elements is preserved. Both like and unlike objects "
513 "may be synchronized. For example, two WatchDog timers may be "
514 "aligned, or the contents of a LogicalFile may be synchronized "
515 "with the contents of a StorageExtent.") ]
516 class CIM_Synchronized {
517
518 [Key, Description (
519 "SystemElement represents one LogicalElement that is "
520 "synchronized with the entity referenced as SyncedElement.") ]
521 CIM_LogicalElement REF SystemElement;
522
523 [Key, Description (
524 "SyncedElement represents another LogicalElement that is "
525 "synchronized with the entity referenced as SystemElement.") ]
526 karl 1.1 CIM_LogicalElement REF SyncedElement;
527
528 [Description (
529 "The point in time that the Elements were synchronized.") ]
530 datetime WhenSynced;
531
532 [Description (
533 "Boolean indicating whether synchronization is "
534 "maintained.") ]
535 boolean SyncMaintained;
536 };
537
538
539 // ==================================================================
540 // System
541 // ==================================================================
542 [Abstract, Version ("2.7.0"), Description (
543 "CIM_System represents an entity made up of component "
544 "parts (defined by the SystemComponent relationship), that "
545 "operates as a 'functional whole'. Systems are top level "
546 "objects in the CIM hierarchy, requiring no scoping or weak "
547 karl 1.1 "relationships in order to exist and have context. It should "
548 "be reasonable to uniquely name and manage a System at an "
549 "enterprise level. For example, a ComputerSystem is a kind of "
550 "System that can be uniquely named and independently managed "
551 "in an enterprise. However, this is not true for the power "
552 "supply (or the power supply sub-'system') within "
553 "the computer. \n"
554 "\n"
555 "Although a System may be viewed as a Collection, this is "
556 "not the correct model. A Collection is simply a 'bag' "
557 "that 'holds' its members. A System is a higher level "
558 "abstraction, built out of its individual components. It "
559 "is more than a sum of its parts. Note that System is a "
560 "subclass of EnabledLogicalElement which allows the entire "
561 "abstraction to be functionally enabled/disabled - at a higher "
562 "level than enabling/disabling its component parts.") ]
563 class CIM_System : CIM_EnabledLogicalElement {
564
565 [Key, MaxLen (256), Description (
566 "CreationClassName indicates the name of the class or the "
567 "subclass used in the creation of an instance. When used "
568 karl 1.1 "with the other key properties of this class, this property "
569 "allows all instances of this class and its subclasses to "
570 "be uniquely identified.") ]
571 string CreationClassName;
572
573 [Key, MaxLen (256), Override ("Name"), Description (
574 "The inherited Name serves as key of a System instance in "
575 "an enterprise environment.") ]
576 string Name;
577
578 [MaxLen (64), Description (
579 "The System object and its derivatives are Top Level Objects "
580 "of CIM. They provide the scope for numerous components. "
581 "Having unique System keys is required. A heuristic can be "
582 "defined in individual System subclasses to attempt to always "
583 "generate the same System Name Key. The NameFormat property "
584 "identifies how the System name was generated, using "
585 "the subclass' heuristic.") ]
586 string NameFormat;
587
588 [MaxLen (64), Write, Description (
589 karl 1.1 "The name of the primary system owner. The system owner "
590 "is the primary user of the system."),
591 MappingStrings {
592 "MIF.DMTF|General Information|001.3"} ]
593 string PrimaryOwnerName;
594
595 [MaxLen (256), Write, Description (
596 "A string that provides information on how the primary system "
597 "owner can be reached (e.g. phone number, email address, "
598 "...)."),
599 MappingStrings {
600 "MIF.DMTF|General Information|001.4"} ]
601 string PrimaryOwnerContact;
602
603 [Write, Description (
604 " An array (bag) of strings that specify the administrator"
605 "-defined roles this System plays in the managed environment. "
606 "Examples might be 'Building 8 print server' or 'Boise user "
607 "directories'. A single system may perform multiple roles. \n"
608 " Note that instrumentation's view of a System's 'roles' is "
609 "defined by instantiating a specific subclass of System and/"
610 karl 1.1 "or by properties in a subclass. For example, a "
611 "ComputerSystem's purpose is defined using the Dedicated and "
612 "OtherDedicatedDescription properties.") ]
613 string Roles[];
614 };
615
616
617 // ==================================================================
618 // SystemComponent
619 // ==================================================================
620 [Association, Aggregation, Version ("2.7.0"), Description (
621 "CIM_SystemComponent is a specialization of the CIM_Component "
622 "association that establishes 'part of' relationships between "
623 "a System and any ManagedSystemElements of which it is "
624 "composed. \n"
625 "The use of this association is cautioned - versus the use "
626 "of a subclass such as SystemDevice, or a peer association such "
627 "as HostedService. This class is very broadly defined which can "
628 "lead to erroneous use. For example, Access Points that are "
629 "dependent on (and hosted on) a System are NOT Components of the "
630 "System. The System is not made up of any AccessPoint 'parts', "
631 karl 1.1 "which is why a Dependency association, HostedAccessPoint, was "
632 "defined. Similarly, a PhysicalPackage is not a 'part' of a "
633 "System, since the physical element exists independently of any "
634 "internal components, software, etc. In fact, again, a Dependency "
635 "relationship is true - where a ComputerSystem is Dependent on its "
636 "packaging, as described by the ComputerSystemPackage "
637 "association.") ]
638 class CIM_SystemComponent : CIM_Component {
639
640 [Override ("GroupComponent"), Aggregate,
641 Description ("The parent System in the Association.") ]
642 CIM_System REF GroupComponent;
643
644 [Override ("PartComponent"), Description (
645 "The child element that is a component of a System.") ]
646 CIM_ManagedSystemElement REF PartComponent;
647 };
648
649
650 // ==================================================================
651 // AdminDomain
652 karl 1.1 // ==================================================================
653 [Version ("2.6.0"), Description (
654 " This is a special grouping of ManagedSystemElements. The "
655 "grouping is viewed as a single entity, reflecting that all "
656 "of its components are administered similarly - either by "
657 "the same user, group of users or policy. It serves as "
658 "an aggregation point to associate one or more of the "
659 "following elements: network devices, such as routers and "
660 "switches, servers, and other resources that can be "
661 "accessed by end systems. This grouping of devices "
662 "plays an essential role in ensuring that the same "
663 "administrative policy and actions are applied to all "
664 "of the devices in the grouping. The specific behavior "
665 "and/or semantics of the AdminDomain can be identified "
666 "through its aggregated and associated entities. \n") ]
667 class CIM_AdminDomain : CIM_System {
668
669 [Override ("NameFormat"), Description (
670 "The NameFormat property identifies how the Name of the "
671 "AdminDomain is generated, using the heuristic specified "
672 "in the CIM V2 System Model spec. It assumes that the "
673 karl 1.1 "documented rules are traversed in order, to determine and "
674 "assign a Name. The NameFormat Values list defines the "
675 "precedence order for assigning the Name of the "
676 "AdminDomain."),
677 ValueMap {"Other", "AS", "NAP", "NOC", "POP", "RNP", "IP",
678 "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN", "Frame Relay",
679 "ATM", "E.164", "IB", "FC", "Policy Repository"},
680 Values {"Other", "Autonomous System",
681 "Network Access Provider", "Network Operations Center",
682 "Point of Presence", "Regional Network Provider",
683 "IP", "IPX", "SNA", "Dial", "WAN", "LAN", "ISDN",
684 "Frame Relay", "ATM", "E.164", "Infiniband",
685 "Fibre Channel", "Policy Repository"} ]
686 string NameFormat;
687 };
688
689
690 // ==================================================================
691 // ContainedDomain
692 // ==================================================================
693 [Association, Aggregation, Version ("2.6.0"), Description (
694 karl 1.1 "A relationship that aggregates one or more lower-level "
695 "AdminDomain instances into a higher-level AdminDomain.") ]
696 class CIM_ContainedDomain: CIM_SystemComponent {
697
698 [Override ("GroupComponent"), Aggregate, Description (
699 "An AdminDomain that aggregates other AdminDomains.") ]
700 CIM_AdminDomain REF GroupComponent;
701
702 [Override ("PartComponent"), Description (
703 "An AdminDomain aggregated by another AdminDomain.") ]
704 CIM_AdminDomain REF PartComponent;
705 };
706
707
708 // ==================================================================
709 // Service
710 // ==================================================================
711 [Abstract, Version ("2.7.0"), Description (
712 "A CIM_Service is a Logical Element that contains the "
713 "information necessary to represent and manage the "
714 "functionality provided by a Device and/or SoftwareFeature. "
715 karl 1.1 "A Service is a general-purpose object to configure and "
716 "manage the implementation of functionality. It is not the "
717 "functionality itself.") ]
718 class CIM_Service : CIM_EnabledLogicalElement {
719
720 [Propagated ("CIM_System.CreationClassName"), Key, MaxLen (256),
721 Description (
722 "The scoping System's CreationClassName.") ]
723 string SystemCreationClassName;
724
725 [Propagated ("CIM_System.Name"), Key, MaxLen (256),
726 Description (
727 "The scoping System's Name.") ]
728 string SystemName;
729
730 [Key, MaxLen (256), Description (
731 "CreationClassName indicates the name of the class or the "
732 "subclass used in the creation of an instance. When used "
733 "with the other key properties of this class, this property "
734 "allows all instances of this class and its subclasses to "
735 "be uniquely identified.") ]
736 karl 1.1 string CreationClassName;
737
738 [Override ("Name"), Key, MaxLen (256), Description (
739 "The Name property uniquely identifies the Service and "
740 "provides an indication of the functionality that is "
741 "managed. This functionality is described in more detail in "
742 "the object's Description property.") ]
743 string Name;
744
745 [Experimental, MaxLen (64), Write, Description (
746 "The name of the primary owner for the service, if "
747 "one is defined. The primary owner is the initial "
748 "support contact for the Service."),
749 MappingStrings {"MIF.DMTF|General Information|001.3"} ]
750 string PrimaryOwnerName;
751
752 [Experimental, MaxLen (256), Write, Description (
753 "A string that provides information on how the primary "
754 "owner of the Service can be reached (e.g. phone "
755 "number, email address, ...)."),
756 MappingStrings {"MIF.DMTF|General Information|001.4"} ]
757 karl 1.1 string PrimaryOwnerContact;
758
759 [MaxLen (10),
760 Deprecated {"CIM_Service.EnabledDefault"},
761 Description (
762 "StartMode is a string value indicating whether the "
763 "Service is automatically started by a System, Operating "
764 "System, etc. or only started upon request. This property "
765 "is deprecated in lieu of AutomaticallyStarted, which "
766 "addresses the same semantics. The change to a Boolean or "
767 "uint16 data type was discussed when CIM V2.0 was defined."
768 " However, existing V1.0 implementations used the string "
769 "property and did not want to modify their code. "
770 "Therefore, StartMode was grandfathered into the Schema. "
771 "Use of the Deprecated qualifier allows the maintenance "
772 "of the existing property, but also permits an improved, "
773 "clarified definition using AutomaticallyStarted."),
774 ValueMap {"Automatic", "Manual"} ]
775 string StartMode;
776
777 [Description (
778 karl 1.1 "Started is a boolean indicating whether the Service "
779 "has been started (TRUE), or stopped (FALSE).") ]
780 boolean Started;
781
782 [Description (
783 "The StartService method places the Service in the started "
784 "state. Note that this method's function overlaps with the "
785 "RequestedStatus property. RequestedStatus was added to "
786 "the model to maintain a record (i.e., a persisted value) "
787 "of the last status request. Invoking the StartService "
788 "method should set the RequestedStatus property appropriately."
789 " The method returns an integer value of 0 if the Service was "
790 "successfully started, 1 if the request is not supported and "
791 "any other number to indicate an error. In a subclass, the "
792 "set of possible return codes could be specified, using a "
793 "ValueMap qualifier on the method. The strings to which the "
794 "ValueMap contents are 'translated' may also be specified in "
795 "the subclass as a Values array qualifier.") ]
796 uint32 StartService();
797
798 [Description (
799 karl 1.1 "The StopService method places the Service in the stopped "
800 "state. Note that this method's function overlaps with the "
801 "RequestedStatus property. RequestedStatus was added to "
802 "the model to maintain a record (i.e., a persisted value) "
803 "of the last status request. Invoking the StopService "
804 "method should set the RequestedStatus property appropriately."
805 " The method returns an integer value of 0 if the Service was "
806 "successfully stopped, 1 if the request is not supported and "
807 "any other number to indicate an error. In a subclass, the "
808 "set of possible return codes could be specified, using a "
809 "ValueMap qualifier on the method. The strings to which the "
810 "ValueMap contents are 'translated' may also be specified in "
811 "the subclass as a Values array qualifier.") ]
812 uint32 StopService();
813 };
814
815
816 // ==================================================================
817 // HostedService
818 // ==================================================================
819 [Association, Version ("2.6.0"), Description (
820 karl 1.1 "CIM_HostedService is an association between a Service and "
821 "the System on which the functionality resides. The "
822 "cardinality of this association is 1-to-many. A System may "
823 "host many Services. Services are weak with respect to their "
824 "hosting System. Heuristic: A Service is hosted on the "
825 "System where the LogicalDevices or SoftwareFeatures that "
826 "implement the Service are located. The model does not "
827 "represent Services hosted across multiple systems. This is "
828 "modeled as an ApplicationSystem that acts as an aggregation "
829 "point for Services, that are each located on a single "
830 "host.") ]
831 class CIM_HostedService : CIM_Dependency {
832
833 [Override ("Antecedent"), Max (1), Min (1),
834 Description ("The hosting System.") ]
835 CIM_System REF Antecedent;
836
837 [Override ("Dependent"), Weak,
838 Description ("The Service hosted on the System.") ]
839 CIM_Service REF Dependent;
840 };
841 karl 1.1
842
843 // ==================================================================
844 // ProvidesServiceToElement
845 // ==================================================================
846 [Association, Deprecated {"CIM_ServiceAvailableToElement"},
847 Version ("2.7.0"), Description (
848 "The use of the CIM_ProvidesServiceToElement class has been "
849 "deprecated. Instead, ServiceAvailableToElement conveys the "
850 "semantics of 'use', while the subclasses of ProvidesService"
851 "ToElement (or the ConcreteDependency association) describe "
852 "dependency relationships. CIM_ProvidesServiceToElement was "
853 "meant to generalize the ServiceServiceDependency association. "
854 "It tried to indicate that ManagedElements may use the "
855 "functionality provided by one or more Services. An example is "
856 "that a Processor and an enclosure (a PhysicalElement) may use "
857 "AlertOnLAN Services to signal an incomplete or erroneous boot. "
858 "In reality, AlertOnLAN is simply a HostedService on a computer "
859 "system that is generally 'available for 'use' and not a "
860 "dependency of the processor or enclosure. To describe that use "
861 "of the service may be restricted or have limited availability/"
862 karl 1.1 "applicability, then the CIM_ServiceAvailableToElement "
863 "association would be instantiated.") ]
864 class CIM_ProvidesServiceToElement : CIM_Dependency {
865
866 [Override ("Antecedent"),
867 Deprecated {"CIM_ServiceAvailableToElement.ServiceProvided"},
868 Description ("The Service provided.") ]
869 CIM_Service REF Antecedent;
870
871 [Override ("Dependent"),
872 Deprecated {"CIM_ServiceAvailableToElement.UserOfService"},
873 Description ("The ManagedElement dependent on the Service.") ]
874 CIM_ManagedElement REF Dependent;
875 };
876
877
878 // ==================================================================
879 // ServiceAvailableToElement
880 // ==================================================================
881 [Association, Experimental, Version ("2.7.0"), Description (
882 "CIM_ServiceAvailableToElement conveys the semantics "
883 karl 1.1 "of a Service being available for the 'use' of a ManagedElement. "
884 "An example is that a Processor and an enclosure "
885 "(a PhysicalElement) may use AlertOnLAN Services to signal an "
886 "incomplete or erroneous boot. In reality, AlertOnLAN is simply a "
887 "HostedService on a computer system that is generally 'available for "
888 "use', and not a dependency of the processor or enclosure. To "
889 "describe that use of this service is restricted or has limited "
890 "availability/applicability, then the CIM_ServiceAvailableToElement "
891 "association would be instantiated between the Service and specific "
892 "CIM_Processors and CIM_Chassis .") ]
893 class CIM_ServiceAvailableToElement {
894
895 [Key, Description (
896 "The Service that is available.") ]
897 CIM_Service REF ServiceProvided;
898
899 [Key, Description (
900 "The ManagedElement that may use the Service.") ]
901 CIM_ManagedElement REF UserOfService;
902 };
903
904 karl 1.1
905 // ===================================================================
906 // ServiceAffectsElement
907 // ===================================================================
908 [Association, Experimental, Version ("2.7.0"), Description (
909 "ServiceAffectsElement represents an association between a "
910 "Service and the ManagedElement(s) that may be affected by its "
911 "execution. Instantiating this association indicates that running "
912 "the service will pose some burden on the ManagedElement "
913 "that may affect performance, throughput, availability, "
914 "etc.") ]
915 class CIM_ServiceAffectsElement {
916
917 [Key, Description (
918 "The Managed Element affected by the Service.")]
919 CIM_ManagedElement REF AffectedElement;
920
921 [Key, Description (
922 "The Service that is affecting the ManagedElement.")]
923 CIM_Service REF AffectingElement;
924
925 karl 1.1 [Description (
926 "An enumeration describing the 'effect' on the "
927 "ManagedElement. This array corresponds to the "
928 "OtherElementEffectsDescriptions array, where the "
929 "latter provides details related to the high-level "
930 "'effects' enumerated by this property. Additional "
931 "detail is required if the ElementEffects array contains "
932 "the value 1, \"Other\"."),
933 ArrayType ("Indexed"),
934 ValueMap {"0", "1", "2", "3", "4"},
935 Values {"Unknown", "Other", "Exclusive Use",
936 "Performance Impact", "Element Integrity"},
937 ModelCorrespondence {
938 "CIM_ServiceAffectsElement.OtherElementEffectsDescriptions"} ]
939 uint16 ElementEffects[];
940
941 [Description (
942 "Provides details for the 'effect' at the corresponding array "
943 "position in ElementEffects. This information is required "
944 "ElementEffects contains the value 1 (\"Other\")."),
945 ArrayType ("Indexed"),
946 karl 1.1 ModelCorrespondence {
947 "CIM_ServiceAffectsElement.ElementEffects"} ]
948 string OtherElementEffectsDescriptions[];
949 };
950
951
952 // ==================================================================
953 // ServiceServiceDependency
954 // ==================================================================
955 [Association, Version ("2.7.0"), Description (
956 " CIM_ServiceServiceDependency is an association between a "
957 "Service and another Service, indicating that the latter is "
958 "required to be present, required to have completed, or must "
959 "be absent for the former Service to provide its "
960 "functionality. For example, Boot Services may be dependent "
961 "upon underlying system initialization Services. "
962 "In the case of the initialization Services, the Boot Service "
963 "may be dependent on the init Services completing. \n"
964 " Examining the ServiceServiceDependency class definition, "
965 "note that its superclass ProvidesServiceToElement is deprecated. "
966 "Unfortunately, ProvidesServiceToElement cannot be removed from "
967 karl 1.1 "the object hierarchy without a major Schema release. "
968 "When/if this occurs, the ProvidesServiceToElement superclass "
969 "will be removed, and ServiceServiceDependency will subclass "
970 "from CIM_Dependency directly. " ) ]
971 class CIM_ServiceServiceDependency : CIM_ProvidesServiceToElement {
972
973 [Override ("Antecedent"),
974 Description ("The required Service.") ]
975 CIM_Service REF Antecedent;
976
977 [Override ("Dependent"), Description (
978 "The Service that is dependent on an underlying Service.") ]
979 CIM_Service REF Dependent;
980
981 [Description (
982 "The nature of the Service to Service dependency. This "
983 "property describes that the associated Service must have "
984 "completed (value=2), must be started (3) or must not be "
985 "started (4) in order for the Service to function."),
986 ValueMap {"0", "1", "2", "3", "4"},
987 Values {"Unknown", "Other", "Service Must Have Completed",
988 karl 1.1 "Service Must Be Started",
989 "Service Must Not Be Started"} ]
990 uint16 TypeOfDependency;
991
992 [Description (
993 "This property describes that the Antecedent Service must "
994 "be restarted after the Dependent operation is complete.") ]
995 boolean RestartService;
996 };
997
998
999 // ==================================================================
1000 // ServiceComponent
1001 // ==================================================================
1002 [Association, Aggregation, Version ("2.6.0"), Description (
1003 "The ServiceComponent aggregation models a set of "
1004 "subordinate Services that are aggregated together to form "
1005 "a higher-level service.") ]
1006 class CIM_ServiceComponent : CIM_Component {
1007 [Override ("GroupComponent"), Aggregate, Description (
1008 "The parent Service.") ]
1009 karl 1.1 CIM_Service REF GroupComponent;
1010
1011 [Override ("PartComponent"), Description (
1012 "The component Service.") ]
1013 CIM_Service REF PartComponent;
1014 };
1015
1016
1017 // ==================================================================
1018 // ServiceAccessPoint
1019 // ==================================================================
1020 [Abstract, Version ("2.6.0"), Description (
1021 "CIM_ServiceAccessPoint represents the ability to utilize or "
1022 "invoke a Service. Access points represent that a Service is "
1023 "made available to other entities for use.") ]
1024 class CIM_ServiceAccessPoint : CIM_EnabledLogicalElement {
1025
1026 [Propagated ("CIM_System.CreationClassName"), Key, MaxLen (256),
1027 Description (
1028 "The scoping System's CreationClassName.") ]
1029 string SystemCreationClassName;
1030 karl 1.1
1031 [Propagated ("CIM_System.Name"), Key, MaxLen (256), Description (
1032 "The scoping System's Name.") ]
1033 string SystemName;
1034
1035 [Key, MaxLen (256), Description (
1036 "CreationClassName indicates the name of the class or the "
1037 "subclass used in the creation of an instance. When used "
1038 "with the other key properties of this class, this property "
1039 "allows all instances of this class and its subclasses to "
1040 "be uniquely identified.") ]
1041 string CreationClassName;
1042
1043 [Override ("Name"), Key, MaxLen (256), Description (
1044 "The Name property uniquely identifies the ServiceAccessPoint "
1045 "and provides an indication of the functionality that is "
1046 "managed. This functionality is described in more detail in "
1047 "the object's Description property.") ]
1048 string Name;
1049 };
1050
1051 karl 1.1
1052 // ==================================================================
1053 // HostedAccessPoint
1054 // ==================================================================
1055 [Association, Version ("2.6.0"), Description (
1056 "CIM_HostedAccessPoint is an association between a Service"
1057 "AccessPoint and the System on which it is provided. The "
1058 "cardinality of this association is 1-to-many and is weak "
1059 "with respect to the System. Each System may host many "
1060 "ServiceAccessPoints. Heuristic: If the implementation of "
1061 "the ServiceAccessPoint is modeled, it must be "
1062 "implemented by a Device or SoftwareFeature that is part of "
1063 "the System hosting the ServiceAccessPoint.") ]
1064 class CIM_HostedAccessPoint:CIM_Dependency {
1065
1066 [Override ("Antecedent"), Max (1), Min (1),
1067 Description ("The hosting System.") ]
1068 CIM_System REF Antecedent;
1069
1070 [Override ("Dependent"), Weak,
1071 Description ("The SAP(s) that are hosted on this System.") ]
1072 karl 1.1 CIM_ServiceAccessPoint REF Dependent;
1073 };
1074
1075
1076 // ==================================================================
1077 // ServiceSAPDependency
1078 // ==================================================================
1079 [Association, Version ("2.6.0"), Description (
1080 "CIM_ServiceSAPDependency is an association between a Service "
1081 "and a ServiceAccessPoint indicating that the referenced SAP "
1082 "is utilized by the Service to provide its functionality. For "
1083 "example, Boot Services may invoke BIOS' Disk Services "
1084 "(interrupts) in order to function.") ]
1085 class CIM_ServiceSAPDependency : CIM_Dependency {
1086
1087 [Override ("Antecedent"), Description (
1088 "The required ServiceAccessPoint.") ]
1089 CIM_ServiceAccessPoint REF Antecedent;
1090
1091 [Override ("Dependent"), Description (
1092 "The Service that is dependent on an underlying SAP.") ]
1093 karl 1.1 CIM_Service REF Dependent;
1094 };
1095
1096
1097 // ==================================================================
1098 // ServiceAccessBySAP
1099 // ==================================================================
1100 [Association, Version ("2.6.0"), Description (
1101 "CIM_ServiceAccessBySAP is an association that identifies the "
1102 "access points for a Service. For example, a printer may be "
1103 "accessed by Netware, MacIntosh or Windows ServiceAccess"
1104 "Points, potentially hosted on different Systems.") ]
1105 class CIM_ServiceAccessBySAP : CIM_Dependency {
1106
1107 [Override ("Antecedent"),
1108 Description ("The Service.") ]
1109 CIM_Service REF Antecedent;
1110
1111 [Override ("Dependent"), Description (
1112 "An Access Point for a Service. Access points are dependent "
1113 "in this relationship since they have no function without a "
1114 karl 1.1 "corresponding Service.") ]
1115 CIM_ServiceAccessPoint REF Dependent;
1116 };
1117
1118
1119 // ==================================================================
1120 // SAPSAPDependency
1121 // ==================================================================
1122 [Association, Version ("2.6.0"), Description (
1123 "CIM_SAPSAPDependency is an association between a Service"
1124 "AccessPoint and another ServiceAccessPoint indicating that "
1125 "the latter is required in order for the former ServiceAccess"
1126 "Point to utilize or connect with its Service. For example, "
1127 "to print at a network printer, local Print Access Points "
1128 "must utilize underlying network-related SAPs, or "
1129 "ProtocolEndpoints, in order to send the print request.") ]
1130 class CIM_SAPSAPDependency : CIM_Dependency {
1131
1132 [Override ("Antecedent"), Description (
1133 "The required ServiceAccessPoint.") ]
1134 CIM_ServiceAccessPoint REF Antecedent;
1135 karl 1.1
1136 [Override ("Dependent"), Description (
1137 "The ServiceAccessPoint that is dependent on an underlying "
1138 "SAP.") ]
1139 CIM_ServiceAccessPoint REF Dependent;
1140 };
1141
1142
1143 // ==================================================================
1144 // ActiveConnection
1145 // ==================================================================
1146 [Association, Version ("2.7.0"), Description (
1147 "This association defines a connection that is currently "
1148 "communicating, or is configured to communicate, "
1149 "between two ServiceAccessPoints. It is used when the "
1150 "connection is not treated as a ManagedElement itself "
1151 "(i.e., with Status, statistics, etc.), but its "
1152 "existence is known. The SAPs that are connected are "
1153 "typically at the same networking or application layer.") ]
1154 class CIM_ActiveConnection : CIM_SAPSAPDependency {
1155
1156 karl 1.1 [Override ("Antecedent"), Description (
1157 "A ServiceAccessPoint that is configured to communicate "
1158 "and/or is actively communicating with the Dependent "
1159 "SAP. In a unidirectional connection, this is the "
1160 "SAP which is transmitting.") ]
1161 CIM_ServiceAccessPoint REF Antecedent;
1162
1163 [Override ("Dependent"), Description (
1164 "A second SeriveAccessPoint that is/can communicate "
1165 "with the Antecedent SAP. In a unidirectional "
1166 "connection, this is the SAP that is receiving the "
1167 "communication.") ]
1168 CIM_ServiceAccessPoint REF Dependent;
1169
1170 [Deprecated {"No value"}, Description (
1171 "The type of traffic that is carried over this "
1172 "connection. This property is deprecated since it is "
1173 "incorrectly placed on the association. Unicast, "
1174 "broadcast or other traffic types are not a function "
1175 "of the connection between the referenced endpoints, "
1176 "but on the addressing, protocol, and basic functionality "
1177 karl 1.1 "of the endpoints."),
1178 ValueMap {"0", "1", "2", "3", "4", "5" },
1179 Values {"Unknown", "Other", "Unicast", "Broadcast",
1180 "Multicast", "Anycast"},
1181 ModelCorrespondence {
1182 "CIM_ActiveConnection.OtherTrafficDescription" } ]
1183 uint16 TrafficType;
1184
1185 [Deprecated {"No value"}, MaxLen(64), Description (
1186 "A string describing the type of traffic that is being "
1187 "carried over this instance when its Type property is set "
1188 "to 1 (e.g., 'Other'). This property is deprecated since it is "
1189 "incorrectly placed on the association. Unicast, "
1190 "broadcast or other traffic types are not a function "
1191 "of the connection between the referenced endpoints, "
1192 "but on the addressing, protocol, and basic functionality "
1193 "of the endpoints."),
1194 ModelCorrespondence {
1195 "CIM_ActiveConnection.TrafficType" } ]
1196 string OtherTrafficDescription;
1197
1198 karl 1.1 [Description (
1199 "TRUE means that this connection is uni-directional; FALSE "
1200 "means that this connection is bi-directional. When the "
1201 "connection is unidirectional, the 'speaker' should be "
1202 "defined as the Antecedent reference. In a bidirectional "
1203 "connection, the selection of which AccessPoint is the "
1204 "Antecedent or Dependent is immaterial.") ]
1205 boolean IsUnidirectional;
1206 };
1207
1208
1209 // ==================================================================
1210 // RemoteServiceAccessPoint
1211 // ==================================================================
1212 [Experimental, Version ("2.7.0"), Description (
1213 " RemoteServiceAccessPoint describes access and/or "
1214 "addressing information for a remote connection, that is "
1215 "known to a 'local' network element. This information is "
1216 "scoped/contained by the 'local' network element, since "
1217 "this is the context in which it is 'remote'. \n\n"
1218 " Why the remote access point is relevant and information "
1219 karl 1.1 "on its use are described by subclassing RemoteService"
1220 "AccessPoint, or by associating to it.") ]
1221 class CIM_RemoteServiceAccessPoint : CIM_ServiceAccessPoint {
1222
1223 [Description (
1224 "Access and/or addressing information for a remote "
1225 "connection. This can be a host name, network "
1226 "address or similar information."),
1227 ModelCorrespondence {
1228 "CIM_RemoteServiceAccessPoint.InfoFormat"} ]
1229 string AccessInfo;
1230
1231 [Description (
1232 "An enumerated integer describing the format and "
1233 "interpretation of the AccessInfo property."),
1234 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8",
1235 "9", "10..99", "100", "101", "102", "103", "104",
1236 "105..199", "200", "32768..65535"},
1237 Values {"Other", "Host Name", "Ipv4 Address",
1238 "Ipv6 Address", "IPX Address", "DECnet Address",
1239 "SNA Address", "Autonomous System Number",
1240 karl 1.1 "MPLS Label", "DMTF Reserved", "Dial String",
1241 "Ethernet Address", "Token Ring Address",
1242 "ATM Address", "Frame Relay Address",
1243 "DMTF Reserved", "URL", "Vendor Specific"},
1244 ModelCorrespondence {
1245 "CIM_RemoteServiceAccessPoint.OtherInfoFormatDescription"} ]
1246 uint16 InfoFormat;
1247
1248 [Description (
1249 "Describes the format when the property InfoFormat "
1250 "is set to 1 (\"Other\")."),
1251 ModelCorrespondence {
1252 "CIM_RemoteServiceAccessPoint.InfoFormat"} ]
1253 string OtherInfoFormatDescription;
1254 };
1255
1256
1257 // ==================================================================
1258 // RemotePort
1259 // ==================================================================
1260 [Experimental, Version ("2.7.0"), Description (
1261 karl 1.1 "RemotePort adds port information to the access data "
1262 "(such as IP Address), specified in and inherited from "
1263 "RemoteServiceAccessPoint. For example, using the "
1264 "additional properties in this class, one could indicate that "
1265 "UDP Port 123 is accessed at IP Address xyz. The IP Address "
1266 "would be specified in the inherited AccessInfo property, "
1267 "while the UDP Port number would be specified in this "
1268 "class' property, PortInfo.") ]
1269 class CIM_RemotePort : CIM_RemoteServiceAccessPoint {
1270
1271 [Description (
1272 "Port information that may further specify the "
1273 "remote access information."),
1274 ModelCorrespondence {
1275 "CIM_RemotePort.PortProtocol"} ]
1276 string PortInfo;
1277
1278 [Description (
1279 "An enumerated integer describing the protocol "
1280 "of the port addressed by PortInformation."),
1281 ValueMap {"1", "2", "3", "32768..65535"},
1282 karl 1.1 Values {"Other", "TCP", "UDP", "Vendor Specific"},
1283 ModelCorrespondence {
1284 "CIM_RemotePort.OtherProtocolDescription"} ]
1285 uint16 PortProtocol;
1286
1287 [Description (
1288 "Describes the protocol when the property PortProtocol "
1289 "is set to 1 (\"Other\")."),
1290 ModelCorrespondence {
1291 "CIM_RemotePort.PortProtocol"} ]
1292 string OtherProtocolDescription;
1293 };
1294
1295
1296 // ==================================================================
1297 // ProtocolEndpoint
1298 // ==================================================================
1299 [Version ("2.7.0"), Description (
1300 "A communication point from which data may be sent or "
1301 "received. ProtocolEndpoints link system/computer interfaces "
1302 "to LogicalNetworks.") ]
1303 karl 1.1 class CIM_ProtocolEndpoint : CIM_ServiceAccessPoint {
1304
1305 [Override ("Name"), MaxLen(256), Description (
1306 "A string which identifies this ProtocolEndpoint with either "
1307 "a port or an interface on a device. To ensure uniqueness, "
1308 "the Name property should be prepended or appended with "
1309 "information from the Type or OtherTypeDescription "
1310 "properties. The method chosen is described in the "
1311 "NameFormat property of this class.") ]
1312 string Name;
1313
1314 [MaxLen (256), Description (
1315 "NameFormat contains the naming heuristic that is chosen to "
1316 "ensure that the value of the Name property is unique. For "
1317 "example, one might choose to prepend the name of the port "
1318 "or interface with the Type of ProtocolEndpoint that this "
1319 "instance is (e.g., IPv4) followed by an underscore.") ]
1320 string NameFormat;
1321
1322 [Description (
1323 "ProtocolType is an enumeration providing information to "
1324 karl 1.1 "categorize and classify different instances of this class. "
1325 "For most instances, information in this enumeration and the "
1326 "subclass' definition overlap. However, there are several cases "
1327 "where a specific subclass of ProtocolEndpoint is not required "
1328 "(for example, there is no Fibre Channel Endpoint). Hence, this "
1329 "property is needed to define the type of Endpoint. Note that "
1330 "in a future major release of the CIM Schema, it is likely "
1331 "that ProtocolEndpoint will be ABSTRACT, forcing "
1332 "subclassing and removing the need for this property."),
1333 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1334 "10", "11", "12", "13", "14", "15", "16", "17", "18",
1335 "19", "20", "21", "22", "23", "24", "25", "26", "27"},
1336 Values {"Unknown", "Other", "IPv4", "IPv6", "IPX",
1337 "AppleTalk", "DECnet", "SNA", "CONP", "CLNP",
1338 "VINES", "XNS", "ATM", "Frame Relay",
1339 "Ethernet", "TokenRing", "FDDI", "Infiniband",
1340 "Fibre Channel", "ISDN BRI Endpoint",
1341 "ISDN B Channel Endpoint", "ISDN D Channel Endpoint",
1342 // 22
1343 "IPv4/v6", "BGP", "OSPF", "MPLS", "UDP", "TCP"},
1344 ModelCorrespondence {
1345 karl 1.1 "CIM_ProtocolEndpoint.OtherTypeDescription"} ]
1346 uint16 ProtocolType;
1347
1348 [MaxLen(64), Description (
1349 "A string describing the type of ProtocolEndpoint when "
1350 "the Type property of this class (or any of its "
1351 "subclasses) is set to 1 (i.e., \"Other\"). This "
1352 "property should be set to NULL when the Type property "
1353 "is any value other than 1."),
1354 ModelCorrespondence {"CIM_ProtocolEndpoint.ProtocolType"} ]
1355 string OtherTypeDescription;
1356 };
1357
1358
1359 // ==================================================================
1360 // BindsTo
1361 // ==================================================================
1362 [Association, Version ("2.6.0"), Description (
1363 "This association establishes a ServiceAccessPoint "
1364 "as a requestor of protocol services from a "
1365 "ProtocolEndpoint. Typically, this association runs "
1366 karl 1.1 "between SAPs and endpoints on a single system. Since a "
1367 "ProtocolEndpoint is a kind of ServiceAccessPoint, this "
1368 "binding can be used to establish a layering of two "
1369 "protocols, the upper layer represented by the Dependent "
1370 "and the lower layer represented by the Antecedent.") ]
1371 class CIM_BindsTo : CIM_SAPSAPDependency {
1372
1373 [Override ("Antecedent"), Description (
1374 "The lower-level endpoint which is accessed by the SAP.") ]
1375 CIM_ProtocolEndpoint REF Antecedent;
1376
1377 [Override ("Dependent"), Description (
1378 "The AccessPoint or ProtocolEndpoint dependent on the "
1379 "lower level endpoint.") ]
1380 CIM_ServiceAccessPoint REF Dependent;
1381 };
1382
1383
1384 // ==================================================================
1385 // ProvidesEndpoint
1386 // ==================================================================
1387 karl 1.1 [Association, Version ("2.7.0"), Description (
1388 "This association represents a ProtocolEndpoint provided "
1389 "by a Service, to allow access to the Service.") ]
1390 class CIM_ProvidesEndpoint : CIM_ServiceAccessBySAP {
1391
1392 [Override ("Antecedent"), Description (
1393 "The Service that is accessed by the ProtocolEndpoint.") ]
1394 CIM_Service REF Antecedent;
1395
1396 [Override ("Dependent"), Description (
1397 "The ProtocolEndpoint that provides access to the "
1398 "Service.") ]
1399 CIM_ProtocolEndpoint REF Dependent;
1400 };
1401
1402
1403 // ===================================================================
1404 // end of file
1405 // ===================================================================
|