Add FloatingIPs reverse endpoint
Closes-Bug: #1522519 Change-Id: I93c194bc1a8585c676165cb1c49eb9ae4441c8ec
This commit is contained in:
parent
fbfeadcce1
commit
48ffb89c64
|
@ -92,6 +92,7 @@ V2 API
|
|||
rest/v2/blacklists
|
||||
rest/v2/pools
|
||||
rest/v2/limits
|
||||
rest/v2/reverse
|
||||
rest/v2/tsigkeys
|
||||
|
||||
Admin API
|
||||
|
|
|
@ -0,0 +1,236 @@
|
|||
..
|
||||
Copyright 2015 Hewlett-Packard Development Company, L.P.
|
||||
All Rights Reserved.
|
||||
|
||||
Author: Endre Karlson <endre.karlson@hpe.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
not use this file except in compliance with the License. You may obtain
|
||||
a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
.. note:
|
||||
|
||||
Currently the /reverse endpoint is used to tie reverse DNS records to IPs.
|
||||
|
||||
FloatingIPs
|
||||
===========
|
||||
|
||||
In order to use the FloatingIPs functionality you will need to have a FloatingIP
|
||||
associated to your project in Neutron.
|
||||
|
||||
Set FloatingIP's PTR record
|
||||
----------------------------
|
||||
|
||||
.. http:patch:: /reverse/floatingips/(string:region):(uuid:floatingip_id)
|
||||
|
||||
Set a PTR record for the given FloatingIP. The domain if it does not exist
|
||||
will be provisioned automatically.
|
||||
|
||||
**Example request**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
POST /reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd HTTP/1.1
|
||||
Host: example.com
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"ptrdname" : "smtp.example.com.",
|
||||
"description" : "This is a floating ip for 10.0.0.1",
|
||||
"ttl": 600
|
||||
}
|
||||
|
||||
**Example response**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
HTTP/1.1 202 Created
|
||||
Content-Type: application/json; charset=UTF-8
|
||||
Location: http://example.com:9001/v2/reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd
|
||||
|
||||
{
|
||||
"ptrdname": "smtp.example.com.",
|
||||
"ttl": 600,
|
||||
"description":"This is a floating ip for 172.24.4.3",
|
||||
"address": "172.24.4.3",
|
||||
"action": "CREATE",
|
||||
"status": "PENDING",
|
||||
"links":{
|
||||
"self":"http://example.com:9001/v2/reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd"
|
||||
},
|
||||
"pattern":"smtp.example.com.",
|
||||
"created_at":"2014-03-11T21:54:57.000000",
|
||||
"updated_at":null,
|
||||
"id":"RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd",
|
||||
}
|
||||
|
||||
:form created_at: timestamp
|
||||
:form updated_at: timestamp
|
||||
:form ptrdname: Hostname
|
||||
:form ttl: Time to live
|
||||
:form address: The FloatingIP address
|
||||
:form id: A combination of the Region and FloatingIP ID
|
||||
:form description: UTF-8 text field
|
||||
:form links: links to traverse the list
|
||||
:form action: Provisioning Action
|
||||
:form status: Provisioning Status
|
||||
:statuscode 202: Created
|
||||
:statuscode 401: Access Denied
|
||||
:statuscode 400: Invalid Object
|
||||
:statuscode 404: FloatingIP / PTR Not found
|
||||
|
||||
|
||||
Get a FloatingIP's PTR record
|
||||
-----------------------------
|
||||
|
||||
.. http:get:: /reverse/floatingips/(string:region):(uuid:floatingip_id)
|
||||
|
||||
Shows a particular FloatingIP PTR
|
||||
|
||||
**Example request**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
GET /reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd HTTP/1.1
|
||||
Host: example.com
|
||||
Accept: application/json
|
||||
|
||||
**Example response**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json; charset=UTF-8
|
||||
|
||||
{
|
||||
"ptrdname": "smtp.example.com.",
|
||||
"ttl": 600,
|
||||
"description":"This is a floating ip for 172.24.4.3",
|
||||
"address": "172.24.4.3",
|
||||
"action": "NONE",
|
||||
"status": "ACTIVE",
|
||||
"links":{
|
||||
"self":"http://example.com:9001/v2/reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd"
|
||||
},
|
||||
"pattern":"smtp.example.com.",
|
||||
"created_at":"2014-03-11T21:54:57.000000",
|
||||
"updated_at":null,
|
||||
"id":"RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd",
|
||||
}
|
||||
|
||||
:form created_at: timestamp
|
||||
:form updated_at: timestamp
|
||||
:form ptrdname: Hostname
|
||||
:form ttl: Time to live
|
||||
:form address: The FloatingIP address
|
||||
:form id: A combination of the Region and FloatingIP ID
|
||||
:form description: UTF-8 text field
|
||||
:form links: links to traverse the list
|
||||
:form action: Provisioning Action
|
||||
:form status: Provisioning Status
|
||||
:statuscode 200: OK
|
||||
:statuscode 404: FloatingIP or PTR not found not found
|
||||
|
||||
List FloatingIP PTR records
|
||||
---------------------------
|
||||
|
||||
.. http:get:: /reverse/floatingips/
|
||||
|
||||
Lists all FloatingIPs PTR records
|
||||
|
||||
**Example request**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
GET /reverse/floatingips/ HTTP/1.1
|
||||
Host: example.com
|
||||
Accept: application/json
|
||||
|
||||
**Example response**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json; charset=UTF-8
|
||||
|
||||
{
|
||||
"floatingips":[
|
||||
{
|
||||
"ttl": 600,
|
||||
"ptrdname": "smtp.example.com.",
|
||||
"description":"This is a floating ip for 172.24.4.3",
|
||||
"address": "172.24.4.3",
|
||||
"action": "NONE",
|
||||
"status": "ACTIVE",
|
||||
"links":{
|
||||
"self":"http://example.com:9001/v2/reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd"
|
||||
},
|
||||
"pattern":"smtp.example.com.",
|
||||
"created_at":"2014-03-11T21:54:57.000000",
|
||||
"updated_at":null,
|
||||
"id":"RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd",
|
||||
},
|
||||
{
|
||||
"ptrdname": "www.example.com.",
|
||||
"ttl": 600,
|
||||
"description":"This is a floating ip for 172.24.4.4",
|
||||
"address": "172.24.4.4",
|
||||
"action": "NONE",
|
||||
"status": "ACTIVE",
|
||||
"links":{
|
||||
"self":"http://example.com:9001/v2/reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4be"
|
||||
},
|
||||
"pattern":"smtp.example.com.",
|
||||
"created_at":"2014-03-11T21:54:57.000000",
|
||||
"updated_at":null,
|
||||
"id":"RegionOne:c47229fb-0831-4b55-a5b5-380d361be4be",
|
||||
}
|
||||
],
|
||||
"links":{
|
||||
"self":"http://127.0.0.1:9001/v2/tlds"
|
||||
}
|
||||
}
|
||||
|
||||
:form created_at: timestamp
|
||||
:form updated_at: timestamp
|
||||
:form name: tld name
|
||||
:form id: uuid
|
||||
:form description: UTF-8 text field
|
||||
:form links: links to traverse the list
|
||||
:statuscode 200: OK
|
||||
:statuscode 401: Access Denied
|
||||
|
||||
|
||||
Unset the PTR record for a FloatingIP
|
||||
-------------------------------------
|
||||
|
||||
.. http:patch:: /reverse/floatingips/(string:region):(uuid:floatingip_id)
|
||||
|
||||
Unset a PTR record for the given FloatingIP.
|
||||
|
||||
**Example request**:
|
||||
|
||||
.. sourcecode:: http
|
||||
|
||||
PATCH /reverse/floatingips/RegionOne:c47229fb-0831-4b55-a5b5-380d361be4bd HTTP/1.1
|
||||
Host: example.com
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"ptrdname" : null,
|
||||
}
|
||||
|
||||
:statuscode 202: Pending
|
||||
:statuscode 401: Access Denied
|
||||
:statuscode 400: Invalid Object
|
||||
:statuscode 404: FloatingIP / PTR Not found
|
Loading…
Reference in New Issue