1 karl 1.1.2.2 // Copyright (c) 2009 DMTF. All rights reserved.
2 [Version ( "2.22.0" ),
3 UMLPackagePath ( "CIM::Policy" ),
4 Description (
5 "MethodAction is a PolicyAction that MAY invoke methods as "
6 "defined by a query. If there are no results returned from the "
7 "query, then no methods are called, otherwise each query result "
8 "row defines the method to call and its parameters. The called "
9 "method MAY be either an intrinsic method of a CIM Namespace or "
10 "an extrinsic method of a CIM_ManagedElement. \n"
11 "\n"
12 "In order to correlate between methods called by this "
13 "MethodAction and any other invoked Methods, InstMethodCall "
14 "indications MAY be created for the method calls that result "
15 "from this MethodAction. These indications are named by the "
16 "value in the InstMethodCallName property. These indications "
17 "MUST be produced if that InstMethodCallName value is included "
18 "in the FROM clause of the query of some other MethodAction "
19 "instance within the same PolicyRule. (The details of how this "
20 "is accomplished are implementation dependent.) \n"
21 "\n"
22 karl 1.1.2.2 "The input parameters to the method are defined by the query "
23 "and MAY be fixed values defined by literals or MAY be defined "
24 "by reference to one or more properties of classes named in the "
25 "FROM clause of the query. The referenced objects MAY be those "
26 "produced by QueryConditions or MethodActions instances "
27 "associated to the same PolicyRule instance." )]
28 class CIM_MethodAction : CIM_PolicyAction {
29
30 [Required, Description (
31 "In the context of the associated PolicyRule, "
32 "InstMethodCallName defines a unique name for the "
33 "InstMethodCall instances that result from the methods "
34 "invoked as a result of evaluating the Query string. This "
35 "name MAY be used in subsequent MethodActions of the same "
36 "PolicyRule to identify the set of InstMethodCall "
37 "instances that result from evaluation of this "
38 "MethodAction in the context of its PolicyRule. This "
39 "string is treated as a class name, in a query statement." ),
40 ModelCorrespondence { "CIM_MethodAction.Query" }]
41 string InstMethodCallName;
42
43 karl 1.1.2.2 [Required, Description (
44 "A query expression that defines the method to invoke and "
45 "its input parameters. These are defined by the first and "
46 "subsequent select-list entries in the Query string\'s "
47 "select-criteria. The FROM clause MAY reference any "
48 "object, including those named by the QueryResultName and "
49 "MethodCallName produced by QueryConditions or "
50 "MethodActions of the same PolicyRule. \n"
51 "Note that both intrinsic and extrinsic methods MAY be "
52 "called. The first select-list entry MUST be an object "
53 "Path to a method. For consistency it SHOULD be called "
54 "MethodName. However, if there is a conflict with "
55 "existing parameter names, it MAY be called something "
56 "else. The remaining select list entries are not "
57 "positional and MUST use the name of the corresponding "
58 "method parameter. \n"
59 "The object path to a method is defined here as a WBEM "
60 "URI, (see DSP0207) dot concatenated with a method name. "
61 "It must have the form: [<wbemURI>, \".\",] <MethodName>. \n"
62 "The named method may be intrinsic or extrinsic. "
63 "Extrinsics may be at class level (i.e. static) or not. \n"
64 karl 1.1.2.2 "The particular instance of this class that is invoking "
65 "the specified method defines the default namespace, "
66 "class, and key values. If any of these are missing from "
67 "the WBEM URI, these defaults are assumed. \n"
68 "For intrinsic methods (as defined in the \"Specification "
69 "for CIM Operations over HTTP\", see DSP0200), any class "
70 "name or key values specified in the WBEM URI are "
71 "ignored. Similarly, key values are ignored for static "
72 "methods. \n"
73 "Intrinsic methods that take an <instancename>, an "
74 "<objectname>, an <instance>, or a <namedinstance> (as "
75 "defined in DSP0200) as an input parameter are "
76 "preprocessed by the implementation of the MethodAction "
77 "instance. For each of <instancename> or <objectname>, "
78 "the corresponding input parameter name is set to a WBEM "
79 "URI of the instance or class. /n For each of <instance> "
80 "or <namedinstance>, the corresponding input parameter "
81 "must be set to a WBEM URI to the instance or class. "
82 "Properties of that instance are passed as additional "
83 "select list entries with the name of the corresponding "
84 "parameter dot appended with the name of the named "
85 karl 1.1.2.2 "instance property. \n"
86 "For example: if the call is to ModifyInstance, then "
87 "parameter ModifiedInstance is set to the= <wbemURI> of "
88 "the instance to modify and for each relevant property to "
89 "modify, a parameter is supplied with the name "
90 "ModifiedInstance.<propertyName> and is set to the new "
91 "value for the named property." ),
92 ModelCorrespondence { "CIM_MethodAction.InstMethodCallName",
93 "CIM_MethodAction.QueryLanguage" }]
94 string Query;
95
96 [Required, Description (
97 "The language in which the Query string is expressed./n "
98 "CQL - refers to the \'DMTF:CQL\' language defined by "
99 "DSP0200. \n"
100 "CQL: indicates a CIM Query Language string. \n"
101 "CQLT: indicates a CIM Query Language Template string. "
102 "When used, the identifiers recognized in the "
103 "$identifier$ tokens are \"SELF\" and the property names "
104 "of this class, or one of its subclasses. When used in "
105 "the Query string, $SELF$ will be replaced by a string "
106 karl 1.1.2.2 "corresponding to a WBEM URI referencing the instance of "
107 "this class that contains the Query template string. "
108 "Tokens of the form $<propertyname>$ will be replaced by "
109 "a string representing the corresponding property value "
110 "of the instance of this class that contains the Query "
111 "string." ),
112 ValueMap { "2", "3", "..", "0x8000.." },
113 Values { "CQL", "CQLT", "DMTF Reserved", "Vendor Reserved" },
114 ModelCorrespondence { "CIM_MethodAction.Query" }]
115 uint16 QueryLanguage = 2;
116
117
118 };
|