Skip to content
Snippets Groups Projects

Feature/vrf

Merged Neda Moeini requested to merge feature/vrf into develop
All threads resolved!
1 file
+ 9
1
Compare changes
  • Side-by-side
  • Inline
@@ -8,7 +8,7 @@ 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 BaseModel, ConfigDict, Field
from pydantic import BaseModel, ConfigDict, Field, field_validator
from gso.products.product_types.router import Router
from gso.products.product_types.vrf import VRF
@@ -35,6 +35,14 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
RouterSelection(router_id=str(router.owner_subscription_id)) for router in subscription.vrf.vrf_router_list
]
@field_validator("router_list")
def router_list_must_not_have_duplicates(cls, router_list: list[RouterSelection]) -> list[RouterSelection]:
router_ids = [router.router_id for router in router_list]
if len(router_ids) != len(set(router_ids)):
msg = "Duplicate router IDs found in the list."
raise ValueError(msg)
return router_list
user_input = yield ModifyVRFRouterListForm
return user_input.model_dump()
Loading