summaryrefslogtreecommitdiff
path: root/designateclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-17 20:17:33 +0000
committerGerrit Code Review <review@openstack.org>2016-06-17 20:17:33 +0000
commitee9cbe632c24bd1cbe78ed1c7f5e908921acb1e3 (patch)
tree7f4a1c07b7a0132694ba35b3efe0b52f4c821b17 /designateclient
parent4827ee9fc43cc0589f98bea5bc523eb1b5689403 (diff)
parent8bc106654ca8ab52d98f28fc55513e7931a02c3f (diff)
downloadpython-designateclient-ee9cbe632c24bd1cbe78ed1c7f5e908921acb1e3.tar.gz
Merge "Add `openstack zone transfer accept list` cli to designateclient"
Diffstat (limited to 'designateclient')
-rw-r--r--designateclient/tests/v2/test_zones.py14
-rw-r--r--designateclient/v2/cli/zones.py21
-rw-r--r--designateclient/v2/zones.py4
3 files changed, 39 insertions, 0 deletions
diff --git a/designateclient/tests/v2/test_zones.py b/designateclient/tests/v2/test_zones.py
index 2723992..5470be7 100644
--- a/designateclient/tests/v2/test_zones.py
+++ b/designateclient/tests/v2/test_zones.py
@@ -249,6 +249,20 @@ class TestZoneTransfers(v2.APIV2TestCase, v2.CrudMixin):
response = self.client.zone_transfers.get_accept(accept_id)
self.assertEqual(ref, response)
+ def test_list_accepts(self):
+ accept_id = "098bee04-fe30-4a83-8ccd-e0c496755816"
+
+ ref = {
+ "id": accept_id,
+ "status": "COMPLETE"
+ }
+
+ parts = ["zones", "tasks", "transfer_accepts"]
+ self.stub_url('GET', parts=parts, json={"transfer_accepts": ref})
+
+ self.client.zone_transfers.list_accepts()
+ self.assertRequestBodyIs("")
+
class TestZoneExports(v2.APIV2TestCase, v2.CrudMixin):
def new_ref(self, **kwargs):
diff --git a/designateclient/v2/cli/zones.py b/designateclient/v2/cli/zones.py
index 86b3bfb..87940c6 100644
--- a/designateclient/v2/cli/zones.py
+++ b/designateclient/v2/cli/zones.py
@@ -384,6 +384,27 @@ class AcceptTransferRequestCommand(show.ShowOne):
return six.moves.zip(*sorted(six.iteritems(data)))
+class ListTransferAcceptsCommand(lister.Lister):
+ """List Zone Transfer Accepts"""
+
+ columns = ['id', 'zone_id', 'project_id',
+ 'zone_transfer_request_id', 'status', 'key']
+
+ def get_parser(self, prog_name):
+ parser = super(ListTransferAcceptsCommand, self).get_parser(
+ prog_name)
+
+ return parser
+
+ def take_action(self, parsed_args):
+ client = self.app.client_manager.dns
+
+ data = client.zone_transfers.list_requests()
+
+ cols = self.columns
+ return cols, (utils.get_item_properties(s, cols) for s in data)
+
+
class ShowTransferAcceptCommand(show.ShowOne):
"""Show Zone Transfer Accept"""
diff --git a/designateclient/v2/zones.py b/designateclient/v2/zones.py
index fa9abad..c960da7 100644
--- a/designateclient/v2/zones.py
+++ b/designateclient/v2/zones.py
@@ -125,6 +125,10 @@ class ZoneTransfersController(V2Controller):
url = '/zones/tasks/transfer_accepts/%s' % accept_id
return self._get(url)
+ def list_accepts(self):
+ url = '/zones/tasks/transfer_accepts'
+ return self._get(url, response_key="transfer_accepts")
+
class ZoneExportsController(V2Controller):
def create(self, zone):