Constraints as NIC Data Types

Constraints are data types that a resolver uses when it executes a role. You can define:

Constraints can be either mandatory or optional. If a constraint is mandatory and the resolver for the role does not receive an appropriate value in the data request, the resolver must obtain the constraint value from other NIC resolvers. However, if a constraint is optional and the resolver for the role does not receive an appropriate value in the data request, the resolver can execute its role without the constraint value. In this case, the resolver may obtain multiple values for the data key, and the NIC host responds to the NIC proxy as follows:

For example, if you want to obtain an SAE reference for a subscriber’s IP address, you could define the following roles:

  1. From the IP address, determine the VR (mandatory constraint IpPool).
  2. From the VR, determine the SAE that manages that VR.

Because the first step has a mandatory constraint, the resolver for this role must use the IP pool supplied in the request, or obtain the IP pool from another resolver that determines IP pools from IP addresses. So you must define an extra step at the start of the resolution process:

  1. From the IP address, determine the IP pool.
  2. From the IP address, determine the VR (mandatory constraint IpPool).
  3. From the VR, determine the SAE that manages that VR.

Related Documentation