summaryrefslogtreecommitdiff
path: root/heatclient/v1
diff options
context:
space:
mode:
authorPeter Razumovsky <prazumovsky@mirantis.com>2016-05-06 16:30:01 +0300
committerPeter Razumovsky <prazumovsky@mirantis.com>2016-05-20 18:03:47 +0300
commit992bef89ce30dd7d5c9d14b3cc16e2655f121711 (patch)
tree5558620b1ceec5782d0f008d425e7910e4d63ffd /heatclient/v1
parentc94a711ca85e6d197d0dfdafd76de4900ce54224 (diff)
downloadpython-heatclient-992bef89ce30dd7d5c9d14b3cc16e2655f121711.tar.gz
osc resource-type-list description option
Add new option to osc resource-type-list, which allows to print description of each resource type. Change-Id: I34ca4531fb0c9f4896f55011ae234771e9ef965f Depends-on: Ia92699e5ca60a891e9704c468e447e1053be7609 Closes-bug: #1558049
Diffstat (limited to 'heatclient/v1')
-rw-r--r--heatclient/v1/resource_types.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/heatclient/v1/resource_types.py b/heatclient/v1/resource_types.py
index 75ea22a..6f307ff 100644
--- a/heatclient/v1/resource_types.py
+++ b/heatclient/v1/resource_types.py
@@ -10,6 +10,9 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+
+import six
+
from heatclient.common import utils
from oslo_utils import encodeutils
@@ -20,13 +23,20 @@ from heatclient.openstack.common.apiclient import base
class ResourceType(base.Resource):
def __repr__(self):
- return "<ResourceType %s>" % self._info
+ if isinstance(self._info, six.string_types):
+ return "<ResourceType %s>" % self._info
+ else:
+ return "<ResourceType %s>" % self._info.get('resource_type')
def data(self, **kwargs):
return self.manager.data(self, **kwargs)
def _add_details(self, info):
- self.resource_type = info
+ if isinstance(info, six.string_types):
+ self.resource_type = info
+ elif isinstance(info, dict):
+ self.resource_type = info.get('resource_type')
+ self.description = info.get('description')
class ResourceTypeManager(base.BaseManager):
@@ -44,6 +54,10 @@ class ResourceTypeManager(base.BaseManager):
if 'filters' in kwargs:
filters = kwargs.pop('filters')
params.update(filters)
+ if 'with_description' in kwargs:
+ with_description = kwargs.pop('with_description')
+ params.update({'with_description': with_description})
+ if params:
url += '?%s' % parse.urlencode(params, True)
return self._list(url, self.KEY)