9.0.0 8.3.0 8.2.0-8.2.1 8.1.0-8.1.1 8.0.0-8.0.3 7.4.0-7.4.6 7.3.0-7.3.2 7.2.0-7.2.1 7.1.0-7.1.2 7.0.0-7.0.2 6.1.0-6.1.2 View All PV Cloud PV Local Installs
Auto Light Dark
Auto Light Dark
9.0.0 8.3.0 8.2.0-8.2.1 8.1.0-8.1.1 8.0.0-8.0.3 7.4.0-7.4.6 7.3.0-7.3.2 7.2.0-7.2.1 7.1.0-7.1.2 7.0.0-7.0.2 6.1.0-6.1.2 View All PV Cloud PV Local Installs

Constraints

9.0 Admin Constraints Tab.png

The Constraints system allows Admin users to configure custom field validation and limitations into IPAM and Resource fields. Many constraint types are available, such as mathematical comparison operators, length, enumeration, pre-set lists, RegEx, IPv4/IPv6, Phone, email, hostname, FQDN, Mac Address, and URL. 

The Constraints Tab has one sub-tab - Configuration - where new constraints may be created and managed. 

Constraints Overview

The Constraints Tab, available to Admin users, allows for custom field validation and field restrictions to be created for Resource and IPAM fields. Constraints are applied to Resource fields from the Edit Section page and to IPAM fields from the Admin Edit IPAM Columns page. The applied constraint may be anything from a numerical comparison operation,  a check against a pre-determined text string, ensuring selections from a pre-set list, or forcing entries into a specific format, such as IPv4/IPv6, phone number, or RegEx.

These constraints can be applied to Resource fields and the following IPAM fields:

  • ASN

  • Custom Generic Field

  • Notes

  • Metadata 1-10, if enabled for the instance

Depending on the type of constraint applied, the constraint may be a simple single-value comparison needing only one constraint to be created, such as "Equals to" or "Length Max". Some other constraint types, however, may have two or more levels deep of constraint types and value checks. One example of this is "Enumeration", which requires the user to first set up an "Enumeration" constraint, and then a second level list of sub-constraint types or a list of values. 

Available Constraint Types

Available Constraint Types

The following constraint types are currently available:

Type

Description

Enumeration

Create a list of child enum items.

Section Entry

Creates an enumeration based on all entries that belong to a given section.

Resource Type

Creates an enumeration based on a Resource type.

Resource Entry

Creates an enumeration based on all resource entries.

IPAM Region

Creates an enumeration based on all IPAM Regions.

IPAM Tags

Creates an enumeration based on all IPAM Tags.

Equals to

Checks to ensure a value is exactly equal to a provided value, e.g. (X == Y) is true

Not Equal to

Checks to ensure a value is not equal to a provided value, e.g. (X != Y) is true

Greater Than

Checks if the input value (left operand) is greater than a given value (right operand). e.g. (X ﹥ Y) is true

Less Than

Checks if the input value (left operand) is less than a given value (right operand). e.g. (X ﹤ Y) is true

Greater Than or Equal to

Checks if the input value (left operand) is greater than or equals to a given value (right operand). e.g. (X ﹥= Y) is true

Less Than or Equal to

Checks if the input value (left operand) is less than or equals to a given value (right operand). e.g. (X ﹤= Y) is true

One of

Create a list of child constraint items. It will be true if one of child constraints is true. Its children must be previously configured.

All of

Create a list of child constraint items. It will be true if all of the child constraints are true. Its children must be previously configured.

Length Max

Checks to ensure a string has, at most, the specified number of characters

Length Min

Checks to ensure a string has, at minimum, the specified number of characters

Regular Expression

Compares the input format to a provided Regular Expression

IPv4

Sets the required format for the input to an IPv4 address

IPv6

Sets the required format for the input to an IPv6 address

Email

Sets the required format for the input to an email address (uses an "@" symbol)

Hostname

Sets the required format for the input to a hostname. Hostnames may not have underscore or dash characters.

FQDN

Sets the required format for the input to a FQDN

MAC Address

Sets the required format for the input to a MAC address

URL

Sets the required format for the input to a url

Phone Number

Sets the required format for the input to a phone number

Working with the Constraints List

The Constraints List displays all registered constraints and is where you can view, edit, test, and delete existing constraints.

9.0 Admin Constraints List.png
Search / Filter Constraints

Search / Filter Constraints

Filter the list for a specific constraint by typing all or part of the name in the searchbox.

9.0 Constraints Filter Search Term.png


Filter the list by type via the dropdown selector at the top.

9.0 Constraints Filter Type.png


Sort Constraints

Sort Constraints

Sort columns into ascending/descending order by clicking on the column header for any column with an up/down arrow (⇅).

9.0 Admin Constraints List Sort.png


View Applied Constraints

View Applied Constraints

The "Used by" column allows users to view which resource views and/or IPAM attributes have a specific constraint applied. Click the constraint's "View" link in the "Used by" column and a modal will open with details.

9.0 Constraints Used by Link.png


Click the link in the list of applied areas to go to that area containing the field.

For a resource field, a list of sections will appear where the field is enabled. Click a section name to go to the Section Edit page. For an IPAM field, the link will open the Edit IPAM Columns page. Constraints may be applied or removed from both these locations.

9.0 Constraints Used By Details.png


Working with Constraints

Constraints are added, edited, and tested from the Constraints tab in the Admin area of ProVision. After a constraint is created and verified, it may be applied to ann IPAM field field from Admin -> IPAM Columns or to a Resource field in Resource → Edit Section. to a Resource field in Resource → Edit Section.

Add a Constraint

Add a Constraint

To add a new Constraint, click "Add Constraint" at the top right of the page.

9.0 Admin Constraints Add New.png

The Constraint type selector indicates the control type of any given constraint (i.e. dropdown, input).

9.0 Constraints Add New Type.png

In the "Add Constraint" screen, select (at minimum, depending on the selected constraint type):

  • The constraint type (here, "Length Min")

  • The name for the constraint

  • Select whether to allow empty values in the attribute field

If desired, you may enter a custom error message or placeholder text. 

9.0 Constraint Add Settings Length.png

When done, click "Add Constraint" to save. 

Test a Constraint

Test a Constraint

To test a Constraint, right click to open the Options action menu and select "Test".

9.0 Constraints Test.png


The test constraint form will appear - enter a test value, and you can check whether the constraint returns an appropriate invalid or valid response:

9.0 Constraints Test Fail.png
Invalid result for "Length Min 3"
9.0 Constraints Test Pass.png
Valid result for "Length Min 3"


Edit a Constraint

Edit a Constraint

To edit a Constraint, right click to open the Options action menu and select "Edit". The constraint details will open, matching the "Add Constraint" form.

9.0 Constraints Menu Edit.png


Adjust values or settings as desired, and then click "Update Constraint".

Delete a Constraint

Delete a Constraint

To delete a Constraint, right click to open the Options action menu and select "Delete".

9.0 Constraints Menu Delete.png


A Confirmation box will appear - confirm whether to delete the constraint, or click "Close" to exit without deletion.

9.0 Constraints Delete Confirm.png


You may also select more than one constraint to delete.

To do so, select the checkboxes for the desired constraints, then under the "Actions" menu at the top of the list, select "Delete All". 

9.0 Constraints Bulk Delete.png


Working with Constraints in IPAM

Apply an IPAM Constraint

To apply a constraint to an IPAM field, go to IPAM Admin → Edit IPAM Columns.

9.0 IPAM Admin Edit  IPAM Columns.png

A column that may have a constraint applied to it will display a checkmark icon.

9.0 IPAM Columns Set Constraint.png

Click the icon and select a constraint from the dropdown. Then, click "Save".

9.0 IPAM Columns Set Constraint Save.png

The applied constraint name will then be displayed in the column row.

9.0 Edit IPAM Columns Save Changes.png

Click "Save Changes" before exiting the IPAM Column page to retain changes.

Expand the area below for information on viewing and using the constrained field in IPAM.

Using Constrained Fields in IPAM

Using Constrained Fields in IPAM

When a field is viewed in IPAM Manage that has a constraint applied, a "check" icon will display next to the field input for simple input constraint checks, if empty values are allowed.

9.0 IPAM Edit Attributes Applied Constraint Check.png

In this example, a constraint validation check has been applied to Metadata1 - “Minimum 8 Characters” - so if we enter less than eight characters into that field, we should get an error, and see the "X" for the input not meeting the constraint settings:

9.0 IPAM Edit Attributes Constraint Fail.png

A valid input will return to displaying the "valid" success checkmark:

9.0 IPAM Edit Attributes Constraint Pass.png


Working with Constraints in Resources

Apply a Resource Constraint

To apply a constraint to an Resource field, go to the Edit Section, "Manage Fields" tab.

Click on the “Edit” icon for an assigned field to open the Edit Field modal.

9.0 Edit Section Edit Field.png


in “Edit Field”, select a constraint from the dropdown, then click "Save".

9.0 Edit Section Apply Constraint.png

Warning: Applying a constraint to a field affects all sections to which that field is assigned.

In the above example, adding a constraint to a field in QA Test Section 1 will also apply the constraint to the field in the Contact Section. You can see which sections are using the field from the Edit Field modal.

Once a constraint is applied to a field, it will be visible to the user by a warning notice on the field header.

9.0 Edit Section Constrainted Field.png

Remember to click save at the bottom of the Edit Section page to retain changes.

9.0 Edit Section Fields Save w Response.png

Once the constraint is applied to a resource field and saved, users will see the field flagged as a constrained field when editing the fields for a resource. Expand the area below for information on viewing and using the constrained field in Resources.

Using Constrained Fields in Resources

Using Constrained Fields in Resources

A constrained field is available to edit from the Resource List Edit Fields modal and the Resource's Fields Gadget.

When a field is viewed that has a constraint applied, a "check" icon will display next to the field input for simple input constraint checks.

If the constraint is of a type that has been set up with a dropdown box, then the dropdown box and placeholder text will be applied:

8.3.0 Edit Fields Constraints Empty.jpg

In this example, a Length Min constraint has been applied to the field "Abuse POC", so if we enter less than three characters into that field, we should get an error and see a visual indicator for the input not meeting the constraint settings:

8.3.0 Edit Fields Constraints Fail.jpg

On the other hand, a valid input will return to displaying the "valid" success checkmark:

8.3.0 Edit Fields Constraints.jpg

Constrained fields display the same way in a Resource's Fields Gadget when editing.

8.3.0 Fields Gadget Edit Constraints.jpg

A failed constraint input:

8.3.0 Fields Gadget Constraints Fail.jpg

A valid constraint input:

8.3.0 Fields Gadget Constraints Success.jpg

Constraint Permissions

Admins may limit which users are bound by certain constraints by clicking "Settings" at upper right from the Constraints tab.

9.0 Admin Constraints Settings.png
Enable and Select Constraint Permissions

From there, select "Enable user group permissions" to limit constraint visibility by User Permission Group.

9.0 Constraints Settings Enable Group Perms.png

Once permissions are enabled a new option will appear when adding and editing a constraint, "Change Binding Permissions".

9.0 Constraints Change Binding Perms.png


Selecting "Change Binding Permissions" opens the "Change Resource Permissions" dialog box where you can select a group(s) to assign the constraint to. The groups assigned to a constraint are listed below the group selector.

9.0 Constraints Edit Binding Group Assign.png

To remove a group, just click the "remove" button next to the group name.

9.0 Constraints Edit Binding Group Remove.png

When complete, you may close the Change Resource Permissions box and review your changes to the constraint. Once done, be sure to click Update Constraint to save all changes made to the constraint.

9.0 Constraints Edit Update Save.png

For more information on working with Permission Groups see Permission Groups and Working with Groups.

Enabling user group permissions applies to all constraints, including those already existing. If no group is assigned to a constraint, it will not be visible in IPAM Manage to any users.

Walkthrough: Adding an Enumeration Constraint

This example shows how to add an Enumeration constraint to select from a list of colors in a dropdown field. 

Add an Enumeration Constraint

From the Constraints "Configuration" page, click "Add Constraint".

9.0 Admin Constraints Add New.png

Select "Enumeration" for the constraint type and enter a name. 

9.0 Constraints Add Constraint Enum Type.png
Add Enumeration Items

Add Enumeration Items

In the section "Enumeration items" enter a name for an option and click "Add Item".

Repeat for any additional values that you wish to make available in your enumeration dropdown. You can edit or delete options via the row icons.

9.0 Add Constraint Add Enum Items.png

In the "UI Properties" section, you may enter custom placeholder text or enable multiple item selection.

9.0 Constraints Add UI Propertis.png

When done, click "Add Constraint".

"Export type" specifies whether an id or name should be exported when submitting a form and will affect exported .csv files and api calls.

Test the Constraint

Test the Constraint

On the main Constraints List, open the action menu and select "Test".

A display dropdown box will appear. Click inside of it to confirm your child items show as selectable options.

8.3.0 Enum Constraint Test.jpg
Using the Enumeration

Using the Enumeration

To see the constraint in action in IPAM or Resources, navigate to a block or field and open Edit.

Select the field to which you applied the enumeration to view/select constraint items from the dropdown.

8.3.0 Enum Constraint IPAM.jpg