Skip to content

Create ias

Create a new IAS workflow.

create_subscription(product, partner)

Create a new subscription object in the database.

Source code in gso/workflows/l3_core_service/ias/create_ias.py
@step("Create subscription")
def create_subscription(product: UUIDstr, partner: str) -> State:
    """Create a new subscription object in the database."""
    subscription = IASInactive.from_product_id(product, partner)
    scoped_subscription = json.loads(json_dumps(subscription))
    scoped_subscription["l3_core"] = scoped_subscription[subscription.service_name_attribute]["l3_core"]

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

create_ias()

Create a new IAS subscription.

Source code in gso/workflows/l3_core_service/ias/create_ias.py
@create_workflow("Create IAS", initial_input_form=initial_input_form_generator)
def create_ias() -> StepList:
    """Create a new IAS subscription."""
    return (
        begin
        >> create_subscription
        >> store_process_subscription()
        >> initialize_subscription
        >> update_ias_subscription_model
        >> 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()
    )