+++ /dev/null
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://highstreet-technologies.com/network-generator/configuration.schema.json",
- "title": "Configuration",
- "description": "This schema validates the initial configuration for the network generator application.",
- "type": "object",
- "required": [
- "network",
- "output-folder",
- "generation-tasks"
- ],
- "additionalProperties": false,
- "properties": {
- "network": {
- "description": "Defines the network and its topology to be generated.",
- "$ref": "#/$defs/network"
- },
- "output-folder": {
- "description": "The relative path (folder name only) of the directory, where the generated files are stored.",
- "type": "string"
- },
- "generation-tasks": {
- "description": "Defines the files to be generated.",
- "$ref": "#/$defs/generation-tasks"
- }
- },
- "$defs": {
- "network": {
- "title": "network",
- "type": "object",
- "required": [
- "name",
- "center",
- "pattern"
- ],
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "The name as identification for humans. For the pattern explanation, please see: https://regex101.com/r/3ER25H/1",
- "type": "string",
- "pattern": "^[a-zA-Z]{1}[\\S]{0,254}$"
- },
- "center": {
- "description": "Defines the geographical center of the Radio Access Network.",
- "$ref": "#/$defs/geoLocation"
- },
- "pattern": {
- "description": "A description of the relations between O-RAN Objects.",
- "$ref": "#/$defs/pattern"
- }
- }
- },
- "geoLocation": {
- "description": "Describes a geographical location.",
- "title": "geoLocation",
- "type": "object",
- "required": [
- "latitude",
- "longitude",
- "aboveMeanSeaLevel"
- ],
- "additionalProperties": false,
- "properties": {
- "latitude": {
- "description": "The latitude of the geographical location in decimal degrees. Please note 0.00001° is about 1.11m.",
- "type": "number",
- "minimum": -90,
- "maximum": 90
- },
- "longitude": {
- "description": "The longitude of the geographical location in decimal degrees. Please note 0.00001° is about 1.11m.",
- "type": "number",
- "minimum": -180,
- "maximum": 180
- },
- "aboveMeanSeaLevel": {
- "description": "The height of the geographical location in meters.",
- "type": "number",
- "minimum": -20,
- "maximum": 1000
- }
- }
- },
- "pattern": {
- "description": "A description of the relations between O-RAN Objects.",
- "title": "pattern",
- "type": "object",
- "required": [
- "tower",
- "smo",
- "near-rt-ric",
- "o-ran-cu",
- "o-ran-du",
- "o-ran-ru",
- "nr-cell-du"
- ],
- "additionalProperties": false,
- "properties": {
- "tower": {
- "description": "A 'tower' offers mounting positions of O-RUs.",
- "title": "tower",
- "type": "object",
- "required": [
- "representation"
- ],
- "properties": {
- "representation": {
- "description": "A fixed value for information only.",
- "type": "string",
- "enum": [
- "hexagon"
- ]
- }
- }
- },
- "smo": {
- "description": "Definition of the relation to SMO children.",
- "title": "Service Management and Orchestration",
- "type": "object",
- "required": [
- "five-g-core-count",
- "near-rt-ric-spiral-radius",
- "o-could-resource-pool-count"
- ],
- "properties": {
- "five-g-core-count": {
- "description": "The number of 5G-Cores controlled by SMO.",
- "type": "integer",
- "minimum": 0,
- "maximum": 1
- },
- "near-rt-ric-spiral-radius": {
- "description": "The spiral radius of hexagons within an hexagon grid defines the number of Near-RT-RICs and the geographical coverage of the SMO.",
- "type": "integer",
- "minimum": 0,
- "maximum": 3
- },
- "o-could-resource-pool-count": {
- "description": "Number of O-RAN O-Cloud resource pools managed by O2-controller of the SMO.",
- "type": "integer",
- "enum": [
- 1,
- 7,
- 19,
- 37
- ]
- }
- }
- },
- "near-rt-ric": {
- "description": "Definition of the relation to Near-RT-Ric children.",
- "title": "near-rt-ric",
- "type": "object",
- "required": [
- "o-ran-cu-spiral-radius"
- ],
- "properties": {
- "o-ran-cu-spiral-radius": {
- "description": "The spiral radius of hexagons within a hexagon grid defines the number of O-RAN CUs and the geographical coverage of the SMO.",
- "type": "integer",
- "minimum": 0,
- "maximum": 3
- }
- }
- },
- "o-ran-cu": {
- "description": "Definition of the relation to O-RAN-CU children.",
- "title": "o-ran-cu",
- "type": "object",
- "required": [
- "o-ran-du-spiral-radius"
- ],
- "properties": {
- "o-ran-du-spiral-radius": {
- "description": "The spiral radius of hexagons within a hexagon grid defines the number of O-RAN DUs and the geographical coverage of the SMO.",
- "type": "integer",
- "minimum": 0,
- "maximum": 3
- }
- }
- },
- "o-ran-du": {
- "description": "Definition of the relation to O-RAN-DU children.",
- "title": "o-ran-du",
- "type": "object",
- "required": [
- "tower-spiral-radius",
- "fronthaul-gateway-count",
- "o-ran-ru-count"
- ],
- "properties": {
- "tower-spiral-radius": {
- "description": "The spiral radius of hexagons within an hexagon grid defines the number of towers and the geographical coverage of the O-RAN-DU. This means that center tower offers the O-Cloud resource pool for the surrounding towers and its O-RAN-RUs.",
- "type": "integer",
- "minimum": 0,
- "maximum": 3
- },
- "fronthaul-gateway-count": {
- "description": "Number of fronthaul gateway connected to an O-RAN-DU.",
- "type": "integer",
- "minimum": 0,
- "maximum": 1
- },
- "o-ran-ru-count": {
- "description": "Number of O-RAN-RUs managed by an O-RAN-DU.",
- "type": "integer",
- "enum": [
- 1,
- 7,
- 19,
- 37
- ]
- }
- }
- },
- "o-ran-ru": {
- "description": "Definition of the relation to O-RAN-RU children.",
- "title": "o-ran-ru",
- "type": "object",
- "required": [
- "nr-cell-du-count"
- ],
- "properties": {
- "nr-cell-du-count": {
- "description": "Number of 3GPP:NRCellDUs managed by an O-RAN-RU.",
- "type": "integer",
- "enum": [
- 1,
- 3
- ]
- }
- }
- },
- "nr-cell-du": {
- "description": "Definition of the relation to 3GPP:NRCellDU children.",
- "title": "nr-cell-du",
- "type": "object",
- "required": [
- "sector-count",
- "cell-angle",
- "max-reach"
- ],
- "properties": {
- "sector-count": {
- "description": "Number of sectors managed by an 3GPP:NRCellDUs.",
- "type": "integer",
- "enum": [
- 1,
- 3
- ]
- },
- "cell-angle": {
- "description": "The area covered by an NRCellDU around the tower in grad.",
- "type": "integer",
- "minimum": 0,
- "maximum": 360,
- "exclusiveMinimum": true
- },
- "max-reach": {
- "description": "The maximal distance a UE can reach the cell in meters. The value also defines the radius around a tower where UEs may select a NRCellDU of an O-RAN-RU mounted at this tower.",
- "type": "integer",
- "minimum": 15,
- "maximum": 600
- }
- }
- }
- }
- },
- "generation-tasks": {
- "title": "generation-tasks",
- "type": "object",
- "required": [
- "topology",
- "svg",
- "kml"
- ],
- "additionalProperties": false,
- "properties": {
- "topology": {
- "description": "If true, an ietf-network-topology file will be generated.",
- "type": "boolean"
- },
- "svg": {
- "description": "If true, a kml file will be generated.",
- "type": "boolean"
- },
- "kml": {
- "description": "If true, a svg file will be generated.",
- "type": "boolean"
- }
- }
- }
- }
-}
\ No newline at end of file