swagger supports multifile
[vfc/nfvo/lcm.git] / lcm / swagger / vfc.db.swagger.json
1 {
2     "swagger": "2.0",
3     "info": {
4         "version": "1.0.0",
5         "title": "ONAP VFC Service Internal Rest API"
6     },
7     "basePath": "/api/nslcm/v1",
8     "paths": {
9         "/ns/vls": {
10             "post": {
11                 "tags": [
12                     "vls"
13                 ],
14                 "summary": "vl create",
15                 "description": "",
16                 "operationId": "create_vl",
17                 "consumes": [
18                     "application/json"
19                 ],
20                 "produces": [
21                     "application/json"
22                 ],
23                 "parameters": [
24                     {
25                         "in": "body",
26                         "name": "body",
27                         "description": "instantiate request param",
28                         "required": true,
29                         "schema": {
30                             "$ref": "#/definitions/VlPostRequest"
31                         }
32                     }
33                 ],
34                 "responses": {
35                     "201": {
36                         "description": "",
37                         "schema": {
38                             "$ref": "#/definitions/VlPostResponse"
39                         }
40                     }
41                 }
42             }
43         },
44         "/ns/vls/{vlId}": {
45             "get": {
46                 "tags": [
47                     "vls"
48                 ],
49                 "summary": "query the specified vl info",
50                 "description": "",
51                 "operationId": "query_vl",
52                 "consumes": [
53                     "application/json"
54                 ],
55                 "produces": [
56                     "application/json"
57                 ],
58                 "parameters": [
59                     {
60                         "name": "vlId",
61                         "in": "path",
62                         "description": "vl instance id",
63                         "required": true,
64                         "type": "string"
65                     }
66                 ],
67                 "responses": {
68                     "200": {
69                         "description": "successful operation",
70                         "schema": {
71                             "$ref": "#/definitions/VlInfo"
72                         }
73                     },
74                     "404": {
75                         "description": "the vl instance id is wrong"
76                     },
77                     "500": {
78                         "description": "the url is invalid"
79                     }
80                 }
81             },
82             "delete": {
83                 "tags": [
84                     "vls"
85                 ],
86                 "summary": "delete vl",
87                 "description": "",
88                 "operationId": "delete_vl",
89                 "consumes": [
90                     "application/json"
91                 ],
92                 "produces": [
93                     "application/json"
94                 ],
95                 "parameters": [
96                     {
97                         "required": true,
98                         "type": "string",
99                         "description": "",
100                         "name": "vlId",
101                         "in": "path"
102                     }
103                 ],
104                 "responses": {
105                     "204": {
106                         "description": "successful operation",
107                         "schema": {
108                             "$ref": "#/definitions/DeleteVlResponse"
109                         }
110                     },
111                     "404": {
112                         "description": "the vl instance id is wrong"
113                     },
114                     "500": {
115                         "description": "the url is invalid"
116                     }
117                 }
118             }
119         },
120         "/ns/vnfs": {
121             "post": {
122                 "tags": [
123                     "vnfs"
124                 ],
125                 "summary": "vnf create",
126                 "description": "",
127                 "operationId": "create_vnf",
128                 "consumes": [
129                     "application/json"
130                 ],
131                 "produces": [
132                     "application/json"
133                 ],
134                 "parameters": [
135                     {
136                         "in": "body",
137                         "name": "body",
138                         "description": "instantiate request param",
139                         "required": true,
140                         "schema": {
141                             "$ref": "#/definitions/VnfPostRequest"
142                         }
143                     }
144                 ],
145                 "responses": {
146                     "201": {
147                         "description": "",
148                         "schema": {
149                             "$ref": "#/definitions/VnfPostResponse"
150                         }
151                     }
152                 }
153             }
154         },
155         "/ns/vnfs/{vnfInstId}": {
156             "get": {
157                 "tags": [
158                     "vnfs"
159                 ],
160                 "summary": "query the specified vnf info",
161                 "description": "",
162                 "operationId": "query_vnf",
163                 "consumes": [
164                     "application/json"
165                 ],
166                 "produces": [
167                     "application/json"
168                 ],
169                 "parameters": [
170                     {
171                         "name": "vnfInstId",
172                         "in": "path",
173                         "description": "vnf instance id",
174                         "required": true,
175                         "type": "string"
176                     }
177                 ],
178                 "responses": {
179                     "200": {
180                         "description": "successful operation",
181                         "schema": {
182                             "$ref": "#/definitions/VnfInfo"
183                         }
184                     },
185                     "404": {
186                         "description": "the vnf instance id is wrong"
187                     },
188                     "500": {
189                         "description": "the url is invalid"
190                     }
191                 }
192             },
193             "delete": {
194                 "tags": [
195                     "vnfs"
196                 ],
197                 "summary": "delete vnf",
198                 "description": "",
199                 "operationId": "delete_vnf",
200                 "consumes": [
201                     "application/json"
202                 ],
203                 "produces": [
204                     "application/json"
205                 ],
206                 "parameters": [
207                     {
208                         "required": true,
209                         "type": "string",
210                         "description": "",
211                         "name": "vnfInstId",
212                         "in": "path"
213                     }
214                 ],
215                 "responses": {
216                     "204": {
217                         "description": "successful operation",
218                         "schema": {
219                             "$ref": "#/definitions/DeleteResponse"
220                         }
221                     },
222                     "404": {
223                         "description": "the vl instance id is wrong"
224                     },
225                     "500": {
226                         "description": "the url is invalid"
227                     }
228                 }
229             }
230         },
231         "/ns/sfcs": {
232             "post": {
233                 "tags": [
234                     "sfcs"
235                 ],
236                 "summary": "sfc create",
237                 "description": "",
238                 "operationId": "create_sfc",
239                 "consumes": [
240                     "application/json"
241                 ],
242                 "produces": [
243                     "application/json"
244                 ],
245                 "parameters": [
246                     {
247                         "in": "body",
248                         "name": "body",
249                         "description": "request param",
250                         "required": true,
251                         "schema": {
252                             "$ref": "#/definitions/SfcPostRequest"
253                         }
254                     }
255                 ],
256                 "responses": {
257                     "201": {
258                         "description": "",
259                         "schema": {
260                             "$ref": "#/definitions/SfcPostResponse"
261                         }
262                     }
263                 }
264             }
265         },
266         "/ns/sfcs/{sfcInstId}": {
267             "get": {
268                 "tags": [
269                     "sfcs"
270                 ],
271                 "summary": "query the specified sfc info",
272                 "description": "",
273                 "operationId": "query_sfc",
274                 "consumes": [
275                     "application/json"
276                 ],
277                 "produces": [
278                     "application/json"
279                 ],
280                 "parameters": [
281                     {
282                         "name": "sfcInstId",
283                         "in": "path",
284                         "description": "sfc instance id",
285                         "required": true,
286                         "type": "string"
287                     }
288                 ],
289                 "responses": {
290                     "200": {
291                         "description": "successful operation",
292                         "schema": {
293                             "$ref": "#/definitions/SfcInfo"
294                         }
295                     },
296                     "404": {
297                         "description": "the sfc instance id is wrong"
298                     },
299                     "500": {
300                         "description": "the url is invalid"
301                     }
302                 }
303             },
304             "delete": {
305                 "tags": [
306                     "vnfs"
307                 ],
308                 "summary": "delete sfc",
309                 "description": "",
310                 "operationId": "delete_sfc",
311                 "consumes": [
312                     "application/json"
313                 ],
314                 "produces": [
315                     "application/json"
316                 ],
317                 "parameters": [
318                     {
319                         "required": true,
320                         "type": "string",
321                         "description": "",
322                         "name": "sfcInstId",
323                         "in": "path"
324                     }
325                 ],
326                 "responses": {
327                     "204": {
328                         "description": "successful operation",
329                         "schema": {
330                             "$ref": "#/definitions/DeleteResponse"
331                         }
332                     },
333                     "404": {
334                         "description": "the sfc instance id is wrong"
335                     },
336                     "500": {
337                         "description": "the url is invalid"
338                     }
339                 }
340             }
341         },
342         "/ns/{nsInstanceId}/postdeal": {
343             "post": {
344                 "tags": [
345                     "postdeal"
346                 ],
347                 "summary": "ns postdeal",
348                 "description": "",
349                 "operationId": "ns_postdeal",
350                 "consumes": [
351                     "application/json"
352                 ],
353                 "produces": [
354                     "application/json"
355                 ],
356                 "parameters": [
357                     {
358                         "required": true,
359                         "type": "string",
360                         "description": "",
361                         "name": "nsInstanceId",
362                         "in": "path"
363                     },
364                     {
365                         "in": "body",
366                         "name": "body",
367                         "description": "request param",
368                         "required": true,
369                         "schema": {
370                             "$ref": "#/definitions/NSInstPostDetailRequest"
371                         }
372                     }
373                 ],
374                 "responses": {
375                     "202": {
376                         "description": ""
377                     }
378                 }
379             }
380         },
381         "/mandb/{modelName}": {
382             "get": {
383                 "tags": [
384                     "db"
385                 ],
386                 "summary": "query ns table info",
387                 "description": "query ns table info",
388                 "operationId": "query_ns_table",
389                 "consumes": [
390                     "application/json"
391                 ],
392                 "produces": [
393                     "application/json"
394                 ],
395                 "parameters": [
396                     {
397                         "required": true,
398                         "type": "string",
399                         "description": "model Name.",
400                         "name": "modelName",
401                         "in": "path"
402                     }
403                 ],
404                 "responses": {
405                     "200": {
406                         "description": "successful operation",
407                         "schema": {
408                             "$ref": "#/definitions/TableInfo"
409                         }
410                     },
411                     "500": {
412                         "description": "the url is invalid"
413                     }
414                 }
415             },
416             "delete": {
417                 "tags": [
418                     "db"
419                 ],
420                 "summary": "ns table delete",
421                 "description": "ns table delete",
422                 "operationId": "ns_table_delete",
423                 "consumes": [
424                     "application/json"
425                 ],
426                 "produces": [
427                     "application/json"
428                 ],
429                 "parameters": [
430                     {
431                         "required": true,
432                         "type": "string",
433                         "description": "model Name.",
434                         "name": "modelName",
435                         "in": "path"
436                     }
437                 ],
438                 "responses": {
439                     "204": {
440                         "description": "The tables were deleted successfully."
441                     }
442                 }
443             }
444         }
445     },
446     "definitions": {
447         "VlPostRequest": {
448             "type": "object",
449             "properties": {
450                 "jobId": {
451                     "type": "string"
452                 },
453                 "nsInstanceId": {
454                     "type": "string"
455                 },
456                 "flavourId": {
457                     "type": "string"
458                 },
459                 "sapData": {
460                     "type": "array",
461                     "items": {
462                         "type": "object"
463                     }
464                 },
465                 "pnfInfo": {
466                     "type": "array",
467                     "items": {
468                         "type": "object"
469                     }
470                 },
471                 "vnfInstanceData": {
472                     "type": "array",
473                     "items": {
474                         "type": "object"
475                     }
476                 },
477                 "nestedNsInstanceId": {
478                     "type": "array",
479                     "items": {
480                         "type": "object"
481                     }
482                 },
483                 "locationConstraints": {
484                     "type": "array",
485                     "items": {
486                         "type": "object"
487                     }
488                 },
489                 "additionalParamForNs": {
490                     "type": "array",
491                     "items": {
492                         "type": "object"
493                     }
494                 },
495                 "additionalParamForVnf": {
496                     "type": "array",
497                     "items": {
498                         "type": "object"
499                     }
500                 },
501                 "extNSVirtualLink": {
502                     "type": "array",
503                     "items": {
504                         "type": "object"
505                     }
506                 },
507                 "context": {
508                     "type": "string"
509                 },
510                 "vlIndex": {
511                     "type": "string"
512                 }
513             }
514         },
515         "VlPostResponse": {
516             "type": "object",
517             "properties": {
518                 "result": {
519                     "type": "integer",
520                     "enum": [
521                         0,
522                         1
523                     ]
524                 },
525                 "detail": {
526                     "type": "string"
527                 },
528                 "vlId": {
529                     "type": "string"
530                 }
531             }
532         },
533         "VnfPostRequest": {
534             "type": "object",
535             "properties": {
536                 "jobId": {
537                     "type": "string"
538                 },
539                 "nsInstanceId": {
540                     "type": "string"
541                 },
542                 "flavourId": {
543                     "type": "string"
544                 },
545                 "sapData": {
546                     "type": "array",
547                     "items": {
548                         "type": "object"
549                     }
550                 },
551                 "pnfInfo": {
552                     "type": "array",
553                     "items": {
554                         "type": "object"
555                     }
556                 },
557                 "vnfInstanceData": {
558                     "type": "array",
559                     "items": {
560                         "type": "object"
561                     }
562                 },
563                 "nestedNsInstanceId": {
564                     "type": "array",
565                     "items": {
566                         "type": "object"
567                     }
568                 },
569                 "locationConstraints": {
570                     "type": "array",
571                     "items": {
572                         "type": "object"
573                     }
574                 },
575                 "additionalParamForNs": {
576                     "type": "array",
577                     "items": {
578                         "type": "object"
579                     }
580                 },
581                 "additionalParamForVnf": {
582                     "type": "array",
583                     "items": {
584                         "type": "object"
585                     }
586                 },
587                 "extNSVirtualLink": {
588                     "type": "array",
589                     "items": {
590                         "type": "object"
591                     }
592                 },
593                 "context": {
594                     "type": "string"
595                 },
596                 "vnfIndex": {
597                     "type": "string"
598                 }
599             }
600         },
601         "VnfPostResponse": {
602             "type": "object",
603             "properties": {
604                 "vnfInstId": {
605                     "type": "string"
606                 },
607                 "jobId": {
608                     "type": "string"
609                 }
610             }
611         },
612         "SfcPostRequest": {
613             "type": "object",
614             "properties": {
615                 "jobId": {
616                     "type": "string"
617                 },
618                 "nsInstanceId": {
619                     "type": "string"
620                 },
621                 "sapData": {
622                     "type": "array",
623                     "items": {
624                         "type": "object"
625                     }
626                 },
627                 "vnfInstanceData": {
628                     "type": "array",
629                     "items": {
630                         "type": "object"
631                     }
632                 },
633                 "additionalParamForNs": {
634                     "type": "array",
635                     "items": {
636                         "type": "object"
637                     }
638                 },
639                 "additionalParamForVnf": {
640                     "type": "array",
641                     "items": {
642                         "type": "object"
643                     }
644                 },
645                 "sdnControllerId": {
646                     "type": "string"
647                 },
648                 "context": {
649                     "type": "string"
650                 },
651                 "fpindex": {
652                     "type": "string"
653                 }
654             }
655         },
656         "NSInstPostDetailRequest": {
657             "type": "object",
658             "properties": {
659                 "status": {
660                     "type": "string"
661                 }
662             }
663         },
664
665         "SfcPostResponse": {
666             "type": "object",
667             "properties": {
668                 "sfcInstId": {
669                     "type": "string"
670                 },
671                 "jobId": {
672                     "type": "string"
673                 }
674             }
675         },
676         "VlInfo": {
677             "type": "object",
678             "properties": {
679                 "vlId": {
680                     "type": "string"
681                 },
682                 "vlName": {
683                     "type": "string"
684                 },
685                 "vlStatus": {
686                     "type": "string"
687                 }
688             }
689         },
690         "VnfInfo": {
691             "type": "object",
692             "properties": {
693                 "vnfInstId": {
694                     "type": "string"
695                 },
696                 "vnfName": {
697                     "type": "string"
698                 },
699                 "vnfStatus": {
700                     "type": "string"
701                 }
702             }
703         },
704         "SfcInfo": {
705             "type": "object",
706             "properties": {
707                 "sfcInstId": {
708                     "type": "string"
709                 },
710                 "sfcName": {
711                     "type": "string"
712                 },
713                 "sfcStatus": {
714                     "type": "string"
715                 }
716             }
717         },
718         "DeleteVlResponse": {
719             "type": "object",
720             "properties": {
721                 "result": {
722                     "type": "integer",
723                     "enum": [
724                         0,
725                         1
726                     ]
727                 },
728                 "detail": {
729                     "type": "string"
730                 }
731             }
732         },
733         "DeleteResponse": {
734             "type": "object",
735             "properties": {
736                 "result": {
737                     "type": "integer",
738                     "enum": [
739                         0,
740                         1
741                     ]
742                 },
743                 "detail": {
744                     "type": "string"
745                 }
746             }
747         },
748
749         "TableInfo": {
750             "type": "object",
751             "properties": {
752                 "count": {
753                     "type": "string"
754                 }
755             }
756         }
757     }
758 }