Skip to content

Create geant ip

Create GÉANT IP subscription workflow.

create_subscription(product, partner)

Create a new subscription object in the database.

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

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

create_geant_ip()

Create a new GÉANT IP subscription.

Source code in gso/workflows/l3_core_service/geant_ip/create_geant_ip.py
@create_workflow("Create GÉANT IP", initial_input_form=initial_input_form_generator)
def create_geant_ip() -> StepList:
    """Create a new GÉANT IP subscription."""
    return (
        begin
        >> create_subscription
        >> store_process_subscription()
        >> initialize_subscription
        >> start_moodi(monitored_objects_key=_MONITORED_OBJECTS_KEY)
        >> 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
        >> create_new_sharepoint_checklist
        >> prompt_sharepoint_checklist_url
        >> stop_moodi()
    )