diff --git a/gso/cli/imports.py b/gso/cli/imports.py index 6444aba8963fcd8c2364eccc0afb3ee85b40d59b..85db5b756101ab06f7aa86cd54d696586f75641d 100644 --- a/gso/cli/imports.py +++ b/gso/cli/imports.py @@ -12,8 +12,9 @@ import typer import yaml from orchestrator.db import db from orchestrator.services.processes import start_process -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from pydantic import BaseModel, NonNegativeInt, ValidationError, field_validator, model_validator +from pydantic_forms.types import UUIDstr from sqlalchemy.exc import SQLAlchemyError from gso.db.models import PartnerTable diff --git a/gso/products/product_blocks/edge_port.py b/gso/products/product_blocks/edge_port.py index 1603f5a39776fbc0ce10ed6ed20d4c5a3a49514f..7fa1b5c706d2e2ecc5a106f6f42e158112c7c06d 100644 --- a/gso/products/product_blocks/edge_port.py +++ b/gso/products/product_blocks/edge_port.py @@ -5,7 +5,8 @@ different technological domain, still managed by GÉANT. In other words, an Edge """ from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle, strEnum +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import strEnum from gso.products.product_blocks.router import RouterBlock, RouterBlockInactive, RouterBlockProvisioning from gso.utils.types.interfaces import LAGMemberList, PhysicalPortCapacity diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index 1f67f312a84e16346277ed0bdb84f4e4674628ce..698800d9c7583b0ce9cb55cb5cc747e2fe76ef29 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -5,8 +5,9 @@ from typing import Annotated from annotated_types import Len from orchestrator.domain.base import ProductBlockModel, T -from orchestrator.types import SubscriptionLifecycle, strEnum +from orchestrator.types import SubscriptionLifecycle from pydantic import AfterValidator +from pydantic_forms.types import strEnum from pydantic_forms.validators import validate_unique_list from typing_extensions import Doc diff --git a/gso/products/product_blocks/router.py b/gso/products/product_blocks/router.py index de428138a9e305e67cbb0bfbfc705866b5d17135..b45082225bb77700ee079c9dc05cd04557cb2ce6 100644 --- a/gso/products/product_blocks/router.py +++ b/gso/products/product_blocks/router.py @@ -1,7 +1,8 @@ """Product block for `Router` products.""" from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle, strEnum +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import strEnum from gso.products.product_blocks.site import ( SiteBlock, diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py index 22cc4940094ca50d494bc90507466a57b125e299..52db8df31321458489c254075cb2e509a9ed9b4e 100644 --- a/gso/products/product_blocks/site.py +++ b/gso/products/product_blocks/site.py @@ -1,7 +1,8 @@ """The product block that describes a site subscription.""" from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle, strEnum +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import strEnum from gso.utils.types.coordinates import LatitudeCoordinate, LongitudeCoordinate from gso.utils.types.ip_address import IPAddress diff --git a/gso/services/lso_client.py b/gso/services/lso_client.py index e6268e5c4859d77af7ef14ea91bc86224dc7c27e..2318cffd7396e51c620fa55087faea21e7043187 100644 --- a/gso/services/lso_client.py +++ b/gso/services/lso_client.py @@ -11,11 +11,10 @@ import requests from orchestrator import step from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage -from orchestrator.types import State from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import Step, StepList, begin, callback_step, conditional, inputstep from pydantic import ConfigDict -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, State from pydantic_forms.validators import Label, LongText, ReadOnlyField from unidecode import unidecode diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py index 2928263c920da52e0993fbb43ddc4dbfa2d20283..7ff8e29c2326dcfbbf60143b0800e2c952282c0a 100644 --- a/gso/services/netbox_client.py +++ b/gso/services/netbox_client.py @@ -5,7 +5,7 @@ from uuid import UUID import pydantic import pynetbox -from orchestrator.types import UUIDstr +from pydantic_forms.types import UUIDstr from pynetbox.models.dcim import Devices, DeviceTypes, Interfaces from gso.products.product_types.router import Router diff --git a/gso/services/processes.py b/gso/services/processes.py index 3e1b47e2974d80dc392bab115c4313c66e65e5cc..5d6f5105ddc27271e6e87c55ca58362ff57368e4 100644 --- a/gso/services/processes.py +++ b/gso/services/processes.py @@ -5,8 +5,8 @@ or inconsistent when not careful. These methods are related to operations regard """ from orchestrator.db import ProcessTable, WorkflowTable, db -from orchestrator.types import UUIDstr from orchestrator.workflow import ProcessStatus +from pydantic_forms.types import UUIDstr from sqlalchemy import ScalarResult, or_, select from sqlalchemy.orm import Query diff --git a/gso/services/subscriptions.py b/gso/services/subscriptions.py index 543fae4a1f24def0afbce8b2a5f5f7607dc56ca7..9f3623b723969e5d7caef5488db951b9e4af0c4a 100644 --- a/gso/services/subscriptions.py +++ b/gso/services/subscriptions.py @@ -18,7 +18,8 @@ from orchestrator.db import ( ) from orchestrator.domain import SubscriptionModel from orchestrator.services.subscriptions import query_in_use_by_subscriptions -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import UUIDstr from sqlalchemy import and_, text from sqlalchemy.exc import SQLAlchemyError diff --git a/gso/settings.py b/gso/settings.py index e7326dbbcb27b6c0fcef7a5dc15c9b5bbc482fb3..fbd4286411019fe56be9dedfcb615a86dcbbfc81 100644 --- a/gso/settings.py +++ b/gso/settings.py @@ -10,9 +10,8 @@ import logging import os from pathlib import Path -from orchestrator.types import UUIDstr from pydantic import EmailStr -from pydantic_forms.types import strEnum +from pydantic_forms.types import UUIDstr, strEnum from pydantic_settings import BaseSettings from gso.utils.types.ip_address import IPv4Netmask, IPv6Netmask, PortNumber diff --git a/gso/utils/types/netbox_router.py b/gso/utils/types/netbox_router.py index c184c09bebba0583afd5628b55587d9d05f4121d..a0f50a6987b8a57973d206423a634b50dd1ac0ba 100644 --- a/gso/utils/types/netbox_router.py +++ b/gso/utils/types/netbox_router.py @@ -2,8 +2,8 @@ from typing import Annotated, TypeVar -from orchestrator.types import UUIDstr from pydantic import AfterValidator +from pydantic_forms.types import UUIDstr from gso.products.product_types.router import Router from gso.services.netbox_client import NetboxClient diff --git a/gso/utils/workflow_steps.py b/gso/utils/workflow_steps.py index 754af0819ae239fa1064c7320dace6572fd62f32..6c90f051cb19b312a1706db411a6084b5be1b5fe 100644 --- a/gso/utils/workflow_steps.py +++ b/gso/utils/workflow_steps.py @@ -6,12 +6,11 @@ from typing import Any from orchestrator import inputstep, step from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage -from orchestrator.types import State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, conditional from pydantic import ConfigDict -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Label from gso.products.product_blocks.router import RouterRole diff --git a/gso/workflows/edge_port/create_edge_port.py b/gso/workflows/edge_port/create_edge_port.py index 7526ad69dd5de092769108370b328d01f56fd52c..6686e2669472ae68ee7965e726c515ec8d013307 100644 --- a/gso/workflows/edge_port/create_edge_port.py +++ b/gso/workflows/edge_port/create_edge_port.py @@ -7,12 +7,13 @@ from annotated_types import Len from orchestrator import step, workflow from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import AfterValidator, ConfigDict, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import validate_unique_list from pynetbox.models.dcim import Interfaces diff --git a/gso/workflows/edge_port/create_imported_edge_port.py b/gso/workflows/edge_port/create_imported_edge_port.py index ef5d2d033203e082c67a67f88eb511043d4e2a51..6a0067275fcd032ea936ca57580dfe2bdc482ffe 100644 --- a/gso/workflows/edge_port/create_imported_edge_port.py +++ b/gso/workflows/edge_port/create_imported_edge_port.py @@ -6,11 +6,11 @@ from uuid import uuid4 from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import AfterValidator, ConfigDict -from pydantic_forms.types import UUIDstr +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import validate_unique_list from gso.products import ProductName diff --git a/gso/workflows/edge_port/import_edge_port.py b/gso/workflows/edge_port/import_edge_port.py index 3193489a6606eaff8f553e4358f5621352bca613..0d5bd41bcfd66df61029ea0ba44acab195e3860a 100644 --- a/gso/workflows/edge_port/import_edge_port.py +++ b/gso/workflows/edge_port/import_edge_port.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedEdgePort to an EdgePort subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.edge_port import EdgePort, ImportedEdgePort diff --git a/gso/workflows/edge_port/migrate_edge_port.py b/gso/workflows/edge_port/migrate_edge_port.py index 4602d72dd4dff19598d9932034b25f535d0f7271..afd2d6d0f46e9dd6a81f9fe1e290af0ff3b217d0 100644 --- a/gso/workflows/edge_port/migrate_edge_port.py +++ b/gso/workflows/edge_port/migrate_edge_port.py @@ -10,13 +10,13 @@ from orchestrator import step, workflow from orchestrator.config.assignee import Assignee from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, done, inputstep from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import AfterValidator, ConfigDict, Field +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Divider, Label, ReadOnlyField, validate_unique_list from pynetbox.models.dcim import Interfaces diff --git a/gso/workflows/edge_port/validate_edge_port.py b/gso/workflows/edge_port/validate_edge_port.py index 6932b2be338c076e6a3299cb98a727c0578cb990..1bbf60e3dd3b7368adf1a085aeaf333ee269fee9 100644 --- a/gso/workflows/edge_port/validate_edge_port.py +++ b/gso/workflows/edge_port/validate_edge_port.py @@ -3,11 +3,11 @@ from typing import Any from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.utils.errors import ProcessFailureError 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 pydantic_forms.types import State, UUIDstr from gso.products.product_types.edge_port import EdgePort from gso.services.lso_client import LSOState, anonymous_lso_interaction diff --git a/gso/workflows/iptrunk/activate_iptrunk.py b/gso/workflows/iptrunk/activate_iptrunk.py index af37f2f24fa81545cbd9e546b3605703dfe0b7c7..eaca69db1297f5e7c5c0ea9111516c0cc52a701f 100644 --- a/gso/workflows/iptrunk/activate_iptrunk.py +++ b/gso/workflows/iptrunk/activate_iptrunk.py @@ -8,10 +8,11 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, inputstep, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.iptrunk import Iptrunk diff --git a/gso/workflows/iptrunk/create_imported_iptrunk.py b/gso/workflows/iptrunk/create_imported_iptrunk.py index db1bdb6eb452a836eefa20216e5167e7c36baf0b..5e00dd29c984d2f7e58e687f5513804af0e7103d 100644 --- a/gso/workflows/iptrunk/create_imported_iptrunk.py +++ b/gso/workflows/iptrunk/create_imported_iptrunk.py @@ -7,10 +7,11 @@ from uuid import uuid4 from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import AfterValidator, ConfigDict +from pydantic_forms.types import FormGenerator, State from pydantic_forms.validators import validate_unique_list from gso.products import ProductName diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py index c42ec7024d86d9b85305b7d5383a0e8a5bc97704..b50b50cbb6dcf4a4aea7b96872c81d2403a1e4bf 100644 --- a/gso/workflows/iptrunk/create_iptrunk.py +++ b/gso/workflows/iptrunk/create_iptrunk.py @@ -34,7 +34,7 @@ from annotated_types import Len from orchestrator.forms import FormPage from orchestrator.forms.validators import Choice, Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, conditional, done, step, step_group, workflow @@ -42,6 +42,7 @@ from orchestrator.workflows.steps import resync, set_status, store_process_subsc from orchestrator.workflows.utils import wrap_create_initial_input_form from ping3 import ping from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from pynetbox.models.dcim import Interfaces diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py index 93c476ec4c38a5f930f2e75731bcdbc5c9d2bbf0..323963e7c3750e8e3d523745d41f4f29ceb84e36 100644 --- a/gso/workflows/iptrunk/deploy_twamp.py +++ b/gso/workflows/iptrunk/deploy_twamp.py @@ -9,11 +9,11 @@ import json from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, UUIDstr from orchestrator.utils.json import json_dumps 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 pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.iptrunk import Iptrunk from gso.services.lso_client import LSOState, lso_interaction diff --git a/gso/workflows/iptrunk/import_iptrunk.py b/gso/workflows/iptrunk/import_iptrunk.py index 36dce40de9daa4167b58f3e97458523a507b8203..05fff8c2dc2cc430ed205e1e9ce6cf38edb4a40d 100644 --- a/gso/workflows/iptrunk/import_iptrunk.py +++ b/gso/workflows/iptrunk/import_iptrunk.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedIptrunk to an Iptrunk subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.iptrunk import ImportedIptrunk, Iptrunk diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py index 60602b8e6b9034c2289948186493e8ba499c32fa..24b1fdb0a89d8f316fa891734d87df3075663238 100644 --- a/gso/workflows/iptrunk/migrate_iptrunk.py +++ b/gso/workflows/iptrunk/migrate_iptrunk.py @@ -17,12 +17,12 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.forms.validators import Choice, Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, conditional, done, inputstep from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from pynetbox.models.dcim import Interfaces diff --git a/gso/workflows/iptrunk/modify_isis_metric.py b/gso/workflows/iptrunk/modify_isis_metric.py index e144a147a68a4f8f6f5e61b011af132d9fa67c3b..03c73c15c28104072b575b06122dc04dbe8c5182 100644 --- a/gso/workflows/iptrunk/modify_isis_metric.py +++ b/gso/workflows/iptrunk/modify_isis_metric.py @@ -8,11 +8,11 @@ import json from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.json import json_dumps 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 pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products.product_types.iptrunk import Iptrunk from gso.services.lso_client import LSOState, lso_interaction diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index fd533613d911a9e56b8566c4a0f5de876cbc459c..46de31d9940e1bb542fa23d4f56346aba895a111 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -14,12 +14,12 @@ from uuid import UUID, uuid4 from annotated_types import Len from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, conditional, done, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import AfterValidator, ConfigDict, Field +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Label, ReadOnlyField from gso.products.product_blocks.iptrunk import ( diff --git a/gso/workflows/iptrunk/terminate_iptrunk.py b/gso/workflows/iptrunk/terminate_iptrunk.py index 2d0682a1c3006eeaa27cd9c38ed400e30b06b95d..47fceae0695eae68565d619f2894c65ce29d32f7 100644 --- a/gso/workflows/iptrunk/terminate_iptrunk.py +++ b/gso/workflows/iptrunk/terminate_iptrunk.py @@ -17,7 +17,7 @@ import json from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, conditional, done, step, workflow from orchestrator.workflows.steps import ( @@ -27,6 +27,7 @@ from orchestrator.workflows.steps import ( unsync, ) from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products.product_blocks.iptrunk import IptrunkSideBlock from gso.products.product_types.iptrunk import Iptrunk diff --git a/gso/workflows/l2_circuit/create_imported_layer_2_circuit.py b/gso/workflows/l2_circuit/create_imported_layer_2_circuit.py index 6dbd052ebc9d9d9494e42152d4b89a1d0a85cf26..8b835edc12ea4c87ffb22aad7308fdf625f8ba21 100644 --- a/gso/workflows/l2_circuit/create_imported_layer_2_circuit.py +++ b/gso/workflows/l2_circuit/create_imported_layer_2_circuit.py @@ -6,11 +6,11 @@ from uuid import uuid4 from orchestrator import step, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import BaseModel, ConfigDict, model_validator -from pydantic_forms.types import UUIDstr +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products import ProductName from gso.products.product_blocks.layer_2_circuit import Layer2CircuitSideBlockInactive, Layer2CircuitType diff --git a/gso/workflows/l2_circuit/import_layer_2_circuit.py b/gso/workflows/l2_circuit/import_layer_2_circuit.py index 01224e86cbdb614eb879dfc2622fdbfb2804d19b..35ed7755b47b915cb98ad1f0552f58535fb3b45c 100644 --- a/gso/workflows/l2_circuit/import_layer_2_circuit.py +++ b/gso/workflows/l2_circuit/import_layer_2_circuit.py @@ -1,11 +1,11 @@ """A modification workflow for migrating an ImportedLayer2Circuit to an Layer2Circuit subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.layer_2_circuit import ImportedLayer2Circuit, Layer2Circuit, Layer2CircuitServiceType diff --git a/gso/workflows/l2_circuit/modify_layer_2_circuit.py b/gso/workflows/l2_circuit/modify_layer_2_circuit.py index 6d7b15ff3a6d72f9e1b19e18a4f75e44c051193b..bd75b14fcf12f1e8dbb993d4e999383c9ab00f04 100644 --- a/gso/workflows/l2_circuit/modify_layer_2_circuit.py +++ b/gso/workflows/l2_circuit/modify_layer_2_circuit.py @@ -3,11 +3,11 @@ from orchestrator import begin, done, workflow from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, UUIDstr from orchestrator.workflow import StepList, step from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict, Field +from pydantic_forms.types import FormGenerator, UUIDstr from pydantic_forms.validators import Divider, Label, ReadOnlyField from gso.products.product_blocks.layer_2_circuit import Layer2CircuitType diff --git a/gso/workflows/l2_circuit/terminate_layer_2_circuit.py b/gso/workflows/l2_circuit/terminate_layer_2_circuit.py index f985c69cc76f83e9263baaec327d7980b1435cd9..e8773a678ea5ce19c0dddef11e19d036f622460e 100644 --- a/gso/workflows/l2_circuit/terminate_layer_2_circuit.py +++ b/gso/workflows/l2_circuit/terminate_layer_2_circuit.py @@ -3,11 +3,11 @@ from orchestrator import begin, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.layer_2_circuit import Layer2Circuit from gso.utils.types.tt_number import TTNumber diff --git a/gso/workflows/l3_core_service/create_imported_l3_core_service.py b/gso/workflows/l3_core_service/create_imported_l3_core_service.py index ebb73fb95687fbd6b31f59861c8f2bc1e27bba6f..70753dd08b427c3fc0930ada60a64713a636e4b8 100644 --- a/gso/workflows/l3_core_service/create_imported_l3_core_service.py +++ b/gso/workflows/l3_core_service/create_imported_l3_core_service.py @@ -5,12 +5,12 @@ from uuid import uuid4 from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import BaseModel, NonNegativeInt -from pydantic_forms.types import UUIDstr +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products import ProductName from gso.products.product_blocks.bgp_session import BGPSession, IPFamily, IPTypes diff --git a/gso/workflows/l3_core_service/create_l3_core_service.py b/gso/workflows/l3_core_service/create_l3_core_service.py index 3069bdacec12f1a035238a03eb9e17a0e6b4f7fd..947844e00af5a95613ea896279d036b322b294db 100644 --- a/gso/workflows/l3_core_service/create_l3_core_service.py +++ b/gso/workflows/l3_core_service/create_l3_core_service.py @@ -6,11 +6,12 @@ from uuid import uuid4 from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import BaseModel, ConfigDict, Field, NonNegativeInt, computed_field, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Divider from gso.products.product_blocks.bgp_session import BGPSession, IPFamily, IPTypes diff --git a/gso/workflows/l3_core_service/import_l3_core_service.py b/gso/workflows/l3_core_service/import_l3_core_service.py index d7f0d06ee85ebb28e8a1dac60769d8f4014187a7..1c9d85def744dfe543560ef12ce8e309022bb308 100644 --- a/gso/workflows/l3_core_service/import_l3_core_service.py +++ b/gso/workflows/l3_core_service/import_l3_core_service.py @@ -1,11 +1,11 @@ """A modification workflow for migrating an `ImportedGeantIP` to a `GeantIP` subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.l3_core_service import ( diff --git a/gso/workflows/l3_core_service/modify_l3_core_service.py b/gso/workflows/l3_core_service/modify_l3_core_service.py index ea2912e9b2fb1752e5b8927e8b048d075fc08a11..db0cd54d165846027554569f848cd5c3a3c21c5a 100644 --- a/gso/workflows/l3_core_service/modify_l3_core_service.py +++ b/gso/workflows/l3_core_service/modify_l3_core_service.py @@ -6,12 +6,11 @@ from uuid import uuid4 from orchestrator import begin, conditional, done, step, workflow from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, UUIDstr from orchestrator.workflow import StepList from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import AfterValidator, BaseModel, ConfigDict, Field, NonNegativeInt, computed_field -from pydantic_forms.types import State +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Divider, Label from gso.products.product_blocks.bgp_session import BGPSession, IPFamily, IPTypes diff --git a/gso/workflows/l3_core_service/terminate_l3_core_service.py b/gso/workflows/l3_core_service/terminate_l3_core_service.py index 9cf401a5c89edbef1169e9f642ef603fff9b27bb..8cae6c430b4a635906cf80fb3d67d25444a9a8ef 100644 --- a/gso/workflows/l3_core_service/terminate_l3_core_service.py +++ b/gso/workflows/l3_core_service/terminate_l3_core_service.py @@ -3,11 +3,11 @@ from orchestrator import begin, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.l3_core_service import L3CoreService from gso.utils.types.tt_number import TTNumber diff --git a/gso/workflows/lan_switch_interconnect/create_imported_lan_switch_interconnect.py b/gso/workflows/lan_switch_interconnect/create_imported_lan_switch_interconnect.py index 03c6e8aa8216809b82d10c51186a2bb56f25634e..12bcff95047f27e385655766bbbfa0f3a4020bbb 100644 --- a/gso/workflows/lan_switch_interconnect/create_imported_lan_switch_interconnect.py +++ b/gso/workflows/lan_switch_interconnect/create_imported_lan_switch_interconnect.py @@ -5,9 +5,10 @@ from uuid import uuid4 from orchestrator import step, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription +from pydantic_forms.types import FormGenerator, State from gso.cli.imports import LanSwitchInterconnectRouterSideImportModel, LanSwitchInterconnectSwitchSideImportModel from gso.products import ProductName 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 0c5f74850a8c518740d1eb73510e8aa0af80a198..4ebd46d9accd4992e29ead9a5afd78ab232b1ce1 100644 --- a/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py +++ b/gso/workflows/lan_switch_interconnect/create_lan_switch_interconnect.py @@ -7,12 +7,13 @@ from uuid import uuid4 from annotated_types import Len from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import AfterValidator, ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from gso.products.product_blocks.lan_switch_interconnect import ( diff --git a/gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py b/gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py index 0de05997aad2dc5ffd930c98f6f271174add6b82..32d47addfb270856f00ca4ccc2493f654899e0e4 100644 --- a/gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py +++ b/gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py @@ -2,10 +2,10 @@ from orchestrator import step, workflow from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.lan_switch_interconnect import ImportedLanSwitchInterconnect, LanSwitchInterconnect diff --git a/gso/workflows/lan_switch_interconnect/terminate_lan_switch_interconnect.py b/gso/workflows/lan_switch_interconnect/terminate_lan_switch_interconnect.py index 47e1865478179b1baffb0542dc5020aabe5f44d3..b878b7d6afc27ee0eebbdf76b18708b586a72148 100644 --- a/gso/workflows/lan_switch_interconnect/terminate_lan_switch_interconnect.py +++ b/gso/workflows/lan_switch_interconnect/terminate_lan_switch_interconnect.py @@ -3,11 +3,11 @@ from orchestrator import begin, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, UUIDstr from pydantic_forms.validators import Label from gso.products.product_types.lan_switch_interconnect import LanSwitchInterconnect diff --git a/gso/workflows/office_router/create_imported_office_router.py b/gso/workflows/office_router/create_imported_office_router.py index c1280c13d0b1e0e729843078939b091573267f14..9dbef9f32fd5f5b7eb4a0b1c4f09f54eb556e0d8 100644 --- a/gso/workflows/office_router/create_imported_office_router.py +++ b/gso/workflows/office_router/create_imported_office_router.py @@ -3,10 +3,11 @@ from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State from gso.products import ProductName from gso.products.product_types.office_router import ImportedOfficeRouterInactive diff --git a/gso/workflows/office_router/import_office_router.py b/gso/workflows/office_router/import_office_router.py index 0d1d67abdd28b7a67c68cec92f05d0268e52de1f..6ae3240b5d976a18357608e49123bb500a3237da 100644 --- a/gso/workflows/office_router/import_office_router.py +++ b/gso/workflows/office_router/import_office_router.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedOfficeRouter to an OfficeRouter subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.office_router import ImportedOfficeRouter, OfficeRouter diff --git a/gso/workflows/opengear/create_imported_opengear.py b/gso/workflows/opengear/create_imported_opengear.py index a7433f2bfed6a6b5400893d0f52b669a1e70fc9a..47f157f0f11e22f7181bd0eb623d4e16b4703ee8 100644 --- a/gso/workflows/opengear/create_imported_opengear.py +++ b/gso/workflows/opengear/create_imported_opengear.py @@ -3,10 +3,11 @@ from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, done, init, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State from gso.products import ProductName from gso.products.product_types.opengear import ImportedOpengearInactive diff --git a/gso/workflows/opengear/import_opengear.py b/gso/workflows/opengear/import_opengear.py index d9bb75306a39161dc03c78ca47cc70449cd56850..1b34b55a7e4598e07d8c61a41de7c95c0b26661d 100644 --- a/gso/workflows/opengear/import_opengear.py +++ b/gso/workflows/opengear/import_opengear.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedOpengear to an Opengear subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.opengear import ImportedOpengear, Opengear diff --git a/gso/workflows/router/activate_router.py b/gso/workflows/router/activate_router.py index 683292d764c332ce665faaaf1000645633e54957..e5b65ca5c4e0e674b9f7700fcc54dc59ff98fe0a 100644 --- a/gso/workflows/router/activate_router.py +++ b/gso/workflows/router/activate_router.py @@ -8,10 +8,11 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, inputstep, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.router import Router diff --git a/gso/workflows/router/create_imported_router.py b/gso/workflows/router/create_imported_router.py index 81acba1aedb5209a3e113ba5542a57492270667b..56640256ab700eb0207f25e18b72b3bd591fd96e 100644 --- a/gso/workflows/router/create_imported_router.py +++ b/gso/workflows/router/create_imported_router.py @@ -3,10 +3,11 @@ from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State from gso.products import ProductName from gso.products.product_blocks.router import RouterRole diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py index 6cd77a108e8c3bf3aaf62827f3b69156b20c1fbe..8c7a8434424c7f6ee4d7801597dd9975a4ebd27a 100644 --- a/gso/workflows/router/create_router.py +++ b/gso/workflows/router/create_router.py @@ -46,12 +46,13 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, conditional, done, inputstep, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from gso.products.product_blocks.router import RouterRole diff --git a/gso/workflows/router/import_router.py b/gso/workflows/router/import_router.py index 1421ff0faac2638d15e15bea867865ea887e16ec..efe39a1ae4c400924ec948205ccb269d89721ae9 100644 --- a/gso/workflows/router/import_router.py +++ b/gso/workflows/router/import_router.py @@ -1,10 +1,10 @@ """A modification workflow for setting a new ISIS metric for an IP trunk.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.router import ImportedRouter, Router diff --git a/gso/workflows/router/modify_connection_strategy.py b/gso/workflows/router/modify_connection_strategy.py index e571cfc44243a3a172ad9ce86377e380ef4e06b9..93cca08daf5f8cd6294f00a0f8657fd8712bc628 100644 --- a/gso/workflows/router/modify_connection_strategy.py +++ b/gso/workflows/router/modify_connection_strategy.py @@ -6,11 +6,11 @@ loopback interface. from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr 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 pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products.product_types.router import Router from gso.utils.shared_enums import ConnectionStrategy diff --git a/gso/workflows/router/modify_kentik_license.py b/gso/workflows/router/modify_kentik_license.py index 3a809fc0379072bb1bbd110608afcc7c24846bec..5b15f62fa6c4ae77e0ff13cf8cef66dda772a4c7 100644 --- a/gso/workflows/router/modify_kentik_license.py +++ b/gso/workflows/router/modify_kentik_license.py @@ -9,12 +9,12 @@ from typing import Any from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import store_process_subscription from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Choice from gso.products.product_blocks.router import RouterRole diff --git a/gso/workflows/router/promote_p_to_pe.py b/gso/workflows/router/promote_p_to_pe.py index 63f59a24cf66e68962278b2b6d305d570c042a08..ce961ed10581017bc7a592031fd36c1197c8cad7 100644 --- a/gso/workflows/router/promote_p_to_pe.py +++ b/gso/workflows/router/promote_p_to_pe.py @@ -7,12 +7,12 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, done, inputstep, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router diff --git a/gso/workflows/router/redeploy_base_config.py b/gso/workflows/router/redeploy_base_config.py index bd64fb7e276a940af816c81aeda3f29b23bc90e6..11c4264dc754f2e7289241a2324ba7b00dabf2c7 100644 --- a/gso/workflows/router/redeploy_base_config.py +++ b/gso/workflows/router/redeploy_base_config.py @@ -11,10 +11,10 @@ run. After confirmation by an operator, the configuration is committed to the ma from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, UUIDstr 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 pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.router import Router from gso.services.lso_client import lso_interaction diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py index a908bc8e184a147023fff8b81052feba81da300d..9c73b13e5ca3ae08dc6ef8e1c6bbffd133fd37e9 100644 --- a/gso/workflows/router/terminate_router.py +++ b/gso/workflows/router/terminate_router.py @@ -22,7 +22,7 @@ import logging from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.utils.errors import ProcessFailureError from orchestrator.utils.json import json_dumps from orchestrator.workflow import StepList, begin, conditional, done, step, workflow @@ -33,6 +33,7 @@ from orchestrator.workflows.steps import ( unsync, ) from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, State, UUIDstr from requests import HTTPError from gso.products.product_blocks.router import RouterRole diff --git a/gso/workflows/router/update_ibgp_mesh.py b/gso/workflows/router/update_ibgp_mesh.py index b0fa37c6da14f778074e5f05fc7e5dd9115e4f44..2c8c9db00fbc54649a8182f236e48648a899e359 100644 --- a/gso/workflows/router/update_ibgp_mesh.py +++ b/gso/workflows/router/update_ibgp_mesh.py @@ -24,11 +24,12 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, conditional, done, inputstep, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import ConfigDict, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router diff --git a/gso/workflows/router/validate_router.py b/gso/workflows/router/validate_router.py index a469237e5a4bdf365934203edaf90a7cfad17d16..25bd3176c50b8506117dc3c09767944c85707baa 100644 --- a/gso/workflows/router/validate_router.py +++ b/gso/workflows/router/validate_router.py @@ -3,11 +3,11 @@ from typing import Any from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.utils.errors import ProcessFailureError from orchestrator.workflow import StepList, begin, conditional, done, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products.product_blocks.router import RouterRole from gso.products.product_types.router import Router diff --git a/gso/workflows/site/create_imported_site.py b/gso/workflows/site/create_imported_site.py index 16f2471f7fd97b0d6918be70da8e0645415cf3b4..05d73eff24afd1fdaf4ff56c3953ef87c89f3786 100644 --- a/gso/workflows/site/create_imported_site.py +++ b/gso/workflows/site/create_imported_site.py @@ -4,10 +4,11 @@ from uuid import UUID from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle 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 pydantic_forms.types import FormGenerator, State from gso.products import ProductName from gso.products.product_blocks.site import SiteTier diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py index 149178e346c5526f2d42bcee95aae89e977a3c68..40f5ae0a148c968054cce5755f8ca0cc5ccf036d 100644 --- a/gso/workflows/site/create_site.py +++ b/gso/workflows/site/create_site.py @@ -6,11 +6,12 @@ The `create_site` workflow creates a new site object in the service database, an from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from gso.products.product_blocks import site as site_pb diff --git a/gso/workflows/site/import_site.py b/gso/workflows/site/import_site.py index f2130354c35095082dd1fcd2444f9ad924eaf719..20f19ff266504d41c56c04dccdd9df8f1506a6b4 100644 --- a/gso/workflows/site/import_site.py +++ b/gso/workflows/site/import_site.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedSite to a Site subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.site import ImportedSite, Site diff --git a/gso/workflows/site/modify_site.py b/gso/workflows/site/modify_site.py index 2a1913f6bbdeb56ff2b9e4ed7b26025566ccc9f3..8776bc3e4ea7f5acc78ec783be663465a1cd19da 100644 --- a/gso/workflows/site/modify_site.py +++ b/gso/workflows/site/modify_site.py @@ -17,7 +17,7 @@ from typing import Annotated from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import ( resync, @@ -27,6 +27,7 @@ from orchestrator.workflows.steps import ( ) from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import AfterValidator, ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from gso.products.product_blocks.site import SiteTier diff --git a/gso/workflows/site/terminate_site.py b/gso/workflows/site/terminate_site.py index 0e34f209cb50e1cd5f4ac1b446f30baabd9d7dbc..5e21a4cbfc610ce83cb237e4424a891f912190b0 100644 --- a/gso/workflows/site/terminate_site.py +++ b/gso/workflows/site/terminate_site.py @@ -8,7 +8,7 @@ unavailable for an operator to run, accompanied by an error message explaining t from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, workflow from orchestrator.workflows.steps import ( resync, @@ -17,6 +17,7 @@ from orchestrator.workflows.steps import ( unsync, ) from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.site import Site diff --git a/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py b/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py index 6b34253173ce2b5ec72963cd274b78141fba2504..e0e1eb7526f5ad45366311af98b466dd62960fa4 100644 --- a/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py +++ b/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py @@ -3,10 +3,11 @@ from orchestrator import workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State from gso.products import ProductName from gso.products.product_types.super_pop_switch import ImportedSuperPopSwitchInactive diff --git a/gso/workflows/super_pop_switch/import_super_pop_switch.py b/gso/workflows/super_pop_switch/import_super_pop_switch.py index 63c7148f978a7d11eb9b97f0d3bfabb9dc71b30c..e29e9d9fc74360dcae256e963cb3a2bcadbff28f 100644 --- a/gso/workflows/super_pop_switch/import_super_pop_switch.py +++ b/gso/workflows/super_pop_switch/import_super_pop_switch.py @@ -1,10 +1,10 @@ """A modification workflow for migrating an ImportedSuperPoPSwitch to a SuperPopSwitch subscription.""" from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.super_pop_switch import ImportedSuperPopSwitch, SuperPopSwitch diff --git a/gso/workflows/switch/activate_switch.py b/gso/workflows/switch/activate_switch.py index dc71cfa7d821765032f4f062e79919c39a2700ec..2957faa58d3020510b2c2c2c7c4054bf288cac3b 100644 --- a/gso/workflows/switch/activate_switch.py +++ b/gso/workflows/switch/activate_switch.py @@ -4,10 +4,11 @@ from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, inputstep, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.switch import Switch diff --git a/gso/workflows/switch/create_imported_switch.py b/gso/workflows/switch/create_imported_switch.py index 30d7ea46360d01d431c6c635bc8813af39146e07..76133b5f8930cd4540b90091b7e6e9e08d684797 100644 --- a/gso/workflows/switch/create_imported_switch.py +++ b/gso/workflows/switch/create_imported_switch.py @@ -3,9 +3,10 @@ from orchestrator import step, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, set_status, store_process_subscription +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.products import ProductName from gso.products.product_blocks.switch import SwitchModel diff --git a/gso/workflows/switch/create_switch.py b/gso/workflows/switch/create_switch.py index 09b0a03ea25af0880dbf6ef89ac02e6bd49f1a45..d2b7ec337a6dcd99098348da3eeb612933579469 100644 --- a/gso/workflows/switch/create_switch.py +++ b/gso/workflows/switch/create_switch.py @@ -5,11 +5,12 @@ from typing import Self from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, inputstep, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict, model_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Choice, Label, ReadOnlyField from gso.products.product_blocks.switch import SwitchModel diff --git a/gso/workflows/switch/import_switch.py b/gso/workflows/switch/import_switch.py index 8ecf2d43930b1e40f84d1866f2db0a7cf8115306..f0caa5eb6c1eaae8f3899e7dfaa8c55bb100c506 100644 --- a/gso/workflows/switch/import_switch.py +++ b/gso/workflows/switch/import_switch.py @@ -2,10 +2,10 @@ from orchestrator import step, workflow from orchestrator.targets import Target -from orchestrator.types import State, UUIDstr from orchestrator.workflow import StepList, begin, done from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from pydantic_forms.types import State, UUIDstr from gso.products import ProductName from gso.products.product_types.switch import ImportedSwitch, Switch diff --git a/gso/workflows/switch/terminate_switch.py b/gso/workflows/switch/terminate_switch.py index 84bea41dc5543631cec790a7dacb9bd729ea1f0d..01f149b1dae9717a955afbb78636942ce5d26e71 100644 --- a/gso/workflows/switch/terminate_switch.py +++ b/gso/workflows/switch/terminate_switch.py @@ -3,11 +3,11 @@ from orchestrator import begin, done, workflow from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, step from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, UUIDstr from pydantic_forms.validators import Label from gso.products.product_types.switch import Switch diff --git a/gso/workflows/tasks/create_partners.py b/gso/workflows/tasks/create_partners.py index e6e4e4b04703de62b46a74081327163bbde0bd56..3b82e41fba5a93cb2f744396e6ee82a34f5dc8e7 100644 --- a/gso/workflows/tasks/create_partners.py +++ b/gso/workflows/tasks/create_partners.py @@ -2,9 +2,9 @@ from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State from orchestrator.workflow import StepList, begin, done, step, workflow from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State from gso.services.partners import PartnerEmail, PartnerName, PartnerSchema, create_partner diff --git a/gso/workflows/tasks/delete_partners.py b/gso/workflows/tasks/delete_partners.py index 15cbe2ac2f932ad2de5fc0d584ce5e00eb3325e5..eaa97d7e9fb443fef9efa9758de6043b1fb6996c 100644 --- a/gso/workflows/tasks/delete_partners.py +++ b/gso/workflows/tasks/delete_partners.py @@ -4,9 +4,9 @@ from enum import Enum from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.workflow import StepList, begin, done, step, workflow from pydantic import ConfigDict, EmailStr, field_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.services.partners import delete_partner, get_partner_by_name from gso.services.subscriptions import get_subscriptions diff --git a/gso/workflows/tasks/modify_partners.py b/gso/workflows/tasks/modify_partners.py index 0445ceeeb65f82bb4e7ea8e1124bc2bc8613c34d..5910a7bd8e6fe6190bb5bccfd0c1428e63c43d7c 100644 --- a/gso/workflows/tasks/modify_partners.py +++ b/gso/workflows/tasks/modify_partners.py @@ -2,9 +2,9 @@ from orchestrator.forms import FormPage, SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.workflow import StepList, begin, done, step, workflow from pydantic import ConfigDict, EmailStr, field_validator +from pydantic_forms.types import FormGenerator, State, UUIDstr from gso.services.partners import ( ModifiedPartnerSchema, diff --git a/gso/workflows/tasks/send_email_notifications.py b/gso/workflows/tasks/send_email_notifications.py index 63947d0782bf5f839d416711028a4fe8db13aeca..527ea7f985d7d09f064d14a1b98565de4246c738 100644 --- a/gso/workflows/tasks/send_email_notifications.py +++ b/gso/workflows/tasks/send_email_notifications.py @@ -8,8 +8,8 @@ failed. from typing import Any from orchestrator.targets import Target -from orchestrator.types import State from orchestrator.workflow import StepList, conditional, done, init, step, workflow +from pydantic_forms.types import State from gso.services.mailer import send_mail from gso.services.processes import get_failed_tasks, get_failed_tasks_by_workflow_name diff --git a/gso/workflows/vrf/create_vrf.py b/gso/workflows/vrf/create_vrf.py index 8844ea0c0d3911c406446a25268882f383b2b830..29b46a561e3de85676e6daf4c32600c79e3b4e73 100644 --- a/gso/workflows/vrf/create_vrf.py +++ b/gso/workflows/vrf/create_vrf.py @@ -2,11 +2,12 @@ from orchestrator.forms import FormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.utils import wrap_create_initial_input_form from pydantic import ConfigDict +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import ReadOnlyField from gso.products.product_types.vrf import VRFInactive diff --git a/gso/workflows/vrf/modify_vrf_router_list.py b/gso/workflows/vrf/modify_vrf_router_list.py index 200912317a115ede0cd63a56147e3716d9da4cdf..1dde31b7cffb1373c46dd89c2bd8269a06fcaa21 100644 --- a/gso/workflows/vrf/modify_vrf_router_list.py +++ b/gso/workflows/vrf/modify_vrf_router_list.py @@ -4,11 +4,11 @@ from typing import Annotated, Any from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target -from orchestrator.types import FormGenerator, State, UUIDstr 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 pydantic import AfterValidator, BaseModel, ConfigDict, Field +from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import validate_unique_list from gso.products.product_types.router import Router diff --git a/gso/workflows/vrf/terminate_vrf.py b/gso/workflows/vrf/terminate_vrf.py index 1b985206b68f788219212ba3676ab245abd6a61d..1b1a6ea7ffd3ba5ce170547f64b7e0788a6b9305 100644 --- a/gso/workflows/vrf/terminate_vrf.py +++ b/gso/workflows/vrf/terminate_vrf.py @@ -5,7 +5,7 @@ from typing import Any from orchestrator.forms import SubmitFormPage from orchestrator.forms.validators import Label from orchestrator.targets import Target -from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle from orchestrator.workflow import StepList, begin, done, workflow from orchestrator.workflows.steps import ( resync, @@ -15,6 +15,7 @@ from orchestrator.workflows.steps import ( ) from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import model_validator +from pydantic_forms.types import FormGenerator, UUIDstr from gso.products.product_types.vrf import VRF from gso.utils.types.tt_number import TTNumber diff --git a/test/conftest.py b/test/conftest.py index 731e0a3c1894d10f73a29cbbc4f6c79ec045108a..0c1dff0cf6f490bbd7251d8f800e2abf98acc00f 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -25,7 +25,8 @@ from orchestrator.db import ( from orchestrator.db.database import ENGINE_ARGUMENTS, SESSION_ARGUMENTS, BaseModel from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY, SubscriptionModel from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle, strEnum +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import strEnum from sqlalchemy import create_engine, select, text from sqlalchemy.engine import make_url from sqlalchemy.orm import scoped_session, sessionmaker diff --git a/test/fixtures.py b/test/fixtures.py index 4d503bf11c4cb639ba97cf4e0a9a94f8232e2a55..6687d05e1695bfc821cb6a31abb5b331f3a7fad3 100644 --- a/test/fixtures.py +++ b/test/fixtures.py @@ -6,9 +6,8 @@ import pytest from orchestrator import step, workflow from orchestrator.config.assignee import Assignee from orchestrator.forms import SubmitFormPage -from orchestrator.types import UUIDstr from orchestrator.workflow import done, init, inputstep -from pydantic_forms.types import FormGenerator +from pydantic_forms.types import FormGenerator, UUIDstr from pydantic_forms.validators import Choice from test.workflows import WorkflowInstanceForTests diff --git a/test/fixtures/lan_switch_interconnect_fixtures.py b/test/fixtures/lan_switch_interconnect_fixtures.py index 40f95374d3cb04da15995e7ab7601eaadc51a6a4..3879441ee8390cc6d2ee0b7af8a6b11ae8195e5e 100644 --- a/test/fixtures/lan_switch_interconnect_fixtures.py +++ b/test/fixtures/lan_switch_interconnect_fixtures.py @@ -3,7 +3,8 @@ from uuid import uuid4 import pytest from orchestrator.db import db from orchestrator.domain import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle, UUIDstr +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import UUIDstr from gso.products import ProductName from gso.products.product_blocks.lan_switch_interconnect import ( diff --git a/test/workflows/__init__.py b/test/workflows/__init__.py index 4edb847047b22ed4e4201836054a25606cb0f8cc..33a0e3f1a97f07f0c2e9ef27d84951f4fbd7ee8f 100644 --- a/test/workflows/__init__.py +++ b/test/workflows/__init__.py @@ -8,12 +8,12 @@ from uuid import uuid4 import structlog from orchestrator.db import ProcessTable, WorkflowTable, db from orchestrator.services.processes import StateMerger, _db_create_process -from orchestrator.types import State from orchestrator.utils.json import json_dumps, json_loads from orchestrator.workflow import Process, ProcessStat, Step, Success, Workflow, runwf from orchestrator.workflow import Process as WFProcess from orchestrator.workflows import ALL_WORKFLOWS, LazyWorkflowInstance, get_workflow from pydantic_forms.core import post_form +from pydantic_forms.types import State from test import LSO_RESULT_FAILURE, LSO_RESULT_SUCCESS, USER_CONFIRM_EMPTY_FORM