summaryrefslogtreecommitdiff
path: root/designateclient/v2
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-29 16:19:04 +0000
committerGerrit Code Review <review@openstack.org>2016-06-29 16:19:04 +0000
commitf5a49f27875ea1b7a6df83e1020a52488a2429be (patch)
treeddc93e696da54adacec7cb61eb1daf63198cccb7 /designateclient/v2
parentafa50f4ccfb52d94acb4527fb55ca644edff9597 (diff)
parenteedd4ac142200474520371fbb589be98124bcac8 (diff)
downloadpython-designateclient-f5a49f27875ea1b7a6df83e1020a52488a2429be.tar.gz
Merge "Allow cli to query "v2/recordsets""
Diffstat (limited to 'designateclient/v2')
-rw-r--r--designateclient/v2/cli/recordsets.py12
-rw-r--r--designateclient/v2/recordsets.py6
2 files changed, 15 insertions, 3 deletions
diff --git a/designateclient/v2/cli/recordsets.py b/designateclient/v2/cli/recordsets.py
index 00d9348..55f01c5 100644
--- a/designateclient/v2/cli/recordsets.py
+++ b/designateclient/v2/cli/recordsets.py
@@ -54,7 +54,8 @@ class ListRecordSetsCommand(lister.Lister):
parser.add_argument('--action', help="RecordSet Action",
required=False)
- parser.add_argument('zone_id', help="Zone ID")
+ parser.add_argument('zone_id', help="Zone ID. To list all"
+ " recordsets specify 'all'")
return parser
@@ -85,8 +86,13 @@ class ListRecordSetsCommand(lister.Lister):
cols = self.columns
- data = get_all(client.recordsets.list, args=[parsed_args.zone_id],
- criterion=criterion)
+ if parsed_args.zone_id == 'all':
+ data = get_all(client.recordsets.list_all_zones,
+ criterion=criterion)
+ cols.insert(2, 'zone_name')
+ else:
+ data = get_all(client.recordsets.list, args=[parsed_args.zone_id],
+ criterion=criterion)
for i, rs in enumerate(data):
data[i] = _format_recordset(rs)
diff --git a/designateclient/v2/recordsets.py b/designateclient/v2/recordsets.py
index 5096a69..188148c 100644
--- a/designateclient/v2/recordsets.py
+++ b/designateclient/v2/recordsets.py
@@ -74,6 +74,12 @@ class RecordSetController(V2Controller):
return self._get(url, response_key='recordsets')
+ def list_all_zones(self, criterion=None, marker=None, limit=None):
+
+ url = self.build_url('/recordsets', criterion, marker, limit)
+
+ return self._get(url, response_key='recordsets')
+
def get(self, zone, recordset):
zone = v2_utils.resolve_by_name(self.client.zones.list, zone)
recordset = v2_utils.resolve_by_name(self.list, recordset, zone)