Jump to: navigation, search

Designate/Blueprints/ReverseFixedIP

< Designate‎ | Blueprints
Revision as of 18:31, 4 March 2014 by Rjrjr (talk | contribs) (API Changes)

Overview

Gerrit Patch []
Launchpad Blueprint [1]

Summary

This blueprint proposes to provide a simple interface towards an entities PTR records based on allocated Fixed IPs.

This blueprint is based on the blueprint done for floating IPs:

   Designate/Blueprints/Reverse

API Resource - Private / Fixed IPs

Using the general endpoint call "/reverse" add the fixed IP resource called "fixedips".

API Details: Get / Set / Unset

Verb Resource Description
GET /reverse/fixedips/{instance ID} Return the PTR record for the given instance ID.
PATCH /reverse/fixedips/{instance ID} Set or unset the PTR record for the given instance ID.

Get the PTR Record (GET)

Return the PTR record for the given instance ID.

There is no request message body.

Response

   {
       “fixedip”: {
           "id": "<uuid>",
           "ptrdname": "server.mydomain.com.",
           "address": "<ipv4 or ipv6 compliant address>",
           "ttl": 3600,
           "created_at": "2014-03-04T11:00:01.000000",
           "update_at": null,
           "description": null,
           "links": {
               "self": "http://endpoint/v2/reverse/fixedips/<instance_id>"
           }
       }
   }

Set the PTR Record (PATCH)

Set the PTR record for the given instance ID.

Request

   {
       "fixedip": {
           "ptrdname": "server.mydomain.com.",
           "ttl": 3600
       }
   }

Response

   {
       “fixedip”: {
           "id": "<uuid>",
           "ptrdname": "server.mydomain.com.",
           "address": "<ipv4 or ipv6 compliant address>",
           "ttl": 3600,
           "created_at": "2014-03-04T11:00:01.000000",
           "update_at": null,
           "description": null,
           "links": {
               "self": "http://endpoint/v2/reverse/fixedips/<instance_id>"
           }
       }
   }

Unset the PTR Record (PATCH)

Unset the PTR record for the given instance ID.

Request

   {
       "fixedip": {
           "ptrdname": null
       }
   }

The return body is empty.

Database Changes

There are no changes to the database schema.