Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 6 additions & 19 deletions interfaces/fiveg_core_gnb/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_core_gnb` relation interface.

It must expose two interfaces.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"tac": 1,
Expand All @@ -18,7 +14,7 @@
}
],
}
RequirerSchema:
Requirer:
unit: <empty>
app: {
"gnb-name": "gnb001",
Expand All @@ -27,7 +23,6 @@

from dataclasses import dataclass

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field


Expand Down Expand Up @@ -60,7 +55,7 @@ class PLMNConfig:
)


class FivegCoreGnbProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
tac: int = Field(
description="Tracking Area Code",
examples=[1],
Expand All @@ -70,19 +65,11 @@ class FivegCoreGnbProviderAppData(BaseModel):
plmns: list[PLMNConfig]


class FivegCoreGnbRequirerAppData(BaseModel):
class RequirerAppData(BaseModel):
gnb_name: str = Field(
alias="gnb-name", description="Unique identifier of the CU/gnB.", examples=["gnb001"]
)


class ProviderSchema(DataBagSchema):
"""The schema for the provider side of the fiveg_core_gnb interface."""

app: FivegCoreGnbProviderAppData


class RequirerSchema(DataBagSchema):
"""The schema for the requirer side of the fiveg_core_gnb interface."""

app: FivegCoreGnbRequirerAppData
ProviderUnitData = None
RequirerUnitData = None
25 changes: 7 additions & 18 deletions interfaces/fiveg_f1/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_f1` interface.
It exposes two interface_tester.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"f1_ip_address": "192.168.70.132",
Expand All @@ -18,7 +16,7 @@
}
],
}
RequirerSchema:
Requirer:
unit: <empty>
app: {
"f1_port": 2153
Expand All @@ -27,7 +25,6 @@

from dataclasses import dataclass

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field, IPvAnyAddress, conlist


Expand Down Expand Up @@ -60,7 +57,7 @@ class PLMNConfig:
)


class FivegF1ProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
f1_ip_address: IPvAnyAddress = Field(
description="IPv4 address of the network interface used for F1 traffic",
examples=["192.168.70.132"],
Expand All @@ -75,17 +72,9 @@ class FivegF1ProviderAppData(BaseModel):
plmns: conlist(PLMNConfig, min_length=1)


class FivegF1RequirerAppData(BaseModel):
class RequirerAppData(BaseModel):
f1_port: int = Field(description="Number of the port used for F1 traffic", examples=[2153])


class ProviderSchema(DataBagSchema):
"""Provider schema for fiveg_f1."""

app: FivegF1ProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for fiveg_f1."""

app: FivegF1RequirerAppData
ProviderUnitData = None
RequirerUnitData = None
22 changes: 6 additions & 16 deletions interfaces/fiveg_gnb_identity/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,35 +1,25 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_gnb_identity` relation interface.

It must expose two interfaces.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"gnb_name": "gnb001",
"tac": 1
}
RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field


class FivegGnbIdentityProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
gnb_name: str = Field(description="Name of the gnB.", examples=["gnb001"])
tac: int = Field(description="Tracking Area Code", examples=[1])


class ProviderSchema(DataBagSchema):
"""The schema for the provider side of the fiveg_gnb_identity interface."""

app: FivegGnbIdentityProviderAppData


class RequirerSchema(DataBagSchema):
"""The schema for the requirer side of the fiveg_gnb_identity interface."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
22 changes: 7 additions & 15 deletions interfaces/fiveg_n2/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_n2` interface.
It exposes two interface_tester.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"amf_ip_address": "192.168.70.132",
"amf_hostname": "amf",
"amf_port": 38412
}
RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field, IPvAnyAddress


class FivegN2ProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
amf_ip_address: IPvAnyAddress = Field(
description="IP Address to reach the AMF's N2 interface.", examples=["192.168.70.132"]
)
Expand All @@ -29,11 +26,6 @@ class FivegN2ProviderAppData(BaseModel):
amf_port: int = Field(description="Port to reach the AMF's N2 interface.", examples=[38412])


class ProviderSchema(DataBagSchema):
"""Provider schema for fiveg_n2."""

app: FivegN2ProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for fiveg_n2."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
22 changes: 7 additions & 15 deletions interfaces/fiveg_n3/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,23 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_n3` interface.
It exposes two interfaces.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"upf_ip_address": "1.2.3.4"
}
RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel


class FivegN3ProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
upf_ip_address: str


class ProviderSchema(DataBagSchema):
"""Provider schema for fiveg_n3."""

app: FivegN3ProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for fiveg_n3."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
22 changes: 6 additions & 16 deletions interfaces/fiveg_n4/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,23 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_n4` interface.

It exposes two `interfaces.schema_base.DataBagSchema` subclasses called:
- `ProviderSchema`
- `RequirerSchema`

Examples:

ProviderSchema:
Provider:
unit: <empty>
app: {
"upf_hostname": "upf.uplane-cloud.canonical.com",
"upf_port": 8805
}

RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field


class FivegN4ProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
upf_hostname: str = Field(
description="Name of the host exposing the UPF's N4 interface.",
examples=["upf.uplane-cloud.canonical.com"],
Expand All @@ -32,11 +27,6 @@ class FivegN4ProviderAppData(BaseModel):
)


class ProviderSchema(DataBagSchema):
"""Provider schema for fiveg_n4."""

app: FivegN4ProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for fiveg_n4."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
22 changes: 7 additions & 15 deletions interfaces/fiveg_nrf/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,23 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_nrf` interface.
It exposes two interfaces.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {"url": "https://nrf-example.com:1234"}
RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import AnyHttpUrl, BaseModel, Field


class MyProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
url: AnyHttpUrl = Field(
description="url to reach the NRF.", examples=["https://nrf-example.com:1234"]
)


class ProviderSchema(DataBagSchema):
"""Provider schema for fiveg_nrf."""

app: MyProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for fiveg_nrf."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
22 changes: 7 additions & 15 deletions interfaces/fiveg_rfsim/interface/v0/schema.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
"""This file defines the schemas for the provider and requirer sides of the `fiveg_rfsim` interface.
It exposes two interface_tester.schema_base.DataBagSchema subclasses called:
- ProviderSchema
- RequirerSchema

Examples:
ProviderSchema:
Provider:
unit: <empty>
app: {
"rfsim_address": "192.168.70.130",
"sst": 1,
"sd": 1,
}
RequirerSchema:
Requirer:
unit: <empty>
app: <empty>
"""

from interface_tester.schema_base import DataBagSchema
from pydantic import BaseModel, Field


class FivegRFSIMProviderAppData(BaseModel):
class ProviderAppData(BaseModel):
rfsim_address: str = Field(description="RF simulator service ip", examples=["192.168.70.130"])
sst: int = Field(
description="Slice/Service Type",
Expand All @@ -36,11 +33,6 @@ class FivegRFSIMProviderAppData(BaseModel):
)


class ProviderSchema(DataBagSchema):
"""Provider schema for the fiveg_rfsim interface."""

app: FivegRFSIMProviderAppData


class RequirerSchema(DataBagSchema):
"""Requirer schema for the fiveg_rfsim interface."""
ProviderUnitData = None
RequirerAppData = None
RequirerUnitData = None
Empty file.
Loading
Loading