1 // ==================================================================
\r
2 // Title: Exchange Standards MOF Specification
\r
3 // Filename: CIM_Support26.MOF
\r
4 // Version: 2.6.0 (CIM), 1.3 (Exchange Standard)
\r
7 // ===================================================================
\r
8 // Copyright 2000-2002 Distributed Management Task Force, Inc. (DMTF).
\r
9 // All rights reserved.
\r
10 // DMTF is a not-for-profit association of industry members dedicated
\r
11 // to promoting enterprise and systems management and interoperability.
\r
12 // DMTF specifications and documents may be reproduced for uses
\r
13 // consistent with this purpose by members and non-members,
\r
14 // provided that correct attribution is given.
\r
15 // As DMTF specifications may be revised from time to time,
\r
16 // the particular version and release date should always be noted.
\r
18 // Implementation of certain elements of this standard or proposed
\r
19 // standard may be subject to third party patent rights, including
\r
20 // provisional patent rights (herein "patent rights"). DMTF makes
\r
21 // no representations to users of the standard as to the existence
\r
22 // of such rights, and is not responsible to recognize, disclose, or
\r
23 // identify any or all such third party patent right, owners or
\r
24 // claimants, nor for any incomplete or inaccurate identification or
\r
25 // disclosure of such rights, owners or claimants. DMTF shall have no
\r
26 // liability to any party, in any manner or circumstance, under any
\r
27 // legal theory whatsoever, for failure to recognize, disclose, or
\r
28 // identify any such third party patent rights, or for such party
\92s
\r
29 // reliance on the standard or incorporation thereof in its product,
\r
30 // protocols or testing procedures. DMTF shall have no liability to
\r
31 // any party implementing such standard, whether such implementation
\r
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
\r
33 // have no liability or responsibility for costs or losses incurred if
\r
34 // a standard is withdrawn or modified after publication, and shall be
\r
35 // indemnified and held harmless by any party implementing the
\r
36 // standard from any and all claims of infringement by a patent owner
\r
37 // for such implementations.
\r
39 // For information about patents held by third-parties which have
\r
40 // notified the DMTF that, in their opinion, such patent may relate to
\r
41 // or impact implementations of DMTF standards, visit
\r
42 // http://www.dmtf.org/about/policies/disclosures.php.
\r
43 // ===================================================================
\r
44 // Description: The Solution Exchange Standard (SES) defines an object model
\r
45 // for the exchange of knowledge. The Service Incident Exchange
\r
46 // Standard (SIS) adds a transaction model to SES.
\r
48 // The object classes below are listed in an order that
\r
49 // avoids forward references. Required objects, defined
\r
50 // by other working groups, are omitted.
\r
51 // ===================================================================
\r
52 // 05/09/2002 Version 1.4
\r
53 // CR836: Cleaned up formatting, Descriptions and MOF errors
\r
54 // 03/19/2002 Version 1.3
\r
55 // CR746: Add Version Qualifier
\r
56 // 11/17/2000 Version 1.2j
\r
57 // CR562: Changed property names using reserved words
\r
58 // PRS_Resource.Type to ResourceType
\r
59 // PRS_Attachment.Reference to AttachmentReference
\r
60 // PRS_Attachment.Size to AttachmentSize
\r
61 // PRS_Attachment.Object to AttachmentObject
\r
62 // PRS_Statement.Role to StatementRole
\r
63 // PRS_Statement.Operator to StatementOperator
\r
64 // PRS_Revision.Date to RevisionDate
\r
65 // PRS_Activity.New to NewKeys
\r
66 // PRS_Transaction.State to TransactionState
\r
67 // CR563: Added deprecated qualifier to deprecated properties
\r
68 // PRS_Transaction.TransactionName
\r
69 // PRS_Activity.ParameterList
\r
70 // Removed Description from PRS_Feature and PRS_Resource (already
\r
71 // inherited from PRS_ExchangeElement)
\r
72 // Added MinValue and MaxValue to the following:
\r
73 // PRS_Problem.Likelihood
\r
74 // PRS_Problem.Impact
\r
75 // PRS_Resolution.Confidence
\r
76 // PRS_Statement.Relevance
\r
77 // Broke long lines over two lines
\r
78 // 08/08/2000 Version 1.2i CR525
\r
79 // Added missing Association qualifier to both PRS_ContactOrganization and
\r
80 // PRS_ContactPerson.
\r
81 // 05/02/2000 Version 1.2h
\r
82 // Converted all CIM_Dependency children to use original property names:
\r
83 // Antecedent and Dependent
\r
84 // 03/07/2000 Version 1.2g
\r
85 // Added Association qualifier to all association classes
\r
86 // Added spaces to end of descriptions where they were missing
\r
87 // Added Notification_Pending state to PRS_Transaction State property
\r
88 // 02/03/2000 Version 1.2f
\r
89 // Added definitions for PRS_SISServices method return values and
\r
90 // CompletionStatus parameters as well as PRS_Transaction CompletionStatus
\r
91 // 01/26/2000 Version 1.2e
\r
92 // Changed PRS_ExchangeElement description
\r
93 // 01/21/2000 Version 1.2d
\r
94 // Fixed spelling error in PRS_Category
\r
95 // 01/20/2000 Version 1.2c
\r
96 // Added ParameterList property back to PRS_Activity for backward
\r
98 // Removed methods from PRS_Transaction and edited property descriptions
\r
99 // Corrected data types of some properties to match specification (strings
\r
101 // Added some missing superclass references ( : CIM_Dependency)
\r
102 // 01/17/2000 Version 1.2b
\r
103 // Reformatted MOF and expanded description fields
\r
104 // Incorporated SIS Transactions using CIM over HTTP
\r
105 // Added properties and methods to PRS_Transaction
\r
106 // Added DirtyFlag to PRS_ExchangeElement
\r
107 // Added PRS_SISService
\r
109 // ==================================================================
\r
112 // ==================================================================
\r
114 // ==================================================================
\r
115 #pragma locale ("en_US")
\r
118 // ==================================================================
\r
119 // PRS_ExchangeElement
\r
120 // ==================================================================
\r
121 [Abstract, Version ("2.6.0"),
\r
123 "PRS_ExchangeElement is an abstract base class for all classes "
\r
124 "in the Solution and Service Incident object model. As an "
\r
125 "abstract class it is never instantiated. \n"
\r
127 "PRS_ExchangeElement exists to provide a single anchor point "
\r
128 "for associations that may be made to any Solution or Service "
\r
129 "Incident object. For example, Administrative or Attachment "
\r
130 "instances may be associated with any object derived from "
\r
131 "PRS_ExchangeElement. To support this generic association "
\r
132 "capability, the PRS_AdminAssociation and PRS_Attached "
\r
133 "associations both derive from the CIM_Dependency association "
\r
134 "and override the Antecedent property of that class to be a "
\r
135 "PRS_ExchangeElement REF.") ]
\r
136 class PRS_ExchangeElement : CIM_ManagedElement {
\r
138 [Key, Description (
\r
139 "The PRSUniqueName property is a Globally Unique IDentifier "
\r
140 "(GUID) also known as a Universally Unique IDentifier (UUID). "
\r
141 "This property allows Solution and Service Incident objects "
\r
142 "to be used by multiple Solutions or Service Incidents without "
\r
143 "duplication. In addition, all Solution or Service Incidents "
\r
144 "containing a unique object are updated when the object is "
\r
146 string PRSUniqueName;
\r
148 [ValueMap {"0", "1", "2", "3"},
\r
149 Values {"Clean", "New", "Modified", "Deleted"},
\r
151 "The DirtyFlag is used by the SISService Start Transaction "
\r
152 "method to determine whether an ExchangeElement has "
\r
153 "been created, modified or deleted since the last Transaction. "
\r
154 "Any object not marked 'Clean' is included in the next "
\r
157 "It is the responsibility of the entity creating, modifying or "
\r
158 "deleting the object derived from ExchangeElement to set this "
\r
159 "property appropriately. \n"
\r
161 "This property value is set to 'Clean' by an invocation of the "
\r
162 "Transaction Complete method with a Status parameter of "
\r
168 // =================================================================
\r
170 // ==================================================================
\r
171 [Version ("2.6.0"),
\r
173 "PRS_Solution is the root class of a set of associated classes "
\r
174 "used to describe a single Solution. If a Solution is associated "
\r
175 "with multiple Problems or Resolutions, all of the Problems "
\r
176 "described are related to all of the Resolutions described. The "
\r
177 "reverse is also true. All of the Resolutions described are "
\r
178 "related to all of the Problems described in the Solution. \n"
\r
180 "PRS_Solution is directly associated to one or more of the "
\r
181 "following classes: \n"
\r
182 " PRS_Reference \n"
\r
184 " PRS_Resolution") ]
\r
185 class PRS_Solution : PRS_ExchangeElement {
\r
187 [Description ("The Solution title.") ]
\r
190 [Description ("A brief description of the Solution.") ]
\r
191 string SolutionAbstract;
\r
193 [ValueMap {"0", "1", "2", "254", "255"},
\r
194 Values {"Reference", "Diagnostic", "How To", "Other", "Unknown"},
\r
196 "The SolutionType suggests the type of knowledge contained "
\r
197 "in the Solution. Depending on the type, the Solution may or "
\r
198 "may not include particular objects. For example, a "
\r
199 "'Reference' Solution describes non-diagnostic technical or "
\r
200 "general information using PRS_Statement objects. A 'Diagnostic' "
\r
201 "Solution includes one or more PRS_Problem and PRS_Resolution "
\r
202 "objects. A 'How To' Solution describes how to solve a "
\r
203 "particular Problem described by a PRS_Problem in a series of "
\r
204 "sequential steps within a PRS_Resolution.") ]
\r
205 uint8 SolutionType;
\r
209 // ==================================================================
\r
210 // PRS_SolutionElement
\r
211 // ==================================================================
\r
212 [Abstract, Version ("2.6.0"),
\r
214 "PRS_SolutionElement is an abstract base class for non-Category "
\r
215 "objects that are associated with a Solution. This includes: \n"
\r
216 " PRS_Reference \n"
\r
218 " PRS_Resolution \n"
\r
220 "PRS_SolutionElement provides a common reference for these "
\r
221 "objects to be associated with PRS_Expression objects through "
\r
222 "the SolutionExpression association. \n"
\r
224 "In addition, all of the derived objects may be retrieved with a "
\r
225 "single query for the common super-class.") ]
\r
226 class PRS_SolutionElement : PRS_ExchangeElement {
\r
230 // ===================================================================
\r
232 // ===================================================================
\r
233 [Version ("2.6.0"),
\r
235 "PRS_Reference is a placeholder to support links between "
\r
236 "PRS_Expression objects and a PRS_Solution. It does not "
\r
237 "have any properties. A 'Reference' Solution uses PRS_Statement "
\r
238 "objects to describe general, non-diagnostic knowledge and "
\r
239 "may not include any PRS_Problem and PRS_Resolution instances.") ]
\r
240 class PRS_Reference : PRS_SolutionElement {
\r
244 // ===================================================================
\r
246 // ===================================================================
\r
247 [Version ("2.6.0"),
\r
249 "PRS_Problem is the root object of a set of associated objects "
\r
250 "that describe a Problem. One or more Problems may be associated "
\r
251 "with a Solution. \n"
\r
253 "The Problem is described by PRS_Statement and PRS_Product "
\r
254 "instances indirectly associated to the PRS_Problem through a "
\r
255 "PRS_Expression.") ]
\r
256 class PRS_Problem : PRS_SolutionElement {
\r
259 "The Likelihood describes the potential for the Problem to "
\r
260 "occur. The value of this property shall be an integer value in "
\r
261 "the range of 0 to 100, inclusive."),
\r
262 MinValue (0), MaxValue (100) ]
\r
266 "The Impact describes the severity of the problem. "
\r
267 "The value of this property shall be an integer value in the "
\r
268 "range of 0 to 100, inclusive."),
\r
269 MinValue (0), MaxValue (100) ]
\r
274 // ===================================================================
\r
276 // ===================================================================
\r
277 [Version ("2.6.0"),
\r
279 "PRS_Resolution is the root object of a set of associated "
\r
280 "objects that describe a the resolution to a Problem. One or "
\r
281 "more Resolutions may be associated with a Solution. \n"
\r
283 "The Resolution is described by PRS_Statement and PRS_Product "
\r
284 "instances indirectly associated to the PRS_Resolution through "
\r
285 "a PRS_Expression.") ]
\r
286 class PRS_Resolution : PRS_SolutionElement {
\r
289 "The Confidence describes the potential for the Resolution to "
\r
290 "correct the Problem or Problems associated with the "
\r
291 "PRS_Solution. The value of this property shall be an integer "
\r
292 "value in the range of 0 to 100, inclusive."),
\r
293 MinValue (0), MaxValue (100) ]
\r
298 // ===================================================================
\r
299 // PRS_SolutionHasElement
\r
300 // ===================================================================
\r
301 [Association, Abstract, Aggregation, Version ("2.6.0"),
\r
303 "PRS_SolutionHasElement is an abstract base class for associating "
\r
304 "PRS_Solution with objects derived from PRS_SolutionElement. This "
\r
305 "association class allows all PRS_Reference, PRS_Problem and "
\r
306 "PRS_Resolution objects to be retrieved with a single query.") ]
\r
307 class PRS_SolutionHasElement : CIM_Dependency {
\r
309 [Override ("Antecedent"), Aggregate, Min (1),
\r
310 Description ("The PRS_Solution root object of the Solution.") ]
\r
311 PRS_Solution REF Antecedent;
\r
313 [Override ("Dependent"),
\r
315 "The PRS_Reference, PRS_Problem or PRS_Resolution aggregated "
\r
316 "into the Solution by this association.") ]
\r
317 PRS_SolutionElement REF Dependent;
\r
321 // ===================================================================
\r
322 // PRS_SolutionReference
\r
323 // ===================================================================
\r
324 [Association, Aggregation, Version ("2.6.0"),
\r
326 "PRS_SolutionReference aggregates a Reference into a "
\r
328 class PRS_SolutionReference : PRS_SolutionHasElement {
\r
330 [Override ("Dependent"),
\r
331 Description ("The PRS_Reference aggregated into the Solution.") ]
\r
332 PRS_Reference REF Dependent;
\r
336 // ===================================================================
\r
337 // PRS_SolutionProblem
\r
338 // ===================================================================
\r
339 [Association, Aggregation, Version ("2.6.0"),
\r
341 "PRS_SolutionProblem aggregates a Problem into a Solution.") ]
\r
342 class PRS_SolutionProblem : PRS_SolutionHasElement {
\r
344 [Override ("Dependent"),
\r
345 Description ("The PRS_Problem aggregated into the Solution.") ]
\r
346 PRS_Problem REF Dependent;
\r
350 // ===================================================================
\r
351 // PRS_SolutionResolution
\r
352 // ===================================================================
\r
353 [Association, Aggregation, Version ("2.6.0"),
\r
355 "PRS_SolutionResolution aggregates a Resolution into a "
\r
357 class PRS_SolutionResolution : PRS_SolutionHasElement {
\r
359 [Override ("Dependent"),
\r
360 Description ("The PRS_Solution aggregated into the Solution.") ]
\r
361 PRS_Resolution REF Dependent;
\r
365 // =================================================================
\r
367 // ==================================================================
\r
368 [Version ("2.6.0"),
\r
370 "PRS_Category is used to classify the components of a "
\r
371 "Solution. Hierarchical classifications are created by "
\r
372 "associating PRS_CategoryParentChild with multiple "
\r
373 "PRS_Category instances.") ]
\r
374 class PRS_Category : PRS_ExchangeElement {
\r
377 "The specific value for the category. For example, 'HP "
\r
378 "Laserjet' would be a value for a category containing "
\r
379 "printer names.") ]
\r
380 string CategoryContents;
\r
383 "The type of category. Used to give additional semantics to "
\r
384 "the category. For example, a Category of Type 'Printers' "
\r
385 "would qualify the list of category values for a list of "
\r
388 "Note: the relationship of Category Type to Category Value "
\r
389 "expresses no intrinsic hierarchy. If a tree of relationships "
\r
390 "exists to define categories and sub-categories, this should be "
\r
391 "defined using CategoryParentChild associations.") ]
\r
392 string CategoryType;
\r
396 // ===================================================================
\r
397 // PRS_SolutionCategory
\r
398 // ===================================================================
\r
399 [Association, Version ("2.6.0"),
\r
401 "PRS_SolutionCategory associates PRS_Solution with a PRS_Category "
\r
402 "for classification purposes.") ]
\r
403 class PRS_SolutionCategory : CIM_Dependency {
\r
405 [Override ("Antecedent"), Min (1),
\r
406 Description ("The PRS_Solution being classified.") ]
\r
407 PRS_Solution REF Antecedent;
\r
409 [Override ("Dependent"),
\r
411 "The specific PRS_Category being used to classify the Solution.") ]
\r
412 PRS_Category REF Dependent;
\r
416 // ===================================================================
\r
417 // PRS_Categorization
\r
418 // ===================================================================
\r
419 [Association, Version ("2.6.0"),
\r
421 "PRS_Categorization associates PRS_Reference, PRS_Problem "
\r
422 "or PRS_Resolution with a PRS_Category for classification "
\r
423 "purposes. For example, a Category named 'Printing Issues' "
\r
424 "can be defined for a Problem using the Categorization "
\r
425 "association between a PRS_Problem and a PRS_Category.") ]
\r
426 class PRS_Categorization : CIM_Dependency {
\r
428 [Override ("Antecedent"),
\r
429 Description ("The PRS_Category used for classification.") ]
\r
430 PRS_Category REF Antecedent;
\r
432 [Override ("Dependent"), Min (1),
\r
434 "The specific PRS_Reference, PRS_Problem or PRS_Resolution "
\r
435 "classified by this association.") ]
\r
436 PRS_SolutionElement REF Dependent;
\r
440 // ===================================================================
\r
441 // PRS_CategoryParentChild
\r
442 // ===================================================================
\r
443 [Association, Version ("2.6.0"),
\r
445 "PRS_CategoryParentChild is used to define classification "
\r
447 class PRS_CategoryParentChild : CIM_Dependency {
\r
449 [Override ("Antecedent"),
\r
450 Description ("The parent PRS_Category used for classification.") ]
\r
451 PRS_Category REF Antecedent;
\r
453 [Override ("Dependent"),
\r
454 Description ("The child PRS_Category used for classification.") ]
\r
455 PRS_Category REF Dependent;
\r
459 // =================================================================
\r
460 // PRS_ExpressionElement
\r
461 // ==================================================================
\r
462 [Abstract, Version ("2.6.0"),
\r
464 "PRS_ExpressionElement is an abstract base class for PRS_Products "
\r
465 "and PRS_Statements. It provides a common association point for "
\r
466 "objects associated with PRS_Expressions.") ]
\r
467 class PRS_ExpressionElement : PRS_ExchangeElement {
\r
471 // =================================================================
\r
473 // ==================================================================
\r
474 [Version ("2.6.0"),
\r
476 "PRS_Expression defines a specific relationship between "
\r
477 "PRS_ExpressionElements associated with PRS_SolutionElements.") ]
\r
478 class PRS_Expression : PRS_ExpressionElement {
\r
481 "The operator to be used with the associated PRS_Expression"
\r
482 "Elements. The 'AND', 'OR' and 'NOT' operators are the only "
\r
483 "operators currently defined by the standard. (They must be "
\r
484 "used as uppercase strings.) Note that this is a "
\r
485 "vendor-extensible property - so that additional operators "
\r
486 "can be defined and used in implementations.") ]
\r
491 // =================================================================
\r
493 // ==================================================================
\r
494 [Version ("2.6.0"),
\r
496 "PRS_Product is used to describe a single product to associate "
\r
497 "with a PRS_Expression.") ]
\r
498 class PRS_Product : PRS_ExpressionElement {
\r
500 [Description ("The vendor of the product.") ]
\r
503 [Description ("The make and or model of the product.") ]
\r
504 string ProductName;
\r
506 [Description ("The version of the product.") ]
\r
510 "The order of relevance of this product to an associated "
\r
511 "PRS_SolutionElement (which includes PRS_Reference, PRS_Problem "
\r
512 "or PRS_Resolution).") ]
\r
517 // =================================================================
\r
519 // ==================================================================
\r
520 [Version ("2.6.0"),
\r
522 "PRS_Statement contains the text describing a problem, any "
\r
523 "relevant background information, and its resolution. "
\r
524 "Statements are units of text ranging from brief sentences or "
\r
525 "phrases to paragraphs or pages. There is no limit to the number "
\r
526 "of PRS_Statements within a Solution, as long as they support the "
\r
527 "intent and focus of their root class. Root classes include: "
\r
528 "PRS_Reference, PRS_Problem or PRS_Resolution. \n"
\r
530 "PRS_Statements may be grouped together to build compound "
\r
531 "'sentences'. For example, \n"
\r
532 " StatementA = Printer output is blotchy. \n"
\r
533 " StatementB = Print jobs per day are less than 50. \n"
\r
534 " ExpressionA = StatementA AND StatementB.") ]
\r
535 class PRS_Statement : PRS_ExpressionElement {
\r
537 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
\r
538 "10", "11", "254", "255"},
\r
539 Values {"Description", "Symptom", "Error_Message", "Objective",
\r
540 "Evidence", "Cause", "Work_Around", "Fix", "Answer",
\r
541 "Keyword", "Changes", "Title", "Other", "Unknown"},
\r
543 "StatementRole describes how the PRS_Statement relates to the "
\r
544 "larger context. For example, is the PRS_Statement describing "
\r
545 "a Fix or a Symptom? 'Description' is generic text without a "
\r
546 "specific diagnostic application. 'Symptom' describes initial "
\r
547 "observable incident or behavior that the user reports. "
\r
548 "'Error_Message' is a specific type of symptom that the user "
\r
549 "reports, describing the specific error condition. 'Objective' "
\r
550 "is what the user wants to accomplish, often expressed as a "
\r
551 "positive condition. FOr example, how to print on a network. "
\r
552 "'Evidence' is information that is collected to diagnose the "
\r
553 "problem after the symptom is reported. 'Cause' is a "
\r
554 "description of the underlying facts or factors that engender "
\r
555 "or relate this behavior. 'Work_around' is information that "
\r
556 "lets the user work, but does not correct the problem completely. "
\r
557 "'Fix' is information that fixes the problem completely. "
\r
558 "'Answer' is the information given to the user such as steps to "
\r
559 "perform, wording to support their environment and understanding. "
\r
560 "'Keyword' is a specific classification using defined words or "
\r
561 "phrases. 'Changes' describe recent changes in the environment "
\r
562 "which could affect the problem or resolution. 'Title is the "
\r
563 "title applying to associated PRS_Statements (usually associated "
\r
564 "via an 'and' expression.") ]
\r
565 uint8 StatementRole;
\r
567 [Description ("The descriptive text used for the PRS_Statement.") ]
\r
571 "When the PRS_Adminstrative object indicates Level 2 compliance, "
\r
572 "StatementOperator describes the relationship between an associated "
\r
573 "PRS_Feature and the FeatureValue property. This property is "
\r
574 "ignored if there is no PRS_Feature associated with this "
\r
575 "PRS_Statement.") ]
\r
576 string StatementOperator;
\r
579 "When the PRS_Adminstrative object indicates Level 2 compliance, "
\r
580 "FeatureValue is the specific value selected from the associated "
\r
581 "PRS_Feature. This property is ignored if there is no PRS_Feature "
\r
582 "associated with this PRS_Statement.") ]
\r
583 string FeatureValue;
\r
586 "Order is used to sequence PRS_Statements associated "
\r
587 "with a single PRS_Expression to allow a Consumer to process "
\r
588 "the information in the order desired by the Producer.") ]
\r
592 "Importance of this Statement. The value of this property shall "
\r
593 "be an integer value in the range of 0 to 100, inclusive."),
\r
594 MinValue (0), MaxValue (100) ]
\r
599 // =================================================================
\r
601 // ==================================================================
\r
602 [Version ("2.6.0"),
\r
604 "PRS_Feature is used for structured diagnostic data, including "
\r
605 "specific data values like steps or conditions. For example, "
\r
606 "consider a PRS_Statement with a Text property value of: \n"
\r
607 " Print jobs per day are less than 50\n"
\r
609 "This could be described using a PRS_Feature as follows: \n"
\r
610 " Description: 'Print jobs per day' \n"
\r
611 " Prompt: 'How many print jobs per day?' \n"
\r
612 " ValidValues: '10' '50' '100' \n"
\r
613 " DataType: 'Integer' \n"
\r
615 "The associated PRS_Statement would contain: \n"
\r
616 " Operator: '<' \n"
\r
617 " FeatureValue: '50' \n") ]
\r
618 class PRS_Feature : PRS_ExchangeElement {
\r
620 [Description ("Prompt presented through user interface.") ]
\r
623 [Description ("Valid values for this PRS_Feature.") ]
\r
624 string ValidValues;
\r
626 [ValueMap {"0", "1", "2", "3", "4", "5", "254", "255"},
\r
627 Values {"String", "Integer", "Float", "Date/Time", "Boolean",
\r
628 "Binary", "Other", "Unknown"},
\r
630 "Data type used for PRS_Statement FeatureValue property.") ]
\r
635 // =================================================================
\r
637 // ==================================================================
\r
638 [Version ("2.6.0"),
\r
640 "Each PRS_Resolution may have an associated cost of implementation. "
\r
641 "This cost may have several components such as time, material "
\r
642 "costs, labor cost, etc. To capture these costs, a PRS_Resouce is "
\r
643 "associated with a PRS_Resolution. For Service Incidents, one or "
\r
644 "more PRS_Resource objects may be associated with an Activity.") ]
\r
645 class PRS_Resource : PRS_ExchangeElement {
\r
647 [Description ("A string describing the type of resource.") ]
\r
648 string ResourceType;
\r
650 [Description ("Number of units of resource used.") ]
\r
653 [Description ("Unit of measure for this resource.") ]
\r
658 // ===================================================================
\r
659 // PRS_ExpressionLink
\r
660 // ===================================================================
\r
661 [Association, Aggregation, Version ("2.6.0"),
\r
663 "Associates a PRS_Expression with PRS_ExpressionElements "
\r
664 "such as PRS_Expression, PRS_Product, and PRS_Statement.") ]
\r
665 class PRS_ExpressionLink : CIM_Dependency {
\r
667 [Aggregate, Override ("Antecedent"),
\r
668 Min (1), Description ("The parent PRS_Expression.") ]
\r
669 PRS_Expression REF Antecedent;
\r
671 [Override ("Dependent"), Min (1),
\r
673 "The child PRS_ExpressionElement, either a PRS_Expression, "
\r
674 "PRS_Product or PRS_Statement.") ]
\r
675 PRS_ExpressionElement REF Dependent;
\r
679 // ===================================================================
\r
680 // PRS_ProductParentChild
\r
681 // ===================================================================
\r
682 [Association, Aggregation, Version ("2.6.0"),
\r
684 "Products may exist in a hierarchy of relationships with related "
\r
685 "Products. If a Producer deems these hierarchy relationships "
\r
686 "are relevant to the current Problem or Resolution, then the "
\r
687 "position of the Product in a hierarchy can be implied using one "
\r
688 "of two types of relationships: 'is a' and 'has a'. An 'is a' "
\r
689 "relationship implies a classification, such as versioning or "
\r
690 "typing. A 'has a' relationship implies that one product contains "
\r
691 "another. The PRS_ProductParentChild association is used to imply "
\r
692 "an 'is a' hierarchy. Use the ProductComponent association to "
\r
693 "imply 'has a' relationships.") ]
\r
694 class PRS_ProductParentChild : CIM_Dependency {
\r
696 [Aggregate, Override ("Antecedent"),
\r
697 Description ("The parent PRS_Product.") ]
\r
698 PRS_Product REF Antecedent;
\r
700 [Override ("Dependent"),
\r
701 Description ("The child PRS_Product.") ]
\r
702 PRS_Product REF Dependent;
\r
706 // ===================================================================
\r
707 // PRS_ProductComponent
\r
708 // ===================================================================
\r
709 [Association, Aggregation, Version ("2.6.0"),
\r
711 "PRS_ProductComponent is used to describe 'has a' relationships "
\r
712 "between Products and their components parts. See "
\r
713 "PRS_ProductParentChild for 'is a' relationships.") ]
\r
714 class PRS_ProductComponent : CIM_Dependency {
\r
716 [Aggregate, Override ("Antecedent"),
\r
717 Description ("The PRS_Product which contains the component.") ]
\r
718 PRS_Product REF Antecedent;
\r
720 [Override ("Dependent"),
\r
721 Description ("The component PRS_Product.") ]
\r
722 PRS_Product REF Dependent;
\r
726 // ===================================================================
\r
727 // PRS_ProductAsset
\r
728 // ===================================================================
\r
729 [Association, Version ("2.6.0"),
\r
731 "PRS_ProductAsset is used to provide specific information about "
\r
732 "a PRS_Product. PRS_ProductAsset associates this information to a "
\r
733 "PRS_Product using one or more Statements associated to a "
\r
734 "PRS_Expression.") ]
\r
735 class PRS_ProductAsset : CIM_Dependency {
\r
737 [Override ("Antecedent"),
\r
738 Description ("The product.") ]
\r
739 PRS_Product REF Antecedent;
\r
741 [Override ("Dependent"),
\r
742 Description ("The expression.") ]
\r
743 PRS_Expression REF Dependent;
\r
747 // ===================================================================
\r
748 // PRS_StatementFeature
\r
749 // ===================================================================
\r
750 [Association, Version ("2.6.0"),
\r
751 Description ("Associates PRS_Statement with PRS_Feature.") ]
\r
752 class PRS_StatementFeature : CIM_Dependency {
\r
754 [Override ("Antecedent"),
\r
755 Description ("The PRS_Statement.") ]
\r
756 PRS_Statement REF Antecedent;
\r
758 [Override ("Dependent"),
\r
759 Description ("The PRS_Feature.") ]
\r
760 PRS_Feature REF Dependent;
\r
764 // ===================================================================
\r
765 // PRS_FeatureResource
\r
766 // ===================================================================
\r
767 [Association, Version ("2.6.0"),
\r
769 "Associates PRS_Feature with PRS_Resource. This is used "
\r
770 "to track labor and costs associated with specific "
\r
771 "tasks defined in a Feature object.") ]
\r
772 class PRS_FeatureResource : CIM_Dependency {
\r
774 [Override ("Antecedent"),
\r
775 Description ("The PRS_Feature.") ]
\r
776 PRS_Feature REF Antecedent;
\r
778 [Override ("Dependent"),
\r
779 Description ("The PRS_Resource.") ]
\r
780 PRS_Resource REF Dependent;
\r
784 // ===================================================================
\r
785 // PRS_ResolutionResource
\r
786 // ===================================================================
\r
787 [Association, Version ("2.6.0"),
\r
788 Description ("Associates PRS_Resolution with PRS_Resource.") ]
\r
789 class PRS_ResolutionResource : CIM_Dependency {
\r
791 [Override ("Antecedent"),
\r
792 Description ("The PRS_Resource.") ]
\r
793 PRS_Resource REF Antecedent;
\r
795 [Override ("Dependent"),
\r
796 Description ("The PRS_Resolution.") ]
\r
797 PRS_Resolution REF Dependent;
\r
801 // ===================================================================
\r
802 // PRS_Solution Expression
\r
803 // ===================================================================
\r
804 [Association, Aggregation, Version ("2.6.0"),
\r
806 "Associates PRS_SolutionElements (PRS_Reference, PRS_Problem "
\r
807 "or PRS_Resolution) with PRS_Expressions.") ]
\r
808 class PRS_SolutionExpression : CIM_Dependency {
\r
810 [Aggregate, Override ("Antecedent"), Min (1),
\r
811 Description ("The PRS_SolutionElement.") ]
\r
812 PRS_SolutionElement REF Antecedent;
\r
814 [Override ("Dependent"), Min (1),
\r
815 Description ("The PRS_Expression.") ]
\r
816 PRS_Expression REF Dependent;
\r
820 // ===================================================================
\r
821 // PRS_Administrative
\r
822 // ===================================================================
\r
823 [Version ("2.6.0"),
\r
825 "PRS_Administrative defines administrative information about "
\r
826 "associated objects. There must be at least one "
\r
827 "PRS_Administrative instance associated with a PRS_Solution. "
\r
828 "Administrative information is inherited from a parent object. \n"
\r
830 "If the administrative information among objects within a Solution "
\r
831 "is not the same, additional PRS_Administrative instances may be "
\r
832 "associated with other objects within the Solution. All instances under "
\r
833 "a specific parent inherit their administrative information unless "
\r
834 "there is an PRS_Administrative instance associated with that "
\r
837 "For example, if there is a PRS_Administrative instance associated "
\r
838 "with a PRS_Problem instance, all of the PRS_Statement and PRS_"
\r
839 "Product instances within the Problem use the same Administrative "
\r
840 "information as the PRS_Problem instance.") ]
\r
841 class PRS_Administrative : PRS_ExchangeElement {
\r
843 [ValueMap {"0", "1", "2"},
\r
845 "Level 0 means all information within a Reference, Problem or "
\r
846 "Resolution is conveyed by a single PRS_Statement. \n"
\r
848 "Level 1 means there may be multiple PRS_Statement instances "
\r
849 "within a Reference, Problem or Resolution. \n"
\r
851 "Level 2 means that a PRS_Statement may be associated with "
\r
852 "a PRS_Feature instance within a Reference, Problem "
\r
853 "or Resolution.") ]
\r
854 uint16 ComplianceLevel;
\r
856 [ValueMap {"0", "1", "2", "254", "255"},
\r
857 Values {"Draft", "Reviewed", "Published", "Other", "Unknown"},
\r
859 "Editorial status of the document. If 'Draft', information "
\r
860 "is complete, but unedited. If 'Reviewed', an editorial "
\r
861 "review has been completed. If 'Published', information has "
\r
862 "been reviewed and approved for distribution.") ]
\r
863 uint8 DocumentStatus;
\r
865 [ValueMap {"0", "1", "2", "3", "254", "255"},
\r
866 Values {"Proprietary", "Internal", "Partner", "Public", "Other",
\r
869 "Intended distribution audience for the associated information. "
\r
870 "If 'Proprietary', information contains proprietary information "
\r
871 "and is not to be released externally. If 'Internal', information "
\r
872 "is for internal use only. If 'Partner', information is only "
\r
873 "available to contracted partners. If 'Public', information is "
\r
874 "available to anyone.") ]
\r
875 uint8 Distribution;
\r
877 [Description ("Language used in the associated information.") ]
\r
880 [Description ("Copyright for the associated information.") ]
\r
883 [Description ("Disclaimers about the associated information.") ]
\r
886 [Description ("Usage rights for the associated information.") ]
\r
891 // ===================================================================
\r
892 // PRS_AdminAssociation
\r
893 // ===================================================================
\r
894 [Association, Version ("2.6.0"),
\r
896 "Associates PRS_Administrative data with any object derived from "
\r
897 "PRS_ExchangeElement.") ]
\r
898 class PRS_AdminAssociation : CIM_Dependency {
\r
900 [Override ("Antecedent"), Min (1),
\r
901 Description ("The PRS_ExchangeElement.") ]
\r
902 PRS_ExchangeElement REF Antecedent;
\r
904 [Override ("Dependent"),
\r
905 Description ("The PRS_Administrative object.") ]
\r
906 PRS_Administrative REF Dependent;
\r
910 // ===================================================================
\r
912 // ===================================================================
\r
913 [Version ("2.6.0"),
\r
914 Description ("PRS_Revision records changes to the content.") ]
\r
915 class PRS_Revision : PRS_ExchangeElement {
\r
917 [Description ("The date of this revision.") ]
\r
918 datetime RevisionDate;
\r
920 [ValueMap {"0", "1", "2", "254", "255"},
\r
921 Values {"Create", "Update", "Delete", "Other", "Unknown"},
\r
922 Description ("The name of the specific revision being made.") ]
\r
923 uint8 ActivityName;
\r
925 [ValueMap {"0", "1", "2", "254", "255"},
\r
926 Values {"Technical", "Editorial", "Administrative", "Other",
\r
929 "Type of revision activity. 'Technical' refers to a change "
\r
930 "in content. 'Editorial' refers to a change in language or "
\r
931 "style. 'Administrative' refers to information about the object.") ]
\r
932 uint8 ActivityType;
\r
934 [ValueMap {"0", "1", "2", "3", "254", "255"},
\r
935 Values {"Open", "Not Reviewed", "Reviewed", "Approved", "Other",
\r
938 "The current state of technical review. 'Open' means created but "
\r
939 "not necessarily completed or resolved. 'Not Reviewed' means "
\r
940 "contents have to be reviewed for accuracy and consistency with "
\r
941 "other content. 'Reviewed' means review has been completed. "
\r
942 "'Approved' means formally approval to certify the solution given "
\r
943 "the specific status of the contents.") ]
\r
944 uint8 TechnicalStatus;
\r
946 [ValueMap {"0", "1", "2", "3", "254", "255"},
\r
947 Values {"In_Progress", "Draft", "Reviewed", "Published", "Other",
\r
950 "The current state of editorial review. 'In Progress' means the "
\r
951 "content is in the process of being developed. 'Draft' means the "
\r
952 "content is complete but unedited. 'Reviewed' means the review "
\r
953 "has been completed. 'Published' means the contents have been "
\r
955 uint8 EditorialStatus;
\r
957 [Override ("Description"),
\r
958 Description ("Text description of what was done in this revision.") ]
\r
959 string Description;
\r
963 // ===================================================================
\r
964 // PRS_AdministrativeRevision
\r
965 // ===================================================================
\r
966 [Association, Aggregation, Version ("2.6.0"),
\r
967 Description ("Associates PRS_Administrative with PRS_Revision.") ]
\r
968 class PRS_AdministrativeRevision : CIM_Dependency {
\r
970 [Aggregate, Override ("Antecedent"), Min (1), Max (1),
\r
971 Description ("The PRS_Administrative.") ]
\r
972 PRS_Administrative REF Antecedent;
\r
974 [Override ("Dependent"),
\r
975 Description ("The PRS_Revision.") ]
\r
976 PRS_Revision REF Dependent;
\r
980 // ===================================================================
\r
982 // ===================================================================
\r
983 [Version ("2.6.0"),
\r
985 "PRS_Contact is used to anchor associations to PRS_Person and "
\r
986 "PRS_Orgnaization. PRS_Contact is also used to anchor associations "
\r
987 "to PRS_Revision and PRS_Resolution, as well as "
\r
988 "PRS_ServiceIncident.") ]
\r
989 class PRS_Contact : PRS_ExchangeElement {
\r
993 // ===================================================================
\r
995 // ===================================================================
\r
996 [Abstract, Version ("2.6.0"),
\r
998 "PRS_ContactItem is the abstract root class for PRS_Person and "
\r
999 "PRS_Organization. It provides a common anchor point for the "
\r
1000 "PRS_ContactContactItem association.") ]
\r
1001 class PRS_ContactItem : PRS_ExchangeElement {
\r
1005 // ===================================================================
\r
1006 // PRS_AdministrativeContact
\r
1007 // ===================================================================
\r
1008 [Association, Aggregation, Version ("2.6.0"),
\r
1009 Description ("Associates PRS_Administrative and PRS_Contact.") ]
\r
1010 class PRS_AdministrativeContact : CIM_Dependency {
\r
1012 [Aggregate, Override ("Antecedent"), Min (1),
\r
1013 Description ("The PRS_Administrative instance.") ]
\r
1014 PRS_Administrative REF Antecedent;
\r
1016 [Override ("Dependent"), Min (1),
\r
1017 Description ("The PRS_Contact.") ]
\r
1018 PRS_Contact REF Dependent;
\r
1022 // ===================================================================
\r
1023 // PRS_RevisionContact
\r
1024 // ===================================================================
\r
1025 [Association, Aggregation, Version ("2.6.0"),
\r
1026 Description ("Associates PRS_Revision and PRS_Contact.") ]
\r
1027 class PRS_RevisionContact : CIM_Dependency {
\r
1029 [Aggregate, Override ("Antecedent"),
\r
1030 Description ("The PRS_Revision.") ]
\r
1031 PRS_Revision REF Antecedent;
\r
1033 [Override ("Dependent"), Min (1),
\r
1034 Description ("The PRS_Contact.") ]
\r
1035 PRS_Contact REF Dependent;
\r
1039 // ===================================================================
\r
1040 // PRS_Organization
\r
1041 // ===================================================================
\r
1042 [Version ("2.6.0"),
\r
1044 "PRS_Organization describes a PRS_Contact's organization name "
\r
1045 "and business.") ]
\r
1046 class PRS_Organization : PRS_ContactItem {
\r
1048 [Description ("The name of the organization.") ]
\r
1051 [Description ("Description of organization's primary business.") ]
\r
1056 // ===================================================================
\r
1058 // ===================================================================
\r
1059 [Version ("2.6.0"),
\r
1060 Description ("Information about a personal contact.") ]
\r
1061 class PRS_Person : PRS_ContactItem {
\r
1063 [Description ("Contact's first name.") ]
\r
1066 [Description ("Contact's last name.") ]
\r
1070 "How the contact is addressed, i.e. Dr., Mr., Ms., Mrs., "
\r
1072 string Salutation;
\r
1074 [Description ("Contact's business title.") ]
\r
1078 "Description of the contact. For example, they may have "
\r
1079 "responsibilities not apparent from their title.") ]
\r
1080 string ContactType;
\r
1082 [ValueMap {"0", "1", "2", "3", "4", "254", "255"},
\r
1083 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
\r
1084 "URL", "Other", "Unknown"},
\r
1086 "Contact's preferred communication method. See the "
\r
1087 "PRS_Location.LocationType property.") ]
\r
1088 uint8 CommunicationMode;
\r
1092 // ===================================================================
\r
1093 // PRS_ContactContactItem
\r
1094 // ===================================================================
\r
1095 [Association, Abstract, Version ("2.6.0"),
\r
1097 "Abstract root class to associate PRS_Person or PRS_Organization "
\r
1098 "and PRS_Contact.") ]
\r
1099 class PRS_ContactContactItem : CIM_Dependency {
\r
1101 [Override ("Antecedent"), Min (1),
\r
1102 Description ("The PRS_Contact.") ]
\r
1103 PRS_Contact REF Antecedent;
\r
1105 [Override ("Dependent"), Min (1),
\r
1107 "The PRS_ContactItem, either PRS_Person or PRS_Organization. "
\r
1108 "There is always at least one PRS_ContactItem, however it may be "
\r
1109 "either a PRS_Person or PRS_Organization. For that reason, there "
\r
1110 "is a minimum cardinality of one for this property, but a minimum "
\r
1111 "cardinality of zero in the classes derived from this class.") ]
\r
1112 PRS_ContactItem REF Dependent;
\r
1116 // ===================================================================
\r
1117 // PRS_ContactOrganization
\r
1118 // ===================================================================
\r
1119 [Association, Version ("2.6.0"),
\r
1120 Description ("Associates PRS_Contact and PRS_Organization.") ]
\r
1121 class PRS_ContactOrganization : PRS_ContactContactItem {
\r
1123 [Override ("Dependent"),
\r
1124 Description ("The PRS_Organization.") ]
\r
1125 PRS_Organization REF Dependent;
\r
1129 // ===================================================================
\r
1130 // PRS_ContactPerson
\r
1131 // ===================================================================
\r
1132 [Association, Version ("2.6.0"),
\r
1133 Description ("Associates PRS_Contact and PRS_Person.") ]
\r
1134 class PRS_ContactPerson : PRS_ContactContactItem {
\r
1136 [Override ("Dependent"),
\r
1137 Description ("The PRS_Person.") ]
\r
1138 PRS_Person REF Dependent;
\r
1142 // ===================================================================
\r
1144 // ===================================================================
\r
1145 [Version ("2.6.0"),
\r
1146 Description ("Provides address information for PRS_ContactItem.") ]
\r
1147 class PRS_Address : PRS_ExchangeElement {
\r
1149 [ValueMap {"0", "1", "2", "3", "254", "255"},
\r
1150 Values {"Primary", "Shipping", "Billing", "Service", "Other",
\r
1152 Description ("The type of address.") ]
\r
1153 uint8 AddressType;
\r
1155 [Description ("First line of address information.") ]
\r
1158 [Description ("Second line of address information.") ]
\r
1161 [Description ("Third line of address information.") ]
\r
1164 [Description ("Fourth line of address information.") ]
\r
1167 [Description ("The city.") ]
\r
1170 [Description ("The specific region, such as state or province.") ]
\r
1173 [Description ("The country's postal code for the address.") ]
\r
1174 string PostalCode;
\r
1176 [Description ("The time zone of the address.") ]
\r
1179 [Description ("The country code, based on ISO/IEC 3166.") ]
\r
1184 // ===================================================================
\r
1185 // PRS_ContactItemAddress
\r
1186 // ===================================================================
\r
1187 [Association, Version ("2.6.0"),
\r
1188 Description ("Associates PRS_ContactItem with PRS_Address.") ]
\r
1189 class PRS_ContactItemAddress : CIM_Dependency {
\r
1191 [Override ("Antecedent"), Min (1),
\r
1192 Description ("The PRS_ContactItem.") ]
\r
1193 PRS_ContactItem REF Antecedent;
\r
1195 [Override ("Dependent"),
\r
1196 Description ("The PRS_Address.") ]
\r
1197 PRS_Address REF Dependent;
\r
1201 // ===================================================================
\r
1203 // ===================================================================
\r
1204 [Version ("2.6.0"),
\r
1206 "PRS_Location describes the location of a PRS_Address.") ]
\r
1207 class PRS_Location : PRS_ExchangeElement {
\r
1209 [ValueMap {"0", "1", "2", "3", "4", "254", "255"},
\r
1210 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
\r
1211 "URL", "Other", "Unknown"},
\r
1212 Description ("The type of location.") ]
\r
1213 uint8 LocationType;
\r
1215 [Description ("The specific location.") ]
\r
1216 string LocationID;
\r
1220 // ===================================================================
\r
1221 // PRS_AddressLocation
\r
1222 // ===================================================================
\r
1223 [Association, Version ("2.6.0"),
\r
1224 Description ("Associates PRS_Address and PRS_Location.") ]
\r
1225 class PRS_AddressLocation : CIM_Dependency {
\r
1227 [Override ("Antecedent"), Min (1),
\r
1228 Description ("The PRS_Address.") ]
\r
1229 PRS_Address REF Antecedent;
\r
1231 [Override ("Dependent"),
\r
1232 Description ("The PRS_Location") ]
\r
1233 PRS_Location REF Dependent;
\r
1237 // ===================================================================
\r
1239 // ===================================================================
\r
1240 [Version ("2.6.0"),
\r
1242 "PRS_Attachment describes file attachments. A PRS_Attachment may "
\r
1243 "be associated to any object derived from PRS_ExchangeElement. "
\r
1244 "PRS_Attachment is used to attach objects of any type including "
\r
1245 "binary files, ASCII documents, or URLs. Only one object may be "
\r
1246 "attached per PRS_Attachment. \n"
\r
1248 "The actual attachment carried by the Attachment object is "
\r
1249 "included by one of two methods: by reference or by value as "
\r
1250 "embedded data. A 'by reference' approach links indirectly to "
\r
1251 "the attachment through the use of a string identifier, e.g. a "
\r
1252 "file name. An 'embedded data' approach means the actual binary "
\r
1253 "data is included in PRS_Attachment.") ]
\r
1254 class PRS_Attachment : PRS_ExchangeElement {
\r
1257 "If the attachment is not embedded, where the attachment "
\r
1259 string AttachmentReference;
\r
1262 "Protocol required to read the attachment (e.g., http).") ]
\r
1265 [Description ("The file format of the attachment.") ]
\r
1268 [Description ("The size of the attachment in bytes.") ]
\r
1269 string AttachmentSize;
\r
1271 [Description ("The attachment itself, if embedded.") ]
\r
1272 string AttachmentObject;
\r
1274 [ValueMap {"0", "1", "2", "254", "255"},
\r
1275 Values {"Instructions", "Background", "Log", "Unknown",
\r
1278 "The purpose of the attachment, as related to the diagnosis. "
\r
1279 "'Instructions' are compilable code. 'Background' is "
\r
1280 "descriptive information. 'Log' is information captured in a "
\r
1282 uint8 AttachmentType;
\r
1285 "The displayable attachment identifier. Used to define what will "
\r
1286 "appear as the name of the attachment, as opposed to the specific "
\r
1287 "attachment file name or URL.") ]
\r
1288 string AttachmentName;
\r
1292 // ===================================================================
\r
1294 // ===================================================================
\r
1295 [Association, Version ("2.6.0"),
\r
1297 "Associates PRS_Attachment with PRS_ExchangeElement.") ]
\r
1298 class PRS_Attached : CIM_Dependency {
\r
1300 [Override ("Antecedent"),
\r
1301 Description ("The PRS_Attachment.") ]
\r
1302 PRS_Attachment REF Antecedent;
\r
1304 [Override ("Dependent"), Min (1),
\r
1305 Description ("The PRS_ExchangeElement.") ]
\r
1306 PRS_ExchangeElement REF Dependent;
\r
1310 // ===================================================================
\r
1311 // ===================================================================
\r
1312 // Service Incident Exchange information
\r
1313 // ===================================================================
\r
1314 // ===================================================================
\r
1316 // ===================================================================
\r
1317 // PRS_ServiceIncident
\r
1318 // ===================================================================
\r
1319 [Version ("2.6.0"),
\r
1321 "PRS_ServiceIncident contains the fundamental information related "
\r
1322 "to a specific incident: its identity, status, priority, etc. "
\r
1323 "The actual incident data, including specific transactions and "
\r
1324 "resolution information, is contained in the objects associated "
\r
1325 "with PRS_ServiceIncident. These include specific Problem, "
\r
1326 "Resolution and Activity related objects accrued through the "
\r
1327 "Transaction workflow.") ]
\r
1328 class PRS_ServiceIncident : PRS_ExchangeElement {
\r
1331 "The unique identifier for this incident assigned by the "
\r
1333 string RequesterID;
\r
1336 "The unique identifier for this incident assigned by the "
\r
1338 string ProviderID;
\r
1340 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "254",
\r
1342 Values {"Beginning_State", "Not_Entitled", "Entitled",
\r
1343 "Problem_Submitted", "Open_Requester", "Open_Provider",
\r
1344 "Closed_Pending_Confirmation", "Closed", "Other",
\r
1347 "The state of the incident within the Service Incident Exchange "
\r
1348 "Standard transaction model.") ]
\r
1349 uint8 CurrentState;
\r
1351 [ValueMap {"1", "2", "3", "4", "5"},
\r
1353 "The severity of the incident as defined by the Requester. "
\r
1354 "One is the most severe and five is the least severe.") ]
\r
1355 uint8 RequesterSeverity;
\r
1357 [ValueMap {"1", "2", "3", "4", "5"},
\r
1359 "The priority of the incident as defined by the Requester. "
\r
1360 "One is the highest priority and five is the lowest priority.") ]
\r
1361 uint8 ProviderPriority;
\r
1364 "The explicit time the Requester expects a response.") ]
\r
1365 datetime ResponseTime;
\r
1368 "Status of the incident according to the workflow.") ]
\r
1369 string WorkflowStatus;
\r
1372 "Additional general information about the incident.") ]
\r
1375 [ValueMap {"0", "1", "254", "255"},
\r
1376 Values {"Yes", "No", "Other", "Unknown"},
\r
1378 "Is the Requester entitled to service or not?") ]
\r
1381 [ValueMap {"0", "1", "254", "255"},
\r
1382 Values {"Yes", "No", "Other", "Unknown"},
\r
1384 "Was the last transaction was accepted or rejected?") ]
\r
1385 uint8 Acknowledge;
\r
1387 [Deprecated {"PRS_ServiceIncident.LastTransaction"},
\r
1389 "The use of the TransactionName property is deprecated. New "
\r
1390 "Service Incidents should use the LastTransaction property and "
\r
1391 "set this property to NULL.") ]
\r
1392 string TransactionName;
\r
1394 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
\r
1395 "10", "11", "254", "255"},
\r
1396 Values {"Service_Request", "Entitlement", "Problem_Submittal",
\r
1397 "Accept_Problem", "Problem_Resolution",
\r
1398 "Request_Problem_Information",
\r
1399 "Provide_Problem_Information", "Provide_Admin_Information",
\r
1400 "Query_Incident", "Confirm_Close", "Reject_Resolution",
\r
1401 "Request_Closure", "Other", "Unknown"},
\r
1403 "The name of the last transaction which was acknowledged.") ]
\r
1404 uint8 LastTransaction;
\r
1408 // ===================================================================
\r
1409 // PRS_ServiceRequester
\r
1410 // ===================================================================
\r
1411 [Association, Version ("2.6.0"),
\r
1413 "PRS_ServiceRequester associates a PRS_ServiceIncident with "
\r
1414 "a PRS_Contact representing the entity requesting service. "
\r
1415 "Note that the Contact class is used for both Requesters and "
\r
1416 "Providers, the context is determined by which association "
\r
1418 class PRS_ServiceRequester : CIM_Dependency {
\r
1420 [Override("Antecedent"),
\r
1421 Description ("The PRS_ServiceIncident.") ]
\r
1422 PRS_ServiceIncident REF Antecedent;
\r
1424 [Override("Dependent"), Min (1), Max (1),
\r
1425 Description ("The PRS_Contact.") ]
\r
1426 PRS_Contact REF Dependent;
\r
1430 // ===================================================================
\r
1431 // PRS_ServiceProvider
\r
1432 // ===================================================================
\r
1433 [Association, Version ("2.6.0"),
\r
1435 "Associates PRS_ServiceIncident to PRS_Contact to describe the "
\r
1436 "Service Provider.") ]
\r
1437 class PRS_ServiceProvider : CIM_Dependency {
\r
1439 [Override("Antecedent"),
\r
1440 Description ("The PRS_ServiceIncident.") ]
\r
1441 PRS_ServiceIncident REF Antecedent;
\r
1443 [Override("Dependent"), Min (1), Max (1),
\r
1444 Description ("The PRS_Contact.") ]
\r
1445 PRS_Contact REF Dependent;
\r
1449 // ===================================================================
\r
1450 // PRS_ServiceProblem
\r
1451 // ===================================================================
\r
1452 [Association, Version ("2.6.0"),
\r
1454 "Associates PRS_ServiceIncident to PRS_Problem to describe the "
\r
1455 "Problem being submitted to the Service Provider.") ]
\r
1456 class PRS_ServiceProblem : CIM_Dependency {
\r
1458 [Override("Antecedent"), Min (1),
\r
1459 Description ("The PRS_ServiceIncident.") ]
\r
1460 PRS_ServiceIncident REF Antecedent;
\r
1462 [Override("Dependent"), Max (1),
\r
1463 Description ("The PRS_Problem.") ]
\r
1464 PRS_Problem REF Dependent;
\r
1468 // ===================================================================
\r
1469 // PRS_ServiceResolutionSolution
\r
1470 // ===================================================================
\r
1471 [Association, Aggregation, Version ("2.6.0"),
\r
1473 "Associates PRS_ServiceIncident to PRS_Solution to describe the "
\r
1474 "Resolutions proposed by the Service Provider.") ]
\r
1475 class PRS_ServiceResolutionSolution : CIM_Dependency {
\r
1477 [Override("Antecedent"), Aggregate,
\r
1478 Description ("The PRS_ServiceIncident.") ]
\r
1479 PRS_ServiceIncident REF Antecedent;
\r
1481 [Override("Dependent"),
\r
1483 "The PRS_Solution. PRS_Solution must be associated with at "
\r
1484 "least one Resolution.") ]
\r
1485 PRS_Solution REF Dependent;
\r
1489 // ===================================================================
\r
1491 // ===================================================================
\r
1492 [Version ("2.6.0"),
\r
1494 "The agreement or contract referenced for entitlement to "
\r
1496 class PRS_Agreement : PRS_ExchangeElement {
\r
1499 "The identifier for the contract between the Request and "
\r
1500 "the Provider. This property is set by the Requester "
\r
1501 "prior to submitting a Service Request.") ]
\r
1502 string ContractID;
\r
1504 [Description ("A brief description of the contract.") ]
\r
1505 string AgreementType;
\r
1509 // ===================================================================
\r
1510 // PRS_ServiceAgreement
\r
1511 // ===================================================================
\r
1512 [Association, Version ("2.6.0"),
\r
1513 Description ("Associates PRS_ServiceIncident to PRS_Agreement.") ]
\r
1514 class PRS_ServiceAgreement : CIM_Dependency {
\r
1516 [Override("Antecedent"),
\r
1517 Description ("The PRS_ServiceIncident.") ]
\r
1518 PRS_ServiceIncident REF Antecedent;
\r
1520 [Override("Dependent"), Min (1), Max (1),
\r
1521 Description ("The PRS_Agreement.") ]
\r
1522 PRS_Agreement REF Dependent;
\r
1526 // ===================================================================
\r
1528 // ===================================================================
\r
1529 [Version ("2.6.0"),
\r
1531 "Describes the date of each transaction and the objects "
\r
1533 class PRS_Activity : PRS_ExchangeElement {
\r
1536 "PRS_Activity.NewKeys",
\r
1537 "PRS_Activity.Deleted",
\r
1538 "PRS_Activity.Modified"},
\r
1540 "The key fields for the objects in the associated Transaction. "
\r
1541 "The use of this property is deprecated. The PRS_SISService "
\r
1542 "StartSISTransaction method uses the New, Modified and Deleted "
\r
1543 "properties instead of this field. This field is set to NULL "
\r
1544 "by the StartSISTransaction method if the other properties are "
\r
1546 string ParameterList;
\r
1549 "The key fields for the objects added in the associated "
\r
1550 "Transaction. This property is set by the PRS_SISService "
\r
1551 "StartSISTransaction method.") ]
\r
1555 "The key fields for objects deleted in the associated "
\r
1556 "Transaction. This property is set by the PRS_SISService "
\r
1557 "StartSISTransaction method.") ]
\r
1561 "The key fields for objects modified in the associated "
\r
1562 "Transaction. This property is set by the PRS_SISService "
\r
1563 "StartSISTransaction method.") ]
\r
1567 "The date of the Activity. This property is set by the "
\r
1568 "PRS_SISService StartSISTranasaction method.") ]
\r
1569 datetime LocalDate;
\r
1571 [Description ("Description of the activity performed.") ]
\r
1576 // ===================================================================
\r
1577 // PRS_Transaction
\r
1578 // ===================================================================
\r
1579 [Version ("2.6.0"),
\r
1581 "PRS_Transaction represents a single transaction of the Service "
\r
1582 "Incident workflow. A PRS_Transaction instance is created by the "
\r
1583 "PRS_SISService StartSISTransaction method.") ]
\r
1584 class PRS_Transaction : PRS_ExchangeElement {
\r
1586 [ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
\r
1587 "11", "254", "255"},
\r
1588 Values {"Service_Request", "Entitlement", "Problem_Submittal",
\r
1589 "Accept_Problem", "Problem_Resolution",
\r
1590 "Request_Problem_Information",
\r
1591 "Provide_Problem_Information", "Provide_Admin_Information",
\r
1592 "Query_Incident", "Confirm_Close", "Reject_Resolution",
\r
1593 "Request_Closure", "Other", "Unknown"},
\r
1595 "The specific SIS transaction represented by this "
\r
1596 "PRS_Transaction instance.") ]
\r
1597 uint8 TransactionType;
\r
1599 [ValueMap {"0", "1", "2", "3"},
\r
1600 Values {"Open", "Working", "Closed", "Notification_Pending"},
\r
1602 "The current state of this transaction. This value is "
\r
1603 "manipulated by the PRS_SISService:StartSISTransaction and "
\r
1604 "SetSISCompletionStatus method implementations. This property "
\r
1605 "is not intended to be written by management applications.") ]
\r
1606 uint8 TransactionState;
\r
1609 "The status of the transaction after it has reached the 'Closed' "
\r
1610 "state. A CompletionStatus of zero (0) means the tranasaction "
\r
1611 "completed successfully. A non-zero CompletionStatus indicates the "
\r
1612 "transaction did not complete successfully. Non-zero values are "
\r
1613 "implementation-specific. While the transaction is 'Open' or "
\r
1614 "'Working' the CompletionStatus property shall be zero (0). "
\r
1615 "See the description for PRS_SISService for the definition of "
\r
1616 "the contents of this property.") ]
\r
1617 uint32 CompletionStatus;
\r
1621 // ===================================================================
\r
1623 // ===================================================================
\r
1624 [Version ("2.6.0"),
\r
1626 "The PRS_SISService is used as a class factory for "
\r
1627 "PRS_Transactions.") ]
\r
1628 class PRS_SISService : CIM_Service {
\r
1631 "When invoked on a local system, this method validates the "
\r
1632 "objects in the local repository, to determine if they are "
\r
1633 "sufficient for the indicated (input parameter) "
\r
1634 "TransactionType. If not, an error is returned and no "
\r
1635 "additional processing is performed. If the repository is "
\r
1636 "successfully validated, this method creates a PRS_Transaction "
\r
1637 "instance for return to the caller. \n"
\r
1639 "The method also reviews the repository looking for new, "
\r
1640 "modified or deleted objects. As these objects are located, "
\r
1641 "their keys are appended to the related strings in the "
\r
1642 "PRS_Activity instance referenced by another parameter of "
\r
1645 "After all the appropriate new, modified or deleted objects have "
\r
1646 "been located, this method invokes the PRS_SISService's "
\r
1647 "StartSISTransaction method on the remote system specified by "
\r
1648 "the objects related to the Service Incident, associated with "
\r
1649 "the PRS_Activity instance specified as a method parameter. "
\r
1650 "The TransactionType and PRS_Activity REF is forwarded to the "
\r
1651 "remote system as method parameters as well as the "
\r
1652 "PRS_Transaction REF for the instance created by this method. \n"
\r
1654 "The remote system creates a child namespace using the "
\r
1655 "PRS_Transaction REF for the name. The local system then "
\r
1656 "transfers all of the new, modified and deleted objects to "
\r
1657 "the namespace on the remote system. Once all objects "
\r
1658 "have been successfully transferred, the PRS_SISService's "
\r
1659 "EndSISTransaction method is invoked on the remote system with "
\r
1660 "a Status value of zero to indicate that the remote system "
\r
1661 "should attempt to commit the transaction to the remote "
\r
1664 "The remote system passes the results of the remote commit back "
\r
1665 "to the originating system by invoking the PRS_SISService's "
\r
1666 "SetSISCompletionStatus method on the system that originated the "
\r
1667 "SIS transaction. The CompletionStatus method parameter "
\r
1668 "indicates whether the remote commit was successful. If the "
\r
1669 "CompletionStatis is zero, the remote commit was successful. If "
\r
1670 "it was unsuccessful, the objects were not applied to the "
\r
1671 "remote repository and the CompletionStatus is non-zero, "
\r
1672 "indicating the error. The local invocation of the SetSIS"
\r
1673 "CompletionStatus method updates the specified PRS_Transaction's "
\r
1674 "TransactionState to Closed and CompletionStatus to the value "
\r
1675 "provided by the remote system in the CompletionStatus method "
\r
1678 "In order to promote extensibility, the uint32 return values for "
\r
1679 "PRS_SISService's methods and Status-related parameters are mapped "
\r
1680 "into three sections. The first describes the type of value being "
\r
1681 "reported. It indicates Error versus Notification, and Standard "
\r
1682 "versus Vendor-Specific. \n"
\r
1684 "The second section describes the source of the value. It "
\r
1685 "indicates Method, Operating System, Repository, or Transport. "
\r
1686 "In addition, this section indicates whether the value was "
\r
1687 "created locally or remotely. \n"
\r
1689 "The third section is the specific return value. \n"
\r
1691 "If all 32 bits of the return value are reset, the method "
\r
1692 "completed successfully. Any other value indicates an "
\r
1693 "error condition or notification. If D31 is set, the method did "
\r
1694 "not complete successfully. If D31 is reset, but the rest of the "
\r
1695 "return value is non-zero, this is a Notification that "
\r
1696 "the operation did complete successfully, but that there is a "
\r
1697 "conditon of which the caller should be aware. \n"
\r
1699 "If D30 is set, the return value is vendor specific. If D30 is "
\r
1700 "reset, the return value is defined by the standard. \n"
\r
1702 "If D29 is set, the return value was generated by a remote system. "
\r
1703 "If D29 is reset, the return value was generated locally. The bit "
\r
1704 "is always set or reset by the local system. The local system sets "
\r
1705 "the bit if it receives a non-zero return value from a remote "
\r
1706 "method invocation. \n"
\r
1708 "Bit D28 is reserved for future use and shall be reset on all "
\r
1709 "return values. \n"
\r
1711 "When there is an error or notification, D24 through D27 indicate "
\r
1712 "its source. The following sources are currently defined (D24 "
\r
1713 "is the least significant bit below): \n"
\r
1715 " 0001 Operating System \n"
\r
1716 " 0010 Repository \n"
\r
1717 " 0011 Transport \n"
\r
1718 " All remaining values are reserved. \n"
\r
1720 "Bits D16 through D23 are reserved for future use and shall be "
\r
1721 "reset to zero. \n"
\r
1723 "Bits D0 through D15 indicate the specific return value. If zero, "
\r
1724 "all other bits in the return value must be zero, indicating "
\r
1725 "successful completion of the method (or Transaction).") ]
\r
1726 uint32 StartSISTransaction (
\r
1728 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
\r
1729 "10", "11", "254", "255"},
\r
1730 Values {"Service_Request", "Entitlement", "Problem_Submittal",
\r
1731 "Accept_Problem", "Problem_Resolution",
\r
1732 "Request_Problem_Information",
\r
1733 "Provide_Problem_Information",
\r
1734 "Provide_Admin_Information",
\r
1735 "Query_Incident", "Confirm_Close", "Reject_Resolution",
\r
1736 "Request_Closure", "Other", "Unknown"} ]
\r
1737 uint8 TransactionType,
\r
1740 PRS_Activity REF ActivityRef,
\r
1743 PRS_Transaction REF TransactionRef );
\r
1746 "The EndSISTransaction method is used to handle committing or "
\r
1747 "aborting a transaction. For commit, the method is invoked "
\r
1748 "by a remote system when all of the objects associated with "
\r
1749 "the transaction have been placed in the child namespace "
\r
1750 "created by StartSISTransaction. \n"
\r
1752 "For abort, the method cleans up the child namespace and closes "
\r
1753 "the specified PRS_Transaction, setting the Transaction's "
\r
1754 "CompletionStatus to the method parameter of the same name.") ]
\r
1755 uint32 EndSISTransaction (
\r
1759 "Status indicates whether the transaction is to "
\r
1760 "be committed or aborted. If Status is zero, the transaction "
\r
1761 "is to be committed. If Status is non-zero, it indicates the "
\r
1762 "transaction is to be aborted. If the transaction is being "
\r
1763 "aborted, the Status field is passed back to the originating "
\r
1764 "system as the CompletionStatus parameter for the PRS_SISService "
\r
1765 "SetSISCompletionStatus method. See the description for "
\r
1766 "PRS_SISService.StartSISTransaction for the definition of the "
\r
1767 "contents of this property.") ]
\r
1772 "TransactionRef identifies the PRS_Transaction to commit or "
\r
1773 "abort. If this property is NULL or does not identify an "
\r
1774 "'Open' transaction, this method returns an error.") ]
\r
1775 PRS_Transaction REF TransactionRef );
\r
1778 "SetSISCompletionStatus is used to signal the system that "
\r
1779 "originated a PRS_Transaction that the remote system has "
\r
1780 "completed processing of the transaction. If the processing "
\r
1781 "was successful, as indicated by the CompletionStatus parameter, "
\r
1782 "the local system resets the DirtyFlag for all of the objects "
\r
1783 "identified in the PRS_Activity instance associated "
\r
1784 "with the PRS_Transaction.") ]
\r
1785 uint32 SetSISCompletionStatus (
\r
1789 "This parameter is used to set the CompletionStatus field of "
\r
1790 "the specified PRS_Transaction. If zero, the Transaction was "
\r
1791 "completed successfully. If non-zero, an error occurred and the "
\r
1792 "objects provided in StartSISTransaction were not submitted to "
\r
1793 "the remote repository. See the description for "
\r
1794 "PRS_SISService.StartSISTransaction for the definition of the "
\r
1795 "contents of this property.") ]
\r
1796 uint32 CompletionStatus,
\r
1800 "TransactionRef identifies the PRS_Transaction that has "
\r
1801 "completed. If this property is NULL or does not identify "
\r
1802 "an 'Open' transaction, this method returns an error.") ]
\r
1803 PRS_Transaction REF TransactionRef );
\r
1807 // ===================================================================
\r
1808 // PRS_ServiceActivity
\r
1809 // ===================================================================
\r
1810 [Association, Aggregation, Version ("2.6.0"),
\r
1811 Description ("Associates PRS_ServiceIncident to PRS_Activity.") ]
\r
1812 class PRS_ServiceActivity : CIM_Dependency {
\r
1814 [Aggregate, Override("Antecedent"), Min (1), Max (1),
\r
1815 Description ("The PRS_ServiceIncident.") ]
\r
1816 PRS_ServiceIncident REF Antecedent;
\r
1818 [Override("Dependent"),
\r
1819 Description ("The PRS_Activity.") ]
\r
1820 PRS_Activity REF Dependent;
\r
1824 // ===================================================================
\r
1825 // PRS_ActivityContact
\r
1826 // ===================================================================
\r
1827 [Association, Version ("2.6.0"),
\r
1828 Description ("Associates PRS_Activity with PRS_Contact.") ]
\r
1829 class PRS_ActivityContact : CIM_Dependency {
\r
1831 [Override("Antecedent"),
\r
1832 Description ("The PRS_Activity.") ]
\r
1833 PRS_Activity REF Antecedent;
\r
1835 [Override("Dependent"), Max (1),
\r
1836 Description ("The PRS_Contact.") ]
\r
1837 PRS_Contact REF Dependent;
\r
1841 // ===================================================================
\r
1842 // PRS_ActivityResource
\r
1843 // ===================================================================
\r
1844 [Association, Aggregation, Version ("2.6.0"),
\r
1845 Description ("Associates PRS_Activity with PRS_Resource.") ]
\r
1846 class PRS_ActivityResource : CIM_Dependency {
\r
1848 [Aggregate, Override("Antecedent"), Min (1), Max (1),
\r
1849 Description ("The PRS_Activity.") ]
\r
1850 PRS_Activity REF Antecedent;
\r
1852 [Override("Dependent"),
\r
1853 Description ("The PRS_Resource.") ]
\r
1854 PRS_Resource REF Dependent;
\r
1858 // ===================================================================
\r
1859 // PRS_ActivityTransaction
\r
1860 // ===================================================================
\r
1861 [Association, Version ("2.6.0"),
\r
1862 Description ("Associates PRS_Activity with PRS_Transaction.") ]
\r
1863 class PRS_ActivityTransaction : CIM_Dependency {
\r
1865 [Override("Antecedent"), Min (1), Max (1),
\r
1866 Description ("The PRS_Activity.") ]
\r
1867 PRS_Activity REF Antecedent;
\r
1869 [Override("Dependent"), Min (1), Max (1),
\r
1870 Description ("The PRS_Transaction.") ]
\r
1871 PRS_Transaction REF Dependent;
\r
1875 // ===================================================================
\r
1877 // ===================================================================
\r