diff --git a/gso/types/__init__.py b/gso/annotations/__init__.py similarity index 100% rename from gso/types/__init__.py rename to gso/annotations/__init__.py diff --git a/gso/types/base_site.py b/gso/annotations/base_site.py similarity index 69% rename from gso/types/base_site.py rename to gso/annotations/base_site.py index 3184e174304bfc3e3b3e0f0cb2008ddb0e81d205..3e809525055f75369cd7c3a1dea99707e220c25b 100644 --- a/gso/types/base_site.py +++ b/gso/annotations/base_site.py @@ -2,12 +2,12 @@ from pydantic import BaseModel +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.country_code import CountryCode +from gso.annotations.ip_address import IPAddress +from gso.annotations.site_name import SiteName +from gso.annotations.unique_field import UniqueField from gso.products.product_blocks.site import SiteTier -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.country_code import CountryCode -from gso.types.ip_address import IPAddress -from gso.types.site_name import SiteName -from gso.types.unique_field import UniqueField class BaseSiteValidatorModel(BaseModel): diff --git a/gso/types/coordinates.py b/gso/annotations/coordinates.py similarity index 100% rename from gso/types/coordinates.py rename to gso/annotations/coordinates.py diff --git a/gso/types/country_code.py b/gso/annotations/country_code.py similarity index 100% rename from gso/types/country_code.py rename to gso/annotations/country_code.py diff --git a/gso/types/interfaces.py b/gso/annotations/interfaces.py similarity index 100% rename from gso/types/interfaces.py rename to gso/annotations/interfaces.py diff --git a/gso/types/ip_address.py b/gso/annotations/ip_address.py similarity index 100% rename from gso/types/ip_address.py rename to gso/annotations/ip_address.py diff --git a/gso/types/netbox_router.py b/gso/annotations/netbox_router.py similarity index 100% rename from gso/types/netbox_router.py rename to gso/annotations/netbox_router.py diff --git a/gso/types/site_name.py b/gso/annotations/site_name.py similarity index 100% rename from gso/types/site_name.py rename to gso/annotations/site_name.py diff --git a/gso/types/snmp.py b/gso/annotations/snmp.py similarity index 100% rename from gso/types/snmp.py rename to gso/annotations/snmp.py diff --git a/gso/types/tt_number.py b/gso/annotations/tt_number.py similarity index 100% rename from gso/types/tt_number.py rename to gso/annotations/tt_number.py diff --git a/gso/types/unique_field.py b/gso/annotations/unique_field.py similarity index 100% rename from gso/types/unique_field.py rename to gso/annotations/unique_field.py diff --git a/gso/api/v1/network.py b/gso/api/v1/network.py index 62983f77f0b2287cb366ba2cb062babc2e972d05..435bb4146c8fb8d0a097829a305647d8e11c51df 100644 --- a/gso/api/v1/network.py +++ b/gso/api/v1/network.py @@ -10,11 +10,11 @@ from orchestrator.security import authorize from orchestrator.services.subscriptions import build_extended_domain_model from starlette import status +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.interfaces import PhysicalPortCapacity from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.router import RouterRole from gso.services.subscriptions import get_active_iptrunk_subscriptions -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.interfaces import PhysicalPortCapacity from gso.utils.shared_enums import Vendor router = APIRouter(prefix="/networks", tags=["Network"], dependencies=[Depends(authorize)]) diff --git a/gso/cli/imports.py b/gso/cli/imports.py index e71794653f446b25251c11d82cb6c5f0ac68c97e..cd290a9b6bc718ba429c11d9d5a22931bc1e77b6 100644 --- a/gso/cli/imports.py +++ b/gso/cli/imports.py @@ -16,6 +16,8 @@ from orchestrator.types import SubscriptionLifecycle from pydantic import BaseModel, ValidationError, field_validator, model_validator from sqlalchemy.exc import SQLAlchemyError +from gso.annotations.base_site import BaseSiteValidatorModel +from gso.annotations.interfaces import LAGMember, LAGMemberList, PhysicalPortCapacity from gso.db.models import PartnerTable from gso.products import ProductType from gso.products.product_blocks.iptrunk import IptrunkType @@ -31,8 +33,6 @@ from gso.services.subscriptions import ( get_active_subscriptions_by_field_and_value, get_subscriptions, ) -from gso.types.base_site import BaseSiteValidatorModel -from gso.types.interfaces import LAGMember, LAGMemberList, PhysicalPortCapacity from gso.utils.shared_enums import IPv4AddressType, IPv6AddressType, PortNumber, Vendor app: typer.Typer = typer.Typer() diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index 1ff4fe4652d6fea6f1a80491976ff3063978f82e..8fbc82e0d19ce35198f72996dc1429dc69a7eae9 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -10,12 +10,12 @@ from pydantic import AfterValidator from pydantic_forms.validators import validate_unique_list from typing_extensions import Doc +from gso.annotations.interfaces import LAGMemberList, PhysicalPortCapacity from gso.products.product_blocks.router import ( RouterBlock, RouterBlockInactive, RouterBlockProvisioning, ) -from gso.types.interfaces import LAGMemberList, PhysicalPortCapacity class IptrunkType(strEnum): diff --git a/gso/products/product_blocks/lan_switch_interconnect.py b/gso/products/product_blocks/lan_switch_interconnect.py index 544da1e757c279ca3c16f2e52489dba2624e68aa..b2f88a085cba619299a5486b0f010eaf6b476a5e 100644 --- a/gso/products/product_blocks/lan_switch_interconnect.py +++ b/gso/products/product_blocks/lan_switch_interconnect.py @@ -3,9 +3,9 @@ from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle, strEnum +from gso.annotations.interfaces import LAGMemberList from gso.products.product_blocks.router import RouterBlock, RouterBlockInactive, RouterBlockProvisioning from gso.products.product_blocks.switch import SwitchBlock, SwitchBlockInactive, SwitchBlockProvisioning -from gso.types.interfaces import LAGMemberList class LanSwitchInterconnectAddressSpace(strEnum): diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py index 436288c5fad58c79684b73f9892c150875929050..5640cc1f5e0fe80a4bc6ca2bbb9215e906b37952 100644 --- a/gso/products/product_blocks/site.py +++ b/gso/products/product_blocks/site.py @@ -3,9 +3,9 @@ from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle, strEnum -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.ip_address import IPAddress -from gso.types.site_name import SiteName +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.ip_address import IPAddress +from gso.annotations.site_name import SiteName class SiteTier(strEnum): diff --git a/gso/services/librenms_client.py b/gso/services/librenms_client.py index 4d8e4b197f647aadf829648a01e056cf8b199068..c49451d397047cf7cc9c5347a24716b36c02fb3f 100644 --- a/gso/services/librenms_client.py +++ b/gso/services/librenms_client.py @@ -9,8 +9,8 @@ import requests from requests import HTTPError, Response from requests.adapters import HTTPAdapter +from gso.annotations.snmp import SNMPVersion from gso.settings import load_oss_params -from gso.types.snmp import SNMPVersion logger = logging.getLogger(__name__) diff --git a/gso/utils/helpers.py b/gso/utils/helpers.py index f1063cecd97209247ecd950a49de95bf46f5c0e0..df375dada33f613e44065c5c621cb435a16016d9 100644 --- a/gso/utils/helpers.py +++ b/gso/utils/helpers.py @@ -7,11 +7,11 @@ from uuid import UUID from pydantic_forms.validators import Choice from gso import settings +from gso.annotations.interfaces import PhysicalPortCapacity from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router from gso.services import subscriptions from gso.services.netbox_client import NetboxClient -from gso.types.interfaces import PhysicalPortCapacity from gso.utils.shared_enums import IPv4AddressType, Vendor if TYPE_CHECKING: diff --git a/gso/workflows/iptrunk/create_imported_iptrunk.py b/gso/workflows/iptrunk/create_imported_iptrunk.py index 18f76a7f93d30e7bc082bb2696ac9daf8448ce86..b7838c915939b191879821a8f38dcc996e969c76 100644 --- a/gso/workflows/iptrunk/create_imported_iptrunk.py +++ b/gso/workflows/iptrunk/create_imported_iptrunk.py @@ -13,13 +13,13 @@ from orchestrator.workflows.steps import resync, set_status, store_process_subsc from pydantic import AfterValidator, ConfigDict from pydantic_forms.validators import validate_unique_list +from gso.annotations.interfaces import LAGMember, LAGMemberList, PhysicalPortCapacity from gso.products import ProductName from gso.products.product_blocks.iptrunk import IptrunkInterfaceBlockInactive, IptrunkType from gso.products.product_types.iptrunk import ImportedIptrunkInactive from gso.products.product_types.router import Router from gso.services import subscriptions from gso.services.partners import get_partner_by_name -from gso.types.interfaces import LAGMember, LAGMemberList, PhysicalPortCapacity from gso.utils.helpers import active_router_selector diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py index c62ca920e595cf945c3a9a456e442e6300da4a5f..528d9815f83c163c4a087205d3c6f8e1eb72c8d5 100644 --- a/gso/workflows/iptrunk/create_iptrunk.py +++ b/gso/workflows/iptrunk/create_iptrunk.py @@ -20,6 +20,9 @@ from pydantic import ConfigDict from pydantic_forms.validators import ReadOnlyField from pynetbox.models.dcim import Interfaces +from gso.annotations.interfaces import JuniperLAGMember, LAGMember, LAGMemberList, PhysicalPortCapacity +from gso.annotations.netbox_router import NetboxEnabledRouter +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.iptrunk import ( IptrunkInterfaceBlockInactive, IptrunkSideBlockInactive, @@ -34,9 +37,6 @@ from gso.services.partners import get_partner_by_name from gso.services.sharepoint import SharePointClient from gso.services.subscriptions import get_non_terminated_iptrunk_subscriptions from gso.settings import load_oss_params -from gso.types.interfaces import JuniperLAGMember, LAGMember, LAGMemberList, PhysicalPortCapacity -from gso.types.netbox_router import NetboxEnabledRouter -from gso.types.tt_number import TTNumber from gso.utils.helpers import ( available_interfaces_choices, available_lags_choices, diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py index feb7100a46360f5c9fb14ef28f98b6bb4cb165ac..a91f8433214a0ae5dd6b0742ccf38245e2cb3c0e 100644 --- a/gso/workflows/iptrunk/deploy_twamp.py +++ b/gso/workflows/iptrunk/deploy_twamp.py @@ -11,9 +11,9 @@ from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.annotations.tt_number import TTNumber from gso.products.product_types.iptrunk import Iptrunk from gso.services.lso_client import execute_playbook, lso_interaction -from gso.types.tt_number import TTNumber def _initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py index 0ed107a6fb9aab243887a6af3fdf88a355e7b887..44e336cd2899e022f618d1ee5ded457629f39428 100644 --- a/gso/workflows/iptrunk/migrate_iptrunk.py +++ b/gso/workflows/iptrunk/migrate_iptrunk.py @@ -24,6 +24,8 @@ from pydantic import ConfigDict from pydantic_forms.validators import ReadOnlyField from pynetbox.models.dcim import Interfaces +from gso.annotations.interfaces import JuniperAEInterface, JuniperLAGMember, LAGMember, LAGMemberList +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.iptrunk import IptrunkInterfaceBlock, IptrunkType from gso.products.product_types.iptrunk import Iptrunk from gso.products.product_types.router import Router @@ -33,8 +35,6 @@ from gso.services.netbox_client import NetboxClient from gso.services.sharepoint import SharePointClient from gso.services.subscriptions import get_active_router_subscriptions from gso.settings import load_oss_params -from gso.types.interfaces import JuniperAEInterface, JuniperLAGMember, LAGMember, LAGMemberList -from gso.types.tt_number import TTNumber from gso.utils.helpers import ( available_interfaces_choices, available_lags_choices, diff --git a/gso/workflows/iptrunk/modify_isis_metric.py b/gso/workflows/iptrunk/modify_isis_metric.py index 493f0eb98c5db0b5edc1d3b20269ef50019d4432..1fcdd7e171c355d02c2ca41abe69e99eaf76ab76 100644 --- a/gso/workflows/iptrunk/modify_isis_metric.py +++ b/gso/workflows/iptrunk/modify_isis_metric.py @@ -10,9 +10,9 @@ from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.annotations.tt_number import TTNumber from gso.products.product_types.iptrunk import Iptrunk from gso.services.lso_client import execute_playbook, lso_interaction -from gso.types.tt_number import TTNumber def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index 6ec7d59a83ef272dc63837d8d01b59c81fac07b2..4171345c2c24a5aece0a2875e4369305567b8856 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -15,6 +15,8 @@ from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict from pydantic_forms.validators import Label, ReadOnlyField +from gso.annotations.interfaces import JuniperLAGMember, LAGMember, LAGMemberList, PhysicalPortCapacity +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.iptrunk import ( IptrunkInterfaceBlock, IptrunkSideBlock, @@ -23,8 +25,6 @@ from gso.products.product_blocks.iptrunk import ( from gso.products.product_types.iptrunk import Iptrunk from gso.services.lso_client import execute_playbook, lso_interaction from gso.services.netbox_client import NetboxClient -from gso.types.interfaces import JuniperLAGMember, LAGMember, LAGMemberList, PhysicalPortCapacity -from gso.types.tt_number import TTNumber from gso.utils.helpers import ( available_interfaces_choices, available_interfaces_choices_including_current_members, diff --git a/gso/workflows/iptrunk/terminate_iptrunk.py b/gso/workflows/iptrunk/terminate_iptrunk.py index fec1c48bb59142d51b6a65f5a1bcfada4d69ee28..7b7bd96f44ad9263cef9d543913e9ae156089042 100644 --- a/gso/workflows/iptrunk/terminate_iptrunk.py +++ b/gso/workflows/iptrunk/terminate_iptrunk.py @@ -17,12 +17,12 @@ from orchestrator.workflows.steps import ( ) from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.iptrunk import IptrunkSideBlock from gso.products.product_types.iptrunk import Iptrunk from gso.services import infoblox from gso.services.lso_client import execute_playbook, lso_interaction from gso.services.netbox_client import NetboxClient -from gso.types.tt_number import TTNumber from gso.utils.helpers import get_router_vendor from gso.utils.shared_enums import Vendor from gso.utils.workflow_steps import set_isis_to_max diff --git a/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py b/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py index 29dd38e479aa7e3efe752081569de0f1cf7304d9..467a25125e5595f830e08c6fe49299d4c0520824 100644 --- a/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py +++ b/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py @@ -13,6 +13,15 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import AfterValidator, ConfigDict from pydantic_forms.validators import Divider, ReadOnlyField +from gso.annotations.interfaces import ( + JuniperAEInterface, + JuniperLAGMember, + JuniperPhyInterface, + LAGMember, + PhysicalPortCapacity, + validate_interface_names_are_unique, +) +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.lan_switch_interconnect import ( LanSwitchInterconnectAddressSpace, LanSwitchInterconnectInterfaceBlockInactive, @@ -21,15 +30,6 @@ from gso.products.product_types.lan_switch_interconnect import LanSwitchIntercon from gso.products.product_types.router import Router from gso.products.product_types.switch import Switch from gso.services.partners import get_partner_by_name -from gso.types.interfaces import ( - JuniperAEInterface, - JuniperLAGMember, - JuniperPhyInterface, - LAGMember, - PhysicalPortCapacity, - validate_interface_names_are_unique, -) -from gso.types.tt_number import TTNumber from gso.utils.helpers import ( active_router_selector, active_switch_selector, diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py index 68c55cf0909e9781864b14348cc5e47ccd6a3bf0..6c1211af69849f9ad590b949cfc6a926496302f7 100644 --- a/gso/workflows/router/create_router.py +++ b/gso/workflows/router/create_router.py @@ -14,6 +14,7 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict, model_validator from pydantic_forms.validators import ReadOnlyField +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import RouterInactive, RouterProvisioning from gso.products.product_types.site import Site @@ -23,7 +24,6 @@ from gso.services.netbox_client import NetboxClient from gso.services.partners import get_partner_by_name from gso.services.sharepoint import SharePointClient from gso.settings import load_oss_params -from gso.types.tt_number import TTNumber from gso.utils.helpers import generate_fqdn, iso_from_ipv4 from gso.utils.shared_enums import PortNumber, Vendor from gso.utils.workflow_steps import ( diff --git a/gso/workflows/router/promote_p_to_pe.py b/gso/workflows/router/promote_p_to_pe.py index f294bd99468942094016687e93937c093788b074..756867c58a8ad4f527bcbfc98da645aed372967a 100644 --- a/gso/workflows/router/promote_p_to_pe.py +++ b/gso/workflows/router/promote_p_to_pe.py @@ -15,13 +15,13 @@ from orchestrator.workflows.steps import resync, store_process_subscription, uns from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict, model_validator +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router from gso.services import lso_client from gso.services.kentik_client import KentikClient, NewKentikDevice from gso.services.lso_client import lso_interaction from gso.services.subscriptions import get_all_active_sites -from gso.types.tt_number import TTNumber from gso.utils.helpers import generate_inventory_for_active_routers from gso.utils.shared_enums import Vendor diff --git a/gso/workflows/router/redeploy_base_config.py b/gso/workflows/router/redeploy_base_config.py index eef8b6e74fe3db1c5d5d292fc498a1872955c622..022f2696621907da183ca6360bbcccf361d14af8 100644 --- a/gso/workflows/router/redeploy_base_config.py +++ b/gso/workflows/router/redeploy_base_config.py @@ -8,9 +8,9 @@ from orchestrator.workflow import StepList, begin, done, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.annotations.tt_number import TTNumber from gso.products.product_types.router import Router from gso.services.lso_client import lso_interaction -from gso.types.tt_number import TTNumber from gso.utils.workflow_steps import deploy_base_config_dry, deploy_base_config_real diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py index 60895ab33d7fc0c40a5d8df58db7d6a543c3361d..15cb8e722adba0f4ab04bad9d6b860b4b2c4aa4a 100644 --- a/gso/workflows/router/terminate_router.py +++ b/gso/workflows/router/terminate_router.py @@ -20,6 +20,7 @@ from orchestrator.workflows.steps import ( ) from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router from gso.services import infoblox, lso_client @@ -28,7 +29,6 @@ from gso.services.librenms_client import LibreNMSClient from gso.services.lso_client import execute_playbook, lso_interaction from gso.services.netbox_client import NetboxClient from gso.settings import load_oss_params -from gso.types.tt_number import TTNumber from gso.utils.helpers import generate_inventory_for_active_routers from gso.utils.shared_enums import Vendor diff --git a/gso/workflows/router/update_ibgp_mesh.py b/gso/workflows/router/update_ibgp_mesh.py index f8f17a4829060c6654782a342e0380415e01336c..6950994d30ad7339370343c01bb6bf1e4f38ae1b 100644 --- a/gso/workflows/router/update_ibgp_mesh.py +++ b/gso/workflows/router/update_ibgp_mesh.py @@ -12,13 +12,13 @@ from orchestrator.workflows.steps import resync, store_process_subscription, uns from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict, model_validator +from gso.annotations.snmp import SNMPVersion +from gso.annotations.tt_number import TTNumber from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router from gso.services import librenms_client, lso_client from gso.services.lso_client import lso_interaction from gso.services.subscriptions import get_trunks_that_terminate_on_router -from gso.types.snmp import SNMPVersion -from gso.types.tt_number import TTNumber from gso.utils.helpers import generate_inventory_for_active_routers diff --git a/gso/workflows/site/create_imported_site.py b/gso/workflows/site/create_imported_site.py index 297761dbffff46f52851a96dcee65323b016fd30..7d285b87732cf6038890a9dc682a0a2a85209509 100644 --- a/gso/workflows/site/create_imported_site.py +++ b/gso/workflows/site/create_imported_site.py @@ -9,14 +9,14 @@ from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import ConfigDict +from gso.annotations.base_site import BaseSiteValidatorModel +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.ip_address import IPAddress from gso.products import ProductName from gso.products.product_blocks.site import SiteTier from gso.products.product_types.site import ImportedSiteInactive from gso.services import subscriptions from gso.services.partners import get_partner_by_name -from gso.types.base_site import BaseSiteValidatorModel -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.ip_address import IPAddress @step("Create subscription") diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py index ec80732cebfce3edfc79a9a689a8faa6a6e718c4..9178fae61248ea638357d39eabd6db83771f75bb 100644 --- a/gso/workflows/site/create_site.py +++ b/gso/workflows/site/create_site.py @@ -9,12 +9,12 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict from pydantic_forms.validators import ReadOnlyField +from gso.annotations.base_site import BaseSiteValidatorModel +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.ip_address import IPAddress from gso.products.product_blocks import site as site_pb from gso.products.product_types import site from gso.services.partners import get_partner_by_name -from gso.types.base_site import BaseSiteValidatorModel -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.ip_address import IPAddress def initial_input_form_generator(product_name: str) -> FormGenerator: diff --git a/gso/workflows/site/modify_site.py b/gso/workflows/site/modify_site.py index b68626b1db05f4a7548581818aefbe0ea087d66d..09a61ea48b955e6609b1e9c0d278c3f9783bc064 100644 --- a/gso/workflows/site/modify_site.py +++ b/gso/workflows/site/modify_site.py @@ -16,11 +16,11 @@ from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict from pydantic_forms.validators import ReadOnlyField +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.ip_address import IPAddress +from gso.annotations.unique_field import UniqueField from gso.products.product_blocks.site import SiteTier from gso.products.product_types.site import Site -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate -from gso.types.ip_address import IPAddress -from gso.types.unique_field import UniqueField def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: diff --git a/test/cli/test_imports.py b/test/cli/test_imports.py index 89933fc8de3f9b4860f60d387867dedc2ed99371..61af178898c0f2eba15bf89ca5854d13ca9bbd16 100644 --- a/test/cli/test_imports.py +++ b/test/cli/test_imports.py @@ -4,6 +4,7 @@ from unittest.mock import patch import pytest +from gso.annotations.interfaces import PhysicalPortCapacity from gso.cli.imports import ( import_iptrunks, import_office_routers, @@ -16,7 +17,6 @@ from gso.products import Router, Site from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.router import RouterRole from gso.products.product_blocks.site import SiteTier -from gso.types.interfaces import PhysicalPortCapacity from gso.utils.helpers import iso_from_ipv4 from gso.utils.shared_enums import Vendor diff --git a/test/conftest.py b/test/conftest.py index 8cfea9d28eacfd24c6397c514245024cb15b5f6d..4e7f562ac09b38e2962a102efeb954e74274983c 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -32,9 +32,9 @@ from sqlalchemy.orm import scoped_session, sessionmaker from starlette.testclient import TestClient from urllib3_mock import Responses +from gso.annotations.interfaces import LAGMember, LAGMemberList from gso.main import init_gso_app from gso.services.partners import PartnerSchema, create_partner -from gso.types.interfaces import LAGMember, LAGMemberList from test.fixtures import ( # noqa: F401 iptrunk_side_subscription_factory, iptrunk_subscription_factory, diff --git a/test/fixtures.py b/test/fixtures.py index 4fa5a2a0ec30f416ae4ecbae274e6fa5fa39a843..8ed8ae0f9c46853bedc0bba84a1782bebaffa6b5 100644 --- a/test/fixtures.py +++ b/test/fixtures.py @@ -21,6 +21,7 @@ from pydantic_forms.core import FormPage from pydantic_forms.types import FormGenerator, SubscriptionMapping from pydantic_forms.validators import Choice +from gso.annotations.interfaces import PhysicalPortCapacity from gso.products import ProductName from gso.products.product_blocks.iptrunk import ( IptrunkInterfaceBlock, @@ -36,7 +37,6 @@ from gso.products.product_types.router import ImportedRouterInactive, Router, Ro from gso.products.product_types.site import ImportedSiteInactive, Site, SiteInactive from gso.products.product_types.super_pop_switch import ImportedSuperPopSwitchInactive, SuperPopSwitchInactive from gso.services import subscriptions -from gso.types.interfaces import PhysicalPortCapacity from gso.utils.shared_enums import Vendor from test.workflows import WorkflowInstanceForTests diff --git a/test/schemas/test_types.py b/test/schemas/test_types.py index 33c3f20937232b75b92c9db5813462b5f0a5c57c..069e43103e30b1266b8783916e031b1dfbe50f3e 100644 --- a/test/schemas/test_types.py +++ b/test/schemas/test_types.py @@ -1,7 +1,7 @@ import pytest from pydantic import BaseModel, ValidationError -from gso.types.coordinates import LatitudeCoordinate, LongitudeCoordinate +from gso.annotations.coordinates import LatitudeCoordinate, LongitudeCoordinate class LatitudeModel(BaseModel): diff --git a/test/services/test_librenms_client.py b/test/services/test_librenms_client.py index 1bd14b9b65c06dcc8d1ad3785b575b11de3bfc54..c6cf2ce9e9c9ea6bed6ca8ef82e9ffe450ee0144 100644 --- a/test/services/test_librenms_client.py +++ b/test/services/test_librenms_client.py @@ -4,8 +4,8 @@ from unittest.mock import patch import pytest from requests import HTTPError +from gso.annotations.snmp import SNMPVersion from gso.services.librenms_client import LibreNMSClient -from gso.types.snmp import SNMPVersion @pytest.fixture() diff --git a/test/utils/test_helpers.py b/test/utils/test_helpers.py index 5f9476096ea070d3c8856e623e3dc1301f001941..f7e278284223a551af95b951fd1415692a15fe45 100644 --- a/test/utils/test_helpers.py +++ b/test/utils/test_helpers.py @@ -3,10 +3,10 @@ from unittest.mock import patch import pytest from orchestrator.types import SubscriptionLifecycle +from gso.annotations.tt_number import validate_tt_number from gso.products import Router from gso.products.product_blocks.iptrunk import IptrunkInterfaceBlock from gso.products.product_blocks.router import RouterRole -from gso.types.tt_number import validate_tt_number from gso.utils.helpers import ( available_interfaces_choices_including_current_members, generate_inventory_for_active_routers, diff --git a/test/workflows/iptrunk/test_create_imported_iptrunk.py b/test/workflows/iptrunk/test_create_imported_iptrunk.py index 263c4f161d99985b48da258d1660925e58c24157..4f4455960ca5242daca7a06e176c947a4c957ea2 100644 --- a/test/workflows/iptrunk/test_create_imported_iptrunk.py +++ b/test/workflows/iptrunk/test_create_imported_iptrunk.py @@ -1,10 +1,10 @@ import pytest from orchestrator.types import SubscriptionLifecycle +from gso.annotations.interfaces import PhysicalPortCapacity from gso.products import ProductName from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_types.iptrunk import ImportedIptrunk -from gso.types.interfaces import PhysicalPortCapacity from test.workflows import ( assert_complete, extract_state, diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py index cd33943ce75887824d73ac2a810cef2a75edfa04..f11a60aaff29274706a25c2fd5d3086cdf4084f5 100644 --- a/test/workflows/iptrunk/test_create_iptrunk.py +++ b/test/workflows/iptrunk/test_create_iptrunk.py @@ -4,10 +4,10 @@ from unittest.mock import patch import pytest from infoblox_client.objects import HostRecord +from gso.annotations.interfaces import PhysicalPortCapacity from gso.products import Iptrunk, ProductName from gso.products.product_blocks.iptrunk import IptrunkType from gso.services.subscriptions import get_product_id_by_name -from gso.types.interfaces import PhysicalPortCapacity from gso.utils.shared_enums import Vendor from test import USER_CONFIRM_EMPTY_FORM from test.services.conftest import MockedNetboxClient, MockedSharePointClient diff --git a/test/workflows/iptrunk/test_modify_trunk_interface.py b/test/workflows/iptrunk/test_modify_trunk_interface.py index b784d262a75533e5e46945763c76c06e391cd269..1993971fb5b792cbabcf9f0a31e5ec0af002affe 100644 --- a/test/workflows/iptrunk/test_modify_trunk_interface.py +++ b/test/workflows/iptrunk/test_modify_trunk_interface.py @@ -2,9 +2,9 @@ from unittest.mock import patch import pytest +from gso.annotations.interfaces import LAGMemberList, PhysicalPortCapacity from gso.products import Iptrunk from gso.products.product_blocks.iptrunk import IptrunkType -from gso.types.interfaces import LAGMemberList, PhysicalPortCapacity from gso.utils.shared_enums import Vendor from test.conftest import UseJuniperSide from test.workflows import (