2 "basePath": "/api/NokiaSVNFM/v1",
15 "email": "onap-discuss@lists.onap.org",
17 "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
19 "description": "ONAP Nokia CBAM Driver API.",
20 "title": "ONAP Nokia CBAM Driver API",
29 "description": "The identifier of the job",
35 "description": "The status of the job",
46 "$ref": "#/definitions/SoJobHandler"
53 "description": "The status of the job",
54 "$ref": "#/definitions/SoJobStatus"
58 "description": "The description of the current state of the job",
65 "SoVnfCreationRequest": {
70 "description": "The name of the VNF",
75 "description": "The identifier of the VNF package in SDC",
80 "description": "The description of the VNF",
84 "description": "Additional VNFM specific parameters",
86 "additionalProperties": true
90 "SoVnfCreationResponse": {
95 "description": "The identifier of the created VNF",
105 "description": "The identifier of the VDU within the VNF package",
110 "description": "The provider id of the image to be used for the VDU",
115 "description": "The provider id of the flavour to be used for the VDU",
122 "description": "Maps a server instance to a VDU and availability zone",
126 "description": "The identifier of the VDU",
129 "availabilityZoneId": {
131 "description": "The provider id of the availability zone to be used for the server instance",
136 "SoAssignedAddresses": {
141 "description": "The identifier of the connection point descriptor",
146 "description": "The IP address to be used",
151 "SoNetworkMapping": {
156 "description": "The identifier of the network in the VNF package",
159 "networkProviderId": {
161 "description": "The provider id of the network be used for the given purpose",
164 "assignedAddresses": {
166 "description": "The assigned network addresses",
169 "$ref": "#/definitions/SoAssignedAddresses"
174 "SoVnfActivationRequest": {
180 "description": "The identifier of the VIM on which the VNF is to be instantiated"
184 "description": "The server mappings",
187 "$ref": "#/definitions/SoServerMapping"
192 "description": "The VDU mappings",
195 "$ref": "#/definitions/SoVduMapping"
200 "description": "The network mappings",
203 "$ref": "#/definitions/SoNetworkMapping"
206 "additionalParams": {
207 "description": "Additional VNFM specific parameters",
209 "additionalProperties": true
213 "SoScaleDirection": {
214 "description": "The direction of the scale",
221 "SoVnfScaleRequest": {
226 "description": "The identifier of the scaling aspect in the VNF package"
230 "description": "The expected absolute scale level"
234 "description": "The direction of the scale",
235 "$ref": "#/definitions/SoScaleDirection"
239 "description": "The server mappings",
241 "$ref": "#/definitions/SoServerMapping"
244 "additionalParams": {
245 "description": "Additional VNFM specific parameters",
247 "additionalProperties": true
251 "SoVnfCustomOperation": {
257 "description": "The identifier of the custom operation"
259 "additionalParams": {
260 "description": "Additional VNFM specific parameters",
262 "additionalProperties": true
266 "SoVnfHealRequest": {
271 "description": "The identifier of the VNFC to be healed"
273 "additionalParams": {
274 "description": "Additional VNFM specific parameters",
276 "additionalProperties": true
280 "SoTerminationMode": {
281 "description": "The way in which the VNF is terminated",
288 "SoVnfTerminationRequest": {
293 "description": "The VNF termination mode",
294 "$ref": "#/definitions/SoTerminationMode"
296 "gracefulTerminationTimeoutInMs": {
299 "description": "The timeout for graceful termination. After the timeout has expired forceful termination is attempted."
301 "additionalParams": {
302 "description": "Additional VNFM specific parameters",
304 "additionalProperties": true
313 "responseDescriptor": {
319 "description": "The progress of the job. Value between 0 and 100.",
322 "responseHistoryList": {
324 "$ref": "#/definitions/jobResponseInfo"
332 "$ref": "#/definitions/JobStatus",
333 "description": "The status of the job"
335 "statusDescription": {
336 "description": "The reason of the current status of the job.",
354 "description": "The status of the job",
365 "description": "The direction of the scaling",
375 "description": "vim info createTime",
379 "description": "vim description",
383 "description": "vim name",
387 "description": "vim login password",
391 "description": "The collection of trusted certificates towards the VIM connection.",
395 "description": "Whether to verify VIM's certificate",
399 "description": "The status of external system",
403 "description": "vim type",
407 "description": "vim url",
411 "description": "vim login username",
415 "description": "vendor name",
419 "description": "vim version",
423 "description": "vim Id",
456 "vnfInstanceDescription": {
486 "description": "VNF instance ID",
490 "description": "VNF instance name",
498 "$ref": "#/definitions/VnfInstInfo"
502 "VnfInstantiateRequest": {
509 "$ref": "#/definitions/extVirtualLinkInfo"
516 "vnfInstanceDescription": {
528 "VnfInstantiateResponse": {
542 "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled",
546 "description": "Identifies the aspect of the VNF that is requested to be scaled",
550 "description": "Number of scaling steps to be executed as part of this ScaleVnf operation. It shall be a positive number",
554 "$ref": "#/definitions/ScaleDirection",
555 "description": "The direction of the scaling."
560 "VnfTerminateRequest": {
562 "gracefulTerminationTimeout": {
563 "description": "The time interval(second) to wait for the VNF to be taken out of service during graceful termination.",
567 "$ref": "#/definitions/VnfTerminationType",
568 "description": "The type of the termination"
573 "VnfTerminationType": {
574 "description": "The type of the termination.",
581 "extVirtualLinkInfo": {
584 "resourceSubnetId": {
586 "description": "The provider id of the subnet"
590 "description": "The identifier of the virtual link"
594 "description": "The provider id of the network"
598 "description": "The identifier of the connection point descriptor"
605 "description": "The identifier of the VIM"
625 "statusDescription": {
636 "description": "Password of login user",
640 "description": "Tenant Name of tenant",
644 "description": "Username for login",
650 "interfaceEndpoint": {
651 "description": "Information about the interface endpoint. It is a URL",
657 "description": "The api Version Type value will be ",
661 "description": "The protocol Type value will be http or https",
665 "description": "The vim Type value wil be openstack",
680 "VnfLifecycleChangeNotification": {
682 "description": "The lifecycle change notifications send from CBAM"
691 "description": "VNF create&instantiate Rest API should be provided by the VNFM Driver",
692 "operationId": "vnf_instantiate",
695 "description": "The value of vnfmid should be the VNFM Instantiate ID",
702 "description": "instantiate request param",
707 "$ref": "#/definitions/VnfInstantiateRequest"
718 "$ref": "#/definitions/VnfInstantiateResponse"
722 "summary": "vnf create&instantiate",
728 "/{vnfmId}/vnfs/{vnfId}": {
734 "operationId": "query_vnf",
737 "description": "The value of vnfmId should be the VNFM Instantiate ID",
744 "description": "The value of vnfId should be the VNF Instantiate ID",
756 "description": "successful operation",
758 "$ref": "#/definitions/VnfInfo"
762 "description": "the vnf instance id is wrong"
765 "description": "the url is invalid"
768 "summary": "query the specified vnf info",
774 "/{vnfmId}/vnfs/{vnfId}/heal": {
779 "description": "VNF Heal Rest API should be provided by the VNFM Driver",
780 "operationId": "vnf_heal",
783 "description": "The value of vnfmId should be the VNFM Instantiate ID",
790 "description": "The value of vnfId should be the VNF Instantiate ID",
797 "description": "instantiate request param",
802 "$ref": "#/definitions/VnfHealRequest"
813 "$ref": "#/definitions/JobInfo"
817 "description": "the VNF instance id is wrong"
820 "description": "the url is invalid"
823 "summary": "vnf heal",
829 "/{vnfmId}/vnfs/{vnfId}/scale": {
834 "description": "VNF Scale Rest API should be provided by the VNFM Driver",
835 "operationId": "vnf_scale",
838 "description": "The value of vnfmId should be the VNFM Instantiate ID",
845 "description": "The value of vnfId should be the VNF Instantiate ID",
852 "description": "instantiate request param",
857 "$ref": "#/definitions/VnfScaleRequest"
868 "$ref": "#/definitions/JobInfo"
872 "description": "the VNF instance id is wrong"
875 "description": "the url is invalid"
878 "summary": "vnf Scale",
884 "/{vnfmId}/vnfs/{vnfId}/terminate": {
889 "description": "VNF terminate&delete Rest API should be provided by the VNFM Driver",
890 "operationId": "terminate_vnf",
893 "description": "The value of vnfmId should be the VNFM Instantiate ID",
900 "description": "The value of vnfId should be the VNF Instantiate ID",
907 "description": "instantiate request param",
912 "$ref": "#/definitions/VnfTerminateRequest"
921 "description": "successful operation",
923 "$ref": "#/definitions/JobInfo"
927 "description": "the VNF instance id is wrong"
930 "description": "the url is invalid"
933 "summary": "terminate&delete vnf",
939 "/{vnfmId}/jobs/{jobId}": {
944 "summary": "jobstatus",
945 "description": "Job Infomation API should be provided by VNFM Driver",
946 "operationId": "get_jobstatus",
951 "description": "job Id",
958 "description": "The value of vnfmId should be the VNFM Instantiate ID",
965 "description": "job response message id",
966 "name": "responseId",
974 "$ref": "#/definitions/JobDetailInfo"
985 "summary": "Test LCN connectivity from CBAM to driver",
986 "description": "Test LCN connectivity from CBAM to driver",
989 "description": "Used for connectivity test"
1000 "summary": "Send LCN from CBAM",
1001 "description": "Test LCN connectivity from CBAM to driver",
1004 "description": "The life cycle change notification",
1009 "$ref": "#/definitions/VnfLifecycleChangeNotification"
1015 "description": "Used for connectivity test"
1025 "summary": "The Nokia SVNFM API definition",
1026 "description": "The Nokia SVNFM API definition",
1029 "description": "The swagger API definition"
1040 "multipart/form-data"
1043 "application/octet-stream"
1047 "description": "The CBAM VNF package",
1049 "name": "fileToUpload",
1053 "description": "ONAP version of the package",
1059 "summary": "Converts the Nokia CBAM package to ONAP package",
1060 "description": "Converts the Nokia CBAM package to ONAP package",
1063 "description": "The converted package",
1077 "summary": "UI to convert the Nokia CBAM package to ONAP package",
1078 "description": "UI to convert the Nokia CBAM package to ONAP package",
1081 "description": "The converted package"
1086 "/so/{vnfmId}/vnfs": {
1091 "summary": "VNF create",
1092 "description": "VNF create",
1093 "operationId": "vnf_create",
1104 "description": "The identifier of the VNFM in A&AI",
1111 "description": "VNF creation request parameter",
1114 "$ref": "#/definitions/SoVnfCreationRequest"
1122 "$ref": "#/definitions/SoVnfCreationResponse"
1128 "/so/{vnfmId}/vnfs/{vnfId}": {
1133 "summary": "VNF activation",
1134 "description": "VNF activation",
1135 "operationId": "vnf_activate",
1146 "description": "The identifier of the VNFM in A&AI",
1153 "description": "The identifier of the VNF in A&AI",
1160 "description": "instantiate request param",
1163 "$ref": "#/definitions/SoVnfActivationRequest"
1171 "$ref": "#/definitions/SoJobHandler"
1180 "summary": "Deletes VNF",
1181 "description": "Deletes the VNF. If the VNF was instantiated VNF termination must be called before VNF deletion",
1182 "operationId": "delete_vnf",
1187 "description": "The identifier of the VNFM in A&AI",
1194 "description": "The identifier of the VNF in A&AI",
1201 "description": "The VNF was deleted successfully"
1206 "/so/{vnfmId}/vnfs/{vnfId}/scale": {
1211 "summary": "VNF scale",
1212 "description": "VNF scale request",
1213 "operationId": "vnf_scale",
1224 "description": "The identifier of the VNFM in A&AI",
1231 "description": "The identifier of the VNF in A&AI",
1238 "description": "VNF scale request parameters",
1241 "$ref": "#/definitions/SoVnfScaleRequest"
1249 "$ref": "#/definitions/SoJobHandler"
1255 "/so/{vnfmId}/vnfs/{vnfId}/customOperation": {
1260 "summary": "VNF scale",
1261 "description": "VNF scale request",
1262 "operationId": "vnf_scale",
1273 "description": "The identifier of the VNFM in A&AI",
1280 "description": "The identifier of the VNF in A&AI",
1287 "description": "VNF scale request parameters",
1290 "$ref": "#/definitions/SoVnfCustomOperation"
1298 "$ref": "#/definitions/SoJobHandler"
1304 "/so/{vnfmId}/vnfs/{vnfId}/heal": {
1309 "summary": "VNF heal",
1310 "description": "VNF heal",
1311 "operationId": "vnf_heal",
1322 "description": "The identifier of the VNFM in A&AI",
1329 "description": "The identifier of the VNF in A&AI",
1336 "description": "VNF heal request parameters",
1339 "$ref": "#/definitions/SoVnfHealRequest"
1347 "$ref": "#/definitions/SoJobHandler"
1353 "/so/{vnfmId}/vnfs/{vnfId}/terminate": {
1358 "summary": "VNF terminate",
1359 "description": "VNF terminate",
1360 "operationId": "vnf_terminate",
1371 "description": "The identifier of the VNFM in A&AI",
1378 "description": "The identifier of the VNF in A&AI",
1385 "description": "VNF termination request parameters",
1388 "$ref": "#/definitions/SoVnfTerminationRequest"
1396 "$ref": "#/definitions/SoJobHandler"
1402 "/so/{vnfmId}/jobs/{jobId}": {
1407 "summary": "Query job status",
1408 "description": "Query the job status",
1409 "operationId": "get_jobstatus",
1414 "description": "The identifier of the VNFM in A&AI",
1421 "description": "The identifier of the job",
1428 "description": "The details of a job",
1430 "$ref": "#/definitions/SoJobDetail"
1434 "description": "The job is unknown to the VNFM. The VNFM does not keep finished jobs for forever.",
1436 "$ref": "#/definitions/SoJobDetail"