
[[ref-policies]]
= Policies
:description: Overview of the provisioning policies section in the OpenNMS {page-component-title} documentation, including common parameters and policy ordering.

This section describes all available built-in xref:operation:deep-dive/provisioning/introduction.adoc[provisioning] policies.
You can configure them to allow node modifications or change provisioning behavior to meet the needs of your environment.

For information on how to extend the functionality of these policies, see the xref:development:development.adoc#development[Development section] to contribute to the project.

== Common policy parameters

The matchBehavior action is a Boolean control that determines how optional parameters will be evaluated.

ALL_PARAMETERS::
    The policy applies when all defined parameters match (Boolean AND logic).
ANY_PARAMETERS::
    The policy applies when at least one set of defined parameters matches (Boolean OR logic).
NO_PARAMETERS::
    The policy applies when no defined parameters match (opposite of ANY_PARAMETERS).

String parameters are set to search for a substring match by default.
If you want the policy to evaluate a parameter against a regular expression, prefix the value with `~`.

== Policy ordering

The order in which parameters are matched is important.
For negative checks (for example, DO_NOT_PERSIST), evaluation stops after the first match found.
For positive checks, evaluation will check all policies in listed order.
After all policies are checked the system determines if a match was found.
If a match is found, the action is run.
If multiple matches are found, they are run in reverse chronological order. 
