1 krisbash 1.1 // Copyright (c) 2005 DMTF. All rights reserved.
2 [Abstract, Version ( "2.8.0" ),
3 UMLPackagePath ( "CIM::Policy" ),
4 Description (
5 "PolicySet is an abstract class that represents a set of "
6 "policies that form a coherent set. The set of contained "
7 "policies has a common decision strategy and a common set of "
8 "policy roles (defined via the PolicySetInRole Collection "
9 "association). Subclasses include PolicyGroup and PolicyRule." )]
10 class CIM_PolicySet : CIM_Policy {
11
12 [Description (
13 "PolicyDecisionStrategy defines the evaluation method "
14 "used for policies contained in the PolicySet. There are "
15 "two values currently defined: \n"
16 "- \'First Matching\' (1) executes the actions of the "
17 "first rule whose conditions evaluate to TRUE. The "
18 "concept of \'first\' is determined by examining the "
19 "priority of the rule within the policy set (i.e., by "
20 "examining the property, PolicySetComponent.Priority). "
21 "Note that this ordering property MUST be maintained when "
22 krisbash 1.1 "processing the PolicyDecisionStrategy. \n"
23 "- \'All\' (2) executes the actions of ALL rules whose "
24 "conditions evaluate to TRUE, in the set. As noted above, "
25 "the order of processing of the rules is defined by the "
26 "property, PolicySetComponent.Priority (and within a "
27 "rule, the ordering of the actions is defined by the "
28 "property, PolicyActionStructure.ActionOrder). Note that "
29 "when this strategy is defined, processing MUST be "
30 "completed of ALL rules whose conditions evaluate to "
31 "TRUE, regardless of errors in the execution of the rule "
32 "actions." ),
33 ValueMap { "1", "2" },
34 Values { "First Matching", "All" }]
35 uint16 PolicyDecisionStrategy;
36
37 [Deprecated { "CIM_PolicySetInRoleCollection" },
38 Description (
39 "The PolicyRoles property represents the roles associated "
40 "with a PolicySet. All contained PolicySet instances "
41 "inherit the values of the PolicyRoles of the aggregating "
42 "PolicySet but the values are not copied. A contained "
43 krisbash 1.1 "PolicySet instance may, however, add additional "
44 "PolicyRoles to those it inherits from its aggregating "
45 "PolicySet(s). Each value in PolicyRoles multi-valued "
46 "property represents a role for which the PolicySet "
47 "applies, i.e., the PolicySet should be used by any "
48 "enforcement point that assumes any of the listed "
49 "PolicyRoles values. \n"
50 "\n"
51 "Although not officially designated as \'role "
52 "combinations\', multiple roles may be specified using "
53 "the form: \n"
54 "<RoleName>[&&<RoleName>]* \n"
55 "where the individual role names appear in alphabetical "
56 "order (according to the collating sequence for UCS-2). "
57 "Implementations may treat PolicyRoles values that are "
58 "specified as \'role combinations\' as simple strings. \n"
59 "\n"
60 "This property is deprecated in lieu of the use of an "
61 "association, CIM_PolicySetInRoleCollection. The latter "
62 "is a more explicit and less error-prone approach to "
63 "modeling that a PolicySet has one or more PolicyRoles." )]
64 krisbash 1.1 string PolicyRoles[];
65
66 [Description (
67 "Indicates whether this PolicySet is administratively "
68 "enabled, administratively disabled, or enabled for "
69 "debug. The \"EnabledForDebug\" property value is "
70 "deprecated and, when it or any value not understood by "
71 "the receiver is specified, the receiving enforcement "
72 "point treats the PolicySet as \"Disabled\". To determine "
73 "if a PolicySet is \"Enabled\", the containment hierarchy "
74 "specified by the PolicySetComponent aggregation is "
75 "examined and the Enabled property values of the "
76 "hierarchy are ANDed together. Thus, for example, "
77 "everything aggregated by a PolicyGroup may be disabled "
78 "by setting the Enabled property in the PolicyGroup "
79 "instance to \"Disabled\" without changing the Enabled "
80 "property values of any of the aggregated instances. The "
81 "default value is 1 (\"Enabled\")." ),
82 ValueMap { "1", "2", "3" },
83 Values { "Enabled", "Disabled", "Enabled For Debug" }]
84 uint16 Enabled = 1;
85 krisbash 1.1
86
87 };
|