d7e139dd3fe36c32af4b02fdeb829b2695024d98
[sim/a1-interface.git] / docs / callout-server.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2022 Nordix
4
5 .. |nbsp| unicode:: 0xA0
6    :trim:
7
8 .. |nbh| unicode:: 0x2011
9    :trim:
10
11 =====================
12 Callout Server
13 =====================
14
15 API Documentation
16 =================
17
18 The O-RAN SC external server is an extension for Near-RealTime RIC simulator. It creates an external web server building RESTful API. It is capable of recieving Rest calls from the northbound simulator version STD_2.0.0 and responses back to it.
19
20 The details of API definitions are being explained below:
21
22 .. Generates content from EXT_SRV_api.yaml
23 .. openapi:: ../near-rt-ric-simulator/test/EXT_SRV/api/EXT_SRV_api.yaml
24
25
26 Admin Functions
27 ================
28
29 Health Check
30 ------------
31
32 GET
33 +++
34
35 Returns the status of the external server.
36
37 **URL path:**
38  /
39
40 **Parameters:**
41   None.
42
43 **Responses:**
44   200:
45     OK
46
47 **Examples:**
48
49 **Call**: ::
50
51   curl -X GET "http://localhost:9095/"
52
53 **Result**:
54
55 200: ::
56
57   OK
58
59
60 Delete all policy instances in external server
61 ----------------------------------------------
62
63 POST
64 ++++
65
66 Delete all policy instances.
67
68 **URL path:**
69
70 /serveradmin/deleteinstances
71
72 **Parameters:**
73
74 None.
75
76 **Responses:**
77
78 200:
79
80 All a1 policy instances deleted
81
82 **Examples:**
83
84 **Call**: ::
85
86   curl -X POST "http://localhost:9095/serveradmin/deleteinstances"
87
88 **Result**:
89
90 200: ::
91
92   All a1 policy instances deleted
93
94
95 Response manipulation
96 ---------------------
97 It is possible to manipulate the response of all operations on the external server
98
99 POST
100 ++++
101
102 Force a specific response code for the all (the next) external server operation. Unless it is reset, it will always respond the same response code back.
103
104 **URL path:**
105
106 /serveradmin/forceresponse?code=<http-response-code>
107
108 **Parameters:**
109
110 code: (*Required*)
111
112 The HTTP response code to return.
113
114 **Responses:**
115
116 200:
117
118 Force response code: <expected code>  set for all external server response until it is resetted
119
120 **Examples:**
121
122 **Call**: ::
123
124   curl -X POST "http://localhost:9095/serveradmin/forceresponse?code=500"
125
126 **Result**:
127
128 200: ::
129
130   Force response code: 500 set for all external server response until it is resetted
131
132
133 Reset response-manipulation
134 ---------------------------
135 It is possible to reset the response manipulation on the external server
136
137 POST
138 ++++
139
140 Clears specific response code for all (the next) external server operation.
141
142 **URL path:**
143
144 /serveradmin/forceresponse?code=<http-response-code>
145
146 **Parameters:**
147
148 code: (*Required*)
149
150 The HTTP response code to return.
151
152 **Responses:**
153
154 200:
155
156 Force response code has been resetted for all external server responses
157
158 **Examples:**
159
160 **Call**: ::
161
162   curl -X POST "http://localhost:9095/serveradmin/forceresponse?code=500"
163
164 **Result**:
165
166 200: ::
167
168   Force response code has been resetted for all external server responses
169
170
171 Response time manipulation
172 --------------------------
173 It is possible to set a period of time to delay response time.
174
175 POST
176 ++++
177
178 Force delayed response of all A1 responses. The setting will remain until the delay is set to '0'
179
180 **URL path:**
181
182 /serveradmin/forcedelay?delay=<delay-time-seconds>
183
184 **Parameters:**
185
186 delay: (*Required*)
187
188 The time in seconds to delay all responses.
189
190 **Responses:**
191
192 200:
193
194 Force delay: <expected_delay> sec set for all external server responses until it is resetted
195
196 **Examples:**
197
198 **Call**: ::
199
200   curl -X POST "http://localhost:9095/serveradmin/forcedelay?delay=5"
201
202 **Result**:
203
204 200: ::
205
206   Force delay: 5 sec set for all external server responses until it is resetted
207
208
209 Reset response time manipulation
210 --------------------------------
211 It is also possible to reset delay response time.
212
213 POST
214 ++++
215
216 The setting will clear the delay.
217
218 **URL path:**
219
220 /serveradmin/forcedelay
221
222 **Parameters:**
223
224 None.
225
226 The time in seconds to delay all responses.
227
228 **Responses:**
229
230 200:
231
232 Force delay has been resetted for all external server responses
233
234 **Examples:**
235
236 **Call**: ::
237
238   curl -X POST "http://localhost:9095/serveradmin/forcedelay"
239
240 **Result**:
241
242 200: ::
243
244   Force delay has been resetted for all external server responses