.. _model-filter-criteria:
Model Filter Criteria
----------------------
.. _21.1|VOSS-847:
Overview
..........
Model filter criteria defines how users (for example, LDAP or MSOL user) are matched to corresponding data in
VOSS Automate, to move users and related data to the correct system levels (Customer
or Site) on import (in a sync or overbuild), based on one or attributes defined for the model type (for example,
Microsoft, LDAP, or CUCM users).
Administrator users with access to the ``data/ModelFilterCriteria`` model
can manage instances of this model so that these are available for selection
in the Site Defaults Doc (SDD) of a site.
The SDD provides options to choose a predefined model filter criteria (depending on
the user type). Options are:
* MS 365 User Model Filter Criteria
* LDAP User Model Filter Criteria
* CUCM User Model Filter Criteria
Create Model Filter Criteria
...............................
**Pre-requisites**:
* To allow move to work using model filter criteria defined at the Site level, an admin user must
enable the following global settings (on the **Flow Through Provisioning** tab), via (default menus)
**Customizations > Global Settings**:
* Enable Move & Flow Through Provisioning
* Enable Move & Provisioning after Add Sync
**Perform these steps**:
1. Identify the source and target model and field that will be used
in the filter.
#. Go to (default menu) **Customizations > Model Filter Criteria**.
.. note::
Alternative step: Go to (default menus) **Flow Through Provisioning Configuration > Model Filter Criteria**.
#. Click **Add** to add a new record, or clone an existing model filter criteria and update it
to create a new model filter.
#. Provide a **Name**, **Description**, and **Usage** (e.g. Overbuild)
for the filter.
#. From the **Type** (model type) drop-down, select the source model, for
example ``device/msgraph/MsolUser`` (for Microsoft users) or ``device/ldap/user`` (for LDAP users).
.. note::
The model type defines the available attributes you can use in the model filter criteria.
#. Click the Plus sign (+) in the **Criteria** group to add one or more criteria.
Each criteria is defined by the following:
.. tabularcolumns:: |p{5cm}|p{10cm}|
+----------------------+-------------------------------------------------------------------------------+
| Field | Description |
+======================+===============================================================================+
| Unary Operator | None, or NOT: to operate on the match **Condition** with the target value |
+----------------------+-------------------------------------------------------------------------------+
| Attribute | The field from the source model, for example ``City`` from |
| | ``device/msgraph/MsolUser``. |
+----------------------+-------------------------------------------------------------------------------+
| Condition | Options are exact and non-exact types of contains and equals, as well as |
| | a regex search option. |
+----------------------+-------------------------------------------------------------------------------+
| Value | The target value that identifies the site in VOSS Automate. The value can |
| | also be a named macro, for example, ``{{ macro.OVERBUILD_SITE_CITY_NAME }}``. |
+----------------------+-------------------------------------------------------------------------------+
| Conditional Operator | AND or OR: only needed and used to indicate the type of Boolean combination |
| | with the following criteria instance, if an additional instance is added. |
+----------------------+-------------------------------------------------------------------------------+
7. Save the model filter criteria.
You will be able to choose this new model filter criteria in the
site's SDD, and it will be, for example, applied in the Microsoft overbuild if
**Include Site for Overbuild** and **Microsoft Users** is enabled.
When running the overbuild, the system loops through the site defaults to identify sites
with **Include Site for Overbuild** enabled, and moves related user data to the site
based on the chosen model filter criteria rule.
In this example, all ``device/msgraph/MsolUser`` instances synced in will be moved to
the site matching ``{{ macro.OVERBUILD_SITE_CITY_NAME }}`` if their ``City`` value matches.
.. rubric:: Related Topics
*
.. raw:: latex
Microsoft Overview in the Core Feature Guide
.. raw:: html
Microsoft Overview
*
.. raw:: latex
Sync with Flow Through in the Core Feature Guide
.. raw:: html
Sync with Flow Through
*
.. raw:: latex
Flow Through Provisioning in the Core Feature Guide
.. raw:: html
Flow Through Provisioning