Difference between revisions of "Designate/APIv2"
Line 202: | Line 202: | ||
{ | { | ||
− | "name": "example.org.", | + | "zone": { |
− | + | "name": "example.org.", | |
− | + | "email": "joe@example.org.", | |
+ | "ttl": 7200 | ||
+ | } | ||
} | } | ||
Line 215: | Line 217: | ||
{ | { | ||
− | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | + | "zone": { |
− | + | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", | |
− | + | "name": "example.org.", | |
− | + | "email": "joe@example.org.", | |
− | + | "ttl": 7200, | |
− | + | "serial": 1351800588, | |
− | + | "version": 1, | |
− | + | "created_at": "...", | |
+ | "updated_at": null | ||
+ | } | ||
} | } | ||
Line 242: | Line 246: | ||
{ | { | ||
− | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | + | "zone": { |
− | + | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", | |
− | + | "name": "example.org.", | |
− | + | "email": "joe@example.org.", | |
− | + | "ttl": 7200, | |
− | + | "serial": 1351800588, | |
− | + | "version": 1, | |
− | + | "created_at": "...", | |
+ | "updated_at": null | ||
+ | } | ||
} | } | ||
Line 296: | Line 302: | ||
In both examples below, we update the TTL to 3600. | In both examples below, we update the TTL to 3600. | ||
− | ''' Request Option 1 - | + | ''' Request Option 1 - POST Request: ''' |
− | + | POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3 HTTP/1.1 | |
Host: region-a.geo-1.dns.hpcloudsvc.com | Host: region-a.geo-1.dns.hpcloudsvc.com | ||
Accept: application/json | Accept: application/json | ||
Line 305: | Line 311: | ||
{ | { | ||
− | "ttl": 3600 | + | "zone": { |
+ | "ttl": 3600 | ||
+ | } | ||
} | } | ||
Line 318: | Line 326: | ||
[ | [ | ||
− | {"op": "test", "path": "/version", "value": 1}, | + | {"op": "test", "path": "/zone/version", "value": 1}, |
− | {"op": "replace", "path": "/ttl", "value": 3600} | + | {"op": "replace", "path": "/zone/ttl", "value": 3600} |
] | ] | ||
Line 329: | Line 337: | ||
{ | { | ||
− | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | + | "zone": { |
− | + | "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", | |
− | + | "name": "example.org.", | |
− | + | "email": "joe@example.org.", | |
− | + | "ttl": 3600, | |
− | + | "serial": 1351800588, | |
− | + | "version": 2, | |
− | + | "created_at": "...", | |
+ | "updated_at": "..." | ||
+ | } | ||
} | } | ||
Line 367: | Line 377: | ||
{ | { | ||
− | "name": "www.example.org.", | + | "recordset": { |
− | + | "name": "www.example.org.", | |
− | + | "type": "A", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "address": "10.1.2.3" | |
− | + | },{ | |
− | } | + | "address": "10.3.2.1" |
+ | }] | ||
+ | } | ||
} | } | ||
Line 385: | Line 397: | ||
{ | { | ||
− | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | + | "recordset": { |
− | + | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | |
− | + | "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "name": "www.example.org.", | |
− | + | "type": "A", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "address": "10.1.2.3" | |
− | + | },{ | |
− | + | "address": "10.3.2.1" | |
− | + | }], | |
− | + | "version": 1, | |
− | + | "created_at": "...", | |
+ | "updated_at": null | ||
+ | } | ||
} | } | ||
Line 411: | Line 425: | ||
{ | { | ||
− | "name": "_xmpp-server._tcp.example.org.", | + | "recordset": { |
− | + | "name": "_xmpp-server._tcp.example.org.", | |
− | + | "type": "SRV", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "weight": 0, | |
− | + | "priority": 10, | |
− | + | "target": "xmpp1.example.org." | |
− | + | }, { | |
− | + | "weight": 0, | |
− | + | "priority": 20, | |
− | } | + | "target": "xmpp2.example.org." |
+ | }] | ||
+ | } | ||
} | } | ||
Line 433: | Line 449: | ||
{ | { | ||
− | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | + | "recordset": { |
− | + | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | |
− | + | "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "name": "_xmpp-server._tcp.example.org.", | |
− | + | "type": "SRV", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "weight": 0, | |
− | + | "priority": 10, | |
− | + | "target": "xmpp1.example.org." | |
− | + | }, { | |
− | + | "weight": 0, | |
− | + | "priority": 20, | |
− | + | "target": "xmpp2.example.org." | |
− | + | }], | |
− | + | "version": 1, | |
− | + | "created_at": "...", | |
+ | "updated_at": null | ||
+ | } | ||
} | } | ||
Line 468: | Line 486: | ||
{ | { | ||
− | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | + | "recordset": { |
− | + | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | |
− | + | "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "name": "www.example.org.", | |
− | + | "type": "A", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "address": "10.1.2.3" | |
− | + | },{ | |
− | + | "address": "10.3.2.1" | |
− | + | }], | |
− | + | "version": 1, | |
− | + | "created_at": "...", | |
+ | "updated_at": null | ||
+ | } | ||
} | } | ||
Line 538: | Line 558: | ||
In both examples below, we add "127.0.0.1" to the RRSet records list. | In both examples below, we add "127.0.0.1" to the RRSet records list. | ||
− | ''' Request Option 1 - | + | ''' Request Option 1 - POST Request: ''' |
− | + | POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b HTTP/1.1 | |
Host: region-a.geo-1.dns.hpcloudsvc.com | Host: region-a.geo-1.dns.hpcloudsvc.com | ||
Accept: application/json | Accept: application/json | ||
Line 547: | Line 567: | ||
{ | { | ||
− | "records": [{ | + | "recordset": { |
− | + | "records": [{ | |
− | + | "address": "10.1.2.3" | |
− | + | }, { | |
− | + | "address": "10.3.2.1" | |
− | + | }, { | |
− | } | + | "address": "127.0.0.1" |
+ | }] | ||
+ | } | ||
} | } | ||
Line 566: | Line 588: | ||
[ | [ | ||
− | {"op": "test", "path": "/version", "value": 1}, | + | {"op": "test", "path": "/recordset/version", "value": 1}, |
− | {"op": "add", "path": "/records/-", "value": {"address": "127.0.0.1"}} | + | {"op": "add", "path": "/recordset/records/-", "value": {"address": "127.0.0.1"}} |
] | ] | ||
Line 578: | Line 600: | ||
{ | { | ||
− | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | + | "recordset": { |
− | + | "id": "9e27811d-0320-4179-abb7-0e00e371e25b", | |
− | + | "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", | |
− | + | "name": "www.example.org.", | |
− | + | "type": "A", | |
− | + | "ttl": 3600, | |
− | + | "records": [{ | |
− | + | "address": "10.1.2.3" | |
− | + | }, { | |
− | + | "address": "10.3.2.1" | |
− | + | }, { | |
− | + | "address": "127.0.0.1" | |
− | + | }], | |
− | + | "version": 2, | |
− | + | "created_at": "...", | |
+ | "updated_at": "..." | ||
+ | } | ||
} | } | ||
Revision as of 12:09, 16 July 2013
This is a EARLY DRAFT of the Designate Version 2 API.
Contents
Basic APIv2 Requirements
- Switch from string based rdata to dict based rdata. This allows for a sane API for the more complex record types (SRV, GEOIP, WRR etc).
- This complicates simple record types, but simplifies complex record types (SRV, GEeoIP, Weigthed RR, Failover etc)
- Introduce the concept of RecordSets. This helps our API more accurately reflect the DNS specs, and provides saner grouping of related rdatas.
- Document the concept of "server pools". This allows the API to remain the same if/when we introduce private DNS instances.
- Provided a mechanism to prevent concurrent modifications.
- Pagination
- Filtering of result sets
TODOs
- Try Align with the Glance V2 and Keystone V3 APIs where possible, these are the latest OpenStack APIs and should be used as a reference where possible
- Ideally, we can support both dict and string based rdata's ({"weight": 0, "priority": 10, "target": "xmpp1.example.org."} AND "0 10 xmpp1.example.org.")
- Pagination?
- All tenant access?
- Should we include a top level container on responses?
- Filtering/searching syntax?
- Probably LOTS more
Resources
Zone
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
id | uuid | Generated | ✔ | ✔ | ✔ |
pool_id | uuid | Configured | ✘ | ✔ | ✘ |
name | string | None | ✔ | ✔ | ✘ |
string | None | ✔ | ✘ | ✘ | |
ttl | int | 3600 | ✔ | ✘ | ✘ |
serial | int | Generated | ✔ | ✘ | ✔ |
version | int | Generated | ✔ | ✘ | ✔ |
created_at | timestamp | Generated | ✔ | ✘ | ✔ |
updated_at | timestamp | Generated | ✔ | ✘ | ✔ |
Record Set
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
id | uuid | Generated | ✔ | ✔ | ✔ |
zone_id | uuid | Configured | ✔ | ✔ | ✔ |
name | domainname | None | ✔ | ✔ | ✘ |
type | string | None | ✔ | ✔ | ✘ |
ttl | int | nil | ✔ | ✘ | ✘ |
records | list<rdata> | Empty List | ✔ | ✘ | ✘ |
version | int | Generated | ✔ | ✘ | ✔ |
created_at | timestamp | Generated | ✔ | ✘ | ✔ |
updated_at | timestamp | Generated | ✔ | ✘ | ✔ |
RData
A
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
address | ipv4 | None | ✔ | ✘ | ✘ |
AAAA
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
address | ipv6 | None | ✔ | ✘ | ✘ |
CNAME
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
cname | hostname | None | ✔ | ✘ | ✘ |
MX
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
preference | int | None | ✔ | ✘ | ✘ |
exchange | hostname | None | ✔ | ✘ | ✘ |
NS
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
nsdname | hostname | None | ✔ | ✘ | ✘ |
PTR
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
ptrdname | hostname | None | ✔ | ✘ | ✘ |
SOA
{note:title=Additional Restrictions}Only 1 SOA record may be present in a zone, and it must be at the root of the zone{note}
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
mname | domainname | Generated | ✔ | ✔ | ✔ |
rname | domainname | Generated | ✔ | ✔ | ✔ |
serial | int | Generated | ✔ | ✔ | ✔ |
refresh | int | Generated | ✔ | ✔ | ✔ |
retry | int | Generated | ✔ | ✔ | ✔ |
expire | int | Generated | ✔ | ✔ | ✔ |
minimun | int | Generated | ✔ | ✔ | ✔ |
SPF
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
text | string | None | ✔ | ✘ | ✘ |
SRV
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
priority | int | None | ✔ | ✘ | ✘ |
weight | int | None | ✔ | ✘ | ✘ |
port | int | None | ✔ | ✘ | ✘ |
target | hostname | None | ✔ | ✘ | ✘ |
SSHFP
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
algorithm | int | None | ✔ | ✘ | ✘ |
type | int | 1 | ✔ | ✘ | ✘ |
fingerprint | string | None | ✔ | ✘ | ✘ |
TXT
Property | Type | Default | Required | Immutable | Read Only |
---|---|---|---|---|---|
text | string | None | ✔ | ✘ | ✘ |
Usage
Zone Operations
Create Zone
Request:
POST /v2/zones HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json X-Auth-Token: HPAuth_*****
{ "zone": { "name": "example.org.", "email": "joe@example.org.", "ttl": 7200 } }
Response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json Location: https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3
{ "zone": { "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", "name": "example.org.", "email": "joe@example.org.", "ttl": 7200, "serial": 1351800588, "version": 1, "created_at": "...", "updated_at": null } }
Get Zone
Request:
GET /v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3 HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json
{ "zone": { "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", "name": "example.org.", "email": "joe@example.org.", "ttl": 7200, "serial": 1351800588, "version": 1, "created_at": "...", "updated_at": null } }
List Zones
Request:
GET /v2/zones HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json
{ "zones": [{ "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", "name": "example.org.", "email": "joe@example.org.", "ttl": 7200, "serial": 1351800588, "version": 1, "created_at": "...", "updated_at": null }, { "id": "fdd7b0dc-52a3-491e-829f-41d18e1d3ada", "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", "name": "example.net.", "email": "joe@example.net.", "ttl": 7200, "serial": 1351800588, "version": 1, "created_at": "...", "updated_at": null }] }
Update Zone
In both examples below, we update the TTL to 3600.
Request Option 1 - POST Request:
POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3 HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json X-Auth-Token: HPAuth_*****
{ "zone": { "ttl": 3600 } }
Request Option 2 - PATCH Request:
PATCH https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3 HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json-patch+json X-Auth-Token: HPAuth_*****
[ {"op": "test", "path": "/zone/version", "value": 1}, {"op": "replace", "path": "/zone/ttl", "value": 3600} ]
Response:
HTTP/1.1 202 Accepted Vary: Accept Content-Type: application/json
{ "zone": { "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "7d62d10d-3a16-4828-85dd-7b3fdc0ba989", "name": "example.org.", "email": "joe@example.org.", "ttl": 3600, "serial": 1351800588, "version": 2, "created_at": "...", "updated_at": "..." } }
Delete Zone
Request:
DELETE https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3 HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 202 Accepted
RecordSet Operations
Create RecordSet
Create RecordSet (A)
Request:
POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json X-Auth-Token: HPAuth_*****
{ "recordset": { "name": "www.example.org.", "type": "A", "ttl": 3600, "records": [{ "address": "10.1.2.3" },{ "address": "10.3.2.1" }] } }
Response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json Location: https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b
{ "recordset": { "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "www.example.org.", "type": "A", "ttl": 3600, "records": [{ "address": "10.1.2.3" },{ "address": "10.3.2.1" }], "version": 1, "created_at": "...", "updated_at": null } }
Create RecordSet (SRV)
Request:
POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json X-Auth-Token: HPAuth_*****
{ "recordset": { "name": "_xmpp-server._tcp.example.org.", "type": "SRV", "ttl": 3600, "records": [{ "weight": 0, "priority": 10, "target": "xmpp1.example.org." }, { "weight": 0, "priority": 20, "target": "xmpp2.example.org." }] } }
Response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json Location: https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b
{ "recordset": { "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "_xmpp-server._tcp.example.org.", "type": "SRV", "ttl": 3600, "records": [{ "weight": 0, "priority": 10, "target": "xmpp1.example.org." }, { "weight": 0, "priority": 20, "target": "xmpp2.example.org." }], "version": 1, "created_at": "...", "updated_at": null } }
Get RecordSet
Request:
GET https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json
{ "recordset": { "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "www.example.org.", "type": "A", "ttl": 3600, "records": [{ "address": "10.1.2.3" },{ "address": "10.3.2.1" }], "version": 1, "created_at": "...", "updated_at": null } }
List RecordSets
Request:
GET /v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json
{ "recordsets": [{ "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "www.example.org.", "type": "A", "ttl": 3600, "records": [{ "address": "10.1.2.3" },{ "address": "10.3.2.1" }], "version": 1, "created_at": "...", "updated_at": null }, { "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "_xmpp-server._tcp.example.org.", "type": "SRV", "ttl": 3600, "records": [{ "weight": 0, "priority": 10, "target": "xmpp1.example.org." }, { "weight": 0, "priority": 20, "target": "xmpp2.example.org." }], "version": 1, "created_at": "...", "updated_at": null }] }
Update RecordSet
In both examples below, we add "127.0.0.1" to the RRSet records list.
Request Option 1 - POST Request:
POST https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json X-Auth-Token: HPAuth_*****
{ "recordset": { "records": [{ "address": "10.1.2.3" }, { "address": "10.3.2.1" }, { "address": "127.0.0.1" }] } }
Request Option 2 - PATCH Request:
PATCH https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com Accept: application/json Content-Type: application/json-patch+json X-Auth-Token: HPAuth_*****
[ {"op": "test", "path": "/recordset/version", "value": 1}, {"op": "add", "path": "/recordset/records/-", "value": {"address": "127.0.0.1"}} ]
Response:
HTTP/1.1 202 Accepted Vary: Accept Content-Type: application/json
{ "recordset": { "id": "9e27811d-0320-4179-abb7-0e00e371e25b", "zone_id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "name": "www.example.org.", "type": "A", "ttl": 3600, "records": [{ "address": "10.1.2.3" }, { "address": "10.3.2.1" }, { "address": "127.0.0.1" }], "version": 2, "created_at": "...", "updated_at": "..." } }
Delete RecordSet
Request:
DELETE https://region-a.geo-1.dns.hpcloudsvc.com/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3/recordsets/9e27811d-0320-4179-abb7-0e00e371e25b HTTP/1.1 Host: region-a.geo-1.dns.hpcloudsvc.com X-Auth-Token: HPAuth_*****
Response:
HTTP/1.1 202 Accepted