NFV Orchestration API v1.0

NFV Orchestration API v1.0

API versions

Lists information of NFV Orchestration API versions.

GET
/

List versions

Lists NFV Orchestration API versions.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
versions body array A list of version objects.
status body string Status of the API, which can be CURRENT, STABLE or DEPRECATED.
id body string Version of the API.
links body array List of version links. Each link contains href and rel.
href body string Link to the API.
rel body string Relationship of link with the version.

Response Example

{
    "versions": [
        {
            "status": "CURRENT",
            "id": "v1.0",
            "links": [
                {
                    "href": "http://192.168.1.1:9890/v1.0",
                    "rel": "self"
                }
            ]
        }
    ]
}

Extensions

Lists extensions and shows information of a given extension.

Extensions introduce features to the API.

GET
/v1.0/extensions

List extensions

Lists available extensions.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
extensions body array A list of extension objects.
updated body string The date and time when the resource was updated. The format is ISO 8601: YYYY-MM-DDThh:mm:ss±hh:mm. For example, 2016-09-23 09:59:27-05:00. The ±hh:mm value, if included, is the time zone as an offset from UTC.
name body string Human-readable name for the resource.
links body array A list of links related to the extension.
alias body string The alias for the extension. For example, “Commonservices”, “NFVO” or “VNFM”.
description body string Human-readable description for the resource.

Response Example

{
    "extensions": [
        {
            "updated": "2013-11-19T10:00:00-00:00",
            "name": "VNF Manager",
            "links": [],
            "namespace": "http://wiki.openstack.org/Tacker",
            "alias": "VNFM",
            "description": "Extension for VNF Manager"
        },
        {
            "updated": "2016-06-06T13:00:00-00:00",
            "name": "COMMONSERVICES",
            "links": [],
            "namespace": "http://wiki.openstack.org/Tacker",
            "alias": "Commonservices",
            "description": "Extension for CommonServices"
        },
        {
            "updated": "2015-12-21T10:00:00-00:00",
            "name": "NFV Orchestrator",
            "links": [],
            "namespace": "http://wiki.openstack.org/Tacker",
            "alias": "NFVO",
            "description": "Extension for NFV Orchestrator"
        }
    ]
}
GET
/v1.0/extensions/{alias}

Show extension

Shows information of a given extension.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
alias path string The alias of the extension.

Response Parameters

Name In Type Description
extension body array A list of extension objects.
updated body string The date and time when the resource was updated. The format is ISO 8601: YYYY-MM-DDThh:mm:ss±hh:mm. For example, 2016-09-23 09:59:27-05:00. The ±hh:mm value, if included, is the time zone as an offset from UTC.
name body string Human-readable name for the resource.
links body array A list of links related to the extension.
alias body string The alias for the extension. For example, “Commonservices”, “NFVO” or “VNFM”.
description body string Human-readable description for the resource.

Response Example

{
    "extension": {
        "updated": "2013-11-19T10:00:00-00:00",
        "name": "VNF Manager",
        "links": [],
        "namespace": "http://wiki.openstack.org/Tacker",
        "alias": "VNFM",
        "description": "Extension for VNF Manager"
    }
}

Virtualized Network Function Descriptors (VNFDs)

Manages Virtualized Network Function Descriptors (VNFDs).

The VNFD is a template which describes information about deployment and behavior of Virtualized Network Functions (VNFs). For more information, see VNF Descriptor Template Guide.

POST
/v1.0/vnfds

Create VNFD

Creates a VNFD.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
name body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
service_types body array A list of service type.
attributes body object Attributes necessary for spinning up VNF.

Request Example

{
  "vnfd": {
    "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
    "name": "vnfd-sample",
    "description": "Sample",
    "service_types": [
      {
        "service_type": "vnfd"
      }
    ],
    "attributes": {
      "vnfd": {
        "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
        "description": "Demo example",
        "metadata": {
          "template_name": "sample-tosca-vnfd"
        },
        "topology_template": {
          "node_templates": {
            "VDU1": {
              "type": "tosca.nodes.nfv.VDU.Tacker",
              "capabilities": {
                "nfv_compute": {
                  "properties": {
                    "num_cpus": 1,
                    "mem_size": "512 MB",
                    "disk_size": "1 GB"
                  }
                }
              },
              "properties": {
                "image": "cirros-0.3.5-x86_64-disk"
              }
            },
            "CP1": {
              "type": "tosca.nodes.nfv.CP.Tacker",
              "properties": {
                "order": 0,
                "management": true,
                "anti_spoofing_protection": false
              },
              "requirements": [
                {
                  "virtualLink": {
                    "node": "VL1"
                  }
                },
                {
                  "virtualBinding": {
                    "node": "VDU1"
                  }
                }
              ]
            },
            "VL1": {
              "type": "tosca.nodes.nfv.VL",
              "properties": {
                "vendor": "Tacker",
                "network_name": "net_mgmt"
              }
            }
          }
        }
      }
    }
  }
}

Response Parameters

Name In Type Description
vnfd body object A vnfd object.
service_types body array A list of service type.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up VNF.
id (Optional) body string The UUID of the VNFD.
name body string Human-readable name for the resource.

Response Example

{
    "vnfd": {
        "service_types": [
            {
                "service_type": "vnfd",
                "id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
            }
        ],
        "description": "Sample",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-10-20 07:38:54.600003",
        "updated_at": null,
        "attributes": {
            "vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n  node_templates:\n    CP1:\n      properties: {anti_spoofing_protection: false, management: true, order: 0}\n      requirements:\n      - virtualLink: {node: VL1}\n      - virtualBinding: {node: VDU1}\n      type: tosca.nodes.nfv.CP.Tacker\n    VDU1:\n      capabilities:\n        nfv_compute:\n          properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n      properties: {image: cirros-0.3.5-x86_64-disk}\n      type: tosca.nodes.nfv.VDU.Tacker\n    VL1:\n      properties: {network_name: net_mgmt, vendor: Tacker}\n      type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
        },
        "id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
        "name": "vnfd-sample"
    }
}
GET
/v1.0/vnfds

List VNFDs

Lists VNFDs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
vnfds body array A list of vnfd objects.
service_types body array A list of service type.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up VNF.
id (Optional) body string The UUID of the VNFD.
name body string Human-readable name for the resource.
template_source (Optional) body string Source of VNFD.

Response Example

{
    "vnfds": [
        {
            "service_types": [
                {
                    "service_type": "vnfd",
                    "id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
                }
            ],
            "description": "Sample",
            "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
            "created_at": "2016-10-20 07:38:54",
            "updated_at": null,
            "attributes": {
                "vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n  node_templates:\n    CP1:\n      properties: {anti_spoofing_protection: false, management: true, order: 0}\n      requirements:\n      - virtualLink: {node: VL1}\n      - virtualBinding: {node: VDU1}\n      type: tosca.nodes.nfv.CP.Tacker\n    VDU1:\n      capabilities:\n        nfv_compute:\n          properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n      properties: {image: cirros-0.3.5-x86_64-disk}\n      type: tosca.nodes.nfv.VDU.Tacker\n    VL1:\n      properties: {network_name: net_mgmt, vendor: Tacker}\n      type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
            },
            "id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
            "name": "vnfd-sample",
            "template_source": "onboarded or inline"
        }
    ]
}
GET
/v1.0/vnfds/{vnfd_id}

Show VNFD

Shows information of a given VNFD.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnfd_id path string The UUID of the VNFD.

Response Parameters

Name In Type Description
vnfd body object A vnfd object.
service_types body array A list of service type.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up VNF.
id (Optional) body string The UUID of the VNFD.
name body string Human-readable name for the resource.
template_source (Optional) body string Source of VNFD.

Response Example

{
    "vnfd": {
        "service_types": [
            {
                "service_type": "vnfd",
                "id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
            }
        ],
        "description": "Sample",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-10-20 07:38:54",
        "updated_at": null,
        "attributes": {
            "vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n  node_templates:\n    CP1:\n      properties: {anti_spoofing_protection: false, management: true, order: 0}\n      requirements:\n      - virtualLink: {node: VL1}\n      - virtualBinding: {node: VDU1}\n      type: tosca.nodes.nfv.CP.Tacker\n    VDU1:\n      capabilities:\n        nfv_compute:\n          properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n      properties: {image: cirros-0.3.5-x86_64-disk}\n      type: tosca.nodes.nfv.VDU.Tacker\n    VL1:\n      properties: {network_name: net_mgmt, vendor: Tacker}\n      type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
        },
        "id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
        "name": "vnfd-sample",
        "template_source": "onboarded or inline"
    }
}
PUT
/v1.0/vnfds/{vnfd_id}

Update VNFD

Updates a given VNFD.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnfd_id path string The UUID of the VNFD.
name (Optional) body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.

Request Example

{
  "vnfd": {
    "name": "vnfd-sample-updated",
    "description": "Updated sample"
  }
}

Response Parameters

Name In Type Description
vnfd body object A vnfd object.
service_types body array A list of service type.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up VNF.
id (Optional) body string The UUID of the VNFD.
name body string Human-readable name for the resource.

Response Example

{
    "vnfd": {
        "service_types": [
            {
                "service_type": "vnfd",
                "id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
            }
        ],
        "description": "Updated sample",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-10-20 07:38:54",
        "updated_at": "2016-10-20 07:41:27.392759",
        "attributes": {
            "vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n  node_templates:\n    CP1:\n      properties: {anti_spoofing_protection: false, management: true, order: 0}\n      requirements:\n      - virtualLink: {node: VL1}\n      - virtualBinding: {node: VDU1}\n      type: tosca.nodes.nfv.CP.Tacker\n    VDU1:\n      capabilities:\n        nfv_compute:\n          properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n      properties: {image: cirros-0.3.5-x86_64-disk}\n      type: tosca.nodes.nfv.VDU.Tacker\n    VL1:\n      properties: {network_name: net_mgmt, vendor: Tacker}\n      type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
        },
        "id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
        "name": "vnfd-sample-updated"
    }
}
DELETE
/v1.0/vnfds/{vnfd_id}

Delete VNFD

Deletes a given VNFD. Only a VNFD without any associated VNFs can be deleted.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnfd_id path string The UUID of the VNFD.

Virtualized Network Functions (VNFs)

Manages Virtualized Network Functions (VNFs) and their resources.

The VNF takes on the responsibility for handling specific network functions.

POST
/v1.0/vnfs

Create VNF

Creates a VNF.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf body object A vnf object.
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
vnfd_id (Optional) body string The UUID of the VNFD.
vim_id (Optional) body string The UUID of the VIM.
name body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
attributes (Optional) body object VNF attributes object. This object can contain config and param_values.
config (Optional) body object VNF configuration object.
param_values (Optional) body object VNF parameter object. These parameters will be substituted for VNF if the VNFD template is appropriately parameterized. See VNFD Template Parameterization for more information.
placement_attr (Optional) body object VNF placement information object. This object includes region_name.
vnfd_template (Optional) body object Template to create VNF.

Request Example

{
    "vnf": {
        "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
        "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
        "vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "name": "OpenWRT",
        "description": "OpenWRT VNF",
        "attributes": {
            "config": {
                "vdus": {
                    "vdu1": {
                        "config": {
                            "firewall": "package firewall\n"
                        }
                    }
                }
            },
            "param_values": {
                "vdus": {
                    "vdu1": {
                        "param": {
                            "vdu-name": "openwrt_vdu1"
                        }
                    }
                }
            }
        },
        "placement_attr": {
            "region_name": "RegionOne"
        }
    }
}

Response Parameters

Name In Type Description
vnf body object A vnf object.
status body string Status of the VNF.
description body string Human-readable description for the resource.
vnfd_id (Optional) body string The UUID of the VNFD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VNF was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the VNF was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
instance_id body string A UUID information to uniquely identify the instance of VNF. This instance is equivalent to a Heat stack when using “openstack” type VIM.
mgmt_url body string Management URL information for the VNF.
vim_id body string The UUID of the VIM.
placement_attr body object VNF placement information object. This object includes region_name and vim_name.
error_reason body string Reason for VNF error, if any.
attributes body object VNF attributes object. This object can contain config, param_values, monitoring_policy, and heat_template.
config body string VNF configuration object.
param_values body string VNF parameter object. These parameters will be substituted for VNF if the VNFD template is appropriately parameterized. See VNFD Template Parameterization for more information.
monitoring_policy body string Monitoring policy which is derived from the VNFD template.
heat_template body string Heat template which is translated from the VNFD template.
id body string The UUID of the VNF.
name body string Human-readable name for the resource.

Response Example

{
    "vnf": {
        "status": "PENDING_CREATE",
        "description": "OpenWRT VNFD with parameterized VDU name",
        "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
        "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
        "created_at": "2016-10-25 10:15:06.959431",
        "updated_at": null,
        "instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
        "mgmt_url": null,
        "vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "placement_attr": {
            "region_name": "RegionOne",
            "vim_name": "VIM0"
        },
        "error_reason": null,
        "attributes": {
            "config": "vdus:\n  vdu1:\n    config: {firewall: 'package firewall\n\n        '}\n",
            "heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n  '\nparameters:\n  vdu-name:\n    type: string\n    description: Vdu name\n    default: test-vdu\nresources:\n  CP1:\n    type: OS::Neutron::Port\n    properties:\n      network: net_mgmt\n      port_security_enabled: false\n  CP2:\n    type: OS::Neutron::Port\n    properties:\n      network: net0\n      port_security_enabled: false\n  CP3:\n    type: OS::Neutron::Port\n    properties:\n      network: net1\n      port_security_enabled: false\n  VDU1:\n    type: OS::Nova::Server\n    properties:\n      config_drive: false\n      flavor: {get_resource: VDU1_flavor}\n      image: OpenWRT\n      name:\n        get_param: vdu-name\n      networks:\n      - port:\n          get_resource: CP1\n      - port:\n          get_resource: CP2\n      - port:\n          get_resource: CP3\n      user_data_format: SOFTWARE_CONFIG\n  VDU1_flavor:\n    properties: {disk: 1, ram: 512, vcpus: 1}\n    type: OS::Nova::Flavor\noutputs:\n  mgmt_ip-VDU1:\n    value:\n      get_attr: [CP1, fixed_ips, 0, ip_address]\n",
            "param_values": "vdus:\n  vdu1:\n    param: {vdu-name: openwrt_vdu1}\n",
            "monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}"
        },
        "id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
        "name": "OpenWRT"
    }
}
GET
/v1.0/vnfs

List VNFs

Lists VNFs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
vnfs body array A list of vnf objects.
status body string Status of the VNF.
description body string Human-readable description for the resource.
vnfd_id (Optional) body string The UUID of the VNFD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VNF was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the VNF was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
instance_id body string A UUID information to uniquely identify the instance of VNF. This instance is equivalent to a Heat stack when using “openstack” type VIM.
mgmt_url body string Management URL information for the VNF.
vim_id body string The UUID of the VIM.
placement_attr body object VNF placement information object. This object includes region_name and vim_name.
error_reason body string Reason for VNF error, if any.
attributes body object VNF attributes object. This object can contain config, param_values, monitoring_policy, and heat_template.
config body string VNF configuration object.
param_values body string VNF parameter object. These parameters will be substituted for VNF if the VNFD template is appropriately parameterized. See VNFD Template Parameterization for more information.
monitoring_policy body string Monitoring policy which is derived from the VNFD template.
heat_template body string Heat template which is translated from the VNFD template.
id body string The UUID of the VNF.
name body string Human-readable name for the resource.

Response Example

{
    "vnfs": [
        {
            "status": "ACTIVE",
            "description": "OpenWRT VNFD with parameterized VDU name",
            "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
            "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
            "created_at": "2016-10-25 10:15:06",
            "updated_at": null,
            "instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
            "mgmt_url": "{\"VDU1\": \"192.168.120.3\"}",
            "vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
            "placement_attr": {
                "region_name": "RegionOne",
                "vim_name": "VIM0"
            },
            "error_reason": null,
            "attributes": {
                "config": "vdus:\n  vdu1:\n    config: {firewall: 'package firewall\n\n        '}\n",
                "monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
                "param_values": "vdus:\n  vdu1:\n    param: {vdu-name: openwrt_vdu1}\n",
                "heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n  '\nparameters:\n  vdu-name:\n    type: string\n    description: Vdu name\n    default: test-vdu\nresources:\n  CP1:\n    type: OS::Neutron::Port\n    properties:\n      network: net_mgmt\n      port_security_enabled: false\n  CP2:\n    type: OS::Neutron::Port\n    properties:\n      network: net0\n      port_security_enabled: false\n  CP3:\n    type: OS::Neutron::Port\n    properties:\n      network: net1\n      port_security_enabled: false\n  VDU1:\n    type: OS::Nova::Server\n    properties:\n      config_drive: false\n      flavor: {get_resource: VDU1_flavor}\n      image: OpenWRT\n      name:\n        get_param: vdu-name\n      networks:\n      - port:\n          get_resource: CP1\n      - port:\n          get_resource: CP2\n      - port:\n          get_resource: CP3\n      user_data_format: SOFTWARE_CONFIG\n  VDU1_flavor:\n    properties: {disk: 1, ram: 512, vcpus: 1}\n    type: OS::Nova::Flavor\noutputs:\n  mgmt_ip-VDU1:\n    value:\n      get_attr: [CP1, fixed_ips, 0, ip_address]\n"
            },
            "id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
            "name": "OpenWRT"
        }
    ]
}
GET
/v1.0/vnfs/{vnf_id}

Show VNF

Shows information of a given VNF.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf_id path string The UUID of the VNF.

Response Parameters

Name In Type Description
vnf body object A vnf object.
status body string Status of the VNF.
description body string Human-readable description for the resource.
vnfd_id (Optional) body string The UUID of the VNFD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VNF was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the VNF was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
instance_id body string A UUID information to uniquely identify the instance of VNF. This instance is equivalent to a Heat stack when using “openstack” type VIM.
mgmt_url body string Management URL information for the VNF.
vim_id body string The UUID of the VIM.
placement_attr body object VNF placement information object. This object includes region_name and vim_name.
error_reason body string Reason for VNF error, if any.
attributes body object VNF attributes object. This object can contain config, param_values, monitoring_policy, and heat_template.
config body string VNF configuration object.
param_values body string VNF parameter object. These parameters will be substituted for VNF if the VNFD template is appropriately parameterized. See VNFD Template Parameterization for more information.
monitoring_policy body string Monitoring policy which is derived from the VNFD template.
heat_template body string Heat template which is translated from the VNFD template.
id body string The UUID of the VNF.
name body string Human-readable name for the resource.

Response Example

{
    "vnf": {
        "status": "ACTIVE",
        "description": "OpenWRT VNFD with parameterized VDU name",
        "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
        "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
        "created_at": "2016-10-25 10:15:06",
        "updated_at": "2016-10-25 10:16:43",
        "instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
        "mgmt_url": "{\"VDU1\": \"192.168.120.3\"}",
        "vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "placement_attr": {
            "region_name": "RegionOne",
            "vim_name": "VIM0"
        },
        "error_reason": null,
        "attributes": {
            "config": "vdus:\n  vdu1:\n    config: {firewall: 'package firewall\n\n        '}\n",
            "monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
            "param_values": "vdus:\n  vdu1:\n    param: {vdu-name: openwrt_vdu1}\n",
            "heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n  '\nparameters:\n  vdu-name:\n    type: string\n    description: Vdu name\n    default: test-vdu\nresources:\n  CP1:\n    type: OS::Neutron::Port\n    properties:\n      network: net_mgmt\n      port_security_enabled: false\n  CP2:\n    type: OS::Neutron::Port\n    properties:\n      network: net0\n      port_security_enabled: false\n  CP3:\n    type: OS::Neutron::Port\n    properties:\n      network: net1\n      port_security_enabled: false\n  VDU1:\n    type: OS::Nova::Server\n    properties:\n      config_drive: false\n      flavor: {get_resource: VDU1_flavor}\n      image: OpenWRT\n      name:\n        get_param: vdu-name\n      networks:\n      - port:\n          get_resource: CP1\n      - port:\n          get_resource: CP2\n      - port:\n          get_resource: CP3\n      user_data_format: SOFTWARE_CONFIG\n  VDU1_flavor:\n    properties: {disk: 1, ram: 512, vcpus: 1}\n    type: OS::Nova::Flavor\noutputs:\n  mgmt_ip-VDU1:\n    value:\n      get_attr: [CP1, fixed_ips, 0, ip_address]\n"
        },
        "id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
        "name": "OpenWRT"
    }
}
PUT
/v1.0/vnfs/{vnf_id}

Update VNF

Updates a given VNF.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf_id path string The UUID of the VNF.
attributes (Optional) body object VNF attributes object. This object can contain config object.
config (Optional) body object VNF configuration object.

Request Example

{
    "vnf": {
        "attributes": {
            "config": {
                "vdus": {
                    "VDU1": {
                        "config": {
                            "firewall": "package firewall\n\nconfig defaults\n    option syn_flood 1\n    option input ACCEPT\n    option output ACCEPT\n    option forward REJECT\n"
                        }
                    }
                }
            }
        }
    }
}

Response Parameters

Name In Type Description
vnf body object A vnf object.
status body string Status of the VNF.
description body string Human-readable description for the resource.
vnfd_id (Optional) body string The UUID of the VNFD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VNF was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the VNF was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
instance_id body string A UUID information to uniquely identify the instance of VNF. This instance is equivalent to a Heat stack when using “openstack” type VIM.
mgmt_url body string Management URL information for the VNF.
vim_id body string The UUID of the VIM.
placement_attr body object VNF placement information object. This object includes region_name and vim_name.
error_reason body string Reason for VNF error, if any.
attributes body object VNF attributes object. This object can contain config, param_values, monitoring_policy, and heat_template.
config body string VNF configuration object.
param_values body string VNF parameter object. These parameters will be substituted for VNF if the VNFD template is appropriately parameterized. See VNFD Template Parameterization for more information.
monitoring_policy body string Monitoring policy which is derived from the VNFD template.
heat_template body string Heat template which is translated from the VNFD template.
id body string The UUID of the VNF.
name body string Human-readable name for the resource.

Response Example

{
    "vnf": {
        "status": "PENDING_UPDATE",
        "description": "OpenWRT VNFD with parameterized VDU name",
        "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
        "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
        "created_at": "2016-10-25 10:15:06",
        "updated_at": "2016-10-25 10:16:43",
        "instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
        "mgmt_url": "{\"VDU1\": \"192.168.120.3\"}",
        "vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "placement_attr": {
            "region_name": "RegionOne",
            "vim_name": "VIM0"
        },
        "error_reason": null,
        "attributes": {
            "config": "vdus:\n  VDU1:\n    config: {firewall: \"package firewall\\n\\nconfig defaults\\n    option syn_flood\\\n        \\ 1\\n    option input ACCEPT\\n    option output ACCEPT\\n    option forward\\\n        \\ REJECT\\n\"}\n  vdu1:\n    config: {firewall: 'package firewall\n\n        '}\n",
            "monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
            "param_values": "vdus:\n  vdu1:\n    param: {vdu-name: openwrt_vdu1}\n",
            "heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n  '\nparameters:\n  vdu-name:\n    type: string\n    description: Vdu name\n    default: test-vdu\nresources:\n  CP1:\n    type: OS::Neutron::Port\n    properties:\n      network: net_mgmt\n      port_security_enabled: false\n  CP2:\n    type: OS::Neutron::Port\n    properties:\n      network: net0\n      port_security_enabled: false\n  CP3:\n    type: OS::Neutron::Port\n    properties:\n      network: net1\n      port_security_enabled: false\n  VDU1:\n    type: OS::Nova::Server\n    properties:\n      config_drive: false\n      flavor: {get_resource: VDU1_flavor}\n      image: OpenWRT\n      name:\n        get_param: vdu-name\n      networks:\n      - port:\n          get_resource: CP1\n      - port:\n          get_resource: CP2\n      - port:\n          get_resource: CP3\n      user_data_format: SOFTWARE_CONFIG\n  VDU1_flavor:\n    properties: {disk: 1, ram: 512, vcpus: 1}\n    type: OS::Nova::Flavor\noutputs:\n  mgmt_ip-VDU1:\n    value:\n      get_attr: [CP1, fixed_ips, 0, ip_address]\n"
        },
        "id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
        "name": "OpenWRT"
    }
}
DELETE
/v1.0/vnfs/{vnf_id}

Delete VNF

Deletes a given VNF.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf_id path string The UUID of the VNF.
GET
/v1.0/vnfs/{vnf_id}/resources

List VNF resources

Lists resources, such as VDU/CP, of a given VNF.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf_id path string The UUID of the VNF.

Response Parameters

Name In Type Description
resources body array A list of VNF resource objects.
type body string The type of the VNF resource. This is equivalent to Heat stack resource type.
name body string The name of the VNF resource. This is equivalent to Heat stack resource name.
id body string The UUID of the VNF resource. This is equivalent to Heat stack resource ID.

Response Example

{
    "resources": [
        {
            "type": "OS::Nova::Server",
            "name": "VDU1",
            "id": "94c19bcf-6c89-4129-98fe-759e37e2f8c7"
        },
        {
            "type": "OS::Neutron::Port",
            "name": "CP1",
            "id": "20602131-03f9-4cb2-b9fe-24bf56f1bb4f"
        },
        {
            "type": "OS::Neutron::Port",
            "name": "CP2",
            "id": "ff641e7d-35f9-4095-a1f7-c3f6fb2fa294"
        },
        {
            "type": "OS::Neutron::Port",
            "name": "CP3",
            "id": "ebe816df-3bc0-48a8-9278-140809d1d953"
        },
        {
            "type": "OS::Nova::Flavor",
            "name": "VDU1_flavor",
            "id": "0f5e0bf2-f1a9-4474-aff9-cfffad22c5f8"
        }
    ]
}
POST
/v1.0/vnfs/{vnf_id}/actions

Trigger VNF scaling

Triggers VNF scaling action.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnf_id path string The UUID of the VNF.
scale body object A VNF scale object, which contains policy and type.
policy body string Scaling policy defined in VNFD template. For more information, see VNFD scaling.
type body string Scaling type, which is either in or out.

Request Example

{
    "scale": {
        "policy": "SP1",
        "type": "out"
    }
}

Response Parameters

Name In Type Description
scale body object A VNF scale object, which contains policy and type.
policy body string Scaling policy defined in VNFD template. For more information, see VNFD scaling.
type body string Scaling type, which is either in or out.

Response Example

{
    "scale": {
        "policy": "SP1",
        "type": "out"
    }
}

Virtualized Infrastructure Managers (VIMs)

Manages Virtualized Infrastructure Managers (VIMs).

The VIM is responsible for controlling and managing Network Function Virtualization Infrastructure (NFVI) which provides VNFs with the resources they need.

POST
/v1.0/vims

Register VIM

Registers a VIM.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vim body object A vim object.
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
type body string The type of VIM. Currently there is only one built-in VIM driver, which is for “openstack” type.
auth_url body string The authentication URL for the Keystone service of the remote OpenStack site.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential can contain user_id (and/or username) and password. It also contains user_domain_name when using identity v3.
vim_project body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
name body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
is_default (Optional) body boolean Indicate whether the VIM is used as default.

Request Example

{
    "vim": {
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "type": "openstack",
        "auth_url": "http://192.168.1.2:5000/v3",
        "auth_cred": {
            "username": "nfv_user",
            "user_domain_name": "Default",
            "password": "password"
        },
        "vim_project": {
            "name": "nfv",
            "project_domain_name": "Default"
        },
        "name": "VIM1",
        "description": "Additional site",
        "is_default": false
    }
}

Response Parameters

Name In Type Description
vim body object A vim object.
status body string Status of the VIM.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VIM was registered. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
vim_project body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
updated_at body string The date and time when the VIM was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
is_default body boolean Indicate whether the VIM is used as default.
auth_url body string The authentication URL for the Keystone service of the remote OpenStack site.
placement_attr body object VIM placement information object that includes regions, which is a list of Region IDs. regions are automatically derived from VIM.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential contains user_id (and/or username), password, project_id, project_name, and auth_url. It also contains user_domain_name and project_domain_name when using identity v3.
type body string The type of VIM. Currently there is only one built-in VIM driver, which is for “openstack” type.
id body string The UUID of the VIM.
name body string Human-readable name for the resource.

Response Example

{
    "vim": {
        "status": "REACHABLE",
        "description": "Additional site",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-10-21 09:27:38.628545",
        "vim_project": {
            "name": "nfv",
            "project_domain_name": "Default"
        },
        "updated_at": null,
        "is_default": false,
        "auth_url": "http://192.168.1.2:5000/v3",
        "placement_attr": {
            "regions": [
                "RegionOne"
            ]
        },
        "auth_cred": {
            "username": "nfv_user",
            "password": "***",
            "project_name": "nfv",
            "user_domain_name": "Default",
            "auth_url": "http://192.168.1.2:5000/v3",
            "project_id": null,
            "project_domain_name": "Default"
        },
        "type": "openstack",
        "id": "a35b19c5-b1b3-4172-9c2a-aa80a6470bd7",
        "name": "VIM1"
    }
}
GET
/v1.0/vims

List VIMs

Lists VIMs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
vims body array A list of vim objects.
status body string Status of the VIM.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VIM was registered. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
vim_project body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
updated_at body string The date and time when the VIM was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
is_default body boolean Indicate whether the VIM is used as default.
auth_url body string The authentication URL for the Keystone service of the remote OpenStack site.
placement_attr body object VIM placement information object that includes regions, which is a list of Region IDs. regions are automatically derived from VIM.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential contains user_id (and/or username), password, project_id, project_name, and auth_url. It also contains user_domain_name and project_domain_name when using identity v3.
type body string The type of VIM. Currently there is only one built-in VIM driver, which is for “openstack” type.
id body string The UUID of the VIM.
name body string Human-readable name for the resource.

Response Example

{
    "vims": [
        {
            "status": "REACHABLE",
            "description": "",
            "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
            "created_at": "2016-09-23 09:57:35",
            "vim_project": {
                "id": "",
                "name": "nfv",
                "project_domain_name": "Default"
            },
            "updated_at": "2016-09-23 09:57:35",
            "is_default": true,
            "auth_url": "http://localhost:5000/v3",
            "placement_attr": {
                "regions": [
                    "RegionOne"
                ]
            },
            "auth_cred": {
                "username": "nfv_user",
                "password": "***",
                "project_name": "nfv",
                "user_id": "",
                "user_domain_name": "Default",
                "auth_url": "http://localhost:5000/v3",
                "project_id": "",
                "project_domain_name": "Default"
            },
            "type": "openstack",
            "id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
            "name": "VIM0"
        }
    ]
}
GET
/v1.0/vims/{vim_id}

Show VIM

Shows information of a given VIM.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vim_id path string The UUID of the VIM.

Response Parameters

Name In Type Description
vim body object A vim object.
status body string Status of the VIM.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VIM was registered. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
vim_project body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
updated_at body string The date and time when the VIM was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
is_default body boolean Indicate whether the VIM is used as default.
auth_url body string The authentication URL for the Keystone service of the remote OpenStack site.
placement_attr body object VIM placement information object that includes regions, which is a list of Region IDs. regions are automatically derived from VIM.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential contains user_id (and/or username), password, project_id, project_name, and auth_url. It also contains user_domain_name and project_domain_name when using identity v3.
type body string The type of VIM. Currently there is only one built-in VIM driver, which is for “openstack” type.
id body string The UUID of the VIM.
name body string Human-readable name for the resource.

Response Example

{
    "vim": {
        "status": "REACHABLE",
        "description": "",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-09-23 09:57:35",
        "vim_project": {
            "id": "",
            "name": "nfv",
            "project_domain_name": "Default"
        },
        "updated_at": "2016-09-23 09:57:35",
        "is_default": true,
        "auth_url": "http://localhost:5000/v3",
        "placement_attr": {
            "regions": [
                "RegionOne"
            ]
        },
        "auth_cred": {
            "username": "nfv_user",
            "password": "***",
            "project_name": "nfv",
            "user_id": "",
            "user_domain_name": "Default",
            "auth_url": "http://localhost:5000/v3",
            "project_id": "",
            "project_domain_name": "Default"
        },
        "type": "openstack",
        "id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "name": "VIM0"
    }
}
PUT
/v1.0/vims/{vim_id}

Update VIM

Updates a given VIM. Only a VIM without any associated VNFs can be updated.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vim_id path string The UUID of the VIM.
vim body object A vim object.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential can contain user_id (and/or username) and password. It also contains user_domain_name when using identity v3.
vim_project (Optional) body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
name (Optional) body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
is_default (Optional) body boolean Indicate whether the VIM is used as default.

Request Example

{
    "vim": {
        "auth_cred": {
            "username": "new_nfv_user",
            "user_domain_name": "NewDomain",
            "password": "newpassword",
            "user_id": "11d7655309d849208ea1f39d44507e2e"
        },
        "vim_project": {
            "id": "4391756708414b1380235cd047f0ee55",
            "name": "new_nfv",
            "project_domain_name": "NewDomain"
        },
        "name": "new_VIM1",
        "description": "New Description",
        "is_default": false
    }
}

Response Parameters

Name In Type Description
vim body object A vim object.
status body string Status of the VIM.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the VIM was registered. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
vim_project body object A VIM’s project information object for the remote OpenStack site. Project information can contain id or name. It also contains project_domain_name when using identity v3.
updated_at body string The date and time when the VIM was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
is_default body boolean Indicate whether the VIM is used as default.
auth_url body string The authentication URL for the Keystone service of the remote OpenStack site.
placement_attr body object VIM placement information object that includes regions, which is a list of Region IDs. regions are automatically derived from VIM.
auth_cred body object An authentication credential object for the remote OpenStack site. Credential contains user_id (and/or username), password, project_id, project_name, and auth_url. It also contains user_domain_name and project_domain_name when using identity v3.
type body string The type of VIM. Currently there is only one built-in VIM driver, which is for “openstack” type.
id body string The UUID of the VIM.
name body string Human-readable name for the resource.

Response Example

{
    "vim": {
        "status": "REACHABLE",
        "description": "New Description",
        "tenant_id": "689708956a2d4ae0a27120d3aca6a560",
        "created_at": "2016-10-21 10:35:12",
        "vim_project": {
            "project_domain_name": "NewDomain",
            "id": "4391756708414b1380235cd047f0ee55",
            "name": "new_nfv"
        },
        "updated_at": "2016-10-21 10:35:40.043226",
        "is_default": false,
        "auth_url": "http://192.168.1.2:5000/v3",
        "placement_attr": {
            "regions": [
                "RegionOne"
            ]
        },
        "auth_cred": {
            "username": "new_nfv_user",
            "password": "***",
            "project_name": "new_nfv",
            "user_id": "11d7655309d849208ea1f39d44507e2e",
            "user_domain_name": "NewDomain",
            "auth_url": "http://192.168.1.2:5000/v3",
            "project_id": "4391756708414b1380235cd047f0ee55",
            "project_domain_name": "NewDomain"
        },
        "type": "openstack",
        "id": "ce4df54a-5734-493f-ab27-ce02fbfe2463",
        "name": "new_VIM1"
    }
}
DELETE
/v1.0/vims/{vim_id}

Delete VIM

Deletes a given VIM. Only a VIM without any associated VNFs can be deleted.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vim_id path string The UUID of the VIM.

Events

Lists and shows captured events.

Tacker currently supports events for following resource types:

  • VNFD
  • VNF
  • VIM
GET
/v1.0/events

List events

Lists events of resources.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
events body array A list of event objects.
resource_id body string The UUID of the resource that is related to the event.
timestamp body string The date and time when the event was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
event_details body string The detailed information for the event, if any.
resource_state body string The state of the resource that is related to the event.
id body integer The ID of the event.
resource_type body string The type of the resource that is related to the event.

Response Example

{
    "events": [
        {
            "event_type": "CREATE",
            "resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
            "timestamp": "2016-09-23 09:57:35",
            "event_details": "",
            "resource_state": "PENDING",
            "id": 1,
            "resource_type": "vim"
        },
        {
            "event_type": "MONITOR",
            "resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
            "timestamp": "2016-09-23 09:57:35",
            "event_details": "",
            "resource_state": "REACHABLE",
            "id": 2,
            "resource_type": "vim"
        },
        {
            "event_type": "CREATE",
            "resource_id": "31ea84d0-ce43-44d9-9e16-fc38e9636892",
            "timestamp": "2016-09-28 05:41:12",
            "event_details": "",
            "resource_state": "Not Applicable",
            "id": 3,
            "resource_type": "vnfd"
        }
    ]
}
GET
/v1.0/events/{event_id}

Show event

Shows information of a given event.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
event_id path string The ID of the event.

Response Parameters

Name In Type Description
event body object An event object.
resource_id body string The UUID of the resource that is related to the event.
timestamp body string The date and time when the event was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
event_details body string The detailed information for the event, if any.
resource_state body string The state of the resource that is related to the event.
id body integer The ID of the event.
resource_type body string The type of the resource that is related to the event.

Response Example

{
    "event": {
        "event_type": "MONITOR",
        "resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
        "timestamp": "2016-09-23 09:57:35",
        "event_details": "",
        "resource_state": "REACHABLE",
        "id": 2,
        "resource_type": "vim"
    }
}

VNF Forwarding Graph Descriptors (VNFFGDs)

Manages VNF Forwarding Graph Descriptors (VNFFGDs).

The VNFFGD is a template which describes information about deployment and behavior of VNF Forwarding Graphs (VNFFGs). For more information, see VNFFG Descriptor Template Guide.

POST
/v1.0/vnffgds

Create VNFFGD

Creates a VNFFGD.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
name body string Human-readable name for the resource.
template body object A template object which includes behavioral and deployment information of VNFFGs. For more information, see VNFFG Descriptor Template Guide.
description (Optional) body string Human-readable description for the resource.

Request Example

{
    "vnffgd": {
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "name": "vnffgd1",
        "template": {
            "vnffgd": {
                "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
                "description": "Sample VNFFG template",
                "topology_template": {
                    "node_templates": {
                        "Forwarding_path1": {
                            "type": "tosca.nodes.nfv.FP.Tacker",
                            "description": "creates path (CP12->CP22)",
                            "properties": {
                                "policy": {
                                    "type": "ACL",
                                    "criteria": [
                                        {
                                            "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
                                        },
                                        {
                                            "destination_port_range": "80-1024"
                                        },
                                        {
                                            "ip_proto": 6
                                        },
                                        {
                                            "ip_dst_prefix": "10.10.0.10/24"
                                        }
                                    ]
                                },
                                "path": [
                                    {
                                        "capability": "CP12",
                                        "forwarder": "VNFD1"
                                    },
                                    {
                                        "capability": "CP22",
                                        "forwarder": "VNFD2"
                                    }
                                ],
                                "id": 51
                            }
                        }
                    },
                    "description": "Sample VNFFG template",
                    "groups": {
                        "VNFFG1": {
                            "type": "tosca.groups.nfv.VNFFG",
                            "description": "HTTP to Corporate Net",
                            "members": [
                                "Forwarding_path1"
                            ],
                            "properties": {
                                "vendor": "tacker",
                                "connection_point": [
                                    "CP12",
                                    "CP22"
                                ],
                                "version": 1.0,
                                "constituent_vnfs": [
                                    "VNFD1",
                                    "VNFD2"
                                ],
                                "number_of_endpoints": 2,
                                "dependent_virtual_link": [
                                    "VL12",
                                    "VL22"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "description": "sample vnffgd"
    }
}

Response Parameters

Name In Type Description
vnffgd body object A vnffgd object.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
name body string Human-readable name for the resource.
template body object A template object which includes behavioral and deployment information of VNFFGs. For more information, see VNFFG Descriptor Template Guide.
description body string Human-readable description for the resource.

Response Example

{
    "vnffgd": {
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "name": "vnffgd1",
        "description": "sample vnffgd",
        "template": {
            "vnffgd": {
                "imports": [
                    "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_defs.yaml",
                    "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_nfv_defs.yaml"
                ],
                "description": "Sample VNFFG template",
                "topology_template": {
                    "node_templates": {
                        "Forwarding_path1": {
                            "type": "tosca.nodes.nfv.FP.Tacker",
                            "description": "creates path (CP12->CP22)",
                            "properties": {
                                "policy": {
                                    "type": "ACL",
                                    "criteria": [
                                        {
                                            "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
                                        },
                                        {
                                            "destination_port_range": "80-1024"
                                        },
                                        {
                                            "ip_proto": 6
                                        },
                                        {
                                            "ip_dst_prefix": "10.10.0.10/24"
                                        }
                                    ]
                                },
                                "path": [
                                    {
                                        "capability": "CP12",
                                        "forwarder": "VNFD1"
                                    },
                                    {
                                        "capability": "CP22",
                                        "forwarder": "VNFD2"
                                    }
                                ],
                                "id": 51
                            }
                        }
                    },
                    "description": "Sample VNFFG template",
                    "groups": {
                        "VNFFG1": {
                            "type": "tosca.groups.nfv.VNFFG",
                            "description": "HTTP to Corporate Net",
                            "members": [
                                "Forwarding_path1"
                            ],
                            "properties": {
                                "vendor": "tacker",
                                "connection_point": [
                                    "CP12",
                                    "CP22"
                                ],
                                "version": 1.0,
                                "constituent_vnfs": [
                                    "VNFD1",
                                    "VNFD2"
                                ],
                                "number_of_endpoints": 2,
                                "dependent_virtual_link": [
                                    "VL12",
                                    "VL22"
                                ]
                            }
                        }
                    }
                },
                "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0"
            }
        },
        "id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
    }
}
GET
/v1.0/vnffgds

List VNFFGDs

Lists VNFFGDs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
vnffgds body array A list of vnffgd objects.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
id body string The UUID of the VNFFGD.
name body string Human-readable name for the resource.

Response Example

{
    "vnffgds": [
        {
            "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
            "name": "vnffgd1",
            "description": "sample vnffgd",
            "template": {
                "vnffgd": {
                    "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
                    "imports": [
                        "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_defs.yaml",
                        "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_nfv_defs.yaml"
                    ],
                    "description": "Sample VNFFG template",
                    "topology_template": {
                        "node_templates": {
                            "Forwarding_path1": {
                                "type": "tosca.nodes.nfv.FP.Tacker",
                                "description": "creates path (CP12->CP22)",
                                "properties": {
                                    "policy": {
                                        "type": "ACL",
                                        "criteria": [
                                            {
                                                "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
                                            },
                                            {
                                                "destination_port_range": "80-1024"
                                            },
                                            {
                                                "ip_proto": 6
                                            },
                                            {
                                                "ip_dst_prefix": "10.10.0.10/24"
                                            }
                                        ]
                                    },
                                    "path": [
                                        {
                                            "capability": "CP12",
                                            "forwarder": "VNFD1"
                                        },
                                        {
                                            "capability": "CP22",
                                            "forwarder": "VNFD2"
                                        }
                                    ],
                                    "id": 51
                                }
                            }
                        },
                        "description": "Sample VNFFG template",
                        "groups": {
                            "VNFFG1": {
                                "type": "tosca.groups.nfv.VNFFG",
                                "description": "HTTP to Corporate Net",
                                "members": [
                                    "Forwarding_path1"
                                ],
                                "properties": {
                                    "vendor": "tacker",
                                    "connection_point": [
                                        "CP12",
                                        "CP22"
                                    ],
                                    "version": 1.0,
                                    "constituent_vnfs": [
                                        "VNFD1",
                                        "VNFD2"
                                    ],
                                    "number_of_endpoints": 2,
                                    "dependent_virtual_link": [
                                        "VL12",
                                        "VL22"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
        }
    ]
}
GET
/v1.0/vnffgds/{vnffgd_id}

Show VNFFGD

Shows information of a given VNFFGD.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnffgd_id path string The UUID of the VNFFGD.

Response Parameters

Name In Type Description
vnffgd body object A vnffgd object.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
id body string The UUID of the VNFFGD.
name body string Human-readable name for the resource.

Response Example

{
    "vnffgd": {
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "name": "vnffgd1",
        "description": "sample vnffgd",
        "template": {
            "vnffgd": {
                "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
                "imports": [
                    "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_defs.yaml",
                    "/opt/stack/tacker/tacker/vnfm/tosca/lib/tacker_nfv_defs.yaml"
                ],
                "description": "Sample VNFFG template",
                "topology_template": {
                    "node_templates": {
                        "Forwarding_path1": {
                            "type": "tosca.nodes.nfv.FP.Tacker",
                            "description": "creates path (CP12->CP22)",
                            "properties": {
                                "policy": {
                                    "type": "ACL",
                                    "criteria": [
                                        {
                                            "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
                                        },
                                        {
                                            "destination_port_range": "80-1024"
                                        },
                                        {
                                            "ip_proto": 6
                                        },
                                        {
                                            "ip_dst_prefix": "10.10.0.10/24"
                                        }
                                    ]
                                },
                                "path": [
                                    {
                                        "capability": "CP12",
                                        "forwarder": "VNFD1"
                                    },
                                    {
                                        "capability": "CP22",
                                        "forwarder": "VNFD2"
                                    }
                                ],
                                "id": 51
                            }
                        }
                    },
                    "description": "Sample VNFFG template",
                    "groups": {
                        "VNFFG1": {
                            "type": "tosca.groups.nfv.VNFFG",
                            "description": "HTTP to Corporate Net",
                            "members": [
                                "Forwarding_path1"
                            ],
                            "properties": {
                                "vendor": "tacker",
                                "connection_point": [
                                    "CP12",
                                    "CP22"
                                ],
                                "version": 1.0,
                                "constituent_vnfs": [
                                    "VNFD1",
                                    "VNFD2"
                                ],
                                "number_of_endpoints": 2,
                                "dependent_virtual_link": [
                                    "VL12",
                                    "VL22"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
    }
}
DELETE
/v1.0/vnffgds/{vnffgd_id}

Delete VNFFGD

Deletes a given VNFFGD. Only a VNFFGD without any associated VNFFGs can be deleted.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnffgd_id path string The UUID of the VNFFGD.

VNF Forwarding Graphs (VNFFGs)

Manages VNF Forwarding Graphs (VNFFGs).

The VNFFG feature is used to orchestrate and manage traffic through VNFs. For more information about VNFFG, see VNF Forwarding Graph.

POST
/v1.0/vnffgs

Create VNFFG

Creates a VNFFG.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
vnffgd_id body string The UUID of the VNFFGD.
name body string Human-readable name for the resource.
vnf_mapping (Optional) body object A vnf_mapping object which contains mappings from VNFD name to VNF instance ID. This is used to declare which exact VNF instance to be used for each VNFD in the Forwarding Path definition. If no vnf mappings are provided, then Tacker attempts to search for VNF instance derived from each VNFDs.
symmetrical (Optional) body boolean Indicate whether reverse traffic should also flow through the path. Enabling symmetrical is not currently supported by the OpenStack VIM driver.

Request Example

{
    "vnffg": {
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
        "name": "vnffg1",
        "vnf_mapping": {
            "VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
            "VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
        },
        "symmetrical": false
    }
}

Response Parameters

Name In Type Description
vnffg body object A vnffg object.
forwarding_paths body string The UUID of the Network Forwarding Path (NFP) on which the VNFFG relies.
status body string Status of the VNFFG.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
vnffgd_id body string The UUID of the VNFFGD.
vnf_mapping body object A vnf_mapping object which contains mappings from VNFD name to VNF instance ID.
id body string The UUID of the VNFFG.
name body string Human-readable name for the resource.

Response Example

{
    "vnffg": {
        "forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
        "status": "PENDING_CREATE",
        "description": "sample vnffgd",
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
        "vnf_mapping": {
            "VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
            "VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
        },
        "id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
        "name": "vnffg1"
    }
}
GET
/v1.0/vnffgs

List VNFFGs

Lists VNFFGs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
vnffgs body array A list of vnffg objects.
forwarding_paths body string The UUID of the Network Forwarding Path (NFP) on which the VNFFG relies.
status body string Status of the VNFFG.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
vnffgd_id body string The UUID of the VNFFGD.
vnf_mapping body object A vnf_mapping object which contains mappings from VNFD name to VNF instance ID.
id body string The UUID of the VNFFG.
name body string Human-readable name for the resource.

Response Example

{
    "vnffgs": [
        {
            "forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
            "status": "ACTIVE",
            "description": "sample vnffgd",
            "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
            "vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
            "vnf_mapping": {
                "VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
                "VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
            },
            "id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
            "name": "vnffg1"
        }
    ]
}
GET
/v1.0/vnffgs/{vnffg_id}

Show VNFFG

Shows information of a given VNFFG.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnffg_id path string The UUID of the VNFFG.

Response Parameters

Name In Type Description
vnffg body object A vnffg object.
forwarding_paths body string The UUID of the Network Forwarding Path (NFP) on which the VNFFG relies.
status body string Status of the VNFFG.
description body string Human-readable description for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
vnffgd_id body string The UUID of the VNFFGD.
vnf_mapping body object A vnf_mapping object which contains mappings from VNFD name to VNF instance ID.
id body string The UUID of the VNFFG.
name body string Human-readable name for the resource.

Response Example

{
    "vnffg": {
        "forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
        "status": "ACTIVE",
        "description": "sample vnffgd",
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
        "vnf_mapping": {
            "VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
            "VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
        },
        "id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
        "name": "vnffg1"
    }
}
DELETE
/v1.0/vnffgs/{vnffg_id}

Delete VNFFG

Deletes a given VNFFG.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
vnffg_id path string The UUID of the VNFFG.

Network Forwarding Paths (NFPs)

Lists Network Forwarding Paths (NFPs) and shows information of a given NFP.

The NFP is a component of VNFFG and contains a Service Function Chain (SFC) and a classifier.

GET
/v1.0/nfps

List NFPs

Lists NFPs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
nfps body array A list of nfp objects.
status body string Status of the NFP.
name body string Human-readable name for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
chain_id body string The UUID of the Service Function Chain (SFC).
path_id body string The ID of the path. It will be used in future implementations of Network Service Header (NSH) to identify paths via the Service Path Identifier (SPI) attribute.
symmetrical body boolean Indicate whether reverse traffic should also flow through the path. Enabling symmetrical is not currently supported by the OpenStack VIM driver.
classifier_id body string The UUID of the Classifier.
id body string The UUID of the Network Forwarding Path (NFP).

Response Example

{
    "nfps": [
        {
            "status": "ACTIVE",
            "name": "Forwarding_path1",
            "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
            "chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
            "path_id": "51",
            "symmetrical": false,
            "classifier_id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
            "id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015"
        }
    ]
}
GET
/v1.0/nfps/{nfp_id}

Show NFP

Shows information of a given NFP.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
nfp_id path string The UUID of the NFP.

Response Parameters

Name In Type Description
nfp body object A nfp object.
status body string Status of the NFP.
name body string Human-readable name for the resource.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
chain_id body string The UUID of the Service Function Chain (SFC).
path_id body string The ID of the path. It will be used in future implementations of Network Service Header (NSH) to identify paths via the Service Path Identifier (SPI) attribute.
symmetrical body boolean Indicate whether reverse traffic should also flow through the path. Enabling symmetrical is not currently supported by the OpenStack VIM driver.
classifier_id body string The UUID of the Classifier.
id body string The UUID of the Network Forwarding Path (NFP).

Response Example

{
    "nfp": {
        "status": "ACTIVE",
        "name": "Forwarding_path1",
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
        "path_id": "51",
        "symmetrical": false,
        "classifier_id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
        "id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015"
    }
}

Service Function Chains (SFCs)

Lists Service Function Chains (SFCs) and shows information of a given SFC.

The SFC is a component of a NFP and forms a path which traffics flow through.

GET
/v1.0/sfcs

List SFCs

Lists SFCs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
sfcs body array A list of sfc objects.
status body string Status of the SFC.
path_id body string The ID of the path. It will be used in future implementations of Network Service Header (NSH) to identify paths via the Service Path Identifier (SPI) attribute.
nfp_id body string The UUID of the NFP which the SFC belongs to.
chain body array A ordered list of node objects to traverse. Each node includes a list of CPs and correspondent VNF name. Up to 2 CPs may be listed per node. If 2 CPs are listed, the first will be considered the ingress port for traffic and the second will be the egress. If there’s only one CP, then it will be considered both the ingress and egress port for traffic.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
instance_id body string The UUID information to uniquely identify the SFC instance. A SFC is instantiated as a Neutron Port Chain when using OpenStack VIM Driver.
symmetrical body boolean Indicate whether reverse traffic should also flow through the path. Enabling symmetrical is not currently supported by the OpenStack VIM driver.
id body string The UUID of the Service Function Chain (SFC).

Response Example

{
    "sfcs": [
        {
            "status": "ACTIVE",
            "path_id": "51",
            "nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
            "chain": [
                {
                    "connection_points": [
                        "e48cd49d-3bf7-4c8d-b6a7-3e2846b01c7c"
                    ],
                    "name": "my-vnf1"
                },
                {
                    "connection_points": [
                        "4b0b3a8f-07ca-46c3-b8fa-90caeaada031"
                    ],
                    "name": "my-vnf2"
                }
            ],
            "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
            "instance_id": "2645eea6-3744-40f6-aacc-09a784db5d89",
            "symmetrical": false,
            "id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2"
        }
    ]
}
GET
/v1.0/sfcs/{sfc_id}

Show SFC

Shows information of a given SFC.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
sfc_id path string The UUID of the SFC.

Response Parameters

Name In Type Description
sfc body object A sfc object.
status body string Status of the SFC.
path_id body string The ID of the path. It will be used in future implementations of Network Service Header (NSH) to identify paths via the Service Path Identifier (SPI) attribute.
nfp_id body string The UUID of the NFP which the SFC belongs to.
chain body array A ordered list of node objects to traverse. Each node includes a list of CPs and correspondent VNF name. Up to 2 CPs may be listed per node. If 2 CPs are listed, the first will be considered the ingress port for traffic and the second will be the egress. If there’s only one CP, then it will be considered both the ingress and egress port for traffic.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
instance_id body string The UUID information to uniquely identify the SFC instance. A SFC is instantiated as a Neutron Port Chain when using OpenStack VIM Driver.
symmetrical body boolean Indicate whether reverse traffic should also flow through the path. Enabling symmetrical is not currently supported by the OpenStack VIM driver.
id body string The UUID of the Service Function Chain (SFC).

Response Example

{
    "sfc": {
        "status": "ACTIVE",
        "path_id": "51",
        "nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
        "chain": [
            {
                "connection_points": [
                    "e48cd49d-3bf7-4c8d-b6a7-3e2846b01c7c"
                ],
                "name": "my-vnf1"
            },
            {
                "connection_points": [
                    "4b0b3a8f-07ca-46c3-b8fa-90caeaada031"
                ],
                "name": "my-vnf2"
            }
        ],
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "instance_id": "2645eea6-3744-40f6-aacc-09a784db5d89",
        "symmetrical": false,
        "id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2"
    }
}

Classifiers

Lists classifiers and shows information of a given classifier.

The classifier is a component of a NFP and defines policies to distinguish which traffic should enter the related SFC.

GET
/v1.0/classifiers

List classifiers

Lists classifiers.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
classifiers body array A list of classifier objects.
status body string Status of the classifier.
nfp_id body string The UUID of the NFP which the classifier belongs to.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
chain_id body string The UUID of the SFC which the classifier is related to.
instance_id body string The UUID information to uniquely identify the classifier instance. A classifier is instantiated as a Neutron Flow Classifier when using OpenStack VIM Driver.
id body string The UUID of the Classifier.
match body object A match policy object that will be used to distinguish which traffic should enter the related SFC.

Response Example

{
    "classifiers": [
        {
            "status": "ACTIVE",
            "nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
            "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
            "chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
            "instance_id": "5a5e2cd6-c0d9-4768-8361-99ac9e2c8fae",
            "id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
            "match": {
                "ip_proto": 6,
                "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958",
                "ip_dst_prefix": "10.10.0.10/24",
                "destination_port_min": 80,
                "destination_port_max": 1024
            }
        }
    ]
}
GET
/v1.0/classifiers/{sfc_id}

Show classifier

Shows information of a given classifier.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
sfc_id path string The UUID of the SFC.

Response Parameters

Name In Type Description
classifiers body array A list of classifier objects.
status body string Status of the classifier.
nfp_id body string The UUID of the NFP which the classifier belongs to.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
chain_id body string The UUID of the SFC which the classifier is related to.
instance_id body string The UUID information to uniquely identify the classifier instance. A classifier is instantiated as a Neutron Flow Classifier when using OpenStack VIM Driver.
id body string The UUID of the Classifier.
match body object A match policy object that will be used to distinguish which traffic should enter the related SFC.

Response Example

{
    "classifier": {
        "status": "ACTIVE",
        "nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
        "tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
        "chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
        "instance_id": "5a5e2cd6-c0d9-4768-8361-99ac9e2c8fae",
        "id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
        "match": {
            "ip_proto": 6,
            "network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958",
            "ip_dst_prefix": "10.10.0.10/24",
            "destination_port_min": 80,
            "destination_port_max": 1024
        }
    }
}

Network Service Descriptors (NSD)

Manages Network Service Descriptors.

NSD is a TOSCA template that describes the deployment and behaviour of a Network Service (NS) using a collection of VNFs. For more information, see NSD Usage Guide.

POST
/v1.0/nsds

Create NSD

Creates a NSD.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
name body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
attributes body object Attributes necessary for spinning up NS.

Request Example

{
  "nsd": {
    "tenant_id": "689708956b2d4ae0a27120d3aca6a593",
    "name": "sample-nsd",
    "description": "Sample nsd", 
    "attributes": {
      "nsd": {
        "imports": [
          "vnf1",
          "vnf2"
        ],
        "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
        "topology_template": {
          "inputs": {
            "vl2_name": {
              "default": "net0", "type": "string",
              "description": "name of VL2 virtuallink"
            },
            "vl1_name": {
              "default": "net_mgmt",
              "type": "string",
              "description": "name of VL1 virtuallink"
            }
          },
          "node_templates": {
            "VL1": {
              "type": "tosca.nodes.nfv.VL",
              "properties": {
                "network_name": {
                  "get_input": "vl1_name"
                },
                "vendor": "tacker"
              }
            },
            "VNF1": {
              "type": "tosca.nodes.nfv.VNF1",
              "requirements": [
                {
                  "virtualLink1": "VL1"
                },
                {
                  "virtualLink2": "VL2"
                }
              ]
            },
            "VL2": {
              "type": "tosca.nodes.nfv.VL",
              "properties": {
                "network_name": {
                  "get_input": "vl2_name"
                },
                "vendor": "tacker"
              }
            }
          }
        }
      }
    },
  }
}

Response Parameters

Name In Type Description
nsd body object A nsd object.
name body string Human-readable name for the resource.
id body string The UUID of the NSD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
description body string Human-readable description for the resource.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up NS.

Response Example

{
  "nsd": {
    "name": "nsd1"
    "description": "nsd-sample",
    "id": "99b2851e-a6a7-4467-9554-0eb50633f012",
    "tenant_id": "a81900a92bda40588c52699e1873a92f",
    "created_at": "2017-01-30 07:10:29.809127",
    "updated_at": null,
    "attributes": {
      "nsd": "imports: [vnf1, vnf2]\ntopology_template:\n  inputs:\n    vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n    vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n  node_templates:\n    VL1:\n      properties:\n        network_name: {get_input: vl1_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VL2:\n      properties:\n        network_name: {get_input: vl2_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VNF1:\n      requirements:\n      - {virtualLink1: VL1}\n      - {virtualLink2: VL2}\n      type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
    },
  }
}
GET
/v1.0/nsds

List NSDs

Lists NSDs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
nsds body array A list of nsd objects.
name body string Human-readable name for the resource.
id body string The UUID of the NSD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
description body string Human-readable description for the resource.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up NS.

Response Example

{
  "nsd": [
    {
      "name": "nsd1"
      "description": "nsd-sample",
      "id": "99b2851e-a6a7-4467-9554-0eb50633f012",
      "tenant_id": "a81900a92bda40588c52699e1873a92f",
      "created_at": "2017-01-30 07:10:29.809127",
      "updated_at": null,
      "attributes": {
        "nsd": "imports: [vnf1, vnf2]\ntopology_template:\n  inputs:\n    vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n    vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n  node_templates:\n    VL1:\n      properties:\n        network_name: {get_input: vl1_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VL2:\n      properties:\n        network_name: {get_input: vl2_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VNF1:\n      requirements:\n      - {virtualLink1: VL1}\n      - {virtualLink2: VL2}\n      type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
      },
    }
  ]
}
GET
/v1.0/nsds/{nsd_id}

Show NSD

Shows information of a given NSD.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
nsd_id path string The UUID of the VNFD.

Response Parameters

Name In Type Description
nsds body array A list of nsd objects.
name body string Human-readable name for the resource.
id body string The UUID of the NSD.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
description body string Human-readable description for the resource.
created_at body string The date and time when the resource was created. The format is YYYY-MM-DD hh:mm:ss. For example, 2016-09-23 09:57:35.
updated_at body string The date and time when the resource was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
attributes body object Attributes necessary for spinning up NS.

Response Example

{
  "nsd": {
    "name": "nsd_sample"
    "description": "nsd-sample",
    "id": "99b2851e-a6a7-5467-9954-0e8a0633f941",
    "tenant_id": "a81900a92bda40588c52699e1873a92f",
    "created_at": "2017-01-30 07:11:37.807045",
    "updated_at": null,
    "attributes": {
      "nsd": "imports: [vnf1, vnf2]\ntopology_template:\n  inputs:\n    vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n    vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n  node_templates:\n    VL1:\n      properties:\n        network_name: {get_input: vl1_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VL2:\n      properties:\n        network_name: {get_input: vl2_name}\n        vendor: tacker\n      type: tosca.nodes.nfv.VL\n    VNF1:\n      requirements:\n      - {virtualLink1: VL1}\n      - {virtualLink2: VL2}\n      type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
    },
  }
}
DELETE
/v1.0/nsds/{nsd_id}

Delete NSD

Deletes a given NSD. Only a NSD without any associated NSs can be deleted.

Response Codes

Success
Code Reason
204 - No Content The server has fulfilled the request by deleting the resource.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
nsd_id path string The UUID of the VNFD.

Network Services (NSs)

Manages Network Servicess (NSs) and their resources.

NS resources are instantiations of network services described in the associated NSD TOSCA template.

POST
/v1.0/nss

Create NS

Creates a NS.

Response Codes

Success
Code Reason
201 - Created Resource was created and is ready to use.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
ns body object A ns object.
name body string Human-readable name for the resource.
description (Optional) body string Human-readable description for the resource.
nsd_id body string The UUID of the NSD.
vim_id (Optional) body string The UUID of the VIM.
tenant_id (Optional) body string The UUID of the tenant. A tenant is also known as a project.
attributes (Optional) body object NS attributes object. This object can contain param_values.

Request Example

{
  "ns": {
    "name": "ns_test",
    "nsd_id": "2e581b27-aa72-4a81-8efd-6c0e58533c9b"
    "description:": "sample NS",
    "tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
    "vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
    "attributes": {
      "param_values": {
        "nsd": {
          "vl2_name": "net0",
          "vl1_name": "net_mgmt"
        }
      }
    },
  }
}

Response Parameters

Name In Type Description
ns body object A ns object.
name body string Human-readable name for the resource.
description body string Human-readable description for the resource.
status body string Status of the NS.
id body string The UUID of the NS.
nsd_id body string The UUID of the NSD.
vnf_ids body array A list of vnf_id objects.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the NS was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the NS was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
mgmt_url body string Management URL information for the NS.
vim_id body string The UUID of the VIM.
error_reason body string Reason for NS error, if any.
attributes body object NS attributes object.

Response Example

{
  "ns": {
    "name": "network_service"
    "description": "sample-ns",
    "status": "PENDING_CREATE",
    "created_at": "2017-01-30 20:23:49.566482",
    "tenant_id": "a81900a92bda40588c52699e1873a92f",
    "vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
    "updated_at": null,
    "mgmt_urls": null,
    "vnf_ids": null,
    "error_reason": null,
    "nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
    "id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
  }
}
GET
/v1.0/nss

List NSs

Lists NSs.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Response Parameters

Name In Type Description
nss body array A list of ns objects.
name body string Human-readable name for the resource.
description body string Human-readable description for the resource.
status body string Status of the NS.
id body string The UUID of the NS.
nsd_id body string The UUID of the NSD.
vnf_ids body array A list of vnf_id objects.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the NS was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the NS was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
mgmt_url body string Management URL information for the NS.
vim_id body string The UUID of the VIM.
error_reason body string Reason for NS error, if any.
attributes body object NS attributes object.

Response Example

{
  "ns": [
    {
      "name": "network_service"
      "description": "sample-ns",
      "status": "PENDING_CREATE",
      "created_at": "2017-01-30 20:23:49.566482",
      "tenant_id": "a81900a92bda40588c52699e1873a92f",
      "vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
      "updated_at": null,
      "mgmt_urls": null,
      "vnf_ids": null,
      "error_reason": null,
      "nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
      "id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
    }
  ]
}
GET
/v1.0/nss/{ns_id}

Show NS

Shows information of a given NS.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems.

Request Parameters

Name In Type Description
ns_id path string The UUID of the NS.

Response Parameters

Name In Type Description
ns body object A ns object.
name body string Human-readable name for the resource.
description body string Human-readable description for the resource.
status body string Status of the NS.
id body string The UUID of the NS.
nsd_id body string The UUID of the NSD.
vnf_ids body array A list of vnf_id objects.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
created_at body string The date and time when the NS was created. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
updated_at body string The date and time when the NS was updated. The format is YYYY-MM-DD hh:mm:ss.ssssss. For example, 2016-09-23 09:59:27.392759.
mgmt_url body string Management URL information for the NS.
vim_id body string The UUID of the VIM.
error_reason body string Reason for NS error, if any.
attributes body object NS attributes object.

Response Example

{
  "ns": {
    "name": "network_service"
    "description": "sample-ns",
    "status": "PENDING_CREATE",
    "created_at": "2017-01-30 20:23:49.566482",
    "tenant_id": "a81900a92bda40588c52699e1873a92f",
    "vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
    "updated_at": null,
    "mgmt_urls": null,
    "vnf_ids": null,
    "error_reason": null,
    "nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
    "id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
  }
}
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.