Modification workflow for an R&E LHCONE subscription.
modify_r_and_e_lhcone()
Modify R&E LHCONE subscription.
Source code in gso/workflows/l3_core_service/r_and_e_lhcone/modify_r_and_e_lhcone.py
| @modify_workflow("Modify R&E LHCONE", initial_input_form=initial_input_form_generator)
def modify_r_and_e_lhcone() -> StepList:
"""Modify R&E LHCONE subscription."""
access_port_is_added = conditional(lambda state: state["operation"] == Operation.ADD)
access_port_is_removed = conditional(lambda state: state["operation"] == Operation.REMOVE)
access_port_is_modified = conditional(lambda state: state["operation"] == Operation.EDIT)
include_ansible_sbp = conditional(lambda state: bool(state["include_ansible_playbook_sbp_config"]))
include_ansible_bgp = conditional(lambda state: bool(state["include_ansible_playbook_bgp_config"]))
return (
begin
>> access_port_is_added(update_r_and_e_lhcone_subscription_model)
>> access_port_is_added(create_new_sbp)
>> access_port_is_modified(update_r_and_e_lhcone_subscription_model)
>> access_port_is_modified(modify_existing_sbp)
>> populate_partner_and_scope_subscription
>> include_ansible_sbp(lso_interaction(provision_sbp_dry))
>> include_ansible_sbp(lso_interaction(provision_sbp_real))
>> include_ansible_bgp(lso_interaction(deploy_bgp_peers_dry))
>> include_ansible_bgp(lso_interaction(deploy_bgp_peers_real))
>> access_port_is_removed(remove_old_sbp)
)
|