From 8eac9e8f43bc6b4d10f3f23a38248330f1d3fd41 Mon Sep 17 00:00:00 2001
From: Hakan Calim <hakan.calim@fau.de>
Date: Mon, 11 Dec 2023 11:40:53 +0100
Subject: [PATCH] NAT-329 added interface name validation for juniper members

---
 gso/workflows/iptrunk/migrate_iptrunk.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py
index 36cd5af9..03a3dc08 100644
--- a/gso/workflows/iptrunk/migrate_iptrunk.py
+++ b/gso/workflows/iptrunk/migrate_iptrunk.py
@@ -37,6 +37,7 @@ from gso.utils.helpers import (
     available_lags_choices,
     get_router_vendor,
     set_isis_to_90000,
+    validate_interface_name_list,
 )
 
 logger = getLogger(__name__)
@@ -155,6 +156,11 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
                     raise ValueError(msg)
             return new_lag_interface
 
+        @validator("new_lag_member_interfaces", allow_reuse=True, pre=True, always=True)
+        def is_interface_names_valid_juniper(cls, new_lag_member_interfaces: list[LAGMember]) -> list[LAGMember]:
+            vendor = get_router_vendor(new_router)
+            return validate_interface_name_list(new_lag_member_interfaces, vendor)
+
     new_side_input = yield NewSideIPTrunkForm
     return (
         migrate_form_input.dict()
-- 
GitLab