本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode

V2 API - 绑定

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

为 V2 API 提供绑定,使用与 V1 相同的基于 Session 的方法。

问题描述

为 V2 API 提供绑定。(这不包括 shell 命令)

提议的变更

我们将提供一个 designateclient.v2.client.Client 对象,它将加载其他 Managers(与 V1 中的 Controllers 或类似组件不太一样)。

Manager - 区域

列表

列出区域。

client.zones.list()

获取

获取一个区域。

client.zones.get(zone)

创建

创建一个区域。

client.zones.create(name)

更新

更新一个区域。

client.zones.update(zone)

删除

删除一个区域。

client.zones.delete(zone)

Manager - 记录集

列表

列出区域中的记录集。

client.recordsets.list(zone)

获取

获取一个记录集

client.recordsets.get(zone, recordset)

创建

在区域中创建一个记录集。

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

更新

更新一个记录集。

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

删除

删除一个记录集。

client.recoredsets.delete(zone, recordset)

Manager - TLDs

列表

列出 TLDs。

client.tlds.list()

获取

获取一个 TLD

client.tlds.get(tld)

创建

创建 TLDs。

client.tlds.create(name, data)

更新

更新一个 TLD。

client.tlds.update(tld, data)

删除

删除一个 TLD。

client.tlds.delete(tld)

Manager - 黑名单

列表

列出黑名单。

client.blacklists.list()

获取

获取一个黑名单。

client.blacklists.get(blacklist)

创建

创建一个黑名单。

client.blacklists.create(name, pattern)

更新

更新一个黑名单。

client.blacklists.update(blacklist, pattern)

删除

删除一个黑名单。

client.blacklists.delete(blacklist)

Manager - 浮动 IP

列表

client.floatingips.list()

获取

client.floatingips.get(region, floatingip_id)

设置

为浮动 IP 设置 PTR 记录。

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

取消设置

取消设置浮动 IP 的 PTR 记录。

client.floatingips.unset(region, floatingip_id)

实现

负责人

主要负责人

endre-karlson

里程碑

完成目标里程碑

Juno-2

工作项

N/A

依赖项

  • switch-to-keystone-session