From efb9ce183bc64200af1d2bd606c8db1b647b0b02 Mon Sep 17 00:00:00 2001 From: Lakshmi N Sampath Date: Tue, 14 Jun 2016 17:09:45 -0700 Subject: [PATCH] Add pool listing to python designate client Pool listing is required in downstream apps which use python designate client like searchlight to retrive list of pool. Change-Id: I44d3a53d2b490fe9a4cca3858734ca70bb5e0f88 Closes-Bug: #1563497 --- designateclient/v2/client.py | 2 ++ designateclient/v2/pools.py | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 designateclient/v2/pools.py diff --git a/designateclient/v2/client.py b/designateclient/v2/client.py index c466ead5..e7eba3b2 100644 --- a/designateclient/v2/client.py +++ b/designateclient/v2/client.py @@ -19,6 +19,7 @@ from designateclient import exceptions from designateclient.v2.blacklists import BlacklistController from designateclient.v2.limits import LimitController from designateclient.v2.nameservers import NameServerController +from designateclient.v2.pools import PoolController from designateclient.v2.recordsets import RecordSetController from designateclient.v2.reverse import FloatingIPController from designateclient.v2.service_statuses import ServiceStatusesController @@ -131,3 +132,4 @@ class Client(object): self.zone_transfers = ZoneTransfersController(self) self.zone_exports = ZoneExportsController(self) self.zone_imports = ZoneImportsController(self) + self.pools = PoolController(self) diff --git a/designateclient/v2/pools.py b/designateclient/v2/pools.py new file mode 100644 index 00000000..e78a4269 --- /dev/null +++ b/designateclient/v2/pools.py @@ -0,0 +1,22 @@ +# Copyright (c) 2016 Hewlett-Packard Enterprise Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from designateclient.v2.base import V2Controller + + +class PoolController(V2Controller): + def list(self): + url = '/pools' + return self._get(url, response_key='pools')