Class CIM_PolicyRule
CIM_ManagedElement
CIM_Policy
CIM_PolicySet
CIM_PolicyRule
- Known Subclasses:
- AMT_RemoteAccessPolicyRule AMT_AuditPolicyRule
class CIM_PolicyRule
- extends CIM_PolicySet
General Information:
The central class used for representing the
'If Condition then Action' semantics of a policy rule. A PolicyRule condition,
in the most general sense, is represented as either an ORed set of ANDed
conditions (Disjunctive Normal Form, or DNF) or an ANDed set of ORed conditions
(Conjunctive Normal Form, or CNF). Individual conditions may either be negated
(NOT C) or unnegated (C). The actions specified by a PolicyRule are to be
performed if and only if the PolicyRule condition (whether it is represented in
DNF or CNF) evaluates to TRUE.
The conditions and actions associated
with a PolicyRule are modeled, respectively, with subclasses of PolicyCondition
and PolicyAction. These condition and action objects are tied to instances of
PolicyRule by the PolicyConditionInPolicyRule and PolicyActionInPolicyRule
aggregations.
A PolicyRule may also be associated with one or more
policy time periods, indicating the schedule according to which the policy rule
is active and inactive. In this case it is the PolicySetValidityPeriod
aggregation that provides this linkage.
The PolicyRule class uses the
property ConditionListType, to indicate whether the conditions for the rule are
in DNF (disjunctive normal form), CNF (conjunctive normal form) or, in the case
of a rule with no conditions, as an UnconditionalRule. The
PolicyConditionInPolicyRule aggregation contains two additional properties to
complete the representation of the Rule's conditional expression. The first of
these properties is an integer to partition the referenced PolicyConditions into
one or more groups, and the second is a Boolean to indicate whether a referenced
Condition is negated. An example shows how ConditionListType and these two
additional properties provide a unique representation of a set of
PolicyConditions in either DNF or CNF.
Suppose we have a PolicyRule that
aggregates five PolicyConditions C1 through C5, with the following values in the
properties of the five PolicyConditionInPolicyRule associations:
C1:
GroupNumber = 1, ConditionNegated = FALSE
C2: GroupNumber = 1,
ConditionNegated = TRUE
C3: GroupNumber = 1, ConditionNegated = FALSE
C4: GroupNumber = 2, ConditionNegated = FALSE
C5: GroupNumber = 2,
ConditionNegated = FALSE
If ConditionListType = DNF, then the overall
condition for the PolicyRule is:
(C1 AND (NOT C2) AND C3) OR (C4 AND C5)
On the other hand, if ConditionListType = CNF, then the overall
condition for the PolicyRule is:
(C1 OR (NOT C2) OR C3) AND (C4 OR C5)
In both cases, there is an unambiguous specification of the overall
condition that is tested to determine whether to perform the PolicyActions
associated with the PolicyRule.
PolicyRule instances may also be used to
aggregate other PolicyRules and/or PolicyGroups. When used in this way to
implement nested rules, the conditions of the aggregating rule apply to the
subordinate rules as well. However, any side effects of condition evaluation or
the execution of actions MUST NOT affect the result of the evaluation of other
conditions evaluated by the rule engine in the same evaluation pass. That is, an
implementation of a rule engine MAY evaluate all conditions in any order before
applying the priority and determining which actions are to be
executed.
Qualifiers:
-------------
Version=2.7.0
UMLPackagePath=CIM::Policy
Supported Fields
Summary |
uint16
|
Enabled Indicates
whether this PolicySet is administratively enabled, administratively
disabled, or enabled for debug . . .
|
string[]
|
PolicyRoles The
PolicyRoles property represents the roles associated with a PolicySet . .
.
|
uint16
|
PolicyDecisionStrategy
PolicyDecisionStrategy defines the evaluation method used for
policies contained in the PolicySet . . .
|
string
|
ElementName A
user-friendly name for the object . . .
|
string
|
Description The
Description property provides a textual description of the object.
|
string
|
Caption The Caption
property is a short textual description (one- line string) of the
object.
|
string
|
CommonName A
user-friendly name of this policy-related object.
|
string[]
|
PolicyKeywords
An array of keywords for characterizing / categorizing policy
objects . . .
|
string
|
SystemCreationClassName The scoping System's
CreationClassName.
|
string
|
SystemName The scoping System's Name.
|
string
|
CreationClassName CreationClassName indicates the name
of the class or the subclass used in the creation of an instance . .
.
|
string
|
PolicyRuleName A user-friendly name of this
PolicyRule.
|
uint16
|
ConditionListType
Indicates whether the list of PolicyConditions associated with
this PolicyRule is in disjunctive normal form (DNF), conjunctive normal
form (CNF), or has no conditions (i.e., is an UnconditionalRule) and is
automatically evaluated to "True." The default value is 1 ("DNF").
|
string
|
RuleUsage A free-form
string that can be used to provide guidelines on how this PolicyRule
should be used.
|
uint16
|
Priority
PolicyRule.Priority is deprecated and replaced by providing the
priority for a rule (and a group) in the context of the aggregating
PolicySet instead of the priority being used for all aggregating PolicySet
instances . . .
|
boolean
|
Mandatory A flag
indicating that the evaluation of the Policy Conditions and execution of
PolicyActions (if the Conditions evaluate to TRUE) is required . .
.
|
uint16
|
SequencedActions
This property gives a policy administrator a way of specifying
how the ordering of the PolicyActions associated with this PolicyRule is
to be interpreted . . .
|
uint16
|
ExecutionStrategy
ExecutionStrategy defines the strategy to be used in executing
the sequenced actions aggregated by this PolicyRule . .
.
|
Methods Summary |
|
Create(Instance,
ResourceCreated) Creates a new instance of this class
|
|
Put(Instance) Changes
properties of the selected instance
|
|
Get(Instance) Gets the
representation of the instance
|
|
Delete() Deletes an
instance
|
|
Pull(EnumerationContext,
MaxElements) Pulls instances of this class, following an
Enumerate operation
|
|
Enumerate()
Enumerates the instances of this class
|
|
Release(EnumerationContext)
Releases an enumeration context
|
|
Subscribe()
Subscribes to this resource (WS-Eventing)
|
|
Unsubscribe()
Remove subscription to this resource
(WS-Eventing)
|
Enabled
public uint16 Enabled
- General Information:
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").
Qualifiers:
-------------
ValueMap={1, 2,
3}
Values={Enabled, Disabled, Enabled For Debug}
PolicyRoles
public string[] PolicyRoles
- General Information:
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.
Although not officially
designated as 'role combinations', multiple roles may be specified using the
form:
<RoleName>[&&<RoleName>]*
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.
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.
Qualifiers:
-------------
Deprecated={CIM_PolicySetInRoleCollection}
MaxLen=256
PolicyDecisionStrategy
public uint16 PolicyDecisionStrategy
- General Information:
PolicyDecisionStrategy defines the
evaluation method used for policies contained in the PolicySet. There are two
values currently defined:
- '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.
- '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.
Qualifiers:
-------------
ValueMap={1,
2}
Values={First Matching, All}
ElementName
public string ElementName
- General Information:
A user-friendly name for the object. This
property allows each instance to define a user-friendly name in addition to
its key properties, identity data, and description information.
Note that
the Name property of ManagedSystemElement is also defined as a user-friendly
name. But, it is often subclassed to be a Key. It is not reasonable that the
same property can convey both identity and a user-friendly name, without
inconsistencies. Where Name exists and is not a Key (such as for instances of
LogicalDevice), the same information can be present in both the Name and
ElementName properties. Note that if there is an associated instance of
CIM_EnabledLogicalElementCapabilities, restrictions on this properties may
exist as defined in ElementNameMask and MaxElementNameLen properties defined
in that
class.
Qualifiers:
-------------
MaxLen=256
Description
public string Description
- General Information:
The Description property provides a textual
description of the
object.
Qualifiers:
-------------
MaxLen=256
Caption
public string Caption
- General Information:
The Caption property is a short textual
description (one- line string) of the
object.
Qualifiers:
-------------
MaxLen=64
CommonName
public string CommonName
- General Information:
A user-friendly name of this policy-related
object.
Qualifiers:
-------------
MaxLen=256
PolicyKeywords
public string[] PolicyKeywords
- General Information:
An array of keywords for characterizing /
categorizing policy objects. Keywords are of one of two types:
- Keywords
defined in this and other MOFs, or in DMTF white papers. These keywords
provide a vendor- independent, installation-independent way of characterizing
policy objects.
- Installation-dependent keywords for characterizing
policy objects. Examples include 'Engineering', 'Billing', and 'Review in
December 2000'.
This MOF defines the following keywords: 'UNKNOWN',
'CONFIGURATION', 'USAGE', 'SECURITY', 'SERVICE', 'MOTIVATIONAL',
'INSTALLATION', and 'EVENT'. These concepts are self-explanatory and are
further discussed in the SLA/Policy White Paper. One additional keyword is
defined: 'POLICY'. The role of this keyword is to identify policy-related
instances that may not be otherwise identifiable, in some implementations. The
keyword 'POLICY' is NOT mutually exclusive of the other keywords specified
above.
Qualifiers:
-------------
MaxLen=256
SystemCreationClassName
public string SystemCreationClassName
- General Information:
The scoping System's
CreationClassName.
Qualifiers:
-------------
Key
MaxLen=256
Propagated=CIM_System.CreationClassName
SystemName
public string SystemName
- General Information:
The scoping System's
Name.
Qualifiers:
-------------
Key
MaxLen=256
Propagated=CIM_System.Name
CreationClassName
public string CreationClassName
- General Information:
CreationClassName indicates the name of the
class or the subclass used in the creation of an instance. When used with the
other key properties of this class, this property allows all instances of this
class and its subclasses to be uniquely
identified.
Qualifiers:
-------------
Key
MaxLen=256
PolicyRuleName
public string PolicyRuleName
- General Information:
A user-friendly name of this
PolicyRule.
Qualifiers:
-------------
Key
MaxLen=256
ConditionListType
public uint16 ConditionListType
- General Information:
Indicates whether the list of
PolicyConditions associated with this PolicyRule is in disjunctive normal form
(DNF), conjunctive normal form (CNF), or has no conditions (i.e., is an
UnconditionalRule) and is automatically evaluated to "True." The default value
is 1 ("DNF").
Qualifiers:
-------------
ValueMap={0, 1,
2}
Values={Unconditional Rule, DNF, CNF}
RuleUsage
public string RuleUsage
- General Information:
A free-form string that can be used to
provide guidelines on how this PolicyRule should be
used.
Qualifiers:
-------------
MaxLen=256
Priority
public uint16 Priority
- General Information:
PolicyRule.Priority is deprecated and
replaced by providing the priority for a rule (and a group) in the context of
the aggregating PolicySet instead of the priority being used for all
aggregating PolicySet instances. Thus, the assignment of priority values is
much simpler.
A non-negative integer for prioritizing this Policy Rule
relative to other Rules. A larger value indicates a higher priority. The
default value is
0.
Qualifiers:
-------------
Deprecated={CIM_PolicySetComponent.Priority}
Mandatory
public boolean Mandatory
- General Information:
A flag indicating that the evaluation of
the Policy Conditions and execution of PolicyActions (if the Conditions
evaluate to TRUE) is required. The evaluation of a PolicyRule MUST be
attempted if the Mandatory property value is TRUE. If the Mandatory property
is FALSE, then the evaluation of the Rule is 'best effort' and MAY be
ignored.
Qualifiers:
-------------
Deprecated={No
value}
SequencedActions
public uint16 SequencedActions
- General Information:
This property gives a policy administrator
a way of specifying how the ordering of the PolicyActions associated with this
PolicyRule is to be interpreted. Three values are supported:
o
mandatory(1): Do the actions in the indicated order, or don't do them at all.
o recommended(2): Do the actions in the indicated order if you can, but if
you can't do them in this order, do them in another order if you can.
o
dontCare(3): Do them -- I don't care about the order.
The default value is
3 ("DontCare").
Qualifiers:
-------------
ValueMap={1, 2,
3}
Values={Mandatory, Recommended, Dont Care}
ExecutionStrategy
public uint16 ExecutionStrategy
- General Information:
ExecutionStrategy defines the strategy to
be used in executing the sequenced actions aggregated by this PolicyRule.
There are three execution strategies:
Do Until Success - execute
actions according to predefined order, until successful execution of a single
action.
Do All - execute ALL actions which are part of the modeled set,
according to their predefined order. Continue doing this, even if one or more
of the actions fails.
Do Until Failure - execute actions according to
predefined order, until the first failure in execution of an action
instance.
Qualifiers:
-------------
ValueMap={1, 2,
3}
Values={Do Until Success, Do All, Do Until Failure}
Create
public Create([IN]CIM_PolicyRule Instance, [OUT] REF CIM_PolicyRule ResourceCreated)
- Permission Information:
No permissions defined
General
Information:
Creates a new instance of this class
Product
Specific Usage:
The following properties must be included in any
representation of CIM_PolicyRule:
SystemCreationClassName
SystemName
CreationClassName
PolicyRuleName
Put
public Put([IN]CIM_PolicyRule Instance)
- Permission Information:
No permissions defined
General
Information:
Changes properties of the selected
instance
Product Specific Usage:
The following properties
must be included in any representation of CIM_PolicyRule:
SystemCreationClassName
SystemName
CreationClassName
PolicyRuleName
Get
public Get([OUT]CIM_PolicyRule Instance)
- Permission Information:
No permissions defined
General
Information:
Gets the representation of the instance
Delete
public Delete()
- Permission Information:
No permissions defined
General
Information:
Deletes an instance
Pull
public Pull([IN]String EnumerationContext, [IN]String MaxElements)
- Permission Information:
All users permitted to use method, only
instances to whom the user has permissions will be returned
General
Information:
Pulls instances of this class, following an Enumerate
operation
Enumerate
public Enumerate()
- Permission Information:
All users permitted to use
method
General Information:
Enumerates the instances of this
class
Release
public Release([IN]String EnumerationContext)
- Permission Information:
All users permitted to use
method
General Information:
Releases an enumeration
context
Subscribe
public Subscribe()
- Permission Information:
No permissions defined
General
Information:
Subscribes to this resource (WS-Eventing)
Unsubscribe
public Unsubscribe()
- Permission Information:
No permissions defined
General
Information:
Remove subscription to this resource
(WS-Eventing)