Skip to content

Vrf

Product blocks for VRF Virtual Routing and Forwarding.

VRFBlockInactive

Bases: ProductBlockModel

An inactive VRF subscription. See VRFBlock.

Source code in gso/products/product_blocks/vrf.py
class VRFBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="VRFBlock"):
    """An inactive VRF subscription. See `VRFBlock`."""

    vrf_router_list: list[RouterBlockInactive]
    vrf_name: str | None = None
    route_distinguisher: str | None = None
    route_target: str | None = None
    vrf_as_number: int | None = None

VRFBlockProvisioning

Bases: VRFBlockInactive

A provisioning VRF subscription. See VRFBlock.

Source code in gso/products/product_blocks/vrf.py
class VRFBlockProvisioning(VRFBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
    """A provisioning VRF subscription. See `VRFBlock`."""

    vrf_router_list: list[RouterBlockProvisioning]  # type: ignore[assignment]
    vrf_name: str
    route_distinguisher: str
    route_target: str
    vrf_as_number: int | None = None

VRFBlock

Bases: VRFBlockProvisioning

Represents an active VRF subscription block.

Attributes:

Name Type Description
vrf_router_list list[RouterBlock]

List of VRF routers.

vrf_name str

Unique name identifying this VRF.

route_distinguisher str

Route Distinguisher ensuring unique route identification within this VRF.

route_target str

Route Target defining routing policies for importing/exporting routes.

vrf_as_number int | None

AS number of the VRF.

Source code in gso/products/product_blocks/vrf.py
class VRFBlock(VRFBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
    """Represents an active VRF subscription block.

    Attributes:
        vrf_router_list: List of VRF routers.
        vrf_name: Unique name identifying this VRF.
        route_distinguisher: Route Distinguisher ensuring unique route identification within this VRF.
        route_target: Route Target defining routing policies for importing/exporting routes.
        vrf_as_number: AS number of the VRF.
    """

    vrf_router_list: list[RouterBlock]  # type: ignore[assignment]
    vrf_name: str
    route_distinguisher: str
    route_target: str
    vrf_as_number: int | None = None