API reference documentation

This patch follows on api-ref skeleton [1] and brings the
NFV Orchestration API reference content to the repository.
It is a part of the effort described in [2].

[1] https://review.openstack.org/#/c/332183
[2] https://wiki.openstack.org/wiki/Documentation/Migrate#API_Reference_Plan

Change-Id: Ia2d91adb33f10df9073de74eb82cc19be29a3da2
This commit is contained in:
Naoya Harada 2016-11-22 19:24:00 +09:00
parent f80a2b1723
commit 4a0b5c4569
53 changed files with 3793 additions and 0 deletions

View File

@ -0,0 +1,96 @@
.. -*- rst -*-
===========
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.
List classifiers
================
.. rest_method:: GET /v1.0/classifiers
Lists classifiers.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- classifiers: classifiers
- status: classifier_status
- nfp_id: classifier_nfp_id
- tenant_id: tenant_id
- chain_id: classifier_chain_id
- instance_id: classifier_instance_id
- id: classifier_id
- match: classifier_match
Response Example
----------------
.. literalinclude:: samples/classifiers/classifiers-list-response.json
:language: javascript
Show classifier
===============
.. rest_method:: GET /v1.0/classifiers/{sfc_id}
Shows information of a given classifier.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- classifier_id: classifier_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- classifiers: classifiers
- status: classifier_status
- nfp_id: classifier_nfp_id
- tenant_id: tenant_id
- chain_id: classifier_chain_id
- instance_id: classifier_instance_id
- id: classifier_id
- match: classifier_match
Response Example
----------------
.. literalinclude:: samples/classifiers/classifiers-show-response.json
:language: javascript

View File

@ -0,0 +1,98 @@
.. -*- rst -*-
==========
Events
==========
Lists and shows captured events.
Tacker currently supports events for following resource types:
- VNFD
- VNF
- VIM
List events
===========
.. rest_method:: GET /v1.0/events
Lists events of resources.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- events: events
- resource_id: event_resource_id
- timestamp: event_timestamp
- event_details: event_details
- resource_state: event_resource_state
- id: event_id
- resource_type: event_resource_type
Response Example
----------------
.. literalinclude:: samples/events/events-list-response.json
:language: javascript
Show event
==========
.. rest_method:: GET /v1.0/events/{event_id}
Shows information of a given event.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- event_id: event_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- event: event
- resource_id: event_resource_id
- timestamp: event_timestamp
- event_details: event_details
- resource_state: event_resource_state
- id: event_id
- resource_type: event_resource_type
Response Example
----------------
.. literalinclude:: samples/events/events-show-response.json
:language: javascript

View File

@ -0,0 +1,91 @@
.. -*- rst -*-
==========
Extensions
==========
Lists extensions and shows information of a given extension.
Extensions introduce features to the API.
List extensions
===============
.. rest_method:: GET /v1.0/extensions
Lists available extensions.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- extensions: extensions
- updated: extension_updated_at
- name: name
- links: links
- alias: alias
- description: description
Response Example
----------------
.. literalinclude:: samples/extensions/extensions-list-response.json
:language: javascript
Show extension
==============
.. rest_method:: GET /v1.0/extensions/{alias}
Shows information of a given extension.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- alias: alias_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- extension: extensions
- updated: extension_updated_at
- name: name
- links: links
- alias: alias
- description: description
Response Example
----------------
.. literalinclude:: samples/extensions/extensions-show-response.json
:language: javascript

View File

@ -0,0 +1,98 @@
.. -*- rst -*-
===============================
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.
List NFPs
=========
.. rest_method:: GET /v1.0/nfps
Lists NFPs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nfps: nfps
- status: nfp_status
- name: name
- tenant_id: tenant_id
- chain_id: sfc_id
- path_id: sfc_path_id
- symmetrical: symmetrical
- classifier_id: classifier_id
- id: nfp_id
Response Example
----------------
.. literalinclude:: samples/nfps/nfps-list-response.json
:language: javascript
Show NFP
========
.. rest_method:: GET /v1.0/nfps/{nfp_id}
Shows information of a given NFP.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- nfp_id: nfp_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nfp: nfp
- status: nfp_status
- name: name
- tenant_id: tenant_id
- chain_id: sfc_id
- path_id: sfc_path_id
- symmetrical: symmetrical
- classifier_id: classifier_id
- id: nfp_id
Response Example
----------------
.. literalinclude:: samples/nfps/nfps-show-response.json
:language: javascript

View File

@ -0,0 +1,807 @@
# variables in header
# variables in path
alias_path:
description: |
The alias of the extension.
in: path
required: true
type: string
classifier_id_path:
description: |
The UUID of the classifier.
in: path
required: true
type: string
event_id_path:
description: |
The ID of the event.
in: path
required: true
type: string
nfp_id_path:
description: |
The UUID of the NFP.
in: path
required: true
type: string
sfc_id_path:
description: |
The UUID of the SFC.
in: path
required: true
type: string
vim_id_path:
description: |
The UUID of the VIM.
in: path
required: true
type: string
vnf_id_path:
description: |
The UUID of the VNF.
in: path
required: true
type: string
vnfd_id_path:
description: |
The UUID of the VNFD.
in: path
required: true
type: string
vnffg_id_path:
description: |
The UUID of the VNFFG.
in: path
required: true
type: string
vnffgd_id_path:
description: |
The UUID of the VNFFGD.
in: path
required: true
type: string
# variables in query
# variables in body
alias:
description: |
The alias for the extension. For example,
"Commonservices", "NFVO" or "VNFM".
in: body
required: true
type: string
classifier:
description: |
A ``classifier`` object.
in: body
required: true
type: object
classifier_chain_id:
description: |
The UUID of the SFC which the classifier is related to.
in: body
required: true
type: string
classifier_id:
description: |
The UUID of the Classifier.
in: body
required: true
type: string
classifier_instance_id:
description: |
The UUID information to uniquely identify the classifier instance.
A classifier is instantiated as a Neutron Flow Classifier when
using OpenStack VIM Driver.
in: body
required: true
type: string
classifier_match:
description: |
A match policy object that will be used to distinguish which
traffic should enter the related SFC.
in: body
required: true
type: object
classifier_nfp_id:
description: |
The UUID of the NFP which the classifier belongs to.
in: body
required: true
type: string
classifier_status:
description: |
Status of the classifier.
in: body
required: true
type: string
classifiers:
description: |
A list of ``classifier`` objects.
in: body
required: true
type: array
created_at:
description: |
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``.
in: body
required: true
type: string
description:
description: |
Human-readable description for the resource.
in: body
required: true
type: string
description_opt:
description: |
Human-readable description for the resource.
in: body
required: false
type: string
event:
description: |
An ``event`` object.
in: body
required: true
type: object
event_details:
description: |
The detailed information for the event, if any.
in: body
required: true
type: string
event_id:
description: |
The ID of the event.
in: body
required: true
type: integer
event_resource_id:
description: |
The UUID of the resource that is related to the event.
in: body
required: true
type: string
event_resource_state:
description: |
The state of the resource that is related to the event.
in: body
required: true
type: string
event_resource_type:
description: |
The type of the resource that is related to the event.
in: body
required: true
type: string
event_timestamp:
description: |
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``.
in: body
required: true
type: string
events:
description: |
A list of ``event`` objects.
in: body
required: true
type: array
extension:
description: |
An ``extension`` object.
in: body
required: true
type: object
extension_updated_at:
description: |
The date and time when the resource was updated. The format is
`ISO 8601 <https://en.wikipedia.org/wiki/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.
in: body
required: true
type: string
extensions:
description: |
A list of ``extension`` objects.
in: body
required: true
type: array
infra_driver:
description: |
Driver used for communication with VIMs.
in: body
required: true
type: string
infra_driver_opt:
description: |
Driver used for communication with VIMs.
in: body
required: false
type: string
links:
description: |
A list of links related to the extension.
in: body
required: true
type: array
mgmt_driver:
description: |
Driver used for communication with VNF instances for management purpose.
in: body
required: true
type: string
mgmt_driver_opt:
description: |
Driver used for communication with VNF instances for management purpose.
in: body
required: false
type: string
name:
description: |
Human-readable name for the resource.
in: body
required: true
type: string
name_opt:
description: |
Human-readable name for the resource.
in: body
required: false
type: string
nfp:
description: |
A ``nfp`` object.
in: body
required: true
type: object
nfp_id:
description: |
The UUID of the Network Forwarding Path (NFP).
in: body
required: true
type: string
nfp_status:
description: |
Status of the NFP.
in: body
required: true
type: string
nfps:
description: |
A list of ``nfp`` objects.
in: body
required: true
type: array
service_types:
description: |
A list of service type.
in: body
required: true
type: array
sfc:
description: |
A ``sfc`` object.
in: body
required: true
type: object
sfc_chain:
description: |
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.
in: body
required: true
type: array
sfc_id:
description: |
The UUID of the Service Function Chain (SFC).
in: body
required: true
type: string
sfc_instance_id:
description: |
The UUID information to uniquely identify the SFC instance.
A SFC is instantiated as a Neutron Port Chain when using
OpenStack VIM Driver.
in: body
required: true
type: string
sfc_nfp_id:
description: |
The UUID of the NFP which the SFC belongs to.
in: body
required: true
type: string
sfc_path_id:
description: |
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.
in: body
required: true
type: string
sfc_status:
description: |
Status of the SFC.
in: body
required: true
type: string
sfcs:
description: |
A list of ``sfc`` objects.
in: body
required: true
type: array
symmetrical:
description: |
Indicate whether reverse traffic should also flow through the path.
Enabling ``symmetrical`` is not currently supported by the OpenStack
VIM driver.
in: body
required: true
type: boolean
symmetrical_opt:
description: |
Indicate whether reverse traffic should also flow through the path.
Enabling ``symmetrical`` is not currently supported by the OpenStack
VIM driver.
in: body
required: false
type: boolean
tenant_id:
description: |
The UUID of the tenant. A tenant is also known as a project.
in: body
required: true
type: string
tenant_id_opt:
description: |
The UUID of the tenant. A tenant is also known as a project.
in: body
required: false
type: string
updated_at:
description: |
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``.
in: body
required: true
type: string
version_href:
description: |
Link to the API.
in: body
required: true
type: string
version_id:
description: |
Version of the API.
in: body
required: true
type: string
version_links:
description: |
List of version links. Each link contains ``href`` and ``rel``.
in: body
required: true
type: array
version_rel:
description: |
Relationship of link with the version.
in: body
required: true
type: string
version_status:
description: |
Status of the API, which can be ``CURRENT``, ``STABLE`` or ``DEPRECATED``.
in: body
required: true
type: string
versions:
description: |
A list of ``version`` objects.
in: body
required: true
type: array
vim:
description: |
A ``vim`` object.
in: body
required: true
type: object
vim_auth_cred:
description: |
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.
in: body
required: true
type: object
vim_auth_cred_output:
description: |
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.
in: body
required: true
type: object
vim_auth_url:
description: |
The authentication URL for the Keystone service of the remote OpenStack site.
in: body
required: true
type: string
vim_created_at:
description: |
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``.
in: body
required: true
type: string
vim_id:
description: |
The UUID of the VIM.
in: body
required: true
type: string
vim_id_opt:
description: |
The UUID of the VIM.
in: body
required: false
type: string
vim_is_default:
description: |
Indicate whether the VIM is used as default.
in: body
required: true
type: boolean
vim_is_default_opt:
description: |
Indicate whether the VIM is used as default.
in: body
required: false
type: boolean
vim_placement_attr:
description: |
VIM placement information object that includes ``regions``, which is
a list of Region IDs. ``regions`` are automatically derived from VIM.
in: body
required: true
type: object
vim_project:
description: |
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.
in: body
required: true
type: object
vim_project_opt:
description: |
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.
in: body
required: false
type: object
vim_status:
description: |
Status of the VIM.
in: body
required: true
type: string
vim_type:
description: |
The type of VIM. Currently there is only one built-in VIM driver,
which is for "openstack" type.
in: body
required: true
type: string
vim_updated_at:
description: |
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``.
in: body
required: true
type: string
vims:
description: |
A list of ``vim`` objects.
in: body
required: true
type: array
vnf:
description: |
A ``vnf`` object.
in: body
required: true
type: object
vnf_attributes:
description: |
VNF attributes object. This object can contain ``config``,
``param_values``, ``monitoring_policy``, and ``heat_template``.
in: body
required: true
type: object
vnf_attributes_opt:
description: |
VNF attributes object. This object can contain ``config`` and
``param_values``.
in: body
required: false
type: object
vnf_attributes_put:
description: |
VNF attributes object. This object can contain ``config`` object.
in: body
required: false
type: object
vnf_config:
description: |
VNF configuration object.
in: body
required: true
type: string
vnf_config_opt:
description: |
VNF configuration object.
in: body
required: false
type: object
vnf_created_at:
description: |
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``.
in: body
required: true
type: string
vnf_error_reason:
description: |
Reason for VNF error, if any.
in: body
required: true
type: string
vnf_heat_template:
description: |
Heat template which is translated from the VNFD template.
in: body
required: true
type: string
vnf_id:
description: |
The UUID of the VNF.
in: body
required: true
type: string
vnf_instance_id:
description: |
A UUID information to uniquely identify the instance of VNF.
This instance is equivalent to a Heat stack when using
"openstack" type VIM.
in: body
required: true
type: string
vnf_mapping:
description: |
A ``vnf_mapping`` object which contains mappings from VNFD name
to VNF instance ID.
in: body
required: true
type: object
vnf_mapping_opt:
description: |
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.
in: body
required: false
type: object
vnf_mgmt_url:
description: |
Management URL information for the VNF.
in: body
required: true
type: string
vnf_monitoring_policy:
description: |
Monitoring policy which is derived from the VNFD template.
in: body
required: true
type: string
vnf_param_values:
description: |
VNF parameter object. These parameters will be substituted for VNF
if the VNFD template is appropriately parameterized.
See `VNFD Template Parameterization
<http://docs.openstack.org/developer/tacker/devref/vnfd_template_parameterization.html>`_
for more information.
in: body
required: true
type: string
vnf_param_values_opt:
description: |
VNF parameter object. These parameters will be substituted for VNF
if the VNFD template is appropriately parameterized.
See `VNFD Template Parameterization
<http://docs.openstack.org/developer/tacker/devref/vnfd_template_parameterization.html>`_
for more information.
in: body
required: false
type: object
vnf_placement_attr:
description: |
VNF placement information object. This object includes ``region_name``
and ``vim_name``.
in: body
required: true
type: object
vnf_placement_attr_opt:
description: |
VNF placement information object. This object includes ``region_name``.
in: body
required: false
type: object
vnf_resource_id:
description: |
The UUID of the VNF resource. This is equivalent to Heat stack resource ID.
in: body
required: true
type: string
vnf_resource_name:
description: |
The name of the VNF resource. This is equivalent to Heat stack resource name.
in: body
required: true
type: string
vnf_resource_type:
description: |
The type of the VNF resource. This is equivalent to Heat stack resource type.
in: body
required: true
type: string
vnf_resources:
description: |
A list of VNF ``resource`` objects.
in: body
required: true
type: array
vnf_scale:
description: |
A VNF ``scale`` object, which contains ``policy`` and ``type``.
in: body
required: true
type: object
vnf_scale_policy:
description: |
Scaling policy defined in VNFD template. For more information, see
`VNFD scaling
<http://docs.openstack.org/developer/tacker/devref/vnfd_template_parameterization.html>`_.
in: body
required: true
type: string
vnf_scale_type:
description: |
Scaling type, which is either ``in`` or ``out``.
in: body
required: true
type: string
vnf_status:
description: |
Status of the VNF.
in: body
required: true
type: string
vnf_updated_at:
description: |
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``.
in: body
required: true
type: string
vnfd:
description: |
A ``vnfd`` object.
in: body
required: true
type: object
vnfd_attributes:
description: |
Attributes necessary for spinning up VNF.
in: body
required: true
type: object
vnfd_id:
description: |
The UUID of the VNFD.
in: body
required: true
type: string
vnfds:
description: |
A list of ``vnfd`` objects.
in: body
required: true
type: array
vnffg:
description: |
A ``vnffg`` object.
in: body
required: true
type: object
vnffg_forwarding_paths:
description: |
The UUID of the Network Forwarding Path (NFP) on which
the VNFFG relies.
in: body
required: true
type: string
vnffg_id:
description: |
The UUID of the VNFFG.
in: body
required: true
type: string
vnffg_status:
description: |
Status of the VNFFG.
in: body
required: true
type: string
vnffgd:
description: |
A ``vnffgd`` object.
in: body
required: true
type: object
vnffgd_id:
description: |
The UUID of the VNFFGD.
in: body
required: true
type: string
vnffgd_template:
description: |
A template object which includes behavioral and deployment
information of VNFFGs. For more information, see
`VNFFG Descriptor Template Guide
<http://docs.openstack.org/developer/tacker/devref/vnffgd_template_description.html>`_.
in: body
required: true
type: object
vnffgds:
description: |
A list of ``vnffgd`` objects.
in: body
required: true
type: array
vnffgs:
description: |
A list of ``vnffg`` objects.
in: body
required: true
type: array
vnfs:
description: |
A list of ``vnf`` objects.
in: body
required: true
type: array

View File

@ -0,0 +1,19 @@
{
"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
}
}
]
}

View File

@ -0,0 +1,17 @@
{
"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
}
}
}

View File

@ -0,0 +1,31 @@
{
"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"
}
]
}

View File

@ -0,0 +1,11 @@
{
"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"
}
}

View File

@ -0,0 +1,28 @@
{
"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"
}
]
}

View File

@ -0,0 +1,10 @@
{
"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"
}
}

View File

@ -0,0 +1,14 @@
{
"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"
}
]
}

View File

@ -0,0 +1,12 @@
{
"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"
}
}

View File

@ -0,0 +1,27 @@
{
"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"
}
]
}

View File

@ -0,0 +1,25 @@
{
"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"
}
}

View File

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

View File

@ -0,0 +1,19 @@
{
"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
}
}

View File

@ -0,0 +1,32 @@
{
"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"
}
}

View File

@ -0,0 +1,36 @@
{
"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"
}
]
}

View File

@ -0,0 +1,34 @@
{
"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"
}
}

View File

@ -0,0 +1,18 @@
{
"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
}
}

View File

@ -0,0 +1,34 @@
{
"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"
}
}

View File

@ -0,0 +1,69 @@
{
"vnfd": {
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"name": "vnfd-sample",
"description": "Sample",
"service_types": [
{
"service_type": "vnfd"
}
],
"infra_driver": "heat",
"mgmt_driver": "noop",
"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.4-x86_64-uec"
}
},
"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"
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,21 @@
{
"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,
"mgmt_driver": "noop",
"infra_driver": "heat",
"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.4-x86_64-uec}\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"
}
}

View File

@ -0,0 +1,23 @@
{
"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,
"mgmt_driver": "noop",
"infra_driver": "heat",
"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.4-x86_64-uec}\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"
}
]
}

View File

@ -0,0 +1,21 @@
{
"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,
"mgmt_driver": "noop",
"infra_driver": "heat",
"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.4-x86_64-uec}\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"
}
}

View File

@ -0,0 +1,6 @@
{
"vnfd": {
"name": "vnfd-sample-updated",
"description": "Updated sample"
}
}

View File

@ -0,0 +1,21 @@
{
"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",
"mgmt_driver": "noop",
"infra_driver": "heat",
"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.4-x86_64-uec}\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"
}
}

View File

@ -0,0 +1,78 @@
{
"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"
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,12 @@
{
"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
}
}

View File

@ -0,0 +1,15 @@
{
"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"
}
}

View File

@ -0,0 +1,17 @@
{
"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"
}
]
}

View File

@ -0,0 +1,15 @@
{
"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"
}
}

View File

@ -0,0 +1,6 @@
{
"scale": {
"policy": "SP1",
"type": "out"
}
}

View File

@ -0,0 +1,6 @@
{
"scale": {
"policy": "SP1",
"type": "out"
}
}

View File

@ -0,0 +1,32 @@
{
"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"
}
}
}

View File

@ -0,0 +1,27 @@
{
"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"
}
}

View File

@ -0,0 +1,28 @@
{
"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"
}
]
}

View File

@ -0,0 +1,29 @@
{
"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"
}
]
}

View File

@ -0,0 +1,26 @@
{
"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"
}
}

View File

@ -0,0 +1,15 @@
{
"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"
}
}
}
}
}
}
}

View File

@ -0,0 +1,26 @@
{
"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"
}
}

View File

@ -0,0 +1,97 @@
.. -*- rst -*-
==============================
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.
List SFCs
=========
.. rest_method:: GET /v1.0/sfcs
Lists SFCs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- sfcs: sfcs
- status: sfc_status
- path_id: sfc_path_id
- nfp_id: sfc_nfp_id
- chain: sfc_chain
- tenant_id: tenant_id
- instance_id: sfc_instance_id
- symmetrical: symmetrical
- id: sfc_id
Response Example
----------------
.. literalinclude:: samples/sfcs/sfcs-list-response.json
:language: javascript
Show SFC
========
.. rest_method:: GET /v1.0/sfcs/{sfc_id}
Shows information of a given SFC.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- sfc_id: sfc_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- sfc: sfc
- status: sfc_status
- path_id: sfc_path_id
- nfp_id: sfc_nfp_id
- chain: sfc_chain
- tenant_id: tenant_id
- instance_id: sfc_instance_id
- symmetrical: symmetrical
- id: sfc_id
Response Example
----------------
.. literalinclude:: samples/sfcs/sfcs-show-response.json
:language: javascript

View File

@ -0,0 +1,62 @@
#################
# Success Codes #
#################
200:
default: |
Request was successful.
201:
default: |
Resource was created and is ready to use.
202:
default: |
Request was accepted for processing, but the processing has not been
completed. A 'location' header is included in the response which contains
a link to check the progress of the request.
204:
default: |
The server has fulfilled the request by deleting the resource.
300:
default: |
There are multiple choices for resources. The request has to be more
specific to successfully retrieve one of these resources.
302:
default: |
The response is about a redirection hint. The header of the response
usually contains a 'location' value where requesters can check to track
the real location of the resource.
#################
# Error Codes #
#################
400:
default: |
Some content in the request was invalid.
resource_signal: |
The target resource doesn't support receiving a signal.
401:
default: |
User must authenticate before making a request.
403:
default: |
Policy does not allow current user to do this operation.
404:
default: |
The requested resource could not be found.
405:
default: |
Method is not valid for this endpoint.
409:
default: |
This operation conflicted with another operation on this resource.
duplcate_zone: |
There is already a zone with this name.
500:
default: |
Something went wrong inside the service. This should not happen usually.
If it does happen, it means the server has experienced some serious
problems.
503:
default: |
Service is not available. This is mostly caused by service configuration
errors which prevents the service from successful start up.

View File

@ -0,0 +1,44 @@
.. -*- rst -*-
============
API versions
============
Lists information of NFV Orchestration API versions.
List versions
=============
.. rest_method:: GET /
Lists NFV Orchestration API versions.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- versions: versions
- status: version_status
- id: version_id
- links: version_links
- href: version_href
- rel: version_rel
Response Example
----------------
.. literalinclude:: samples/versions/versions-list-response.json
:language: javascript

View File

@ -0,0 +1,274 @@
.. -*- rst -*-
==========================================
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.
Register VIM
============
.. rest_method:: POST /v1.0/vims
Registers a VIM.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vim: vim
- tenant_id: tenant_id_opt
- type: vim_type
- auth_url: vim_auth_url
- auth_cred: vim_auth_cred
- vim_project: vim_project
- name: name
- description: description_opt
- is_default: vim_is_default_opt
Request Example
---------------
.. literalinclude:: samples/vims/vims-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vim: vim
- status: vim_status
- description: description
- tenant_id: tenant_id
- created_at: vim_created_at
- vim_project: vim_project
- updated_at: vim_updated_at
- is_default: vim_is_default
- auth_url: vim_auth_url
- placement_attr: vim_placement_attr
- auth_cred: vim_auth_cred_output
- type: vim_type
- id: vim_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vims/vims-create-response.json
:language: javascript
List VIMs
=========
.. rest_method:: GET /v1.0/vims
Lists VIMs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vims: vims
- status: vim_status
- description: description
- tenant_id: tenant_id
- created_at: vim_created_at
- vim_project: vim_project
- updated_at: vim_updated_at
- is_default: vim_is_default
- auth_url: vim_auth_url
- placement_attr: vim_placement_attr
- auth_cred: vim_auth_cred_output
- type: vim_type
- id: vim_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vims/vims-list-response.json
:language: javascript
Show VIM
========
.. rest_method:: GET /v1.0/vims/{vim_id}
Shows information of a given VIM.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vim_id: vim_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vim: vim
- status: vim_status
- description: description
- tenant_id: tenant_id
- created_at: vim_created_at
- vim_project: vim_project
- updated_at: vim_updated_at
- is_default: vim_is_default
- auth_url: vim_auth_url
- placement_attr: vim_placement_attr
- auth_cred: vim_auth_cred_output
- type: vim_type
- id: vim_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vims/vims-show-response.json
:language: javascript
Update VIM
==========
.. rest_method:: PUT /v1.0/vims/{vim_id}
Updates a given VIM.
Only a VIM without any associated VNFs can be updated.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vim_id: vim_id_path
- vim: vim
- auth_cred: vim_auth_cred
- vim_project: vim_project_opt
- name: name_opt
- description: description_opt
- is_default: vim_is_default_opt
Request Example
---------------
.. literalinclude:: samples/vims/vims-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vim: vim
- status: vim_status
- description: description
- tenant_id: tenant_id
- created_at: vim_created_at
- vim_project: vim_project
- updated_at: vim_updated_at
- is_default: vim_is_default
- auth_url: vim_auth_url
- placement_attr: vim_placement_attr
- auth_cred: vim_auth_cred_output
- type: vim_type
- id: vim_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vims/vims-update-response.json
:language: javascript
Delete VIM
==========
.. rest_method:: DELETE /v1.0/vims/{vim_id}
Deletes a given VIM.
Only a VIM without any associated VNFs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vim_id: vim_id_path

View File

@ -0,0 +1,256 @@
.. -*- rst -*-
================================================
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
<http://docs.openstack.org/developer/tacker/devref/vnfd_template_description.html>`_.
Create VNFD
===========
.. rest_method:: POST /v1.0/vnfds
Creates a VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- name: name
- description: description_opt
- service_types: service_types
- infra_driver: infra_driver_opt
- mgmt_driver: mgmt_driver_opt
- attributes: vnfd_attributes
Request Example
---------------
.. literalinclude:: samples/vnfds/vnfds-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- mgmt_driver: mgmt_driver
- infra_driver: infra_driver
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-create-response.json
:language: javascript
List VNFDs
==========
.. rest_method:: GET /v1.0/vnfds
Lists VNFDs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfds: vnfds
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- mgmt_driver: mgmt_driver
- infra_driver: infra_driver
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-list-response.json
:language: javascript
Show VNFD
=========
.. rest_method:: GET /v1.0/vnfds/{vnfd_id}
Shows information of a given VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- mgmt_driver: mgmt_driver
- infra_driver: infra_driver
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-show-response.json
:language: javascript
Update VNFD
===========
.. rest_method:: PUT /v1.0/vnfds/{vnfd_id}
Updates a given VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path
- name: name_opt
- description: description_opt
Request Example
---------------
.. literalinclude:: samples/vnfds/vnfds-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- mgmt_driver: mgmt_driver
- infra_driver: infra_driver
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-update-response.json
:language: javascript
Delete VNFD
===========
.. rest_method:: DELETE /v1.0/vnfds/{vnfd_id}
Deletes a given VNFD.
Only a VNFD without any associated VNFs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path

View File

@ -0,0 +1,176 @@
.. -*- rst -*-
==========================================
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
<http://docs.openstack.org/developer/tacker/devref/vnffgd_template_description.html>`_.
Create VNFFGD
=============
.. rest_method:: POST /v1.0/vnffgds
Creates a VNFFGD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- name: name
- template: vnffgd_template
- description: description_opt
Request Example
---------------
.. literalinclude:: samples/vnffgds/vnffgds-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgd: vnffgd
- tenant_id: tenant_id
- name: name
- template: vnffgd_template
- description: description
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-create-response.json
:language: javascript
List VNFFGDs
============
.. rest_method:: GET /v1.0/vnffgds
Lists VNFFGDs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgds: vnffgds
- description: description
- tenant_id: tenant_id
- id: vnffgd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-list-response.json
:language: javascript
Show VNFFGD
===========
.. rest_method:: GET /v1.0/vnffgds/{vnffgd_id}
Shows information of a given VNFFGD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffgd_id: vnffgd_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgd: vnffgd
- description: description
- tenant_id: tenant_id
- id: vnffgd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-show-response.json
:language: javascript
Delete VNFFGD
=============
.. rest_method:: DELETE /v1.0/vnffgds/{vnffgd_id}
Deletes a given VNFFGD.
Only a VNFFGD without any associated VNFFGs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffgd_id: vnffgd_id_path

View File

@ -0,0 +1,187 @@
.. -*- rst -*-
==============================
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
<http://docs.openstack.org/developer/tacker/devref/vnffg_usage_guide.html>`_.
Create VNFFG
============
.. rest_method:: POST /v1.0/vnffgs
Creates a VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- vnffgd_id: vnffgd_id
- name: name
- vnf_mapping: vnf_mapping_opt
- symmetrical: symmetrical_opt
Request Example
---------------
.. literalinclude:: samples/vnffgs/vnffgs-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffg: vnffg
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-create-response.json
:language: javascript
List VNFFGs
===========
.. rest_method:: GET /v1.0/vnffgs
Lists VNFFGs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgs: vnffgs
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-list-response.json
:language: javascript
Show VNFFG
==========
.. rest_method:: GET /v1.0/vnffgs/{vnffg_id}
Shows information of a given VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffg_id: vnffg_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffg: vnffg
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-show-response.json
:language: javascript
Delete VNFFG
============
.. rest_method:: DELETE /v1.0/vnffgs/{vnffg_id}
Deletes a given VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffg_id: vnffg_id_path

View File

@ -0,0 +1,382 @@
.. -*- rst -*-
====================================
Virtualized Network Functions (VNFs)
====================================
Manages Virtualized Network Functions (VNFs) and their resources.
The VNF takes on the responsibility for handling specific network functions.
Create VNF
==========
.. rest_method:: POST /v1.0/vnfs
Creates a VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- tenant_id: tenant_id_opt
- vnfd_id: vnfd_id
- vim_id: vim_id_opt
- name: name
- description: description_opt
- attributes: vnf_attributes_opt
- config: vnf_config_opt
- param_values: vnf_param_values_opt
- placement_attr: vnf_placement_attr_opt
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_url: vnf_mgmt_url
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-create-response.json
:language: javascript
List VNFs
=========
.. rest_method:: GET /v1.0/vnfs
Lists VNFs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfs: vnfs
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_url: vnf_mgmt_url
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-list-response.json
:language: javascript
Show VNF
========
.. rest_method:: GET /v1.0/vnfs/{vnf_id}
Shows information of a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_url: vnf_mgmt_url
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-show-response.json
:language: javascript
Update VNF
===========
.. rest_method:: PUT /v1.0/vnfs/{vnf_id}
Updates a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- attributes: vnf_attributes_put
- config: vnf_config_opt
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_url: vnf_mgmt_url
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-update-response.json
:language: javascript
Delete VNF
==========
.. rest_method:: DELETE /v1.0/vnfs/{vnf_id}
Deletes a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
List VNF resources
==================
.. rest_method:: GET /v1.0/vnfs/{vnf_id}/resources
Lists resources, such as VDU/CP, of a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- resources: vnf_resources
- type: vnf_resource_type
- name: vnf_resource_name
- id: vnf_resource_id
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-resources-list-response.json
:language: javascript
Trigger VNF scaling
===================
.. rest_method:: POST /v1.0/vnfs/{vnf_id}/actions
Triggers VNF scaling action.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
- scale: vnf_scale
- policy: vnf_scale_policy
- type: vnf_scale_type
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-actions-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- scale: vnf_scale
- policy: vnf_scale_policy
- type: vnf_scale_type
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-actions-create-response.json
:language: javascript