5 "title": "ONAP SO VNFM Adapter API",
6 "description": "Describes the API between SO and the adapter for VNFM",
8 "name": "ONAP SO VNFM",
9 "email": "onap-discuss@lists.onap.org",
10 "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
13 "basePath": "/api/v1",
25 "/so/{vnfmId}/vnfs": {
30 "summary": "VNF create",
31 "description": "VNF create",
32 "operationId": "vnf_create",
43 "description": "The identifier of the VNFM in A&AI",
50 "description": "VNF creation request parameter",
53 "$ref": "#/definitions/SoVnfCreationRequest"
61 "$ref": "#/definitions/SoVnfCreationResponse"
67 "/so/{vnfmId}/vnfs/{vnfId}": {
72 "summary": "VNF activation",
73 "description": "VNF activation",
74 "operationId": "vnf_activate",
85 "description": "The identifier of the VNFM in A&AI",
92 "description": "The identifier of the VNF in A&AI",
99 "description": "instantiate request param",
102 "$ref": "#/definitions/SoVnfActivationRequest"
110 "$ref": "#/definitions/SoJobHandler"
119 "summary": "Deletes VNF",
120 "description": "Deletes the VNF. If the VNF was instantiated VNF termination must be called before VNF deletion",
121 "operationId": "delete_vnf",
132 "description": "The identifier of the VNFM in A&AI",
139 "description": "The identifier of the VNF in A&AI",
146 "description": "The VNF was deleted successfully"
151 "/so/{vnfmId}/vnfs/{vnfId}/scale": {
156 "summary": "VNF scale",
157 "description": "VNF scale request",
158 "operationId": "vnf_scale",
169 "description": "The identifier of the VNFM in A&AI",
176 "description": "The identifier of the VNF in A&AI",
183 "description": "VNF scale request parameters",
186 "$ref": "#/definitions/SoVnfScaleRequest"
194 "$ref": "#/definitions/SoJobHandler"
200 "/so/{vnfmId}/vnfs/{vnfId}/customOperation": {
205 "summary": "VNF scale",
206 "description": "VNF scale request",
207 "operationId": "vnf_scale",
218 "description": "The identifier of the VNFM in A&AI",
225 "description": "The identifier of the VNF in A&AI",
232 "description": "VNF scale request parameters",
235 "$ref": "#/definitions/SoVnfCustomOperation"
243 "$ref": "#/definitions/SoJobHandler"
249 "/so/{vnfmId}/vnfs/{vnfId}/heal": {
254 "summary": "VNF heal",
255 "description": "VNF heal",
256 "operationId": "vnf_heal",
267 "description": "The identifier of the VNFM in A&AI",
274 "description": "The identifier of the VNF in A&AI",
281 "description": "VNF heal request parameters",
284 "$ref": "#/definitions/SoVnfHealRequest"
292 "$ref": "#/definitions/SoJobHandler"
298 "/so/{vnfmId}/vnfs/{vnfId}/terminate": {
303 "summary": "VNF terminate",
304 "description": "VNF terminate",
305 "operationId": "vnf_terminate",
316 "description": "The identifier of the VNFM in A&AI",
323 "description": "The identifier of the VNF in A&AI",
330 "description": "VNF termination request parameters",
333 "$ref": "#/definitions/SoVnfTerminationRequest"
341 "$ref": "#/definitions/SoJobHandler"
347 "/so/{vnfmId}/jobs/{jobId}": {
352 "summary": "Query job status",
353 "description": "Query the job status",
354 "operationId": "get_jobstatus",
359 "description": "The identifier of the VNFM in A&AI",
366 "description": "The identifier of the job",
373 "description": "The details of a job",
375 "$ref": "#/definitions/SoJobDetail"
379 "description": "The job is unknown to the VNFM. The VNFM does not keep finished jobs for forever.",
381 "$ref": "#/definitions/SoJobDetail"
394 "description": "The identifier of the job",
400 "description": "The status of the job",
411 "$ref": "#/definitions/SoJobHandler"
418 "description": "The status of the job",
419 "$ref": "#/definitions/SoJobStatus"
423 "description": "The description of the current state of the job",
430 "SoVnfCreationRequest": {
435 "description": "The name of the VNF",
440 "description": "The identifier of the VNF package in SDC",
445 "description": "The description of the VNF",
448 "additionalParams": {
449 "description": "Additional VNFM specific parameters",
451 "additionalProperties": true
455 "SoVnfCreationResponse": {
460 "description": "The identifier of the created VNF",
470 "description": "The identifier of the VDU within the VNF package",
475 "description": "The provider id of the image to be used for the VDU",
480 "description": "The provider id of the flavour to be used for the VDU",
487 "description": "Maps a server instance to a VDU and availability zone",
491 "description": "The identifier of the VDU",
494 "availabilityZoneId": {
496 "description": "The provider id of the availability zone to be used for the server instance",
501 "SoAssignedAddresses": {
506 "description": "The identifier of the connection point descriptor",
511 "description": "The IP address to be used",
516 "SoNetworkMapping": {
521 "description": "The identifier of the network in the VNF package",
524 "networkProviderId": {
526 "description": "The provider id of the network be used for the given purpose",
529 "assignedAddresses": {
531 "description": "The assigned network addresses",
534 "$ref": "#/definitions/SoAssignedAddresses"
539 "SoVnfActivationRequest": {
545 "description" : "The identifier of the VIM on which the VNF is to be instantiated"
549 "description": "The server mappings",
552 "$ref": "#/definitions/SoServerMapping"
557 "description": "The VDU mappings",
560 "$ref": "#/definitions/SoVduMapping"
565 "description": "The network mappings",
568 "$ref": "#/definitions/SoNetworkMapping"
571 "additionalParams": {
572 "description": "Additional VNFM specific parameters",
574 "additionalProperties": true
578 "SoScaleDirection": {
579 "description": "The direction of the scale",
586 "SoVnfScaleRequest": {
591 "description": "The identifier of the scaling aspect in the VNF package"
595 "description": "The expected absolute scale level"
599 "description": "The direction of the scale",
600 "$ref": "#/definitions/SoScaleDirection"
604 "description": "The server mappings",
606 "$ref": "#/definitions/SoServerMapping"
609 "additionalParams": {
610 "description": "Additional VNFM specific parameters",
612 "additionalProperties": true
616 "SoVnfCustomOperation": {
622 "description": "The identifier of the custom operation"
624 "additionalParams": {
625 "description": "Additional VNFM specific parameters",
627 "additionalProperties": true
631 "SoVnfHealRequest": {
636 "description": "The identifier of the VNFC to be healed"
638 "additionalParams": {
639 "description": "Additional VNFM specific parameters",
641 "additionalProperties": true
645 "SoTerminationMode": {
646 "description": "The way in which the VNF is terminated",
653 "SoVnfTerminationRequest": {
658 "description" : "The VNF termination mode",
659 "$ref": "#/definitions/SoTerminationMode"
661 "gracefulTerminationTimeoutInMs": {
664 "description": "The timeout for graceful termination. After the timeout has expired forceful termination is attempted."
666 "additionalParams": {
667 "description": "Additional VNFM specific parameters",
669 "additionalProperties": true