1212# limitations under the License.
1313
1414
15- from orchestrator .types import SubscriptionLifecycle
1615from orchestrator .workflow import StepList , begin , step
17- from orchestrator .workflows .steps import set_status
18- from orchestrator .workflows .utils import modify_workflow , reconcile_workflow
16+ from orchestrator .workflows .utils import modify_workflow , reconcile_workflow , ensure_provisioning_status
1917from pydantic_forms .core import FormPage
2018from pydantic_forms .types import FormGenerator , State , UUIDstr
2119
@@ -43,6 +41,7 @@ class ModifyL2vpnForm(FormPage):
4341 return user_input_dict | {"subscription" : subscription }
4442
4543
44+ @ensure_provisioning_status
4645@step ("Update subscription" )
4746def update_subscription (
4847 subscription : L2vpnProvisioning ,
@@ -51,18 +50,13 @@ def update_subscription(
5150) -> State :
5251 subscription .virtual_circuit .speed = speed
5352 subscription .virtual_circuit .speed_policer = speed_policer
54-
55- return {"subscription" : subscription }
56-
57-
58- @step ("Update subscription description" )
59- def update_subscription_description (subscription : L2vpn ) -> State :
6053 subscription .description = description (subscription )
54+
6155 return {"subscription" : subscription }
6256
6357
6458@step ("Update L2VPN in NRM" )
65- def update_l2vpn_in_nrm (subscription : L2vpnProvisioning ) -> State :
59+ def update_l2vpn_in_nrm (subscription : L2vpn ) -> State :
6660 """Dummy step, replace with actual call to NRM."""
6761 return {"subscription" : subscription }
6862
@@ -75,10 +69,7 @@ def update_l2vpn_in_nrm(subscription: L2vpnProvisioning) -> State:
7569def modify_l2vpn () -> StepList :
7670 return (
7771 begin
78- >> set_status (SubscriptionLifecycle .PROVISIONING )
7972 >> update_subscription
80- >> update_subscription_description
81- >> set_status (SubscriptionLifecycle .ACTIVE )
8273 >> update_l2vpn_in_external_systems
8374 )
8475
0 commit comments