Skip to content

Pop vlan

PoP VLAN product block that has all parameters of a subscription throughout its lifecycle.

LayerPreference

Bases: strEnum

Enumerator for the different types of layer preferences.

Source code in gso/products/product_blocks/pop_vlan.py
class LayerPreference(strEnum):
    """Enumerator for the different types of layer preferences."""

    L2 = "L2"
    """Layer 2."""
    L3 = "L3"
    """Layer 3."""

L2 = 'L2' class-attribute instance-attribute

Layer 2.

L3 = 'L3' class-attribute instance-attribute

Layer 3.

PopVlanPortBlockInactive

Bases: ProductBlockModel

An inactive PoP VLAN port.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanPortBlockInactive(
    ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="PopVlanPortBlock"
):
    """An inactive PoP VLAN port."""

    port_name: str | None = None
    port_description: str | None = None
    tagged: bool | None = None

PopVlanPortBlockProvisioning

Bases: PopVlanPortBlockInactive

A PoP VLAN port that is being provisioned.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanPortBlockProvisioning(PopVlanPortBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
    """A PoP VLAN port that is being provisioned."""

    port_name: str | None
    port_description: str | None
    tagged: bool | None

PopVlanPortBlock

Bases: PopVlanPortBlockProvisioning

An active PoP VLAN port.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanPortBlock(PopVlanPortBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
    """An active PoP VLAN port."""

    port_name: str
    port_description: str
    tagged: bool

PopVlanBlockInactive

Bases: ProductBlockModel

A PoP VLAN that's currently inactive, see PopVlanBlock.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanBlockInactive(
    ProductBlockModel,
    lifecycle=[SubscriptionLifecycle.INITIAL],
    product_block_name="PopVlanBlock",
):
    """A PoP VLAN that's currently inactive, see `PopVlanBlock`."""

    vlan_id: int
    pop_vlan_description: str | None = None
    lan_switch_interconnect: LanSwitchInterconnectBlockInactive
    ports: PortList[PopVlanPortBlockProvisioning]
    layer_preference: LayerPreference
    ipv4_network: IPv4Network | None = None
    ipv6_network: IPv6Network | None = None

PopVlanBlockProvisioning

Bases: PopVlanBlockInactive

A Pop VLAN that's currently being provisioned, see PopVlanBlock.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanBlockProvisioning(PopVlanBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
    """A Pop VLAN that's currently being provisioned, see `PopVlanBlock`."""

    vlan_id: int
    pop_vlan_description: str | None
    lan_switch_interconnect: LanSwitchInterconnectBlockProvisioning
    ports: PortList[PopVlanPortBlockProvisioning]
    layer_preference: LayerPreference
    ipv4_network: IPv4Network | None
    ipv6_network: IPv6Network | None

PopVlanBlock

Bases: PopVlanBlockProvisioning

A Pop VLAN that's currently deployed in the network.

Attributes:

Name Type Description
vlan_id int

The VLAN ID of the Pop VLAN.

pop_vlan_description str

The description of the Pop VLAN.

lan_switch_interconnect LanSwitchInterconnectBlock

The LAN Switch Interconnect that this Pop VLAN is connected to.

ports PortList[PopVlanPortBlock]

The ports of the Pop VLAN.

layer_preference LayerPreference

The level of the layer preference for the Pop VLAN (L2 or L3).

ipv4_network IPv4Network | None

IPv4 network for the Pop VLAN if layer preference is L3.

ipv6_network IPv6Network | None

IPv6 network for the Pop VLAN if layer preference is L3.

Source code in gso/products/product_blocks/pop_vlan.py
class PopVlanBlock(PopVlanBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
    """A Pop VLAN that's currently deployed in the network.

    Attributes:
        vlan_id: The VLAN ID of the Pop VLAN.
        pop_vlan_description: The description of the Pop VLAN.
        lan_switch_interconnect: The LAN Switch Interconnect that this Pop VLAN is connected to.
        ports: The ports of the Pop VLAN.
        layer_preference: The level of the layer preference for the Pop VLAN (L2 or L3).
        ipv4_network: IPv4 network for the Pop VLAN if layer preference is L3.
        ipv6_network: IPv6 network for the Pop VLAN if layer preference is L3.
    """

    vlan_id: int
    pop_vlan_description: str
    lan_switch_interconnect: LanSwitchInterconnectBlock
    ports: PortList[PopVlanPortBlock]  # type: ignore[assignment]
    layer_preference: LayerPreference
    ipv4_network: IPv4Network | None
    ipv6_network: IPv6Network | None