This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode

V2 API - Bindings

BP: https://blueprints.launchpad.net/python-designateclient/+spec/v2-api-bindings

Provide bindings for the V2 API using the Session based approach used for V1.

Problem description

Provide bindings for the V2 API. (This does not include the shell commands)

Proposed change

We will provide a designateclient.v2.client.Client object which would load the other Managers (not much unalike the Controllers or so in V1).

Manager - Zone

List

List Zones.

client.zones.list()

Get

Get a Zone.

client.zones.get(zone)

Create

Create a Zone.

client.zones.create(name)

Update

Update a Zone.

client.zones.update(zone)

Delete

Delete a Zone.

client.zones.delete(zone)

Manager - RecordSets

List

List Recordsets in a Zone.

client.recordsets.list(zone)

Get

Get a RecordSet

client.recordsets.get(zone, recordset)

Create

Create a RecordSet in a Zone.

client.recordsets.create(zone, name, data)

Update

Update a RecordSet.

client.recoredsets.update(zone, recordset, data)

Delete

Delete a RecordSet.

client.recoredsets.delete(zone, recordset)

Manager - TLDs

List

List TLDs.

client.tlds.list()

Get

Get a TLD

client.tlds.get(tld)

Create

Create a TLDs.

client.tlds.create(name, data)

Update

Update a TLD.

client.tlds.update(tld, data)

Delete

Delete a TLD.

client.tlds.delete(tld)

Manager - Blacklists

List

List Blacklists.

client.blacklists.list()

Get

Get a Blacklist.

client.blacklists.get(blacklist)

Create

Create a Blacklist.

client.blacklists.create(name, pattern)

Update

Update a Blacklist.

client.blacklists.update(blacklist, pattern)

Delete

Delete a Blacklist.

client.blacklists.delete(blacklist)

Manager - FloatingIPs

List

client.floatingips.list()

Get

client.floatingips.get(region, floatingip_id)

Set

Set a PTR record for a FloatingIP.

client.floatingips.set(region, floatingip_id, record)

Unset

Unset a PTR record for a FloatingIP.

client.floatingips.unset(region, floatingip_id)

Implementation

Assignee(s)

Primary assignee:

endre-karlson

Milestones

Target Milestone for completion:

Juno-2

Work Items

N/A

Dependencies

  • switch-to-keystone-session