Skip to main content

VRF

This schema extension contains models to support VRF in your network.

Details

  • Dependencies:

Nodes

VRF

  • Label: VRF
  • Description: A VRF is an isolated layer three domain.
  • Namespace: Ipam
  • Icon: mdi:router
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameTextFalse
vrf_rdTextTrue
enforce_uniqueDeclares the intent that prefixes and addresses be unique in this VRF. Infrahub does not enforce it; use a check or generator.BooleanTrueTrue
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
import_rtIpamRouteTargetTruemanyAttribute
export_rtIpamRouteTargetTruemanyAttribute

RouteTarget

  • Label: Route Target
  • Description: Route Target (RFC 4360)
  • Namespace: Ipam
  • Icon: mdi:target
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameTextFalse
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
import_vrfIpamVRFTruemanyGeneric
export_vrfIpamVRFTruemanyGeneric

Extensions

note

In this context "extensions" refer to modifications or additions to the existing schema, such as adding new attributes, relationships, or other schema elements.

IpamPrefix

Relationships

namepeeroptionalcardinalitykind
vrfIpamVRFTrueoneAttribute

IpamIPAddress

Relationships

namepeeroptionalcardinalitykind
vrfIpamVRFTrueoneAttribute

Code

version: '1.0'
nodes:
- name: VRF
namespace: Ipam
description: A VRF is an isolated layer three domain.
label: VRF
icon: mdi:router
include_in_menu: true
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
order_weight: 1000
- name: vrf_rd
kind: Text
label: Route Distinguisher
optional: true
order_weight: 1050
- name: enforce_unique
kind: Boolean
label: Enforce Unique
description: Declares the intent that prefixes and addresses be unique in this
VRF. Infrahub does not enforce it; use a check or generator.
default_value: true
optional: true
order_weight: 1200
- name: description
kind: Text
optional: true
order_weight: 1100
relationships:
- name: import_rt
peer: IpamRouteTarget
label: Import Targets
kind: Attribute
cardinality: many
optional: true
identifier: vrf__import
order_weight: 1300
- name: export_rt
peer: IpamRouteTarget
label: Export Targets
kind: Attribute
cardinality: many
optional: true
identifier: vrf__export
order_weight: 1350
- name: RouteTarget
namespace: Ipam
description: Route Target (RFC 4360)
label: Route Target
icon: mdi:target
include_in_menu: true
menu_placement: IpamVRF
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
relationships:
- name: import_vrf
peer: IpamVRF
kind: Generic
label: Imported by VRFs
cardinality: many
optional: true
identifier: vrf__import
order_weight: 1300
- name: export_vrf
peer: IpamVRF
kind: Generic
label: Exported by VRFs
cardinality: many
optional: true
identifier: vrf__export
order_weight: 1350
extensions:
nodes:
- kind: IpamPrefix
relationships:
- name: vrf
peer: IpamVRF
label: VRF
kind: Attribute
cardinality: one
optional: true
identifier: prefix__vrf
order_weight: 1150
- kind: IpamIPAddress
relationships:
- name: vrf
peer: IpamVRF
label: VRF
kind: Attribute
cardinality: one
optional: true
identifier: ip_address__vrf
order_weight: 1150