Support for Metadata Definitions Catalog API

API calls and shell commands added in this patch:
- CRUD for metadefs namespaces;
- CRUD for metadefs objects;
- CRUD for metadefs properites;
- CRD for metadefs resource types and resource type associations.

Change-Id: I6d15f749038e8fd24fc651f0b314df5be7c673ef
Implements: blueprint metadata-schema-catalog-support
Co-Authored-By: Facundo Maldonado <facundo.n.maldonado@intel.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>
Co-Authored-By: Lakshmi N Sampath <lakshmi.sampath@hp.com>
Co-Authored-By: Pawel Koniszewski <pawel.koniszewski@intel.com>
This commit is contained in:
Pawel Koniszewski
2014-09-03 07:37:45 -04:00
committed by Travis Tripp
parent 16077d91dd
commit 33dcea81b2
12 changed files with 2714 additions and 41 deletions
+12 -2
View File
@@ -17,6 +17,7 @@ from __future__ import print_function
import errno
import hashlib
import json
import os
import re
import sys
@@ -106,14 +107,20 @@ def pretty_choice_list(l):
return ', '.join("'%s'" % i for i in l)
def print_list(objs, fields, formatters=None):
def print_list(objs, fields, formatters=None, field_settings=None):
formatters = formatters or {}
field_settings = field_settings or {}
pt = prettytable.PrettyTable([f for f in fields], caching=False)
pt.align = 'l'
for o in objs:
row = []
for field in fields:
if field in field_settings:
for setting, value in six.iteritems(field_settings[field]):
setting_dict = getattr(pt, setting)
setting_dict[field] = value
if field in formatters:
row.append(formatters[field](o))
else:
@@ -129,7 +136,10 @@ def print_dict(d, max_column_width=80):
pt = prettytable.PrettyTable(['Property', 'Value'], caching=False)
pt.align = 'l'
pt.max_width = max_column_width
[pt.add_row(list(r)) for r in six.iteritems(d)]
for k, v in six.iteritems(d):
if isinstance(v, (dict, list)):
v = json.dumps(v)
pt.add_row([k, v])
print(strutils.safe_encode(pt.get_string(sortby='Property')))