Add to_directory method to relevant object classes
[oam.git] / code / network-topology-instance-generator / model / jsonSchema / configuration.schema.json
1 {
2   "$schema": "https://json-schema.org/draft/2020-12/schema",
3   "$id": "https://highstreet-technologies.com/network-topology-instance-generator/configuration.schema.json",
4   "title": "Configuration",
5   "description": "This schema validates the initial configuration for the network topology instance generator. ",
6   "type": "object",
7   "required": [
8     "network"
9   ],
10   "properties": {
11     "network": {
12       "description": "Defines the network and its topology to be generated.",
13       "$ref": "#/$defs/network"
14     }
15   },
16   "$defs": {
17     "count": {
18       "type": "number",
19       "minimum": 1,
20       "exclusiveMaximum": 9
21     },
22     "pattern": {
23       "type": "object",
24       "properties": {
25         "smo": {
26           "description": "Number of Service Management and Orchestrion (SMO) instances to be generated. SMO is a root network topology node.",
27           "$ref": "#/$defs/count"
28         },
29         "o-cloud": {
30           "description": "Number of Near real-time RAN Intelligent Controller (Near-RT-RIC) instances to be generated per SMO.",
31           "$ref": "#/$defs/count"
32         },
33         "near-rt-ric": {
34           "description": "Number of Near real-time RAN Intelligent Controller (Near-RT-RIC) instances to be generated per SMO.",
35           "$ref": "#/$defs/count"
36         },
37         "o-cu": {
38           "description": "Number of O-RAN Centralized Units (O-CU) instances to be generated per Near-RT-RIC.",
39           "$ref": "#/$defs/count"
40         },
41         "o-du": {
42           "description": "Number of O-RAN Distributed Units (O-DU) instances to be generated per O-CU.",
43           "$ref": "#/$defs/count"
44         },
45         "fronthaul-gateway": {
46           "description": "Number of Fronthaul Gateway instances to be generated per O-DU.",
47           "type": "number",
48           "minimum": 1,
49           "exclusiveMaximum": 2
50         },
51         "o-ru": {
52           "description": "Number of O-RAN Radio Units (O-RU) instances to be generated per Fronthaul Gateway.",
53           "$ref": "#/$defs/count"
54         },
55         "ue": {
56           "description": "Number of User Equipment (UE) instances to be generated per O-RU.",
57           "$ref": "#/$defs/count"
58         }
59       }
60     },
61     "network": {
62       "type": "object",
63       "properties": {
64         "name": {
65           "description": "The name as identification for humans. For the pattern explanation, please see: https://regex101.com/r/3ER25H/1",
66           "type": "string",
67           "pattern": "^[a-zA-Z]{1}[\\S]{0,254}$"
68         },
69         "pattern": {
70           "description": "A hierarchical order of network-function-types and its appearance relative to its parent.",
71           "$ref": "#/$defs/pattern"
72         }
73       },
74       "required": ["pattern"]
75     }
76   }
77 }