Skip to content

Terminate layer 2 circuit

Workflow for terminating a Layer 2 Circuit.

terminate_layer_2_circuit()

Terminate a Layer 2 Circuit subscription.

Source code in gso/workflows/l2_circuit/terminate_layer_2_circuit.py
@workflow(
    "Terminate Layer 2 Circuit Service",
    initial_input_form=wrap_modify_initial_input_form(_input_form_generator),
    target=Target.TERMINATE,
)
def terminate_layer_2_circuit() -> StepList:
    """Terminate a Layer 2 Circuit subscription."""
    run_ansible_steps = conditional(lambda state: state["run_ansible_steps"])

    return (
        begin
        >> store_process_subscription(Target.TERMINATE)
        >> unsync
        >> run_ansible_steps(generate_fqdn_list)
        >> run_ansible_steps(extract_partner_name_from_edge_port)
        >> run_ansible_steps(lso_interaction(terminate_l2circuit_dry))
        >> run_ansible_steps(lso_interaction(terminate_l2circuit_real))
        >> set_status(SubscriptionLifecycle.TERMINATED)
        >> resync
        >> done
    )