Skip to content

Shared

Shared logic for IAS service workflows.

update_ias_subscription_model(subscription, ias_flavor)

Update the subscription model of an IAS subscription with a new IAS flavour.

Source code in gso/workflows/l3_core_service/ias/shared.py
@step("Update IAS-specific attributes")
def update_ias_subscription_model(subscription: SubscriptionModel, ias_flavor: IASFlavor) -> State:
    """Update the subscription model of an IAS subscription with a new IAS flavour."""
    subscription.ias.ias_flavor = ias_flavor  # type: ignore[attr-defined]

    scoped_subscription = json.loads(json_dumps(subscription))
    scoped_subscription["l3_core"] = scoped_subscription[subscription.service_name_attribute]["l3_core"]  # type: ignore[attr-defined]

    return {"subscription": subscription, "scoped_subscription": scoped_subscription}