1 karl 1.2 // ==================================================================
2 // Title: Exchange Standards MOF Specification
3 // Filename: CIM_Support26.MOF
4 // Version: 2.6.0 (CIM), 1.3 (Exchange Standard)
5 // Status: Final
6 // Date: 06/04/2002
7 // ===================================================================
8 // Copyright 2000-2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party’s
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.2 // ===================================================================
44 // Description: The Solution Exchange Standard (SES) defines an object model
45 // for the exchange of knowledge. The Service Incident Exchange
46 // Standard (SIS) adds a transaction model to SES.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ===================================================================
52 // 05/09/2002 Version 1.4
53 // CR836: Cleaned up formatting, Descriptions and MOF errors
54 // 03/19/2002 Version 1.3
55 // CR746: Add Version Qualifier
56 // 11/17/2000 Version 1.2j
57 // CR562: Changed property names using reserved words
58 // PRS_Resource.Type to ResourceType
59 // PRS_Attachment.Reference to AttachmentReference
60 // PRS_Attachment.Size to AttachmentSize
61 // PRS_Attachment.Object to AttachmentObject
62 // PRS_Statement.Role to StatementRole
63 // PRS_Statement.Operator to StatementOperator
64 karl 1.2 // PRS_Revision.Date to RevisionDate
65 // PRS_Activity.New to NewKeys
66 // PRS_Transaction.State to TransactionState
67 // CR563: Added deprecated qualifier to deprecated properties
68 // PRS_Transaction.TransactionName
69 // PRS_Activity.ParameterList
70 // Removed Description from PRS_Feature and PRS_Resource (already
71 // inherited from PRS_ExchangeElement)
72 // Added MinValue and MaxValue to the following:
73 // PRS_Problem.Likelihood
74 // PRS_Problem.Impact
75 // PRS_Resolution.Confidence
76 // PRS_Statement.Relevance
77 // Broke long lines over two lines
78 // 08/08/2000 Version 1.2i CR525
79 // Added missing Association qualifier to both PRS_ContactOrganization and
80 // PRS_ContactPerson.
81 // 05/02/2000 Version 1.2h
82 // Converted all CIM_Dependency children to use original property names:
83 // Antecedent and Dependent
84 // 03/07/2000 Version 1.2g
85 karl 1.2 // Added Association qualifier to all association classes
86 // Added spaces to end of descriptions where they were missing
87 // Added Notification_Pending state to PRS_Transaction State property
88 // 02/03/2000 Version 1.2f
89 // Added definitions for PRS_SISServices method return values and
90 // CompletionStatus parameters as well as PRS_Transaction CompletionStatus
91 // 01/26/2000 Version 1.2e
92 // Changed PRS_ExchangeElement description
93 // 01/21/2000 Version 1.2d
94 // Fixed spelling error in PRS_Category
95 // 01/20/2000 Version 1.2c
96 // Added ParameterList property back to PRS_Activity for backward
97 // compatibility
98 // Removed methods from PRS_Transaction and edited property descriptions
99 // Corrected data types of some properties to match specification (strings
100 // to uint8)
101 // Added some missing superclass references ( : CIM_Dependency)
102 // 01/17/2000 Version 1.2b
103 // Reformatted MOF and expanded description fields
104 // Incorporated SIS Transactions using CIM over HTTP
105 // Added properties and methods to PRS_Transaction
106 karl 1.2 // Added DirtyFlag to PRS_ExchangeElement
107 // Added PRS_SISService
108 //
109 // ==================================================================
110
111
112 // ==================================================================
113 // Pragmas
114 // ==================================================================
115 #pragma locale ("en_US")
116
117
118 // ==================================================================
119 // PRS_ExchangeElement
120 // ==================================================================
121 [Abstract, Version ("2.6.0"),
122 Description (
123 "PRS_ExchangeElement is an abstract base class for all classes "
124 "in the Solution and Service Incident object model. As an "
125 "abstract class it is never instantiated. \n"
126 "\n"
127 karl 1.2 "PRS_ExchangeElement exists to provide a single anchor point "
128 "for associations that may be made to any Solution or Service "
129 "Incident object. For example, Administrative or Attachment "
130 "instances may be associated with any object derived from "
131 "PRS_ExchangeElement. To support this generic association "
132 "capability, the PRS_AdminAssociation and PRS_Attached "
133 "associations both derive from the CIM_Dependency association "
134 "and override the Antecedent property of that class to be a "
135 "PRS_ExchangeElement REF.") ]
136 class PRS_ExchangeElement : CIM_ManagedElement {
137
138 [Key, Description (
139 "The PRSUniqueName property is a Globally Unique IDentifier "
140 "(GUID) also known as a Universally Unique IDentifier (UUID). "
141 "This property allows Solution and Service Incident objects "
142 "to be used by multiple Solutions or Service Incidents without "
143 "duplication. In addition, all Solution or Service Incidents "
144 "containing a unique object are updated when the object is "
145 "updated.") ]
146 string PRSUniqueName;
147
148 karl 1.2 [ValueMap {"0", "1", "2", "3"},
149 Values {"Clean", "New", "Modified", "Deleted"},
150 Description(
151 "The DirtyFlag is used by the SISService Start Transaction "
152 "method to determine whether an ExchangeElement has "
153 "been created, modified or deleted since the last Transaction. "
154 "Any object not marked 'Clean' is included in the next "
155 "Transaction. \n"
156 "\n"
157 "It is the responsibility of the entity creating, modifying or "
158 "deleting the object derived from ExchangeElement to set this "
159 "property appropriately. \n"
160 "\n"
161 "This property value is set to 'Clean' by an invocation of the "
162 "Transaction Complete method with a Status parameter of "
163 "zero (0).") ]
164 uint8 DirtyFlag;
165 };
166
167
168 // =================================================================
169 karl 1.2 // PRS_Solution
170 // ==================================================================
171 [Version ("2.6.0"),
172 Description (
173 "PRS_Solution is the root class of a set of associated classes "
174 "used to describe a single Solution. If a Solution is associated "
175 "with multiple Problems or Resolutions, all of the Problems "
176 "described are related to all of the Resolutions described. The "
177 "reverse is also true. All of the Resolutions described are "
178 "related to all of the Problems described in the Solution. \n"
179 "\n"
180 "PRS_Solution is directly associated to one or more of the "
181 "following classes: \n"
182 " PRS_Reference \n"
183 " PRS_Problem \n"
184 " PRS_Resolution") ]
185 class PRS_Solution : PRS_ExchangeElement {
186
187 [Description ("The Solution title.") ]
188 string Title;
189
190 karl 1.2 [Description ("A brief description of the Solution.") ]
191 string SolutionAbstract;
192
193 [ValueMap {"0", "1", "2", "254", "255"},
194 Values {"Reference", "Diagnostic", "How To", "Other", "Unknown"},
195 Description (
196 "The SolutionType suggests the type of knowledge contained "
197 "in the Solution. Depending on the type, the Solution may or "
198 "may not include particular objects. For example, a "
199 "'Reference' Solution describes non-diagnostic technical or "
200 "general information using PRS_Statement objects. A 'Diagnostic' "
201 "Solution includes one or more PRS_Problem and PRS_Resolution "
202 "objects. A 'How To' Solution describes how to solve a "
203 "particular Problem described by a PRS_Problem in a series of "
204 "sequential steps within a PRS_Resolution.") ]
205 uint8 SolutionType;
206 };
207
208
209 // ==================================================================
210 // PRS_SolutionElement
211 karl 1.2 // ==================================================================
212 [Abstract, Version ("2.6.0"),
213 Description (
214 "PRS_SolutionElement is an abstract base class for non-Category "
215 "objects that are associated with a Solution. This includes: \n"
216 " PRS_Reference \n"
217 " PRS_Problem \n"
218 " PRS_Resolution \n"
219 "\n"
220 "PRS_SolutionElement provides a common reference for these "
221 "objects to be associated with PRS_Expression objects through "
222 "the SolutionExpression association. \n"
223 "\n"
224 "In addition, all of the derived objects may be retrieved with a "
225 "single query for the common super-class.") ]
226 class PRS_SolutionElement : PRS_ExchangeElement {
227 };
228
229
230 // ===================================================================
231 // PRS_Reference
232 karl 1.2 // ===================================================================
233 [Version ("2.6.0"),
234 Description (
235 "PRS_Reference is a placeholder to support links between "
236 "PRS_Expression objects and a PRS_Solution. It does not "
237 "have any properties. A 'Reference' Solution uses PRS_Statement "
238 "objects to describe general, non-diagnostic knowledge and "
239 "may not include any PRS_Problem and PRS_Resolution instances.") ]
240 class PRS_Reference : PRS_SolutionElement {
241 };
242
243
244 // ===================================================================
245 // PRS_Problem
246 // ===================================================================
247 [Version ("2.6.0"),
248 Description (
249 "PRS_Problem is the root object of a set of associated objects "
250 "that describe a Problem. One or more Problems may be associated "
251 "with a Solution. \n"
252 "\n"
253 karl 1.2 "The Problem is described by PRS_Statement and PRS_Product "
254 "instances indirectly associated to the PRS_Problem through a "
255 "PRS_Expression.") ]
256 class PRS_Problem : PRS_SolutionElement {
257
258 [Description (
259 "The Likelihood describes the potential for the Problem to "
260 "occur. The value of this property shall be an integer value in "
261 "the range of 0 to 100, inclusive."),
262 MinValue (0), MaxValue (100) ]
263 uint16 Likelihood;
264
265 [Description (
266 "The Impact describes the severity of the problem. "
267 "The value of this property shall be an integer value in the "
268 "range of 0 to 100, inclusive."),
269 MinValue (0), MaxValue (100) ]
270 uint16 Impact;
271 };
272
273
274 karl 1.2 // ===================================================================
275 // PRS_Resolution
276 // ===================================================================
277 [Version ("2.6.0"),
278 Description (
279 "PRS_Resolution is the root object of a set of associated "
280 "objects that describe a the resolution to a Problem. One or "
281 "more Resolutions may be associated with a Solution. \n"
282 "\n"
283 "The Resolution is described by PRS_Statement and PRS_Product "
284 "instances indirectly associated to the PRS_Resolution through "
285 "a PRS_Expression.") ]
286 class PRS_Resolution : PRS_SolutionElement {
287
288 [Description (
289 "The Confidence describes the potential for the Resolution to "
290 "correct the Problem or Problems associated with the "
291 "PRS_Solution. The value of this property shall be an integer "
292 "value in the range of 0 to 100, inclusive."),
293 MinValue (0), MaxValue (100) ]
294 uint16 Confidence;
295 karl 1.2 };
296
297
298 // ===================================================================
299 // PRS_SolutionHasElement
300 // ===================================================================
301 [Association, Abstract, Aggregation, Version ("2.6.0"),
302 Description (
303 "PRS_SolutionHasElement is an abstract base class for associating "
304 "PRS_Solution with objects derived from PRS_SolutionElement. This "
305 "association class allows all PRS_Reference, PRS_Problem and "
306 "PRS_Resolution objects to be retrieved with a single query.") ]
307 class PRS_SolutionHasElement : CIM_Dependency {
308
309 [Override ("Antecedent"), Aggregate, Min (1),
310 Description ("The PRS_Solution root object of the Solution.") ]
311 PRS_Solution REF Antecedent;
312
313 [Override ("Dependent"),
314 Description (
315 "The PRS_Reference, PRS_Problem or PRS_Resolution aggregated "
316 karl 1.2 "into the Solution by this association.") ]
317 PRS_SolutionElement REF Dependent;
318 };
319
320
321 // ===================================================================
322 // PRS_SolutionReference
323 // ===================================================================
324 [Association, Aggregation, Version ("2.6.0"),
325 Description (
326 "PRS_SolutionReference aggregates a Reference into a "
327 "Solution.") ]
328 class PRS_SolutionReference : PRS_SolutionHasElement {
329
330 [Override ("Dependent"),
331 Description ("The PRS_Reference aggregated into the Solution.") ]
332 PRS_Reference REF Dependent;
333 };
334
335
336 // ===================================================================
337 karl 1.2 // PRS_SolutionProblem
338 // ===================================================================
339 [Association, Aggregation, Version ("2.6.0"),
340 Description (
341 "PRS_SolutionProblem aggregates a Problem into a Solution.") ]
342 class PRS_SolutionProblem : PRS_SolutionHasElement {
343
344 [Override ("Dependent"),
345 Description ("The PRS_Problem aggregated into the Solution.") ]
346 PRS_Problem REF Dependent;
347 };
348
349
350 // ===================================================================
351 // PRS_SolutionResolution
352 // ===================================================================
353 [Association, Aggregation, Version ("2.6.0"),
354 Description (
355 "PRS_SolutionResolution aggregates a Resolution into a "
356 "Solution.") ]
357 class PRS_SolutionResolution : PRS_SolutionHasElement {
358 karl 1.2
359 [Override ("Dependent"),
360 Description ("The PRS_Solution aggregated into the Solution.") ]
361 PRS_Resolution REF Dependent;
362 };
363
364
365 // =================================================================
366 // PRS_Category
367 // ==================================================================
368 [Version ("2.6.0"),
369 Description (
370 "PRS_Category is used to classify the components of a "
371 "Solution. Hierarchical classifications are created by "
372 "associating PRS_CategoryParentChild with multiple "
373 "PRS_Category instances.") ]
374 class PRS_Category : PRS_ExchangeElement {
375
376 [Description (
377 "The specific value for the category. For example, 'HP "
378 "Laserjet' would be a value for a category containing "
379 karl 1.2 "printer names.") ]
380 string CategoryContents;
381
382 [Description (
383 "The type of category. Used to give additional semantics to "
384 "the category. For example, a Category of Type 'Printers' "
385 "would qualify the list of category values for a list of "
386 "printers. \n"
387 "\n"
388 "Note: the relationship of Category Type to Category Value "
389 "expresses no intrinsic hierarchy. If a tree of relationships "
390 "exists to define categories and sub-categories, this should be "
391 "defined using CategoryParentChild associations.") ]
392 string CategoryType;
393 };
394
395
396 // ===================================================================
397 // PRS_SolutionCategory
398 // ===================================================================
399 [Association, Version ("2.6.0"),
400 karl 1.2 Description (
401 "PRS_SolutionCategory associates PRS_Solution with a PRS_Category "
402 "for classification purposes.") ]
403 class PRS_SolutionCategory : CIM_Dependency {
404
405 [Override ("Antecedent"), Min (1),
406 Description ("The PRS_Solution being classified.") ]
407 PRS_Solution REF Antecedent;
408
409 [Override ("Dependent"),
410 Description (
411 "The specific PRS_Category being used to classify the Solution.") ]
412 PRS_Category REF Dependent;
413 };
414
415
416 // ===================================================================
417 // PRS_Categorization
418 // ===================================================================
419 [Association, Version ("2.6.0"),
420 Description (
421 karl 1.2 "PRS_Categorization associates PRS_Reference, PRS_Problem "
422 "or PRS_Resolution with a PRS_Category for classification "
423 "purposes. For example, a Category named 'Printing Issues' "
424 "can be defined for a Problem using the Categorization "
425 "association between a PRS_Problem and a PRS_Category.") ]
426 class PRS_Categorization : CIM_Dependency {
427
428 [Override ("Antecedent"),
429 Description ("The PRS_Category used for classification.") ]
430 PRS_Category REF Antecedent;
431
432 [Override ("Dependent"), Min (1),
433 Description (
434 "The specific PRS_Reference, PRS_Problem or PRS_Resolution "
435 "classified by this association.") ]
436 PRS_SolutionElement REF Dependent;
437 };
438
439
440 // ===================================================================
441 // PRS_CategoryParentChild
442 karl 1.2 // ===================================================================
443 [Association, Version ("2.6.0"),
444 Description(
445 "PRS_CategoryParentChild is used to define classification "
446 "hierarchies.") ]
447 class PRS_CategoryParentChild : CIM_Dependency {
448
449 [Override ("Antecedent"),
450 Description ("The parent PRS_Category used for classification.") ]
451 PRS_Category REF Antecedent;
452
453 [Override ("Dependent"),
454 Description ("The child PRS_Category used for classification.") ]
455 PRS_Category REF Dependent;
456 };
457
458
459 // =================================================================
460 // PRS_ExpressionElement
461 // ==================================================================
462 [Abstract, Version ("2.6.0"),
463 karl 1.2 Description (
464 "PRS_ExpressionElement is an abstract base class for PRS_Products "
465 "and PRS_Statements. It provides a common association point for "
466 "objects associated with PRS_Expressions.") ]
467 class PRS_ExpressionElement : PRS_ExchangeElement {
468 };
469
470
471 // =================================================================
472 // PRS_Expression
473 // ==================================================================
474 [Version ("2.6.0"),
475 Description (
476 "PRS_Expression defines a specific relationship between "
477 "PRS_ExpressionElements associated with PRS_SolutionElements.") ]
478 class PRS_Expression : PRS_ExpressionElement {
479
480 [Description (
481 "The operator to be used with the associated PRS_Expression"
482 "Elements. The 'AND', 'OR' and 'NOT' operators are the only "
483 "operators currently defined by the standard. (They must be "
484 karl 1.2 "used as uppercase strings.) Note that this is a "
485 "vendor-extensible property - so that additional operators "
486 "can be defined and used in implementations.") ]
487 string Relation;
488 };
489
490
491 // =================================================================
492 // PRS_Product
493 // ==================================================================
494 [Version ("2.6.0"),
495 Description (
496 "PRS_Product is used to describe a single product to associate "
497 "with a PRS_Expression.") ]
498 class PRS_Product : PRS_ExpressionElement {
499
500 [Description ("The vendor of the product.") ]
501 string Vendor;
502
503 [Description ("The make and or model of the product.") ]
504 string ProductName;
505 karl 1.2
506 [Description ("The version of the product.") ]
507 string Version;
508
509 [Description (
510 "The order of relevance of this product to an associated "
511 "PRS_SolutionElement (which includes PRS_Reference, PRS_Problem "
512 "or PRS_Resolution).") ]
513 string Order;
514 };
515
516
517 // =================================================================
518 // PRS_Statement
519 // ==================================================================
520 [Version ("2.6.0"),
521 Description (
522 "PRS_Statement contains the text describing a problem, any "
523 "relevant background information, and its resolution. "
524 "Statements are units of text ranging from brief sentences or "
525 "phrases to paragraphs or pages. There is no limit to the number "
526 karl 1.2 "of PRS_Statements within a Solution, as long as they support the "
527 "intent and focus of their root class. Root classes include: "
528 "PRS_Reference, PRS_Problem or PRS_Resolution. \n"
529 "\n"
530 "PRS_Statements may be grouped together to build compound "
531 "'sentences'. For example, \n"
532 " StatementA = Printer output is blotchy. \n"
533 " StatementB = Print jobs per day are less than 50. \n"
534 " ExpressionA = StatementA AND StatementB.") ]
535 class PRS_Statement : PRS_ExpressionElement {
536
537 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
538 "10", "11", "254", "255"},
539 Values {"Description", "Symptom", "Error_Message", "Objective",
540 "Evidence", "Cause", "Work_Around", "Fix", "Answer",
541 "Keyword", "Changes", "Title", "Other", "Unknown"},
542 Description (
543 "StatementRole describes how the PRS_Statement relates to the "
544 "larger context. For example, is the PRS_Statement describing "
545 "a Fix or a Symptom? 'Description' is generic text without a "
546 "specific diagnostic application. 'Symptom' describes initial "
547 karl 1.2 "observable incident or behavior that the user reports. "
548 "'Error_Message' is a specific type of symptom that the user "
549 "reports, describing the specific error condition. 'Objective' "
550 "is what the user wants to accomplish, often expressed as a "
551 "positive condition. FOr example, how to print on a network. "
552 "'Evidence' is information that is collected to diagnose the "
553 "problem after the symptom is reported. 'Cause' is a "
554 "description of the underlying facts or factors that engender "
555 "or relate this behavior. 'Work_around' is information that "
556 "lets the user work, but does not correct the problem completely. "
557 "'Fix' is information that fixes the problem completely. "
558 "'Answer' is the information given to the user such as steps to "
559 "perform, wording to support their environment and understanding. "
560 "'Keyword' is a specific classification using defined words or "
561 "phrases. 'Changes' describe recent changes in the environment "
562 "which could affect the problem or resolution. 'Title is the "
563 "title applying to associated PRS_Statements (usually associated "
564 "via an 'and' expression.") ]
565 uint8 StatementRole;
566
567 [Description ("The descriptive text used for the PRS_Statement.") ]
568 karl 1.2 string Text;
569
570 [Description (
571 "When the PRS_Adminstrative object indicates Level 2 compliance, "
572 "StatementOperator describes the relationship between an associated "
573 "PRS_Feature and the FeatureValue property. This property is "
574 "ignored if there is no PRS_Feature associated with this "
575 "PRS_Statement.") ]
576 string StatementOperator;
577
578 [Description (
579 "When the PRS_Adminstrative object indicates Level 2 compliance, "
580 "FeatureValue is the specific value selected from the associated "
581 "PRS_Feature. This property is ignored if there is no PRS_Feature "
582 "associated with this PRS_Statement.") ]
583 string FeatureValue;
584
585 [Description (
586 "Order is used to sequence PRS_Statements associated "
587 "with a single PRS_Expression to allow a Consumer to process "
588 "the information in the order desired by the Producer.") ]
589 karl 1.2 string Order;
590
591 [Description (
592 "Importance of this Statement. The value of this property shall "
593 "be an integer value in the range of 0 to 100, inclusive."),
594 MinValue (0), MaxValue (100) ]
595 uint16 Relevance;
596 };
597
598
599 // =================================================================
600 // PRS_Feature
601 // ==================================================================
602 [Version ("2.6.0"),
603 Description (
604 "PRS_Feature is used for structured diagnostic data, including "
605 "specific data values like steps or conditions. For example, "
606 "consider a PRS_Statement with a Text property value of: \n"
607 " Print jobs per day are less than 50\n"
608 "\n"
609 "This could be described using a PRS_Feature as follows: \n"
610 karl 1.2 " Description: 'Print jobs per day' \n"
611 " Prompt: 'How many print jobs per day?' \n"
612 " ValidValues: '10' '50' '100' \n"
613 " DataType: 'Integer' \n"
614 "\n"
615 "The associated PRS_Statement would contain: \n"
616 " Operator: '<' \n"
617 " FeatureValue: '50' \n") ]
618 class PRS_Feature : PRS_ExchangeElement {
619
620 [Description ("Prompt presented through user interface.") ]
621 string Prompt;
622
623 [Description ("Valid values for this PRS_Feature.") ]
624 string ValidValues;
625
626 [ValueMap {"0", "1", "2", "3", "4", "5", "254", "255"},
627 Values {"String", "Integer", "Float", "Date/Time", "Boolean",
628 "Binary", "Other", "Unknown"},
629 Description (
630 "Data type used for PRS_Statement FeatureValue property.") ]
631 karl 1.2 uint8 DataType;
632 };
633
634
635 // =================================================================
636 // PRS_Resource
637 // ==================================================================
638 [Version ("2.6.0"),
639 Description (
640 "Each PRS_Resolution may have an associated cost of implementation. "
641 "This cost may have several components such as time, material "
642 "costs, labor cost, etc. To capture these costs, a PRS_Resouce is "
643 "associated with a PRS_Resolution. For Service Incidents, one or "
644 "more PRS_Resource objects may be associated with an Activity.") ]
645 class PRS_Resource : PRS_ExchangeElement {
646
647 [Description ("A string describing the type of resource.") ]
648 string ResourceType;
649
650 [Description ("Number of units of resource used.") ]
651 uint16 Quantity;
652 karl 1.2
653 [Description ("Unit of measure for this resource.") ]
654 string Units;
655 };
656
657
658 // ===================================================================
659 // PRS_ExpressionLink
660 // ===================================================================
661 [Association, Aggregation, Version ("2.6.0"),
662 Description (
663 "Associates a PRS_Expression with PRS_ExpressionElements "
664 "such as PRS_Expression, PRS_Product, and PRS_Statement.") ]
665 class PRS_ExpressionLink : CIM_Dependency {
666
667 [Aggregate, Override ("Antecedent"),
668 Min (1), Description ("The parent PRS_Expression.") ]
669 PRS_Expression REF Antecedent;
670
671 [Override ("Dependent"), Min (1),
672 Description (
673 karl 1.2 "The child PRS_ExpressionElement, either a PRS_Expression, "
674 "PRS_Product or PRS_Statement.") ]
675 PRS_ExpressionElement REF Dependent;
676 };
677
678
679 // ===================================================================
680 // PRS_ProductParentChild
681 // ===================================================================
682 [Association, Aggregation, Version ("2.6.0"),
683 Description (
684 "Products may exist in a hierarchy of relationships with related "
685 "Products. If a Producer deems these hierarchy relationships "
686 "are relevant to the current Problem or Resolution, then the "
687 "position of the Product in a hierarchy can be implied using one "
688 "of two types of relationships: 'is a' and 'has a'. An 'is a' "
689 "relationship implies a classification, such as versioning or "
690 "typing. A 'has a' relationship implies that one product contains "
691 "another. The PRS_ProductParentChild association is used to imply "
692 "an 'is a' hierarchy. Use the ProductComponent association to "
693 "imply 'has a' relationships.") ]
694 karl 1.2 class PRS_ProductParentChild : CIM_Dependency {
695
696 [Aggregate, Override ("Antecedent"),
697 Description ("The parent PRS_Product.") ]
698 PRS_Product REF Antecedent;
699
700 [Override ("Dependent"),
701 Description ("The child PRS_Product.") ]
702 PRS_Product REF Dependent;
703 };
704
705
706 // ===================================================================
707 // PRS_ProductComponent
708 // ===================================================================
709 [Association, Aggregation, Version ("2.6.0"),
710 Description (
711 "PRS_ProductComponent is used to describe 'has a' relationships "
712 "between Products and their components parts. See "
713 "PRS_ProductParentChild for 'is a' relationships.") ]
714 class PRS_ProductComponent : CIM_Dependency {
715 karl 1.2
716 [Aggregate, Override ("Antecedent"),
717 Description ("The PRS_Product which contains the component.") ]
718 PRS_Product REF Antecedent;
719
720 [Override ("Dependent"),
721 Description ("The component PRS_Product.") ]
722 PRS_Product REF Dependent;
723 };
724
725
726 // ===================================================================
727 // PRS_ProductAsset
728 // ===================================================================
729 [Association, Version ("2.6.0"),
730 Description (
731 "PRS_ProductAsset is used to provide specific information about "
732 "a PRS_Product. PRS_ProductAsset associates this information to a "
733 "PRS_Product using one or more Statements associated to a "
734 "PRS_Expression.") ]
735 class PRS_ProductAsset : CIM_Dependency {
736 karl 1.2
737 [Override ("Antecedent"),
738 Description ("The product.") ]
739 PRS_Product REF Antecedent;
740
741 [Override ("Dependent"),
742 Description ("The expression.") ]
743 PRS_Expression REF Dependent;
744 };
745
746
747 // ===================================================================
748 // PRS_StatementFeature
749 // ===================================================================
750 [Association, Version ("2.6.0"),
751 Description ("Associates PRS_Statement with PRS_Feature.") ]
752 class PRS_StatementFeature : CIM_Dependency {
753
754 [Override ("Antecedent"),
755 Description ("The PRS_Statement.") ]
756 PRS_Statement REF Antecedent;
757 karl 1.2
758 [Override ("Dependent"),
759 Description ("The PRS_Feature.") ]
760 PRS_Feature REF Dependent;
761 };
762
763
764 // ===================================================================
765 // PRS_FeatureResource
766 // ===================================================================
767 [Association, Version ("2.6.0"),
768 Description (
769 "Associates PRS_Feature with PRS_Resource. This is used "
770 "to track labor and costs associated with specific "
771 "tasks defined in a Feature object.") ]
772 class PRS_FeatureResource : CIM_Dependency {
773
774 [Override ("Antecedent"),
775 Description ("The PRS_Feature.") ]
776 PRS_Feature REF Antecedent;
777
778 karl 1.2 [Override ("Dependent"),
779 Description ("The PRS_Resource.") ]
780 PRS_Resource REF Dependent;
781 };
782
783
784 // ===================================================================
785 // PRS_ResolutionResource
786 // ===================================================================
787 [Association, Version ("2.6.0"),
788 Description ("Associates PRS_Resolution with PRS_Resource.") ]
789 class PRS_ResolutionResource : CIM_Dependency {
790
791 [Override ("Antecedent"),
792 Description ("The PRS_Resource.") ]
793 PRS_Resource REF Antecedent;
794
795 [Override ("Dependent"),
796 Description ("The PRS_Resolution.") ]
797 PRS_Resolution REF Dependent;
798 };
799 karl 1.2
800
801 // ===================================================================
802 // PRS_Solution Expression
803 // ===================================================================
804 [Association, Aggregation, Version ("2.6.0"),
805 Description (
806 "Associates PRS_SolutionElements (PRS_Reference, PRS_Problem "
807 "or PRS_Resolution) with PRS_Expressions.") ]
808 class PRS_SolutionExpression : CIM_Dependency {
809
810 [Aggregate, Override ("Antecedent"), Min (1),
811 Description ("The PRS_SolutionElement.") ]
812 PRS_SolutionElement REF Antecedent;
813
814 [Override ("Dependent"), Min (1),
815 Description ("The PRS_Expression.") ]
816 PRS_Expression REF Dependent;
817 };
818
819
820 karl 1.2 // ===================================================================
821 // PRS_Administrative
822 // ===================================================================
823 [Version ("2.6.0"),
824 Description (
825 "PRS_Administrative defines administrative information about "
826 "associated objects. There must be at least one "
827 "PRS_Administrative instance associated with a PRS_Solution. "
828 "Administrative information is inherited from a parent object. \n"
829 "\n"
830 "If the administrative information among objects within a Solution "
831 "is not the same, additional PRS_Administrative instances may be "
832 "associated with other objects within the Solution. All instances under "
833 "a specific parent inherit their administrative information unless "
834 "there is an PRS_Administrative instance associated with that "
835 "instance.\n"
836 "\n"
837 "For example, if there is a PRS_Administrative instance associated "
838 "with a PRS_Problem instance, all of the PRS_Statement and PRS_"
839 "Product instances within the Problem use the same Administrative "
840 "information as the PRS_Problem instance.") ]
841 karl 1.2 class PRS_Administrative : PRS_ExchangeElement {
842
843 [ValueMap {"0", "1", "2"},
844 Description (
845 "Level 0 means all information within a Reference, Problem or "
846 "Resolution is conveyed by a single PRS_Statement. \n"
847 "\n"
848 "Level 1 means there may be multiple PRS_Statement instances "
849 "within a Reference, Problem or Resolution. \n"
850 "\n"
851 "Level 2 means that a PRS_Statement may be associated with "
852 "a PRS_Feature instance within a Reference, Problem "
853 "or Resolution.") ]
854 uint16 ComplianceLevel;
855
856 [ValueMap {"0", "1", "2", "254", "255"},
857 Values {"Draft", "Reviewed", "Published", "Other", "Unknown"},
858 Description (
859 "Editorial status of the document. If 'Draft', information "
860 "is complete, but unedited. If 'Reviewed', an editorial "
861 "review has been completed. If 'Published', information has "
862 karl 1.2 "been reviewed and approved for distribution.") ]
863 uint8 DocumentStatus;
864
865 [ValueMap {"0", "1", "2", "3", "254", "255"},
866 Values {"Proprietary", "Internal", "Partner", "Public", "Other",
867 "Unknown"},
868 Description (
869 "Intended distribution audience for the associated information. "
870 "If 'Proprietary', information contains proprietary information "
871 "and is not to be released externally. If 'Internal', information "
872 "is for internal use only. If 'Partner', information is only "
873 "available to contracted partners. If 'Public', information is "
874 "available to anyone.") ]
875 uint8 Distribution;
876
877 [Description ("Language used in the associated information.") ]
878 string Language;
879
880 [Description ("Copyright for the associated information.") ]
881 string Copyright;
882
883 karl 1.2 [Description ("Disclaimers about the associated information.") ]
884 string Disclaimer;
885
886 [Description ("Usage rights for the associated information.") ]
887 string Rights;
888 };
889
890
891 // ===================================================================
892 // PRS_AdminAssociation
893 // ===================================================================
894 [Association, Version ("2.6.0"),
895 Description (
896 "Associates PRS_Administrative data with any object derived from "
897 "PRS_ExchangeElement.") ]
898 class PRS_AdminAssociation : CIM_Dependency {
899
900 [Override ("Antecedent"), Min (1),
901 Description ("The PRS_ExchangeElement.") ]
902 PRS_ExchangeElement REF Antecedent;
903
904 karl 1.2 [Override ("Dependent"),
905 Description ("The PRS_Administrative object.") ]
906 PRS_Administrative REF Dependent;
907 };
908
909
910 // ===================================================================
911 // PRS_Revision
912 // ===================================================================
913 [Version ("2.6.0"),
914 Description ("PRS_Revision records changes to the content.") ]
915 class PRS_Revision : PRS_ExchangeElement {
916
917 [Description ("The date of this revision.") ]
918 datetime RevisionDate;
919
920 [ValueMap {"0", "1", "2", "254", "255"},
921 Values {"Create", "Update", "Delete", "Other", "Unknown"},
922 Description ("The name of the specific revision being made.") ]
923 uint8 ActivityName;
924
925 karl 1.2 [ValueMap {"0", "1", "2", "254", "255"},
926 Values {"Technical", "Editorial", "Administrative", "Other",
927 "Unknown"},
928 Description (
929 "Type of revision activity. 'Technical' refers to a change "
930 "in content. 'Editorial' refers to a change in language or "
931 "style. 'Administrative' refers to information about the object.") ]
932 uint8 ActivityType;
933
934 [ValueMap {"0", "1", "2", "3", "254", "255"},
935 Values {"Open", "Not Reviewed", "Reviewed", "Approved", "Other",
936 "Unknown"},
937 Description (
938 "The current state of technical review. 'Open' means created but "
939 "not necessarily completed or resolved. 'Not Reviewed' means "
940 "contents have to be reviewed for accuracy and consistency with "
941 "other content. 'Reviewed' means review has been completed. "
942 "'Approved' means formally approval to certify the solution given "
943 "the specific status of the contents.") ]
944 uint8 TechnicalStatus;
945
946 karl 1.2 [ValueMap {"0", "1", "2", "3", "254", "255"},
947 Values {"In_Progress", "Draft", "Reviewed", "Published", "Other",
948 "Unknown"},
949 Description (
950 "The current state of editorial review. 'In Progress' means the "
951 "content is in the process of being developed. 'Draft' means the "
952 "content is complete but unedited. 'Reviewed' means the review "
953 "has been completed. 'Published' means the contents have been "
954 "released.") ]
955 uint8 EditorialStatus;
956
957 [Override ("Description"),
958 Description ("Text description of what was done in this revision.") ]
959 string Description;
960 };
961
962
963 // ===================================================================
964 // PRS_AdministrativeRevision
965 // ===================================================================
966 [Association, Aggregation, Version ("2.6.0"),
967 karl 1.2 Description ("Associates PRS_Administrative with PRS_Revision.") ]
968 class PRS_AdministrativeRevision : CIM_Dependency {
969
970 [Aggregate, Override ("Antecedent"), Min (1), Max (1),
971 Description ("The PRS_Administrative.") ]
972 PRS_Administrative REF Antecedent;
973
974 [Override ("Dependent"),
975 Description ("The PRS_Revision.") ]
976 PRS_Revision REF Dependent;
977 };
978
979
980 // ===================================================================
981 // PRS_Contact
982 // ===================================================================
983 [Version ("2.6.0"),
984 Description (
985 "PRS_Contact is used to anchor associations to PRS_Person and "
986 "PRS_Orgnaization. PRS_Contact is also used to anchor associations "
987 "to PRS_Revision and PRS_Resolution, as well as "
988 karl 1.2 "PRS_ServiceIncident.") ]
989 class PRS_Contact : PRS_ExchangeElement {
990 };
991
992
993 // ===================================================================
994 // PRS_ContactItem
995 // ===================================================================
996 [Abstract, Version ("2.6.0"),
997 Description (
998 "PRS_ContactItem is the abstract root class for PRS_Person and "
999 "PRS_Organization. It provides a common anchor point for the "
1000 "PRS_ContactContactItem association.") ]
1001 class PRS_ContactItem : PRS_ExchangeElement {
1002 };
1003
1004
1005 // ===================================================================
1006 // PRS_AdministrativeContact
1007 // ===================================================================
1008 [Association, Aggregation, Version ("2.6.0"),
1009 karl 1.2 Description ("Associates PRS_Administrative and PRS_Contact.") ]
1010 class PRS_AdministrativeContact : CIM_Dependency {
1011
1012 [Aggregate, Override ("Antecedent"), Min (1),
1013 Description ("The PRS_Administrative instance.") ]
1014 PRS_Administrative REF Antecedent;
1015
1016 [Override ("Dependent"), Min (1),
1017 Description ("The PRS_Contact.") ]
1018 PRS_Contact REF Dependent;
1019 };
1020
1021
1022 // ===================================================================
1023 // PRS_RevisionContact
1024 // ===================================================================
1025 [Association, Aggregation, Version ("2.6.0"),
1026 Description ("Associates PRS_Revision and PRS_Contact.") ]
1027 class PRS_RevisionContact : CIM_Dependency {
1028
1029 [Aggregate, Override ("Antecedent"),
1030 karl 1.2 Description ("The PRS_Revision.") ]
1031 PRS_Revision REF Antecedent;
1032
1033 [Override ("Dependent"), Min (1),
1034 Description ("The PRS_Contact.") ]
1035 PRS_Contact REF Dependent;
1036 };
1037
1038
1039 // ===================================================================
1040 // PRS_Organization
1041 // ===================================================================
1042 [Version ("2.6.0"),
1043 Description (
1044 "PRS_Organization describes a PRS_Contact's organization name "
1045 "and business.") ]
1046 class PRS_Organization : PRS_ContactItem {
1047
1048 [Description ("The name of the organization.") ]
1049 string Name;
1050
1051 karl 1.2 [Description ("Description of organization's primary business.") ]
1052 string Business;
1053 };
1054
1055
1056 // ===================================================================
1057 // PRS_Person
1058 // ===================================================================
1059 [Version ("2.6.0"),
1060 Description ("Information about a personal contact.") ]
1061 class PRS_Person : PRS_ContactItem {
1062
1063 [Description ("Contact's first name.") ]
1064 string FirstName;
1065
1066 [Description ("Contact's last name.") ]
1067 string LastName;
1068
1069 [Description (
1070 "How the contact is addressed, i.e. Dr., Mr., Ms., Mrs., "
1071 "etc.") ]
1072 karl 1.2 string Salutation;
1073
1074 [Description ("Contact's business title.") ]
1075 string Title;
1076
1077 [Description (
1078 "Description of the contact. For example, they may have "
1079 "responsibilities not apparent from their title.") ]
1080 string ContactType;
1081
1082 [ValueMap {"0", "1", "2", "3", "4", "254", "255"},
1083 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
1084 "URL", "Other", "Unknown"},
1085 Description(
1086 "Contact's preferred communication method. See the "
1087 "PRS_Location.LocationType property.") ]
1088 uint8 CommunicationMode;
1089 };
1090
1091
1092 // ===================================================================
1093 karl 1.2 // PRS_ContactContactItem
1094 // ===================================================================
1095 [Association, Abstract, Version ("2.6.0"),
1096 Description (
1097 "Abstract root class to associate PRS_Person or PRS_Organization "
1098 "and PRS_Contact.") ]
1099 class PRS_ContactContactItem : CIM_Dependency {
1100
1101 [Override ("Antecedent"), Min (1),
1102 Description ("The PRS_Contact.") ]
1103 PRS_Contact REF Antecedent;
1104
1105 [Override ("Dependent"), Min (1),
1106 Description (
1107 "The PRS_ContactItem, either PRS_Person or PRS_Organization. "
1108 "There is always at least one PRS_ContactItem, however it may be "
1109 "either a PRS_Person or PRS_Organization. For that reason, there "
1110 "is a minimum cardinality of one for this property, but a minimum "
1111 "cardinality of zero in the classes derived from this class.") ]
1112 PRS_ContactItem REF Dependent;
1113 };
1114 karl 1.2
1115
1116 // ===================================================================
1117 // PRS_ContactOrganization
1118 // ===================================================================
1119 [Association, Version ("2.6.0"),
1120 Description ("Associates PRS_Contact and PRS_Organization.") ]
1121 class PRS_ContactOrganization : PRS_ContactContactItem {
1122
1123 [Override ("Dependent"),
1124 Description ("The PRS_Organization.") ]
1125 PRS_Organization REF Dependent;
1126 };
1127
1128
1129 // ===================================================================
1130 // PRS_ContactPerson
1131 // ===================================================================
1132 [Association, Version ("2.6.0"),
1133 Description ("Associates PRS_Contact and PRS_Person.") ]
1134 class PRS_ContactPerson : PRS_ContactContactItem {
1135 karl 1.2
1136 [Override ("Dependent"),
1137 Description ("The PRS_Person.") ]
1138 PRS_Person REF Dependent;
1139 };
1140
1141
1142 // ===================================================================
1143 // PRS_Address
1144 // ===================================================================
1145 [Version ("2.6.0"),
1146 Description ("Provides address information for PRS_ContactItem.") ]
1147 class PRS_Address : PRS_ExchangeElement {
1148
1149 [ValueMap {"0", "1", "2", "3", "254", "255"},
1150 Values {"Primary", "Shipping", "Billing", "Service", "Other",
1151 "Unknown"},
1152 Description ("The type of address.") ]
1153 uint8 AddressType;
1154
1155 [Description ("First line of address information.") ]
1156 karl 1.2 string Address1;
1157
1158 [Description ("Second line of address information.") ]
1159 string Address2;
1160
1161 [Description ("Third line of address information.") ]
1162 string Address3;
1163
1164 [Description ("Fourth line of address information.") ]
1165 string Address4;
1166
1167 [Description ("The city.") ]
1168 string City;
1169
1170 [Description ("The specific region, such as state or province.") ]
1171 string Region;
1172
1173 [Description ("The country's postal code for the address.") ]
1174 string PostalCode;
1175
1176 [Description ("The time zone of the address.") ]
1177 karl 1.2 string TimeZone;
1178
1179 [Description ("The country code, based on ISO/IEC 3166.") ]
1180 string Country;
1181 };
1182
1183
1184 // ===================================================================
1185 // PRS_ContactItemAddress
1186 // ===================================================================
1187 [Association, Version ("2.6.0"),
1188 Description ("Associates PRS_ContactItem with PRS_Address.") ]
1189 class PRS_ContactItemAddress : CIM_Dependency {
1190
1191 [Override ("Antecedent"), Min (1),
1192 Description ("The PRS_ContactItem.") ]
1193 PRS_ContactItem REF Antecedent;
1194
1195 [Override ("Dependent"),
1196 Description ("The PRS_Address.") ]
1197 PRS_Address REF Dependent;
1198 karl 1.2 };
1199
1200
1201 // ===================================================================
1202 // PRS_Location
1203 // ===================================================================
1204 [Version ("2.6.0"),
1205 Description (
1206 "PRS_Location describes the location of a PRS_Address.") ]
1207 class PRS_Location : PRS_ExchangeElement {
1208
1209 [ValueMap {"0", "1", "2", "3", "4", "254", "255"},
1210 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
1211 "URL", "Other", "Unknown"},
1212 Description ("The type of location.") ]
1213 uint8 LocationType;
1214
1215 [Description ("The specific location.") ]
1216 string LocationID;
1217 };
1218
1219 karl 1.2
1220 // ===================================================================
1221 // PRS_AddressLocation
1222 // ===================================================================
1223 [Association, Version ("2.6.0"),
1224 Description ("Associates PRS_Address and PRS_Location.") ]
1225 class PRS_AddressLocation : CIM_Dependency {
1226
1227 [Override ("Antecedent"), Min (1),
1228 Description ("The PRS_Address.") ]
1229 PRS_Address REF Antecedent;
1230
1231 [Override ("Dependent"),
1232 Description ("The PRS_Location") ]
1233 PRS_Location REF Dependent;
1234 };
1235
1236
1237 // ===================================================================
1238 // PRS_Attachment
1239 // ===================================================================
1240 karl 1.2 [Version ("2.6.0"),
1241 Description (
1242 "PRS_Attachment describes file attachments. A PRS_Attachment may "
1243 "be associated to any object derived from PRS_ExchangeElement. "
1244 "PRS_Attachment is used to attach objects of any type including "
1245 "binary files, ASCII documents, or URLs. Only one object may be "
1246 "attached per PRS_Attachment. \n"
1247 "\n"
1248 "The actual attachment carried by the Attachment object is "
1249 "included by one of two methods: by reference or by value as "
1250 "embedded data. A 'by reference' approach links indirectly to "
1251 "the attachment through the use of a string identifier, e.g. a "
1252 "file name. An 'embedded data' approach means the actual binary "
1253 "data is included in PRS_Attachment.") ]
1254 class PRS_Attachment : PRS_ExchangeElement {
1255
1256 [Description (
1257 "If the attachment is not embedded, where the attachment "
1258 "is located.") ]
1259 string AttachmentReference;
1260
1261 karl 1.2 [Description (
1262 "Protocol required to read the attachment (e.g., http).") ]
1263 string Protocol;
1264
1265 [Description ("The file format of the attachment.") ]
1266 string Format;
1267
1268 [Description ("The size of the attachment in bytes.") ]
1269 string AttachmentSize;
1270
1271 [Description ("The attachment itself, if embedded.") ]
1272 string AttachmentObject;
1273
1274 [ValueMap {"0", "1", "2", "254", "255"},
1275 Values {"Instructions", "Background", "Log", "Unknown",
1276 "Undefined"},
1277 Description (
1278 "The purpose of the attachment, as related to the diagnosis. "
1279 "'Instructions' are compilable code. 'Background' is "
1280 "descriptive information. 'Log' is information captured in a "
1281 "log file.") ]
1282 karl 1.2 uint8 AttachmentType;
1283
1284 [Description (
1285 "The displayable attachment identifier. Used to define what will "
1286 "appear as the name of the attachment, as opposed to the specific "
1287 "attachment file name or URL.") ]
1288 string AttachmentName;
1289 };
1290
1291
1292 // ===================================================================
1293 // PRS_Attached
1294 // ===================================================================
1295 [Association, Version ("2.6.0"),
1296 Description (
1297 "Associates PRS_Attachment with PRS_ExchangeElement.") ]
1298 class PRS_Attached : CIM_Dependency {
1299
1300 [Override ("Antecedent"),
1301 Description ("The PRS_Attachment.") ]
1302 PRS_Attachment REF Antecedent;
1303 karl 1.2
1304 [Override ("Dependent"), Min (1),
1305 Description ("The PRS_ExchangeElement.") ]
1306 PRS_ExchangeElement REF Dependent;
1307 };
1308
1309
1310 // ===================================================================
1311 // ===================================================================
1312 // Service Incident Exchange information
1313 // ===================================================================
1314 // ===================================================================
1315
1316 // ===================================================================
1317 // PRS_ServiceIncident
1318 // ===================================================================
1319 [Version ("2.6.0"),
1320 Description (
1321 "PRS_ServiceIncident contains the fundamental information related "
1322 "to a specific incident: its identity, status, priority, etc. "
1323 "The actual incident data, including specific transactions and "
1324 karl 1.2 "resolution information, is contained in the objects associated "
1325 "with PRS_ServiceIncident. These include specific Problem, "
1326 "Resolution and Activity related objects accrued through the "
1327 "Transaction workflow.") ]
1328 class PRS_ServiceIncident : PRS_ExchangeElement {
1329
1330 [Description (
1331 "The unique identifier for this incident assigned by the "
1332 "Requester.") ]
1333 string RequesterID;
1334
1335 [Description (
1336 "The unique identifier for this incident assigned by the "
1337 "Provider.") ]
1338 string ProviderID;
1339
1340 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "254",
1341 "255"},
1342 Values {"Beginning_State", "Not_Entitled", "Entitled",
1343 "Problem_Submitted", "Open_Requester", "Open_Provider",
1344 "Closed_Pending_Confirmation", "Closed", "Other",
1345 karl 1.2 "Unknown"},
1346 Description (
1347 "The state of the incident within the Service Incident Exchange "
1348 "Standard transaction model.") ]
1349 uint8 CurrentState;
1350
1351 [ValueMap {"1", "2", "3", "4", "5"},
1352 Description (
1353 "The severity of the incident as defined by the Requester. "
1354 "One is the most severe and five is the least severe.") ]
1355 uint8 RequesterSeverity;
1356
1357 [ValueMap {"1", "2", "3", "4", "5"},
1358 Description (
1359 "The priority of the incident as defined by the Requester. "
1360 "One is the highest priority and five is the lowest priority.") ]
1361 uint8 ProviderPriority;
1362
1363 [Description (
1364 "The explicit time the Requester expects a response.") ]
1365 datetime ResponseTime;
1366 karl 1.2
1367 [Description (
1368 "Status of the incident according to the workflow.") ]
1369 string WorkflowStatus;
1370
1371 [Description (
1372 "Additional general information about the incident.") ]
1373 string Comment;
1374
1375 [ValueMap {"0", "1", "254", "255"},
1376 Values {"Yes", "No", "Other", "Unknown"},
1377 Description (
1378 "Is the Requester entitled to service or not?") ]
1379 uint8 Entitled;
1380
1381 [ValueMap {"0", "1", "254", "255"},
1382 Values {"Yes", "No", "Other", "Unknown"},
1383 Description (
1384 "Was the last transaction was accepted or rejected?") ]
1385 uint8 Acknowledge;
1386
1387 karl 1.2 [Deprecated {"PRS_ServiceIncident.LastTransaction"},
1388 Description(
1389 "The use of the TransactionName property is deprecated. New "
1390 "Service Incidents should use the LastTransaction property and "
1391 "set this property to NULL.") ]
1392 string TransactionName;
1393
1394 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1395 "10", "11", "254", "255"},
1396 Values {"Service_Request", "Entitlement", "Problem_Submittal",
1397 "Accept_Problem", "Problem_Resolution",
1398 "Request_Problem_Information",
1399 "Provide_Problem_Information", "Provide_Admin_Information",
1400 "Query_Incident", "Confirm_Close", "Reject_Resolution",
1401 "Request_Closure", "Other", "Unknown"},
1402 Description(
1403 "The name of the last transaction which was acknowledged.") ]
1404 uint8 LastTransaction;
1405 };
1406
1407
1408 karl 1.2 // ===================================================================
1409 // PRS_ServiceRequester
1410 // ===================================================================
1411 [Association, Version ("2.6.0"),
1412 Description (
1413 "PRS_ServiceRequester associates a PRS_ServiceIncident with "
1414 "a PRS_Contact representing the entity requesting service. "
1415 "Note that the Contact class is used for both Requesters and "
1416 "Providers, the context is determined by which association "
1417 "exists.") ]
1418 class PRS_ServiceRequester : CIM_Dependency {
1419
1420 [Override("Antecedent"),
1421 Description ("The PRS_ServiceIncident.") ]
1422 PRS_ServiceIncident REF Antecedent;
1423
1424 [Override("Dependent"), Min (1), Max (1),
1425 Description ("The PRS_Contact.") ]
1426 PRS_Contact REF Dependent;
1427 };
1428
1429 karl 1.2
1430 // ===================================================================
1431 // PRS_ServiceProvider
1432 // ===================================================================
1433 [Association, Version ("2.6.0"),
1434 Description (
1435 "Associates PRS_ServiceIncident to PRS_Contact to describe the "
1436 "Service Provider.") ]
1437 class PRS_ServiceProvider : CIM_Dependency {
1438
1439 [Override("Antecedent"),
1440 Description ("The PRS_ServiceIncident.") ]
1441 PRS_ServiceIncident REF Antecedent;
1442
1443 [Override("Dependent"), Min (1), Max (1),
1444 Description ("The PRS_Contact.") ]
1445 PRS_Contact REF Dependent;
1446 };
1447
1448
1449 // ===================================================================
1450 karl 1.2 // PRS_ServiceProblem
1451 // ===================================================================
1452 [Association, Version ("2.6.0"),
1453 Description (
1454 "Associates PRS_ServiceIncident to PRS_Problem to describe the "
1455 "Problem being submitted to the Service Provider.") ]
1456 class PRS_ServiceProblem : CIM_Dependency {
1457
1458 [Override("Antecedent"), Min (1),
1459 Description ("The PRS_ServiceIncident.") ]
1460 PRS_ServiceIncident REF Antecedent;
1461
1462 [Override("Dependent"), Max (1),
1463 Description ("The PRS_Problem.") ]
1464 PRS_Problem REF Dependent;
1465 };
1466
1467
1468 // ===================================================================
1469 // PRS_ServiceResolutionSolution
1470 // ===================================================================
1471 karl 1.2 [Association, Aggregation, Version ("2.6.0"),
1472 Description (
1473 "Associates PRS_ServiceIncident to PRS_Solution to describe the "
1474 "Resolutions proposed by the Service Provider.") ]
1475 class PRS_ServiceResolutionSolution : CIM_Dependency {
1476
1477 [Override("Antecedent"), Aggregate,
1478 Description ("The PRS_ServiceIncident.") ]
1479 PRS_ServiceIncident REF Antecedent;
1480
1481 [Override("Dependent"),
1482 Description (
1483 "The PRS_Solution. PRS_Solution must be associated with at "
1484 "least one Resolution.") ]
1485 PRS_Solution REF Dependent;
1486 };
1487
1488
1489 // ===================================================================
1490 // PRS_Agreement
1491 // ===================================================================
1492 karl 1.2 [Version ("2.6.0"),
1493 Description (
1494 "The agreement or contract referenced for entitlement to "
1495 "service.") ]
1496 class PRS_Agreement : PRS_ExchangeElement {
1497
1498 [Description (
1499 "The identifier for the contract between the Request and "
1500 "the Provider. This property is set by the Requester "
1501 "prior to submitting a Service Request.") ]
1502 string ContractID;
1503
1504 [Description ("A brief description of the contract.") ]
1505 string AgreementType;
1506 };
1507
1508
1509 // ===================================================================
1510 // PRS_ServiceAgreement
1511 // ===================================================================
1512 [Association, Version ("2.6.0"),
1513 karl 1.2 Description ("Associates PRS_ServiceIncident to PRS_Agreement.") ]
1514 class PRS_ServiceAgreement : CIM_Dependency {
1515
1516 [Override("Antecedent"),
1517 Description ("The PRS_ServiceIncident.") ]
1518 PRS_ServiceIncident REF Antecedent;
1519
1520 [Override("Dependent"), Min (1), Max (1),
1521 Description ("The PRS_Agreement.") ]
1522 PRS_Agreement REF Dependent;
1523 };
1524
1525
1526 // ===================================================================
1527 // PRS_Activity
1528 // ===================================================================
1529 [Version ("2.6.0"),
1530 Description (
1531 "Describes the date of each transaction and the objects "
1532 "involved.") ]
1533 class PRS_Activity : PRS_ExchangeElement {
1534 karl 1.2
1535 [Deprecated {
1536 "PRS_Activity.NewKeys",
1537 "PRS_Activity.Deleted",
1538 "PRS_Activity.Modified"},
1539 Description (
1540 "The key fields for the objects in the associated Transaction. "
1541 "The use of this property is deprecated. The PRS_SISService "
1542 "StartSISTransaction method uses the New, Modified and Deleted "
1543 "properties instead of this field. This field is set to NULL "
1544 "by the StartSISTransaction method if the other properties are "
1545 "used.") ]
1546 string ParameterList;
1547
1548 [Description (
1549 "The key fields for the objects added in the associated "
1550 "Transaction. This property is set by the PRS_SISService "
1551 "StartSISTransaction method.") ]
1552 string NewKeys;
1553
1554 [Description (
1555 karl 1.2 "The key fields for objects deleted in the associated "
1556 "Transaction. This property is set by the PRS_SISService "
1557 "StartSISTransaction method.") ]
1558 string Deleted;
1559
1560 [Description (
1561 "The key fields for objects modified in the associated "
1562 "Transaction. This property is set by the PRS_SISService "
1563 "StartSISTransaction method.") ]
1564 string Modified;
1565
1566 [Description (
1567 "The date of the Activity. This property is set by the "
1568 "PRS_SISService StartSISTranasaction method.") ]
1569 datetime LocalDate;
1570
1571 [Description ("Description of the activity performed.") ]
1572 string ActionLog;
1573 };
1574
1575
1576 karl 1.2 // ===================================================================
1577 // PRS_Transaction
1578 // ===================================================================
1579 [Version ("2.6.0"),
1580 Description (
1581 "PRS_Transaction represents a single transaction of the Service "
1582 "Incident workflow. A PRS_Transaction instance is created by the "
1583 "PRS_SISService StartSISTransaction method.") ]
1584 class PRS_Transaction : PRS_ExchangeElement {
1585
1586 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1587 "11", "254", "255"},
1588 Values {"Service_Request", "Entitlement", "Problem_Submittal",
1589 "Accept_Problem", "Problem_Resolution",
1590 "Request_Problem_Information",
1591 "Provide_Problem_Information", "Provide_Admin_Information",
1592 "Query_Incident", "Confirm_Close", "Reject_Resolution",
1593 "Request_Closure", "Other", "Unknown"},
1594 Description (
1595 "The specific SIS transaction represented by this "
1596 "PRS_Transaction instance.") ]
1597 karl 1.2 uint8 TransactionType;
1598
1599 [ValueMap {"0", "1", "2", "3"},
1600 Values {"Open", "Working", "Closed", "Notification_Pending"},
1601 Description (
1602 "The current state of this transaction. This value is "
1603 "manipulated by the PRS_SISService:StartSISTransaction and "
1604 "SetSISCompletionStatus method implementations. This property "
1605 "is not intended to be written by management applications.") ]
1606 uint8 TransactionState;
1607
1608 [Description (
1609 "The status of the transaction after it has reached the 'Closed' "
1610 "state. A CompletionStatus of zero (0) means the tranasaction "
1611 "completed successfully. A non-zero CompletionStatus indicates the "
1612 "transaction did not complete successfully. Non-zero values are "
1613 "implementation-specific. While the transaction is 'Open' or "
1614 "'Working' the CompletionStatus property shall be zero (0). "
1615 "See the description for PRS_SISService for the definition of "
1616 "the contents of this property.") ]
1617 uint32 CompletionStatus;
1618 karl 1.2 };
1619
1620
1621 // ===================================================================
1622 // PRS_SISService
1623 // ===================================================================
1624 [Version ("2.6.0"),
1625 Description (
1626 "The PRS_SISService is used as a class factory for "
1627 "PRS_Transactions.") ]
1628 class PRS_SISService : CIM_Service {
1629
1630 [Description (
1631 "When invoked on a local system, this method validates the "
1632 "objects in the local repository, to determine if they are "
1633 "sufficient for the indicated (input parameter) "
1634 "TransactionType. If not, an error is returned and no "
1635 "additional processing is performed. If the repository is "
1636 "successfully validated, this method creates a PRS_Transaction "
1637 "instance for return to the caller. \n"
1638 "\n"
1639 karl 1.2 "The method also reviews the repository looking for new, "
1640 "modified or deleted objects. As these objects are located, "
1641 "their keys are appended to the related strings in the "
1642 "PRS_Activity instance referenced by another parameter of "
1643 "this method. \n"
1644 "\n"
1645 "After all the appropriate new, modified or deleted objects have "
1646 "been located, this method invokes the PRS_SISService's "
1647 "StartSISTransaction method on the remote system specified by "
1648 "the objects related to the Service Incident, associated with "
1649 "the PRS_Activity instance specified as a method parameter. "
1650 "The TransactionType and PRS_Activity REF is forwarded to the "
1651 "remote system as method parameters as well as the "
1652 "PRS_Transaction REF for the instance created by this method. \n"
1653 "\n"
1654 "The remote system creates a child namespace using the "
1655 "PRS_Transaction REF for the name. The local system then "
1656 "transfers all of the new, modified and deleted objects to "
1657 "the namespace on the remote system. Once all objects "
1658 "have been successfully transferred, the PRS_SISService's "
1659 "EndSISTransaction method is invoked on the remote system with "
1660 karl 1.2 "a Status value of zero to indicate that the remote system "
1661 "should attempt to commit the transaction to the remote "
1662 "repository. \n"
1663 "\n"
1664 "The remote system passes the results of the remote commit back "
1665 "to the originating system by invoking the PRS_SISService's "
1666 "SetSISCompletionStatus method on the system that originated the "
1667 "SIS transaction. The CompletionStatus method parameter "
1668 "indicates whether the remote commit was successful. If the "
1669 "CompletionStatis is zero, the remote commit was successful. If "
1670 "it was unsuccessful, the objects were not applied to the "
1671 "remote repository and the CompletionStatus is non-zero, "
1672 "indicating the error. The local invocation of the SetSIS"
1673 "CompletionStatus method updates the specified PRS_Transaction's "
1674 "TransactionState to Closed and CompletionStatus to the value "
1675 "provided by the remote system in the CompletionStatus method "
1676 "parameter. \n"
1677 "\n"
1678 "In order to promote extensibility, the uint32 return values for "
1679 "PRS_SISService's methods and Status-related parameters are mapped "
1680 "into three sections. The first describes the type of value being "
1681 karl 1.2 "reported. It indicates Error versus Notification, and Standard "
1682 "versus Vendor-Specific. \n"
1683 "\n"
1684 "The second section describes the source of the value. It "
1685 "indicates Method, Operating System, Repository, or Transport. "
1686 "In addition, this section indicates whether the value was "
1687 "created locally or remotely. \n"
1688 "\n"
1689 "The third section is the specific return value. \n"
1690 "\n"
1691 "If all 32 bits of the return value are reset, the method "
1692 "completed successfully. Any other value indicates an "
1693 "error condition or notification. If D31 is set, the method did "
1694 "not complete successfully. If D31 is reset, but the rest of the "
1695 "return value is non-zero, this is a Notification that "
1696 "the operation did complete successfully, but that there is a "
1697 "conditon of which the caller should be aware. \n"
1698 "\n"
1699 "If D30 is set, the return value is vendor specific. If D30 is "
1700 "reset, the return value is defined by the standard. \n"
1701 "\n"
1702 karl 1.2 "If D29 is set, the return value was generated by a remote system. "
1703 "If D29 is reset, the return value was generated locally. The bit "
1704 "is always set or reset by the local system. The local system sets "
1705 "the bit if it receives a non-zero return value from a remote "
1706 "method invocation. \n"
1707 "\n"
1708 "Bit D28 is reserved for future use and shall be reset on all "
1709 "return values. \n"
1710 "\n"
1711 "When there is an error or notification, D24 through D27 indicate "
1712 "its source. The following sources are currently defined (D24 "
1713 "is the least significant bit below): \n"
1714 " 0000 Method \n"
1715 " 0001 Operating System \n"
1716 " 0010 Repository \n"
1717 " 0011 Transport \n"
1718 " All remaining values are reserved. \n"
1719 "\n"
1720 "Bits D16 through D23 are reserved for future use and shall be "
1721 "reset to zero. \n"
1722 "\n"
1723 karl 1.2 "Bits D0 through D15 indicate the specific return value. If zero, "
1724 "all other bits in the return value must be zero, indicating "
1725 "successful completion of the method (or Transaction).") ]
1726 uint32 StartSISTransaction (
1727
1728 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1729 "10", "11", "254", "255"},
1730 Values {"Service_Request", "Entitlement", "Problem_Submittal",
1731 "Accept_Problem", "Problem_Resolution",
1732 "Request_Problem_Information",
1733 "Provide_Problem_Information",
1734 "Provide_Admin_Information",
1735 "Query_Incident", "Confirm_Close", "Reject_Resolution",
1736 "Request_Closure", "Other", "Unknown"} ]
1737 uint8 TransactionType,
1738
1739 [IN]
1740 PRS_Activity REF ActivityRef,
1741
1742 [IN, OUT]
1743 PRS_Transaction REF TransactionRef );
1744 karl 1.2
1745 [Description(
1746 "The EndSISTransaction method is used to handle committing or "
1747 "aborting a transaction. For commit, the method is invoked "
1748 "by a remote system when all of the objects associated with "
1749 "the transaction have been placed in the child namespace "
1750 "created by StartSISTransaction. \n"
1751 "\n"
1752 "For abort, the method cleans up the child namespace and closes "
1753 "the specified PRS_Transaction, setting the Transaction's "
1754 "CompletionStatus to the method parameter of the same name.") ]
1755 uint32 EndSISTransaction (
1756
1757 [IN,
1758 Description(
1759 "Status indicates whether the transaction is to "
1760 "be committed or aborted. If Status is zero, the transaction "
1761 "is to be committed. If Status is non-zero, it indicates the "
1762 "transaction is to be aborted. If the transaction is being "
1763 "aborted, the Status field is passed back to the originating "
1764 "system as the CompletionStatus parameter for the PRS_SISService "
1765 karl 1.2 "SetSISCompletionStatus method. See the description for "
1766 "PRS_SISService.StartSISTransaction for the definition of the "
1767 "contents of this property.") ]
1768 uint32 Status,
1769
1770 [IN,
1771 Description(
1772 "TransactionRef identifies the PRS_Transaction to commit or "
1773 "abort. If this property is NULL or does not identify an "
1774 "'Open' transaction, this method returns an error.") ]
1775 PRS_Transaction REF TransactionRef );
1776
1777 [Description(
1778 "SetSISCompletionStatus is used to signal the system that "
1779 "originated a PRS_Transaction that the remote system has "
1780 "completed processing of the transaction. If the processing "
1781 "was successful, as indicated by the CompletionStatus parameter, "
1782 "the local system resets the DirtyFlag for all of the objects "
1783 "identified in the PRS_Activity instance associated "
1784 "with the PRS_Transaction.") ]
1785 uint32 SetSISCompletionStatus (
1786 karl 1.2
1787 [IN,
1788 Description(
1789 "This parameter is used to set the CompletionStatus field of "
1790 "the specified PRS_Transaction. If zero, the Transaction was "
1791 "completed successfully. If non-zero, an error occurred and the "
1792 "objects provided in StartSISTransaction were not submitted to "
1793 "the remote repository. See the description for "
1794 "PRS_SISService.StartSISTransaction for the definition of the "
1795 "contents of this property.") ]
1796 uint32 CompletionStatus,
1797
1798 [IN,
1799 Description(
1800 "TransactionRef identifies the PRS_Transaction that has "
1801 "completed. If this property is NULL or does not identify "
1802 "an 'Open' transaction, this method returns an error.") ]
1803 PRS_Transaction REF TransactionRef );
1804 };
1805
1806
1807 karl 1.2 // ===================================================================
1808 // PRS_ServiceActivity
1809 // ===================================================================
1810 [Association, Aggregation, Version ("2.6.0"),
1811 Description ("Associates PRS_ServiceIncident to PRS_Activity.") ]
1812 class PRS_ServiceActivity : CIM_Dependency {
1813
1814 [Aggregate, Override("Antecedent"), Min (1), Max (1),
1815 Description ("The PRS_ServiceIncident.") ]
1816 PRS_ServiceIncident REF Antecedent;
1817
1818 [Override("Dependent"),
1819 Description ("The PRS_Activity.") ]
1820 PRS_Activity REF Dependent;
1821 };
1822
1823
1824 // ===================================================================
1825 // PRS_ActivityContact
1826 // ===================================================================
1827 [Association, Version ("2.6.0"),
1828 karl 1.2 Description ("Associates PRS_Activity with PRS_Contact.") ]
1829 class PRS_ActivityContact : CIM_Dependency {
1830
1831 [Override("Antecedent"),
1832 Description ("The PRS_Activity.") ]
1833 PRS_Activity REF Antecedent;
1834
1835 [Override("Dependent"), Max (1),
1836 Description ("The PRS_Contact.") ]
1837 PRS_Contact REF Dependent;
1838 };
1839
1840
1841 // ===================================================================
1842 // PRS_ActivityResource
1843 // ===================================================================
1844 [Association, Aggregation, Version ("2.6.0"),
1845 Description ("Associates PRS_Activity with PRS_Resource.") ]
1846 class PRS_ActivityResource : CIM_Dependency {
1847
1848 [Aggregate, Override("Antecedent"), Min (1), Max (1),
1849 karl 1.2 Description ("The PRS_Activity.") ]
1850 PRS_Activity REF Antecedent;
1851
1852 [Override("Dependent"),
1853 Description ("The PRS_Resource.") ]
1854 PRS_Resource REF Dependent;
1855 };
1856
1857
1858 // ===================================================================
1859 // PRS_ActivityTransaction
1860 // ===================================================================
1861 [Association, Version ("2.6.0"),
1862 Description ("Associates PRS_Activity with PRS_Transaction.") ]
1863 class PRS_ActivityTransaction : CIM_Dependency {
1864
1865 [Override("Antecedent"), Min (1), Max (1),
1866 Description ("The PRS_Activity.") ]
1867 PRS_Activity REF Antecedent;
1868
1869 [Override("Dependent"), Min (1), Max (1),
1870 karl 1.2 Description ("The PRS_Transaction.") ]
1871 PRS_Transaction REF Dependent;
1872 };
1873
1874
1875 // ===================================================================
1876 // end of file
1877 // ===================================================================
|