Skip to content

Import office router

A modification workflow for migrating an ImportedOfficeRouter to an OfficeRouter subscription.

import_office_router_subscription(subscription_id)

Take an ImportedOfficeRouter subscription, and turn it into an OfficeRouter subscription.

Source code in gso/workflows/office_router/import_office_router.py
@step("Create new office_router subscription")
def import_office_router_subscription(subscription_id: UUIDstr) -> State:
    """Take an ImportedOfficeRouter subscription, and turn it into an OfficeRouter subscription."""
    old_office_router = ImportedOfficeRouter.from_subscription(subscription_id)
    new_subscription_id = get_product_id_by_name(ProductName.OFFICE_ROUTER)
    new_subscription = OfficeRouter.from_other_product(old_office_router, new_subscription_id)  # type: ignore[arg-type]

    return {"subscription": new_subscription}

import_office_router()

Modify an ImportedOfficeRouter subscription into an OfficeRouter subscription to complete the import.

Source code in gso/workflows/office_router/import_office_router.py
@workflow("Import OfficeRouter", target=Target.MODIFY, initial_input_form=wrap_modify_initial_input_form(None))
def import_office_router() -> StepList:
    """Modify an ImportedOfficeRouter subscription into an OfficeRouter subscription to complete the import."""
    return (
        init
        >> store_process_subscription(Target.MODIFY)
        >> unsync
        >> import_office_router_subscription
        >> resync
        >> done
    )