Commit 84206e84 authored by George Papathanail's avatar George Papathanail Committed by Dimitrios Gogos
Browse files

feat add Traffic Influence own SRM capability read model

parent bea140ca
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
from __future__ import annotations

from enum import StrEnum
from typing import Any

from pydantic import BaseModel
from pydantic import BaseModel, Field


class Subject(StrEnum):
@@ -72,3 +73,28 @@ class SRMNetworkCapabilityDeactivateCommand(BaseModel):
    app_provider_id: str
    source: str = "nbi_camara"
    network_capability: NetworkCapabilityDeactivateTarget


class NetworkCapabilityParametersSnapshot(BaseModel):
    schema_version: str | None = None
    target: NetworkCapabilityTarget
    parameters: dict[str, Any] = Field(default_factory=dict)


class SRMTrafficInfluenceCapability(BaseModel):
    """Realized-capability read shape for a traffic-influence policy -- TI's own
    counterpart to domain/quality_on_demand.py's SRMNetworkCapability. Same field set,
    but parameters_snapshot.target is TI's application_reference-shaped
    NetworkCapabilityTarget, not QoD's device/application_server one, so it can't be
    the same class."""

    service_instance_id: str
    capability_type: str
    state: str
    zone_id: str | None = None
    app_provider_id: str
    external_ref: str | None = None
    parameters_snapshot: NetworkCapabilityParametersSnapshot
    result_summary: dict[str, Any] | None = None
    created_at: str | None = None
    updated_at: str | None = None