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 32: Line 32:
 
! Verb !! Resource !! Description
 
! Verb !! Resource !! Description
 
|-
 
|-
| GET || /zones/zone{id}/recordsets || Returns all the recordsets for a zone
+
| 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
 
| GET || /zones/zone{id}/recordsets/recordset{id} || Returns a specific recordset for a zone

Revision as of 19:18, 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 a recordset. See below for more details
PUT /zones/zone{id}/recordsets/recordset{id} Replaces all records in a recordset
PATCH /zones/zone{id}/recordsets/recordset{id} Adds the records 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