nova/api-ref/source/os-interface.inc
Matt Riedemann 1c6fdc9aec Add microversion to expose virtual device tags
This change adds a new microversion to expose virtual
device tags for volumes and ports attached to a server.

Implements blueprint expose-virtual-device-tags-in-rest-api

Change-Id: I09420ff7134874dfe4dc399931c7740e81ecc2d0
2019-02-21 13:38:51 +00:00

194 lines
4.7 KiB
ReStructuredText

.. -*- rst -*-
=========================================
Port interfaces (servers, os-interface)
=========================================
List port interfaces, show port interface details of the given server.
Create a port interface and uses it to attach a port to the given server,
detach a port interface from the given server.
List Port Interfaces
====================
.. rest_method:: GET /servers/{server_id}/os-interface
Lists port interfaces that are attached to a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
NotImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- server_id: server_id_path
Response
--------
.. rest_parameters:: parameters.yaml
- interfaceAttachments: interfaceAttachments
- port_state: port_state
- fixed_ips: fixed_ips_resp
- ip_address: ip_address
- subnet_id: subnet_id
- mac_addr: mac_addr
- net_id: net_id_resp
- port_id: port_id_resp
- tag: device_tag_nic_attachment_resp
**Example List Port Interfaces: JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/attach-interfaces-list-resp.json
:language: javascript
**Example List Tagged Port Interfaces (v2.70): JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/v2.70/attach-interfaces-list-resp.json
:language: javascript
Create Interface
================
.. rest_method:: POST /servers/{server_id}/os-interface
Creates a port interface and uses it to attach a port to a server.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403),
itemNotFound(404), conflict(409), computeFault(500), NotImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- server_id: server_id_path
- interfaceAttachment: interfaceAttachment
- port_id: port_id
- net_id: net_id
- fixed_ips: fixed_ips
- ip_address: ip_address_req
- tag: device_tag_nic_attachment
**Example Create Interface: JSON request**
Create interface with ``net_id`` and ``fixed_ips``.
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/attach-interfaces-create-net_id-req.json
:language: javascript
Create interface with ``port_id``.
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/attach-interfaces-create-req.json
:language: javascript
**Example Create Tagged Interface (v2.49): JSON request**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/v2.49/attach-interfaces-create-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- interfaceAttachment: interfaceAttachment_resp
- fixed_ips: fixed_ips_resp
- ip_address: ip_address
- subnet_id: subnet_id
- mac_addr: mac_addr
- net_id: net_id_resp
- port_id: port_id_resp
- port_state: port_state
- tag: device_tag_nic_attachment_resp
**Example Create Interface: JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/attach-interfaces-create-resp.json
:language: javascript
**Example Create Tagged Interface (v2.70): JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/v2.70/attach-interfaces-create-resp.json
:language: javascript
Show Port Interface Details
===========================
.. rest_method:: GET /servers/{server_id}/os-interface/{port_id}
Shows details for a port interface that is attached to a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- server_id: server_id_path
- port_id: port_id_path
Response
--------
.. rest_parameters:: parameters.yaml
- interfaceAttachment: interfaceAttachment_resp
- port_state: port_state
- fixed_ips: fixed_ips_resp
- ip_address: ip_address
- subnet_id: subnet_id
- mac_addr: mac_addr
- net_id: net_id_resp
- port_id: port_id_resp
- tag: device_tag_nic_attachment_resp
**Example Show Port Interface Details: JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/attach-interfaces-show-resp.json
:language: javascript
**Example Show Tagged Port Interface Details (v2.70): JSON response**
.. literalinclude:: ../../doc/api_samples/os-attach-interfaces/v2.70/attach-interfaces-show-resp.json
:language: javascript
Detach Interface
================
.. rest_method:: DELETE /servers/{server_id}/os-interface/{port_id}
Detaches a port interface from a server.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
conflict(409), NotImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- server_id: server_id_path
- port_id: port_id_path
Response
--------
No body is returned on successful request.