Skip to content
Snippets Groups Projects

Feature/remove typing import

Merged Karel van Klink requested to merge feature/remove-typing-import into develop
9 files
+ 136
316
Compare changes
  • Side-by-side
  • Inline
Files
9
"""IP trunk product block that has all parameters of a subscription throughout its lifecycle."""
import ipaddress
from typing import Optional, TypeVar
from typing import TypeVar
from orchestrator.domain.base import ProductBlockModel
from orchestrator.forms.validators import UniqueConstrainedList
@@ -28,24 +28,24 @@ class IptrunkSideBlockInactive(
ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="IptrunkSideBlock"
):
iptrunk_side_node: RouterBlockInactive
iptrunk_side_ae_iface: Optional[str] = None
iptrunk_side_ae_geant_a_sid: Optional[str] = None
iptrunk_side_ae_iface: str | None = None
iptrunk_side_ae_geant_a_sid: str | None = None
iptrunk_side_ae_members: list[str] = Field(default_factory=list)
iptrunk_side_ae_members_description: list[str] = Field(default_factory=list)
class IptrunkSideBlockProvisioning(IptrunkSideBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
iptrunk_side_node: RouterBlockProvisioning
iptrunk_side_ae_iface: Optional[str] = None
iptrunk_side_ae_geant_a_sid: Optional[str] = None
iptrunk_side_ae_iface: str | None = None
iptrunk_side_ae_geant_a_sid: str | None = None
iptrunk_side_ae_members: list[str] = Field(default_factory=list)
iptrunk_side_ae_members_description: list[str] = Field(default_factory=list)
class IptrunkSideBlock(IptrunkSideBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
iptrunk_side_node: RouterBlock
iptrunk_side_ae_iface: Optional[str] = None
iptrunk_side_ae_geant_a_sid: Optional[str] = None
iptrunk_side_ae_iface: str | None = None
iptrunk_side_ae_geant_a_sid: str | None = None
iptrunk_side_ae_members: list[str] = Field(default_factory=list)
iptrunk_side_ae_members_description: list[str] = Field(default_factory=list)
@@ -55,14 +55,14 @@ class IptrunkBlockInactive(
):
"""A trunk that's currently inactive, see :class:`IptrunkBlock`."""
geant_s_sid: Optional[str] = None
iptrunk_description: Optional[str] = None
iptrunk_type: Optional[IptrunkType] = None
iptrunk_speed: Optional[str] = None
iptrunk_minimum_links: Optional[int] = None
iptrunk_isis_metric: Optional[int] = None
iptrunk_ipv4_network: Optional[ipaddress.IPv4Network] = None
iptrunk_ipv6_network: Optional[ipaddress.IPv6Network] = None
geant_s_sid: str | None = None
iptrunk_description: str | None = None
iptrunk_type: IptrunkType | None = None
iptrunk_speed: str | None = None
iptrunk_minimum_links: int | None = None
iptrunk_isis_metric: int | None = None
iptrunk_ipv4_network: ipaddress.IPv4Network | None = None
iptrunk_ipv6_network: ipaddress.IPv6Network | None = None
#
iptrunk_sides: IptrunkSides[IptrunkSideBlockInactive]
@@ -70,14 +70,14 @@ class IptrunkBlockInactive(
class IptrunkBlockProvisioning(IptrunkBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
"""A trunk that's currently being provisioned, see :class:`IptrunkBlock`."""
geant_s_sid: Optional[str] = None
iptrunk_description: Optional[str] = None
iptrunk_type: Optional[IptrunkType] = None
iptrunk_speed: Optional[str] = None
iptrunk_minimum_links: Optional[int] = None
iptrunk_isis_metric: Optional[int] = None
iptrunk_ipv4_network: Optional[ipaddress.IPv4Network] = None
iptrunk_ipv6_network: Optional[ipaddress.IPv6Network] = None
geant_s_sid: str | None = None
iptrunk_description: str | None = None
iptrunk_type: IptrunkType | None = None
iptrunk_speed: str | None = None
iptrunk_minimum_links: int | None = None
iptrunk_isis_metric: int | None = None
iptrunk_ipv4_network: ipaddress.IPv4Network | None = None
iptrunk_ipv6_network: ipaddress.IPv6Network | None = None
#
iptrunk_sides: IptrunkSides[IptrunkSideBlockProvisioning]
@@ -85,20 +85,21 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive, lifecycle=[SubscriptionLife
class IptrunkBlock(IptrunkBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
"""A trunk that's currently deployed in the network."""
#: GÉANT service ID associated with this trunk.
geant_s_sid: str
"""GÉANT service ID associated with this trunk. """
#: A human-readable description of this trunk.
iptrunk_description: str
"""A human-readable description of this trunk."""
#: The type of trunk, can be either dark fibre or leased capacity.
iptrunk_type: IptrunkType
"""The type of trunk, can be either dark fibre or leased capacity."""
#: The speed of the trunk, measured per interface associated with it.
iptrunk_speed: str # FIXME: should be of PhyPortCapacity type
"""The speed of the trunk, measured per interface associated with it."""
#: The minimum amount of links the trunk should consist of.
iptrunk_minimum_links: int
"""The minimum amount of links the trunk should consist of."""
#: The :term:`IS-IS` metric of this link
iptrunk_isis_metric: int
"""The :term:`IS-IS` metric of this link"""
#: The IPv4 network used for this trunk.
iptrunk_ipv4_network: ipaddress.IPv4Network
"""The IPv4 network used for this trunk."""
#: The IPv6 network used for this trunk.
iptrunk_ipv6_network: ipaddress.IPv6Network
"""The IPv6 network used for this trunk."""
#: The two sides that the trunk is connected to.
iptrunk_sides: IptrunkSides[IptrunkSideBlock]
Loading