10 The scope of the present document is to describe the VNFM driver integrated related API specification.
\r
12 **2. Terms, Definitions and Abbreviations**
\r
13 =============================================
\r
15 For the purposes of the present document, the following abbreviations apply:
\r
17 +-------------+-----------------------------------------------+
\r
19 +-------------+-----------------------------------------------+
\r
20 |NFVO |Network Functions Virtualization Orchestrator |
\r
21 +-------------+-----------------------------------------------+
\r
22 |VNFM |Virtual Network Function Manager |
\r
23 +-------------+-----------------------------------------------+
\r
24 |VNF |Virtual Network Function |
\r
25 +-------------+-----------------------------------------------+
\r
27 Table 2-1 abbreviations
\r
30 **3. Interfaces provided by VNFM Driver**
\r
31 ===========================================
\r
33 Interfaces use RESTful API and the format is as follows:
\r
34 http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfm_id}/[……]
\r
40 **3.1 Instantiate VNF**
\r
41 ------------------------
\r
43 +--------------+--------------------------------------------------------------+
\r
44 |If Definition | Description |
\r
45 +==============+==============================================================+
\r
46 |URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs |
\r
47 +--------------+--------------------------------------------------------------+
\r
49 +--------------+--------------------------------------------------------------+
\r
50 |Direction | NSLCM->VNFMDriver |
\r
51 +--------------+--------------------------------------------------------------+
\r
55 +-----------------------+------------+-------------+----------+------------------------------+
\r
56 | Parameter | Qualifier | Cardinality | Content | Description |
\r
57 +=======================+============+=============+==========+==============================+
\r
58 | vnfInstanceName | M | 1 | String | Human-readable name of the |
\r
59 | | | | | VNF instance to be created. |
\r
60 +-----------------------+------------+-------------+----------+------------------------------+
\r
61 | vnfPackageId | M | 1 | String | VNF packageId |
\r
62 +-----------------------+------------+-------------+----------+------------------------------+
\r
63 | vnfDescriptorId | M | 1 | String | Information sufficient to |
\r
64 | | | | | identify the VNF Descriptor |
\r
65 | | | | | which defines the VNF to |
\r
66 | | | | | be created. |
\r
67 +-----------------------+------------+-------------+----------+------------------------------+
\r
68 | flavourId | M | 0..1 | String | Reserved |
\r
69 +-----------------------+------------+-------------+----------+------------------------------+
\r
70 |vnfInstanceDescription | M | 0..1 | String | Human-readable |
\r
71 | | | | | description of the VNF |
\r
72 | | | | | instance to be created. |
\r
73 +-----------------------+------------+-------------+----------+------------------------------+
\r
74 | extVirtualLink | M | 0..N | Ext | References to external |
\r
75 | | | | Virtual | virtual links to connect the |
\r
76 | | | | LinkData | VNF to. |
\r
77 +-----------------------+------------+-------------+----------+------------------------------+
\r
78 | additionalParam | M | 0..N | Object |Additional parameters |
\r
79 | | | | |passed by the NFVO as |
\r
80 | | | | |input to the instantiation |
\r
81 | | | | |process, specific to the |
\r
82 | | | | |VNF being instantiated. |
\r
83 +-----------------------+------------+-------------+----------+------------------------------+
\r
85 **ExtVirtualLinkData:**
\r
87 +--------------+------------+-------------+----------+----------------------------------------+
\r
88 | Attribute | Qualifier | Cardinality | Content | Description |
\r
89 +==============+============+=============+==========+========================================+
\r
90 | vlInstanceId | M | 0..1 | String | Identifier of the VL instance |
\r
91 +--------------+------------+-------------+----------+----------------------------------------+
\r
92 | vim | CM | 0..1 | VimInfo | Information about the VIM that |
\r
93 | | | | | manages this resource. |
\r
94 | | | | | This attribute shall be supported |
\r
95 | | | | | and present if VNF-related resource |
\r
96 | | | | | management in direct applicable. |
\r
97 +--------------+------------+-------------+----------+----------------------------------------+
\r
98 | networkId | M | 1 | String | The network UUID of VIM |
\r
99 +--------------+------------+-------------+----------+----------------------------------------+
\r
100 | cpdId | M | 0..1 | String | Identifier of the external CPD in VNFD |
\r
101 +--------------+------------+-------------+----------+----------------------------------------+
\r
105 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
106 | Attribute | Qualifier | Cardinality | Content | Description |
\r
107 +==================+============+=============+==============+================================================+
\r
108 | vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, |
\r
109 | | | | | for the purpose of referencing it from |
\r
110 | | | | | other information elements. |
\r
111 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
112 | vimId | M | 1 | Identifier | The identifier of the VIM. |
\r
113 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
114 | interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the |
\r
115 | | | | | VIM, including VIM provider type, API |
\r
116 | | | | | version, and protocol type. |
\r
117 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
118 | accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the |
\r
119 | | | | | VIM. Examples may include those to support |
\r
120 | | | | | different authentication schemes, e.g., OAuth, |
\r
121 | | | | | Token, etc. |
\r
122 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
123 |interfaceEndpoint | M | 1 | String | Information about the interface endpoint. An |
\r
124 | | | | | example is a URL. |
\r
125 +------------------+------------+-------------+--------------+------------------------------------------------+
\r
130 +--------------+------------+-------------+----------+-------------------------------+
\r
131 | Attribute | Qualifier | Cardinality | Content | Description |
\r
132 +==============+============+=============+==========+===============================+
\r
133 | vimType | M | 1 | String | Type of the VIM |
\r
134 +--------------+------------+-------------+----------+-------------------------------+
\r
135 | apiVersion | M | 1 | String | |
\r
136 +--------------+------------+-------------+----------+-------------------------------+
\r
137 | protocolType | M | 1 | String | http, https |
\r
138 +--------------+------------+-------------+----------+-------------------------------+
\r
143 +--------------+------------+-------------+----------+-------------------------------+
\r
144 | Attribute | Qualifier | Cardinality | Content | Description |
\r
145 +==============+============+=============+==========+===============================+
\r
146 | tenant | M | 1 | String | Tenant Name of tenant |
\r
147 +--------------+------------+-------------+----------+-------------------------------+
\r
148 | username | M | 1 | String | Username for login |
\r
149 +--------------+------------+-------------+----------+-------------------------------+
\r
150 | password | M | 1 | String | Password of login user |
\r
151 +--------------+------------+-------------+----------+-------------------------------+
\r
154 "vnfInstanceName":"vFW",
\r
155 "vnfPackageId":"1",
\r
156 "vnfDescriptorId":"1",
\r
157 "vnfInstanceDescription":"vFW_1",
\r
158 "extVirtualLinkLink":[
\r
161 "vlInstanceId":"1",
\r
162 "resourceId":"1246" ,
\r
171 "vimType":"openstack",
\r
173 "protocolType":"http"
\r
178 "tenant":"tenant_vCPE",
\r
180 "password":"vCPE_321"
\r
183 "interfaceEndpoint":"http://10.43.21.105:80/"
\r
190 "additionalParam":{
\r
200 +-------------------+------------+-------------+-----------+-------------------------------+
\r
201 | Parameter | Qualifier | Cardinality | Content | Description |
\r
202 +===================+============+=============+===========+===============================+
\r
203 | jobId | M | 1 | Identifier| Tenant Name of tenant |
\r
204 | | | | | operation occurrence. |
\r
206 | | | | | [lifecycleOperationOccurren |
\r
208 +-------------------+------------+-------------+-----------+-------------------------------+
\r
209 | vnfInstanceId | M | 1 | String | VNF instance identifier. |
\r
210 +-------------------+------------+-------------+-----------+-------------------------------+
\r
214 "vnfInstanceId":"1"
\r
218 **3.2 Terminate VNF**
\r
219 -----------------------
\r
221 +---------------+------------------------------------------------------------------+
\r
222 | IF Definition | Description |
\r
223 +===============+==================================================================+
\r
224 | URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ |
\r
225 | | {vnfInstanceId}/terminate |
\r
226 +---------------+------------------------------------------------------------------+
\r
227 | Operation | POST |
\r
228 +---------------+------------------------------------------------------------------+
\r
229 | Direction | NSLCM->VNFMDriver |
\r
230 +---------------+------------------------------------------------------------------+
\r
234 +-----------------+------------+-------------+-----------+----------------------------------+
\r
235 | Parameter | Qualifier | Cardinality | Content | Description |
\r
236 +=================+============+=============+===========+==================================+
\r
237 | terminationType | M | 1 | Enum | Signals whether forceful or |
\r
238 | | | | | graceful termination is |
\r
239 | | | | | requested. |
\r
240 | | | | | In case of forceful termination, |
\r
241 | | | | | the VNF is shut down |
\r
242 | | | | | immediately, and resources are |
\r
243 | | | | | released. Note that if the VNF |
\r
244 | | | | | is still in service, this may |
\r
245 | | | | | adversely impact network |
\r
246 | | | | | service, and therefore, operator |
\r
247 | | | | | policies apply to determine if |
\r
248 | | | | | forceful termination is allowed |
\r
249 | | | | | in the particular situation. |
\r
251 | | | | | In case of graceful termination, |
\r
252 | | | | | the VNFM first arranges to take |
\r
253 | | | | | the VNF out of service (by |
\r
254 | | | | | means out of scope of the |
\r
255 | | | | | present specification, e.g. |
\r
256 | | | | | involving interaction with EM, |
\r
257 | | | | | if required). Once this was |
\r
258 | | | | | successful, or after a timeout, |
\r
259 | | | | | the VNFM shuts down the VNF |
\r
260 | | | | | and releases the resources. |
\r
261 +-----------------+------------+-------------+-----------+----------------------------------+
\r
262 | graceful | M | 0..1 | Time | The time interval (second) to |
\r
263 | Termination | | | Duration | wait for the VNF to be taken out |
\r
264 | Timeout | | | | of service during graceful |
\r
265 | | | | | termination, before shutting |
\r
266 | | | | | down the VNF and releasing the |
\r
267 | | | | | resources. |
\r
268 | | | | | If not given, it is expected |
\r
269 | | | | | that the VNFM waits for the |
\r
270 | | | | | successful taking out of service |
\r
271 | | | | | of the VNF, no matter how long |
\r
272 | | | | | it takes, before shutting down |
\r
273 | | | | | the VNF and releasing the |
\r
274 | | | | | resources (see note). |
\r
276 | | | | | Minimum timeout or timeout |
\r
277 | | | | | range are specified by the VNF |
\r
278 | | | | | Provider (e.g. defined in the |
\r
279 | | | | | VNFD or communicated by |
\r
280 | | | | | other means). |
\r
282 | | | | | Not relevant in case of forceful |
\r
283 | | | | | termination. |
\r
284 +-----------------+------------+-------------+-----------+----------------------------------+
\r
287 "vnfInstanceId":"1",
\r
288 "terminationType":"graceful",
\r
289 "gracefulTerminationTimeout":"60"
\r
295 +--------------+------------+-------------+-----------+--------------------------------+
\r
296 | Parameter | Qualifier | Cardinality | Content | Description |
\r
297 +==============+============+=============+===========+================================+
\r
298 | jobId | M | 1 | Identifier| Identifier of the VNF lifecycle|
\r
299 | | | | | operation occurrence. |
\r
301 | | | | | [lifecycleOperationOccurren |
\r
303 +--------------+------------+-------------+-----------+--------------------------------+
\r
314 +---------------+------------------------------------------------------------------+
\r
315 | IF Definition | Description |
\r
316 +===============+==================================================================+
\r
317 | URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ |
\r
318 | | {vnfInstanceId} |
\r
319 +---------------+------------------------------------------------------------------+
\r
320 | Operation | GET |
\r
321 +---------------+------------------------------------------------------------------+
\r
322 | Direction | NSLCM->VNFMDriver |
\r
323 +---------------+------------------------------------------------------------------+
\r
327 VNF filter: vnfInstanceId via url [R1]
\r
331 +--------------+------------+-------------+-----------+---------------------------------+
\r
332 | Parameter | Qualifier | Cardinality | Content | Description |
\r
333 +==============+============+=============+===========+=================================+
\r
334 | vnfInfo | M | o..N | vnfInfo | The information items about the |
\r
335 | | | | | selected VNF instance(s) that |
\r
336 | | | | | are returned. |
\r
338 | | | | | If attributeSelector is present,|
\r
339 | | | | | only the attributes listed in |
\r
340 | | | | | attributeSelector will be |
\r
341 | | | | | returned for the selected |
\r
342 | | | | | VNF instance(s). |
\r
343 +--------------+------------+-------------+-----------+---------------------------------+
\r
347 +-----------------+------------+-------------+----------+---------------------------------+
\r
348 | Attribute | Qualifier | Cardinality | Content | Description |
\r
349 +=================+============+=============+==========+=================================+
\r
350 | vnfInstanceId | M | 1 | String | VNF instance identifier. |
\r
351 +-----------------+------------+-------------+----------+---------------------------------+
\r
352 | vnfInstanceName | M | o..1 | String | VNF instance name. |
\r
353 +-----------------+------------+-------------+----------+---------------------------------+
\r
354 | vnfInstance | M | o..1 | String | Human-readable description of |
\r
355 | Description | | | | the VNF instance. |
\r
356 +-----------------+------------+-------------+----------+---------------------------------+
\r
357 | vnfdId | M | 1 | String | Identifier of the VNFD on which |
\r
358 | | | | | the VNF instance is based. |
\r
359 +-----------------+------------+-------------+----------+---------------------------------+
\r
360 | vnfPackageId | M | o..1 | String | Identifier of the VNF Package |
\r
361 | | | | | used to manage the lifecycle of |
\r
362 | | | | | the VNF instance. See note. |
\r
363 | | | | | Shall be present for an |
\r
364 | | | | | instantiated VNF instance. |
\r
365 +-----------------+------------+-------------+----------+---------------------------------+
\r
366 | version | M | 1 | String | Version of the VNF. |
\r
367 +-----------------+------------+-------------+----------+---------------------------------+
\r
368 | vnfProvider | M | 1 | String | Name of the person or company |
\r
369 | | | | | providing the VNF. |
\r
370 +-----------------+------------+-------------+----------+---------------------------------+
\r
371 | vnfType | M | 1 | String | VNF Application Type |
\r
372 +-----------------+------------+-------------+----------+---------------------------------+
\r
373 | vnfStatus | M | 1 | Enum | The instantiation state of the |
\r
374 | | | | | VNF. Possible values: |
\r
375 | | | | | INACTIVE (Vnf is terminated or |
\r
376 | | | | | not instantiated ), |
\r
377 | | | | | ACTIVE (Vnf is instantiated). |
\r
378 | | | | | [instantiationState] |
\r
379 +-----------------+------------+-------------+----------+---------------------------------+
\r
385 "nfInstanceId":"1",
\r
386 "vnfInstanceName":"vFW",
\r
387 "vnfInstanceDescription":"vFW in Nanjing TIC Edge",
\r
389 "vnfPackageId":"1",
\r
391 "vnfProvider":"ZTE",
\r
393 "vnfStatus":" ACTIVE",
\r
399 **3.4 Get operation status**
\r
400 -----------------------------
\r
402 +---------------+------------------------------------------------------------------+
\r
403 | IF Definition | Description |
\r
404 +===============+==================================================================+
\r
405 | URI | http(s)://[hostname][:port]/api/{vnfmtype} |
\r
406 | | /v1/{vnfmid}/jobs/{jobid}&responseId={ responseId } |
\r
407 +---------------+------------------------------------------------------------------+
\r
408 | Operation | GET |
\r
409 +---------------+------------------------------------------------------------------+
\r
410 | Direction | NSLCM->VNFMDriver |
\r
411 +---------------+------------------------------------------------------------------+
\r
419 +--------------------+------------+-------------+-------------+---------------------------------+
\r
420 | Parameter | Qualifier | Cardinality | Content | Description |
\r
421 +====================+============+=============+=============+=================================+
\r
422 | jobId | M | 1 | String | Job ID |
\r
423 +--------------------+------------+-------------+-------------+---------------------------------+
\r
424 | responseDescriptor | M | 1 | - | Including: |
\r
425 | | | | | vnfStatus, statusDescription, |
\r
426 | | | | | errorCode,progress, |
\r
427 | | | | | responseHistoryList, responseId |
\r
428 +--------------------+------------+-------------+-------------+---------------------------------+
\r
429 | status | M | 1 | String | JOB status |
\r
430 | | | | | started |
\r
431 | | | | | processing |
\r
432 | | | | | finished |
\r
434 +--------------------+------------+-------------+-------------+---------------------------------+
\r
435 | progress | M | 1 | Integer | progress (1-100) |
\r
436 +--------------------+------------+-------------+-------------+---------------------------------+
\r
437 | statusDescription | M | 1 | String | Progress Description |
\r
438 +--------------------+------------+-------------+-------------+---------------------------------+
\r
439 | errorCode | M | 1 | Integer | Errorcode |
\r
440 +--------------------+------------+-------------+-------------+---------------------------------+
\r
441 | responseId | M | 1 | Integer | Response Identifier |
\r
442 +--------------------+------------+-------------+-------------+---------------------------------+
\r
443 | response | M | o..N | ArrayList<> | History Response Messages |
\r
444 | HistoryList | | | | from the requested |
\r
445 | | | | | responseId to lastest one. |
\r
446 | | | | | Including fields: |
\r
447 | | | | | vnfStatus, |
\r
448 | | | | | statusDescription, |
\r
449 | | | | | errorCode, |
\r
450 | | | | | progress, |
\r
451 | | | | | responseId |
\r
452 +--------------------+------------+-------------+-------------+---------------------------------+
\r
455 "jobId" : "1234566",
\r
456 "responseDescriptor" : {
\r
459 "status" : "proccessing",
\r
460 "statusDescription" : "OMC VMs are decommissioned in VIM",
\r
461 "errorCode" : null,
\r
462 "responseId" : "42",
\r
463 "responseHistoryList" : [{
\r
466 "status" : "proccessing",
\r
467 "statusDescription" : "OMC VMs are decommissioned in VIM",
\r
468 "errorCode" : null,
\r
473 "status" : "proccessing",
\r
474 "statusDescription" : "OMC VMs are decommissioned in VIM",
\r
475 "errorCode" : null,
\r
489 +---------------+------------------------------------------------------------------+
\r
490 | IF Definition | Description |
\r
491 +===============+==================================================================+
\r
492 | URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ |
\r
493 | | {vnfInstanceId}/scale |
\r
494 +---------------+------------------------------------------------------------------+
\r
495 | Operation | POST |
\r
496 +---------------+------------------------------------------------------------------+
\r
497 | Direction | NSLCM->VNFMDriver |
\r
498 +---------------+------------------------------------------------------------------+
\r
503 +---------------+------------+-------------+-------------+---------------------------------------------+
\r
504 | Parameter | Qualifier | Cardinality | Content | Description |
\r
505 +===============+============+=============+=============+=============================================+
\r
506 | type | M | 1 | Enum | Defines the type of the scale operation |
\r
507 | | | | | requested (scale out, scale in). The set of |
\r
508 | | | | | types actually supported depends on the |
\r
509 | | | | | capabilities of the VNF being managed, as |
\r
510 | | | | | declared in the VNFD. See note 1. |
\r
511 +---------------+------------+-------------+-------------+---------------------------------------------+
\r
512 | aspectId | M | 1 | Identifier | Identifies the aspect of the VNF that is |
\r
513 | | | | | requested to be scaled |
\r
514 +---------------+------------+-------------+-------------+---------------------------------------------+
\r
515 | numberOfSteps | M | 1 | Integer | Number of scaling steps to be executed as |
\r
516 | | | | | part of this ScaleVnf operation. It shall |
\r
517 | | | | | be a positive number. |
\r
518 | | | | | Defaults to 1. |
\r
519 | | | | | The VNF Provider defines in the VNFD |
\r
520 | | | | | whether or not a particular VNF supports |
\r
521 | | | | | performing more than one step at a time. |
\r
522 | | | | | Such a property in the VNFD applies for all |
\r
523 +---------------+------------+-------------+-------------+---------------------------------------------+
\r
524 | additional | M | 1 |KeyValuePair | Additional parameters passed by the NFVO |
\r
525 | Param | | | | as input to the scaling proccess, specific |
\r
526 | | | | | to the VNF being scaled. |
\r
527 | | | | | Reserved |
\r
528 +---------------+------------+-------------+-------------+---------------------------------------------+
\r
529 | NOTE 1: ETSI GS NFV-IFA 010 [2] specifies that the lifecycle management operations that expand |
\r
530 | or contract a VNF instance include scale in, scale out, scale up and scale down. Vertical |
\r
531 | scaling (scale up, scale down) is not supported in the present document. |
\r
532 | SCALE_IN designates scaling in. |
\r
533 | SCALE_OUT 1 designates scaling out. |
\r
534 | NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |
\r
536 +------------------------------------------------------------------------------------------------------+
\r
539 "vnfInstanceId":"5",
\r
540 "type":" SCALE_OUT",
\r
542 "numberOfSteps":"1",
\r
543 "additionalParam":{
\r
553 +--------------------+------------+-------------+-------------+---------------------------------+
\r
554 | Parameter | Qualifier | Cardinality | Content | Description |
\r
555 +====================+============+=============+=============+=================================+
\r
556 | jobId | M | 1 | String | The identifier of the VNF |
\r
557 | | | | | lifecycle operation occurrence. |
\r
558 +--------------------+------------+-------------+-------------+---------------------------------+
\r
568 +---------------+------------------------------------------------------------------+
\r
569 | IF Definition | Description |
\r
570 +===============+==================================================================+
\r
571 | URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs |
\r
572 | | {vnfInstanceId}/heal |
\r
573 +---------------+------------------------------------------------------------------+
\r
574 | Operation | POST |
\r
575 +---------------+------------------------------------------------------------------+
\r
576 | Direction | NSLCM->VNFMDriver |
\r
577 +---------------+------------------------------------------------------------------+
\r
581 +--------------------+------------+-------------+-------------+---------------------------------+
\r
582 | Parameter | Qualifier | Cardinality | Content | Description |
\r
583 +====================+============+=============+=============+=================================+
\r
584 | action | M | 1 | String | Indicates the action to be done |
\r
585 | | | | | upon the given virtual machine. |
\r
586 | | | | | Only "vmReset" is supported |
\r
587 | | | | | currently. |
\r
588 +--------------------+------------+-------------+-------------+---------------------------------+
\r
589 | affectedvm | M | 1 | AffectedVm | Defines the information of |
\r
590 | | | | | virtual machines. |
\r
591 +--------------------+------------+-------------+-------------+---------------------------------+
\r
595 +--------------------+------------+-------------+-------------+---------------------------------+
\r
596 | Parameter | Qualifier | Cardinality | Content | Description |
\r
597 +====================+============+=============+=============+=================================+
\r
598 | vimid | M | 1 | String | Defines the UUID of virtual |
\r
599 | | | | | machine. |
\r
600 +--------------------+------------+-------------+-------------+---------------------------------+
\r
601 | vduid | M | 1 | String | Defines the id of vdu. |
\r
602 +--------------------+------------+-------------+-------------+---------------------------------+
\r
603 | vmname | M | 1 | | Defines the name of virtual |
\r
604 | | | | | machines. |
\r
605 +--------------------+------------+-------------+-------------+---------------------------------+
\r
608 "action": "vmReset",
\r
612 "vmid": "804cca71-9ae9-4511-8e30-d1387718caff",
\r
613 "vduid": "vdu_100",
\r
614 "vmname": "ZTE_SSS_111_PP_2_L"
\r
622 +--------------------+------------+-------------+-------------+---------------------------------+
\r
623 | Parameter | Qualifier | Cardinality | Content | Description |
\r
624 +====================+============+=============+=============+=================================+
\r
625 | jobId | M | 1 | Identifier | The identifier of the VNF |
\r
626 | | | | | healing operation occurrence. |
\r
627 +--------------------+------------+-------------+-------------+---------------------------------+
\r
635 **4. Interfaces provided by VFC to integrate with VNFM driver**
\r
636 ===========================================
\r
639 **4.1 VNF Lifecycle Operation Granting Interface**
\r
640 ------------------------
\r
643 +---------------+------------------------------------------------------------------+
\r
644 | IF Definition | Description |
\r
645 +===============+==================================================================+
\r
646 | URI | http(s)://[hostname][:port]/api/nslcm/v1/ns/grantvnf |
\r
647 +---------------+------------------------------------------------------------------+
\r
648 | Operation | POST |
\r
649 +---------------+------------------------------------------------------------------+
\r
650 | Direction | VNFMDriver -> NSLCM |
\r
651 +---------------+------------------------------------------------------------------+
\r
657 "vnfInstanceId": "string",
\r
658 "vnfDescriptorId": "string",
\r
659 "lifecycleOperation": "Terminal",
\r
664 "resourceDefinitionId": "string",
\r
668 "removeResource": [
\r
671 "resourceDefinitionId": "string",
\r
675 "additionalParam": {}
\r
682 "vimInfoId": "string",
\r
685 "vimType": "string",
\r
686 "apiVersion": "string",
\r
687 "protocolType": "string"
\r
690 "tenant": "string",
\r
691 "username": "string",
\r
692 "password": "string"
\r
694 "interfaceEndpoint": "string"
\r
698 **4.2 VNF LCM Notification Interface**
\r
699 ------------------------
\r
701 +---------------+------------------------------------------------------------------+
\r
702 | IF Definition | Description |
\r
703 +===============+==================================================================+
\r
704 | URI | http(s)://[hostname][:port]/api/nslcm/v1/ns/{vnfmid}/vnfs/ |
\r
705 | | {vnfInstanceId}/Notify |
\r
706 +---------------+------------------------------------------------------------------+
\r
707 | Operation | POST |
\r
708 +---------------+------------------------------------------------------------------+
\r
709 | Direction | VNFMDriver -> NSLCM |
\r
710 +---------------+------------------------------------------------------------------+
\r
715 "status": "result",
\r
716 "vnfInstanceId": "string",
\r
717 "operation": "Terminal",
\r
721 "vnfcInstanceId": "string",
\r
723 "changeType": "added",
\r
731 "virtualLinkInstanceId": "string",
\r
732 "cpinstanceid": "string",
\r
734 "ownerType": "string",
\r
735 "ownerId": "string",
\r
736 "changeType": "added",
\r
739 "resourceid": "string",
\r
740 "resourceName": "string",
\r
741 "tenant": "string",
\r
742 "ipAddress": "string",
\r
743 "macAddress": "string",
\r
750 "vlInstanceId": "string",
\r
752 "changeType": "added",
\r
753 "networkResource": {
\r
754 "resourceType": "network",
\r
755 "resourceId": "string"
\r
759 "affectedVirtualStorage": [
\r
769 **4.3 Query VNFM Register Info Interface**
\r
770 ------------------------
\r
772 +---------------+------------------------------------------------------------------+
\r
773 | IF Definition | Description |
\r
774 +===============+==================================================================+
\r
775 | URI | http(s)://[hostname][:port]/api/nslcm/v1/vnfms/{vnfmid} |
\r
776 +---------------+------------------------------------------------------------------+
\r
777 | Operation | GET |
\r
778 +---------------+------------------------------------------------------------------+
\r
779 | Direction | VNFMDriver -> NSLCM |
\r
780 +---------------+------------------------------------------------------------------+
\r
787 "vnfmId": "string",
\r
791 "userName": "string",
\r
792 "password": "string",
\r
794 "vendor": "string",
\r
795 "version": "string",
\r
796 "description": "string",
\r
797 "certificateUrl": "string",
\r
798 "createTime": "string"
\r
802 **4.4 Query VIM Register Info Interface**
\r
803 ------------------------
\r
805 +---------------+------------------------------------------------------------------+
\r
806 | IF Definition | Description |
\r
807 +===============+==================================================================+
\r
808 | URI | http(s)://[hostname][:port]/api/nslcm/v1/vims/{vimid} |
\r
809 +---------------+------------------------------------------------------------------+
\r
810 | Operation | GET |
\r
811 +---------------+------------------------------------------------------------------+
\r
812 | Direction | VNFMDriver -> NSLCM |
\r
813 +---------------+------------------------------------------------------------------+
\r
820 +--------------------+------------+-------------+-------------+---------------------------------+
\r
821 | Parameter | Qualifier | Cardinality | Content | Description |
\r
822 +====================+============+=============+=============+=================================+
\r
823 | vimId | M | 1 | string | The identifier of the VIM |
\r
824 +--------------------+------------+-------------+-------------+---------------------------------+
\r
825 | name | M | 1 | string | The name of the VIM |
\r
826 +--------------------+------------+-------------+-------------+---------------------------------+
\r
827 | type | M | 1 | string | The type of the VIM |
\r
828 +--------------------+------------+-------------+-------------+---------------------------------+
\r
829 | url | M | 1 | string | The access URL of the VIM |
\r
830 +--------------------+------------+-------------+-------------+---------------------------------+
\r
831 | userName | M | 1 | string | The user name of the VIM |
\r
832 +--------------------+------------+-------------+-------------+---------------------------------+
\r
833 | password | M | 1 | string | The password of the VIM |
\r
834 +--------------------+------------+-------------+-------------+---------------------------------+
\r
835 | vendor | M | 1 | string | The vendor of the VIM |
\r
836 +--------------------+------------+-------------+-------------+---------------------------------+
\r
837 | version | M | 1 | version | The version of the VIM |
\r
838 +--------------------+------------+-------------+-------------+---------------------------------+
\r
839 | description | O | 1 | description | The description of the VIM |
\r
840 +--------------------+------------+-------------+-------------+---------------------------------+
\r
841 | sslCacert | O | 1 | Identifier | The collection of trusted |
\r
842 | | | | | certificates towards the VIM. |
\r
843 +--------------------+------------+-------------+-------------+---------------------------------+
\r
844 | sslInsecure | O | 1 | Identifier | Whether to verify VIM's |
\r
845 | | | | | certificate. |
\r
846 +--------------------+------------+-------------+-------------+---------------------------------+
\r
847 | status | O | 1 | Identifier | The status of external system |
\r
848 +--------------------+------------+-------------+-------------+---------------------------------+
\r
856 "userName": "string",
\r
857 "password": "string",
\r
858 "vendor": "string",
\r
859 "version": "string",
\r
860 "description": "string",
\r
861 "createTime": "string",
\r
862 "sslCacert": "string",
\r
863 "sslInsecure": "string",
\r