1212# limitations under the License.
1313
1414
15- from pydantic_forms .types import UUIDstr
1615from orchestrator .types import SubscriptionLifecycle
1716from orchestrator .workflow import StepList , begin , step
1817from orchestrator .workflows .steps import set_status
19- from orchestrator .workflows .utils import modify_workflow
18+ from orchestrator .workflows .utils import modify_workflow , reconcile_workflow
2019from pydantic_forms .core import FormPage
21- from pydantic_forms .types import FormGenerator , State
20+ from pydantic_forms .types import FormGenerator , State , UUIDstr
2221
2322from products .product_types .l2vpn import L2vpn , L2vpnProvisioning
2423from products .services .description import description
@@ -37,7 +36,9 @@ class ModifyL2vpnForm(FormPage):
3736 user_input_dict = user_input .model_dump ()
3837
3938 summary_fields = ["speed" , "speed_policer" ]
40- yield from modify_summary_form (user_input_dict , subscription .virtual_circuit , summary_fields )
39+ yield from modify_summary_form (
40+ user_input_dict , subscription .virtual_circuit , summary_fields
41+ )
4142
4243 return user_input_dict | {"subscription" : subscription }
4344
@@ -66,13 +67,21 @@ def update_l2vpn_in_nrm(subscription: L2vpnProvisioning) -> State:
6667 return {"subscription" : subscription }
6768
6869
70+ update_l2vpn_in_external_systems = begin >> update_l2vpn_in_nrm
71+
72+
6973@modify_workflow ("Modify l2vpn" , initial_input_form = initial_input_form_generator )
7074def modify_l2vpn () -> StepList :
7175 return (
7276 begin
7377 >> set_status (SubscriptionLifecycle .PROVISIONING )
7478 >> update_subscription
7579 >> update_subscription_description
76- >> update_l2vpn_in_nrm
7780 >> set_status (SubscriptionLifecycle .ACTIVE )
81+ >> update_l2vpn_in_external_systems
7882 )
83+
84+
85+ @reconcile_workflow ("Reconcile SN8 L2Vpn" )
86+ def reconcile_l2vpn () -> StepList :
87+ return begin >> update_l2vpn_in_external_systems
0 commit comments