diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-06-17 20:17:33 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-06-17 20:17:33 +0000 |
commit | ee9cbe632c24bd1cbe78ed1c7f5e908921acb1e3 (patch) | |
tree | 7f4a1c07b7a0132694ba35b3efe0b52f4c821b17 /designateclient | |
parent | 4827ee9fc43cc0589f98bea5bc523eb1b5689403 (diff) | |
parent | 8bc106654ca8ab52d98f28fc55513e7931a02c3f (diff) | |
download | python-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.py | 14 | ||||
-rw-r--r-- | designateclient/v2/cli/zones.py | 21 | ||||
-rw-r--r-- | designateclient/v2/zones.py | 4 |
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): |