def nested_resource_url(cls, name, nested_name=None):
     url = "%s%s/%s" % (
         cls.class_url(),
         quote_plus(name),
         quote_plus(path),
     )
     if nested_name is not None:
         url += "/%s" % quote_plus(nested_name)
     return url
예제 #2
0
 def custom_method_request(cls, sid, **params):
     url = "%s%s/%s" % (
         cls.class_url(),
         quote_plus(util.utf8(sid)),
         http_path,
     )
     return cls._static_request(http_verb, url, **params)
예제 #3
0
 def retrieve(self, name, api_key=None, octane_version=None, **params):
     url = "%s/%s" % (self.get("url"), quote_plus(util.utf8(name)))
     return self._request(
         "get",
         url,
         api_key=api_key,
         octane_version=octane_version,
         **params
     )
예제 #4
0
    def instance_url(self):
        name = self.get("name")

        if not isinstance(name, six.string_types):
            raise error.InvalidRequestError(
                "Could not determine which URL to request: %s instance "
                "has invalid ID: %r, %s. ID should be of type `str` (or"
                " `unicode`)" % (type(self).__name__, name, type(name)),
                "name",
            )

        name = util.utf8(name)
        base = self.class_url()
        extn = quote_plus(name)
        return "%s%s" % (base, extn)
예제 #5
0
 def modify(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("put", url, **params)
 def _cls_delete(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("delete", url, **params)