Add 404 error in the swagger
[vfc/nfvo/lcm.git] / lcm / swagger / vfc.vnfdriver.swagger.json
1 {\r
2   "swagger": "2.0",\r
3   "info": {\r
4     "version": "1.0.0",\r
5     "title": "ONAP VNFM Driver Development Related API",\r
6     "description": "ONAP VNFM Driver Development Related Rest API.",\r
7     "contact": {\r
8       "name": "ONAP VFC team",\r
9       "email": "onap-discuss@lists.onap.org",\r
10       "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"\r
11     }\r
12   },\r
13   "basePath": "/api",\r
14   "schemes": [\r
15     "http",\r
16     "https"\r
17   ],\r
18   "consumes": [\r
19     "application/json"\r
20   ],\r
21   "produces": [\r
22     "application/json"\r
23   ],\r
24   "paths": {\r
25     "/{vnfmtype}/v1/{vnfmid}/vnfs": {\r
26       "post": {\r
27         "tags": [\r
28           "VNFMDriver"\r
29         ],\r
30         "summary": "vnf create&instantiate",\r
31         "description": "VNF create&instantiate Rest API should be provided by the VNFM Driver",\r
32         "operationId": "vnf_instantiate",\r
33         "consumes": [\r
34           "application/json"\r
35         ],\r
36         "produces": [\r
37           "application/json"\r
38         ],\r
39         "parameters": [\r
40           {\r
41             "required": true,\r
42             "type": "string",\r
43             "description": "The value of vnfmtype should be the SVNFM driver service name",\r
44             "name": "vnfmtype",\r
45             "in": "path"\r
46           },\r
47           {\r
48             "required": true,\r
49             "type": "string",\r
50             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
51             "name": "vnfmid",\r
52             "in": "path"\r
53           },\r
54           {\r
55             "in": "body",\r
56             "name": "body",\r
57             "description": "instantiate request param",\r
58             "required": true,\r
59             "schema": {\r
60               "$ref": "#/definitions/VnfInstantiateRequest"\r
61             }\r
62           }\r
63         ],\r
64         "responses": {\r
65           "201": {\r
66             "description": "",\r
67             "schema": {\r
68               "$ref": "#/definitions/VnfInstantiateResponse"\r
69             }\r
70           }\r
71         }\r
72       }\r
73     },\r
74     "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/scale": {\r
75       "post": {\r
76         "tags": [\r
77           "VNFMDriver"\r
78         ],\r
79         "summary": "vnf Scale",\r
80         "description": "VNF Scale Rest API should be provided by the VNFM Driver",\r
81         "operationId": "vnf_scale",\r
82         "consumes": [\r
83           "application/json"\r
84         ],\r
85         "produces": [\r
86           "application/json"\r
87         ],\r
88         "parameters": [\r
89           {\r
90             "required": true,\r
91             "type": "string",\r
92             "description": "The value of vnfmtype should be the SVNFM driver service name",\r
93             "name": "vnfmtype",\r
94             "in": "path"\r
95           },\r
96           {\r
97             "required": true,\r
98             "type": "string",\r
99             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
100             "name": "vnfmid",\r
101             "in": "path"\r
102           },\r
103           {\r
104             "required": true,\r
105             "type": "string",\r
106             "description": "The value of vnfInstanceId should be the VNF Instantiate ID",\r
107             "name": "vnfInstanceId",\r
108             "in": "path"\r
109           },\r
110           {\r
111             "in": "body",\r
112             "name": "body",\r
113             "description": "instantiate request param",\r
114             "required": true,\r
115             "schema": {\r
116               "$ref": "#/definitions/VnfScaleRequest"\r
117             }\r
118           }\r
119         ],\r
120         "responses": {\r
121           "201": {\r
122             "description": "",\r
123             "schema": {\r
124               "$ref": "#/definitions/JobInfo"\r
125             }\r
126           },\r
127           "404": {\r
128             "description": "the VNF instance id is wrong"\r
129           },\r
130           "500": {\r
131             "description": "the url is invalid"\r
132           }\r
133         }\r
134       }\r
135     },\r
136     "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/heal": {\r
137       "post": {\r
138         "tags": [\r
139           "VNFMDriver"\r
140         ],\r
141         "summary": "vnf heal",\r
142         "description": "VNF Heal Rest API should be provided by the VNFM Driver",\r
143         "operationId": "vnf_heal",\r
144         "consumes": [\r
145           "application/json"\r
146         ],\r
147         "produces": [\r
148           "application/json"\r
149         ],\r
150         "parameters": [\r
151           {\r
152             "required": true,\r
153             "type": "string",\r
154             "description": "The value of vnfmtype should be the SVNFM driver service name",\r
155             "name": "vnfmtype",\r
156             "in": "path"\r
157           },\r
158           {\r
159             "required": true,\r
160             "type": "string",\r
161             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
162             "name": "vnfmid",\r
163             "in": "path"\r
164           },\r
165           {\r
166             "required": true,\r
167             "type": "string",\r
168             "description": "The value of vnfInstanceId should be the VNF Instantiate ID",\r
169             "name": "vnfInstanceId",\r
170             "in": "path"\r
171           },\r
172           {\r
173             "in": "body",\r
174             "name": "body",\r
175             "description": "instantiate request param",\r
176             "required": true,\r
177             "schema": {\r
178               "$ref": "#/definitions/VnfHealRequest"\r
179             }\r
180           }\r
181         ],\r
182         "responses": {\r
183           "201": {\r
184             "description": "",\r
185             "schema": {\r
186               "$ref": "#/definitions/JobInfo"\r
187             }\r
188           },\r
189           "404": {\r
190             "description": "the VNF instance id is wrong"\r
191           },\r
192           "500": {\r
193             "description": "the url is invalid"\r
194           }\r
195         }\r
196       }\r
197     },   \r
198     "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}/terminate": {    \r
199       "post": {\r
200         "tags": [\r
201           "VNFMDriver"\r
202         ],\r
203         "summary": "terminate&delete vnf",\r
204         "description": "VNF terminate&delete Rest API should be provided by the VNFM Driver",\r
205         "operationId": "terminate_vnf",\r
206         "consumes": [\r
207           "application/json"\r
208         ],\r
209         "produces": [\r
210           "application/json"\r
211         ],\r
212         "parameters": [\r
213           {\r
214             "required": true,\r
215             "type": "string",\r
216             "description": "The value of vnfmtype should be the SVNFM driver service name",\r
217             "name": "vnfmtype",\r
218             "in": "path"\r
219           },\r
220           {\r
221             "required": true,\r
222             "type": "string",\r
223             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
224             "name": "vnfmid",\r
225             "in": "path"\r
226           },\r
227           {\r
228             "required": true,\r
229             "type": "string",\r
230             "description": "The value of vnfInstanceId should be the VNF Instantiate ID",\r
231             "name": "vnfInstanceId",\r
232             "in": "path"\r
233           },\r
234           {\r
235             "in": "body",\r
236             "name": "body",\r
237             "description": "instantiate request param",\r
238             "required": true,\r
239             "schema": {\r
240               "$ref": "#/definitions/VnfTerminateRequest"\r
241             }\r
242           }\r
243         ],\r
244         "responses": {\r
245           "204": {\r
246             "description": "successful operation",\r
247             "schema": {\r
248               "$ref": "#/definitions/JobInfo"\r
249             }\r
250           },\r
251           "404": {\r
252             "description": "the VNF instance id is wrong"\r
253           },\r
254           "500": {\r
255             "description": "the url is invalid"\r
256           }\r
257         }\r
258       }\r
259     },\r
260     "/{vnfmtype}/v1/{vnfmid}/vnfs/{vnfInstanceId}": {\r
261       "get": {\r
262         "tags": [\r
263           "VNFMDriver"\r
264         ],\r
265         "summary": "query the specified vnf info",\r
266         "description": "",\r
267         "operationId": "query_vnf",\r
268         "consumes": [\r
269           "application/json"\r
270         ],\r
271         "produces": [\r
272           "application/json"\r
273         ],\r
274         "parameters": [\r
275           {\r
276             "required": true,\r
277             "type": "string",\r
278             "description": "The value of vnfmtype should be the SVNFM driver service name",\r
279             "name": "vnfmtype",\r
280             "in": "path"\r
281           },\r
282           {\r
283             "required": true,\r
284             "type": "string",\r
285             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
286             "name": "vnfmid",\r
287             "in": "path"\r
288           },\r
289           {\r
290             "required": true,\r
291             "type": "string",\r
292             "description": "The value of vnfInstanceId should be the VNF Instantiate ID",\r
293             "name": "vnfInstanceId",\r
294             "in": "path"\r
295           }\r
296         ],\r
297         "responses": {\r
298           "200": {\r
299             "description": "successful operation",\r
300             "schema": {\r
301               "$ref": "#/definitions/VnfInfo"\r
302             }\r
303           },\r
304           "404": {\r
305             "description": "the vnf instance id is wrong"\r
306           },\r
307           "500": {\r
308             "description": "the url is invalid"\r
309           }\r
310         }\r
311       }\r
312     }, \r
313     "/nslcm/v1/ns/grantvnf": {\r
314       "post": {\r
315         "tags": [\r
316           "NSLCM"\r
317         ],\r
318         "summary": "grantvnf",\r
319         "description": "Grant VNF, provived by the NSLCM component",\r
320         "operationId": "grantvnf",\r
321         "parameters": [\r
322           {\r
323             "in": "body",\r
324             "name": "grantvnf",\r
325             "description": "Grant VNF Request",\r
326             "required": true,\r
327             "schema": {\r
328               "$ref": "#/definitions/GrantVNFRequest"\r
329             }\r
330           }\r
331         ],\r
332         "responses": {\r
333           "202": {\r
334             "description": "",\r
335             "schema": {\r
336               "$ref": "#/definitions/GrantVNFResponse"\r
337             }\r
338           },\r
339           "404": {\r
340             "description": "URL not found"\r
341           },\r
342           "500": {\r
343             "description": "the url is invalid"\r
344           }\r
345         }\r
346       }\r
347     },\r
348     "/nslcm/v1/vnfs/{vnfInstanceId}/Notify": {\r
349       "post": {\r
350         "tags": [\r
351           "NSLCM"\r
352         ],\r
353         "summary": "VNF LCM Notification",\r
354         "description": "VNF LCM Notification API should be provided by NSLCM component",\r
355         "operationId": "VNF_LCM_Notification",\r
356         "parameters": [\r
357           {\r
358             "required": true,\r
359             "type": "string",\r
360             "description": "VNF Instance Id",\r
361             "name": "vnfInstanceId",\r
362             "in": "path"\r
363           },\r
364           {\r
365             "in": "body",\r
366             "name": "vnf Notification",\r
367             "description": "VNF LCM Notification",\r
368             "required": true,\r
369             "schema": {\r
370               "$ref": "#/definitions/VNFLCMNotification"\r
371             }\r
372           }\r
373         ],\r
374         "responses": {\r
375           "202": {\r
376             "description": ""\r
377           },\r
378           "404": {\r
379             "description": "URL not found"\r
380           },\r
381           "500": {\r
382             "description": "the url is invalid"\r
383           }\r
384         }\r
385       }\r
386     },\r
387     "/{vnfmid}/jobs/{jobid}": {\r
388       "get": {\r
389         "tags": [\r
390           "VNFMDriver"\r
391         ],\r
392         "summary": "jobstatus",\r
393         "description": "Job Infomation API should be provided by VNFM Driver",\r
394         "operationId": "get_jobstatus",\r
395         "parameters": [\r
396           {\r
397             "required": true,\r
398             "type": "string",\r
399             "description": "job Id",\r
400             "name": "jobid",\r
401             "in": "path"\r
402           },\r
403           {\r
404             "required": true,\r
405             "type": "string",\r
406             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
407             "name": "vnfmid",\r
408             "in": "path"\r
409           },\r
410           {\r
411             "required": true,\r
412             "type": "string",\r
413             "description": "job response message id",\r
414             "name": "responseId",\r
415             "in": "query"\r
416           }\r
417         ],\r
418         "responses": {\r
419           "202": {\r
420             "description": "",\r
421             "schema": {\r
422               "$ref": "#/definitions/JobDetailInfo"\r
423             }\r
424           }\r
425         }\r
426       }\r
427     },\r
428     "/catalog/v1/vnfpackages/{csarId}": {\r
429       "get": {\r
430         "tags": [\r
431           "Catalog"\r
432         ],\r
433         "summary": "query vnf package info",\r
434         "description": "query one vnf package info via vnf package csarId",\r
435         "operationId": "query_vnf_package",\r
436         "consumes": [\r
437           "application/json"\r
438         ],\r
439         "produces": [\r
440           "application/json"\r
441         ],\r
442         "parameters": [\r
443           {\r
444             "name": "csarId",\r
445             "in": "path",\r
446             "description": "csar id of vnf package",\r
447             "required": true,\r
448             "type": "string"\r
449           }\r
450         ],\r
451         "responses": {\r
452           "200": {\r
453             "description": "successful operation",\r
454             "schema": {\r
455               "$ref": "#/definitions/VnfPkgDetailInfo"\r
456             }\r
457           },\r
458           "500": {\r
459             "description": "internal error"\r
460           }\r
461         }\r
462       }\r
463     },\r
464     "/nslcm/vl/vnfms/{vnfmid}":{\r
465       "get": {\r
466         "tags": [\r
467           "NSLCM"\r
468         ],\r
469         "summary": "Query VNFM register info",\r
470         "description": "query VNFM register info",\r
471         "operationId": "query_vnfm_info",\r
472         "consumes": [\r
473           "application/json"\r
474         ],\r
475         "produces": [\r
476           "application/json"\r
477         ],\r
478         "parameters": [\r
479           {\r
480             "name": "vnfmid",\r
481             "in": "path",\r
482             "description": "vnfm id",\r
483             "required": true,\r
484             "type": "string"\r
485           }\r
486         ],\r
487         "responses": {\r
488           "200": {\r
489             "description": "successful operation",\r
490             "schema": {\r
491               "$ref": "#/definitions/VnfmInfo"\r
492             }\r
493           },\r
494           "404": {\r
495             "description": "URL not found"\r
496           },\r
497           "500": {\r
498             "description": "internal error"\r
499           }\r
500         }\r
501       }\r
502     },\r
503     "/nslcm/vl/vims/{vimid}":{\r
504       "get": {\r
505         "tags": [\r
506           "NSLCM"\r
507         ],\r
508         "summary": "Query VIM register info",\r
509         "description": "query VIM register info",\r
510         "operationId": "query_VIM_info",\r
511         "consumes": [\r
512           "application/json"\r
513         ],\r
514         "produces": [\r
515           "application/json"\r
516         ],\r
517         "parameters": [\r
518           {\r
519             "name": "vimid",\r
520             "in": "path",\r
521             "description": "vim id",\r
522             "required": true,\r
523             "type": "string"\r
524           }\r
525         ],\r
526         "responses": {\r
527           "200": {\r
528             "description": "successful operation",\r
529             "schema": {\r
530               "$ref": "#/definitions/VimInfo"\r
531             }\r
532           },\r
533           "404": {\r
534             "description": "URL not found"\r
535           },\r
536           "500": {\r
537             "description": "internal error"\r
538           }\r
539         }\r
540       }\r
541     },    \r
542   },\r
543   "definitions": {\r
544     "jobResponseInfo": {\r
545       "type": "object",\r
546       "properties": {\r
547         "status": {\r
548           "type": "string"\r
549         },\r
550         "progress": {\r
551           "type": "string"\r
552         },\r
553         "statusDescription": {\r
554           "type": "string"\r
555         },\r
556         "errorCode": {\r
557           "type": "string"\r
558         },\r
559         "responseId": {\r
560           "type": "string"\r
561         }\r
562       }\r
563     },\r
564     "JobDetailInfo": {\r
565       "type": "object",\r
566       "properties": {\r
567         "jobId": {\r
568           "type": "string"\r
569         },\r
570         "responseDescriptor": {\r
571           "type": "object",\r
572           "properties": {\r
573             "status": {\r
574               "type": "string"\r
575             },\r
576             "progress": {\r
577               "type": "string"\r
578             },\r
579             "statusDescription": {\r
580               "type": "string"\r
581             },\r
582             "errorCode": {\r
583               "type": "string"\r
584             },\r
585             "responseId": {\r
586               "type": "string"\r
587             },\r
588             "responseHistoryList": {\r
589               "type": "array",\r
590               "items": {\r
591                 "$ref": "#/definitions/jobResponseInfo"\r
592               }\r
593             }\r
594           }\r
595         }\r
596       }\r
597     },\r
598     "GrantVNFRequest": {\r
599       "type": "object",\r
600       "properties": {\r
601         "vnfInstanceId": {\r
602           "type": "string"\r
603         },\r
604         "vnfDescriptorId": {\r
605           "type": "string"\r
606         },\r
607         "lifecycleOperation": {\r
608           "type": "string",\r
609           "description": "The value should be Instantiate,Scaleout,Scalein,Scaleup,Scaledown, Heal, Terminal"\r
610         },\r
611         "jobId": {\r
612           "type": "string"\r
613         },\r
614         "addResource": {\r
615           "type": "object",\r
616           "properties": {\r
617             "type": {\r
618               "type": "string",\r
619               "description": " The value should be VDU,VL,CP,Strorage."\r
620             },\r
621             "resourceDefinitionId": {\r
622               "type": "string"\r
623             },\r
624             "vdu": {\r
625               "type": "string"\r
626             }\r
627           }\r
628         },\r
629         "removeResource": {\r
630           "type": "object",\r
631           "properties": {\r
632             "type": {\r
633               "type": "string",\r
634               "description": " The value should be VDU,VL,CP,Strorage."\r
635             },\r
636             "resourceDefinitionId": {\r
637               "type": "string"\r
638             },\r
639             "vdu": {\r
640               "type": "string"\r
641             }\r
642           }\r
643         },\r
644         "additionalParam": {\r
645           "type": "object",\r
646           "description": "The data type is KeyValuePair. Additional parameters passed by the NFVO, specific to the VNF and the LCM operation."\r
647         }\r
648       }\r
649     },\r
650     "GrantVNFResponse": {\r
651       "type": "object",\r
652       "properties": {\r
653         "vim": {\r
654           "type": "object",\r
655           "properties": {\r
656             "vimInfoId": {\r
657               "type": "string"\r
658             },\r
659             "vimId": {\r
660               "type": "string"\r
661             },\r
662             "interfaceInfo": {\r
663               "type": "object",\r
664               "properties": {\r
665                 "vimType": {\r
666                   "type": "string",\r
667                   "description": "The vim Type value wil be openstack"\r
668                 },\r
669                 "apiVersion": {\r
670                   "type": "string",\r
671                   "description": "The api Version Type value will be "\r
672                 },\r
673                 "protocolType": {\r
674                   "type": "string",\r
675                   "description": "The protocol Type value will be http or https"\r
676                 }\r
677               }\r
678             },\r
679             "accessInfo": {\r
680               "type": "string",\r
681               "properties": {\r
682                 "tenant": {\r
683                   "type": "string",\r
684                   "description": "Tenant Name of tenant"\r
685                 },\r
686                 "username": {\r
687                   "type": "string",\r
688                   "description": "Username for login"\r
689                 },\r
690                 "password": {\r
691                   "type": "string",\r
692                   "description": "Password of login user"\r
693                 }\r
694               }\r
695             },\r
696             "interfaceEndpoint": {\r
697               "type": "string",\r
698               "description": "Information about the interface endpoint. It is a URL"\r
699             }\r
700           }\r
701         }\r
702       }\r
703     },\r
704     "VNFLCMNotification": {\r
705       "type": "object",\r
706       "properties": {\r
707         "status": {\r
708           "type": "string"\r
709         },\r
710         "vnfInstanceId": {\r
711           "type": "string"\r
712         },\r
713         "operation": {\r
714           "type": "string"\r
715         },\r
716         "jobId": {\r
717           "type": "string"\r
718         },\r
719         "affectedVnfc": {\r
720           "type": "object",\r
721           "properties": {\r
722             "vnfcInstanceId": {\r
723               "type": "string",\r
724               "description": "Identifier of the VNFC instance"\r
725             },\r
726             "vduId": {\r
727               "type": "string",\r
728               "description": "Identifier of the VDU in the VNFD"\r
729             },\r
730             "changeType": {\r
731               "type": "string",\r
732               "description": "Signals the type of change: added,removed, modified"\r
733             },\r
734             "vimid": {\r
735               "type": "string",\r
736               "description": "Identifier of vim"\r
737             },\r
738             "vmid": {\r
739               "type": "string",\r
740               "description": "Identifier of virtual machine"\r
741             },\r
742             "vmname": {\r
743               "type": "string",\r
744               "description": "Name of virtual machine"\r
745             }\r
746           }\r
747         },\r
748         "affectedVl": {\r
749           "type": "object",\r
750           "properties": {\r
751             "vlInstanceId": {\r
752               "type": "string",\r
753               "description": "Identifier of the VL instance"\r
754             },\r
755             "vldid": {\r
756               "type": "string",\r
757               "description": "Identifier of the VLD in the VNFD"\r
758             },\r
759             "changeType": {\r
760               "type": "string",\r
761               "description": "Signals the type of change: vl_added,vl_removed,vl_modified"\r
762             },\r
763             "networkResource": {\r
764               "type": "object",\r
765               "description": "storage Resource",\r
766               "properties": {\r
767                 "resourceType": {\r
768                   "type": "string",\r
769                   "description": "The value should be vm,volume,network,port"\r
770                 },\r
771                 "resourceId": {\r
772                   "type": "string",\r
773                   "description": "Identifier of the resource in the scope of the VIM"\r
774                 },\r
775                 "resourceName": {\r
776                   "type": "string",\r
777                   "description": "Resource name in the vim"\r
778                 }\r
779               }\r
780             }\r
781           }\r
782         },\r
783         "affectedVirtualStorage": {\r
784           "type": "object",\r
785           "properties": {\r
786             "vsInstanceId": {\r
787               "type": "string",\r
788               "description": "Identifier of the VL instance"\r
789             },\r
790             "vsdId": {\r
791               "type": "string",\r
792               "description": "Identifier of the VLD in the VNFD"\r
793             },\r
794             "changeType": {\r
795               "type": "string",\r
796               "description": "Signals the type of change: vl_added,vl_removed,vl_modified"\r
797             },\r
798             "storageResource": {\r
799               "type": "object",\r
800               "description": "storage Resource",\r
801               "properties": {\r
802                 "resourceType": {\r
803                   "type": "string",\r
804                   "description": "The value should be vm,volume,network,port"\r
805                 },\r
806                 "resourceId": {\r
807                   "type": "string",\r
808                   "description": "Identifier of the resource in the scope of the VIM"\r
809                 },\r
810                 "resourceName": {\r
811                   "type": "string",\r
812                   "description": "Resource name in the vim"\r
813                 }\r
814               }\r
815             }\r
816           }\r
817         }\r
818       }\r
819     },\r
820     "VnfInstantiateRequest": {\r
821       "type": "object",\r
822       "properties": {\r
823         "vnfInstanceName": {\r
824           "type": "string"\r
825         },\r
826         "vnfPackageId": {\r
827           "type": "string"\r
828         },\r
829         "vnfDescriptorId": {\r
830           "type": "string"\r
831         },        \r
832         "vnfInstanceDescription": {\r
833           "type": "string"\r
834         },\r
835         "extVirtualLink": {\r
836           "type": "array",\r
837           "items": {\r
838               "$ref": "#/definitions/extVirtualLinkInfo"\r
839           }\r
840         },\r
841         "additionalParam": {\r
842           "type": "object"\r
843         }\r
844       }\r
845     },\r
846     "extVirtualLinkInfo":{\r
847         "type": "object",\r
848         "properties": {\r
849           "vlInstanceId": {\r
850             "type": "string"\r
851           },\r
852           "networkId": {\r
853             "type": "string"\r
854           },\r
855           "cpdId": {\r
856             "type": "string"\r
857           },\r
858           "vim": {\r
859             "$ref": "#/definitions/vimInfo"\r
860           }\r
861         }\r
862     },\r
863             \r
864     "VnfInstantiateResponse": {\r
865       "type": "object",\r
866       "properties": {\r
867         "vnfInstanceId": {\r
868           "type": "string"\r
869         },\r
870         "jobId": {\r
871           "type": "string"\r
872         }\r
873       }\r
874     },\r
875     "VnfScaleRequest":{\r
876       "type": "object",\r
877       "properties": {\r
878         "type": {\r
879           "type": "string",\r
880           "description": "The VNF scale type value should be SCALE_OUT, SCALE_IN"\r
881         },\r
882         "aspectId":{\r
883           "type": "string",\r
884           "description": "Identifies the aspect of the VNF that is requested to be scaled"          \r
885         },\r
886         "numberOfSteps": {\r
887           "type": "string",\r
888           "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number" \r
889         },\r
890         "additionalParam":{\r
891           "type": "object",\r
892           "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled" \r
893         } \r
894       }\r
895     },\r
896     "VnfHealRequest":{\r
897       "type": "object",\r
898       "properties": {\r
899         "action": {\r
900           "type": "string"\r
901         },\r
902         "affectedvm": {\r
903           "type": "object",\r
904           "properties": {\r
905             "vimid":{\r
906               "type": "string"\r
907             },\r
908            "vduid": {\r
909               "type": "string"\r
910            },\r
911           "vmname":{\r
912               "type": "string"\r
913            }\r
914           }\r
915         }\r
916       }\r
917     },\r
918     "VnfTerminateRequest":{\r
919       "type": "object",\r
920       "properties": {\r
921         "terminationType": {\r
922           "type": "string"\r
923         },\r
924         "gracefulTerminationTimeout": {\r
925           "type": "string"\r
926         }        \r
927       }      \r
928     },\r
929     "JobInfo": {\r
930       "type": "object",\r
931       "properties": {\r
932         "jobId": {\r
933           "type": "string"\r
934         }\r
935       }\r
936     },\r
937     "VnfInfo": {\r
938       "type": "object",\r
939       "properties": {\r
940         "vnfInstanceId": {\r
941           "type": "string"\r
942         },\r
943         "vnfInstanceName": {\r
944           "type": "string"\r
945         },\r
946         "vnfInstanceDescription": {\r
947           "type": "string"\r
948         },\r
949         "vnfdId": {\r
950           "type": "string"\r
951         },        \r
952         "vnfPackageId": {\r
953           "type": "string"\r
954         },   \r
955         "version": {\r
956           "type": "string"\r
957         },   \r
958         "vnfProvider": {\r
959           "type": "string"\r
960         },  \r
961         "vnfType": {\r
962           "type": "string"\r
963         },  \r
964         "vnfStatus": {\r
965           "type": "string"\r
966         }\r
967       }\r
968     },\r
969     "vimInfo": {\r
970           "type": "object",\r
971           "properties": {\r
972             "vimInfoId": {\r
973               "type": "string"\r
974             },\r
975             "vimId": {\r
976               "type": "string"\r
977             },\r
978             "interfaceInfo": {\r
979               "type": "object",\r
980               "properties": {\r
981                 "vimType": {\r
982                   "type": "string",\r
983                   "description": "The vim Type value wil be openstack"\r
984                 },\r
985                 "apiVersion": {\r
986                   "type": "string",\r
987                   "description": "The api Version Type value will be "\r
988                 },\r
989                 "protocolType": {\r
990                   "type": "string",\r
991                   "description": "The protocol Type value will be http or https"\r
992                 }\r
993               }\r
994             },\r
995             "accessInfo": {\r
996               "type": "string",\r
997               "properties": {\r
998                 "tenant": {\r
999                   "type": "string",\r
1000                   "description": "Tenant Name of tenant"\r
1001                 },\r
1002                 "username": {\r
1003                   "type": "string",\r
1004                   "description": "Username for login"\r
1005                 },\r
1006                 "password": {\r
1007                   "type": "string",\r
1008                   "description": "Password of login user"\r
1009                 }\r
1010               }\r
1011             },\r
1012             "interfaceEndpoint": {\r
1013               "type": "string",\r
1014               "description": "Information about the interface endpoint. It is a URL"\r
1015             }\r
1016           }\r
1017     },\r
1018     "VnfPkgDetailInfo": {\r
1019       "type": "object",\r
1020       "properties": {\r
1021         "csarId": {\r
1022           "type": "string",\r
1023           "description": "vnf package id, UUID"\r
1024         },\r
1025         "packageInfo": {\r
1026           "$ref": "#/definitions/VnfPkgInfo"\r
1027         },\r
1028         "imageInfo": {\r
1029           "$ref": "#/definitions/VnfPkgImgListInfo"\r
1030         },\r
1031         "vnfInstanceInfo": {\r
1032           "$ref": "#/definitions/VnfInstListInfo"\r
1033         }\r
1034       }\r
1035     },\r
1036     "VnfPkgInfo": {\r
1037       "type": "object",\r
1038       "description": "vnf package infomation",\r
1039       "properties": {\r
1040         "csarId": {\r
1041           "type": "string",\r
1042           "description": "vnf package id, UUID"\r
1043         },\r
1044         "vnfdId": {\r
1045           "type": "string",\r
1046           "description": "VNF descriptor ID"\r
1047         },\r
1048         "vnfdProvider": {\r
1049           "type": "string",\r
1050           "description": "VNF descriptor vendor ID"\r
1051         },\r
1052         "vnfdVersion": {\r
1053           "type": "string",\r
1054           "description": "VNF descriptor version"\r
1055         },\r
1056         "vnfVersion": {\r
1057           "type": "string",\r
1058           "description": "VNF Software version"\r
1059         },\r
1060         "downloadUri":{\r
1061           "type": "string",\r
1062           "description": "The download uri of VNF package"\r
1063         }\r
1064       }\r
1065     },\r
1066     "VnfInstListInfo": {\r
1067       "type": "array",\r
1068       "items": {\r
1069         "$ref": "#/definitions/VnfInstInfo"\r
1070       }\r
1071     },\r
1072     "VnfInstInfo": {\r
1073       "type": "object",\r
1074       "properties": {\r
1075         "vnfInstanceId": {\r
1076           "type": "string",\r
1077           "description": "VNF instance ID"\r
1078         },\r
1079         "vnfInstanceName": {\r
1080           "type": "string",\r
1081           "description": "VNF instance name"\r
1082         }\r
1083       }\r
1084     },\r
1085     "VnfPkgImgListInfo": {\r
1086       "type": "array",\r
1087       "items": {\r
1088         "$ref": "#/definitions/VnfPkgImgInfo"\r
1089       }\r
1090     },\r
1091     "VnfPkgImgInfo": {\r
1092       "type": "object",\r
1093       "properties": {\r
1094         "fileName": {\r
1095           "type": "string",\r
1096           "description": "image file name"\r
1097         },\r
1098         "imageUrl": {\r
1099           "type": "string",\r
1100           "description": "image file path in the csar or image url in external repository"\r
1101         }\r
1102       }\r
1103     },\r
1104     "VnfmInfo": {\r
1105       "type": "object",\r
1106       "properties": {\r
1107         "vnfmId": {\r
1108           "type": "string",\r
1109           "description": "vnfm Id"\r
1110         },\r
1111         "name": {\r
1112           "type": "string",\r
1113           "description": "vnfm name"\r
1114         },\r
1115         "type": {\r
1116           "type": "string",\r
1117           "description": "vnfm type"\r
1118         },  \r
1119         "url": {\r
1120           "type": "string",\r
1121           "description": "vnfm url"\r
1122         },\r
1123         "userName": {\r
1124           "type": "string",\r
1125           "description": "vnfm login username"\r
1126         },\r
1127         "password": {\r
1128           "type": "string",\r
1129           "description": "vnfm login password"\r
1130         },  \r
1131         "vimId": {\r
1132           "type": "string",\r
1133           "description": "vim Id"\r
1134         },\r
1135         "vendor": {\r
1136           "type": "string",\r
1137           "description": "vendor name"\r
1138         },\r
1139         "version": {\r
1140           "type": "string",\r
1141           "description": "vnfm version"\r
1142         }, \r
1143         "description": {\r
1144           "type": "string",\r
1145           "description": "vnfm description"\r
1146         }, \r
1147         "certificateUrl": {\r
1148           "type": "string",\r
1149           "description": "vnfm certificate Url"\r
1150         },\r
1151         "createTime": {\r
1152           "type": "string",\r
1153           "description": "vnfm info createTime"\r
1154         }\r
1155       }      \r
1156     },\r
1157     "VimInfo": {\r
1158       "type": "object",\r
1159       "properties": {\r
1160         "vimId": {\r
1161           "type": "string",\r
1162           "description": "vim Id"\r
1163         },\r
1164         "name": {\r
1165           "type": "string",\r
1166           "description": "vnfm name"\r
1167         },\r
1168         "type": {\r
1169           "type": "string",\r
1170           "description": "vnfm type"\r
1171         },  \r
1172         "url": {\r
1173           "type": "string",\r
1174           "description": "vnfm url"\r
1175         },\r
1176         "userName": {\r
1177           "type": "string",\r
1178           "description": "vnfm login username"\r
1179         },\r
1180         "password": {\r
1181           "type": "string",\r
1182           "description": "vnfm login password"\r
1183         },  \r
1184         "vendor": {\r
1185           "type": "string",\r
1186           "description": "vendor name"\r
1187         },\r
1188         "version": {\r
1189           "type": "string",\r
1190           "description": "vnfm version"\r
1191         }, \r
1192         "description": {\r
1193           "type": "string",\r
1194           "description": "vnfm description"\r
1195         }, \r
1196         "createTime": {\r
1197           "type": "string",\r
1198           "description": "vnfm info createTime"\r
1199         }\r
1200       }      \r
1201     }\r
1202   }\r
1203 }