1 tony 1.1 // ===================================================================
2 // Title: Core Service2.8
3 // Filename: Core28_Service.mof
4 // Version: 2.8
5 // Status: Final
6 // Date: Jan 26, 2004
7 // ===================================================================
8 // Copyright 1998-2003 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. 225
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 Core Model defines basic management concepts.
45 // This file defines the concepts for a Help Service
46 //
47 // The object classes below are listed in an order that
48 // avoids forward references. Required objects, defined
49 // by other working groups, are omitted.
50 // ==================================================================
51 // Change Log for v2.8 Final
52 // CR1205 - Update ProtocolIFType definitions to match latest
53 // IANAifType-MIB definitions
54 // CR1210 - Removal of experimental Qualifiers for core.
55 //
56 // Change Log for v2.8 Preliminary
57 // CR1092 - Move Service and SAP related classes to their own file
58 // CR1124 - Add CIM_SAPAvailableForElement
59 // CR1128 - Addition of HostedDependency
60 // ==================================================================
61
62 #pragma locale ("en_US")
63
64 tony 1.1 // ==================================================================
65 // Service
66 // ==================================================================
67 [Abstract, Version ( "2.7.0" ), Description (
68 "A CIM_Service is a Logical Element that contains the "
69 "information necessary to represent and manage the "
70 "functionality provided by a Device and/or SoftwareFeature. A "
71 "Service is a general-purpose object to configure and manage "
72 "the implementation of functionality. It is not the "
73 "functionality itself.")]
74 class CIM_Service : CIM_EnabledLogicalElement {
75
76 [Key, Propagated ( "CIM_System.CreationClassName" ),
77 Description (
78 "The scoping System's CreationClassName."),
79 MaxLen ( 256 )]
80 string SystemCreationClassName;
81
82 [Key, Propagated ( "CIM_System.Name" ), Description (
83 "The scoping System's Name."),
84 MaxLen ( 256 )]
85 tony 1.1 string SystemName;
86
87 [Key, Description (
88 "CreationClassName indicates the name of the class or the "
89 "subclass used in the creation of an instance. When used "
90 "with the other key properties of this class, this property "
91 "allows all instances of this class and its subclasses to be "
92 "uniquely identified."),
93 MaxLen ( 256 )]
94 string CreationClassName;
95
96 [Key, Override ( "Name" ), Description (
97 "The Name property uniquely identifies the Service and "
98 "provides an indication of the functionality that is "
99 "managed. This functionality is described in more detail in "
100 "the object's Description property."),
101 MaxLen ( 256 )]
102 string Name;
103
104 [Write, Description (
105 "The name of the primary owner for the service, if one is "
106 tony 1.1 "defined. The primary owner is the initial support contact "
107 "for the Service."),
108 MaxLen ( 64 ),
109 MappingStrings { "MIF.DMTF|General Information|001.3" }]
110 string PrimaryOwnerName;
111
112 [Write, Description (
113 "A string that provides information on how the primary owner "
114 "of the Service can be reached (e.g. phone number, email "
115 "address, ...)."),
116 MaxLen ( 256 ),
117 MappingStrings { "MIF.DMTF|General Information|001.4" }]
118 string PrimaryOwnerContact;
119
120 [Deprecated { "CIM_Service.EnabledDefault" }, Description (
121 "StartMode is a string value indicating whether the Service "
122 "is automatically started by a System, Operating System, "
123 "etc. or only started upon request. This property is "
124 "deprecated in lieu of the EnabledDefault property inherited "
125 "from EnabledLogicalElement, which addresses the same "
126 "semantics. The change to a uint16 data type was discussed "
127 tony 1.1 "when CIM V2.0 was defined. However, existing V1.0 "
128 "implementations used the string property and did not want "
129 "to modify their code. Therefore, StartMode was "
130 "grandfathered into the Schema. Use of the Deprecated "
131 "qualifier allows the maintenance of the existing property, "
132 "but also permits an improved, clarified definition using "
133 "EnabledDefault."),
134 ValueMap { "Automatic", "Manual" }, MaxLen ( 10 )]
135 string StartMode;
136
137 [Description (
138 "Started is a boolean indicating whether the Service has "
139 "been started (TRUE), or stopped (FALSE).")]
140 boolean Started;
141
142 [Description (
143 "The StartService method places the Service in the started "
144 "state. Note that this method's function overlaps with the "
145 "RequestedState property. RequestedState was added to the "
146 "model to maintain a record (i.e., a persisted value) of the "
147 "last state request. Invoking the StartService method should "
148 tony 1.1 "set the RequestedState property appropriately. The method "
149 "returns an integer value of 0 if the Service was "
150 "successfully started, 1 if the request is not supported and "
151 "any other number to indicate an error. In a subclass, the "
152 "set of possible return codes could be specified, using a "
153 "ValueMap qualifier on the method. The strings to which the "
154 "ValueMap contents are 'translated' may also be specified in "
155 "the subclass as a Values array qualifier. \n"
156 "\n"
157 "Note that this method overlaps in semantics with the "
158 "RequestStateChange method inherited from "
159 "EnabledLogicalElement. This method is maintained since it "
160 "has been widely implemented, and its simple 'start' "
161 "semantics are convenient to use.")]
162 uint32 StartService();
163
164 [Description (
165 "The StopService method places the Service in the stopped "
166 "state. Note that this method's function overlaps with the "
167 "RequestedState property. RequestedState was added to the "
168 "model to maintain a record (i.e., a persisted value) of the "
169 tony 1.1 "last state request. Invoking the StopService method should "
170 "set the RequestedState property appropriately. The method "
171 "returns an integer value of 0 if the Service was "
172 "successfully stopped, 1 if the request is not supported and "
173 "any other number to indicate an error. In a subclass, the "
174 "set of possible return codes could be specified, using a "
175 "ValueMap qualifier on the method. The strings to which the "
176 "ValueMap contents are 'translated' may also be specified in "
177 "the subclass as a Values array qualifier. \n"
178 "\n"
179 "Note that this method overlaps in semantics with the "
180 "RequestStateChange method inherited from "
181 "EnabledLogicalElement. This method is maintained since it "
182 "has been widely implemented, and its simple 'stop' "
183 "semantics are convenient to use.")]
184 uint32 StopService();
185 };
186
187
188 // ==================================================================
189 // HostedService
190 tony 1.1 // ==================================================================
191 [Association, Version ( "2.8.0" ), Description (
192 "CIM_HostedService is an association between a Service and the "
193 "System on which the functionality resides. The cardinality of "
194 "this association is 1-to-many. A System may host many "
195 "Services. Services are weak with respect to their hosting "
196 "System. Heuristic: A Service is hosted on the System where the "
197 "LogicalDevices or SoftwareFeatures that implement the Service "
198 "are located. The model does not represent Services hosted "
199 "across multiple systems. This is modeled as an "
200 "ApplicationSystem that acts as an aggregation point for "
201 "Services, that are each located on a single host.")]
202 class CIM_HostedService : CIM_HostedDependency {
203
204 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
205 "The hosting System.")]
206 CIM_System REF Antecedent;
207
208 [Override ( "Dependent" ), Weak, Description (
209 "The Service hosted on the System.")]
210 CIM_Service REF Dependent;
211 tony 1.1 };
212
213
214 // ==================================================================
215 // ProvidesServiceToElement
216 // ==================================================================
217 [Association, Deprecated { "CIM_ServiceAvailableToElement" },
218 Version ( "2.7.0" ), Description (
219 "The use of the CIM_ProvidesServiceToElement class has been "
220 "deprecated. Instead, ServiceAvailableToElement conveys the "
221 "semantics of 'use', while the subclasses of ProvidesService "
222 "ToElement (or the ConcreteDependency association) describe "
223 "dependency relationships. CIM_ProvidesServiceToElement was "
224 "meant to generalize the ServiceServiceDependency association. "
225 "It tried to indicate that ManagedElements may use the "
226 "functionality provided by one or more Services. An example is "
227 "that a Processor and an enclosure (a PhysicalElement) may use "
228 "AlertOnLAN Services to signal an incomplete or erroneous boot. "
229 "In reality, AlertOnLAN is simply a HostedService on a computer "
230 "system that is generally 'available for 'use' and not a "
231 "dependency of the processor or enclosure. To describe that use "
232 tony 1.1 "of the service may be restricted or have limited availability/ "
233 "applicability, then the CIM_ServiceAvailableToElement "
234 "association would be instantiated.")]
235 class CIM_ProvidesServiceToElement : CIM_Dependency {
236
237 [Deprecated { "CIM_ServiceAvailableToElement.ServiceProvided" },
238 Override ( "Antecedent" ), Description (
239 "The Service provided.")]
240 CIM_Service REF Antecedent;
241
242 [Deprecated { "CIM_ServiceAvailableToElement.UserOfService" },
243 Override ( "Dependent" ), Description (
244 "The ManagedElement dependent on the Service.")]
245 CIM_ManagedElement REF Dependent;
246 };
247
248
249 // ==================================================================
250 // ServiceAvailableToElement
251 // ==================================================================
252 [Association, Version ( "2.7.0" ), Description (
253 tony 1.1 "CIM_ServiceAvailableToElement conveys the semantics of a "
254 "Service being available for the 'use' of a ManagedElement. An "
255 "example is that a Processor and an enclosure (a "
256 "PhysicalElement) may use AlertOnLAN Services to signal an "
257 "incomplete or erroneous boot. In reality, AlertOnLAN is simply "
258 "a HostedService on a computer system that is generally "
259 "'available for use', and not a dependency of the processor or "
260 "enclosure. To describe that use of this service is restricted "
261 "or has limited availability/applicability, then the "
262 "CIM_ServiceAvailableToElement association would be "
263 "instantiated between the Service and specific CIM_Processors "
264 "and CIM_Chassis .")]
265 class CIM_ServiceAvailableToElement {
266
267 [Key, Description (
268 "The Service that is available.")]
269 CIM_Service REF ServiceProvided;
270
271 [Key, Description (
272 "The ManagedElement that may use the Service.")]
273 CIM_ManagedElement REF UserOfService;
274 tony 1.1 };
275
276
277 // ===================================================================
278 // ServiceAffectsElement
279 // ===================================================================
280 [Association, Version ( "2.7.0" ), Description (
281 "ServiceAffectsElement represents an association between a "
282 "Service and the ManagedElement(s) that may be affected by its "
283 "execution. Instantiating this association indicates that "
284 "running the service will pose some burden on the "
285 "ManagedElement that may affect performance, throughput, "
286 "availability, etc.")]
287 class CIM_ServiceAffectsElement {
288
289 [Key, Description (
290 "The Managed Element affected by the Service.")]
291 CIM_ManagedElement REF AffectedElement;
292
293 [Key, Description (
294 "The Service that is affecting the ManagedElement.")]
295 tony 1.1 CIM_Service REF AffectingElement;
296
297 [Description (
298 "An enumeration describing the 'effect' on the "
299 "ManagedElement. This array corresponds to the "
300 "OtherElementEffectsDescriptions array, where the latter "
301 "provides details related to the high-level 'effects' "
302 "enumerated by this property. Additional detail is required "
303 "if the ElementEffects array contains the value 1, "
304 "\"Other\"."),
305 ValueMap { "0", "1", "2", "3", "4" },
306 Values { "Unknown", "Other", "Exclusive Use",
307 "Performance Impact", "Element Integrity" },
308 ArrayType ( "Indexed" ),
309 ModelCorrespondence {
310 "CIM_ServiceAffectsElement.OtherElementEffectsDescriptions" }]
311 uint16 ElementEffects[];
312
313 [Description (
314 "Provides details for the 'effect' at the corresponding "
315 "array position in ElementEffects. This information is "
316 tony 1.1 "required ElementEffects contains the value 1 (\"Other\")."),
317 ArrayType ( "Indexed" ),
318 ModelCorrespondence { "CIM_ServiceAffectsElement.ElementEffects"
319 }]
320 string OtherElementEffectsDescriptions[];
321 };
322
323
324 // ==================================================================
325 // ServiceServiceDependency
326 // ==================================================================
327 [Association, Version ( "2.7.0" ), Description (
328 "CIM_ServiceServiceDependency is an association between a "
329 "Service and another Service, indicating that the latter is "
330 "required to be present, required to have completed, or must be "
331 "absent for the former Service to provide its functionality. "
332 "For example, Boot Services may be dependent upon underlying "
333 "system initialization Services. In the case of the "
334 "initialization Services, the Boot Service may be dependent on "
335 "the init Services completing. \n"
336 "Examining the ServiceServiceDependency class definition, note "
337 tony 1.1 "that its superclass ProvidesServiceToElement is deprecated. "
338 "Unfortunately, ProvidesServiceToElement cannot be removed from "
339 "the object hierarchy without a major Schema release. When/if "
340 "this occurs, the ProvidesServiceToElement superclass will be "
341 "removed, and ServiceServiceDependency will subclass from "
342 "CIM_Dependency directly.")]
343 class CIM_ServiceServiceDependency : CIM_ProvidesServiceToElement {
344
345 [Override ( "Antecedent" ), Description (
346 "The required Service.")]
347 CIM_Service REF Antecedent;
348
349 [Override ( "Dependent" ), Description (
350 "The Service that is dependent on an underlying Service.")]
351 CIM_Service REF Dependent;
352
353 [Description (
354 "The nature of the Service to Service dependency. This "
355 "property describes that the associated Service must have "
356 "completed (value=2), must be started (3) or must not be "
357 "started (4) in order for the Service to function."),
358 tony 1.1 ValueMap { "0", "1", "2", "3", "4" },
359 Values { "Unknown", "Other", "Service Must Have Completed",
360 "Service Must Be Started", "Service Must Not Be Started" }]
361 uint16 TypeOfDependency;
362
363 [Description (
364 "This property describes that the Antecedent Service must be "
365 "restarted after the Dependent operation is complete.")]
366 boolean RestartService;
367 };
368
369
370 // ==================================================================
371 // ServiceComponent
372 // ==================================================================
373 [Association, Aggregation, Version ( "2.6.0" ), Description (
374 "The ServiceComponent aggregation models a set of subordinate "
375 "Services that are aggregated together to form a higher-level "
376 "service.")]
377 class CIM_ServiceComponent : CIM_Component {
378
379 tony 1.1 [Aggregate, Override ( "GroupComponent" ), Description (
380 "The parent Service.")]
381 CIM_Service REF GroupComponent;
382
383 [Override ( "PartComponent" ), Description (
384 "The component Service.")]
385 CIM_Service REF PartComponent;
386 };
387
388
389 // ==================================================================
390 // ServiceAccessPoint
391 // ==================================================================
392 [Abstract, Version ( "2.6.0" ), Description (
393 "CIM_ServiceAccessPoint represents the ability to utilize or "
394 "invoke a Service. Access points represent that a Service is "
395 "made available to other entities for use.")]
396 class CIM_ServiceAccessPoint : CIM_EnabledLogicalElement {
397
398 [Key, Propagated ( "CIM_System.CreationClassName" ),
399 Description (
400 tony 1.1 "The scoping System's CreationClassName."),
401 MaxLen ( 256 )]
402 string SystemCreationClassName;
403
404 [Key, Propagated ( "CIM_System.Name" ), Description (
405 "The scoping System's Name."),
406 MaxLen ( 256 )]
407 string SystemName;
408
409 [Key, Description (
410 "CreationClassName indicates the name of the class or the "
411 "subclass used in the creation of an instance. When used "
412 "with the other key properties of this class, this property "
413 "allows all instances of this class and its subclasses to be "
414 "uniquely identified."),
415 MaxLen ( 256 )]
416 string CreationClassName;
417
418 [Key, Override ( "Name" ), Description (
419 "The Name property uniquely identifies the "
420 "ServiceAccessPoint and provides an indication of the "
421 tony 1.1 "functionality that is managed. This functionality is "
422 "described in more detail in the object's Description "
423 "property."),
424 MaxLen ( 256 )]
425 string Name;
426 };
427
428
429 // ==================================================================
430 // HostedAccessPoint
431 // ==================================================================
432 [Association, Version ( "2.8.0" ), Description (
433 "CIM_HostedAccessPoint is an association between a Service "
434 "AccessPoint and the System on which it is provided. The "
435 "cardinality of this association is 1-to-many and is weak with "
436 "respect to the System. Each System may host many "
437 "ServiceAccessPoints. Heuristic: If the implementation of the "
438 "ServiceAccessPoint is modeled, it must be implemented by a "
439 "Device or SoftwareFeature that is part of the System hosting "
440 "the ServiceAccessPoint.")]
441 class CIM_HostedAccessPoint : CIM_HostedDependency {
442 tony 1.1
443 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
444 "The hosting System.")]
445 CIM_System REF Antecedent;
446
447 [Override ( "Dependent" ), Weak, Description (
448 "The SAP(s) that are hosted on this System.")]
449 CIM_ServiceAccessPoint REF Dependent;
450 };
451
452 // ==================================================================
453 // SAPAvailableForElement
454 // ==================================================================
455 [Association, Version ( "2.8.0" ), Description (
456 "CIM_SAPAvailableForElement conveys the semantics of a Service "
457 "Access Point being available for a ManagedElement. When "
458 "CIM_SAPAvailableForElement is not instantiated then the SAP is "
459 "assumed to be generally available. If instantiated, the SAP is "
460 "only available for the associated ManagedElements. For "
461 "example, a device might provide management access through a "
462 "URL. This association allows the URL to be advertised for the "
463 tony 1.1 "device.")]
464 class CIM_SAPAvailableForElement {
465
466 [Key, Description (
467 "The Service Access Point that is available.")]
468 CIM_ServiceAccessPoint REF AvailableSAP;
469
470 [Key, Description (
471 "The ManagedElement for which the SAP is available.")]
472 CIM_ManagedElement REF ManagedElement;
473 };
474
475 // ==================================================================
476 // ServiceSAPDependency
477 // ==================================================================
478 [Association, Version ( "2.6.0" ), Description (
479 "CIM_ServiceSAPDependency is an association between a Service "
480 "and a ServiceAccessPoint indicating that the referenced SAP is "
481 "utilized by the Service to provide its functionality. For "
482 "example, Boot Services may invoke BIOS' Disk Services "
483 "(interrupts) in order to function.")]
484 tony 1.1 class CIM_ServiceSAPDependency : CIM_Dependency {
485
486 [Override ( "Antecedent" ), Description (
487 "The required ServiceAccessPoint.")]
488 CIM_ServiceAccessPoint REF Antecedent;
489
490 [Override ( "Dependent" ), Description (
491 "The Service that is dependent on an underlying SAP.")]
492 CIM_Service REF Dependent;
493 };
494
495
496 // ==================================================================
497 // ServiceAccessBySAP
498 // ==================================================================
499 [Association, Version ( "2.6.0" ), Description (
500 "CIM_ServiceAccessBySAP is an association that identifies the "
501 "access points for a Service. For example, a printer may be "
502 "accessed by Netware, MacIntosh or Windows ServiceAccess "
503 "Points, potentially hosted on different Systems.")]
504 class CIM_ServiceAccessBySAP : CIM_Dependency {
505 tony 1.1
506 [Override ( "Antecedent" ), Description (
507 "The Service.")]
508 CIM_Service REF Antecedent;
509
510 [Override ( "Dependent" ), Description (
511 "An Access Point for a Service. Access points are dependent "
512 "in this relationship since they have no function without a "
513 "corresponding Service.")]
514 CIM_ServiceAccessPoint REF Dependent;
515 };
516
517
518 // ==================================================================
519 // SAPSAPDependency
520 // ==================================================================
521 [Association, Version ( "2.6.0" ), Description (
522 "CIM_SAPSAPDependency is an association between a Service "
523 "AccessPoint and another ServiceAccessPoint indicating that the "
524 "latter is required in order for the former ServiceAccess Point "
525 "to utilize or connect with its Service. For example, to print "
526 tony 1.1 "at a network printer, local Print Access Points must utilize "
527 "underlying network-related SAPs, or ProtocolEndpoints, in "
528 "order to send the print request.")]
529 class CIM_SAPSAPDependency : CIM_Dependency {
530
531 [Override ( "Antecedent" ), Description (
532 "The required ServiceAccessPoint.")]
533 CIM_ServiceAccessPoint REF Antecedent;
534
535 [Override ( "Dependent" ), Description (
536 "The ServiceAccessPoint that is dependent on an underlying "
537 "SAP.")]
538 CIM_ServiceAccessPoint REF Dependent;
539 };
540
541
542 // ==================================================================
543 // ActiveConnection
544 // ==================================================================
545 [Association, Version ( "2.7.0" ), Description (
546 "This association defines a connection that is currently "
547 tony 1.1 "communicating, or is configured to communicate, between two "
548 "ServiceAccessPoints. It is used when the connection is not "
549 "treated as a ManagedElement itself (i.e., with Status, "
550 "statistics, etc.), but its existence is known. The SAPs that "
551 "are connected are typically at the same networking or "
552 "application layer.")]
553 class CIM_ActiveConnection : CIM_SAPSAPDependency {
554
555 [Override ( "Antecedent" ), Description (
556 "A ServiceAccessPoint that is configured to communicate "
557 "and/or is actively communicating with the Dependent SAP. In "
558 "a unidirectional connection, this is the SAP which is "
559 "transmitting.")]
560 CIM_ServiceAccessPoint REF Antecedent;
561
562 [Override ( "Dependent" ), Description (
563 "A second SeriveAccessPoint that is/can communicate with the "
564 "Antecedent SAP. In a unidirectional connection, this is the "
565 "SAP that is receiving the communication.")]
566 CIM_ServiceAccessPoint REF Dependent;
567
568 tony 1.1 [Deprecated { "No value" }, Description (
569 "The type of traffic that is carried over this connection. "
570 "This property is deprecated since it is incorrectly placed "
571 "on the association. Unicast, broadcast or other traffic "
572 "types are not a function of the connection between the "
573 "referenced endpoints, but on the addressing, protocol, and "
574 "basic functionality of the endpoints."),
575 ValueMap { "0", "1", "2", "3", "4", "5" },
576 Values { "Unknown", "Other", "Unicast", "Broadcast",
577 "Multicast", "Anycast" },
578 ModelCorrespondence {
579 "CIM_ActiveConnection.OtherTrafficDescription" }]
580 uint16 TrafficType;
581
582 [Deprecated { "No value" }, Description (
583 "A string describing the type of traffic that is being "
584 "carried over this instance when its Type property is set to "
585 "1 (e.g., 'Other'). This property is deprecated since it is "
586 "incorrectly placed on the association. Unicast, broadcast "
587 "or other traffic types are not a function of the connection "
588 "between the referenced endpoints, but on the addressing, "
589 tony 1.1 "protocol, and basic functionality of the endpoints."),
590 MaxLen ( 64 ),
591 ModelCorrespondence { "CIM_ActiveConnection.TrafficType" }]
592 string OtherTrafficDescription;
593
594 [Description (
595 "TRUE means that this connection is uni-directional; FALSE "
596 "means that this connection is bi-directional. When the "
597 "connection is unidirectional, the 'speaker' should be "
598 "defined as the Antecedent reference. In a bidirectional "
599 "connection, the selection of which AccessPoint is the "
600 "Antecedent or Dependent is immaterial.")]
601 boolean IsUnidirectional;
602 };
603
604
605 // ==================================================================
606 // RemoteServiceAccessPoint
607 // ==================================================================
608 [Version ( "2.8.0" ), Description (
609 "RemoteServiceAccessPoint describes access and/or addressing "
610 tony 1.1 "information for a remote connection, that is known to a "
611 "'local' network element. This information is scoped/contained "
612 "by the 'local' network element, since this is the context in "
613 "which it is 'remote'. \n"
614 "\n"
615 "Why the remote access point is relevant and information on its "
616 "use are described by subclassing RemoteService AccessPoint, or "
617 "by associating to it.")]
618 class CIM_RemoteServiceAccessPoint : CIM_ServiceAccessPoint {
619
620 [Description (
621 "Access and/or addressing information for a remote "
622 "connection. This can be a host name, network address or "
623 "similar information."),
624 ModelCorrespondence { "CIM_RemoteServiceAccessPoint.InfoFormat"
625 }]
626 string AccessInfo;
627
628 [Description (
629 "An enumerated integer describing the format and "
630 "interpretation of the AccessInfo property."),
631 tony 1.1 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
632 "11", "12", "13", "100", "101", "102", "103", "104", "200",
633 "201", "202", "203", "204", "205", "..", "32768..65535" },
634 Values { "Other", "Host Name", "IPv4 Address", "IPv6 Address",
635 "IPX Address", "DECnet Address", "SNA Address",
636 "Autonomous System Number", "MPLS Label",
637 "IPv4 Subnet Address", "IPv6 Subnet Address",
638 "IPv4 Address Range", "IPv6 Address Range", "Dial String",
639 "Ethernet Address", "Token Ring Address", "ATM Address",
640 "Frame Relay Address", "URL", "FQDN", "User FQDN",
641 "DER ASN1 DN", "DER ASN1 GN", "Key ID", "DMTF Reserved",
642 "Vendor Reserved" },
643 ModelCorrespondence {
644 "CIM_RemoteServiceAccessPoint.OtherInfoFormatDescription" }]
645 uint16 InfoFormat;
646
647 [Description (
648 "Describes the format when the property InfoFormat is set to "
649 "1 (\"Other\")."),
650 ModelCorrespondence { "CIM_RemoteServiceAccessPoint.InfoFormat"
651 }]
652 tony 1.1 string OtherInfoFormatDescription;
653 };
654
655
656 // ==================================================================
657 // RemotePort
658 // ==================================================================
659 [Version ( "2.7.0" ), Description (
660 "RemotePort adds port information to the access data (such as "
661 "IP Address), specified in and inherited from "
662 "RemoteServiceAccessPoint. For example, using the additional "
663 "properties in this class, one could indicate that UDP Port 123 "
664 "is accessed at IP Address xyz. The IP Address would be "
665 "specified in the inherited AccessInfo property, while the UDP "
666 "Port number would be specified in this class' property, "
667 "PortInfo.")]
668 class CIM_RemotePort : CIM_RemoteServiceAccessPoint {
669
670 [Description (
671 "Port information that may further specify the remote access "
672 "information."),
673 tony 1.1 ModelCorrespondence { "CIM_RemotePort.PortProtocol" }]
674 string PortInfo;
675
676 [Description (
677 "An enumerated integer describing the protocol of the port "
678 "addressed by PortInformation."),
679 ValueMap { "1", "2", "3", "32768..65535" },
680 Values { "Other", "TCP", "UDP", "Vendor Specific" },
681 ModelCorrespondence { "CIM_RemotePort.OtherProtocolDescription"
682 }]
683 uint16 PortProtocol;
684
685 [Description (
686 "Describes the protocol when the property PortProtocol is "
687 "set to 1 (\"Other\")."),
688 ModelCorrespondence { "CIM_RemotePort.PortProtocol" }]
689 string OtherProtocolDescription;
690 };
691
692
693 // ==================================================================
694 tony 1.1 // ServiceAccessURI
695 // ==================================================================
696 [Version ( "2.7.0" ), Description (
697 "CIM_ServiceAccessURI represents the ability to utilize or "
698 "invoke a Service via a uniform resource identifier. RFC 1738 "
699 "describes the Uniform Resource Locator which is a more "
700 "specific form of a URI, and RFC 2396 describes the broader, "
701 "inclusive URI. Quoting from the RFC, 'A Uniform Resource "
702 "Identifier (URI) is a compact string of characters for "
703 "identifying an abstract or physical resource.' In the context "
704 "of a ServiceAccessPoint, a URI contains the information "
705 "necessary to access an associated service (associated via "
706 "ServiceAccessBySAP), using a syntax specific to that service.")]
707 class CIM_ServiceAccessURI : CIM_ServiceAccessPoint {
708
709 [Required, Description (
710 "The LabeledURI property is based on RFC 2079 and its value "
711 "and syntax is service specific."),
712 MaxLen ( 256 )]
713 string LabeledURI;
714 };
715 tony 1.1
716
717 // ==================================================================
718 // ProtocolEndpoint
719 // ==================================================================
720 [Version ( "2.8.0" ), Description (
721 "A communication point from which data may be sent or received. "
722 "ProtocolEndpoints link system/computer interfaces to "
723 "LogicalNetworks.")]
724 class CIM_ProtocolEndpoint : CIM_ServiceAccessPoint {
725
726 [Override ( "Description" ),
727 MappingStrings { "MIB.IETF|IF-MIB.ifDescr" }]
728 string Description;
729
730 [Override ( "OperationalStatus" ),
731 MappingStrings { "MIB.IETF|IF-MIB.ifOperStatus" }]
732 uint16 OperationalStatus[];
733
734 [Override ( "EnabledState" ),
735 MappingStrings { "MIB.IETF|IF-MIB.ifAdminStatus" }]
736 tony 1.1 uint16 EnabledState;
737
738 [Override ( "TimeOfLastStateChange" ),
739 MappingStrings { "MIB.IETF|IF-MIB.ifLastChange" }]
740 datetime TimeOfLastStateChange;
741
742 [Override ( "Name" ), Description (
743 "A string which identifies this ProtocolEndpoint with either "
744 "a port or an interface on a device. To ensure uniqueness, "
745 "the Name property should be prepended or appended with "
746 "information from the Type or OtherTypeDescription "
747 "properties. The method chosen is described in the "
748 "NameFormat property of this class."),
749 MaxLen ( 256 )]
750 string Name;
751
752 [Description (
753 "NameFormat contains the naming heuristic that is chosen to "
754 "ensure that the value of the Name property is unique. For "
755 "example, one might choose to prepend the name of the port "
756 "or interface with the Type of ProtocolEndpoint that this "
757 tony 1.1 "instance is (e.g., IPv4) followed by an underscore."),
758 MaxLen ( 256 )]
759 string NameFormat;
760
761 [Deprecated { "CIM_ProtocolEndpoint.ProtocolIFType" },
762 Description (
763 "ProtocolType is an enumeration providing information to "
764 "categorize and classify different instances of this class. "
765 "For most instances, information in this enumeration and the "
766 "subclass' definition overlap. However, there are several "
767 "cases where a specific subclass of ProtocolEndpoint is not "
768 "required (for example, there is no Fibre Channel subclass "
769 "of ProtocolEndpoint). Hence, this property is needed to "
770 "define the type of Endpoint. \n"
771 "\n"
772 "This property is deprecated in lieu of the ProtocolIFType "
773 "enumeration. This is done to have better alignment between "
774 "the IETF's IF-MIB and this CIM class."),
775 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
776 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
777 "20", "21", "22", "23", "24", "25", "26", "27" },
778 tony 1.1 Values { "Unknown", "Other", "IPv4", "IPv6", "IPX", "AppleTalk",
779 "DECnet", "SNA", "CONP", "CLNP", "VINES", "XNS", "ATM",
780 "Frame Relay", "Ethernet", "TokenRing", "FDDI", "Infiniband",
781 "Fibre Channel", "ISDN BRI Endpoint",
782 "ISDN B Channel Endpoint", "ISDN D Channel Endpoint",
783 // 22
784 "IPv4/v6", "BGP", "OSPF", "MPLS", "UDP", "TCP" },
785 ModelCorrespondence {
786 "CIM_ProtocolEndpoint.OtherTypeDescription" }]
787 uint16 ProtocolType;
788
789 [Description (
790 "ProtocolIFType is an enumeration synchronized with the IANA "
791 "ifType MIB, maintained at the URL, http: "
792 "//www.iana.org/assignments/ianaiftype-mib. Also, // // // "
793 "// additional values defined by the DMTF are included. The "
794 "property is used to categorize and classify instances of "
795 "the ProtocolEndpoint class. Note that if the ProtocolIFType "
796 "is set to 1 (\"Other\"), then the type information should "
797 "be provided in the OtherTypeDescription string property."),
798 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
799 tony 1.1 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
800 "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
801 "30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
802 "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
803 "50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
804 "60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
805 "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
806 "80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
807 "90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
808 "100", "101", "102", "103", "104", "105", "106", "107",
809 "108", "109", "110", "111", "112", "113", "114", "115",
810 "116", "117", "118", "119", "120", "121", "122", "123",
811 "124", "125", "126", "127", "128", "129", "130", "131",
812 "132", "133", "134", "135", "136", "137", "138", "139",
813 "140", "141", "142", "143", "144", "145", "146", "147",
814 "148", "149", "150", "151", "152", "153", "154", "155",
815 "156", "157", "158", "159", "160", "161", "162", "163",
816 "164", "165", "166", "167", "168", "169", "170", "171",
817 "172", "173", "174", "175", "176", "177", "178", "179",
818 "180", "181", "182", "183", "184", "185", "186", "187",
819 "188", "189", "190", "191", "192", "193", "194", "195",
820 tony 1.1 "196", "197", "198", "199", "200", "201", "202", "203",
821 "204", "205", "206", "207", "208", "209", "210", "211",
822 "212", "213", "214", "215", "216", "217", "218", "219",
823 "220", "221", "222", "223", "224", "..4095", "4096", "4097",
824 "4098", "4099", "4100", "4101", "4102", "4103", "4104",
825 "4105", "4106", "4107", "4108", "4109", "4110", "4111",
826 "4112", "4113", "4114", "4115", "..32767", "32768.." },
827 Values { "Unknown", "Other", "Regular 1822", "HDH 1822",
828 "DDN X.25", "RFC877 X.25", "Ethernet CSMA/CD",
829 "ISO 802.3 CSMA/CD", "ISO 802.4 Token Bus",
830 "ISO 802.5 Token Ring", "ISO 802.6 MAN", "StarLAN",
831 "Proteon 10Mbit", "Proteon 80Mbit", "HyperChannel", "FDDI",
832 "LAP-B", "SDLC", "DS1", "E1", "Basic ISDN", "Primary ISDN",
833 "Proprietary Point-to-Point Serial", "PPP",
834 "Software Loopback", "EON", "Ethernet 3Mbit", "NSIP", "SLIP",
835 "Ultra", "DS3", "SIP", "Frame Relay", "RS-232", "Parallel",
836 "ARCNet", "ARCNet Plus", "ATM", "MIO X.25", "SONET",
837 "X.25 PLE", "ISO 802.211c", "LocalTalk", "SMDS DXI",
838 "Frame Relay Service", "V.35", "HSSI", "HIPPI", "Modem",
839 "AAL5", "SONET Path", "SONET VT", "SMDS ICIP",
840 "Proprietary Virtual/Internal", "Proprietary Multiplexor",
841 tony 1.1 "IEEE 802.12", "Fibre Channel", "HIPPI Interface",
842 "Frame Relay Interconnect", "ATM Emulated LAN for 802.3",
843 "ATM Emulated LAN for 802.5", "ATM Emulated Circuit",
844 "Fast Ethernet (100BaseT)", "ISDN", "V.11", "V.36",
845 "G703 at 64K", "G703 at 2Mb", "QLLC",
846 "Fast Ethernet 100BaseFX", "Channel", "IEEE 802.11",
847 "IBM 260/370 OEMI Channel", "ESCON", "Data Link Switching",
848 "ISDN S/T Interface", "ISDN U Interface", "LAP-D",
849 "IP Switch", "Remote Source Route Bridging", "ATM Logical",
850 "DS0", "DS0 Bundle", "BSC", "Async", "Combat Net Radio",
851 "ISO 802.5r DTR", "Ext Pos Loc Report System",
852 "AppleTalk Remote Access Protocol",
853 "Proprietary Connectionless", "ITU X.29 Host PAD",
854 "ITU X.3 Terminal PAD", "Frame Relay MPI", "ITU X.213",
855 "ADSL", "RADSL", "SDSL", "VDSL", "ISO 802.5 CRFP", "Myrinet",
856 "Voice Receive and Transmit",
857 "Voice Foreign Exchange Office",
858 "Voice Foreign Exchange Service", "Voice Encapsulation",
859 "Voice over IP", "ATM DXI", "ATM FUNI", "ATM IMA",
860 "PPP Multilink Bundle", "IP over CDLC", "IP over CLAW",
861 "Stack to Stack", "Virtual IP Address", "MPC", "IP over ATM",
862 tony 1.1 "ISO 802.5j Fibre Token Ring", "TDLC", "Gigabit Ethernet",
863 "HDLC", "LAP-F", "V.37", "X.25 MLP", "X.25 Hunt Group",
864 "Transp HDLC", "Interleave Channel", "FAST Channel",
865 "IP (for APPN HPR in IP Networks)", "CATV MAC Layer",
866 "CATV Downstream", "CATV Upstream", "Avalon 12MPP Switch",
867 "Tunnel", "Coffee", "Circuit Emulation Service",
868 "ATM SubInterface", "Layer 2 VLAN using 802.1Q",
869 "Layer 3 VLAN using IP", "Layer 3 VLAN using IPX",
870 "Digital Power Line", "Multimedia Mail over IP", "DTM",
871 "DCN", "IP Forwarding", "MSDSL", "IEEE 1394",
872 "IF-GSN/HIPPI-6400", "DVB-RCC MAC Layer",
873 "DVB-RCC Downstream", "DVB-RCC Upstream", "ATM Virtual",
874 "MPLS Tunnel", "SRP", "Voice over ATM",
875 "Voice over Frame Relay", "ISDL", "Composite Link",
876 "SS7 Signaling Link", "Proprietary P2P Wireless",
877 "Frame Forward", "RFC1483 Multiprotocol over ATM", "USB",
878 "IEEE 802.3ad Link Aggregate", "BGP Policy Accounting",
879 "FRF .16 Multilink FR", "H.323 Gatekeeper", "H.323 Proxy",
880 "MPLS", "Multi-Frequency Signaling Link", "HDSL-2", "S-HDSL",
881 "DS1 Facility Data Link", "Packet over SONET/SDH",
882 "DVB-ASI Input", "DVB-ASI Output", "Power Line",
883 tony 1.1 "Non Facility Associated Signaling", "TR008", "GR303 RDT",
884 "GR303 IDT", "ISUP", "Proprietary Wireless MAC Layer",
885 "Proprietary Wireless Downstream",
886 "Proprietary Wireless Upstream", "HIPERLAN Type 2",
887 "Proprietary Broadband Wireless Access Point to Mulipoint",
888 "SONET Overhead Channel", "Digital Wrapper Overhead Channel",
889 "ATM Adaptation Layer 2", "Radio MAC", "ATM Radio",
890 "Inter Machine Trunk", "MVL DSL", "Long Read DSL",
891 "Frame Relay DLCI Endpoint", "ATM VCI Endpoint",
892 "Optical Channel", "Optical Transport", "Proprietary ATM",
893 "Voice over Cable", "Infiniband", "TE Link", "Q.2931",
894 "Virtual Trunk Group", "SIP Trunk Group", "SIP Signaling",
895 "CATV Upstream Channel", "Econet", "FSAN 155Mb PON",
896 "FSAN 622Mb PON", "Transparent Bridge", "Line Group",
897 "Voice E&M Feature Group", "Voice FGD EANA", "Voice DID",
898 "MPEG Transport", "6To4", "GTP", "Paradyne EtherLoop 1",
899 "Paradyne EtherLoop 2", "Optical Channel Group", "HomePNA",
900 "GFP", "ciscoISLvlan", "actelisMetaLOOP", "Fcip",
901 "IANA Reserved", "IPv4", "IPv6", "IPv4/v6", "IPX", "DECnet",
902 "SNA", "CONP", "CLNP", "VINES", "XNS",
903 "ISDN B Channel Endpoint", "ISDN D Channel Endpoint", "BGP",
904 tony 1.1 "OSPF", "UDP", "TCP", "802.11a", "802.11b", "802.11g",
905 "802.11h", "DMTF Reserved", "Vendor Reserved" },
906 MappingStrings { "MIB.IETF|IF-MIB.ifType" },
907 ModelCorrespondence {
908 "CIM_ProtocolEndpoint.OtherTypeDescription" }]
909 uint16 ProtocolIFType;
910
911 [Description (
912 "A string describing the type of ProtocolEndpoint when the "
913 "Type property of this class (or any of its subclasses) is "
914 "set to 1 (i.e., \"Other\"). This property should be set to "
915 "NULL when the Type property is any value other than 1."),
916 MaxLen ( 64 ),
917 ModelCorrespondence { "CIM_ProtocolEndpoint.ProtocolType",
918 "CIM_ProtocolEndpoint.ProtocolIFType" }]
919 string OtherTypeDescription;
920 };
921
922
923 // ==================================================================
924 // BindsTo
925 tony 1.1 // ==================================================================
926 [Association, Version ( "2.6.0" ), Description (
927 "This association establishes a ServiceAccessPoint as a "
928 "requestor of protocol services from a ProtocolEndpoint. "
929 "Typically, this association runs between SAPs and endpoints on "
930 "a single system. Since a ProtocolEndpoint is a kind of "
931 "ServiceAccessPoint, this binding can be used to establish a "
932 "layering of two protocols, the upper layer represented by the "
933 "Dependent and the lower layer represented by the Antecedent.")]
934 class CIM_BindsTo : CIM_SAPSAPDependency {
935
936 [Override ( "Antecedent" ), Description (
937 "The lower-level endpoint which is accessed by the SAP.")]
938 CIM_ProtocolEndpoint REF Antecedent;
939
940 [Override ( "Dependent" ), Description (
941 "The AccessPoint or ProtocolEndpoint dependent on the lower "
942 "level endpoint.")]
943 CIM_ServiceAccessPoint REF Dependent;
944 };
945
946 tony 1.1
947 // ==================================================================
948 // ProvidesEndpoint
949 // ==================================================================
950 [Association, Version ( "2.7.0" ), Description (
951 "This association represents a ProtocolEndpoint provided by a "
952 "Service, to allow access to the Service.")]
953 class CIM_ProvidesEndpoint : CIM_ServiceAccessBySAP {
954
955 [Override ( "Antecedent" ), Description (
956 "The Service that is accessed by the ProtocolEndpoint.")]
957 CIM_Service REF Antecedent;
958
959 [Override ( "Dependent" ), Description (
960 "The ProtocolEndpoint that provides access to the Service.")]
961 CIM_ProtocolEndpoint REF Dependent;
962 };
963
964 // ===================================================================
965 // end of file
966 // ===================================================================
|