Skip to content

Import lan switch interconnect

Import an existing LAN Switch Interconnect into the service database.

import_lan_switch_interconnect_subscription(subscription_id)

Take an imported subscription, and turn it into a full subscription.

Source code in gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py
@step("Create new switch subscription")
def import_lan_switch_interconnect_subscription(subscription_id: UUIDstr) -> State:
    """Take an imported subscription, and turn it into a full subscription."""
    old_subscription = ImportedLanSwitchInterconnect.from_subscription(subscription_id)
    new_subscription_id = get_product_id_by_name(ProductName.LAN_SWITCH_INTERCONNECT)
    new_subscription = LanSwitchInterconnect.from_other_product(old_subscription, new_subscription_id)  # type: ignore[arg-type]

    return {"subscription": new_subscription}

import_lan_switch_interconnect()

Modify an ImportedLanSwitchInterconnect subscription into subscription to complete the import.

Source code in gso/workflows/lan_switch_interconnect/import_lan_switch_interconnect.py
@workflow(
    "Import LAN Switch Interconnect", target=Target.MODIFY, initial_input_form=wrap_modify_initial_input_form(None)
)
def import_lan_switch_interconnect() -> StepList:
    """Modify an ImportedLanSwitchInterconnect subscription into subscription to complete the import."""
    return (
        begin
        >> store_process_subscription(Target.MODIFY)
        >> unsync
        >> import_lan_switch_interconnect_subscription
        >> resync
        >> done
    )