NFV Orchestration API v1.0
API versions
Lists information of NFV Orchestration API 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.
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"
}
]
}
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 .
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"
}
}
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"
}
]
}
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"
}
}
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"
}
}
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.
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"
}
}
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"
}
]
}
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"
}
}
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"
}
}
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.
/v1.0/vnfs/{vnf_id} /resources
detail
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"
}
]
}
/v1.0/vnfs/{vnf_id} /actions
detail
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.
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"
}
}
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"
}
]
}
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"
}
}
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"
}
}
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:
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"
}
]
}
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 .
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/tosca/lib/tacker_defs.yaml" ,
"/opt/stack/tacker/tacker/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"
}
}
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/tosca/lib/tacker_defs.yaml" ,
"/opt/stack/tacker/tacker/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"
}
]
}
/v1.0/vnffgds/{vnffgd_id}
detail
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/tosca/lib/tacker_defs.yaml" ,
"/opt/stack/tacker/tacker/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"
}
}
/v1.0/vnffgds/{vnffgd_id}
detail
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 .
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"
}
}
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"
}
]
}
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"
}
}
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.
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"
}
]
}
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.
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"
}
]
}
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.
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
}
}
]
}
/v1.0/classifiers/{sfc_id}
detail
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 .
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"
},
}
}
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"
},
}
]
}
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"
},
}
}
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.
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" ,
}
}
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" ,
}
]
}
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" ,
}
}