Skip to content

Import router

A modification workflow for setting a new ISIS metric for an IP trunk.

import_router_subscription(subscription_id)

Take an ImportedRouter subscription, and turn it into a Router subscription.

Source code in gso/workflows/router/import_router.py
@step("Create new router subscription")
def import_router_subscription(subscription_id: UUIDstr) -> State:
    """Take an ImportedRouter subscription, and turn it into a Router subscription."""
    old_router = ImportedRouter.from_subscription(subscription_id)
    new_subscription_id = get_product_id_by_name(ProductName.ROUTER)
    new_subscription = Router.from_other_product(old_router, new_subscription_id)  # type: ignore[arg-type]

    return {"subscription": new_subscription}

import_router()

Modify an ImportedRouter subscription into a Router subscription to complete the import.

Source code in gso/workflows/router/import_router.py
@workflow("Import Router", target=Target.MODIFY, initial_input_form=wrap_modify_initial_input_form(None))
def import_router() -> StepList:
    """Modify an ImportedRouter subscription into a Router subscription to complete the import."""
    return init >> store_process_subscription(Target.MODIFY) >> unsync >> import_router_subscription >> resync >> done