Most IP address management (IPAM) solutions excel at storing the basics—subnets, addresses, and records—but the challenge lies in showing how these objects relate across teams, technologies, and environments.

For Integrity, BlueCat’s platform for unified enterprise management of DNS, DHCP, and IP address management (together known as DDI), user-defined links (UDLs) allow you to define and reuse custom relationships between any two objects in BlueCat Address Manager, Integrity’s IPAM tool.

This ensures your DDI model actually aligns with your operational reality. Whether you are connecting your production and test environments or on-premises environments to the cloud, UDLs provide the visibility essential for managing modern hybrid environments.

In this post, we first touch on how UDLs work in Integrity X. Then, we explore four practical UDL use cases and offer some operational tips for success. Next, we provide examples of how to automate UDLs using the RESTful API. Finally, we cover how UDLs codify relationships and help you get a more complete picture of your enterprise DDI.

UDLs in Integrity X are stored directly in the Address Manager database alongside your DDI data. As a result, links are durable, auditable, and accessible via both the user interface and the RESTful API.

At a high level, UDLs work by allowing you to:

  • Create a UDL definition: Specify the source and destination object types you want to connect.
  • Link resources under that definition: Select objects from your configurations or enter their IDs to bridge them.
  • Navigate and manage links: Access these relationships directly within an object’s detail page to ensure visibility for both manual operations and automation.

Dual-stack networks (IPv4 to IPv6)

  • What to link: IPv4 network to IPv6 network.
  • Why it helps: Operations teams can jump between equivalent subnets when allocating, troubleshooting, or auditing dual-stack designs.
  • Model it: Use UDL type DUAL_STACK_NETWORK (source: IPv4 network; destination: IPv6 network).

Overlapping Virtual Routing and Forwarding (VRF) to a canonical global view

  • What to link: VRF-scoped network in a non-default configuration to the canonical global network in the default configuration.
  • Why it helps: Quickly reconcile overlaps, power de-duplicated reporting, and drive automation that requires a single source of truth.
  • Model it: Use UDL type VRF_TO_GLOBAL_NETWORK.

Network Address Translation (NAT) maps (SNAT, DNAT, and PAT)

  • What to link: Private addresses to egress networks, or public virtual IPs (VIPs) to internal addresses.
  • Why it helps: It provides one-click context during incident response to quickly identify what an IP address translates into or who is behind a specific VIP.
  • Model it: Use SNAT_LINK, DNAT_LINK, or PAT_LINK with appropriate address or network pairs.

Ownership and stewardship

  • What to link: Network or address to user or user group.
  • Why it helps: Establish clear accountability for approval workflows and incident routing.
  • Model it: Use RESOURCE_OWNER (network or address to user or user group).

Operational tips for success

Operationalizing UDLs isn’t just about creating links; it’s about ensuring they remain consistent and discoverable. Some tips to help ensure success with your UDLs include:

  • Adopt strict naming conventions: Use ASCII-only, globally unique names (no more than 24 characters) and follow a schema like ALL_CAPS_WITH_UNDERSCORES.
  • Design for cross-configuration use: Establish governance rules up front so cross-config links reflect intentional relationships.
  • Keep metadata types distinct: Use UDLs for relationships, user-defined fields (UDFs) for attributes, and tags for grouping.
  • Validate via API: Periodically query UDL definitions with the RESTful API to confirm relationships match your intended model.

Automate UDLs with the RESTful API

Because the Integrity X UI is built entirely on the RESTful API, every UDL action can be scripted. You can programmatically create, query, and retire links as part of your CI/CD pipelines.

List links under a type:

GET /api/v2/userDefinedLinkDefinitions/{collectionId}/linkedResources

Create a link (source to destination):

POST /api/v2/userDefinedLinkDefinitions/{collectionId}/linkedResources

Body (example):

JSON

{ "sourceId": 12345, "destinationId": 67890, "description": "Prod dual-stack pair"
}

Get a single link:

GET /api/v2/userDefinedLinkDefinitions/{collectionId}/linkedResources/{id}

Remove a link:

DELETE /api/v2/userDefinedLinkDefinitions/{collectionId}/linkedResources/{id} 

Manage link definitions:

PUT /api/v2/userDefinedLinkDefinitions/{definitionId}

Body (example):

JSON

{ "displayName": "Dual-Stack Network Mapping", "description": "Links IPv4 subnets to their IPv6 dual-stack peers", "sourceTypes": ["IPv4Network"], "destinationTypes": ["IPv6Network"]
}

In Integrity X, UDLs, UDFs, and tags work together to provide a rich metadata layer:

  • UDLs: Capture relationships between objects
  • UDFs: Attach custom attributes to a single object (e.g., a serial number)
  • Tags: Provide lightweight, flexible labels to group resources

Together, they apply business context directly to network assets, making it easier to search, filter, and automate against the ‘why’ behind your infrastructure.

Every enterprise has relationships in DDI, such as VIPs to pools, NATs to subnets, or production to disaster recovery. UDLs allow you to codify those relationships so every operator and automation tool sees the same picture. By starting with just one or two patterns, you will see an immediate payoff in navigation speed and change velocity.

Ready to build more intelligent DDI with user-defined links? Book an Integrity discovery session today.

BlueCat Source

About Author

WordPress Appliance - Powered by TurnKey Linux