quark/doc/shared_ips_nova.raml
Brian Stajkowski e215d3d260 Remove Static Path Sphinx
No static path is required as we don't have anything to move
from a static directory.  This will ensure the gate tests pass.
Also, moved docs to doc as gate failure isn't looking at docs
folder, and updated tox environment run.

Change-Id: I2d6d7e42eafef8e052006a4938e7950279f2f60c
Closes-Bug: #1628113
2016-10-03 19:53:47 +00:00

92 lines
3.8 KiB
Plaintext

#%RAML 0.8
title: Nova extensions for Neutron Shared IPs API
version: v2.0
baseUri: https://{novaUri}/{version}/
mediaType: application/json
traits:
- secured:
headers:
X-Auth-Token:
description: Token for request's tenant
required: true
type: string
/servers/{serverId}/ip_associations:
displayName: Nova IP Associations
description: A collection of IP associations
is: [ secured ]
get:
description: |
List all IPs associated to this instance
Invokes and parses (with tenant_id as header): GET http://{neutronUri}/{neutronVersion}/ip_addresses?device_id={serverId}&service=compute
responses:
200:
description: ok
body:
application/json:
example: |
{"ip_associations": [{"id": "1", "address": "10.1.1.1"}, {"id": "2", "address": "10.1.1.2"}]}
404:
description: server not found
/{ipAddressId}:
description: |
A specific IP association, a member of the IP association collection
This id is the same as neutron's ip_address's id
get:
description: |
Shows an IP association
Invokes and parses (with tenant_id as header):
* GET http://{neutronUri}/{neutronVersion}/ip_addresses/{ipAddressId}
responses:
200:
description: ok
body:
application/json:
example: |
{"ip_association": {"id": "1", "address": "10.1.1.1"}}
404:
description: IP association not found
put:
description: |
Create IP address association (idempotent PUT)
Invokes and parses:
* GET http://{neutronUri}/{neutronVersion}/ip_addresses/{ipAddressId}/ports?device_id={serverId} (with tenant_id as header)
* PUT http://{neutronUri}/{neutronVersion}/ip_addresses/{ipAddressId}/ports/{portId} with {"service": "compute"}
body:
application/json:
example: |
{"ip_association": {}}
responses:
201:
description: created
400:
description: |
Bad input
* ip_address_id association already exists
* ambiguous request: more than one port is related to device_id/ip_address_id
404:
description: |
not found
* server not found
* ip_address_id is not found, e.g. neutron call returns 404
500:
description: |
something went horribly wrong, e.g. neutron call returns 5xx
delete:
description: |
Delete IP address association
Invokes and parses:
* GET http://{neutronUri}/{neutronVersion}/ip_addresses/{ipAddressId}/ports?device_id={serverId} (with tenant_id as header)
* PUT http://{neutronUri}/{neutronVersion}/ip_addresses/{ipAddressId}/ports/{portId} with {"service": "none"}
responses:
204:
description: successfully deleted
404:
description: |
not found
* server not found
* ip_address_id is not found, e.g. neutron call returns 404
post:
responses:
501:
description: not implemented