8ba7edb18d
This reverts commit 5732e95f5d
.
There is one thing changed: addition of a note saying that
the feature is in development in the Queens cycle (as discussed
during the PTG in Denver).
Change-Id: I70e3bcd39527ba39a3c957956705148f77f7530a
225 lines
5.7 KiB
ReStructuredText
225 lines
5.7 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
===================
|
|
Router Associations
|
|
===================
|
|
|
|
Associating a BGPVPN to a Router can be done only for BGPVPN of type L3. The
|
|
semantic is that all Subnets bound to the Router will be interconnected with
|
|
the BGPVPN.
|
|
|
|
A said Router can be associated with multiple BGPVPNs.
|
|
|
|
Associating or disassociating a BGPVPN to a Router is done by manipulating a
|
|
Router association API resource as a sub-resource of the BGPVPN resource:
|
|
|
|
Advertising router extra routes to a BGPVPN
|
|
===========================================
|
|
|
|
The ``bgpvpn-routes-control`` API extension allows to control the
|
|
re-advertisement of a router extra routes in a BGPVPN ("extra routes" are
|
|
routes defined in the ``routes`` attribute of a router when the ``extraroute``
|
|
extension is available).
|
|
|
|
The ``advertise_extra_routes`` attribute can in this case be set on a
|
|
router_association:
|
|
|
|
- ``true``: the extra routes defined in the ``routes`` attribute of
|
|
the router will be advertised to the BGPVPN (default value)
|
|
- ``false``: the extra routes defined in the ``routes`` attribute of
|
|
the router will **not** be advertised to the BGPVPN
|
|
|
|
List Router Associations
|
|
=========================
|
|
|
|
.. rest_method:: GET /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations
|
|
|
|
Lists router associations for a given BGP VPN.
|
|
|
|
Use the ``fields`` query parameter to control which fields are
|
|
returned in the response body. Additionally, you can filter results
|
|
by using query string parameters. For information, see `Filtering
|
|
and Column Selection <https://wiki.openstack.org/wiki/Neutron/APIv2
|
|
-specification#Filtering_and_Column_Selection>`__.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 400, 401, 403, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bgpvpn_id: bgpvpn-id-path
|
|
- fields: fields
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- router_associations: bgpvpn-router_associations
|
|
- id: bgpvpn-router_association_id
|
|
- router_id: bgpvpn-router_id
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-list-response.json
|
|
:language: javascript
|
|
|
|
Create Router Association
|
|
==========================
|
|
|
|
.. rest_method:: POST /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations
|
|
|
|
Creates a router association for a given BGP VPN
|
|
|
|
Normal response codes: 201
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bgpvpn_id: bgpvpn-id-path
|
|
- router_association: bgpvpn-router_association
|
|
- router_id: bgpvpn-router_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- router_association: bgpvpn-router_association
|
|
- id: bgpvpn-router_association_id
|
|
- router_id: bgpvpn-router_id
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-create-response.json
|
|
:language: javascript
|
|
|
|
Show Router Association details
|
|
================================
|
|
|
|
.. rest_method:: GET /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{router_association_id}
|
|
|
|
Shows details for a router association.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 401, 403, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bgpvpn_id: bgpvpn-id-path
|
|
- router_association_id: bgpvpn-router_association_id-path
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- router_association: bgpvpn-router_association
|
|
- id: bgpvpn-router_association_id
|
|
- router_id: bgpvpn-router_id
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-show-response.json
|
|
:language: javascript
|
|
|
|
|
|
Update a Router Association ('bgpvpn-routes-control' extension)
|
|
===============================================================
|
|
|
|
.. note:: This operation is only available when the ``bgpvpn-routes-control``
|
|
API extension is enabled.
|
|
|
|
.. rest_method:: PUT /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{router_association_id}
|
|
|
|
Updates a router association.
|
|
|
|
Normal response codes: 201
|
|
|
|
Error response codes: 400, 401, 403, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bgpvpn_id: bgpvpn-id-path
|
|
- router_association_id: bgpvpn-router_association_id-path
|
|
- router_association: bgpvpn-router_association
|
|
- advertise_extra_routes: bgpvpn-advertise_extra_routes-request
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- router_association: bgpvpn-router_association
|
|
- id: bgpvpn-router_association_id
|
|
- router_id: bgpvpn-router_id
|
|
- project_id: project_id
|
|
- advertise_extra_routes: bgpvpn-advertise_extra_routes
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/bgpvpn/router_associations/router_association-update-response.json
|
|
:language: javascript
|
|
|
|
|
|
Delete Router Association
|
|
==========================
|
|
|
|
.. rest_method:: DELETE /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{router_association_id}
|
|
|
|
Deletes a router association.
|
|
|
|
Normal response codes: 204
|
|
|
|
Error response codes: 401, 403, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bgpvpn_id: bgpvpn-id-path
|
|
- router_association_id: bgpvpn-router_association_id-path
|
|
|
|
Response
|
|
--------
|
|
|
|
There is no body content for the response of a successful DELETE request.
|