88 lines
4.5 KiB
Plaintext

// Copyright (c) 2005 DMTF. All rights reserved.
[Abstract, Version ( "2.8.0" ),
UMLPackagePath ( "CIM::Policy" ),
Description (
"PolicySet is an abstract class that represents a set of "
"policies that form a coherent set. The set of contained "
"policies has a common decision strategy and a common set of "
"policy roles (defined via the PolicySetInRole Collection "
"association). Subclasses include PolicyGroup and PolicyRule." )]
class CIM_PolicySet : CIM_Policy {
[Description (
"PolicyDecisionStrategy defines the evaluation method "
"used for policies contained in the PolicySet. There are "
"two values currently defined: \n"
"- \'First Matching\' (1) executes the actions of the "
"first rule whose conditions evaluate to TRUE. The "
"concept of \'first\' is determined by examining the "
"priority of the rule within the policy set (i.e., by "
"examining the property, PolicySetComponent.Priority). "
"Note that this ordering property MUST be maintained when "
"processing the PolicyDecisionStrategy. \n"
"- \'All\' (2) executes the actions of ALL rules whose "
"conditions evaluate to TRUE, in the set. As noted above, "
"the order of processing of the rules is defined by the "
"property, PolicySetComponent.Priority (and within a "
"rule, the ordering of the actions is defined by the "
"property, PolicyActionStructure.ActionOrder). Note that "
"when this strategy is defined, processing MUST be "
"completed of ALL rules whose conditions evaluate to "
"TRUE, regardless of errors in the execution of the rule "
"actions." ),
ValueMap { "1", "2" },
Values { "First Matching", "All" }]
uint16 PolicyDecisionStrategy;
[Deprecated { "CIM_PolicySetInRoleCollection" },
Description (
"The PolicyRoles property represents the roles associated "
"with a PolicySet. All contained PolicySet instances "
"inherit the values of the PolicyRoles of the aggregating "
"PolicySet but the values are not copied. A contained "
"PolicySet instance may, however, add additional "
"PolicyRoles to those it inherits from its aggregating "
"PolicySet(s). Each value in PolicyRoles multi-valued "
"property represents a role for which the PolicySet "
"applies, i.e., the PolicySet should be used by any "
"enforcement point that assumes any of the listed "
"PolicyRoles values. \n"
"\n"
"Although not officially designated as \'role "
"combinations\', multiple roles may be specified using "
"the form: \n"
"<RoleName>[&&<RoleName>]* \n"
"where the individual role names appear in alphabetical "
"order (according to the collating sequence for UCS-2). "
"Implementations may treat PolicyRoles values that are "
"specified as \'role combinations\' as simple strings. \n"
"\n"
"This property is deprecated in lieu of the use of an "
"association, CIM_PolicySetInRoleCollection. The latter "
"is a more explicit and less error-prone approach to "
"modeling that a PolicySet has one or more PolicyRoles." )]
string PolicyRoles[];
[Description (
"Indicates whether this PolicySet is administratively "
"enabled, administratively disabled, or enabled for "
"debug. The \"EnabledForDebug\" property value is "
"deprecated and, when it or any value not understood by "
"the receiver is specified, the receiving enforcement "
"point treats the PolicySet as \"Disabled\". To determine "
"if a PolicySet is \"Enabled\", the containment hierarchy "
"specified by the PolicySetComponent aggregation is "
"examined and the Enabled property values of the "
"hierarchy are ANDed together. Thus, for example, "
"everything aggregated by a PolicyGroup may be disabled "
"by setting the Enabled property in the PolicyGroup "
"instance to \"Disabled\" without changing the Enabled "
"property values of any of the aggregated instances. The "
"default value is 1 (\"Enabled\")." ),
ValueMap { "1", "2", "3" },
Values { "Enabled", "Disabled", "Enabled For Debug" }]
uint16 Enabled = 1;
};