Skip to content

Modify copernicus

Modification workflow for a Copernicus subscription.

modify_copernicus()

Modify Copernicus subscription.

Source code in gso/workflows/l3_core_service/copernicus/modify_copernicus.py
@workflow(
    "Modify Copernicus",
    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),
    target=Target.MODIFY,
)
def modify_copernicus() -> StepList:
    """Modify Copernicus  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)

    return (
        begin
        >> store_process_subscription(Target.MODIFY)
        >> unsync
        >> access_port_is_added(create_new_sbp)
        >> access_port_is_removed(remove_old_sbp)
        >> access_port_is_modified(modify_existing_sbp)
        >> resync
        >> done
    )