blob: 394bd5c64b9e8b25ceedd8a12517d315e01b483f [file] [log] [blame]
MichaelMorrise020ca32021-03-18 11:40:48 +00001{
efiacor425ebb12022-08-12 13:14:17 +01002 "openapi":"3.0.1",
3 "info":{
4 "contact":{
5 "email":"onap-discuss@lists.onap.org",
6 "name":"ONAP",
7 "url":"https://onap.readthedocs.io"
MichaelMorrise020ca32021-03-18 11:40:48 +00008 },
efiacor425ebb12022-08-12 13:14:17 +01009 "description":"SDC API for distribution subscription (SDCE-6)",
10 "license":{
11 "name":"Apache 2.0",
12 "url":"http://www.apache.org/licenses/LICENSE-2.0"
MichaelMorrise020ca32021-03-18 11:40:48 +000013 },
efiacor425ebb12022-08-12 13:14:17 +010014 "title":"SPC API: SDCE-6",
15 "version":"1.0"
MichaelMorrise020ca32021-03-18 11:40:48 +000016 },
efiacor425ebb12022-08-12 13:14:17 +010017 "servers":[
18 {
19 "description":"SDCE-6 APIs",
20 "url":"/sdc"
21 }
22 ],
23 "paths":{
24 "/v1/artifactTypes":{
25 "get":{
26 "description":"Artifact types list",
27 "operationId":"getValidArtifactTypes",
28 "parameters":[
29 {
30 "description":"X-ECOMP-RequestID header",
31 "in":"header",
32 "name":"X-ECOMP-RequestID",
33 "schema":{
34 "type":"string"
35 }
36 },
37 {
38 "description":"X-ECOMP-InstanceID header",
39 "in":"header",
40 "name":"X-ECOMP-InstanceID",
41 "required":true,
42 "schema":{
43 "type":"string"
44 }
45 },
46 {
47 "description":"The username and password",
48 "in":"header",
49 "name":"Authorization",
50 "required":true,
51 "schema":{
52 "type":"string"
53 }
54 },
55 {
56 "description":"The username and password",
57 "in":"header",
58 "name":"Accept",
59 "required":true,
60 "schema":{
61 "type":"string"
62 }
MichaelMorrise020ca32021-03-18 11:40:48 +000063 }
efiacor425ebb12022-08-12 13:14:17 +010064 ],
65 "responses":{
66 "200":{
67 "content":{
68 "application/json":{
69 "schema":{
70 "type":"array",
71 "items":{
72 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +000073 }
74 }
75 }
76 },
efiacor425ebb12022-08-12 13:14:17 +010077 "description":"Artifact types list fetched successfully"
MichaelMorrise020ca32021-03-18 11:40:48 +000078 },
efiacor425ebb12022-08-12 13:14:17 +010079 "400":{
80 "description":"Missing 'X-ECOMP-InstanceID' HTTP header - POL5001"
MichaelMorrise020ca32021-03-18 11:40:48 +000081 },
efiacor425ebb12022-08-12 13:14:17 +010082 "401":{
83 "description":"ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"
MichaelMorrise020ca32021-03-18 11:40:48 +000084 },
efiacor425ebb12022-08-12 13:14:17 +010085 "403":{
86 "description":"ECOMP component is not authorized - POL5003"
MichaelMorrise020ca32021-03-18 11:40:48 +000087 },
efiacor425ebb12022-08-12 13:14:17 +010088 "405":{
89 "description":"Method Not Allowed : Invalid HTTP method type used to register for distribution ( POST,PUT,DELETE will be rejected) - POL4050"
MichaelMorrise020ca32021-03-18 11:40:48 +000090 },
efiacor425ebb12022-08-12 13:14:17 +010091 "500":{
92 "description":"The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000"
MichaelMorrise020ca32021-03-18 11:40:48 +000093 }
94 },
efiacor425ebb12022-08-12 13:14:17 +010095 "servers":[
96 {
97 "url":"/sdc",
98 "variables":{
99
100 }
101 }
102 ],
103 "summary":"Fetches available artifact types list",
104 "tags":[
105 "SDCE-6 APIs"
106 ]
MichaelMorrise020ca32021-03-18 11:40:48 +0000107 }
efiacor425ebb12022-08-12 13:14:17 +0100108 },"/v1/distributionUebCluster" : {
MichaelMorrise020ca32021-03-18 11:40:48 +0000109 "get" : {
110 "description" : "UEB Server List",
111 "operationId" : "getUebServerList",
112 "parameters" : [ {
113 "description" : "X-ECOMP-RequestID header",
114 "in" : "header",
115 "name" : "X-ECOMP-RequestID",
116 "schema" : {
117 "type" : "string"
118 }
119 }, {
120 "description" : "X-ECOMP-InstanceID header",
121 "in" : "header",
122 "name" : "X-ECOMP-InstanceID",
123 "required" : true,
124 "schema" : {
125 "type" : "string"
126 }
127 }, {
128 "description" : "Determines the format of the body of the response",
129 "in" : "header",
130 "name" : "Accept",
131 "schema" : {
132 "type" : "string"
133 }
134 }, {
135 "description" : "The username and password",
136 "in" : "header",
137 "name" : "Authorization",
138 "required" : true,
139 "schema" : {
140 "type" : "string"
141 }
142 } ],
143 "responses" : {
144 "200" : {
145 "content" : {
146 "application/json" : {
147 "schema" : {
148 "type" : "array",
149 "items" : {
150 "$ref" : "#/components/schemas/ServerListResponse"
151 }
152 }
153 }
154 },
155 "description" : "ECOMP component is authenticated and list of Cambria API server’s FQDNs is returned"
156 },
157 "400" : {
158 "description" : "Missing 'X-ECOMP-InstanceID' HTTP header - POL5001"
159 },
160 "401" : {
161 "description" : "ECOMP component should authenticate itself and to re-send again HTTP request with its credentials for Basic Authentication - POL5002"
162 },
163 "403" : {
164 "description" : "ECOMP component is not authorized - POL5003"
165 },
166 "405" : {
167 "description" : "Method Not Allowed: Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"
168 },
169 "500" : {
170 "description" : "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"
171 }
172 },
173 "servers" : [ {
174 "url" : "/sdc",
175 "variables" : { }
176 } ],
177 "summary" : "return the available UEB Server List",
178 "tags" : [ "SDCE-6 APIs" ]
179 }
180 },
efiacor425ebb12022-08-12 13:14:17 +0100181 "/v1/distributionKafkaData":{
182 "get":{
183 "description":"Kafka bootstrap server and topic list",
184 "operationId":"getKafkaData",
185 "parameters":[
186 {
187 "description":"X-ECOMP-RequestID header",
188 "in":"header",
189 "name":"X-ECOMP-RequestID",
190 "schema":{
191 "type":"string"
192 }
193 },
194 {
195 "description":"X-ECOMP-InstanceID header",
196 "in":"header",
197 "name":"X-ECOMP-InstanceID",
198 "required":true,
199 "schema":{
200 "type":"string"
201 }
202 },
203 {
204 "description":"Determines the format of the body of the response",
205 "in":"header",
206 "name":"Accept",
207 "schema":{
208 "type":"string"
209 }
210 },
211 {
212 "description":"The username and password",
213 "in":"header",
214 "name":"Authorization",
215 "required":true,
216 "schema":{
217 "type":"string"
218 }
MichaelMorrise020ca32021-03-18 11:40:48 +0000219 }
efiacor425ebb12022-08-12 13:14:17 +0100220 ],
221 "responses":{
222 "200":{
223 "content":{
224 "application/json":{
225 "schema":{
226 "type":"array",
227 "items":{
228 "$ref":"#/components/schemas/KafkaDataResponse"
MichaelMorrise020ca32021-03-18 11:40:48 +0000229 }
230 }
231 }
232 },
efiacor425ebb12022-08-12 13:14:17 +0100233 "description":"ECOMP component is authenticated and kafka endpoint and topic list is returned"
MichaelMorrise020ca32021-03-18 11:40:48 +0000234 },
efiacor425ebb12022-08-12 13:14:17 +0100235 "400":{
236 "description":"Missing 'X-ECOMP-InstanceID' HTTP header - POL5001"
MichaelMorrise020ca32021-03-18 11:40:48 +0000237 },
efiacor425ebb12022-08-12 13:14:17 +0100238 "401":{
239 "description":"ECOMP component should authenticate itself and to re-send again HTTP request with its credentials for Basic Authentication - POL5002"
MichaelMorrise020ca32021-03-18 11:40:48 +0000240 },
efiacor425ebb12022-08-12 13:14:17 +0100241 "403":{
242 "description":"ECOMP component is not authorized - POL5003"
MichaelMorrise020ca32021-03-18 11:40:48 +0000243 },
efiacor425ebb12022-08-12 13:14:17 +0100244 "405":{
245 "description":"Method Not Allowed: Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"
MichaelMorrise020ca32021-03-18 11:40:48 +0000246 },
efiacor425ebb12022-08-12 13:14:17 +0100247 "500":{
248 "description":"The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"
MichaelMorrise020ca32021-03-18 11:40:48 +0000249 }
250 },
efiacor425ebb12022-08-12 13:14:17 +0100251 "servers":[
252 {
253 "url":"/sdc",
254 "variables":{
255
256 }
257 }
258 ],
259 "summary":"return the Kafka bootstrap server and topic list",
260 "tags":[
261 "SDCE-6 APIs"
262 ]
MichaelMorrise020ca32021-03-18 11:40:48 +0000263 }
264 },
efiacor425ebb12022-08-12 13:14:17 +0100265 "/v1/registerForDistribution":{
266 "post":{
267 "description":"Subscription status",
268 "operationId":"registerForDistribution",
269 "parameters":[
270 {
271 "description":"X-ECOMP-RequestID header",
272 "in":"header",
273 "name":"X-ECOMP-RequestID",
274 "schema":{
275 "type":"string"
276 }
277 },
278 {
279 "description":"X-ECOMP-InstanceID header",
280 "in":"header",
281 "name":"X-ECOMP-InstanceID",
282 "required":true,
283 "schema":{
284 "type":"string"
285 }
286 },
287 {
288 "description":"Determines the format of the body of the response",
289 "in":"header",
290 "name":"Accept",
291 "schema":{
292 "type":"string"
293 }
294 },
295 {
296 "description":"Determines the format of the body of the request",
297 "in":"header",
298 "name":"Content-Type",
299 "required":true,
300 "schema":{
301 "type":"string"
302 }
303 },
304 {
305 "description":"Length of the request body",
306 "in":"header",
307 "name":"Content-Length",
308 "required":true,
309 "schema":{
310 "type":"string"
311 }
312 },
313 {
314 "description":"The username and password",
315 "in":"header",
316 "name":"Authorization",
317 "required":true,
318 "schema":{
319 "type":"string"
320 }
MichaelMorrise020ca32021-03-18 11:40:48 +0000321 }
efiacor425ebb12022-08-12 13:14:17 +0100322 ],
323 "responses":{
324 "200":{
325 "content":{
326 "application/json":{
327 "schema":{
328 "type":"array",
329 "items":{
330 "$ref":"#/components/schemas/TopicRegistrationResponse"
MichaelMorrise020ca32021-03-18 11:40:48 +0000331 }
332 }
333 }
334 },
efiacor425ebb12022-08-12 13:14:17 +0100335 "description":"ECOMP component is successfully registered for distribution"
MichaelMorrise020ca32021-03-18 11:40:48 +0000336 },
efiacor425ebb12022-08-12 13:14:17 +0100337 "400":{
338 "description":"Invalid Body : Specified 'distrEnvName' doesn’t exist - POL4137"
MichaelMorrise020ca32021-03-18 11:40:48 +0000339 },
efiacor425ebb12022-08-12 13:14:17 +0100340 "401":{
341 "description":"ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"
MichaelMorrise020ca32021-03-18 11:40:48 +0000342 },
efiacor425ebb12022-08-12 13:14:17 +0100343 "403":{
344 "description":"ECOMP component is not authorized - POL5003"
MichaelMorrise020ca32021-03-18 11:40:48 +0000345 },
efiacor425ebb12022-08-12 13:14:17 +0100346 "405":{
347 "description":"Method Not Allowed : Invalid HTTP method type used to register for distribution ( PUT,DELETE,GET will be rejected) - POL4050"
MichaelMorrise020ca32021-03-18 11:40:48 +0000348 },
efiacor425ebb12022-08-12 13:14:17 +0100349 "500":{
350 "description":"The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000"
MichaelMorrise020ca32021-03-18 11:40:48 +0000351 }
352 },
efiacor425ebb12022-08-12 13:14:17 +0100353 "servers":[
354 {
355 "url":"/sdc",
356 "variables":{
357
358 }
359 }
360 ],
361 "summary":"Subscribes for distribution notifications",
362 "tags":[
363 "SDCE-6 APIs"
364 ]
365 }
366 },
367 "/v1/unRegisterForDistribution":{
368 "post":{
369 "description":"Subscription status",
370 "operationId":"unRegisterForDistribution",
371 "parameters":[
372 {
373 "description":"X-ECOMP-RequestID header",
374 "in":"header",
375 "name":"X-ECOMP-RequestID",
376 "schema":{
377 "type":"string"
378 }
379 },
380 {
381 "description":"X-ECOMP-InstanceID header",
382 "in":"header",
383 "name":"X-ECOMP-InstanceID",
384 "required":true,
385 "schema":{
386 "type":"string"
387 }
388 },
389 {
390 "description":"Determines the format of the body of the response",
391 "in":"header",
392 "name":"Accept",
393 "schema":{
394 "type":"string"
395 }
396 },
397 {
398 "description":"Determines the format of the body of the request",
399 "in":"header",
400 "name":"Content-Type",
401 "required":true,
402 "schema":{
403 "type":"string"
404 }
405 },
406 {
407 "description":"Length of the request body",
408 "in":"header",
409 "name":"Content-Length",
410 "required":true,
411 "schema":{
412 "type":"string"
413 }
414 },
415 {
416 "description":"The username and password",
417 "in":"header",
418 "name":"Authorization",
419 "required":true,
420 "schema":{
421 "type":"string"
422 }
423 }
424 ],
425 "responses":{
426 "204":{
427 "content":{
428 "application/json":{
429 "schema":{
430 "type":"array",
431 "items":{
432 "$ref":"#/components/schemas/TopicUnregistrationResponse"
433 }
434 }
435 }
436 },
437 "description":"ECOMP component is successfully unregistered"
438 },
439 "400":{
440 "description":"Invalid Body : Specified 'distrEnvName' doesn’t exist - POL4137"
441 },
442 "401":{
443 "description":"ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"
444 },
445 "403":{
446 "description":"ECOMP component is not authorized - POL5003"
447 },
448 "405":{
449 "description":"Method Not Allowed : Invalid HTTP method type used to register for distribution ( PUT,DELETE,GET will be rejected) - POL4050"
450 },
451 "500":{
452 "description":"The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000"
453 }
454 },
455 "servers":[
456 {
457 "url":"/sdc",
458 "variables":{
459
460 }
461 }
462 ],
463 "summary":"Removes from subscription for distribution notifications",
464 "tags":[
465 "SDCE-6 APIs"
466 ]
MichaelMorrise020ca32021-03-18 11:40:48 +0000467 }
468 }
469 },
efiacor425ebb12022-08-12 13:14:17 +0100470 "components":{
471 "schemas":{
472 "RegistrationRequest":{
473 "type":"object",
474 "properties":{
475 "apiPublicKey":{
476 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000477 },
efiacor425ebb12022-08-12 13:14:17 +0100478 "distEnvEndPoints":{
479 "type":"array",
480 "items":{
481 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000482 }
483 },
efiacor425ebb12022-08-12 13:14:17 +0100484 "distrEnvName":{
485 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000486 },
efiacor425ebb12022-08-12 13:14:17 +0100487 "isConsumerToSdcDistrStatusTopic":{
488 "type":"boolean"
MichaelMorrise020ca32021-03-18 11:40:48 +0000489 },
efiacor425ebb12022-08-12 13:14:17 +0100490 "managerApiPublicKey":{
491 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000492 },
efiacor425ebb12022-08-12 13:14:17 +0100493 "managerApiSecretKey":{
494 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000495 }
496 }
497 },
efiacor425ebb12022-08-12 13:14:17 +0100498 "ServerListResponse":{
499 "type":"object",
500 "properties":{
501 "uebServerList":{
502 "type":"array",
503 "items":{
504 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000505 }
506 }
507 }
508 },
efiacor425ebb12022-08-12 13:14:17 +0100509 "KafkaDataResponse":{
510 "type":"object",
511 "properties":{
512 "kafkaBootStrapServer":{
513 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000514 },
efiacor425ebb12022-08-12 13:14:17 +0100515 "distrNotificationTopicName":{
516 "type":"string"
517 },
518 "distrStatusTopicName":{
519 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000520 }
521 }
522 },
efiacor425ebb12022-08-12 13:14:17 +0100523 "TopicRegistrationResponse":{
524 "type":"object",
525 "properties":{
526 "distrNotificationTopicName":{
527 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000528 },
efiacor425ebb12022-08-12 13:14:17 +0100529 "distrStatusTopicName":{
530 "type":"string"
531 }
532 }
533 },
534 "TopicUnregistrationResponse":{
535 "type":"object",
536 "properties":{
537 "distrNotificationTopicName":{
538 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000539 },
efiacor425ebb12022-08-12 13:14:17 +0100540 "distrStatusTopicName":{
541 "type":"string"
MichaelMorrise020ca32021-03-18 11:40:48 +0000542 },
efiacor425ebb12022-08-12 13:14:17 +0100543 "notificationUnregisterResult":{
544 "type":"string",
545 "enum":[
546 "OK",
547 "CONNNECTION_ERROR",
548 "NOT_FOUND",
549 "TOPIC_ALREADY_EXIST",
550 "OBJECT_NOT_FOUND",
551 "INTERNAL_SERVER_ERROR",
552 "AUTHENTICATION_ERROR",
553 "UNKNOWN_HOST_ERROR"
554 ]
555 },
556 "statusUnregisterResult":{
557 "type":"string",
558 "enum":[
559 "OK",
560 "CONNNECTION_ERROR",
561 "NOT_FOUND",
562 "TOPIC_ALREADY_EXIST",
563 "OBJECT_NOT_FOUND",
564 "INTERNAL_SERVER_ERROR",
565 "AUTHENTICATION_ERROR",
566 "UNKNOWN_HOST_ERROR"
567 ]
MichaelMorrise020ca32021-03-18 11:40:48 +0000568 }
569 }
570 }
571 }
572 }
573}