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/annotation",
50 "title": "The k8s pod annotation",
51 "additionalProperties": {
64 "$id": "#/properties/containers",
66 "title": "The Container Schema",
68 "$id": "#/properties/containers/items",
70 "title": "The Container Items Schema",
77 "$id": "#/properties/containers/items/properties/name",
79 "title": "The xApp Container Name",
86 "$id": "#/properties/containers/items/properties/image",
88 "title": "The Container Image",
96 "$id": "#/properties/containers/items/properties/image/properties/registry",
98 "title": "The xApp Image Registry",
99 "default": "nexus3.o-ran-sc.org:10002",
101 "nexus3.o-ran-sc.org:10002"
103 "pattern": "^[A-Za-z0-9\\.-]{1,}\\.[A-Za-z]{1,}(?:\\:\\d+)?$"
106 "$id": "#/properties/containers/items/properties/image/properties/name",
108 "title": "The xApp Image Name",
115 "$id": "#/properties/containers/items/properties/image/properties/tag",
117 "title": "The xApp Image Tag",
126 "$id": "#/properties/containers/items/properties/command",
130 "$id": "#/properties/containers/items/properties/command/item",
132 "title": "The Command Item",
133 "default": "/bin/sh",
141 "$id": "#/properties/containers/items/properties/args",
145 "$id": "#/properties/containers/items/properties/args/item",
147 "title": "The Command Arguement Item",
159 "$id": "#/properties/livenessprobe",
161 "title": "The Liveness Probe Definition",
164 "$id": "#/properties/livenessprobe/exec",
166 "title": "Script of Liveness Probe",
169 "$id": "#/properties/livenessprobe/exec/command",
173 "$id": "#/properties/livenessprobe/exec/command/item",
175 "title": "The Command Item",
176 "default": "/bin/sh",
189 "$id": "#/properties/livenessprobe/httpget",
191 "title": "Http of Liveness Probe",
194 "$id": "#/properties/livenessprobe/httpget/path",
196 "title": "The Path of Http Liveness Probe",
197 "default": "/health",
203 "$id": "#/properties/livenessprobe/httpget/port",
205 "title": "The Port of Http Liveness Probe",
217 "initialDelaySeconds": {
218 "$id": "#/properties/livenessprobe/initialdelayseconds",
220 "title": "Initial Delay of Liveness Probe",
227 "$id": "#/properties/livenessprobe/periodseconds",
229 "title": "Period of Liveness Probe",
238 "$id": "#/properties/livenessprobe/oneof/exec",
239 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
242 "$id": "#/properties/livenessprobe/oneof/httpget",
243 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
248 "$id": "#/properties/readinessprobe",
250 "title": "The Readiness Probe Definition",
253 "$id": "#/properties/readinessprobe/exec",
255 "title": "Script of Readiness Probe",
258 "$id": "#/properties/readinessprobe/exec/command",
272 "$id": "#/properties/readinessprobe/httpget",
274 "title": "Http of Readiness Probe",
277 "$id": "#/properties/readinessprobe/httpget/path",
279 "title": "The Path of Http Readiness Probe",
280 "default": "/health",
286 "$id": "#/properties/readinessprobe/httpget/port",
288 "title": "The Port of Http Readiness Probe",
300 "initialDelaySeconds": {
301 "$id": "#/properties/readinessprobe/initialdelayseconds",
303 "title": "Initial Delay of Readiness Probe",
310 "$id": "#/properties/readinessprobe/periodseconds",
312 "title": "Period of Readiness Probe",
321 "$id": "#/properties/readinessprobe/oneof/exec",
322 "required": ["exec", "initialDelaySeconds", "periodSeconds"]
325 "$id": "#/properties/readinessprobe/oneof/httpget",
326 "required": ["httpGet", "initialDelaySeconds", "periodSeconds"]
332 "$id": "#/properties/messaging",
333 "title": "The Messaging Schema",
336 "$id": "#/properties/messaging/ports",
338 "title": "The Ports for Messaging",
340 "$id": "#/properties/messaging/ports/items",
342 "title": "The Item of Port",
343 "required": ["name", "container", "port"],
345 "txMessages": ["rxMessages", "policies"],
346 "rxMessages": ["txMessages", "policies"],
347 "policies": ["rxMessages", "txMessages"]
351 "$id": "#/properties/messaging/ports/items/name",
353 "title": "The Name of the Port",
360 "$id": "#/properties/messaging/ports/items/container",
362 "title": "The Container of the Port",
369 "$id": "#/properties/messaging/ports/items/port",
371 "title": "The Port Number",
378 "$id": "#/properties/messaging/ports/items/description",
380 "title": "The description for the port",
381 "default": "port description",
387 "$id": "#/properties/messaging/ports/items/txmessages",
389 "title": "The txMessage Types",
391 "$id": "#/properties/messaging/ports/items//txmessages/item",
393 "title": "The txMessage Types Item",
394 "default": "RIC_SUB",
401 "$id": "#/properties/messaging/ports/items/rxmessages",
403 "title": "The rxMessage Types",
405 "$id": "#/properties/messaging/ports/items/rxmessages/item",
407 "title": "The rxMessage Types Item",
408 "default": "RIC_SUB",
415 "$id": "#/properties/messaging/ports/items/policies",
417 "title": "The Policies Types",
419 "$id": "#/properties/messaging/ports/items/policies/item",
421 "title": "The Policy Types Item",
439 "$id": "#/properties/metrics",
440 "title": "The Metrics Schema",
442 "$id": "#/properties/metrics/items",
444 "title": "The Metrics Items Schema",
454 "$id": "#/properties/metrics/items/objectname",
456 "title": "The Object Name"
459 "$id": "#/properties/metrics/items/objectinstance",
461 "title": "The Object Instance"
464 "$id": "#/properties/metrics/items/name",
466 "title": "The Object Name"
469 "$id": "#/properties/metrics/items/type",
471 "title": "The Object Type"
474 "$id": "#/properties/metrics/items/description",
476 "title": "The Object Description"
483 "__empty_control_section__"