Updating Nokia driver
[vfc/nfvo/driver/vnfm/svnfm.git] / nokiav2 / generatedapis / src / main / resources / nokia.vnfm.api.v3.lcm.json
1 {
2   "swagger": "2.0", 
3   "info": {
4     "version": "v3.2", 
5     "title": "Nokia VNFM API version 3.2 WIP - VNF Lifecycle Management interface"
6   }, 
7   "basePath": "/vnfm/lcm/v3", 
8   "schemes": [
9     "https"
10   ], 
11   "securityDefinitions": {
12     "OauthPassword": {
13       "description": "OAuth 2.0 resource owner password credentials grant (https://tools.ietf.org/html/rfc6749#section-4.3) with bearer token type. Note: the given tokenUrl does not inherit from the basePath\n", 
14       "type": "oauth2", 
15       "tokenUrl": "/auth/realms/cbam/protocol/openid-connect/token", 
16       "flow": "password", 
17       "scopes": {
18         "default": "default scope"
19       }
20     }, 
21     "OauthClient": {
22       "description": "OAuth 2.0 client credentials grant (https://tools.ietf.org/html/rfc6749#section-4.4) with bearer token type. Note: the given tokenUrl does not inherit from the basePath\n", 
23       "type": "oauth2", 
24       "tokenUrl": "/auth/realms/cbam/protocol/openid-connect/token", 
25       "flow": "application", 
26       "scopes": {
27         "default": "default scope"
28       }
29     }
30   }, 
31   "security": [
32     {
33       "OauthPassword": [
34         "default"
35       ]
36     }, 
37     {
38       "OauthClient": [
39         "default"
40       ]
41     }
42   ], 
43   "produces": [
44     "application/json", 
45     "application/problem+json"
46   ], 
47   "consumes": [
48     "application/json"
49   ], 
50   "tags": [
51     {
52       "name": "vnfs"
53     }, 
54     {
55       "name": "operation_executions"
56     }
57   ], 
58   "paths": {
59     "/versions": {
60       "get": {
61         "description": "Gets the supported microversions for this base url\n", 
62         "responses": {
63           "200": {
64             "description": "Microversion information", 
65             "schema": {
66               "type": "object", 
67               "required": [
68                 "version", 
69                 "minVersion"
70               ], 
71               "properties": {
72                 "version": {
73                   "description": "The most recent version", 
74                   "type": "string"
75                 }, 
76                 "minVersion": {
77                   "description": "The oldest supported version\n", 
78                   "type": "string"
79                 }, 
80                 "defaultVersion": {
81                   "description": "The version that is served automatically if no version header is provided. Defaults to the minVersion if not given.\n", 
82                   "type": "string"
83                 }
84               }
85             }, 
86             "headers": {
87               "Nokia-VNFM-API-Version": {
88                 "enum": [
89                   "3.2"
90                 ], 
91                 "type": "string", 
92                 "description": "The microversion corresponding to the version of the current specification"
93               }
94             }
95           }, 
96           "default": {
97             "headers": {
98               "Nokia-VNFM-API-Version": {
99                 "enum": [
100                   "3.2"
101                 ], 
102                 "type": "string", 
103                 "description": "The microversion corresponding to the version of the current specification"
104               }
105             }, 
106             "description": "Error payload", 
107             "schema": {
108               "$ref": "#/definitions/ProblemDetails"
109             }
110           }
111         }, 
112         "tags": [
113           "versions"
114         ], 
115         "parameters": [
116           {
117             "enum": [
118               "3.2"
119             ], 
120             "name": "Nokia-VNFM-API-Version", 
121             "required": true, 
122             "in": "header", 
123             "type": "string", 
124             "description": "The microversion corresponding to the version of the current specification"
125           }
126         ]
127       }
128     }, 
129     "/operation_executions/{operationExecutionId}": {
130       "get": {
131         "description": "Gets a single operation execution resource.", 
132         "parameters": [
133           {
134             "$ref": "#/parameters/operationExecutionId"
135           }, 
136           {
137             "enum": [
138               "3.2"
139             ], 
140             "name": "Nokia-VNFM-API-Version", 
141             "required": true, 
142             "in": "header", 
143             "type": "string", 
144             "description": "The microversion corresponding to the version of the current specification"
145           }
146         ], 
147         "responses": {
148           "200": {
149             "description": "Successful response, the operation is not executing.", 
150             "schema": {
151               "$ref": "#/definitions/OperationExecution"
152             }, 
153             "headers": {
154               "Nokia-VNFM-API-Version": {
155                 "enum": [
156                   "3.2"
157                 ], 
158                 "type": "string", 
159                 "description": "The microversion corresponding to the version of the current specification"
160               }
161             }
162           }, 
163           "202": {
164             "description": "Successful response, the operation is still ongoing.", 
165             "schema": {
166               "$ref": "#/definitions/OperationExecution"
167             }, 
168             "headers": {
169               "Nokia-VNFM-API-Version": {
170                 "enum": [
171                   "3.2"
172                 ], 
173                 "type": "string", 
174                 "description": "The microversion corresponding to the version of the current specification"
175               }
176             }
177           }, 
178           "default": {
179             "headers": {
180               "Nokia-VNFM-API-Version": {
181                 "enum": [
182                   "3.2"
183                 ], 
184                 "type": "string", 
185                 "description": "The microversion corresponding to the version of the current specification"
186               }
187             }, 
188             "description": "Error payload", 
189             "schema": {
190               "$ref": "#/definitions/ProblemDetails"
191             }
192           }
193         }, 
194         "tags": [
195           "operation_executions"
196         ]
197       }
198     }, 
199     "/operation_executions/{operationExecutionId}/end_notification": {
200       "get": {
201         "description": "Gets the lifecycle change notification correponding to the result of the operation if the execution has finished. **Nokia extension to ETSI NFV IFA007.**\n", 
202         "parameters": [
203           {
204             "$ref": "#/parameters/operationExecutionId"
205           }, 
206           {
207             "enum": [
208               "3.2"
209             ], 
210             "name": "Nokia-VNFM-API-Version", 
211             "required": true, 
212             "in": "header", 
213             "type": "string", 
214             "description": "The microversion corresponding to the version of the current specification"
215           }
216         ], 
217         "responses": {
218           "200": {
219             "description": "Successful response, the operation is finished", 
220             "schema": {
221               "$ref": "#/definitions/AbstractVnfNotification"
222             }, 
223             "headers": {
224               "Nokia-VNFM-API-Version": {
225                 "enum": [
226                   "3.2"
227                 ], 
228                 "type": "string", 
229                 "description": "The microversion corresponding to the version of the current specification"
230               }
231             }
232           }, 
233           "default": {
234             "headers": {
235               "Nokia-VNFM-API-Version": {
236                 "enum": [
237                   "3.2"
238                 ], 
239                 "type": "string", 
240                 "description": "The microversion corresponding to the version of the current specification"
241               }
242             }, 
243             "description": "Error payload", 
244             "schema": {
245               "$ref": "#/definitions/ProblemDetails"
246             }
247           }
248         }, 
249         "tags": [
250           "operation_executions"
251         ]
252       }
253     }, 
254     "/operation_executions/{operationExecutionId}/operation_params": {
255       "get": {
256         "description": "Gets the operation parameters correponding to the respective operation execution. **Nokia extension to ETSI NFV IFA007.**\n", 
257         "parameters": [
258           {
259             "$ref": "#/parameters/operationExecutionId"
260           }, 
261           {
262             "enum": [
263               "3.2"
264             ], 
265             "name": "Nokia-VNFM-API-Version", 
266             "required": true, 
267             "in": "header", 
268             "type": "string", 
269             "description": "The microversion corresponding to the version of the current specification"
270           }
271         ], 
272         "responses": {
273           "200": {
274             "description": "Successful response", 
275             "schema": {
276               "type": "object", 
277               "additionalProperties": {
278                 "type": [
279                   "string", 
280                   "number", 
281                   "boolean", 
282                   "array", 
283                   "object"
284                 ]
285               }
286             }, 
287             "headers": {
288               "Nokia-VNFM-API-Version": {
289                 "enum": [
290                   "3.2"
291                 ], 
292                 "type": "string", 
293                 "description": "The microversion corresponding to the version of the current specification"
294               }
295             }
296           }, 
297           "default": {
298             "headers": {
299               "Nokia-VNFM-API-Version": {
300                 "enum": [
301                   "3.2"
302                 ], 
303                 "type": "string", 
304                 "description": "The microversion corresponding to the version of the current specification"
305               }
306             }, 
307             "description": "Error payload", 
308             "schema": {
309               "$ref": "#/definitions/ProblemDetails"
310             }
311           }
312         }, 
313         "tags": [
314           "operation_executions"
315         ]
316       }
317     }, 
318     "/operation_executions/{operationExecutionId}/additional_data": {
319       "get": {
320         "description": "Gets the implementation specific data corresponding to the respective operation execution. **Nokia extension to ETSI NFV IFA007.**\n", 
321         "parameters": [
322           {
323             "$ref": "#/parameters/operationExecutionId"
324           }, 
325           {
326             "enum": [
327               "3.2"
328             ], 
329             "name": "Nokia-VNFM-API-Version", 
330             "required": true, 
331             "in": "header", 
332             "type": "string", 
333             "description": "The microversion corresponding to the version of the current specification"
334           }
335         ], 
336         "responses": {
337           "200": {
338             "description": "Successful response", 
339             "schema": {
340               "type": "object", 
341               "additionalProperties": {
342                 "type": [
343                   "string", 
344                   "number", 
345                   "boolean", 
346                   "array", 
347                   "object"
348                 ]
349               }
350             }, 
351             "headers": {
352               "Nokia-VNFM-API-Version": {
353                 "enum": [
354                   "3.2"
355                 ], 
356                 "type": "string", 
357                 "description": "The microversion corresponding to the version of the current specification"
358               }
359             }
360           }, 
361           "default": {
362             "headers": {
363               "Nokia-VNFM-API-Version": {
364                 "enum": [
365                   "3.2"
366                 ], 
367                 "type": "string", 
368                 "description": "The microversion corresponding to the version of the current specification"
369               }
370             }, 
371             "description": "Error payload", 
372             "schema": {
373               "$ref": "#/definitions/ProblemDetails"
374             }
375           }
376         }, 
377         "tags": [
378           "operation_executions"
379         ]
380       }
381     }, 
382     "/operation_executions/{operationExecutionId}/cancel": {
383       "post": {
384         "description": "Cancel the operation execution (if the operation supports it). This has no effect if the operation is not running. The state of the operation execution will change to FAILED when it has been canceled. **Nokia extension to ETSI NFV IFA007.**\n", 
385         "parameters": [
386           {
387             "$ref": "#/parameters/operationExecutionId"
388           }, 
389           {
390             "name": "cancelOperationRequest", 
391             "required": true, 
392             "description": "Input parameters for the cancelling of an operation execution", 
393             "in": "body", 
394             "schema": {
395               "$ref": "#/definitions/CancelOperationRequest"
396             }
397           }, 
398           {
399             "enum": [
400               "3.2"
401             ], 
402             "name": "Nokia-VNFM-API-Version", 
403             "required": true, 
404             "in": "header", 
405             "type": "string", 
406             "description": "The microversion corresponding to the version of the current specification"
407           }
408         ], 
409         "responses": {
410           "200": {
411             "description": "Operation execution canceled", 
412             "schema": {
413               "$ref": "#/definitions/OperationExecution"
414             }, 
415             "headers": {
416               "Nokia-VNFM-API-Version": {
417                 "enum": [
418                   "3.2"
419                 ], 
420                 "type": "string", 
421                 "description": "The microversion corresponding to the version of the current specification"
422               }
423             }
424           }, 
425           "202": {
426             "description": "Cancel is pending", 
427             "schema": {
428               "$ref": "#/definitions/OperationExecution"
429             }, 
430             "headers": {
431               "Nokia-VNFM-API-Version": {
432                 "enum": [
433                   "3.2"
434                 ], 
435                 "type": "string", 
436                 "description": "The microversion corresponding to the version of the current specification"
437               }
438             }
439           }, 
440           "400": {
441             "description": "Cancel for the given operation is not supported or not meaningful", 
442             "schema": {
443               "$ref": "#/definitions/ProblemDetails"
444             }, 
445             "headers": {
446               "Nokia-VNFM-API-Version": {
447                 "enum": [
448                   "3.2"
449                 ], 
450                 "type": "string", 
451                 "description": "The microversion corresponding to the version of the current specification"
452               }
453             }
454           }, 
455           "default": {
456             "headers": {
457               "Nokia-VNFM-API-Version": {
458                 "enum": [
459                   "3.2"
460                 ], 
461                 "type": "string", 
462                 "description": "The microversion corresponding to the version of the current specification"
463               }
464             }, 
465             "description": "Error payload", 
466             "schema": {
467               "$ref": "#/definitions/ProblemDetails"
468             }
469           }
470         }, 
471         "tags": [
472           "operation_executions"
473         ]
474       }
475     }, 
476     "/vnfs": {
477       "post": {
478         "description": "Creates VNF object", 
479         "parameters": [
480           {
481             "name": "createVnfRequest", 
482             "description": "Parameters for the creation of a VNF instance", 
483             "in": "body", 
484             "required": true, 
485             "schema": {
486               "$ref": "#/definitions/CreateVnfRequest"
487             }
488           }, 
489           {
490             "enum": [
491               "3.2"
492             ], 
493             "name": "Nokia-VNFM-API-Version", 
494             "required": true, 
495             "in": "header", 
496             "type": "string", 
497             "description": "The microversion corresponding to the version of the current specification"
498           }
499         ], 
500         "responses": {
501           "201": {
502             "description": "Created VNF instance", 
503             "headers": {
504               "Location": {
505                 "description": "The url of the VNF instance", 
506                 "type": "string", 
507                 "format": "url"
508               }, 
509               "Nokia-VNFM-API-Version": {
510                 "enum": [
511                   "3.2"
512                 ], 
513                 "type": "string", 
514                 "description": "The microversion corresponding to the version of the current specification"
515               }
516             }, 
517             "schema": {
518               "$ref": "#/definitions/VnfInfo"
519             }
520           }, 
521           "default": {
522             "headers": {
523               "Nokia-VNFM-API-Version": {
524                 "enum": [
525                   "3.2"
526                 ], 
527                 "type": "string", 
528                 "description": "The microversion corresponding to the version of the current specification"
529               }
530             }, 
531             "description": "Error payload", 
532             "schema": {
533               "$ref": "#/definitions/ProblemDetails"
534             }
535           }
536         }, 
537         "tags": [
538           "vnfs"
539         ]
540       }, 
541       "get": {
542         "description": "Gets the list of VNF objects.\n", 
543         "responses": {
544           "200": {
545             "description": "Successful response", 
546             "schema": {
547               "type": "array", 
548               "items": {
549                 "$ref": "#/definitions/VnfInfo"
550               }
551             }, 
552             "headers": {
553               "Nokia-VNFM-API-Version": {
554                 "enum": [
555                   "3.2"
556                 ], 
557                 "type": "string", 
558                 "description": "The microversion corresponding to the version of the current specification"
559               }
560             }
561           }, 
562           "default": {
563             "headers": {
564               "Nokia-VNFM-API-Version": {
565                 "enum": [
566                   "3.2"
567                 ], 
568                 "type": "string", 
569                 "description": "The microversion corresponding to the version of the current specification"
570               }
571             }, 
572             "description": "Error payload", 
573             "schema": {
574               "$ref": "#/definitions/ProblemDetails"
575             }
576           }
577         }, 
578         "tags": [
579           "vnfs"
580         ], 
581         "parameters": [
582           {
583             "enum": [
584               "3.2"
585             ], 
586             "name": "Nokia-VNFM-API-Version", 
587             "required": true, 
588             "in": "header", 
589             "type": "string", 
590             "description": "The microversion corresponding to the version of the current specification"
591           }
592         ]
593       }
594     }, 
595     "/vnfs/{vnfInstanceId}": {
596       "get": {
597         "description": "Gets VNF object", 
598         "parameters": [
599           {
600             "$ref": "#/parameters/vnfInstanceId"
601           }, 
602           {
603             "enum": [
604               "3.2"
605             ], 
606             "name": "Nokia-VNFM-API-Version", 
607             "required": true, 
608             "in": "header", 
609             "type": "string", 
610             "description": "The microversion corresponding to the version of the current specification"
611           }
612         ], 
613         "responses": {
614           "200": {
615             "description": "Successful response", 
616             "schema": {
617               "$ref": "#/definitions/VnfInfo"
618             }, 
619             "headers": {
620               "Nokia-VNFM-API-Version": {
621                 "enum": [
622                   "3.2"
623                 ], 
624                 "type": "string", 
625                 "description": "The microversion corresponding to the version of the current specification"
626               }
627             }
628           }, 
629           "default": {
630             "headers": {
631               "Nokia-VNFM-API-Version": {
632                 "enum": [
633                   "3.2"
634                 ], 
635                 "type": "string", 
636                 "description": "The microversion corresponding to the version of the current specification"
637               }
638             }, 
639             "description": "Error payload", 
640             "schema": {
641               "$ref": "#/definitions/ProblemDetails"
642             }
643           }
644         }, 
645         "tags": [
646           "vnfs"
647         ]
648       }, 
649       "delete": {
650         "description": "Delete VNF instance from VNFM database. This can only be done if the VNF is not currently instantiated\n", 
651         "parameters": [
652           {
653             "$ref": "#/parameters/vnfInstanceId"
654           }, 
655           {
656             "enum": [
657               "3.2"
658             ], 
659             "name": "Nokia-VNFM-API-Version", 
660             "required": true, 
661             "in": "header", 
662             "type": "string", 
663             "description": "The microversion corresponding to the version of the current specification"
664           }
665         ], 
666         "responses": {
667           "204": {
668             "description": "Successful response", 
669             "headers": {
670               "Nokia-VNFM-API-Version": {
671                 "enum": [
672                   "3.2"
673                 ], 
674                 "type": "string", 
675                 "description": "The microversion corresponding to the version of the current specification"
676               }
677             }
678           }, 
679           "default": {
680             "headers": {
681               "Nokia-VNFM-API-Version": {
682                 "enum": [
683                   "3.2"
684                 ], 
685                 "type": "string", 
686                 "description": "The microversion corresponding to the version of the current specification"
687               }
688             }, 
689             "description": "Error payload", 
690             "schema": {
691               "$ref": "#/definitions/ProblemDetails"
692             }
693           }
694         }, 
695         "tags": [
696           "vnfs"
697         ]
698       }, 
699       "patch": {
700         "description": "Modifies the VnfInfo. This corresponds to the ModifyVnfInfo operation in IFA007. **Due to the ongoing discussions in ETSI regarding the implementation of this operation, this operation specification should not be considered stable**\n", 
701         "parameters": [
702           {
703             "$ref": "#/parameters/vnfInstanceId"
704           }, 
705           {
706             "name": "modifyVnfInfoRequest", 
707             "description": "Input parameters for VNF info modification", 
708             "required": true, 
709             "in": "body", 
710             "schema": {
711               "$ref": "#/definitions/ModifyVnfInfoRequest"
712             }
713           }, 
714           {
715             "enum": [
716               "3.2"
717             ], 
718             "name": "Nokia-VNFM-API-Version", 
719             "required": true, 
720             "in": "header", 
721             "type": "string", 
722             "description": "The microversion corresponding to the version of the current specification"
723           }
724         ], 
725         "responses": {
726           "202": {
727             "$ref": "#/responses/operationExecutionCreated", 
728             "headers": {
729               "Nokia-VNFM-API-Version": {
730                 "enum": [
731                   "3.2"
732                 ], 
733                 "type": "string", 
734                 "description": "The microversion corresponding to the version of the current specification"
735               }
736             }
737           }, 
738           "default": {
739             "headers": {
740               "Nokia-VNFM-API-Version": {
741                 "enum": [
742                   "3.2"
743                 ], 
744                 "type": "string", 
745                 "description": "The microversion corresponding to the version of the current specification"
746               }
747             }, 
748             "description": "Error payload", 
749             "schema": {
750               "$ref": "#/definitions/ProblemDetails"
751             }
752           }
753         }, 
754         "tags": [
755           "vnfs"
756         ]
757       }
758     }, 
759     "/vnfs/{vnfInstanceId}/instantiate": {
760       "post": {
761         "description": "Instantiates VNF with the given parameters", 
762         "parameters": [
763           {
764             "$ref": "#/parameters/vnfInstanceId"
765           }, 
766           {
767             "name": "instantiateVnfRequest", 
768             "required": true, 
769             "description": "Input parameters for the instantiation of the VNF instance", 
770             "in": "body", 
771             "schema": {
772               "$ref": "#/definitions/InstantiateVnfRequest"
773             }
774           }, 
775           {
776             "enum": [
777               "3.2"
778             ], 
779             "name": "Nokia-VNFM-API-Version", 
780             "required": true, 
781             "in": "header", 
782             "type": "string", 
783             "description": "The microversion corresponding to the version of the current specification"
784           }
785         ], 
786         "responses": {
787           "202": {
788             "$ref": "#/responses/operationExecutionCreated", 
789             "headers": {
790               "Nokia-VNFM-API-Version": {
791                 "enum": [
792                   "3.2"
793                 ], 
794                 "type": "string", 
795                 "description": "The microversion corresponding to the version of the current specification"
796               }
797             }
798           }, 
799           "default": {
800             "headers": {
801               "Nokia-VNFM-API-Version": {
802                 "enum": [
803                   "3.2"
804                 ], 
805                 "type": "string", 
806                 "description": "The microversion corresponding to the version of the current specification"
807               }
808             }, 
809             "description": "Error payload", 
810             "schema": {
811               "$ref": "#/definitions/ProblemDetails"
812             }
813           }
814         }, 
815         "tags": [
816           "vnfs"
817         ]
818       }
819     }, 
820     "/vnfs/{vnfInstanceId}/scale": {
821       "post": {
822         "description": "Scales the VNF according to the given parameters", 
823         "parameters": [
824           {
825             "$ref": "#/parameters/vnfInstanceId"
826           }, 
827           {
828             "name": "scaleVnfRequest", 
829             "description": "Input parameters for the scaling operation", 
830             "required": true, 
831             "in": "body", 
832             "schema": {
833               "$ref": "#/definitions/ScaleVnfRequest"
834             }
835           }, 
836           {
837             "enum": [
838               "3.2"
839             ], 
840             "name": "Nokia-VNFM-API-Version", 
841             "required": true, 
842             "in": "header", 
843             "type": "string", 
844             "description": "The microversion corresponding to the version of the current specification"
845           }
846         ], 
847         "responses": {
848           "202": {
849             "$ref": "#/responses/operationExecutionCreated", 
850             "headers": {
851               "Nokia-VNFM-API-Version": {
852                 "enum": [
853                   "3.2"
854                 ], 
855                 "type": "string", 
856                 "description": "The microversion corresponding to the version of the current specification"
857               }
858             }
859           }, 
860           "default": {
861             "headers": {
862               "Nokia-VNFM-API-Version": {
863                 "enum": [
864                   "3.2"
865                 ], 
866                 "type": "string", 
867                 "description": "The microversion corresponding to the version of the current specification"
868               }
869             }, 
870             "description": "Error payload", 
871             "schema": {
872               "$ref": "#/definitions/ProblemDetails"
873             }
874           }
875         }, 
876         "tags": [
877           "vnfs"
878         ]
879       }
880     }, 
881     "/vnfs/{vnfInstanceId}/terminate": {
882       "post": {
883         "description": "Terminates the VNF", 
884         "parameters": [
885           {
886             "$ref": "#/parameters/vnfInstanceId"
887           }, 
888           {
889             "name": "terminateVnfRequest", 
890             "description": "Input parameters for VNF termination", 
891             "required": true, 
892             "in": "body", 
893             "schema": {
894               "$ref": "#/definitions/TerminateVnfRequest"
895             }
896           }, 
897           {
898             "enum": [
899               "3.2"
900             ], 
901             "name": "Nokia-VNFM-API-Version", 
902             "required": true, 
903             "in": "header", 
904             "type": "string", 
905             "description": "The microversion corresponding to the version of the current specification"
906           }
907         ], 
908         "responses": {
909           "202": {
910             "$ref": "#/responses/operationExecutionCreated", 
911             "headers": {
912               "Nokia-VNFM-API-Version": {
913                 "enum": [
914                   "3.2"
915                 ], 
916                 "type": "string", 
917                 "description": "The microversion corresponding to the version of the current specification"
918               }
919             }
920           }, 
921           "default": {
922             "headers": {
923               "Nokia-VNFM-API-Version": {
924                 "enum": [
925                   "3.2"
926                 ], 
927                 "type": "string", 
928                 "description": "The microversion corresponding to the version of the current specification"
929               }
930             }, 
931             "description": "Error payload", 
932             "schema": {
933               "$ref": "#/definitions/ProblemDetails"
934             }
935           }
936         }, 
937         "tags": [
938           "vnfs"
939         ]
940       }
941     }, 
942     "/vnfs/{vnfInstanceId}/heal": {
943       "post": {
944         "description": "Heals the VNF", 
945         "parameters": [
946           {
947             "$ref": "#/parameters/vnfInstanceId"
948           }, 
949           {
950             "name": "healVnfRequest", 
951             "description": "Input parameters for VNF healing", 
952             "required": true, 
953             "in": "body", 
954             "schema": {
955               "$ref": "#/definitions/HealVnfRequest"
956             }
957           }, 
958           {
959             "enum": [
960               "3.2"
961             ], 
962             "name": "Nokia-VNFM-API-Version", 
963             "required": true, 
964             "in": "header", 
965             "type": "string", 
966             "description": "The microversion corresponding to the version of the current specification"
967           }
968         ], 
969         "responses": {
970           "202": {
971             "$ref": "#/responses/operationExecutionCreated", 
972             "headers": {
973               "Nokia-VNFM-API-Version": {
974                 "enum": [
975                   "3.2"
976                 ], 
977                 "type": "string", 
978                 "description": "The microversion corresponding to the version of the current specification"
979               }
980             }
981           }, 
982           "default": {
983             "headers": {
984               "Nokia-VNFM-API-Version": {
985                 "enum": [
986                   "3.2"
987                 ], 
988                 "type": "string", 
989                 "description": "The microversion corresponding to the version of the current specification"
990               }
991             }, 
992             "description": "Error payload", 
993             "schema": {
994               "$ref": "#/definitions/ProblemDetails"
995             }
996           }
997         }, 
998         "tags": [
999           "vnfs"
1000         ]
1001       }
1002     }, 
1003     "/vnfs/{vnfInstanceId}/upgrade": {
1004       "post": {
1005         "description": "Upgrades the VNF", 
1006         "parameters": [
1007           {
1008             "$ref": "#/parameters/vnfInstanceId"
1009           }, 
1010           {
1011             "name": "upgradeVnfRequest", 
1012             "description": "Input parameters for VNF upgrade", 
1013             "required": true, 
1014             "in": "body", 
1015             "schema": {
1016               "$ref": "#/definitions/UpgradeVnfRequest"
1017             }
1018           }, 
1019           {
1020             "enum": [
1021               "3.2"
1022             ], 
1023             "name": "Nokia-VNFM-API-Version", 
1024             "required": true, 
1025             "in": "header", 
1026             "type": "string", 
1027             "description": "The microversion corresponding to the version of the current specification"
1028           }
1029         ], 
1030         "responses": {
1031           "202": {
1032             "$ref": "#/responses/operationExecutionCreated", 
1033             "headers": {
1034               "Nokia-VNFM-API-Version": {
1035                 "enum": [
1036                   "3.2"
1037                 ], 
1038                 "type": "string", 
1039                 "description": "The microversion corresponding to the version of the current specification"
1040               }
1041             }
1042           }, 
1043           "default": {
1044             "headers": {
1045               "Nokia-VNFM-API-Version": {
1046                 "enum": [
1047                   "3.2"
1048                 ], 
1049                 "type": "string", 
1050                 "description": "The microversion corresponding to the version of the current specification"
1051               }
1052             }, 
1053             "description": "Error payload", 
1054             "schema": {
1055               "$ref": "#/definitions/ProblemDetails"
1056             }
1057           }
1058         }, 
1059         "tags": [
1060           "vnfs"
1061         ]
1062       }
1063     }, 
1064     "/vnfs/{vnfInstanceId}/custom/{customOperationName}": {
1065       "post": {
1066         "description": "Executes custom operation. **Nokia VNFM proprietary extension.**\n", 
1067         "parameters": [
1068           {
1069             "$ref": "#/parameters/vnfInstanceId"
1070           }, 
1071           {
1072             "name": "customOperationName", 
1073             "in": "path", 
1074             "description": "The identifier of the custom operation", 
1075             "required": true, 
1076             "type": "string"
1077           }, 
1078           {
1079             "name": "customOperationRequest", 
1080             "description": "Input parameters for custom operation", 
1081             "required": true, 
1082             "in": "body", 
1083             "schema": {
1084               "$ref": "#/definitions/CustomOperationRequest"
1085             }
1086           }, 
1087           {
1088             "enum": [
1089               "3.2"
1090             ], 
1091             "name": "Nokia-VNFM-API-Version", 
1092             "required": true, 
1093             "in": "header", 
1094             "type": "string", 
1095             "description": "The microversion corresponding to the version of the current specification"
1096           }
1097         ], 
1098         "responses": {
1099           "202": {
1100             "$ref": "#/responses/operationExecutionCreated", 
1101             "headers": {
1102               "Nokia-VNFM-API-Version": {
1103                 "enum": [
1104                   "3.2"
1105                 ], 
1106                 "type": "string", 
1107                 "description": "The microversion corresponding to the version of the current specification"
1108               }
1109             }
1110           }, 
1111           "default": {
1112             "headers": {
1113               "Nokia-VNFM-API-Version": {
1114                 "enum": [
1115                   "3.2"
1116                 ], 
1117                 "type": "string", 
1118                 "description": "The microversion corresponding to the version of the current specification"
1119               }
1120             }, 
1121             "description": "Error payload", 
1122             "schema": {
1123               "$ref": "#/definitions/ProblemDetails"
1124             }
1125           }
1126         }, 
1127         "tags": [
1128           "vnfs"
1129         ]
1130       }
1131     }, 
1132     "/vnfs/{vnfInstanceId}/instantiated_vnf_info": {
1133       "get": {
1134         "tags": [
1135           "vnfs"
1136         ], 
1137         "description": "Gets the requested instantiated info resource of a VNF", 
1138         "parameters": [
1139           {
1140             "$ref": "#/parameters/vnfInstanceId"
1141           }, 
1142           {
1143             "enum": [
1144               "3.2"
1145             ], 
1146             "name": "Nokia-VNFM-API-Version", 
1147             "required": true, 
1148             "in": "header", 
1149             "type": "string", 
1150             "description": "The microversion corresponding to the version of the current specification"
1151           }
1152         ], 
1153         "responses": {
1154           "default": {
1155             "headers": {
1156               "Nokia-VNFM-API-Version": {
1157                 "enum": [
1158                   "3.2"
1159                 ], 
1160                 "type": "string", 
1161                 "description": "The microversion corresponding to the version of the current specification"
1162               }
1163             }, 
1164             "description": "Error payload", 
1165             "schema": {
1166               "$ref": "#/definitions/ProblemDetails"
1167             }
1168           }, 
1169           "200": {
1170             "headers": {
1171               "Nokia-VNFM-API-Version": {
1172                 "enum": [
1173                   "3.2"
1174                 ], 
1175                 "type": "string", 
1176                 "description": "The microversion corresponding to the version of the current specification"
1177               }
1178             }, 
1179             "description": "Successful response", 
1180             "schema": {
1181               "$ref": "#/definitions/InstantiatedVnfInfo"
1182             }
1183           }
1184         }
1185       }
1186     }, 
1187     "/vnfs/{vnfInstanceId}/operation_executions": {
1188       "get": {
1189         "tags": [
1190           "vnfs"
1191         ], 
1192         "description": "Gets the operation execution resources of a VNF", 
1193         "parameters": [
1194           {
1195             "$ref": "#/parameters/vnfInstanceId"
1196           }, 
1197           {
1198             "enum": [
1199               "3.2"
1200             ], 
1201             "name": "Nokia-VNFM-API-Version", 
1202             "required": true, 
1203             "in": "header", 
1204             "type": "string", 
1205             "description": "The microversion corresponding to the version of the current specification"
1206           }
1207         ], 
1208         "responses": {
1209           "default": {
1210             "headers": {
1211               "Nokia-VNFM-API-Version": {
1212                 "enum": [
1213                   "3.2"
1214                 ], 
1215                 "type": "string", 
1216                 "description": "The microversion corresponding to the version of the current specification"
1217               }
1218             }, 
1219             "description": "Error payload", 
1220             "schema": {
1221               "$ref": "#/definitions/ProblemDetails"
1222             }
1223           }, 
1224           "200": {
1225             "headers": {
1226               "Nokia-VNFM-API-Version": {
1227                 "enum": [
1228                   "3.2"
1229                 ], 
1230                 "type": "string", 
1231                 "description": "The microversion corresponding to the version of the current specification"
1232               }
1233             }, 
1234             "description": "Successful response", 
1235             "schema": {
1236               "items": {
1237                 "$ref": "#/definitions/OperationExecution"
1238               }, 
1239               "type": "array"
1240             }
1241           }
1242         }
1243       }
1244     }, 
1245     "/vnfs/{vnfInstanceId}/vnfc_resource_info": {
1246       "get": {
1247         "tags": [
1248           "vnfs"
1249         ], 
1250         "description": "Gets the VNFC resources of a VNF", 
1251         "parameters": [
1252           {
1253             "$ref": "#/parameters/vnfInstanceId"
1254           }, 
1255           {
1256             "enum": [
1257               "3.2"
1258             ], 
1259             "name": "Nokia-VNFM-API-Version", 
1260             "required": true, 
1261             "in": "header", 
1262             "type": "string", 
1263             "description": "The microversion corresponding to the version of the current specification"
1264           }
1265         ], 
1266         "responses": {
1267           "default": {
1268             "headers": {
1269               "Nokia-VNFM-API-Version": {
1270                 "enum": [
1271                   "3.2"
1272                 ], 
1273                 "type": "string", 
1274                 "description": "The microversion corresponding to the version of the current specification"
1275               }
1276             }, 
1277             "description": "Error payload", 
1278             "schema": {
1279               "$ref": "#/definitions/ProblemDetails"
1280             }
1281           }, 
1282           "200": {
1283             "headers": {
1284               "Nokia-VNFM-API-Version": {
1285                 "enum": [
1286                   "3.2"
1287                 ], 
1288                 "type": "string", 
1289                 "description": "The microversion corresponding to the version of the current specification"
1290               }
1291             }, 
1292             "description": "Successful response", 
1293             "schema": {
1294               "items": {
1295                 "$ref": "#/definitions/VnfcResourceInfo"
1296               }, 
1297               "type": "array"
1298             }
1299           }
1300         }
1301       }
1302     }, 
1303     "/vnfs/{vnfInstanceId}/vnfc_resource_info/{vnfcId}": {
1304       "get": {
1305         "tags": [
1306           "vnfs"
1307         ], 
1308         "description": "Gets the requested VNFC resource of a VNF", 
1309         "parameters": [
1310           {
1311             "$ref": "#/parameters/vnfInstanceId"
1312           }, 
1313           {
1314             "description": "The identifier of the VNFC", 
1315             "required": true, 
1316             "type": "string", 
1317             "name": "vnfcId", 
1318             "in": "path"
1319           }, 
1320           {
1321             "enum": [
1322               "3.2"
1323             ], 
1324             "name": "Nokia-VNFM-API-Version", 
1325             "required": true, 
1326             "in": "header", 
1327             "type": "string", 
1328             "description": "The microversion corresponding to the version of the current specification"
1329           }
1330         ], 
1331         "responses": {
1332           "default": {
1333             "headers": {
1334               "Nokia-VNFM-API-Version": {
1335                 "enum": [
1336                   "3.2"
1337                 ], 
1338                 "type": "string", 
1339                 "description": "The microversion corresponding to the version of the current specification"
1340               }
1341             }, 
1342             "description": "Error payload", 
1343             "schema": {
1344               "$ref": "#/definitions/ProblemDetails"
1345             }
1346           }, 
1347           "200": {
1348             "headers": {
1349               "Nokia-VNFM-API-Version": {
1350                 "enum": [
1351                   "3.2"
1352                 ], 
1353                 "type": "string", 
1354                 "description": "The microversion corresponding to the version of the current specification"
1355               }
1356             }, 
1357             "description": "Successful response", 
1358             "schema": {
1359               "$ref": "#/definitions/VnfcResourceInfo"
1360             }
1361           }
1362         }
1363       }
1364     }, 
1365     "/vnfs/{vnfInstanceId}/virtual_link_resource_info": {
1366       "get": {
1367         "tags": [
1368           "vnfs"
1369         ], 
1370         "description": "Gets the virtual link resources of a VNF", 
1371         "parameters": [
1372           {
1373             "$ref": "#/parameters/vnfInstanceId"
1374           }, 
1375           {
1376             "enum": [
1377               "3.2"
1378             ], 
1379             "name": "Nokia-VNFM-API-Version", 
1380             "required": true, 
1381             "in": "header", 
1382             "type": "string", 
1383             "description": "The microversion corresponding to the version of the current specification"
1384           }
1385         ], 
1386         "responses": {
1387           "default": {
1388             "headers": {
1389               "Nokia-VNFM-API-Version": {
1390                 "enum": [
1391                   "3.2"
1392                 ], 
1393                 "type": "string", 
1394                 "description": "The microversion corresponding to the version of the current specification"
1395               }
1396             }, 
1397             "description": "Error payload", 
1398             "schema": {
1399               "$ref": "#/definitions/ProblemDetails"
1400             }
1401           }, 
1402           "200": {
1403             "headers": {
1404               "Nokia-VNFM-API-Version": {
1405                 "enum": [
1406                   "3.2"
1407                 ], 
1408                 "type": "string", 
1409                 "description": "The microversion corresponding to the version of the current specification"
1410               }
1411             }, 
1412             "description": "Successful response", 
1413             "schema": {
1414               "items": {
1415                 "$ref": "#/definitions/VirtualLinkResourceInfo"
1416               }, 
1417               "type": "array"
1418             }
1419           }
1420         }
1421       }
1422     }, 
1423     "/vnfs/{vnfInstanceId}/virtual_link_resource_info/{virtualLinkId}": {
1424       "get": {
1425         "tags": [
1426           "vnfs"
1427         ], 
1428         "description": "Gets the requested virtual link resource of a VNF", 
1429         "parameters": [
1430           {
1431             "$ref": "#/parameters/vnfInstanceId"
1432           }, 
1433           {
1434             "description": "The identifier of the virtual link", 
1435             "required": true, 
1436             "type": "string", 
1437             "name": "virtualLinkId", 
1438             "in": "path"
1439           }, 
1440           {
1441             "enum": [
1442               "3.2"
1443             ], 
1444             "name": "Nokia-VNFM-API-Version", 
1445             "required": true, 
1446             "in": "header", 
1447             "type": "string", 
1448             "description": "The microversion corresponding to the version of the current specification"
1449           }
1450         ], 
1451         "responses": {
1452           "default": {
1453             "headers": {
1454               "Nokia-VNFM-API-Version": {
1455                 "enum": [
1456                   "3.2"
1457                 ], 
1458                 "type": "string", 
1459                 "description": "The microversion corresponding to the version of the current specification"
1460               }
1461             }, 
1462             "description": "Error payload", 
1463             "schema": {
1464               "$ref": "#/definitions/ProblemDetails"
1465             }
1466           }, 
1467           "200": {
1468             "headers": {
1469               "Nokia-VNFM-API-Version": {
1470                 "enum": [
1471                   "3.2"
1472                 ], 
1473                 "type": "string", 
1474                 "description": "The microversion corresponding to the version of the current specification"
1475               }
1476             }, 
1477             "description": "Successful response", 
1478             "schema": {
1479               "$ref": "#/definitions/VirtualLinkResourceInfo"
1480             }
1481           }
1482         }
1483       }
1484     }, 
1485     "/vnfs/{vnfInstanceId}/virtual_storage_resource_info": {
1486       "get": {
1487         "tags": [
1488           "vnfs"
1489         ], 
1490         "description": "Gets the virtual storage resources of a VNF", 
1491         "parameters": [
1492           {
1493             "$ref": "#/parameters/vnfInstanceId"
1494           }, 
1495           {
1496             "enum": [
1497               "3.2"
1498             ], 
1499             "name": "Nokia-VNFM-API-Version", 
1500             "required": true, 
1501             "in": "header", 
1502             "type": "string", 
1503             "description": "The microversion corresponding to the version of the current specification"
1504           }
1505         ], 
1506         "responses": {
1507           "default": {
1508             "headers": {
1509               "Nokia-VNFM-API-Version": {
1510                 "enum": [
1511                   "3.2"
1512                 ], 
1513                 "type": "string", 
1514                 "description": "The microversion corresponding to the version of the current specification"
1515               }
1516             }, 
1517             "description": "Error payload", 
1518             "schema": {
1519               "$ref": "#/definitions/ProblemDetails"
1520             }
1521           }, 
1522           "200": {
1523             "headers": {
1524               "Nokia-VNFM-API-Version": {
1525                 "enum": [
1526                   "3.2"
1527                 ], 
1528                 "type": "string", 
1529                 "description": "The microversion corresponding to the version of the current specification"
1530               }
1531             }, 
1532             "description": "Successful response", 
1533             "schema": {
1534               "items": {
1535                 "$ref": "#/definitions/VirtualStorageResourceInfo"
1536               }, 
1537               "type": "array"
1538             }
1539           }
1540         }
1541       }
1542     }, 
1543     "/vnfs/{vnfInstanceId}/virtual_storage_resource_info/{virtualStorageId}": {
1544       "get": {
1545         "tags": [
1546           "vnfs"
1547         ], 
1548         "description": "Gets the requested virtual storage resource of a VNF", 
1549         "parameters": [
1550           {
1551             "$ref": "#/parameters/vnfInstanceId"
1552           }, 
1553           {
1554             "description": "The identifier of the virtual storage", 
1555             "required": true, 
1556             "type": "string", 
1557             "name": "virtualStorageId", 
1558             "in": "path"
1559           }, 
1560           {
1561             "enum": [
1562               "3.2"
1563             ], 
1564             "name": "Nokia-VNFM-API-Version", 
1565             "required": true, 
1566             "in": "header", 
1567             "type": "string", 
1568             "description": "The microversion corresponding to the version of the current specification"
1569           }
1570         ], 
1571         "responses": {
1572           "default": {
1573             "headers": {
1574               "Nokia-VNFM-API-Version": {
1575                 "enum": [
1576                   "3.2"
1577                 ], 
1578                 "type": "string", 
1579                 "description": "The microversion corresponding to the version of the current specification"
1580               }
1581             }, 
1582             "description": "Error payload", 
1583             "schema": {
1584               "$ref": "#/definitions/ProblemDetails"
1585             }
1586           }, 
1587           "200": {
1588             "headers": {
1589               "Nokia-VNFM-API-Version": {
1590                 "enum": [
1591                   "3.2"
1592                 ], 
1593                 "type": "string", 
1594                 "description": "The microversion corresponding to the version of the current specification"
1595               }
1596             }, 
1597             "description": "Successful response", 
1598             "schema": {
1599               "$ref": "#/definitions/VirtualStorageResourceInfo"
1600             }
1601           }
1602         }
1603       }
1604     }, 
1605     "/vnfs/{vnfInstanceId}/ext_cp_info": {
1606       "get": {
1607         "tags": [
1608           "vnfs"
1609         ], 
1610         "description": "Gets the external connection points resources of a VNF", 
1611         "parameters": [
1612           {
1613             "$ref": "#/parameters/vnfInstanceId"
1614           }, 
1615           {
1616             "enum": [
1617               "3.2"
1618             ], 
1619             "name": "Nokia-VNFM-API-Version", 
1620             "required": true, 
1621             "in": "header", 
1622             "type": "string", 
1623             "description": "The microversion corresponding to the version of the current specification"
1624           }
1625         ], 
1626         "responses": {
1627           "default": {
1628             "headers": {
1629               "Nokia-VNFM-API-Version": {
1630                 "enum": [
1631                   "3.2"
1632                 ], 
1633                 "type": "string", 
1634                 "description": "The microversion corresponding to the version of the current specification"
1635               }
1636             }, 
1637             "description": "Error payload", 
1638             "schema": {
1639               "$ref": "#/definitions/ProblemDetails"
1640             }
1641           }, 
1642           "200": {
1643             "headers": {
1644               "Nokia-VNFM-API-Version": {
1645                 "enum": [
1646                   "3.2"
1647                 ], 
1648                 "type": "string", 
1649                 "description": "The microversion corresponding to the version of the current specification"
1650               }
1651             }, 
1652             "description": "Successful response", 
1653             "schema": {
1654               "items": {
1655                 "$ref": "#/definitions/VnfExtCpInfo"
1656               }, 
1657               "type": "array"
1658             }
1659           }
1660         }
1661       }
1662     }, 
1663     "/vnfs/{vnfInstanceId}/ext_cp_info/{extCpId}": {
1664       "get": {
1665         "tags": [
1666           "vnfs"
1667         ], 
1668         "description": "Gets the requested external connection points resource of a VNF", 
1669         "parameters": [
1670           {
1671             "$ref": "#/parameters/vnfInstanceId"
1672           }, 
1673           {
1674             "description": "The identifier of the external connection points", 
1675             "required": true, 
1676             "type": "string", 
1677             "name": "extCpId", 
1678             "in": "path"
1679           }, 
1680           {
1681             "enum": [
1682               "3.2"
1683             ], 
1684             "name": "Nokia-VNFM-API-Version", 
1685             "required": true, 
1686             "in": "header", 
1687             "type": "string", 
1688             "description": "The microversion corresponding to the version of the current specification"
1689           }
1690         ], 
1691         "responses": {
1692           "default": {
1693             "headers": {
1694               "Nokia-VNFM-API-Version": {
1695                 "enum": [
1696                   "3.2"
1697                 ], 
1698                 "type": "string", 
1699                 "description": "The microversion corresponding to the version of the current specification"
1700               }
1701             }, 
1702             "description": "Error payload", 
1703             "schema": {
1704               "$ref": "#/definitions/ProblemDetails"
1705             }
1706           }, 
1707           "200": {
1708             "headers": {
1709               "Nokia-VNFM-API-Version": {
1710                 "enum": [
1711                   "3.2"
1712                 ], 
1713                 "type": "string", 
1714                 "description": "The microversion corresponding to the version of the current specification"
1715               }
1716             }, 
1717             "description": "Successful response", 
1718             "schema": {
1719               "$ref": "#/definitions/VnfExtCpInfo"
1720             }
1721           }
1722         }
1723       }
1724     }, 
1725     "/vnfs/{vnfInstanceId}/ext_virtual_link_info": {
1726       "get": {
1727         "tags": [
1728           "vnfs"
1729         ], 
1730         "description": "Gets the external virtual links resources of a VNF", 
1731         "parameters": [
1732           {
1733             "$ref": "#/parameters/vnfInstanceId"
1734           }, 
1735           {
1736             "enum": [
1737               "3.2"
1738             ], 
1739             "name": "Nokia-VNFM-API-Version", 
1740             "required": true, 
1741             "in": "header", 
1742             "type": "string", 
1743             "description": "The microversion corresponding to the version of the current specification"
1744           }
1745         ], 
1746         "responses": {
1747           "default": {
1748             "headers": {
1749               "Nokia-VNFM-API-Version": {
1750                 "enum": [
1751                   "3.2"
1752                 ], 
1753                 "type": "string", 
1754                 "description": "The microversion corresponding to the version of the current specification"
1755               }
1756             }, 
1757             "description": "Error payload", 
1758             "schema": {
1759               "$ref": "#/definitions/ProblemDetails"
1760             }
1761           }, 
1762           "200": {
1763             "headers": {
1764               "Nokia-VNFM-API-Version": {
1765                 "enum": [
1766                   "3.2"
1767                 ], 
1768                 "type": "string", 
1769                 "description": "The microversion corresponding to the version of the current specification"
1770               }
1771             }, 
1772             "description": "Successful response", 
1773             "schema": {
1774               "items": {
1775                 "$ref": "#/definitions/ExtVirtualLinkInfo"
1776               }, 
1777               "type": "array"
1778             }
1779           }
1780         }
1781       }
1782     }, 
1783     "/vnfs/{vnfInstanceId}/extensions": {
1784       "get": {
1785         "tags": [
1786           "vnfs"
1787         ], 
1788         "description": "Gets the extension resources of a VNF", 
1789         "parameters": [
1790           {
1791             "$ref": "#/parameters/vnfInstanceId"
1792           }, 
1793           {
1794             "enum": [
1795               "3.2"
1796             ], 
1797             "name": "Nokia-VNFM-API-Version", 
1798             "required": true, 
1799             "in": "header", 
1800             "type": "string", 
1801             "description": "The microversion corresponding to the version of the current specification"
1802           }
1803         ], 
1804         "responses": {
1805           "default": {
1806             "headers": {
1807               "Nokia-VNFM-API-Version": {
1808                 "enum": [
1809                   "3.2"
1810                 ], 
1811                 "type": "string", 
1812                 "description": "The microversion corresponding to the version of the current specification"
1813               }
1814             }, 
1815             "description": "Error payload", 
1816             "schema": {
1817               "$ref": "#/definitions/ProblemDetails"
1818             }
1819           }, 
1820           "200": {
1821             "headers": {
1822               "Nokia-VNFM-API-Version": {
1823                 "enum": [
1824                   "3.2"
1825                 ], 
1826                 "type": "string", 
1827                 "description": "The microversion corresponding to the version of the current specification"
1828               }
1829             }, 
1830             "description": "Successful response", 
1831             "schema": {
1832               "items": {
1833                 "$ref": "#/definitions/VnfProperty"
1834               }, 
1835               "type": "array"
1836             }
1837           }
1838         }
1839       }
1840     }, 
1841     "/vnfs/{vnfInstanceId}/vnf_configurable_properties": {
1842       "get": {
1843         "tags": [
1844           "vnfs"
1845         ], 
1846         "description": "Gets the configurable porperties resources of a VNF", 
1847         "parameters": [
1848           {
1849             "$ref": "#/parameters/vnfInstanceId"
1850           }, 
1851           {
1852             "enum": [
1853               "3.2"
1854             ], 
1855             "name": "Nokia-VNFM-API-Version", 
1856             "required": true, 
1857             "in": "header", 
1858             "type": "string", 
1859             "description": "The microversion corresponding to the version of the current specification"
1860           }
1861         ], 
1862         "responses": {
1863           "default": {
1864             "headers": {
1865               "Nokia-VNFM-API-Version": {
1866                 "enum": [
1867                   "3.2"
1868                 ], 
1869                 "type": "string", 
1870                 "description": "The microversion corresponding to the version of the current specification"
1871               }
1872             }, 
1873             "description": "Error payload", 
1874             "schema": {
1875               "$ref": "#/definitions/ProblemDetails"
1876             }
1877           }, 
1878           "200": {
1879             "headers": {
1880               "Nokia-VNFM-API-Version": {
1881                 "enum": [
1882                   "3.2"
1883                 ], 
1884                 "type": "string", 
1885                 "description": "The microversion corresponding to the version of the current specification"
1886               }
1887             }, 
1888             "description": "Successful response", 
1889             "schema": {
1890               "items": {
1891                 "$ref": "#/definitions/VnfProperty"
1892               }, 
1893               "type": "array"
1894             }
1895           }
1896         }
1897       }
1898     }, 
1899     "/vnfs/{vnfInstanceId}/scale_status": {
1900       "get": {
1901         "tags": [
1902           "vnfs"
1903         ], 
1904         "description": "Gets the scaling aspect resources of a VNF", 
1905         "parameters": [
1906           {
1907             "$ref": "#/parameters/vnfInstanceId"
1908           }, 
1909           {
1910             "enum": [
1911               "3.2"
1912             ], 
1913             "name": "Nokia-VNFM-API-Version", 
1914             "required": true, 
1915             "in": "header", 
1916             "type": "string", 
1917             "description": "The microversion corresponding to the version of the current specification"
1918           }
1919         ], 
1920         "responses": {
1921           "default": {
1922             "headers": {
1923               "Nokia-VNFM-API-Version": {
1924                 "enum": [
1925                   "3.2"
1926                 ], 
1927                 "type": "string", 
1928                 "description": "The microversion corresponding to the version of the current specification"
1929               }
1930             }, 
1931             "description": "Error payload", 
1932             "schema": {
1933               "$ref": "#/definitions/ProblemDetails"
1934             }
1935           }, 
1936           "200": {
1937             "headers": {
1938               "Nokia-VNFM-API-Version": {
1939                 "enum": [
1940                   "3.2"
1941                 ], 
1942                 "type": "string", 
1943                 "description": "The microversion corresponding to the version of the current specification"
1944               }
1945             }, 
1946             "description": "Successful response", 
1947             "schema": {
1948               "items": {
1949                 "$ref": "#/definitions/ScaleInfo"
1950               }, 
1951               "type": "array"
1952             }
1953           }
1954         }
1955       }
1956     }, 
1957     "/vnfs/{vnfInstanceId}/scale_status/{scalingAspectId}": {
1958       "get": {
1959         "tags": [
1960           "vnfs"
1961         ], 
1962         "description": "Gets the requested scaling aspect resource of a VNF", 
1963         "parameters": [
1964           {
1965             "$ref": "#/parameters/vnfInstanceId"
1966           }, 
1967           {
1968             "description": "The identifier of the scaling aspect", 
1969             "required": true, 
1970             "type": "string", 
1971             "name": "scalingAspectId", 
1972             "in": "path"
1973           }, 
1974           {
1975             "enum": [
1976               "3.2"
1977             ], 
1978             "name": "Nokia-VNFM-API-Version", 
1979             "required": true, 
1980             "in": "header", 
1981             "type": "string", 
1982             "description": "The microversion corresponding to the version of the current specification"
1983           }
1984         ], 
1985         "responses": {
1986           "default": {
1987             "headers": {
1988               "Nokia-VNFM-API-Version": {
1989                 "enum": [
1990                   "3.2"
1991                 ], 
1992                 "type": "string", 
1993                 "description": "The microversion corresponding to the version of the current specification"
1994               }
1995             }, 
1996             "description": "Error payload", 
1997             "schema": {
1998               "$ref": "#/definitions/ProblemDetails"
1999             }
2000           }, 
2001           "200": {
2002             "headers": {
2003               "Nokia-VNFM-API-Version": {
2004                 "enum": [
2005                   "3.2"
2006                 ], 
2007                 "type": "string", 
2008                 "description": "The microversion corresponding to the version of the current specification"
2009               }
2010             }, 
2011             "description": "Successful response", 
2012             "schema": {
2013               "$ref": "#/definitions/ScaleInfo"
2014             }
2015           }
2016         }
2017       }
2018     }, 
2019     "/vnfs/{vnfInstanceId}/vim_info": {
2020       "get": {
2021         "tags": [
2022           "vnfs"
2023         ], 
2024         "description": "Gets the vim info resources of a VNF", 
2025         "parameters": [
2026           {
2027             "$ref": "#/parameters/vnfInstanceId"
2028           }, 
2029           {
2030             "enum": [
2031               "3.2"
2032             ], 
2033             "name": "Nokia-VNFM-API-Version", 
2034             "required": true, 
2035             "in": "header", 
2036             "type": "string", 
2037             "description": "The microversion corresponding to the version of the current specification"
2038           }
2039         ], 
2040         "responses": {
2041           "default": {
2042             "headers": {
2043               "Nokia-VNFM-API-Version": {
2044                 "enum": [
2045                   "3.2"
2046                 ], 
2047                 "type": "string", 
2048                 "description": "The microversion corresponding to the version of the current specification"
2049               }
2050             }, 
2051             "description": "Error payload", 
2052             "schema": {
2053               "$ref": "#/definitions/ProblemDetails"
2054             }
2055           }, 
2056           "200": {
2057             "headers": {
2058               "Nokia-VNFM-API-Version": {
2059                 "enum": [
2060                   "3.2"
2061                 ], 
2062                 "type": "string", 
2063                 "description": "The microversion corresponding to the version of the current specification"
2064               }
2065             }, 
2066             "description": "Successful response", 
2067             "schema": {
2068               "items": {
2069                 "$ref": "#/definitions/VimInfo"
2070               }, 
2071               "type": "array"
2072             }
2073           }
2074         }
2075       }
2076     }, 
2077     "/vnfs/{vnfInstanceId}/vim_info/{vimId}": {
2078       "put": {
2079         "tags": [
2080           "vnfs"
2081         ], 
2082         "description": "Updates the specific vim info resource", 
2083         "parameters": [
2084           {
2085             "$ref": "#/parameters/vnfInstanceId"
2086           }, 
2087           {
2088             "description": "The identifier of the vim info", 
2089             "required": true, 
2090             "type": "string", 
2091             "name": "vimId", 
2092             "in": "path"
2093           }, 
2094           {
2095             "schema": {
2096               "$ref": "#/definitions/VimInfo"
2097             }, 
2098             "required": true, 
2099             "name": "updated resource", 
2100             "in": "body"
2101           }, 
2102           {
2103             "enum": [
2104               "3.2"
2105             ], 
2106             "name": "Nokia-VNFM-API-Version", 
2107             "required": true, 
2108             "in": "header", 
2109             "type": "string", 
2110             "description": "The microversion corresponding to the version of the current specification"
2111           }
2112         ], 
2113         "responses": {
2114           "default": {
2115             "headers": {
2116               "Nokia-VNFM-API-Version": {
2117                 "enum": [
2118                   "3.2"
2119                 ], 
2120                 "type": "string", 
2121                 "description": "The microversion corresponding to the version of the current specification"
2122               }
2123             }, 
2124             "description": "Error payload", 
2125             "schema": {
2126               "$ref": "#/definitions/ProblemDetails"
2127             }
2128           }, 
2129           "200": {
2130             "headers": {
2131               "Nokia-VNFM-API-Version": {
2132                 "enum": [
2133                   "3.2"
2134                 ], 
2135                 "type": "string", 
2136                 "description": "The microversion corresponding to the version of the current specification"
2137               }
2138             }, 
2139             "description": "Successful response", 
2140             "schema": {
2141               "$ref": "#/definitions/VimInfo"
2142             }
2143           }
2144         }
2145       }, 
2146       "get": {
2147         "tags": [
2148           "vnfs"
2149         ], 
2150         "description": "Gets the requested vim info resource of a VNF", 
2151         "parameters": [
2152           {
2153             "$ref": "#/parameters/vnfInstanceId"
2154           }, 
2155           {
2156             "description": "The identifier of the vim info", 
2157             "required": true, 
2158             "type": "string", 
2159             "name": "vimId", 
2160             "in": "path"
2161           }, 
2162           {
2163             "enum": [
2164               "3.2"
2165             ], 
2166             "name": "Nokia-VNFM-API-Version", 
2167             "required": true, 
2168             "in": "header", 
2169             "type": "string", 
2170             "description": "The microversion corresponding to the version of the current specification"
2171           }
2172         ], 
2173         "responses": {
2174           "default": {
2175             "headers": {
2176               "Nokia-VNFM-API-Version": {
2177                 "enum": [
2178                   "3.2"
2179                 ], 
2180                 "type": "string", 
2181                 "description": "The microversion corresponding to the version of the current specification"
2182               }
2183             }, 
2184             "description": "Error payload", 
2185             "schema": {
2186               "$ref": "#/definitions/ProblemDetails"
2187             }
2188           }, 
2189           "200": {
2190             "headers": {
2191               "Nokia-VNFM-API-Version": {
2192                 "enum": [
2193                   "3.2"
2194                 ], 
2195                 "type": "string", 
2196                 "description": "The microversion corresponding to the version of the current specification"
2197               }
2198             }, 
2199             "description": "Successful response", 
2200             "schema": {
2201               "$ref": "#/definitions/VimInfo"
2202             }
2203           }
2204         }
2205       }
2206     }
2207   }, 
2208   "parameters": {
2209     "vnfInstanceId": {
2210       "name": "vnfInstanceId", 
2211       "in": "path", 
2212       "description": "The identifier of the VNF instance", 
2213       "required": true, 
2214       "type": "string"
2215     }, 
2216     "operationExecutionId": {
2217       "name": "operationExecutionId", 
2218       "in": "path", 
2219       "description": "The identifier of the operation execution", 
2220       "required": true, 
2221       "type": "string"
2222     }
2223   }, 
2224   "responses": {
2225     "operationExecutionCreated": {
2226       "description": "Created operation execution", 
2227       "headers": {
2228         "Location": {
2229           "description": "The url of the operation execution", 
2230           "type": "string", 
2231           "format": "url"
2232         }
2233       }, 
2234       "schema": {
2235         "$ref": "#/definitions/OperationExecution"
2236       }
2237     }
2238   }, 
2239   "definitions": {
2240     "CreateVnfRequest": {
2241       "type": "object", 
2242       "required": [
2243         "vnfdId"
2244       ], 
2245       "properties": {
2246         "vnfdId": {
2247           "description": "An identifier with the intention of being globally unique.\n", 
2248           "type": "string"
2249         }, 
2250         "name": {
2251           "description": "The name of the vnf instance\n", 
2252           "type": "string"
2253         }, 
2254         "description": {
2255           "description": "The description string of the vnf instance\n", 
2256           "type": "string"
2257         }
2258       }
2259     }, 
2260     "InstantiateVnfRequest": {
2261       "type": "object", 
2262       "required": [
2263         "flavourId", 
2264         "vims", 
2265         "extVirtualLinks"
2266       ], 
2267       "properties": {
2268         "flavourId": {
2269           "description": "An identifier that is unique within a VNF descriptor.\n", 
2270           "type": "string"
2271         }, 
2272         "instantiationLevelId": {
2273           "description": "An identifier that is unique within a VNF descriptor.\n", 
2274           "type": "string"
2275         }, 
2276         "vims": {
2277           "description": "Vim information given for instantiation (in this API version only one VIM per VNF is supported). **Nokia extension to ETSI NFV IFA007.** **The vim information is factored out from the external virtual link data structure.**\n", 
2278           "type": "array", 
2279           "items": {
2280             "$ref": "#/definitions/VimInfo"
2281           }
2282         }, 
2283         "extVirtualLinks": {
2284           "description": "References to external virtual links to connect the VNF to.\n", 
2285           "type": "array", 
2286           "items": {
2287             "$ref": "#/definitions/ExtVirtualLinkData"
2288           }
2289         }, 
2290         "extManagedVirtualLinks": {
2291           "description": "References to internal virtual links that are managed by other entities than the VNFM\n", 
2292           "type": "array", 
2293           "items": {
2294             "$ref": "#/definitions/ExtManagedVirtualLinkData"
2295           }
2296         }, 
2297         "localizationLanguage": {
2298           "type": "string"
2299         }, 
2300         "additionalParams": {
2301           "description": "Additional parameters passed by the NFVO as input to the instantiation process, specific to the VNF being instantiated.\n", 
2302           "type": "object", 
2303           "additionalProperties": {
2304             "type": [
2305               "string", 
2306               "number", 
2307               "boolean", 
2308               "array", 
2309               "object"
2310             ]
2311           }
2312         }, 
2313         "grantlessMode": {
2314           "description": "**Nokia VNFM proprietary property.** The NOKIA VNFM API may be used in an environment without an NFVO. This switch determines whether the VNFM should operate without requesting grants from an NFVO. In this case all information that would be passed in the grant responses needs to be passed with the instantiation parameters. The value of this switch applies to all subsequent operations until the VNF is terminated. **Note: Actual grant support is not currently part of the NOKIA VNFM API specification**\n", 
2315           "type": "boolean", 
2316           "default": false
2317         }, 
2318         "computeResourceFlavours": {
2319           "description": "**Nokia VNFM proprietary property.** Mappings between VirtualComputeDescriptors defined in the VNFD and compute resource flavours managed in the VIM. **Only used in grantless operation mode.**\n", 
2320           "type": "array", 
2321           "items": {
2322             "$ref": "#/definitions/VimComputeResourceFlavour"
2323           }
2324         }, 
2325         "softwareImages": {
2326           "description": "**Nokia VNFM proprietary property.** Mappings between software images defined in the VNFD and software images managed in the VIM. **Only used in grantless operation mode.**\n", 
2327           "type": "array", 
2328           "items": {
2329             "$ref": "#/definitions/VimSoftwareImage"
2330           }
2331         }, 
2332         "zones": {
2333           "description": "**Nokia VNFM proprietary property.** Identifies resource zones where the resources are approved to be allocated by the VNFM. **Only used in grantless operation mode.**\n", 
2334           "type": "array", 
2335           "items": {
2336             "$ref": "#/definitions/ZoneInfo"
2337           }
2338         }
2339       }
2340     }, 
2341     "OperationExecution": {
2342       "description": "**Apart from id and status, all other fields represent Nokia extensions to IFA007.** The operation end notification can be retrieved as sub-resource of the operation execution resource itself. Additionally all the input parameters for the operation are stored.\n", 
2343       "type": "object", 
2344       "required": [
2345         "vnfInstanceId", 
2346         "operationType", 
2347         "status", 
2348         "id", 
2349         "startTime", 
2350         "isCancelPending"
2351       ], 
2352       "properties": {
2353         "id": {
2354           "description": "An identifier with the intention of being globally unique.\n", 
2355           "type": "string"
2356         }, 
2357         "vnfInstanceId": {
2358           "description": "An identifier with the intention of being globally unique.\n", 
2359           "type": "string"
2360         }, 
2361         "operationType": {
2362           "description": "Type of the operation that this structure is related to\n", 
2363           "$ref": "#/definitions/OperationType"
2364         }, 
2365         "operationName": {
2366           "description": "Name of the operation (mostly useful for distinguishing custom operations)\n", 
2367           "type": "string"
2368         }, 
2369         "status": {
2370           "description": "Execution status of the operation that this structure is related to\n", 
2371           "$ref": "#/definitions/OperationStatus"
2372         }, 
2373         "isCancelPending": {
2374           "description": "If the LCM operation occurrence is in executing state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", 
2375           "type": "boolean"
2376         }, 
2377         "cancelMode": {
2378           "$ref": "#/definitions/CancelMode"
2379         }, 
2380         "error": {
2381           "description": "If the status of the notification is \"finished\" and there was error during the execution, then it will be reported in this field\n", 
2382           "$ref": "#/definitions/ProblemDetails"
2383         }, 
2384         "startTime": {
2385           "description": "Date-time of the beginning of the operation execution (formatted according to RFC-3339)\n", 
2386           "type": "string", 
2387           "format": "date-time"
2388         }, 
2389         "finishTime": {
2390           "description": "Date-time of the end of the operation execution (formatted according to RFC-3339)\n", 
2391           "type": "string", 
2392           "format": "date-time"
2393         }, 
2394         "grantId": {
2395           "description": "An identifier with the intention of being globally unique.\n", 
2396           "type": "string"
2397         }, 
2398         "operationParams": {
2399           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Original input parameters for the operation.\n", 
2400           "type": "object", 
2401           "additionalProperties": {
2402             "type": [
2403               "string", 
2404               "number", 
2405               "boolean", 
2406               "array", 
2407               "object"
2408             ]
2409           }
2410         }, 
2411         "additionalData": {
2412           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Implementation-specific data for the execution, e.g. internal workflow id.\n", 
2413           "type": "object", 
2414           "additionalProperties": {
2415             "type": [
2416               "string", 
2417               "number", 
2418               "boolean", 
2419               "array", 
2420               "object"
2421             ]
2422           }
2423         }, 
2424         "metadata": {
2425           "description": "Additional metadata related to the operation execution.\n", 
2426           "type": "object", 
2427           "additionalProperties": {
2428             "type": [
2429               "string", 
2430               "number", 
2431               "boolean", 
2432               "array", 
2433               "object"
2434             ]
2435           }
2436         }, 
2437         "_links": {
2438           "required": [
2439             "self"
2440           ], 
2441           "type": "object", 
2442           "description": "Link relations for this object", 
2443           "properties": {
2444             "self": {
2445               "$ref": "#/definitions/Link"
2446             }, 
2447             "operationParams": {
2448               "$ref": "#/definitions/Link"
2449             }, 
2450             "additionalData": {
2451               "$ref": "#/definitions/Link"
2452             }, 
2453             "list": {
2454               "$ref": "#/definitions/Link"
2455             }, 
2456             "cancel": {
2457               "$ref": "#/definitions/Link"
2458             }, 
2459             "vnf": {
2460               "$ref": "#/definitions/Link"
2461             }, 
2462             "endNotification": {
2463               "$ref": "#/definitions/Link"
2464             }
2465           }
2466         }
2467       }
2468     }, 
2469     "CancelMode": {
2470       "type": "string", 
2471       "description": "Cancellation mode.\n", 
2472       "enum": [
2473         "GRACEFUL", 
2474         "FORCEFUL"
2475       ]
2476     }, 
2477     "CancelOperationRequest": {
2478       "type": "object", 
2479       "required": [
2480         "cancelMode"
2481       ], 
2482       "properties": {
2483         "cancelMode": {
2484           "$ref": "#/definitions/CancelMode"
2485         }
2486       }
2487     }, 
2488     "TerminateVnfRequest": {
2489       "type": "object", 
2490       "required": [
2491         "terminationType"
2492       ], 
2493       "properties": {
2494         "terminationType": {
2495           "description": "Signals whether forceful or graceful termination is requested. In case of forceful termination, the VNF is shut down immediately, and resources are released. Note that if the VNF is still in service, this may adversely impact network service, and therefore, operator policies apply to determine if forceful termination is allowed in the particular situation. In case of graceful termination, the VNFM first arranges to take the VNF out of service (by means out of scope of the present specification, e.g. involving interaction with EM, if required). Once this was successful, or after a timeout, the VNFM shuts down the VNF and releases the resources.\n", 
2496           "$ref": "#/definitions/TerminationType"
2497         }, 
2498         "gracefulTerminationTimeout": {
2499           "description": "The time interval (in seconds) to wait for the VNF to be taken out of service during graceful termination, before shutting down the VNF and releasing the resources. If not given, it is expected that the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting down the VNF and releasing the resources (see note). Minimum timeout or timeout range are specified by the VNF Provider (e.g. defined in the VNFD or communicated by other means). Not relevant in case of forceful termination.\n", 
2500           "type": "integer"
2501         }, 
2502         "additionalParams": {
2503           "description": "Additional parameters passed by the NFVO as input to the scaling process. **Nokia extension to ETSI NFV IFA007.**\n", 
2504           "type": "object", 
2505           "additionalProperties": {
2506             "type": [
2507               "string", 
2508               "number", 
2509               "boolean", 
2510               "array", 
2511               "object"
2512             ]
2513           }
2514         }
2515       }
2516     }, 
2517     "TerminationType": {
2518       "type": "string", 
2519       "enum": [
2520         "GRACEFUL", 
2521         "FORCEFUL"
2522       ]
2523     }, 
2524     "ScaleVnfRequest": {
2525       "type": "object", 
2526       "required": [
2527         "type", 
2528         "aspectId"
2529       ], 
2530       "properties": {
2531         "type": {
2532           "description": "Defines the type of the scale operation requested (scale out, scale in). The set of types actually supported depends on the capabilities of the VNF being managed, as declared in the VNFD.\n", 
2533           "$ref": "#/definitions/ScaleDirection"
2534         }, 
2535         "aspectId": {
2536           "description": "An identifier that is unique within a VNF descriptor.\n", 
2537           "type": "string"
2538         }, 
2539         "numberOfSteps": {
2540           "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number. Defaults to 1.\n", 
2541           "type": "integer", 
2542           "default": 1
2543         }, 
2544         "additionalParams": {
2545           "description": "Additional parameters passed by the NFVO as input to the scaling process.\n", 
2546           "type": "object", 
2547           "additionalProperties": {
2548             "type": [
2549               "string", 
2550               "number", 
2551               "boolean", 
2552               "array", 
2553               "object"
2554             ]
2555           }
2556         }
2557       }
2558     }, 
2559     "ScaleDirection": {
2560       "type": "string", 
2561       "enum": [
2562         "OUT", 
2563         "IN"
2564       ]
2565     }, 
2566     "HealVnfRequest": {
2567       "type": "object", 
2568       "properties": {
2569         "cause": {
2570           "description": "Indicates the reason why a healing procedure is required.\n", 
2571           "type": "string"
2572         }, 
2573         "additionalParams": {
2574           "description": "Additional parameters passed by the NFVO as input to the healing process, specific to the VNF being healed.\n", 
2575           "type": "object", 
2576           "additionalProperties": {
2577             "type": [
2578               "string", 
2579               "number", 
2580               "boolean", 
2581               "array", 
2582               "object"
2583             ]
2584           }
2585         }
2586       }
2587     }, 
2588     "UpgradeVnfRequest": {
2589       "description": "**Nokia extension to ETSI NFV IFA007**\n", 
2590       "type": "object", 
2591       "required": [
2592         "vnfdId"
2593       ], 
2594       "properties": {
2595         "vnfdId": {
2596           "description": "An identifier with the intention of being globally unique.\n", 
2597           "type": "string"
2598         }, 
2599         "add": {
2600           "description": "New external resource information to be added (to the usable set of external resources for the VNF) according to the requirements of the new VNFD.\n", 
2601           "$ref": "#/definitions/UpgradeAddResources"
2602         }, 
2603         "remove": {
2604           "description": "External resource information to be removed (from the usable set of external resources for the VNF) according to the requirements of the new VNFD. Resources currently used by the VNF cannot be removed.\n", 
2605           "$ref": "#/definitions/UpgradeRemoveResources"
2606         }, 
2607         "modify": {
2608           "description": "External resource information and parameters to be modified according to the requirements of the new VNFD\n", 
2609           "$ref": "#/definitions/UpgradeModifyResources"
2610         }, 
2611         "additionalParams": {
2612           "description": "Additional parameters passed to the upgrade process, specific to the VNF being upgraded and the new VNFD.\n", 
2613           "type": "object", 
2614           "additionalProperties": {
2615             "type": [
2616               "string", 
2617               "number", 
2618               "boolean", 
2619               "array", 
2620               "object"
2621             ]
2622           }
2623         }
2624       }
2625     }, 
2626     "UpgradeAddResources": {
2627       "type": "object", 
2628       "properties": {
2629         "extVirtualLinks": {
2630           "description": "External virtual link information and external connection point information to add (including new addresses to use)\n", 
2631           "type": "array", 
2632           "items": {
2633             "$ref": "#/definitions/ExtVirtualLinkData"
2634           }
2635         }, 
2636         "extManagedVirtualLinks": {
2637           "description": "External managed virtual links to add.\n", 
2638           "type": "array", 
2639           "items": {
2640             "$ref": "#/definitions/ExtManagedVirtualLinkData"
2641           }
2642         }, 
2643         "zones": {
2644           "description": "Zones to add. Only used in grantless mode.\n", 
2645           "type": "array", 
2646           "items": {
2647             "$ref": "#/definitions/ZoneInfo"
2648           }
2649         }
2650       }
2651     }, 
2652     "UpgradeRemoveResources": {
2653       "type": "object", 
2654       "properties": {
2655         "extVirtualLinks": {
2656           "description": "External virtual link information and external connection point information to remove (including addresses to remove)\n", 
2657           "type": "array", 
2658           "items": {
2659             "$ref": "#/definitions/ExtVirtualLinkData"
2660           }
2661         }, 
2662         "extManagedVirtualLinks": {
2663           "description": "External managed virtual links to remove.\n", 
2664           "type": "array", 
2665           "items": {
2666             "$ref": "#/definitions/ExtManagedVirtualLinkData"
2667           }
2668         }, 
2669         "zones": {
2670           "description": "Zones to remove. Only used in grantless mode.\n", 
2671           "type": "array", 
2672           "items": {
2673             "$ref": "#/definitions/ZoneInfo"
2674           }
2675         }
2676       }
2677     }, 
2678     "UpgradeModifyResources": {
2679       "type": "object", 
2680       "properties": {
2681         "computeResourceFlavours": {
2682           "description": "Mappings between VirtualComputeDescriptors defined in the (new) VNFD and compute resource flavours managed in the VIM. If applicable, existing VNFCs should be changed to use these compute resource flavours.\n", 
2683           "type": "array", 
2684           "items": {
2685             "$ref": "#/definitions/VimComputeResourceFlavour"
2686           }
2687         }, 
2688         "softwareImages": {
2689           "description": "Mappings between software images defined in the (new) VNFD and software images managed in the VIM. If applicable, existing VNFCs should be changed to use these software images.\n", 
2690           "type": "array", 
2691           "items": {
2692             "$ref": "#/definitions/VimSoftwareImage"
2693           }
2694         }, 
2695         "extensions": {
2696           "description": "The new extension values that should be set. These extensions may affect the upgrade and should take into consideration the extension set provided by the new VNFD\n", 
2697           "type": "array", 
2698           "items": {
2699             "$ref": "#/definitions/VnfProperty"
2700           }
2701         }
2702       }
2703     }, 
2704     "CustomOperationRequest": {
2705       "type": "object", 
2706       "properties": {
2707         "additionalParams": {
2708           "description": "Additional parameters passed by the NFVO as input to the custom operation.\n", 
2709           "type": "object", 
2710           "additionalProperties": {
2711             "type": [
2712               "string", 
2713               "number", 
2714               "boolean", 
2715               "array", 
2716               "object"
2717             ]
2718           }
2719         }
2720       }
2721     }, 
2722     "VnfInfo": {
2723       "description": "Information about a VNF instance.\n", 
2724       "type": "object", 
2725       "required": [
2726         "id", 
2727         "vnfdId", 
2728         "vnfSoftwareVersion", 
2729         "vnfdVersion", 
2730         "onboardedVnfPkgInfoId", 
2731         "instantiationState"
2732       ], 
2733       "properties": {
2734         "id": {
2735           "description": "An identifier with the intention of being globally unique.\n", 
2736           "type": "string"
2737         }, 
2738         "name": {
2739           "description": "VNF instance name.\n", 
2740           "type": "string"
2741         }, 
2742         "description": {
2743           "description": "Human-readable description of the VNF instance.\n", 
2744           "type": "string"
2745         }, 
2746         "vnfdId": {
2747           "description": "An identifier with the intention of being globally unique.\n", 
2748           "type": "string"
2749         }, 
2750         "vnfProvider": {
2751           "description": "Name of the person or company providing the VNF.\n", 
2752           "type": "string"
2753         }, 
2754         "vnfProductName": {
2755           "description": "Name of the Vnf prodct.\n", 
2756           "type": "string"
2757         }, 
2758         "vnfSoftwareVersion": {
2759           "type": "string"
2760         }, 
2761         "vnfdVersion": {
2762           "type": "string"
2763         }, 
2764         "onboardedVnfPkgInfoId": {
2765           "description": "An identifier with the intention of being globally unique.\n", 
2766           "type": "string"
2767         }, 
2768         "instantiationState": {
2769           "description": "Current state of the instantiation of the VNF\n", 
2770           "$ref": "#/definitions/InstantiationState"
2771         }, 
2772         "operationExecutions": {
2773           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Operations executed on the VNF instance\n", 
2774           "type": "array", 
2775           "items": {
2776             "$ref": "#/definitions/OperationExecution"
2777           }
2778         }, 
2779         "instantiatedVnfInfo": {
2780           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Information specific to an instantiated VNF instance.\n", 
2781           "$ref": "#/definitions/InstantiatedVnfInfo"
2782         }, 
2783         "vnfConfigurableProperties": {
2784           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Current values of the configurable properties of the VNF instance.\n", 
2785           "type": "array", 
2786           "items": {
2787             "$ref": "#/definitions/VnfProperty"
2788           }
2789         }, 
2790         "extensions": {
2791           "description": "**This property is only returned when the containing resource is queried by id and not listed.** VNF-specific attributes.\n", 
2792           "type": "array", 
2793           "items": {
2794             "$ref": "#/definitions/VnfProperty"
2795           }
2796         }, 
2797         "metadata": {
2798           "description": "Additional metadata describing the VNF instance.\n", 
2799           "type": "object", 
2800           "additionalProperties": {
2801             "type": [
2802               "string", 
2803               "number", 
2804               "boolean", 
2805               "array", 
2806               "object"
2807             ]
2808           }
2809         }, 
2810         "_links": {
2811           "required": [
2812             "self"
2813           ], 
2814           "type": "object", 
2815           "description": "Link relations for this object", 
2816           "properties": {
2817             "self": {
2818               "$ref": "#/definitions/Link"
2819             }, 
2820             "operationExecutions": {
2821               "$ref": "#/definitions/Link"
2822             }, 
2823             "instantiatedVnfInfo": {
2824               "$ref": "#/definitions/Link"
2825             }, 
2826             "vnfConfigurableProperties": {
2827               "$ref": "#/definitions/Link"
2828             }, 
2829             "extensions": {
2830               "$ref": "#/definitions/Link"
2831             }, 
2832             "list": {
2833               "$ref": "#/definitions/Link"
2834             }, 
2835             "delete": {
2836               "$ref": "#/definitions/Link"
2837             }, 
2838             "instantiate": {
2839               "$ref": "#/definitions/Link"
2840             }, 
2841             "scale": {
2842               "$ref": "#/definitions/Link"
2843             }, 
2844             "terminate": {
2845               "$ref": "#/definitions/Link"
2846             }, 
2847             "modifyInfo": {
2848               "$ref": "#/definitions/Link"
2849             }, 
2850             "heal": {
2851               "$ref": "#/definitions/Link"
2852             }
2853           }
2854         }
2855       }
2856     }, 
2857     "InstantiationState": {
2858       "type": "string", 
2859       "enum": [
2860         "NOT_INSTANTIATED", 
2861         "INSTANTIATED"
2862       ]
2863     }, 
2864     "InstantiatedVnfInfo": {
2865       "type": "object", 
2866       "required": [
2867         "flavourId", 
2868         "vnfState"
2869       ], 
2870       "properties": {
2871         "flavourId": {
2872           "description": "An identifier that is unique within a VNF descriptor.\n", 
2873           "type": "string"
2874         }, 
2875         "localizationLanguage": {
2876           "type": "string"
2877         }, 
2878         "vnfState": {
2879           "description": "The state of the VNF instance.\n", 
2880           "$ref": "#/definitions/VnfState"
2881         }, 
2882         "scaleStatus": {
2883           "description": "Scale status of the VNF, one entry per aspect. Shall be present if the VNF supports scaling.\n", 
2884           "type": "array", 
2885           "items": {
2886             "$ref": "#/definitions/ScaleInfo"
2887           }
2888         }, 
2889         "extCpInfo": {
2890           "description": "**This property is only returned when the containing resource is queried by id and not listed.** External connection points exposed by the VNF instance.\n", 
2891           "type": "array", 
2892           "minItems": 1, 
2893           "items": {
2894             "$ref": "#/definitions/VnfExtCpInfo"
2895           }
2896         }, 
2897         "extVirtualLinkInfo": {
2898           "description": "**This property is only returned when the containing resource is queried by id and not listed.** External virtual links the VNF instance is connected to.\n", 
2899           "type": "array", 
2900           "items": {
2901             "$ref": "#/definitions/ExtVirtualLinkInfo"
2902           }
2903         }, 
2904         "extManagedVirtualLinkInfo": {
2905           "description": "**This property is only returned when the containing resource is queried by id and not listed.** External virtual links the VNF instance is connected to.\n", 
2906           "type": "array", 
2907           "items": {
2908             "$ref": "#/definitions/ExtManagedVirtualLinkInfo"
2909           }
2910         }, 
2911         "vimInfo": {
2912           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Information about VIM(s) that manage resources for the VNF instance.\n", 
2913           "type": "array", 
2914           "items": {
2915             "$ref": "#/definitions/VimInfo"
2916           }
2917         }, 
2918         "vnfcResourceInfo": {
2919           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Information on the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance.\n", 
2920           "type": "array", 
2921           "items": {
2922             "$ref": "#/definitions/VnfcResourceInfo"
2923           }
2924         }, 
2925         "virtualLinkResourceInfo": {
2926           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Information on the virtualised network resource(s) used by the VLs of the VNF instance.\n", 
2927           "type": "array", 
2928           "items": {
2929             "$ref": "#/definitions/VirtualLinkResourceInfo"
2930           }
2931         }, 
2932         "virtualStorageResourceInfo": {
2933           "description": "**This property is only returned when the containing resource is queried by id and not listed.** Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", 
2934           "type": "array", 
2935           "items": {
2936             "$ref": "#/definitions/VirtualStorageResourceInfo"
2937           }
2938         }, 
2939         "_links": {
2940           "required": [
2941             "self"
2942           ], 
2943           "type": "object", 
2944           "description": "Link relations for this object", 
2945           "properties": {
2946             "self": {
2947               "$ref": "#/definitions/Link"
2948             }, 
2949             "extCpInfo": {
2950               "$ref": "#/definitions/Link"
2951             }, 
2952             "extVirtualLinkInfo": {
2953               "$ref": "#/definitions/Link"
2954             }, 
2955             "extManagedVirtualLinkInfo": {
2956               "$ref": "#/definitions/Link"
2957             }, 
2958             "vimInfo": {
2959               "$ref": "#/definitions/Link"
2960             }, 
2961             "vnfcResourceInfo": {
2962               "$ref": "#/definitions/Link"
2963             }, 
2964             "virtualLinkResourceInfo": {
2965               "$ref": "#/definitions/Link"
2966             }, 
2967             "virtualStorageResourceInfo": {
2968               "$ref": "#/definitions/Link"
2969             }, 
2970             "vnf": {
2971               "$ref": "#/definitions/Link"
2972             }
2973           }
2974         }
2975       }
2976     }, 
2977     "VnfcResourceInfo": {
2978       "allOf": [
2979         {
2980           "$ref": "#/definitions/AbstractVnfcResourceInfo"
2981         }, 
2982         {
2983           "type": "object", 
2984           "properties": {
2985             "_links": {
2986               "required": [
2987                 "self"
2988               ], 
2989               "type": "object", 
2990               "description": "Link relations for this object", 
2991               "properties": {
2992                 "self": {
2993                   "$ref": "#/definitions/Link"
2994                 }, 
2995                 "vnf": {
2996                   "$ref": "#/definitions/Link"
2997                 }
2998               }
2999             }
3000           }
3001         }
3002       ]
3003     }, 
3004     "VirtualLinkResourceInfo": {
3005       "allOf": [
3006         {
3007           "$ref": "#/definitions/AbstractVirtualLinkResourceInfo"
3008         }, 
3009         {
3010           "type": "object", 
3011           "properties": {
3012             "_links": {
3013               "required": [
3014                 "self"
3015               ], 
3016               "type": "object", 
3017               "description": "Link relations for this object", 
3018               "properties": {
3019                 "self": {
3020                   "$ref": "#/definitions/Link"
3021                 }, 
3022                 "vnf": {
3023                   "$ref": "#/definitions/Link"
3024                 }
3025               }
3026             }
3027           }
3028         }
3029       ]
3030     }, 
3031     "VirtualStorageResourceInfo": {
3032       "allOf": [
3033         {
3034           "$ref": "#/definitions/AbstractVirtualStorageResourceInfo"
3035         }, 
3036         {
3037           "type": "object", 
3038           "properties": {
3039             "_links": {
3040               "required": [
3041                 "self"
3042               ], 
3043               "type": "object", 
3044               "description": "Link relations for this object", 
3045               "properties": {
3046                 "self": {
3047                   "$ref": "#/definitions/Link"
3048                 }, 
3049                 "vnf": {
3050                   "$ref": "#/definitions/Link"
3051                 }
3052               }
3053             }
3054           }
3055         }
3056       ]
3057     }, 
3058     "ExtVirtualLinkInfo": {
3059       "type": "object", 
3060       "required": [
3061         "resource"
3062       ], 
3063       "properties": {
3064         "extVirtualLinkId": {
3065           "description": "An identifier with the intention of being globally unique.\n", 
3066           "type": "string"
3067         }, 
3068         "resource": {
3069           "description": "The resource realizing this VL.\n", 
3070           "$ref": "#/definitions/ResourceInfo"
3071         }, 
3072         "linkPorts": {
3073           "description": "Link ports of this VL.\n", 
3074           "type": "array", 
3075           "minItems": 1, 
3076           "items": {
3077             "$ref": "#/definitions/VnfLinkPort"
3078           }
3079         }
3080       }
3081     }, 
3082     "ExtManagedVirtualLinkInfo": {
3083       "type": "object", 
3084       "required": [
3085         "virtualLinkResourceInfoId"
3086       ], 
3087       "properties": {
3088         "extManagedVirtualLinkId": {
3089           "description": "An identifier with the intention of being globally unique.\n", 
3090           "type": "string"
3091         }, 
3092         "virtualLinkResourceInfoId": {
3093           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3094           "type": "string"
3095         }, 
3096         "linkPorts": {
3097           "description": "Link ports of this VL. This is optional even if there are linkports allocated to this VL.\n", 
3098           "type": "array", 
3099           "items": {
3100             "$ref": "#/definitions/VnfLinkPort"
3101           }
3102         }
3103       }
3104     }, 
3105     "VnfLinkPort": {
3106       "type": "object", 
3107       "required": [
3108         "resource"
3109       ], 
3110       "properties": {
3111         "resource": {
3112           "description": "Identifier of the virtualised network resource realizing this link port.\n", 
3113           "$ref": "#/definitions/ResourceHandle"
3114         }, 
3115         "cpInstanceId": {
3116           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3117           "type": "string"
3118         }
3119       }
3120     }, 
3121     "VnfExtCpInfo": {
3122       "type": "object", 
3123       "required": [
3124         "id", 
3125         "cpdId"
3126       ], 
3127       "properties": {
3128         "id": {
3129           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3130           "type": "string"
3131         }, 
3132         "cpdId": {
3133           "description": "An identifier that is unique within a VNF descriptor.\n", 
3134           "type": "string"
3135         }, 
3136         "addresses": {
3137           "description": "List of network addresses configured on the connection point instance.\n", 
3138           "type": "array", 
3139           "items": {
3140             "$ref": "#/definitions/NetworkAddress"
3141           }
3142         }, 
3143         "metadata": {
3144           "description": "**Nokia extension to ETSI NFV IFA007.** Metadata for the external connection point.\n", 
3145           "type": "object", 
3146           "additionalProperties": {
3147             "type": [
3148               "string", 
3149               "number", 
3150               "boolean", 
3151               "array", 
3152               "object"
3153             ]
3154           }
3155         }, 
3156         "_links": {
3157           "required": [
3158             "self"
3159           ], 
3160           "type": "object", 
3161           "description": "Link relations for this object", 
3162           "properties": {
3163             "self": {
3164               "$ref": "#/definitions/Link"
3165             }, 
3166             "vnf": {
3167               "$ref": "#/definitions/Link"
3168             }
3169           }
3170         }
3171       }
3172     }, 
3173     "VnfState": {
3174       "type": "string", 
3175       "enum": [
3176         "STARTED", 
3177         "STOPPED", 
3178         "ERROR"
3179       ]
3180     }, 
3181     "ScaleInfo": {
3182       "required": [
3183         "aspect", 
3184         "scaleLevel"
3185       ], 
3186       "type": "object", 
3187       "properties": {
3188         "aspect": {
3189           "description": "An identifier that is unique within a VNF descriptor.\n", 
3190           "type": "string"
3191         }, 
3192         "scaleLevel": {
3193           "description": "Current level of the scaling aspect.\n", 
3194           "type": "integer"
3195         }, 
3196         "maxScaleLevel": {
3197           "description": "**Nokia VNFM proprietary property.** The maximum level that the scaling aspect can have.\n", 
3198           "type": "integer"
3199         }, 
3200         "_links": {
3201           "required": [
3202             "self"
3203           ], 
3204           "type": "object", 
3205           "description": "Link relations for this object", 
3206           "properties": {
3207             "self": {
3208               "$ref": "#/definitions/Link"
3209             }, 
3210             "vnf": {
3211               "$ref": "#/definitions/Link"
3212             }
3213           }
3214         }
3215       }
3216     }, 
3217     "Link": {
3218       "type": "object", 
3219       "required": [
3220         "href"
3221       ], 
3222       "properties": {
3223         "href": {
3224           "description": "The URL that references the target resource.\n", 
3225           "type": "string", 
3226           "format": "url"
3227         }
3228       }
3229     }, 
3230     "AbstractVnfNotification": {
3231       "description": "This is a base type that has derivatives. In all places where it is referenced the following types should be expected: ['VnfIdentifierCreationNotification', 'VnfIdentifierDeletionNotification', 'OtherNotification', 'VnfInfoAttributeValueChangeNotification', 'VnfLifecycleChangeNotification']. The actual type is determined by the field 'notificationType' which contains the type name.", 
3232       "type": "object", 
3233       "required": [
3234         "notificationType", 
3235         "vnfInstanceId", 
3236         "timestamp"
3237       ], 
3238       "discriminator": "notificationType", 
3239       "properties": {
3240         "notificationType": {
3241           "description": "discriminator type for different notifications", 
3242           "$ref": "#/definitions/VnfNotificationType"
3243         }, 
3244         "subscriptionId": {
3245           "description": "An identifier with the intention of being globally unique.\n", 
3246           "type": "string"
3247         }, 
3248         "timestamp": {
3249           "description": "Date-time of the generation of the notification (formatted according to RFC-3339)\n", 
3250           "type": "string", 
3251           "format": "date-time"
3252         }, 
3253         "vnfInstanceId": {
3254           "description": "An identifier with the intention of being globally unique.\n", 
3255           "type": "string"
3256         }
3257       }
3258     }, 
3259     "VnfIdentifierCreationNotification": {
3260       "allOf": [
3261         {
3262           "$ref": "#/definitions/AbstractVnfNotification"
3263         }
3264       ]
3265     }, 
3266     "VnfIdentifierDeletionNotification": {
3267       "allOf": [
3268         {
3269           "$ref": "#/definitions/AbstractVnfNotification"
3270         }
3271       ]
3272     }, 
3273     "OtherNotification": {
3274       "allOf": [
3275         {
3276           "$ref": "#/definitions/AbstractVnfNotification"
3277         }, 
3278         {
3279           "type": "object"
3280         }
3281       ]
3282     }, 
3283     "VnfProperty": {
3284       "type": "object", 
3285       "required": [
3286         "name", 
3287         "value"
3288       ], 
3289       "additionalProperties": {
3290         "type": [
3291           "string", 
3292           "number", 
3293           "boolean", 
3294           "array", 
3295           "object"
3296         ]
3297       }, 
3298       "properties": {
3299         "name": {
3300           "description": "The name of the respective property\n", 
3301           "type": "string"
3302         }, 
3303         "description": {
3304           "description": "The description of the respective property\n", 
3305           "type": "string"
3306         }, 
3307         "value": {
3308           "description": "Any json value\n", 
3309           "type": [
3310             "string", 
3311             "number", 
3312             "boolean", 
3313             "array", 
3314             "object"
3315           ], 
3316           "additionalProperties": {
3317             "type": [
3318               "string", 
3319               "number", 
3320               "boolean", 
3321               "array", 
3322               "object"
3323             ]
3324           }
3325         }
3326       }
3327     }, 
3328     "ModifyVnfInfoRequest": {
3329       "description": "Contents of the ModifyVnfInfoRequest will be merged with VnfInfo according to JSON Merge Patch (RFC 7396) with the following extensions: VnfProperty arrays can be selectively updated with the given properties, also extensions and vnfConfigurableProperties cannot be deleted or added\n", 
3330       "type": "object", 
3331       "properties": {
3332         "name": {
3333           "description": "The new name to be set for the VNF instance\n", 
3334           "type": "string"
3335         }, 
3336         "description": {
3337           "description": "The new description to be set for the VNF instance\n", 
3338           "type": "string"
3339         }, 
3340         "metadata": {
3341           "description": "The new metadata to be set for the VNF instance.\n", 
3342           "type": "object", 
3343           "additionalProperties": {
3344             "type": [
3345               "string", 
3346               "number", 
3347               "boolean", 
3348               "array", 
3349               "object"
3350             ]
3351           }
3352         }, 
3353         "vnfConfigurableProperties": {
3354           "description": "The new configurable properties that should be set. (Configurable properties that are not provided won't be modified.)\n", 
3355           "type": "array", 
3356           "items": {
3357             "$ref": "#/definitions/VnfProperty"
3358           }
3359         }, 
3360         "extensions": {
3361           "description": "New extension values that should be set. (Extensions that are not provided won't be modified.)\n", 
3362           "type": "array", 
3363           "items": {
3364             "$ref": "#/definitions/VnfProperty"
3365           }
3366         }
3367       }
3368     }, 
3369     "AttributeValueChanges": {
3370       "allOf": [
3371         {
3372           "$ref": "#/definitions/ModifyVnfInfoRequest"
3373         }, 
3374         {
3375           "type": "object", 
3376           "properties": {
3377             "vnfdId": {
3378               "description": "An identifier with the intention of being globally unique.\n", 
3379               "type": "string"
3380             }, 
3381             "vnfProvider": {
3382               "description": "Name of the person or company providing the VNF. **Inclusion of this field means that the respective value changed as a result of a template package update on the VNF instance.**\n", 
3383               "type": "string"
3384             }, 
3385             "vnfProductName": {
3386               "description": "Name of the Vnf prodct. **Inclusion of this field means that the respective value changed as a result of a template package update on the VNF instance.**\n", 
3387               "type": "string"
3388             }, 
3389             "vnfSoftwareVersion": {
3390               "type": "string"
3391             }, 
3392             "vnfdVersion": {
3393               "type": "string"
3394             }, 
3395             "onboardedVnfPkgInfoId": {
3396               "description": "An identifier with the intention of being globally unique.\n", 
3397               "type": "string"
3398             }
3399           }
3400         }
3401       ]
3402     }, 
3403     "VnfInfoAttributeValueChangeNotification": {
3404       "allOf": [
3405         {
3406           "$ref": "#/definitions/AbstractVnfNotification"
3407         }, 
3408         {
3409           "type": "object", 
3410           "required": [
3411             "changedInfo"
3412           ], 
3413           "properties": {
3414             "changedInfo": {
3415               "$ref": "#/definitions/AttributeValueChanges"
3416             }
3417           }
3418         }
3419       ]
3420     }, 
3421     "VnfLifecycleChangeNotification": {
3422       "allOf": [
3423         {
3424           "$ref": "#/definitions/AbstractVnfNotification"
3425         }, 
3426         {
3427           "type": "object", 
3428           "required": [
3429             "operation", 
3430             "status", 
3431             "lifecycleOperationOccurrenceId"
3432           ], 
3433           "properties": {
3434             "lifecycleOperationOccurrenceId": {
3435               "description": "An identifier with the intention of being globally unique.\n", 
3436               "type": "string"
3437             }, 
3438             "operation": {
3439               "description": "Type of the operation that this structure is related to\n", 
3440               "$ref": "#/definitions/OperationType"
3441             }, 
3442             "status": {
3443               "description": "Execution status of the operation that this structure is related to\n", 
3444               "$ref": "#/definitions/OperationStatus"
3445             }, 
3446             "error": {
3447               "description": "If the status of the notification is \"finished\" and there was error during the execution, then it will be reported in this field\n", 
3448               "$ref": "#/definitions/ProblemDetails"
3449             }, 
3450             "affectedVnfcs": {
3451               "description": "Information about VNFC instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", 
3452               "type": "array", 
3453               "items": {
3454                 "$ref": "#/definitions/AffectedVnfc"
3455               }
3456             }, 
3457             "affectedVirtualLinks": {
3458               "description": "Information about VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", 
3459               "type": "array", 
3460               "items": {
3461                 "$ref": "#/definitions/AffectedVirtualLink"
3462               }
3463             }, 
3464             "affectedVirtualStorages": {
3465               "description": "Information about virtualised storage instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", 
3466               "type": "array", 
3467               "items": {
3468                 "$ref": "#/definitions/AffectedVirtualStorage"
3469               }
3470             }
3471           }
3472         }
3473       ]
3474     }, 
3475     "OperationStatus": {
3476       "description": "**FINISHED** means successful completion as opposed to FAILED, which means unsuccessful completion of the operation. **OTHER** is reserved for forward compatibility with later microversions.\n", 
3477       "type": "string", 
3478       "enum": [
3479         "STARTED", 
3480         "FINISHED", 
3481         "FAILED", 
3482         "OTHER"
3483       ]
3484     }, 
3485     "AbstractVnfcResourceInfo": {
3486       "description": "Abstract type, not used in itself\n", 
3487       "type": "object", 
3488       "required": [
3489         "id", 
3490         "vduId", 
3491         "computeResource"
3492       ], 
3493       "properties": {
3494         "id": {
3495           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3496           "type": "string"
3497         }, 
3498         "vduId": {
3499           "description": "An identifier that is unique within a VNF descriptor.\n", 
3500           "type": "string"
3501         }, 
3502         "computeResource": {
3503           "description": "The compute resource in the VIM\n", 
3504           "$ref": "#/definitions/ResourceHandle"
3505         }, 
3506         "storageResourceIds": {
3507           "description": "Instance identifiers of associated storage resources\n", 
3508           "type": "array", 
3509           "items": {
3510             "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3511             "type": "string"
3512           }
3513         }
3514       }
3515     }, 
3516     "AbstractVirtualLinkResourceInfo": {
3517       "description": "Abstract type, not used in itself\n", 
3518       "type": "object", 
3519       "required": [
3520         "id", 
3521         "virtualLinkDescId"
3522       ], 
3523       "properties": {
3524         "id": {
3525           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3526           "type": "string"
3527         }, 
3528         "virtualLinkDescId": {
3529           "description": "An identifier that is unique within a VNF descriptor.\n", 
3530           "type": "string"
3531         }, 
3532         "resource": {
3533           "description": "The network resource in the VIM\n", 
3534           "$ref": "#/definitions/ResourceHandle"
3535         }
3536       }
3537     }, 
3538     "AbstractVirtualStorageResourceInfo": {
3539       "description": "Abstract type, not used in itself\n", 
3540       "type": "object", 
3541       "required": [
3542         "id", 
3543         "virtualStorageDescId"
3544       ], 
3545       "properties": {
3546         "id": {
3547           "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3548           "type": "string"
3549         }, 
3550         "virtualStorageDescId": {
3551           "description": "An identifier that is unique within a VNF descriptor.\n", 
3552           "type": "string"
3553         }, 
3554         "resource": {
3555           "description": "The storage resource in the VIM\n", 
3556           "$ref": "#/definitions/ResourceHandle"
3557         }
3558       }
3559     }, 
3560     "ChangedResource": {
3561       "type": "object", 
3562       "required": [
3563         "changeType"
3564       ], 
3565       "properties": {
3566         "changeType": {
3567           "description": "The type of change of the resource\n", 
3568           "$ref": "#/definitions/ChangeType"
3569         }
3570       }
3571     }, 
3572     "AffectedVnfc": {
3573       "allOf": [
3574         {
3575           "$ref": "#/definitions/AbstractVnfcResourceInfo"
3576         }, 
3577         {
3578           "$ref": "#/definitions/ChangedResource"
3579         }
3580       ]
3581     }, 
3582     "AffectedVirtualLink": {
3583       "allOf": [
3584         {
3585           "$ref": "#/definitions/AbstractVirtualLinkResourceInfo"
3586         }, 
3587         {
3588           "$ref": "#/definitions/ChangedResource"
3589         }
3590       ]
3591     }, 
3592     "AffectedVirtualStorage": {
3593       "allOf": [
3594         {
3595           "$ref": "#/definitions/AbstractVirtualStorageResourceInfo"
3596         }, 
3597         {
3598           "$ref": "#/definitions/ChangedResource"
3599         }
3600       ]
3601     }, 
3602     "ChangeType": {
3603       "type": "string", 
3604       "enum": [
3605         "ADDED", 
3606         "REMOVED", 
3607         "MODIFIED"
3608       ]
3609     }, 
3610     "EndpointInfo": {
3611       "type": "object", 
3612       "required": [
3613         "endpoint"
3614       ], 
3615       "properties": {
3616         "endpoint": {
3617           "description": "The url representing the interface endpoint.\n", 
3618           "type": "string", 
3619           "format": "url"
3620         }, 
3621         "trustedCertificates": {
3622           "description": "A collection of base64 encoded certificates to be trusted in relation to the endpoint.\n", 
3623           "type": "array", 
3624           "items": {
3625             "type": "string", 
3626             "format": "byte"
3627           }
3628         }, 
3629         "skipCertificateVerification": {
3630           "description": "Certificate verification for the endpoint can be skipped by setting this field to true. (Only meaningful for connections with certificate exchange)\n", 
3631           "type": "boolean", 
3632           "default": false
3633         }, 
3634         "skipCertificateHostnameCheck": {
3635           "description": "Certificate hostname check for the endpoint can be skipped by setting this field to true. (Only meaningful for connections with certificate exchange)\n", 
3636           "type": "boolean", 
3637           "default": false
3638         }
3639       }
3640     }, 
3641     "UsernamePassword": {
3642       "type": "object", 
3643       "required": [
3644         "username"
3645       ], 
3646       "properties": {
3647         "username": {
3648           "description": "the username to use for access\n", 
3649           "type": "string"
3650         }, 
3651         "password": {
3652           "description": "the password to use for access. **Note: required for input, not returned on output**\n", 
3653           "type": "string", 
3654           "format": "password"
3655         }
3656       }
3657     }, 
3658     "VimInfo": {
3659       "type": "object", 
3660       "required": [
3661         "id", 
3662         "vimInfoType"
3663       ], 
3664       "discriminator": "vimInfoType", 
3665       "properties": {
3666         "id": {
3667           "description": "An identifier with the intention of being globally unique.\n", 
3668           "type": "string"
3669         }, 
3670         "vimInfoType": {
3671           "description": "**Nokia extension to ETSI NFV IFA007.** Type of the VIM info structure. This field will be used as a discriminator for different types of VIMs. OTHER_VIM_INFO is provided for forward compatibility with later microversions of the API.\n", 
3672           "type": "string", 
3673           "enum": [
3674             "OPENSTACK_V2_INFO", 
3675             "OPENSTACK_V3_INFO", 
3676             "VMWARE_VCLOUD_INFO", 
3677             "OTHER_VIM_INFO"
3678           ]
3679         }
3680       }, 
3681       "description": "This is a base type that has derivatives. In all places where it is referenced the following types should be expected: ['OPENSTACK_V2_INFO', 'OPENSTACK_V3_INFO', 'VMWARE_VCLOUD_INFO', 'OTHER_VIM_INFO']. The actual type is determined by the field 'vimInfoType' which contains the type name."
3682     }, 
3683     "OPENSTACK_V2_INFO": {
3684       "description": "OpenStack connection information for Keystone V2\n", 
3685       "allOf": [
3686         {
3687           "$ref": "#/definitions/VimInfo"
3688         }, 
3689         {
3690           "type": "object", 
3691           "required": [
3692             "interfaceInfo", 
3693             "accessInfo"
3694           ], 
3695           "properties": {
3696             "interfaceInfo": {
3697               "description": "The Keystone endpoint information\n", 
3698               "$ref": "#/definitions/EndpointInfo"
3699             }, 
3700             "accessInfo": {
3701               "description": "Access information for Keystone V2\n", 
3702               "$ref": "#/definitions/OpenStackAccessInfoV2"
3703             }
3704           }
3705         }
3706       ]
3707     }, 
3708     "OPENSTACK_V3_INFO": {
3709       "description": "OpenStack connection information for Keystone V3\n", 
3710       "allOf": [
3711         {
3712           "$ref": "#/definitions/VimInfo"
3713         }, 
3714         {
3715           "type": "object", 
3716           "required": [
3717             "interfaceInfo", 
3718             "accessInfo"
3719           ], 
3720           "properties": {
3721             "interfaceInfo": {
3722               "description": "The Keystone endpoint information\n", 
3723               "$ref": "#/definitions/EndpointInfo"
3724             }, 
3725             "accessInfo": {
3726               "description": "Access information for Keystone V3\n", 
3727               "$ref": "#/definitions/OpenStackAccessInfoV3"
3728             }
3729           }
3730         }
3731       ]
3732     }, 
3733     "OpenStackAccessInfoV2": {
3734       "description": "OpenStack access information for Keystone V2\n", 
3735       "allOf": [
3736         {
3737           "$ref": "#/definitions/UsernamePassword"
3738         }, 
3739         {
3740           "type": "object", 
3741           "required": [
3742             "region", 
3743             "tenant"
3744           ], 
3745           "properties": {
3746             "region": {
3747               "description": "The OpenStack region to use for the VIM connection\n", 
3748               "type": "string"
3749             }, 
3750             "tenant": {
3751               "description": "The OpenStack tenant to use for the VIM connection\n", 
3752               "type": "string"
3753             }
3754           }
3755         }
3756       ]
3757     }, 
3758     "OpenStackAccessInfoV3": {
3759       "description": "OpenStack access information for Keystone V3\n", 
3760       "allOf": [
3761         {
3762           "$ref": "#/definitions/UsernamePassword"
3763         }, 
3764         {
3765           "type": "object", 
3766           "required": [
3767             "region", 
3768             "project", 
3769             "domain"
3770           ], 
3771           "properties": {
3772             "region": {
3773               "description": "The OpenStack region to use for the VIM connection\n", 
3774               "type": "string"
3775             }, 
3776             "project": {
3777               "description": "The OpenStack project to use for the VIM connection\n", 
3778               "type": "string"
3779             }, 
3780             "domain": {
3781               "description": "The OpenStack domain to use for the VIM connection\n", 
3782               "type": "string"
3783             }
3784           }
3785         }
3786       ]
3787     }, 
3788     "VMWARE_VCLOUD_INFO": {
3789       "description": "Connection information for a VMware vCloud with optional vROPS support\n", 
3790       "allOf": [
3791         {
3792           "$ref": "#/definitions/VimInfo"
3793         }, 
3794         {
3795           "type": "object", 
3796           "required": [
3797             "interfaceInfo", 
3798             "accessInfo"
3799           ], 
3800           "properties": {
3801             "interfaceInfo": {
3802               "description": "Interface information for the vCloud endpoint\n", 
3803               "$ref": "#/definitions/EndpointInfo"
3804             }, 
3805             "accessInfo": {
3806               "$ref": "#/definitions/VCloudAccessInfo"
3807             }
3808           }
3809         }
3810       ]
3811     }, 
3812     "VCloudAccessInfo": {
3813       "allOf": [
3814         {
3815           "$ref": "#/definitions/UsernamePassword"
3816         }, 
3817         {
3818           "type": "object", 
3819           "required": [
3820             "organization"
3821           ], 
3822           "properties": {
3823             "organization": {
3824               "description": "The organization to use for the VIM connection\n", 
3825               "type": "string"
3826             }
3827           }
3828         }
3829       ]
3830     }, 
3831     "OTHER_VIM_INFO": {
3832       "allOf": [
3833         {
3834           "$ref": "#/definitions/VimInfo"
3835         }, 
3836         {
3837           "type": "object"
3838         }
3839       ]
3840     }, 
3841     "ZoneInfo": {
3842       "description": "**Nokia change to ETSI NFV IFA007: zoneInfoId and zoneId merged into id.**\n", 
3843       "allOf": [
3844         {
3845           "$ref": "#/definitions/ResourceInfo"
3846         }, 
3847         {
3848           "type": "object", 
3849           "required": [
3850             "id"
3851           ], 
3852           "properties": {
3853             "id": {
3854               "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", 
3855               "type": "string"
3856             }
3857           }
3858         }
3859       ]
3860     }, 
3861     "VimComputeResourceFlavour": {
3862       "allOf": [
3863         {
3864           "$ref": "#/definitions/ResourceInfo"
3865         }, 
3866         {
3867           "type": "object", 
3868           "required": [
3869             "vnfdVirtualComputeDescId"
3870           ], 
3871           "properties": {
3872             "vnfdVirtualComputeDescId": {
3873               "description": "An identifier that is unique within a VNF descriptor.\n", 
3874               "type": "string"
3875             }
3876           }
3877         }
3878       ]
3879     }, 
3880     "VimSoftwareImage": {
3881       "allOf": [
3882         {
3883           "$ref": "#/definitions/ResourceInfo"
3884         }, 
3885         {
3886           "type": "object", 
3887           "required": [
3888             "vnfdSoftwareImageId"
3889           ], 
3890           "properties": {
3891             "vnfdSoftwareImageId": {
3892               "description": "An identifier that is unique within a VNF descriptor.\n", 
3893               "type": "string"
3894             }
3895           }
3896         }
3897       ]
3898     }, 
3899     "ExtManagedVirtualLinkData": {
3900       "description": "**Nokia change to ETSI NFV IFA007: factored out vim info.**\n", 
3901       "allOf": [
3902         {
3903           "$ref": "#/definitions/ResourceInfo"
3904         }, 
3905         {
3906           "type": "object", 
3907           "required": [
3908             "virtualLinkDescId"
3909           ], 
3910           "properties": {
3911             "extManagedVirtualLinkId": {
3912               "description": "An identifier with the intention of being globally unique.\n", 
3913               "type": "string"
3914             }, 
3915             "virtualLinkDescId": {
3916               "description": "An identifier that is unique within a VNF descriptor.\n", 
3917               "type": "string"
3918             }
3919           }
3920         }
3921       ]
3922     }, 
3923     "ExtVirtualLinkData": {
3924       "description": "**Nokia change to ETSI NFV IFA007: factored out vim info.**\n", 
3925       "allOf": [
3926         {
3927           "$ref": "#/definitions/ResourceInfo"
3928         }, 
3929         {
3930           "type": "object", 
3931           "required": [
3932             "extCps"
3933           ], 
3934           "properties": {
3935             "extVirtualLinkId": {
3936               "description": "An identifier with the intention of being globally unique.\n", 
3937               "type": "string"
3938             }, 
3939             "extCps": {
3940               "description": "External connection points of the VNF to be connected to this virtual link.\n", 
3941               "type": "array", 
3942               "minItems": 1, 
3943               "items": {
3944                 "$ref": "#/definitions/VnfExtCpData"
3945               }
3946             }
3947           }
3948         }
3949       ]
3950     }, 
3951     "VnfExtCpData": {
3952       "type": "object", 
3953       "required": [
3954         "cpdId"
3955       ], 
3956       "properties": {
3957         "cpdId": {
3958           "description": "An identifier that is unique within a VNF descriptor.\n", 
3959           "type": "string"
3960         }, 
3961         "addresses": {
3962           "description": "List of (fixed) network addresses that need to be configured on the connection point. It shall be provided for configuring fixed addresses.\n", 
3963           "type": "array", 
3964           "items": {
3965             "$ref": "#/definitions/NetworkAddress"
3966           }
3967         }, 
3968         "numDynamicAddresses": {
3969           "description": "Number of dynamic addresses that may be allocated for the external connection point\n", 
3970           "type": "integer"
3971         }
3972       }
3973     }, 
3974     "NetworkAddress": {
3975       "description": "A type representing network addresses", 
3976       "type": "object", 
3977       "properties": {
3978         "subnetId": {
3979           "type": "string"
3980         }, 
3981         "ip": {
3982           "type": "string"
3983         }, 
3984         "mac": {
3985           "type": "string"
3986         }
3987       }
3988     }, 
3989     "OperationType": {
3990       "type": "string", 
3991       "enum": [
3992         "INSTANTIATE", 
3993         "SCALE", 
3994         "SCALE_TO_LEVEL", 
3995         "MODIFY_INFO", 
3996         "CHANGE_FLAVOUR", 
3997         "OPERATE", 
3998         "HEAL", 
3999         "UPGRADE", 
4000         "TERMINATE", 
4001         "OTHER"
4002       ]
4003     }, 
4004     "ResourceInfo": {
4005       "required": [
4006         "resourceId"
4007       ], 
4008       "type": "object", 
4009       "description": "VIM and VIM-related identification for resources. Only direct mode is supported.\n", 
4010       "properties": {
4011         "vimId": {
4012           "description": "An identifier with the intention of being globally unique.\n", 
4013           "type": "string"
4014         }, 
4015         "resourceId": {
4016           "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", 
4017           "type": "string"
4018         }
4019       }
4020     }, 
4021     "ResourceHandle": {
4022       "required": [
4023         "resourceId"
4024       ], 
4025       "type": "object", 
4026       "description": "VIM and VIM-related identification for resources. **Nokia VNFM specific change: only direct mode is supported, so resourceProviderId is removed.**\n", 
4027       "properties": {
4028         "vimId": {
4029           "description": "An identifier with the intention of being globally unique.\n", 
4030           "type": "string"
4031         }, 
4032         "resourceId": {
4033           "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", 
4034           "type": "string"
4035         }, 
4036         "resourceType": {
4037           "description": "**Nokia extension to ETSI NFV IFA007.** Type of the resource on the VIM. Possible values are implementation dependent and not detailed in this API.\n", 
4038           "type": "string"
4039         }, 
4040         "additionalData": {
4041           "description": "**Nokia extension to ETSI NFV IFA007.** VIM-specific resource representation. Intended for debugging and presentational purposes. Contents of this property are VIM- and implementation specific and should not be relied upon.\n", 
4042           "type": "object", 
4043           "additionalProperties": {
4044             "type": [
4045               "string", 
4046               "number", 
4047               "boolean", 
4048               "array", 
4049               "object"
4050             ]
4051           }
4052         }, 
4053         "metadata": {
4054           "description": "**Nokia extension to ETSI NFV IFA007.** VNF-specific metadata related to the resource.\n", 
4055           "type": "object", 
4056           "additionalProperties": {
4057             "type": [
4058               "string", 
4059               "number", 
4060               "boolean", 
4061               "array", 
4062               "object"
4063             ]
4064           }
4065         }
4066       }
4067     }, 
4068     "ProblemDetails": {
4069       "description": "Problem detail object based on RFC7807\n", 
4070       "type": "object", 
4071       "required": [
4072         "status", 
4073         "detail"
4074       ], 
4075       "properties": {
4076         "type": {
4077           "description": "A URI reference [RFC3986] that identifies the problem type.  This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML [W3C.REC-html5-20141028]).  When this member is not present, its value is assumed to be \"about:blank\".\n", 
4078           "type": "string", 
4079           "format": "URI"
4080         }, 
4081         "title": {
4082           "description": "A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", 
4083           "type": "string"
4084         }, 
4085         "status": {
4086           "description": "The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", 
4087           "type": "integer"
4088         }, 
4089         "detail": {
4090           "description": "A human-readable explanation specific to this occurrence of the problem.\n", 
4091           "type": "string"
4092         }, 
4093         "instance": {
4094           "description": "A URI reference that identifies the specific occurrence of the problem.  It may or may not yield further information if dereferenced.\n", 
4095           "type": "string", 
4096           "format": "URI"
4097         }
4098       }
4099     }, 
4100     "VnfNotificationType": {
4101       "description": "**OtherNotification** is provided for forward compatibility with subsequent API microversions.\n", 
4102       "type": "string", 
4103       "enum": [
4104         "VnfIdentifierCreationNotification", 
4105         "VnfIdentifierDeletionNotification", 
4106         "VnfLifecycleChangeNotification", 
4107         "VnfInfoAttributeValueChangeNotification", 
4108         "OtherNotification"
4109       ]
4110     }
4111   }
4112 }