Difference between revisions of "Designate/Blueprints/ReverseFixedIP"
< Designate | Blueprints
(→Unset the PTR Record (PATCH)) |
(→List the Fixed IP PTR Records (GET)) |
||
(34 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
=== Summary === | === Summary === | ||
− | + | This blueprint proposes to provide an interface for a VM instance's PTR record based on the allocated Fixed IP. | |
− | == API | + | This blueprint is based on the blueprint for floating IP PTR records: |
+ | |||
+ | [[Designate/Blueprints/Reverse]] | ||
+ | |||
+ | == API Resource - Private / Fixed IPs == | ||
Using the general endpoint call "/reverse" add the fixed IP resource called "fixedips". | Using the general endpoint call "/reverse" add the fixed IP resource called "fixedips". | ||
− | === API | + | === API Details === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Verb !! Resource !! Description | ! Verb !! Resource !! Description | ||
|- | |- | ||
− | | GET || /reverse/fixedips/{ | + | | GET || /reverse/fixedips || Return the list of PTR records for all fixed IP addresses. |
+ | |- | ||
+ | | GET || /reverse/fixedips/{region}:{IP address} || Return the PTR record for the given fixed IP address. | ||
|- | |- | ||
− | | PATCH || /reverse/fixedips/{ | + | | PATCH || /reverse/fixedips/{region}:{IP address} || Create or delete the PTR record for the given fixed IP address. |
|} | |} | ||
− | ==== | + | ==== List the Fixed IP PTR Records (GET) ==== |
+ | |||
+ | Return the list of PTR record for all fixed IP addresses. | ||
+ | |||
+ | There is no request message body. | ||
+ | |||
+ | '''Response''' | ||
+ | { | ||
+ | “fixedips”: [ | ||
+ | { | ||
+ | "ptrdname": "server.mydomain.com.", | ||
+ | "address": "<region>:<ipv4 or ipv6 compliant address>", | ||
+ | "ttl": 3600, | ||
+ | "description": null, | ||
+ | "links": { | ||
+ | "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | "ptrdname": "server2.mydomain.com.", | ||
+ | "address": "<region>:<ipv4 or ipv6 compliant address>", | ||
+ | "ttl": 3600, | ||
+ | "description": null, | ||
+ | "links": { | ||
+ | "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" | ||
+ | } | ||
+ | } | ||
+ | ], | ||
+ | "links": { | ||
+ | "self": "http://endpoint/v2/reverse/fixedips" | ||
+ | } | ||
+ | } | ||
− | Return the PTR record for the given | + | ==== Get the Fixed IP PTR Record (GET) ==== |
+ | |||
+ | Return the PTR record for the given fixed IP address. | ||
There is no request message body. | There is no request message body. | ||
Line 35: | Line 74: | ||
{ | { | ||
“fixedip”: { | “fixedip”: { | ||
− | |||
"ptrdname": "server.mydomain.com.", | "ptrdname": "server.mydomain.com.", | ||
− | "address": "< | + | "address": "<region>:<ipv4 or ipv6 compliant address>", |
"ttl": 3600, | "ttl": 3600, | ||
− | |||
− | |||
"description": null, | "description": null, | ||
"links": { | "links": { | ||
− | "self": "http://endpoint/v2/reverse/fixedips/< | + | "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" |
} | } | ||
} | } | ||
} | } | ||
− | ==== | + | ==== Create the Fixed IP PTR Record (PATCH) ==== |
− | + | Create the PTR record for the given fixed IP address. | |
'''Request''' | '''Request''' | ||
Line 63: | Line 99: | ||
{ | { | ||
“fixedip”: { | “fixedip”: { | ||
− | |||
"ptrdname": "server.mydomain.com.", | "ptrdname": "server.mydomain.com.", | ||
− | "address": "< | + | "address": "<region>:<ipv4 or ipv6 compliant address>", |
"ttl": 3600, | "ttl": 3600, | ||
− | |||
− | |||
"description": null, | "description": null, | ||
"links": { | "links": { | ||
− | "self": "http://endpoint/v2/reverse/fixedips/< | + | "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" |
} | } | ||
} | } | ||
} | } | ||
− | ==== | + | ==== Delete the Fixed IP PTR Record (PATCH) ==== |
− | |||
− | |||
− | + | Delete the PTR record for the given fixed IP address. | |
'''Request''' | '''Request''' | ||
Line 88: | Line 119: | ||
} | } | ||
} | } | ||
+ | |||
+ | The return body is empty. | ||
== Database Changes == | == Database Changes == | ||
− | + | There are no changes to the database schema. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 15:28, 13 March 2014
Contents
Overview
Gerrit Patch | [] |
---|---|
Launchpad Blueprint | [1] |
Summary
This blueprint proposes to provide an interface for a VM instance's PTR record based on the allocated Fixed IP.
This blueprint is based on the blueprint for floating IP PTR records:
Designate/Blueprints/Reverse
API Resource - Private / Fixed IPs
Using the general endpoint call "/reverse" add the fixed IP resource called "fixedips".
API Details
Verb | Resource | Description |
---|---|---|
GET | /reverse/fixedips | Return the list of PTR records for all fixed IP addresses. |
GET | /reverse/fixedips/{region}:{IP address} | Return the PTR record for the given fixed IP address. |
PATCH | /reverse/fixedips/{region}:{IP address} | Create or delete the PTR record for the given fixed IP address. |
List the Fixed IP PTR Records (GET)
Return the list of PTR record for all fixed IP addresses.
There is no request message body.
Response
{ “fixedips”: [ { "ptrdname": "server.mydomain.com.", "address": "<region>:<ipv4 or ipv6 compliant address>", "ttl": 3600, "description": null, "links": { "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" } }, { "ptrdname": "server2.mydomain.com.", "address": "<region>:<ipv4 or ipv6 compliant address>", "ttl": 3600, "description": null, "links": { "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" } } ], "links": { "self": "http://endpoint/v2/reverse/fixedips" } }
Get the Fixed IP PTR Record (GET)
Return the PTR record for the given fixed IP address.
There is no request message body.
Response
{ “fixedip”: { "ptrdname": "server.mydomain.com.", "address": "<region>:<ipv4 or ipv6 compliant address>", "ttl": 3600, "description": null, "links": { "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" } } }
Create the Fixed IP PTR Record (PATCH)
Create the PTR record for the given fixed IP address.
Request
{ "fixedip": { "ptrdname": "server.mydomain.com.", "ttl": 3600 } }
Response
{ “fixedip”: { "ptrdname": "server.mydomain.com.", "address": "<region>:<ipv4 or ipv6 compliant address>", "ttl": 3600, "description": null, "links": { "self": "http://endpoint/v2/reverse/fixedips/<region>:<ipv4 or ipv6 compliant address>" } } }
Delete the Fixed IP PTR Record (PATCH)
Delete the PTR record for the given fixed IP address.
Request
{ "fixedip": { "ptrdname": null } }
The return body is empty.
Database Changes
There are no changes to the database schema.