Jump to: navigation, search

Difference between revisions of "Designate/Blueprints/Recordset Record API Redesign"

(API Details: Create / List / Patch / Put / Delete Recordset)
(API Details: Create / List / Patch / Put / Delete Recordset)
Line 38: Line 38:
 
| POST || /zones/zone{id}/recordsets|| Creates a new recordset or adds a new record to an existing recordset
 
| POST || /zones/zone{id}/recordsets|| Creates a new recordset or adds a new record to an existing recordset
 
|-
 
|-
| PUT || /zones/zone{id}/recordsets/recordset{id} || Replaces all records in a recordset
+
| PUT || /zones/zone{id}/recordsets/recordset{id} || Replaces all records in a recordset with the records specified in the message body
 
|-
 
|-
| PATCH || /zones/zone{id}/recordsets/recordset{id} || Adds the records to a recordset
+
| PATCH || /zones/zone{id}/recordsets/recordset{id} || Adds the records specified in the message body to a recordset
 
|-
 
|-
 
| DELETE || /zones/zone{id}/recordsets/recordset{id} || Delete the recordset and all records associated with it. No message body is expected in the request
 
| DELETE || /zones/zone{id}/recordsets/recordset{id} || Delete the recordset and all records associated with it. No message body is expected in the request
 
|}
 
|}

Revision as of 19:20, 29 April 2014

Contents

   1 Overview



Overview

Gerrit Patch []
Launchpad Blueprint [1]

This blueprint proposes to eliminate the Records resource and on keep the RecordSets resource.

The API for recordsets and records is too complicated. Currently, a user is forced to create a recordset before creating a record. This leads to a confusing user experience.Users will create, update and delete recordsets. When the user creates a recordset the code will determine if it should be a new recordset or a record under an existing recordset. However, the record will no longer be accessible as a separate resource; only as part of the recordset.

API Resource

Current API

/zones/zone{id}/recordsets/recordset{id}/records/record{id}

New API

/zones/zone{id}/recordsets/recordset{id}

API Details: Create / List / Patch / Put / Delete Recordset

Verb Resource Description
GET /zones/zone{id}/recordsets Returns all recordsets for a zone
GET /zones/zone{id}/recordsets/recordset{id} Returns a specific recordset for a zone
POST /zones/zone{id}/recordsets Creates a new recordset or adds a new record to an existing recordset
PUT /zones/zone{id}/recordsets/recordset{id} Replaces all records in a recordset with the records specified in the message body
PATCH /zones/zone{id}/recordsets/recordset{id} Adds the records specified in the message body to a recordset
DELETE /zones/zone{id}/recordsets/recordset{id} Delete the recordset and all records associated with it. No message body is expected in the request