summaryrefslogtreecommitdiff
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
parent4827ee9fc43cc0589f98bea5bc523eb1b5689403 (diff)
parent8bc106654ca8ab52d98f28fc55513e7931a02c3f (diff)
downloadpython-designateclient-ee9cbe632c24bd1cbe78ed1c7f5e908921acb1e3.tar.gz
Merge "Add `openstack zone transfer accept list` cli 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
-rw-r--r--doc/source/shell-v2-examples.rst6
-rw-r--r--doc/source/shell-v2.rst1
-rw-r--r--setup.cfg1
6 files changed, 47 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):
diff --git a/doc/source/shell-v2-examples.rst b/doc/source/shell-v2-examples.rst
index dc53a17..fa4a2e0 100644
--- a/doc/source/shell-v2-examples.rst
+++ b/doc/source/shell-v2-examples.rst
@@ -356,6 +356,12 @@ Show Zone Transfer Accept
$openstack zone transfer accept show a8750f50-d7e6-403a-89d2-e209d62ef60e
+List Zone Transfer Accept
+
+.. code-block:: shell-session
+
+ $openstack zone transfer accept list
+
Working with tld
-----------------
diff --git a/doc/source/shell-v2.rst b/doc/source/shell-v2.rst
index 1eff928..dff87bc 100644
--- a/doc/source/shell-v2.rst
+++ b/doc/source/shell-v2.rst
@@ -118,6 +118,7 @@ zone transfer request show Show Zone Transfer Request Details
zone transfer request set Set a Zone Transfer Request
zone transfer request delete Delete a Zone Transfer Request
zone transfer accept request Accept a Zone Transfer Request
+zone transfer accept list List Zone Transfer Accepts
zone transfer accept show Show Zone Transfer Accept
zone abandon Abandon a zone
zone axfr AXFR a zone
diff --git a/setup.cfg b/setup.cfg
index 98988e4..a81689a 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -126,6 +126,7 @@ openstack.dns.v2 =
zone_transfer_request_set = designateclient.v2.cli.zones:SetTransferRequestCommand
zone_transfer_request_delete = designateclient.v2.cli.zones:DeleteTransferRequestCommand
zone_transfer_accept_request = designateclient.v2.cli.zones:AcceptTransferRequestCommand
+ zone_transfer_accept_list = designateclient.v2.cli.zones:ListTransferAcceptsCommand
zone_transfer_accept_show = designateclient.v2.cli.zones:ShowTransferAcceptCommand
recordset_create = designateclient.v2.cli.recordsets:CreateRecordSetCommand