update link to upper-constraints.txt
[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       "delete": {\r
200         "tags": [\r
201           "VNFMDriver"\r
202         ],\r
203         "summary": "delete vnf",\r
204         "description": "VNF terminate Rest API should be provided by the VNFM Driver",\r
205         "operationId": "delete_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           "500": {\r
340             "description": "the url is invalid"\r
341           }\r
342         }\r
343       }\r
344     },\r
345     "/nslcm/v1/vnfs/{vnfInstanceId}/Notify": {\r
346       "post": {\r
347         "tags": [\r
348           "NSLCM"\r
349         ],\r
350         "summary": "VNF LCM Notification",\r
351         "description": "VNF LCM Notification API should be provided by NSLCM component",\r
352         "operationId": "VNF_LCM_Notification",\r
353         "parameters": [\r
354           {\r
355             "required": true,\r
356             "type": "string",\r
357             "description": "VNF Instance Id",\r
358             "name": "vnfInstanceId",\r
359             "in": "path"\r
360           },\r
361           {\r
362             "in": "body",\r
363             "name": "vnf Notification",\r
364             "description": "VNF LCM Notification",\r
365             "required": true,\r
366             "schema": {\r
367               "$ref": "#/definitions/VNFLCMNotification"\r
368             }\r
369           }\r
370         ],\r
371         "responses": {\r
372           "202": {\r
373             "description": ""\r
374           },\r
375           "500": {\r
376             "description": "the url is invalid"\r
377           }\r
378         }\r
379       }\r
380     },\r
381     "/{vnfmid}/jobs/{jobid}": {\r
382       "get": {\r
383         "tags": [\r
384           "VNFMDriver"\r
385         ],\r
386         "summary": "jobstatus",\r
387         "description": "Job Infomation API should be provided by VNFM Driver",\r
388         "operationId": "get_jobstatus",\r
389         "parameters": [\r
390           {\r
391             "required": true,\r
392             "type": "string",\r
393             "description": "job Id",\r
394             "name": "jobid",\r
395             "in": "path"\r
396           },\r
397           {\r
398             "required": true,\r
399             "type": "string",\r
400             "description": "The value of vnfmid should be the VNFM Instantiate ID",\r
401             "name": "vnfmid",\r
402             "in": "path"\r
403           },\r
404           {\r
405             "required": true,\r
406             "type": "string",\r
407             "description": "job response message id",\r
408             "name": "responseId",\r
409             "in": "query"\r
410           }\r
411         ],\r
412         "responses": {\r
413           "202": {\r
414             "description": "",\r
415             "schema": {\r
416               "$ref": "#/definitions/JobDetailInfo"\r
417             }\r
418           }\r
419         }\r
420       }\r
421     },\r
422     "/catalog/v1/vnfpackages/{csarId}": {\r
423       "get": {\r
424         "tags": [\r
425           "Catalog"\r
426         ],\r
427         "summary": "query vnf package info",\r
428         "description": "query one vnf package info via vnf package csarId",\r
429         "operationId": "query_vnf_package",\r
430         "consumes": [\r
431           "application/json"\r
432         ],\r
433         "produces": [\r
434           "application/json"\r
435         ],\r
436         "parameters": [\r
437           {\r
438             "name": "csarId",\r
439             "in": "path",\r
440             "description": "csar id of vnf package",\r
441             "required": true,\r
442             "type": "string"\r
443           }\r
444         ],\r
445         "responses": {\r
446           "200": {\r
447             "description": "successful operation",\r
448             "schema": {\r
449               "$ref": "#/definitions/VnfPkgDetailInfo"\r
450             }\r
451           },\r
452           "500": {\r
453             "description": "internal error"\r
454           }\r
455         }\r
456       }\r
457     },\r
458     "/nslcm/vl/vnfms/{vnfmid}":{\r
459       "get": {\r
460         "tags": [\r
461           "NSLCM"\r
462         ],\r
463         "summary": "Query VNFM register info",\r
464         "description": "query VNFM register info",\r
465         "operationId": "query_vnfm_info",\r
466         "consumes": [\r
467           "application/json"\r
468         ],\r
469         "produces": [\r
470           "application/json"\r
471         ],\r
472         "parameters": [\r
473           {\r
474             "name": "vnfmid",\r
475             "in": "path",\r
476             "description": "vnfm id",\r
477             "required": true,\r
478             "type": "string"\r
479           }\r
480         ],\r
481         "responses": {\r
482           "200": {\r
483             "description": "successful operation",\r
484             "schema": {\r
485               "$ref": "#/definitions/VnfmInfo"\r
486             }\r
487           },\r
488           "500": {\r
489             "description": "internal error"\r
490           }\r
491         }\r
492       }\r
493     },\r
494     "/nslcm/vl/vims/{vimid}":{\r
495       "get": {\r
496         "tags": [\r
497           "NSLCM"\r
498         ],\r
499         "summary": "Query VIM register info",\r
500         "description": "query VIM register info",\r
501         "operationId": "query_VIM_info",\r
502         "consumes": [\r
503           "application/json"\r
504         ],\r
505         "produces": [\r
506           "application/json"\r
507         ],\r
508         "parameters": [\r
509           {\r
510             "name": "vimid",\r
511             "in": "path",\r
512             "description": "vim id",\r
513             "required": true,\r
514             "type": "string"\r
515           }\r
516         ],\r
517         "responses": {\r
518           "200": {\r
519             "description": "successful operation",\r
520             "schema": {\r
521               "$ref": "#/definitions/VimInfo"\r
522             }\r
523           },\r
524           "500": {\r
525             "description": "internal error"\r
526           }\r
527         }\r
528       }\r
529     },    \r
530   },\r
531   "definitions": {\r
532     "jobResponseInfo": {\r
533       "type": "object",\r
534       "properties": {\r
535         "status": {\r
536           "type": "string"\r
537         },\r
538         "progress": {\r
539           "type": "string"\r
540         },\r
541         "statusDescription": {\r
542           "type": "string"\r
543         },\r
544         "errorCode": {\r
545           "type": "string"\r
546         },\r
547         "responseId": {\r
548           "type": "string"\r
549         }\r
550       }\r
551     },\r
552     "JobDetailInfo": {\r
553       "type": "object",\r
554       "properties": {\r
555         "jobId": {\r
556           "type": "string"\r
557         },\r
558         "responseDescriptor": {\r
559           "type": "object",\r
560           "properties": {\r
561             "status": {\r
562               "type": "string"\r
563             },\r
564             "progress": {\r
565               "type": "string"\r
566             },\r
567             "statusDescription": {\r
568               "type": "string"\r
569             },\r
570             "errorCode": {\r
571               "type": "string"\r
572             },\r
573             "responseId": {\r
574               "type": "string"\r
575             },\r
576             "responseHistoryList": {\r
577               "type": "array",\r
578               "items": {\r
579                 "$ref": "#/definitions/jobResponseInfo"\r
580               }\r
581             }\r
582           }\r
583         }\r
584       }\r
585     },\r
586     "GrantVNFRequest": {\r
587       "type": "object",\r
588       "properties": {\r
589         "vnfInstanceId": {\r
590           "type": "string"\r
591         },\r
592         "vnfDescriptorId": {\r
593           "type": "string"\r
594         },\r
595         "lifecycleOperation": {\r
596           "type": "string",\r
597           "description": "The value should be Instantiate,Scaleout,Scalein,Scaleup,Scaledown, Heal, Terminal"\r
598         },\r
599         "jobId": {\r
600           "type": "string"\r
601         },\r
602         "addResource": {\r
603           "type": "object",\r
604           "properties": {\r
605             "type": {\r
606               "type": "string",\r
607               "description": " The value should be VDU,VL,CP,Strorage."\r
608             },\r
609             "resourceDefinitionId": {\r
610               "type": "string"\r
611             },\r
612             "vdu": {\r
613               "type": "string"\r
614             }\r
615           }\r
616         },\r
617         "removeResource": {\r
618           "type": "object",\r
619           "properties": {\r
620             "type": {\r
621               "type": "string",\r
622               "description": " The value should be VDU,VL,CP,Strorage."\r
623             },\r
624             "resourceDefinitionId": {\r
625               "type": "string"\r
626             },\r
627             "vdu": {\r
628               "type": "string"\r
629             }\r
630           }\r
631         },\r
632         "additionalParam": {\r
633           "type": "object",\r
634           "description": "The data type is KeyValuePair. Additional parameters passed by the NFVO, specific to the VNF and the LCM operation."\r
635         }\r
636       }\r
637     },\r
638     "GrantVNFResponse": {\r
639       "type": "object",\r
640       "properties": {\r
641         "vim": {\r
642           "type": "object",\r
643           "properties": {\r
644             "vimInfoId": {\r
645               "type": "string"\r
646             },\r
647             "vimId": {\r
648               "type": "string"\r
649             },\r
650             "interfaceInfo": {\r
651               "type": "object",\r
652               "properties": {\r
653                 "vimType": {\r
654                   "type": "string",\r
655                   "description": "The vim Type value wil be openstack"\r
656                 },\r
657                 "apiVersion": {\r
658                   "type": "string",\r
659                   "description": "The api Version Type value will be "\r
660                 },\r
661                 "protocolType": {\r
662                   "type": "string",\r
663                   "description": "The protocol Type value will be http or https"\r
664                 }\r
665               }\r
666             },\r
667             "accessInfo": {\r
668               "type": "string",\r
669               "properties": {\r
670                 "tenant": {\r
671                   "type": "string",\r
672                   "description": "Tenant Name of tenant"\r
673                 },\r
674                 "username": {\r
675                   "type": "string",\r
676                   "description": "Username for login"\r
677                 },\r
678                 "password": {\r
679                   "type": "string",\r
680                   "description": "Password of login user"\r
681                 }\r
682               }\r
683             },\r
684             "interfaceEndpoint": {\r
685               "type": "string",\r
686               "description": "Information about the interface endpoint. It is a URL"\r
687             }\r
688           }\r
689         }\r
690       }\r
691     },\r
692     "VNFLCMNotification": {\r
693       "type": "object",\r
694       "properties": {\r
695         "status": {\r
696           "type": "string"\r
697         },\r
698         "vnfInstanceId": {\r
699           "type": "string"\r
700         },\r
701         "operation": {\r
702           "type": "string"\r
703         },\r
704         "jobId": {\r
705           "type": "string"\r
706         },\r
707         "affectedVnfc": {\r
708           "type": "object",\r
709           "properties": {\r
710             "vnfcInstanceId": {\r
711               "type": "string",\r
712               "description": "Identifier of the VNFC instance"\r
713             },\r
714             "vduId": {\r
715               "type": "string",\r
716               "description": "Identifier of the VDU in the VNFD"\r
717             },\r
718             "changeType": {\r
719               "type": "string",\r
720               "description": "Signals the type of change: added,removed, modified"\r
721             },\r
722             "vimid": {\r
723               "type": "string",\r
724               "description": "Identifier of vim"\r
725             },\r
726             "vmid": {\r
727               "type": "string",\r
728               "description": "Identifier of virtual machine"\r
729             },\r
730             "vmname": {\r
731               "type": "string",\r
732               "description": "Name of virtual machine"\r
733             }\r
734           }\r
735         },\r
736         "affectedVl": {\r
737           "type": "object",\r
738           "properties": {\r
739             "vlInstanceId": {\r
740               "type": "string",\r
741               "description": "Identifier of the VL instance"\r
742             },\r
743             "vldid": {\r
744               "type": "string",\r
745               "description": "Identifier of the VLD in the VNFD"\r
746             },\r
747             "changeType": {\r
748               "type": "string",\r
749               "description": "Signals the type of change: vl_added,vl_removed,vl_modified"\r
750             },\r
751             "networkResource": {\r
752               "type": "object",\r
753               "description": "storage Resource",\r
754               "properties": {\r
755                 "resourceType": {\r
756                   "type": "string",\r
757                   "description": "The value should be vm,volume,network,port"\r
758                 },\r
759                 "resourceId": {\r
760                   "type": "string",\r
761                   "description": "Identifier of the resource in the scope of the VIM"\r
762                 },\r
763                 "resourceName": {\r
764                   "type": "string",\r
765                   "description": "Resource name in the vim"\r
766                 }\r
767               }\r
768             }\r
769           }\r
770         },\r
771         "affectedVirtualStorage": {\r
772           "type": "object",\r
773           "properties": {\r
774             "vsInstanceId": {\r
775               "type": "string",\r
776               "description": "Identifier of the VL instance"\r
777             },\r
778             "vsdId": {\r
779               "type": "string",\r
780               "description": "Identifier of the VLD in the VNFD"\r
781             },\r
782             "changeType": {\r
783               "type": "string",\r
784               "description": "Signals the type of change: vl_added,vl_removed,vl_modified"\r
785             },\r
786             "storageResource": {\r
787               "type": "object",\r
788               "description": "storage Resource",\r
789               "properties": {\r
790                 "resourceType": {\r
791                   "type": "string",\r
792                   "description": "The value should be vm,volume,network,port"\r
793                 },\r
794                 "resourceId": {\r
795                   "type": "string",\r
796                   "description": "Identifier of the resource in the scope of the VIM"\r
797                 },\r
798                 "resourceName": {\r
799                   "type": "string",\r
800                   "description": "Resource name in the vim"\r
801                 }\r
802               }\r
803             }\r
804           }\r
805         }\r
806       }\r
807     },\r
808     "VnfInstantiateRequest": {\r
809       "type": "object",\r
810       "properties": {\r
811         "vnfInstanceName": {\r
812           "type": "string"\r
813         },\r
814         "vnfPackageId": {\r
815           "type": "string"\r
816         },\r
817         "vnfDescriptorId": {\r
818           "type": "string"\r
819         },        \r
820         "vnfInstanceDescription": {\r
821           "type": "string"\r
822         },\r
823         "extVirtualLink": {\r
824           "type": "array",\r
825           "items": {\r
826               "$ref": "#/definitions/extVirtualLinkInfo"\r
827           }\r
828         },\r
829         "additionalParam": {\r
830           "type": "object"\r
831         }\r
832       }\r
833     },\r
834     "extVirtualLinkInfo":{\r
835         "type": "object",\r
836         "properties": {\r
837           "vlInstanceId": {\r
838             "type": "string"\r
839           },\r
840           "networkId": {\r
841             "type": "string"\r
842           },\r
843           "cpdId": {\r
844             "type": "string"\r
845           },\r
846           "vim": {\r
847             "$ref": "#/definitions/vimInfo"\r
848           }\r
849         }\r
850     },\r
851             \r
852     "VnfInstantiateResponse": {\r
853       "type": "object",\r
854       "properties": {\r
855         "vnfInstanceId": {\r
856           "type": "string"\r
857         },\r
858         "jobId": {\r
859           "type": "string"\r
860         }\r
861       }\r
862     },\r
863     "VnfScaleRequest":{\r
864       "type": "object",\r
865       "properties": {\r
866         "type": {\r
867           "type": "string",\r
868           "description": "The VNF scale type value should be SCALE_OUT, SCALE_IN"\r
869         },\r
870         "aspectId":{\r
871           "type": "string",\r
872           "description": "Identifies the aspect of the VNF that is requested to be scaled"          \r
873         },\r
874         "numberOfSteps": {\r
875           "type": "string",\r
876           "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number" \r
877         },\r
878         "additionalParam":{\r
879           "type": "object",\r
880           "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled" \r
881         } \r
882       }\r
883     },\r
884     "VnfHealRequest":{\r
885       "type": "object",\r
886       "properties": {\r
887         "action": {\r
888           "type": "string"\r
889         },\r
890         "affectedvm": {\r
891           "type": "object",\r
892           "properties": {\r
893             "vimid":{\r
894               "type": "string"\r
895             },\r
896            "vduid": {\r
897               "type": "string"\r
898            },\r
899           "vmname":{\r
900               "type": "string"\r
901            }\r
902           }\r
903         }\r
904       }\r
905     },\r
906     "VnfTerminateRequest":{\r
907       "type": "object",\r
908       "properties": {\r
909         "terminationType": {\r
910           "type": "string"\r
911         },\r
912         "gracefulTerminationTimeout": {\r
913           "type": "string"\r
914         }        \r
915       }      \r
916     },\r
917     "JobInfo": {\r
918       "type": "object",\r
919       "properties": {\r
920         "jobId": {\r
921           "type": "string"\r
922         }\r
923       }\r
924     },\r
925     "VnfInfo": {\r
926       "type": "object",\r
927       "properties": {\r
928         "vnfInstanceId": {\r
929           "type": "string"\r
930         },\r
931         "vnfInstanceName": {\r
932           "type": "string"\r
933         },\r
934         "vnfInstanceDescription": {\r
935           "type": "string"\r
936         },\r
937         "vnfdId": {\r
938           "type": "string"\r
939         },        \r
940         "vnfPackageId": {\r
941           "type": "string"\r
942         },   \r
943         "version": {\r
944           "type": "string"\r
945         },   \r
946         "vnfProvider": {\r
947           "type": "string"\r
948         },  \r
949         "vnfType": {\r
950           "type": "string"\r
951         },  \r
952         "vnfStatus": {\r
953           "type": "string"\r
954         }\r
955       }\r
956     },\r
957     "vimInfo": {\r
958           "type": "object",\r
959           "properties": {\r
960             "vimInfoId": {\r
961               "type": "string"\r
962             },\r
963             "vimId": {\r
964               "type": "string"\r
965             },\r
966             "interfaceInfo": {\r
967               "type": "object",\r
968               "properties": {\r
969                 "vimType": {\r
970                   "type": "string",\r
971                   "description": "The vim Type value wil be openstack"\r
972                 },\r
973                 "apiVersion": {\r
974                   "type": "string",\r
975                   "description": "The api Version Type value will be "\r
976                 },\r
977                 "protocolType": {\r
978                   "type": "string",\r
979                   "description": "The protocol Type value will be http or https"\r
980                 }\r
981               }\r
982             },\r
983             "accessInfo": {\r
984               "type": "string",\r
985               "properties": {\r
986                 "tenant": {\r
987                   "type": "string",\r
988                   "description": "Tenant Name of tenant"\r
989                 },\r
990                 "username": {\r
991                   "type": "string",\r
992                   "description": "Username for login"\r
993                 },\r
994                 "password": {\r
995                   "type": "string",\r
996                   "description": "Password of login user"\r
997                 }\r
998               }\r
999             },\r
1000             "interfaceEndpoint": {\r
1001               "type": "string",\r
1002               "description": "Information about the interface endpoint. It is a URL"\r
1003             }\r
1004           }\r
1005     },\r
1006     "VnfPkgDetailInfo": {\r
1007       "type": "object",\r
1008       "properties": {\r
1009         "csarId": {\r
1010           "type": "string",\r
1011           "description": "vnf package id, UUID"\r
1012         },\r
1013         "packageInfo": {\r
1014           "$ref": "#/definitions/VnfPkgInfo"\r
1015         },\r
1016         "imageInfo": {\r
1017           "$ref": "#/definitions/VnfPkgImgListInfo"\r
1018         },\r
1019         "vnfInstanceInfo": {\r
1020           "$ref": "#/definitions/VnfInstListInfo"\r
1021         }\r
1022       }\r
1023     },\r
1024     "VnfPkgInfo": {\r
1025       "type": "object",\r
1026       "description": "vnf package infomation",\r
1027       "properties": {\r
1028         "csarId": {\r
1029           "type": "string",\r
1030           "description": "vnf package id, UUID"\r
1031         },\r
1032         "vnfdId": {\r
1033           "type": "string",\r
1034           "description": "VNF descriptor ID"\r
1035         },\r
1036         "vnfdProvider": {\r
1037           "type": "string",\r
1038           "description": "VNF descriptor vendor ID"\r
1039         },\r
1040         "vnfdVersion": {\r
1041           "type": "string",\r
1042           "description": "VNF descriptor version"\r
1043         },\r
1044         "vnfVersion": {\r
1045           "type": "string",\r
1046           "description": "VNF Software version"\r
1047         },\r
1048         "downloadUri":{\r
1049           "type": "string",\r
1050           "description": "The download uri of VNF package"\r
1051         }\r
1052       }\r
1053     },\r
1054     "VnfInstListInfo": {\r
1055       "type": "array",\r
1056       "items": {\r
1057         "$ref": "#/definitions/VnfInstInfo"\r
1058       }\r
1059     },\r
1060     "VnfInstInfo": {\r
1061       "type": "object",\r
1062       "properties": {\r
1063         "vnfInstanceId": {\r
1064           "type": "string",\r
1065           "description": "VNF instance ID"\r
1066         },\r
1067         "vnfInstanceName": {\r
1068           "type": "string",\r
1069           "description": "VNF instance name"\r
1070         }\r
1071       }\r
1072     },\r
1073     "VnfPkgImgListInfo": {\r
1074       "type": "array",\r
1075       "items": {\r
1076         "$ref": "#/definitions/VnfPkgImgInfo"\r
1077       }\r
1078     },\r
1079     "VnfPkgImgInfo": {\r
1080       "type": "object",\r
1081       "properties": {\r
1082         "fileName": {\r
1083           "type": "string",\r
1084           "description": "image file name"\r
1085         },\r
1086         "imageUrl": {\r
1087           "type": "string",\r
1088           "description": "image file path in the csar or image url in external repository"\r
1089         }\r
1090       }\r
1091     },\r
1092     "VnfmInfo": {\r
1093       "type": "object",\r
1094       "properties": {\r
1095         "vnfmId": {\r
1096           "type": "string",\r
1097           "description": "vnfm Id"\r
1098         },\r
1099         "name": {\r
1100           "type": "string",\r
1101           "description": "vnfm name"\r
1102         },\r
1103         "type": {\r
1104           "type": "string",\r
1105           "description": "vnfm type"\r
1106         },  \r
1107         "url": {\r
1108           "type": "string",\r
1109           "description": "vnfm url"\r
1110         },\r
1111         "userName": {\r
1112           "type": "string",\r
1113           "description": "vnfm login username"\r
1114         },\r
1115         "password": {\r
1116           "type": "string",\r
1117           "description": "vnfm login password"\r
1118         },  \r
1119         "vimId": {\r
1120           "type": "string",\r
1121           "description": "vim Id"\r
1122         },\r
1123         "vendor": {\r
1124           "type": "string",\r
1125           "description": "vendor name"\r
1126         },\r
1127         "version": {\r
1128           "type": "string",\r
1129           "description": "vnfm version"\r
1130         }, \r
1131         "description": {\r
1132           "type": "string",\r
1133           "description": "vnfm description"\r
1134         }, \r
1135         "certificateUrl": {\r
1136           "type": "string",\r
1137           "description": "vnfm certificate Url"\r
1138         },\r
1139         "createTime": {\r
1140           "type": "string",\r
1141           "description": "vnfm info createTime"\r
1142         }\r
1143       }      \r
1144     },\r
1145     "VimInfo": {\r
1146       "type": "object",\r
1147       "properties": {\r
1148         "vimId": {\r
1149           "type": "string",\r
1150           "description": "vim Id"\r
1151         },\r
1152         "name": {\r
1153           "type": "string",\r
1154           "description": "vnfm name"\r
1155         },\r
1156         "type": {\r
1157           "type": "string",\r
1158           "description": "vnfm type"\r
1159         },  \r
1160         "url": {\r
1161           "type": "string",\r
1162           "description": "vnfm url"\r
1163         },\r
1164         "userName": {\r
1165           "type": "string",\r
1166           "description": "vnfm login username"\r
1167         },\r
1168         "password": {\r
1169           "type": "string",\r
1170           "description": "vnfm login password"\r
1171         },  \r
1172         "vendor": {\r
1173           "type": "string",\r
1174           "description": "vendor name"\r
1175         },\r
1176         "version": {\r
1177           "type": "string",\r
1178           "description": "vnfm version"\r
1179         }, \r
1180         "description": {\r
1181           "type": "string",\r
1182           "description": "vnfm description"\r
1183         }, \r
1184         "createTime": {\r
1185           "type": "string",\r
1186           "description": "vnfm info createTime"\r
1187         }\r
1188       }      \r
1189     }\r
1190   }\r
1191 }