Skip to content

Import iptrunk

A modification workflow for migrating an ImportedIptrunk to an Iptrunk subscription.

import_iptrunk_subscription(subscription_id)

Take an ImportedIptrunk subscription, and turn it into an Iptrunk subscription.

Source code in gso/workflows/iptrunk/import_iptrunk.py
@step("Create new IP trunk subscription")
def import_iptrunk_subscription(subscription_id: UUIDstr) -> State:
    """Take an ImportedIptrunk subscription, and turn it into an Iptrunk subscription."""
    old_iptrunk = ImportedIptrunk.from_subscription(subscription_id)
    new_subscription_id = get_product_id_by_name(ProductName.IP_TRUNK)
    new_subscription = Iptrunk.from_other_product(old_iptrunk, new_subscription_id)  # type: ignore[arg-type]

    return {"subscription": new_subscription}

import_iptrunk()

Modify an ImportedIptrunk subscription into an Iptrunk subscription to complete the import.

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