1 ################################################################################
2 # Copyright (c) 2020 AT&T Intellectual Property. #
4 # Licensed under the Apache License, Version 2.0 (the "License"); #
5 # you may not use this file except in compliance with the License. #
6 # You may obtain a copy of the License at #
8 # http://www.apache.org/licenses/LICENSE-2.0 #
10 # Unless required by applicable law or agreed to in writing, software #
11 # distributed under the License is distributed on an "AS IS" BASIS, #
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
13 # See the License for the specific language governing permissions and #
14 # limitations under the License. #
15 ################################################################################
18 "$schema": "http://json-schema.org/draft-07/schema#",
19 "$id": "http://o-ran-sc.org/xapp_root.json",
21 "title": "The xApp Root Schema",
29 "$id": "#/properties/xapp_name",
31 "title": "The xApp Name",
38 "$id": "#/properties/version",
40 "title": "The xApp version",
45 "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
48 "$id": "#/properties/containers",
50 "title": "The Container Schema",
52 "$id": "#/properties/containers/items",
54 "title": "The Container Items Schema",
61 "$id": "#/properties/containers/items/properties/name",
63 "title": "The xApp Container Name",
70 "$id": "#/properties/containers/items/properties/image",
72 "title": "The Container Image",
80 "$id": "#/properties/containers/items/properties/image/properties/registry",
82 "title": "The xApp Image Registry",
83 "default": "nexus3.o-ran-sc.org:10002",
85 "nexus3.o-ran-sc.org:10002"
87 "pattern": "^[A-Za-z0-9\\.-]{1,}\\.[A-Za-z]{1,}(?:\\:\\d+)?$"
90 "$id": "#/properties/containers/items/properties/image/properties/name",
92 "title": "The xApp Image Name",
99 "$id": "#/properties/containers/items/properties/image/properties/tag",
101 "title": "The xApp Image Tag",
110 "$id": "#/properties/containers/items/properties/command",
112 "title": "Command To Run The xApp Container",
113 "default": "command",
122 "$id": "#/properties/livenessprobe",
124 "title": "The Liveness Probe Definition",
127 "$id": "#/properties/livenessprobe/exec",
129 "title": "Script of Liveness Probe",
132 "$id": "#/properties/livenessprobe/exec/command",
136 "$id": "#/properties/livenessprobe/exec/command/item",
138 "title": "The Command Item",
139 "default": "/bin/sh",
152 "$id": "#/properties/livenessprobe/httpget",
154 "title": "Http of Liveness Probe",
157 "$id": "#/properties/livenessprobe/httpget/path",
159 "title": "The Path of Http Liveness Probe",
160 "default": "/health",
166 "$id": "#/properties/livenessprobe/httpget/port",
168 "title": "The Port of Http Liveness Probe",
180 "initialDelaySeconds": {
181 "$id": "#/properties/livenessprobe/initialdelayseconds",
183 "title": "Initial Delay of Liveness Probe",
190 "$id": "#/properties/livenessprobe/periodseconds",
192 "title": "Period of Liveness Probe",
201 "$id": "#/properties/livenessprobe/oneof/exec",
202 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
205 "$id": "#/properties/livenessprobe/oneof/httpget",
206 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
211 "$id": "#/properties/readinessprobe",
213 "title": "The Readiness Probe Definition",
216 "$id": "#/properties/readinessprobe/exec",
218 "title": "Script of Readiness Probe",
221 "$id": "#/properties/readinessprobe/exec/command",
235 "$id": "#/properties/readinessprobe/httpget",
237 "title": "Http of Readiness Probe",
240 "$id": "#/properties/readinessprobe/httpget/path",
242 "title": "The Path of Http Readiness Probe",
243 "default": "/health",
249 "$id": "#/properties/readinessprobe/httpget/port",
251 "title": "The Port of Http Readiness Probe",
263 "initialDelaySeconds": {
264 "$id": "#/properties/readinessprobe/initialdelayseconds",
266 "title": "Initial Delay of Readiness Probe",
273 "$id": "#/properties/readinessprobe/periodseconds",
275 "title": "Period of Readiness Probe",
284 "$id": "#/properties/readinessprobe/oneof/exec",
285 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
288 "$id": "#/properties/readinessprobe/oneof/httpget",
289 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
295 "$id": "#/properties/messaging",
296 "title": "The Messaging Schema",
299 "$id": "#/properties/messaging/ports",
301 "title": "The Ports for Messaging",
303 "$id": "#/properties/messaging/ports/items",
305 "title": "The Item of Port",
306 "required": ["name", "container", "port"],
308 "txMessages": ["rxMessages", "policies"],
309 "rxMessages": ["txMessages", "policies"],
310 "policies": ["rxMessages", "txMessages"]
314 "$id": "#/properties/messaging/ports/items/name",
316 "title": "The Name of the Port",
323 "$id": "#/properties/messaging/ports/items/container",
325 "title": "The Container of the Port",
332 "$id": "#/properties/messaging/ports/items/port",
334 "title": "The Port Number",
341 "$id": "#/properties/messaging/ports/items/description",
343 "title": "The description for the port",
344 "default": "port description",
350 "$id": "#/properties/messaging/ports/items/txmessages",
352 "title": "The txMessage Types",
354 "$id": "#/properties/messaging/ports/items//txmessages/item",
356 "title": "The txMessage Types Item",
357 "default": "RIC_SUB",
364 "$id": "#/properties/messaging/ports/items/rxmessages",
366 "title": "The rxMessage Types",
368 "$id": "#/properties/messaging/ports/items/rxmessages/item",
370 "title": "The rxMessage Types Item",
371 "default": "RIC_SUB",
378 "$id": "#/properties/messaging/ports/items/policies",
380 "title": "The Policies Types",
382 "$id": "#/properties/messaging/ports/items/policies/item",
384 "title": "The Policy Types Item",
402 "$id": "#/properties/metrics",
403 "title": "The Metrics Schema",
405 "$id": "#/properties/metrics/items",
407 "title": "The Metrics Items Schema",
417 "$id": "#/properties/metrics/items/objectname",
419 "title": "The Object Name"
422 "$id": "#/properties/metrics/items/objectinstance",
424 "title": "The Object Instance"
427 "$id": "#/properties/metrics/items/name",
429 "title": "The Object Name"
432 "$id": "#/properties/metrics/items/type",
434 "title": "The Object Type"
437 "$id": "#/properties/metrics/items/description",
439 "title": "The Object Description"
446 "__empty_control_section__"