Skip to content

Router

Product block for Router products.

RouterRole

Bases: strEnum

Enumerator for the different types of routers.

Source code in gso/products/product_blocks/router.py
class RouterRole(strEnum):
    """Enumerator for the different types of routers."""

    P = "p"
    """P-routers."""
    PE = "pe"
    """PE-routers."""
    AMT = "amt"
    """AMT-routers."""

P = 'p' class-attribute instance-attribute

P-routers.

PE = 'pe' class-attribute instance-attribute

PE-routers.

AMT = 'amt' class-attribute instance-attribute

AMT-routers.

RouterBlockInactive

Bases: ProductBlockModel

A router that's being currently inactive. See RouterBlock.

Source code in gso/products/product_blocks/router.py
class RouterBlockInactive(
    ProductBlockModel,
    lifecycle=[SubscriptionLifecycle.INITIAL],
    product_block_name="RouterBlock",
):
    """A router that's being currently inactive. See `RouterBlock`."""

    router_fqdn: str | None = None
    router_ts_port: PortNumber | None = None
    router_access_via_ts: bool | None = None
    router_lo_ipv4_address: IPv4AddressType | None = None
    router_lo_ipv6_address: IPv6AddressType | None = None
    router_lo_iso_address: str | None = None
    router_role: RouterRole | None = None
    router_site: SiteBlockInactive | None
    vendor: Vendor | None = None

RouterBlockProvisioning

Bases: RouterBlockInactive

A router that's being provisioned. See RouterBlock.

Source code in gso/products/product_blocks/router.py
class RouterBlockProvisioning(RouterBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
    """A router that's being provisioned. See `RouterBlock`."""

    router_fqdn: str
    router_ts_port: PortNumber
    router_access_via_ts: bool
    router_lo_ipv4_address: IPv4AddressType
    router_lo_ipv6_address: IPv6AddressType
    router_lo_iso_address: str
    router_role: RouterRole
    router_site: SiteBlockProvisioning
    vendor: Vendor

RouterBlock

Bases: RouterBlockProvisioning

A router that's currently deployed in the network.

Attributes:

Name Type Description
router_fqdn str

FQDN of a router.

router_ts_port PortNumber

The port of the terminal server that this router is connected to. Used to offer out of band access.

router_access_via_ts bool

Whether this router should be accessed through the terminal server, or through its loopback address.

router_lo_ipv4_address IPv4AddressType

The IPv4 loopback address of the router.

router_lo_ipv6_address IPv6AddressType

The IPv6 loopback address of the router.

router_lo_iso_address str

The ISO NET of the router, used for ISIS support.

router_role RouterRole

The role of the router, which can be any of the values defined in RouterRole.

router_site SiteBlock

The site that this router resides in. Both physically and computationally.

vendor Vendor

The vendor of a router.

Source code in gso/products/product_blocks/router.py
class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
    """A router that's currently deployed in the network.

    Attributes:
        router_fqdn: FQDN of a router.
        router_ts_port: The port of the terminal server that this router is connected to. Used to offer out of band
            access.
        router_access_via_ts: Whether this router should be accessed through the terminal server, or through its
            loopback address.
        router_lo_ipv4_address: The IPv4 loopback address of the router.
        router_lo_ipv6_address: The IPv6 loopback address of the router.
        router_lo_iso_address: The ISO NET of the router, used for ISIS support.
        router_role: The role of the router, which can be any of the values defined in `RouterRole`.
        router_site: The site that this router resides in. Both physically and computationally.
        vendor: The vendor of a router.
    """

    router_fqdn: str
    router_ts_port: PortNumber
    router_access_via_ts: bool
    router_lo_ipv4_address: IPv4AddressType
    router_lo_ipv6_address: IPv6AddressType
    router_lo_iso_address: str
    router_role: RouterRole
    router_site: SiteBlock
    vendor: Vendor