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",
114 "$id": "#/properties/containers/items/properties/command/item",
116 "title": "The Command Item",
117 "default": "/bin/sh",
125 "$id": "#/properties/containers/items/properties/args",
129 "$id": "#/properties/containers/items/properties/args/item",
131 "title": "The Command Arguement Item",
143 "$id": "#/properties/livenessprobe",
145 "title": "The Liveness Probe Definition",
148 "$id": "#/properties/livenessprobe/exec",
150 "title": "Script of Liveness Probe",
153 "$id": "#/properties/livenessprobe/exec/command",
157 "$id": "#/properties/livenessprobe/exec/command/item",
159 "title": "The Command Item",
160 "default": "/bin/sh",
173 "$id": "#/properties/livenessprobe/httpget",
175 "title": "Http of Liveness Probe",
178 "$id": "#/properties/livenessprobe/httpget/path",
180 "title": "The Path of Http Liveness Probe",
181 "default": "/health",
187 "$id": "#/properties/livenessprobe/httpget/port",
189 "title": "The Port of Http Liveness Probe",
201 "initialDelaySeconds": {
202 "$id": "#/properties/livenessprobe/initialdelayseconds",
204 "title": "Initial Delay of Liveness Probe",
211 "$id": "#/properties/livenessprobe/periodseconds",
213 "title": "Period of Liveness Probe",
222 "$id": "#/properties/livenessprobe/oneof/exec",
223 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
226 "$id": "#/properties/livenessprobe/oneof/httpget",
227 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
232 "$id": "#/properties/readinessprobe",
234 "title": "The Readiness Probe Definition",
237 "$id": "#/properties/readinessprobe/exec",
239 "title": "Script of Readiness Probe",
242 "$id": "#/properties/readinessprobe/exec/command",
256 "$id": "#/properties/readinessprobe/httpget",
258 "title": "Http of Readiness Probe",
261 "$id": "#/properties/readinessprobe/httpget/path",
263 "title": "The Path of Http Readiness Probe",
264 "default": "/health",
270 "$id": "#/properties/readinessprobe/httpget/port",
272 "title": "The Port of Http Readiness Probe",
284 "initialDelaySeconds": {
285 "$id": "#/properties/readinessprobe/initialdelayseconds",
287 "title": "Initial Delay of Readiness Probe",
294 "$id": "#/properties/readinessprobe/periodseconds",
296 "title": "Period of Readiness Probe",
305 "$id": "#/properties/readinessprobe/oneof/exec",
306 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
309 "$id": "#/properties/readinessprobe/oneof/httpget",
310 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
316 "$id": "#/properties/messaging",
317 "title": "The Messaging Schema",
320 "$id": "#/properties/messaging/ports",
322 "title": "The Ports for Messaging",
324 "$id": "#/properties/messaging/ports/items",
326 "title": "The Item of Port",
327 "required": ["name", "container", "port"],
329 "txMessages": ["rxMessages", "policies"],
330 "rxMessages": ["txMessages", "policies"],
331 "policies": ["rxMessages", "txMessages"]
335 "$id": "#/properties/messaging/ports/items/name",
337 "title": "The Name of the Port",
344 "$id": "#/properties/messaging/ports/items/container",
346 "title": "The Container of the Port",
353 "$id": "#/properties/messaging/ports/items/port",
355 "title": "The Port Number",
362 "$id": "#/properties/messaging/ports/items/description",
364 "title": "The description for the port",
365 "default": "port description",
371 "$id": "#/properties/messaging/ports/items/txmessages",
373 "title": "The txMessage Types",
375 "$id": "#/properties/messaging/ports/items//txmessages/item",
377 "title": "The txMessage Types Item",
378 "default": "RIC_SUB",
385 "$id": "#/properties/messaging/ports/items/rxmessages",
387 "title": "The rxMessage Types",
389 "$id": "#/properties/messaging/ports/items/rxmessages/item",
391 "title": "The rxMessage Types Item",
392 "default": "RIC_SUB",
399 "$id": "#/properties/messaging/ports/items/policies",
401 "title": "The Policies Types",
403 "$id": "#/properties/messaging/ports/items/policies/item",
405 "title": "The Policy Types Item",
423 "$id": "#/properties/metrics",
424 "title": "The Metrics Schema",
426 "$id": "#/properties/metrics/items",
428 "title": "The Metrics Items Schema",
438 "$id": "#/properties/metrics/items/objectname",
440 "title": "The Object Name"
443 "$id": "#/properties/metrics/items/objectinstance",
445 "title": "The Object Instance"
448 "$id": "#/properties/metrics/items/name",
450 "title": "The Object Name"
453 "$id": "#/properties/metrics/items/type",
455 "title": "The Object Type"
458 "$id": "#/properties/metrics/items/description",
460 "title": "The Object Description"
467 "__empty_control_section__"