7 Network Service Orchestration RESTful API Reference

This chapter provides reference information about the Oracle Communications Network Service Orchestration Solution RESTful APIs.

The Network Service Orchestration RESTful APIs provide the northbound interface to the Network Service Orchestration solution. Operation Support Systems (OSS) and VNF managers query data from the solution's resource inventory.

The solution's RESTful APIs enable you to perform various functions by using a RESTful API client.

The root URL for the Network Service Orchestration RESTful API resources is:

  • HTTP Connection: http://nso_host:port/ocnso/1.1

  • SSL Connection: https://nso_host:ssl_port/ocnso/1.1

    where:

    • nso_host is the host name

    • port is the port number of the machine on which Oracle Communications Unified Inventory Management (UIM) is installed

    • ssl_port is the SSL port number of the machine on which UIM is installed

To access the Network Service Orchestration RESTful APIs, in your RESTful API client, choose Basic Authentication and specify the username and password of the machine on which UIM is installed.

Note:

If you use HTTPS-enabled OpenStack Keystone RESTful APIs, add the Certified Authority certificate to the TrustStore that your application server uses. If OpenStack Keystone is configured with self-signed certificate, then add the self-signed certificate to the TrustStore of the application server. See Oracle WebLogic Server documentation for information about configuring TrustStore.

List of Network Service Orchestration Solution RESTful API Resources

Table 7-1 lists the Network Service Orchestration RESTful API resources.

Table 7-1 Network Service Orchestration Solution RESTful API Resources

Task Method Resource Description

Register a Virtual Infrastructure Manager (VIM)

POST

/ocnso/1.1/vim

Registers the IP address, port, username and password of the VIM with the solution.

Discover VIM resources

POST

/ocnso/1.1/vim/vimId/discovery?infoLevel=vim_information

Discovers the resources of the registered VIM into the solution.

Update a VIM

POST

/ocnso/1.1/vim/update/vimId

Updates the IP address, port, username, password, and project name of an existing VIM in the solution.

Instantiate a network service

POST

/ocnso/1.1/ns

Instantiates a network service and its constituent VNFs.

Terminate a network service

DELETE

/ocnso/1.1/ns/networkServiceId

Terminates a network service and the constituent VNFs.

Upgrade VNF software version

PUT

/ocnso/1.1/vnf/vnfId/upgrade

Upgrades the software image version of a VNF.

Heal a VNF

POST

/ocnso/vnf/vnfId/heal?action=reboot

/ocnso/vnf/vnfId/heal?action=replace

Heals a VNF by rebooting or replacing the VM.

Available values for the action parameter are:

  • Replace

  • Reboot

Add VNFs to a network service

POST

/ocnso/1.1/ns/networkServiceId/vnfs

Adds VNFs to a network service.

Scale a VNF

POST

/ocnso/1.1/ns/networkServiceId/scale/vnfId

Scales a VNF in a network service.

Configure VNF service capabilities

POST

/ocnso/1.1/vnf/configure

Configures the capabilities of a VNF service.

Delete a VNF from a network service

DELETE

/ocnso/1.1/ns/networkServiceId/vnfs

Deletes a VNF from a network service.

Get VIM information

GET

/ocnso/1.1/vim/vimId

Returns information about a VIM that is registered with the solution

Get network service information

GET

/ocnso/1.1/nsd/networkServiceId

Returns information about a network service.

Get a list of all network service descriptors that are deployed in the solution

GET

/ocnso/1.1/nsd

Returns a list of all network service descriptors that are deployed in the solution.

Get details about a network service descriptor

GET

/ocnso/1.1/nsd/nsdName

Returns details about a network service descriptor.

Get a list of VNF descriptors in a network service descriptor

GET

/ocnso/1.1/nsd/nsdName/vnfds

Returns a list of VNF descriptors in a network service descriptor.

Get network service descriptor deployment flavors

GET

/ocnso/1.1/nsd/nsdName/flavors

Returns a list of all constituent service flavors that are defined for a network service descriptor.

Get details about a VNF Descriptor

GET

/ocnso/1.1/vnfd/vnfdName

Returns details about a VNF descriptor.

Get a list of VNF descriptors in a network service descriptor

GET

/ocnso/1.1/nsd/nsdName/vnfds

Returns a list of VNF descriptors in a network service descriptor.

Get a list of supported versions for a VNF descriptor

GET

/ocnso/1.1/vnfd/vnfdName/versions

Returns a list of supported versions for a VNF descriptor.

Get VNF descriptor deployment flavors

GET

/ocnso/1.1/vnfd/vnfdName/flavors

Returns a list of deployment flavors that are defined for a VNF descriptor.

Get a list of all active network services that are created based on a specific network service descriptor

GET

/ocnso/1.1/ns/nsdName=nsdName

Returns a list of all active network services that are created based on the given network service descriptor.

Get details about a network service

GET

/ocnso/1.1/ns/networkServiceId

Returns details about a network service.

Get details about VNFs in a network service

GET

/ocnso/1.1/ns/networkServiceId/vnfs

Returns details about VNFs in a network service.

Get details about networks in a network service

GET

/ocnso/1.1/ns/networkServiceId/networks

Returns details about networks in a network service.

Get details about endpoints in a network service

GET

/ocnso/1.1/ns/networkServiceId/endpoints

Returns details about endpoints in a network service.

Get status information of a network service

GET

/ocnso/1.1/ns/networkServiceId/status

Returns status information of a network service.

Get details about a VNF

GET

/ocnso/1.1/ns/vnf/vnfId

Returns details about a VNF.

Get status information of a VNF

GET

/ocnso/1.1/ns/vnfId/status

Returns status information about a VNF.


HTTP Response Status Codes

Table 7-2 describes the HTTP response status codes for the GET, POST, PUT, and DELETE operations of the Network Service Orchestration Solution RESTful APIs.

Table 7-2 HTTP Response Status Codes for the REST APIs

Response Code Description

200 OK

The request is successful.

The information returned in the response is dependent on the method used in the request.

For example:

  • GET. An entity corresponding to the requested resource is sent in the response.

  • POST. An entity describing or containing the result of the action.

202 Accepted

The request has been accepted for processing, but the processing has not completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.

400 Bad Request

The request could not be understood by the server due to incorrect syntax. Do not repeat the request without correcting the syntax.

404 Not Found

The server has not found a matching request or URI.

500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.


Sample Requests and Responses

The following sections provide sample JSON requests and responses for the Network Service Orchestration solution RESTful API resources.

Register a VIM

Registers the following details about the VIM with the Network Service Orchestration solution:

  • IP address

  • Port

  • Username

  • Password

Method

POST

URL

http://nso_host:port/ocnso/1.1/vim

Sample JSON Request

{
"id":"vim       Id",
"name":"vimName",
"host":"11.111.111.1",
"port":"12345",
"userName":"nso",
"pswd":"***",
"projectName":"test",
"domainName":"default",
"vimType":"default",
"version":"3",
"sslEnabled":"false",
"cpuOvercommitRatio":"15",
"memoryOvercommitRatio":"1.5",
"diskOvercommitRatio":"1.0"
}

Table 7-3 describes the parameters in the request.

Table 7-3 Request Parameters

Parameter Value Required Description

name

String

No

Name for the VIM.

id

String

Yes

Unique ID for the VIM in NSO.

host

String

Yes

IP address or host name of the VIM.

port

String

Yes

Port number of the VIM.

userName

String

Yes

Username of the VIM.

pswd

String

Yes

Password of the VIM.

projectName

String

Yes

Name of the project.

domainName

String

No

Name of the domain.

version

String

No

Version number of the VIM that you use.

If you use OpenStack Kilo:

  • For OpenStack Keystone version 2, specify 2.

  • For OpenStack Keystone version 3, specify 3. This is the default.

sslEnabled

String

No

Specify whether you have SSL enabled for the VIM.

Values are:

  • true. Indicates that you have SSL enabled for the VIM.

  • false. Indicates that you do not have SSL enabled for the VIM. This is the default.

vimType

String

Yes

Type of the VIM. The default is OpenStack.

cpuOvercommitRatio

Double

No

Ratio of over-committed virtual CPUs on the VIM

memoryOvercommitRatio

Double

No

Ratio of over-committed memory on the VIM

diskOvercommitRatio

Double

No

Ratio of over-committed disk on the VIM


Sample JSON Response

vimDataCenter is successfully registered with NSO.

Discover VIM Resources

Discovers the resources that are available on the VIM. In UIM, creates the following resources as custom objects:

  • Availability zones

  • Flavors

  • Hosts

  • Virtual Data Center (VDC)

Method

POST

URL

http://nso_host:port/ocnso/1.1/vim/vimId/discovery?infoLevel=vim_information

where:

  • vimId is the Id of the VIM whose resources you want to discover

  • vim_information is the level of information about the VIM that you want to retrieve and view in the response. The values are:

    • summary. Retrieves and displays a summary of the VIM resources.

    • details. Retrieves and displays complete details about all the VIM resources.

Sample Request

This API does not require any request parameters.

Sample Response

This API returns the following response if you set the infoLevel parameter in the URL to summary:

{
   "data": {
     "summary": {
       "Number of Subnets": 0,
       "Number of Flavors": 7,
       "Number of Hosts": 0,
       "Number of Networks": 4,
       "Number of Zones": 3
     }
   }
}

The API returns the following response if you set the infoLevel parameter in the URL to details:

{
   "data": {
     "availabilityZones": [
       {
         "zone": "CustomerTermination",
         "hosts": [
           "compute2"
         ]
       },
       {
         "zone": "nova",
         "hosts": [
           "compute4"
         ]
       },
       {
         "zone": "InternetTermination",
         "hosts": [
           "compute3"
         ]
       }
     ],
     "networks": [
       {
         "network": "ext-net",
         "subnets": [
           "ext-subnet"
         ]
       },
       {
         "network": "825158_ManagementNetwork",
         "subnets": [
           "825158_ManagementNetwork"
         ]
       },
       {
         "network": "975005_Data_IN",
         "subnets": [
           "975005_Data_IN"
         ]
       },
       {
         "network": "825158_Data_OUT",
         "subnets": [
           "825158_Data_OUT"
         ]
       },
     ],
     "flavors": [
       "m1.small",
       "m1.large",
       "csr_flavor",
       "m1.medium",
       "vsrx.medium",
       "checkpoint",
       "Gold"
     ]
   }
 }

Update a VIM

Updates the following details about an existing VIM in the solution:

  • IP address

  • Port

  • Username

  • Password

  • Project Name

Method

PUT

URL

http://nso_host:port/ocnso/1.1/vim/vimId

where vimId is the Id of the VIM that you want to update

Sample Request

{
        "host":"11.111.1.11",
"port":"12345",
"userName":"admin",
"pswd":"****",
"projectName":"test",
"domainName":"default",
"version":"3",
"sslEnabled":"false",
"cpuOvercommitRatio":"15",
"memoryOvercommitRatio":"1.5",
"diskOvercommitRatio":"1.0"
}

Sample Response

VIM is updated successfully.

Instantiate a Network Service

Creates networks and the constituent resources and starts the VNFs in the network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns

Sample Request

 {
    "nsName":"NPaaS1",
    "nsDescriptorName":"NPaaS_NSD",
    "serviceDeploymentFlavorName":"Checkpoint",
    "vnfs":[
        {
            "vnfName":"Vnf1",
            "deploymentFlavorName":"checkpoint",
            "vnfDescriptorName":"Checkpoint_NG_FW_VNFD",
            "version":"1.0"
        }
    ],
    "endPoints": [
        {
            "name":"Test110301",
            "forwardingGraphDescriptorName":"Data",
            "parameters":
            [
                {
                    "name": "ipAddress",
                    "value": "207.123.34.2"
                },
                {
                    "name": "vlanId",
                    "value": "101"
                },
                {
                    "name": "serviceLocation",
                    "value": "city03"
                }
            ]
        }
    ]
}

Table 7-4 describes the parameters in the request.

Table 7-4 Request Parameters

Parameter Name Value Required Description

nsName

String

Yes

Name of the network service that you want to instantiate.

nsDescriptorName

String

Yes

Name of the network service descriptor.

serviceDeploymentFlavorName

String

Yes

Name of the Network Service deployment flavor.

vnfs:[ vnfName

String

Yes

Name of the VNF in the network service that you want to instantiate.

vnfs:[ deploymentFlavorName

String

Yes

Name of the deployment flavor of the VNF service.

vnfs:[ vnfDescriptorName

String

Yes

Name of the VNF descriptor that contains the descriptor of the VNF.

vnf:[ version

String

Yes

Version number of the VNF image.

endPoints:[ name

String

Yes

Name of the endpoint.

endPoints:[ forwardingGraphDescriptorName

String

Yes

Name identifier that is defined in the Network Service metadata descriptor for which a sequence of VNFDs is defined for flow.

endPoints:[ parameters:[ name

String

Yes

Dynamic parameter that can be sent from the request to implement custom logic by using the extensions in the solution.

endPoints:[ parameters:[ value

String

Yes

Value of the customer-side end point termination points.


Sample Response

{
"networkServiceName": "NSO_NPassService_1",
"networkServiceId": "2475008",
"networkServiceStatus": "PENDING",
"businessInteractionId": "2475017",
"message": "[INV-992902] Network Service instantiation is in progress.",
"status": 202,
"vnfs": [
 {
      "vnfId": "2250005",
      "vnfName": "NSO_CheckPointVNF_1",
      "vnfStatus": "PENDING_ASSIGN",
      "vnfDescriptor": "Checkpoint_NG_FW_VNFD",
      "vnfServiceId": "2475009",
      "businessInteractionId": "2475018"
  }
 ]
}

Terminate a Network Service

Terminates a network service. Undeploys the constituent VNFs in the network service and releases all the resources that were allocated to the service.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId

Sample Request

This API does not require parameters. Specify the network service ID in the URL.

Sample Response

{
"networkServiceName": "NSO_NPassService_1",
"networkServiceId": "2475008",
"networkServiceStatus": "PENDING_DISCONNECT",
"businessInteractionId": "2475025",
"message": "[INV-992907] Network Service termination is in progress.",
"status": 202,
"vnfs": [
  {
    "vnfId": "2250005",
    "vnfName": "VNF1",
    "vnfStatus": "PENDING_UNASSIGN",
    "vnfDescriptor": "Juniper_vSRX_VNFD",
    "vnfServiceId": "2475009",
    "businessInteractionId": "2475026"
  }
 ]
}

Upgrade the Software Version of a VNF

Upgrades the software version of a VNF image in a network service.

Method

PUT

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId/upgrade/vnf_version

Sample Request

This API does not require parameters. Specify the VNF ID and the VNF version number you want to upgrade to in the URL.

Table 7-5 describes the parameters in the request.

Table 7-5 Request Parameters

Parameter Name Value Required Description

vnfId

String

Yes

Id of the VNF whose image you want to upgrade.

vnf_Version

String

Yes

Version number of the VNF image that you want to upgrade to. This version number should already be defined in the VNF descriptor file.


Sample Response

{
  "vnfId": "975022",
  "interactionId": "975028",
  "message": "Network Service upgrade is under process.",
  "status": 202
}

Heal a VNF

Heals a VNF by either rebooting or replacing a VNF in the VIM.

Method

POST

URL

http://nso_host:port/ocnso/1.1/vnf/vnf_Id/heal?action=action

where:

  • vnf_Id is the VNF ID

  • action is the action that you want to perform on the VNF. Specify any one of the following values:

    • reboot. Reboots the VNF.

    • replace. Replaces the VNF.

Sample Request

Request parameters are not required for this API.

Sample Response

reboot

VNF has been rebooted successfully.

replace

VNF has been replaced successfully. The new VM Id is 84068628-9d4b-415c-9d63-181cadc9b20d.

Add VNFs to a Network Service

Adds VNFs to an existing network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

Sample Request

[
    {
         "vnfName":"VNF1",
         "deploymentFlavorName":"checkpoint",
         "vnfDescriptorName":"Checkpoint_NG_FW_VNFD",
         "version":"1.0"
    },
    {
         "vnfName":"VNF2",
         "deploymentFlavorName":"checkpoint",
         "vnfDescriptorName":"Checkpoint_NG_FW_VNFD",
         "version":"1.0"
    }
]

Table 7-6 describes the parameters in the request.

Table 7-6 Request Parameters

Parameter Name Value Required Description

vnfName

String

Yes

Name of the VNF that you want to add.

deploymentFlavorName

String

Yes

Name of the VNF deployment flavor.

vnfDescriptorName

String

Yes

Name of the VNF descriptor.

version

String

Yes

Version number of the VNF image.


Sample Response

{
"networkServiceName": "NSO_NPassService_1",
"networkServiceId": "2475008",
"businessInteractionId": "2475021",
"message": "[INV-992903] Adding VNF to Network Service is in progress.",
"status": 202,
"vnfs": [
  {
    "vnfId": "2250007",
    "vnfName": "VNF1",
    "vnfStatus": "PENDING_ASSIGN",
    "vnfDescriptor": "Checkpoint_NG_FW_VNFD",
    "vnfServiceId": "2475011",
    "businessInteractionId": "2475022"
  },
  {
   "vnfId": "2250008",
   "vnfName": "VNF2",
   "vnfStatus": "PENDING_ASSIGN",
   "vnfDescriptor": "Checkpoint_NG_FW_VNFD",
   "vnfServiceId": "2475012",
   "businessInteractionId": "2475023"
  }
 ]
}

Scale a VNF

Scales a VNF in a network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/scale/vnfId

Sample Request

Request parameters are not required

Sample Response

{
"networkServiceName": "NSO_NPassService_1",
"networkServiceId": "2475008",
"businessInteractionId": "2475019",
"message": "[INV-992913] VNF Scaling is in progress.",
"status": 202,
"vnfs": [
  {
    "vnfId": "2250006",
    "vnfName": "Juniper_vSRX_VNFD_1460550991411",
    "vnfStatus": "PENDING_ASSIGN",
    "vnfDescriptor": "Juniper_vSRX_VNFD",
    "vnfServiceId": "2475010",
    "businessInteractionId": "2475020"
  }
 ]
}

Delete a VNF from a Network Service

Deletes a VNF from an existing network service and undeploys it in the VIM.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

Sample Request

[
                {
                        "vnfId":"11"
                }
]

where vnfId is the Id of the VNF in UIM. The VNF is represented as a logical device in UIM.

Sample Response

{
"networkServiceName": "NSO_NPassService_1",
"networkServiceId": "2475008",
"businessInteractionId": "2475023",
"message": "[INV-992904] Deleting VNF from Network Service is in progress.",
"status": 202,
"vnfs": [
  {
    "vnfId": "11",
    "vnfName": "VNF1",
    "vnfStatus": "PENDING_UNASSIGN",
    "vnfDescriptor": "Juniper_vSRX_VNFD",
    "vnfServiceId": "2475011",
    "businessInteractionId": "2475024"
  }
 ]
}

Configure VNF Service Capabilities

Configures the capabilities of a VNF in a network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/vnf/configure

Sample Request

 {
    "vnfId" : "vnfID",
    "capabilities" :
    [
        {
            "name" : "WebFilter",
            "parameters" :
            [
                {
                    "name" : "Id",
                    "value" : "WebFilter-vnfID"
                },
                {
                    "name" : "Action",
                    "value" : "Create"
                }
            ],
            "configuration" :
            {
                "items" : [
                    {
                        "name" : "WebFilterRuleset",
                        "parameters" : [
                            {
                                "name" : "Id",
                                "value" : "WebFilter_RulesetvnfID"
                            },
                            {
                                "name" : "Action",
                                "value" : "Add"
                            }
                        ],
                        "items" : [
                            {
                                "name" : "WebFilterRule",
                                "parameters" : [
                                    {
                                        "name" : "Id",
                                        "value" : "WebFilter_Rule_UniqueNumber"
                                    },
                                    {
                                        "name" : "Action",
                                        "value" : "Add"
                                    },
                                    {
                                        "name" : "BlockURL",
                                        "value" : "www.example.com"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Sample Response

{
     
    "status": 202,
    "message": "VNF Configuration is in progress.",
    "vnfId": "12345",
    "vnfName": "VNF1",
    "vnfStatus" : "ASSIGNED",
    "vnfDescriptor":"Juniper_VSRX_VNFD",
    "vnfServiceName":"vSRX123",
    "vnfServiceStatus":"ASSIGNED",
    "vnfServiceDescriptor":"Juniper_vSRX_ServiceDescriptor"
}

Get VIM Details

Retrieves the details of a VIM that is registered with the solution.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vim/vimId

where vimId is the ID of the VIM

Sample Response

{
  "id": "VIMCloudTest",
  "name": "VIMCloudTest",
  "host": "10.133.0.31",
  "port": "35357",
  "userName": "admin",
  "pswd": "****",
  "projectName": "admin",
  "domainName": "default",
  "vimType": "OpenStack",
  "version": "3",
  "sslEnabled": true,
  "cpuOvercommitRatio": "15",
  "memoryOvercommitRatio": "1.5",
  "diskOvercommitRatio": "1.0"
}

Get List of Network Services

Retrieves the list of active network services that are defined in a network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns?nsdName=nsdName

where nsdName is the name of the network service descriptor file

Sample Response

[
 {
    "nsID": "17",
    "nsdName": "NPaaS_NSD",
    "nsName": "NSO_QA_NPaaS_mgf_1_Service",
    "status": "IN_SERVICE"
  },
  {
    "nsID": "23",
    "nsdName": "NPaaS_NSD",
    "nsName": "NSO_QA_NPaaS_mgf_3_Service",
    "status": "IN_SERVICE"
  }
]

Get Network Service Details

Retrieves the details of a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId

where networkServiceId is the network service ID

Sample Response

{
  "nsID": "75191",
  "nsdName": "NPaaS_NSD",
  "nsName": "NPassService_Juniper55_Service",
  "status": "IN_SERVICE",
  "vimId": "VIMCloudTest",
  "biID": "75407",
  "networks": [
    {
      "networkName": "75191_Data_OUT",
      "status": "REFERENCED"
    },
    {
      "networkName": "75191_Data_IN",
      "status": "REFERENCED"
    },
    {
      "networkName": "nfvo-poc3-mgmt",
      "status": "REFERENCED"
    }
  ],
  "vnfs": [
    {
      "vnfId": "75127",
      "vnfName": "JuniperVNF55-1",
      "status": "ASSIGNED",
      "vnfDescriptor": "Juniper_vSRX_VNFD",
      "vnfServiceId": "75192",
      "vmId": "d63486ed-e025-41bf-8259-7294fb043ff5",
      "biID": "75408"
    }
  ],
  "endPoints": [
    {
      "name": "EndPoint55",
      "status": "REFERENCED"
    }
  ]
}

Get Status Information of a Network Service

Retrieves the status information about a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/status

where networkServiceId is the ID of the network service

Sample Response

{
  "nsID": "375005",
  "nsdName": "NPaaS_NSD",
  "nsName": "29_1.3_ns_Service",
  "status": "IN_SERVICE"
}

Get List of Network Service Descriptors

Retrieves a list of network service descriptors.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd

Sample Response

{
 "NPaaS_NSD",
  "CustomerName_NPaaS_NSD"
}

Get Information about a Network Service Descriptor

Retrieves details about a specified network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName

where nsdName is the name of the network service descriptor

Sample Response

{
    "referencedVnfds": [
        "Checkpoint_NG_FW_VNFD",
        "Juniper_vSRX_VNFD"
    ],
    "serviceDeploymentFlavors": [
        {
            "name": "Checkpoint",
            "constituentVNFDs": [
                {
                    "vnfd": {
                        "name": "Checkpoint_NG_FW_VNFD",
                        "vNetworkInterfaces": 0
                    },
                    "assuranceParameters": [
                        {
                            "name": "Low CPU Utilization",
                            "id": "cpu_util",
                            "condition": "eq",
                            "value": "0.0",
                            "action": "heal"
                        },
                        {
                            "name": "High CPU Utilization",
                            "id": "cpu_util",
                            "condition": "gt",
                            "value": "80.0",
                            "action": "scale"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Juniper",
            "constituentVNFDs": [
                {
                    "vnfd": {
                        "name": "Juniper_vSRX_VNFD",
                        "vNetworkInterfaces": 0
                    },
                    "assuranceParameters": [
                        {
                            "name": "Low CPU Utilization",
                            "id": "cpu_util",
                            "condition": "eq",
                            "value": "0.0",
                            "action": "heal"
                        },
                        {
                            "name": "High CPU Utilization",
                            "id": "cpu_util",
                            "condition": "gt",
                            "value": "40.0",
                            "action": "scale"
                        }
                    ]
                }
            ]
        }
    ]
}

Get VNF Descriptors

Retrieves a list of VNF descriptors that a network service descriptor references.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName/vnfds

where nsdName is the name of the network service descriptor

Sample Response

[
 "Juniper_vSRX_VNFD",
  "Checkpoint_NG_FW_VNFD"
]

Get Flavors of a Network Service Descriptor

Retrieves a list of deployment flavors for a specified network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName/flavors

where nsdName is the name of the network service descriptor

Sample Response

[
    {
        "name": "Checkpoint",
        "constituentVNFDs": [
            {
                "vnfd": {
                    "name": "Checkpoint_NG_FW_VNFD",
                    "vNetworkInterfaces": 0
                },
                "assuranceParameters": [
                    {
                        "name": "Low CPU Utilization",
                        "id": "cpu_util",
                        "condition": "eq",
                        "value": "0.0",
                        "action": "heal"
                    },
                    {
                        "name": "High CPU Utilization",
                        "id": "cpu_util",
                        "condition": "gt",
                        "value": "80.0",
                        "action": "scale"
                    }
                ]
            }
        ]
    },
    {
        "name": "Juniper",
        "constituentVNFDs": [
            {
                "vnfd": {
                    "name": "Juniper_vSRX_VNFD",
                    "vNetworkInterfaces": 0
                },
                "assuranceParameters": [
                    {
                        "name": "Low CPU Utilization",
                        "id": "cpu_util",
                        "condition": "eq",
                        "value": "0.0",
                        "action": "heal"
                    },
                    {
                        "name": "High CPU Utilization",
                        "id": "cpu_util",
                        "condition": "gt",
                        "value": "40.0",
                        "action": "scale"
                    }
                ]
            }
        ]
    }
]

Get Information about a VNF Descriptor

Retrieves details about a specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName

where vnfdName is the name of the VNF descriptor

Sample Response

{
    "deploymentFlavors": [
        {
            "name": "vsrx.small",
            "vcpus": 2,
            "memory": 2,
            "disk": 20
        },
        {
            "name": "vsrx.medium",
            "vcpus": 2,
            "memory": 4,
            "disk": 20
        },
        {
            "name": "m1.medium",
            "vcpus": 2,
            "memory": 4,
            "disk": 40
        }
    ],
    "connectionPoints": [
        {
            "name": "CP01",
            "isExternal": false,
            "order": -1
        },
        {
            "name": "CP02",
            "isExternal": false,
            "order": -1
        },
        {
            "name": "CP03",
            "isExternal": false,
            "order": -1
        }
    ],
    "versions": [
        {
            "number": "1.0",
            "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
            "imageUserName": "",
            "imagePasswd": ""
        },
        {
            "number": "1.1",
            "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
            "imageUserName": "",
            "imagePasswd": ""
        }
    ]
}

Get Versions of a VNF Descriptor

Retrieves details about the versions of a specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName/versions

where vnfdName is the name of the VNF descriptor

Sample Response

{
    "number": "1.0",
    "imageName": "npaas-srx-poc3-nso",
    "imageUserName": "",
    "imagePasswd": ""
  },
  {
    "number": "1.1",
    "imageName": "npaas-srx-poc3-nso2",
    "imageUserName": "",
    "imagePasswd": ""
  },
  {
    "number": "1.3",
    "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
    "imageUserName": "",
    "imagePasswd": ""
  },
  {
    "number": "1.4",
    "imageName": "vsrx-npaas-v0.4",
    "imageUserName": "",
    "imagePasswd": ""
  }

Get Flavors of a VNF Descriptor

Retrieves the list of flavors of a specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName/flavors

where vnfdName is the name of the VNF descriptor

Sample Response

 {
    "vcpus": 2,
    "memory": 4,
    "disk": 20,
    "name": "vsrx.medium"
  },
  {
    "vcpus": 2,
    "memory": 4,
    "disk": 40,
    "name": "m1.medium"
  }

Get Details about VNFs in a Network Service

Retrieves the details about the VNFs in a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

where networkServiceId is the ID of the network service

Sample Response

{
  "nsID": "375005",
  "nsdName": "NPaaS_NSD",
  "nsName": "29_1.3_AMns_Service",
  "vnfs": [
    {
      "vnfId": "300003",
      "vnfName": "VNF1",
      "vnfStatus": "INSTALLED",
      "vnfDescriptor": "Juniper_vSRX_VNFD",
      "vnfServiceId": "375006",
      "vnfServiceName": "VNF_Juniper_vSRX_VNFD_Service",
      "vnfServiceStatus": "IN_SERVICE",
      "vnfServiceDescriptor": "Juniper_vSRX_ServiceDescriptor",
      "vnfVersion": "1.0",
      "vmId": "3479b080-6341-425c-b242-ecd14b1dcef8",
      "biID": "375006",
      "status" : "ASSIGNED"
      "deploymentFlavorInfo": {
        "name": "m1.medium",
        "vcpus": 2,
        "memory": "4 MB",
        "disk": "40 GB"
      },
      "connectionPoints": [
        {
          "id": "300003-1",
          "name": "CP01",
          "ipAddress": {
            "address": "192.0.2.132",
            "network": "nfvo-pkt-in-v2",
            "externalID": "8f2468de-c4b1-4656-b23f-ccd5c26b9d83"
          }
        },
        {
          "id": "300003-2",
          "name": "CP02",
          "ipAddress": {
            "address": "192.0.2.120",
            "network": "nfvo-pkt-out-v2",
            "externalID": "8ab6b415-b04a-458c-97bc-d4ef2eb550c3"
          }
        },
        {
          "id": "300003-3",
          "name": "CP03",
          "ipAddress": {
            "address": "192.0.2.8",
            "network": "nfvo-mgmt",
            "externalID": "9e32e48a-439c-4292-a308-9eafa0beeb78"
          }
        }
      ]
    }
  ]
}

Get Details about Networks in a Network Service

Retrieves the details about the networks in a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/networks

where networkServiceId is the ID of the network service

Sample Response

{
  "nsID": "375005",
  "nsdName": "NPaaS_NSD",
  "nsName": "ns_Service",
  "networks": [
    {
      "networkName": "nfvo-mgmt",
      "networkID": "nfvo-mgmt",
      "externalID": "109ae4cf-3cea-4729-a24f-957c4ed6d3c6",
      "status" : "REFERENCED" ,
      "subnets": [
        {
          "startIP": "192.0.2.0",
          "prefix": "24",
          "externalID": "fb791563-7c8b-454c-a1eb-87399e6837dc"
        }
      ]
    },
    {
      "networkName": "nfvo-pkt-in-v2",
      "networkID": "nfvo-pkt-in-v2",
      "externalID": "2277b6e2-eb2d-4cc2-b80c-6d6c38f35ab0",
      "status" : "REFERENCED" ,
      "subnets": [
        {
          "startIP": "192.0.2.128",
          "prefix": "25",
          "externalID": "d47bf43a-57bd-4b17-b559-505a426d7359"
        }
      ]
    },
    {
      "networkName": "nfvo-pkt-out-v2",
      "networkID": "nfvo-pkt-out-v2",
      "externalID": "3b45febc-4531-4751-ac55-9e43bd53897a",
      "status" : "REFERENCED" ,
      "subnets": [
        {
          "startIP": "192.0.2.0",
          "prefix": "25",
          "externalID": "c04bb488-73cc-4e93-bcab-156030a63a0c"
        }
      ]
    }
  ]
}

Get Details about Endpoints in a Network Service

Retrieves the details about the endpoints in a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/endpoints

where networkServiceId is the ID of the network service

Sample Response

{
    "nsID": "75133",
    "nsdName": "NPaaS_NSD",
    "nsName": "NPaaS_Service",
    "biID": "75360",
    "endPoints": [
        {
            "name": "cnsmr_endpoint",
            "ipAddress": "207.123.34.2",
            "status": "PENDING_UNREFERENCE"
        }
    ]
}

Get Details about a VNF

Retrieves the details about a VNF.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId

where vnfId is the ID of the VNF

Sample Response

{
  "vnfId": "300003",
  "vnfName": "VNF1",
  "vnfStatus": "INSTALLED",
  "vnfDescriptor": "Juniper_vSRX_VNFD",
  "vnfServiceId": "375006",
  "vnfServiceName": "vnf_Juniper_vSRX_VNFD_Service",
  "vnfServiceStatus": "IN_SERVICE",
  "vnfServiceDescriptor": "Juniper_vSRX_ServiceDescriptor",
  "biID": "375006",
  "deploymentFlavorInfo": {
    "name": "m1.medium",
    "vcpus": 2,
    "memory": "4 MB",
    "disk": "40 GB"
  },
  "connectionPoints": [
    {
      "id": "300003-1",
      "name": "CP01",
      "ipAddress": {
        "address": "192.0.2.132",
        "network": "nfvo-pkt-in-v2",
        "externalID": "8f2468de-c4b1-4656-b23f-ccd5c26b9d83"
      }
    },
    {
      "id": "300003-2",
      "name": "CP02",
      "ipAddress": {
        "address": "192.0.2.120",
        "network": "nfvo-pkt-out-v2",
        "externalID": "8ab6b415-b04a-458c-97bc-d4ef2eb550c3"
      }
    },
    {
      "id": "300003-3",
      "name": "CP03",
      "ipAddress": {
        "address": "192.0.2.8",
        "network": "nfvo-mgmt",
        "externalID": "9e32e48a-439c-4292-a308-9eafa0beeb78"
      }
    }
  ]
}

Get Status Information of a VNF

Retrieves the status information of a VNF.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId/status

where vnfId is the ID of the VNF

Sample Response

{
    "vnfId": "75085",
    "vnfName": "ChkptVNF_CP_B253_BALU_Scale",
    "status": "ASSIGNED",
    "vnfDescriptor": "Checkpoint_NG_FW_VNFD",
    "vnfServiceId": "75134",
    "vnfServiceStatus": "IN_SERVICE",
    "vmStatus": "ACTIVE",
    "vmId": "80cbd3bf-5bc2-45b1-9cc4-b4bbc9e120c2",
    "biID": "75273"
}