Skip to content

Create copernicus

Create Copernicus subscription workflow.

create_subscription(product, partner)

Create a new subscription object in the database.

Source code in gso/workflows/l3_core_service/copernicus/create_copernicus.py
@step("Create subscription")
def create_subscription(product: UUIDstr, partner: str) -> State:
    """Create a new subscription object in the database."""
    subscription = CopernicusInactive.from_product_id(product, partner)

    return {"subscription": subscription, "subscription_id": subscription.subscription_id}

create_copernicus()

Create a new Copernicus subscription.

Source code in gso/workflows/l3_core_service/copernicus/create_copernicus.py
@workflow(
    "Create Copernicus",
    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
    target=Target.CREATE,
)
def create_copernicus() -> StepList:
    """Create a new Copernicus subscription."""
    return (
        begin
        >> create_subscription
        >> store_process_subscription(Target.CREATE)
        >> initialize_subscription
        >> start_moodi()
        >> lso_interaction(provision_sbp_dry)
        >> lso_interaction(provision_sbp_real)
        >> lso_interaction(check_sbp_functionality)
        >> lso_interaction(deploy_bgp_peers_dry)
        >> lso_interaction(deploy_bgp_peers_real)
        >> lso_interaction(check_bgp_peers)
        >> update_dns_records
        >> set_status(SubscriptionLifecycle.ACTIVE)
        >> resync
        >> create_new_sharepoint_checklist
        >> prompt_sharepoint_checklist_url
        >> stop_moodi()
        >> done
    )