Remove now useless build_url method
Since we url keystoneauth we don't really need a method to build the URL, this one is now static. The keystoneauth Adapter is reponsible to and the url prefix. Change-Id: Ie4abd47292013cb89d09a4c46c369f1ceb3eb3da
This commit is contained in:
parent
108eb72f5f
commit
31fa3f5487
|
@ -18,12 +18,13 @@ from gnocchiclient.v1 import base
|
|||
|
||||
class ArchivePolicyManager(base.Manager):
|
||||
|
||||
url = "v1/archive_policy/"
|
||||
|
||||
def list(self):
|
||||
"""List archive policies
|
||||
|
||||
"""
|
||||
url = self.client._build_url("archive_policy")
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.url).json()
|
||||
|
||||
def get(self, name):
|
||||
"""Get an archive policy
|
||||
|
@ -31,8 +32,7 @@ class ArchivePolicyManager(base.Manager):
|
|||
:param name: Name of the archive policy
|
||||
:type name: str
|
||||
"""
|
||||
url = self.client._build_url("archive_policy/%s" % name)
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.url + name).json()
|
||||
|
||||
def create(self, archive_policy):
|
||||
"""Create an archive policy
|
||||
|
@ -41,9 +41,8 @@ class ArchivePolicyManager(base.Manager):
|
|||
:type archive_policy: dict
|
||||
|
||||
"""
|
||||
url = self.client._build_url("archive_policy/")
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.url, headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(archive_policy)).json()
|
||||
|
||||
def delete(self, name):
|
||||
|
@ -52,5 +51,4 @@ class ArchivePolicyManager(base.Manager):
|
|||
:param name: Name of the archive policy
|
||||
:type name: str
|
||||
"""
|
||||
url = self.client._build_url("archive_policy/%s" % name)
|
||||
self.client.api.delete(url)
|
||||
self.client.api.delete(self.url + name)
|
||||
|
|
|
@ -17,13 +17,13 @@ from gnocchiclient.v1 import base
|
|||
|
||||
|
||||
class ArchivePolicyRuleManager(base.Manager):
|
||||
url = "v1/archive_policy_rule/"
|
||||
|
||||
def list(self):
|
||||
"""List archive policy rules
|
||||
|
||||
"""
|
||||
url = self.client._build_url("archive_policy_rule")
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.url).json()
|
||||
|
||||
def get(self, name):
|
||||
"""Get an archive policy rules
|
||||
|
@ -31,17 +31,14 @@ class ArchivePolicyRuleManager(base.Manager):
|
|||
:param name: Name of the archive policy rule
|
||||
:type name: str
|
||||
"""
|
||||
url = self.client._build_url("archive_policy_rule/%s"
|
||||
% name)
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.url + name).json()
|
||||
|
||||
def create(self, archive_policy_rule):
|
||||
"""Create an archive policy rule
|
||||
|
||||
"""
|
||||
url = self.client._build_url("archive_policy_rule/")
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.url, headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(archive_policy_rule)).json()
|
||||
|
||||
def delete(self, name):
|
||||
|
@ -50,6 +47,4 @@ class ArchivePolicyRuleManager(base.Manager):
|
|||
:param name: Name of the archive policy rule
|
||||
:type name: str
|
||||
"""
|
||||
url = self.client._build_url("archive_policy_rule/%s"
|
||||
% name)
|
||||
self.client.api.delete(url)
|
||||
self.client.api.delete(self.url + name)
|
||||
|
|
|
@ -26,8 +26,6 @@ class Client(object):
|
|||
:type session: :py:class:`keystoneauth.adapter.Adapter`
|
||||
"""
|
||||
|
||||
_VERSION = "v1"
|
||||
|
||||
def __init__(self, session=None):
|
||||
"""Initialize a new client for the Gnocchi v1 API.
|
||||
|
||||
|
@ -38,6 +36,3 @@ class Client(object):
|
|||
self.archive_policy_rule = (
|
||||
archive_policy_rule.ArchivePolicyRuleManager(self))
|
||||
self.metric = metric.MetricManager(self)
|
||||
|
||||
def _build_url(self, url_suffix):
|
||||
return "%s/%s" % (self._VERSION, url_suffix)
|
||||
|
|
|
@ -21,13 +21,14 @@ from gnocchiclient.v1 import base
|
|||
|
||||
|
||||
class MetricManager(base.Manager):
|
||||
metric_url = "v1/metric/"
|
||||
resource_url = "v1/resource/generic/%s/metric/"
|
||||
|
||||
def list(self):
|
||||
"""List archive metrics
|
||||
|
||||
"""
|
||||
url = self.client._build_url("metric")
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.metric_url).json()
|
||||
|
||||
@staticmethod
|
||||
def _ensure_metric_is_uuid(metric, attribute="resource_id"):
|
||||
|
@ -48,10 +49,9 @@ class MetricManager(base.Manager):
|
|||
"""
|
||||
if resource_id is None:
|
||||
self._ensure_metric_is_uuid(metric)
|
||||
url = self.client._build_url("metric/%s" % metric)
|
||||
url = self.metric_url + metric
|
||||
else:
|
||||
url = self.client._build_url("resource/generic/%s/metric/%s" % (
|
||||
resource_id, metric))
|
||||
url = (self.resource_url % resource_id) + metric
|
||||
return self.client.api.get(url).json()
|
||||
|
||||
def create(self, metric, resource_id=None, metric_name=None):
|
||||
|
@ -64,9 +64,8 @@ class MetricManager(base.Manager):
|
|||
:type resource_id: str
|
||||
"""
|
||||
if resource_id is None and metric_name is None:
|
||||
url = self.client._build_url("metric")
|
||||
metric = self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.metric_url, headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(metric)).json()
|
||||
# FIXME(sileht): create and get have a
|
||||
# different output: LP#1497171
|
||||
|
@ -76,11 +75,10 @@ class MetricManager(base.Manager):
|
|||
raise TypeError("resource_id and metric_name are "
|
||||
"mutually required")
|
||||
else:
|
||||
url = self.client._build_url("resource/generic/%s/metric" %
|
||||
resource_id)
|
||||
metric = {metric_name: metric}
|
||||
metric = self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.resource_url % resource_id,
|
||||
headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(metric))
|
||||
return self.get(metric_name, resource_id)
|
||||
|
||||
|
@ -95,10 +93,9 @@ class MetricManager(base.Manager):
|
|||
"""
|
||||
if resource_id is None:
|
||||
self._ensure_metric_is_uuid(metric)
|
||||
url = self.client._build_url("metric/%s" % metric)
|
||||
url = self.metric_url + metric
|
||||
else:
|
||||
url = self.client._build_url("resource/generic/%s/metric/%s" % (
|
||||
resource_id, metric))
|
||||
url = self.resource_url % resource_id + metric
|
||||
self.client.api.delete(url)
|
||||
|
||||
def add_measures(self, metric, measures, resource_id=None):
|
||||
|
@ -114,11 +111,9 @@ class MetricManager(base.Manager):
|
|||
"""
|
||||
if resource_id is None:
|
||||
self._ensure_metric_is_uuid(metric)
|
||||
url = self.client._build_url("metric/%s/measures" % metric)
|
||||
url = self.metric_url + metric + "/measures"
|
||||
else:
|
||||
url = self.client._build_url(
|
||||
"resource/generic/%s/metric/%s/measures" % (
|
||||
resource_id, metric))
|
||||
url = self.resource_url % resource_id + metric + "/measures"
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(measures))
|
||||
|
@ -152,11 +147,9 @@ class MetricManager(base.Manager):
|
|||
params.update(kwargs)
|
||||
if resource_id is None:
|
||||
self._ensure_metric_is_uuid(metric)
|
||||
url = self.client._build_url("metric/%s/measures" % metric)
|
||||
url = self.metric_url + metric + "/measures"
|
||||
else:
|
||||
url = self.client._build_url(
|
||||
"resource/generic/%s/metric/%s/measures" % (
|
||||
resource_id, metric))
|
||||
url = self.resource_url % resource_id + metric + "/measures"
|
||||
return self.client.api.get(url, params=params).json()
|
||||
|
||||
def aggregation(self, metrics, query=None,
|
||||
|
@ -191,12 +184,11 @@ class MetricManager(base.Manager):
|
|||
for metric in metrics:
|
||||
self._ensure_metric_is_uuid(metric)
|
||||
params['metric'] = metrics
|
||||
url = self.client._build_url("aggregation/metric")
|
||||
return self.client.api.get(url, params=params).json()
|
||||
return self.client.api.get("v1/aggregation/metric",
|
||||
params=params).json()
|
||||
else:
|
||||
url = self.client._build_url(
|
||||
"aggregation/resource/generic/metric/%s?%s" % (
|
||||
metrics, utils.dict_to_querystring(params)))
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
"v1/aggregation/resource/generic/metric/%s?%s" % (
|
||||
metrics, utils.dict_to_querystring(params)),
|
||||
headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(query)).json()
|
||||
|
|
|
@ -30,10 +30,15 @@ def _get_pagination_options(details=False, history=False,
|
|||
options.append("marker=%s" % urllib_parse.quote(marker))
|
||||
for sort in sorts or []:
|
||||
options.append("sort=%s" % urllib_parse.quote(sort))
|
||||
return "&".join(options)
|
||||
if options:
|
||||
return "?%s" % "&".join(options)
|
||||
else:
|
||||
return ""
|
||||
|
||||
|
||||
class ResourceManager(base.Manager):
|
||||
url = "v1/resource/"
|
||||
|
||||
def list(self, resource_type="generic", details=False, history=False,
|
||||
limit=None, marker=None, sorts=None):
|
||||
"""List resources
|
||||
|
@ -53,8 +58,7 @@ class ResourceManager(base.Manager):
|
|||
:type sorts: list of str
|
||||
"""
|
||||
qs = _get_pagination_options(details, history, limit, marker, sorts)
|
||||
url = self.client._build_url("resource/%s?%s" % (resource_type, qs))
|
||||
return self.client.api.get(url).json()
|
||||
return self.client.api.get(self.url + resource_type + qs).json()
|
||||
|
||||
def get(self, resource_type, resource_id, history=False):
|
||||
"""Get a resource
|
||||
|
@ -67,8 +71,7 @@ class ResourceManager(base.Manager):
|
|||
:type history: bool
|
||||
"""
|
||||
history = "/history" if history else ""
|
||||
url = self.client._build_url("resource/%s/%s%s" % (
|
||||
resource_type, resource_id, history))
|
||||
url = self.url + "%s/%s%s" % (resource_type, resource_id, history)
|
||||
return self.client.api.get(url).json()
|
||||
|
||||
def history(self, resource_type, resource_id, details=False,
|
||||
|
@ -90,8 +93,7 @@ class ResourceManager(base.Manager):
|
|||
:type sorts: list of str
|
||||
"""
|
||||
qs = _get_pagination_options(details, False, limit, marker, sorts)
|
||||
url = self.client._build_url("resource/%s/%s/history?%s" % (
|
||||
resource_type, resource_id, qs))
|
||||
url = "%s%s/%s/history?%s" % (self.url, resource_type, resource_id, qs)
|
||||
return self.client.api.get(url).json()
|
||||
|
||||
def create(self, resource_type, resource):
|
||||
|
@ -102,9 +104,9 @@ class ResourceManager(base.Manager):
|
|||
:param resource: Attribute of the resource
|
||||
:type resource: dict
|
||||
"""
|
||||
url = self.client._build_url("resource/%s" % resource_type)
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.url + resource_type,
|
||||
headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(resource)).json()
|
||||
|
||||
def update(self, resource_type, resource_id, resource):
|
||||
|
@ -118,10 +120,9 @@ class ResourceManager(base.Manager):
|
|||
:type resource: dict
|
||||
"""
|
||||
|
||||
url = self.client._build_url("resource/%s/%s" % (resource_type,
|
||||
resource_id))
|
||||
return self.client.api.patch(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
self.url + resource_type + "/" + resource_id,
|
||||
headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(resource)).json()
|
||||
|
||||
def delete(self, resource_id):
|
||||
|
@ -130,8 +131,7 @@ class ResourceManager(base.Manager):
|
|||
:param resource_id: ID of the resource
|
||||
:type resource_id: str
|
||||
"""
|
||||
url = self.client._build_url("resource/generic/%s" % (resource_id))
|
||||
self.client.api.delete(url)
|
||||
self.client.api.delete(self.url + "generic/" + resource_id)
|
||||
|
||||
def search(self, resource_type="generic", query=None, details=False,
|
||||
history=False, limit=None, marker=None, sorts=None):
|
||||
|
@ -160,8 +160,7 @@ class ResourceManager(base.Manager):
|
|||
|
||||
query = query or {}
|
||||
qs = _get_pagination_options(details, False, limit, marker, sorts)
|
||||
url = self.client._build_url(
|
||||
"search/resource/%s?%s" % (resource_type, qs))
|
||||
url = "v1/search/resource/%s?%s" % (resource_type, qs)
|
||||
return self.client.api.post(
|
||||
url, headers={'Content-Type': "application/json"},
|
||||
data=jsonutils.dumps(query)).json()
|
||||
|
|
Loading…
Reference in New Issue