Verb | URI | Description |
PUT | /routers/router_id /add_router_interface |
Adds an internal interface to a logical router. |
Normal Response Code: 200
Error Response Codes: Unauthorized (401), Bad Request (400), Not Found (404), Conflict (409)
This operation attaches a subnet to an internal
router interface. Either a subnet identifier or a port
identifier must be passed in the request body. If both
are specified, a 400 Bad Request
error is returned.
When the subnet_id
attribute is
specified in the request body, the subnet's gateway ip
address is used to create the router interface;
otherwise, if port_id
is specified,
the IP address associated with the port is used for
creating the router interface.
It is worth remarking that a 400 Bad
Request
error is returned if several IP
addresses are associated with the specified port, or
if no IP address is associated with the port; also a
409 Conflict
is returned if the
port is already used.
Example 4.22. Add Router Interface: JSON Request
PUT /v2.0/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2e/add_router_interface Accept: application/json {"subnet_id": "a2f1f29d-571b-4533-907f-5803ab96ead1"}
Example 4.23. Add Router Interface: JSON Response
{ "subnet_id": "a2f1f29d-571b-4533-907f-5803ab96ead1", "port_id": "3a44f4e5-1694-493a-a1fb-393881c673a4" }
The port identifier returned by this operation can
either be the same identifier passed in the request
body or the identifier of a new port created by this
operation to attach the subnet specified by
subnet_id
to the router.
It is also worth noting that after executing this
operation, the device_id
attribute
of this port is set to the router's identifier, and
the device_owner
attribute is set
to network:router_interface
, as
shown in the following example:
{ "port": { "status": "ACTIVE", "name": "", "admin_state_up": true, "network_id": "5307648b-e836-4658-8f1a-ff7536870c64", "tenant_id": "6b96ff0cb17a4b859e1e575d221683d3", "device_owner": "network:router_interface", "mac_address": "fa:16:3e:f7:d1:9c", "fixed_ips": [{ "subnet_id": "a2f1f29d-571b-4533-907f-5803ab96ead1", "ip_address": "10.1.1.1" }], "id": "3a44f4e5-1694-493a-a1fb-393881c673a4", "device_id": "7177abc4-5ae9-4bb7-b0d4-89e94a4abf3b" } }