Skip to main content

VRF

This schema extension adds VRF and Route Target nodes and links prefixes and IP addresses to a VRF.

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
default_value: true
optional: true
description: Declares the intent that prefixes and addresses be unique in this
VRF. Infrahub does not enforce it; use a check or generator.
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
label: Imported by VRFs
kind: Generic
cardinality: many
optional: true
identifier: vrf__import
order_weight: 1300
- name: export_vrf
peer: IpamVRF
label: Exported by VRFs
kind: Generic
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