Skip to content

Terminate copernicus

Workflow for terminating an Copernicus subscription.

initial_input_form_generator(subscription_id)

Initial input form generator for terminating a Copernicus subscription.

Source code in gso/workflows/l3_core_service/copernicus/terminate_copernicus.py
def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
    """Initial input form generator for terminating a Copernicus subscription."""
    subscription = Copernicus.from_subscription(subscription_id)

    class TerminateForm(SubmitFormPage):
        tt_number: TTNumber

    user_input = yield TerminateForm
    return {"subscription": subscription} | user_input.model_dump()

terminate_copernicus()

Terminate a Copernicus subscription.

Source code in gso/workflows/l3_core_service/copernicus/terminate_copernicus.py
@workflow(
    "Terminate Copernicus",
    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),
    target=Target.TERMINATE,
)
def terminate_copernicus() -> StepList:
    """Terminate a Copernicus subscription."""
    return (
        begin
        >> store_process_subscription(Target.TERMINATE)
        >> unsync
        >> set_status(SubscriptionLifecycle.TERMINATED)
        >> resync
        >> done
    )