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