Move all business logic code under template folder
[oam.git] / code / network-generator / model / jsonSchema / configuration.schema.json
diff --git a/code/network-generator/model/jsonSchema/configuration.schema.json b/code/network-generator/model/jsonSchema/configuration.schema.json
deleted file mode 100644 (file)
index ee56992..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-{
-  "$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