'Get a list of metadata definition namespaces.
The listing result is an object with property "items". Each item is
a namespace.
Example GET:
http://localhost/api/glance/metadefs/namespaces?resource_types=OS::Nova::Flavor&sort_dir=desc&marker=OS::Compute::Watchdog&paginate=False&sort_key=namespace
The following get parameters may be passed in the GET
request:
:param resource_type: Namespace resource type.
If specified returned namespace properties will have prefixes
proper for selected resource type.
:param paginate: If true will perform pagination based on settings.
:param marker: Specifies the namespace of the last-seen namespace.
The typical pattern of limit and marker is to make an
initial limited request and then to use the last
namespace from the response as the marker parameter
in a subsequent limited request. With paginate, limit
is automatically set.
:param sort_dir: The sort direction (\'asc\' or \'desc\').
:param sort_key: The field to sort on (for example, \'created_at\').
Default is namespace. The way base namespaces are loaded into
glance typically at first deployment is done in a single
transaction giving them a potentially unpredictable sort result
when using create_at.
Any additional request parameters will be passed through the API as
filters.'

@rest_utils.ajax()
def get(self, request):

    (filters, kwargs) = rest_utils.parse_filters_kwargs(request, CLIENT_KEYWORDS)
    names = ('items', 'has_more_data', 'has_prev_data')
    return dict(izip(names, api.glance.metadefs_namespace_full_list(request, filters=filters, **kwargs)))
