The cinder.volume.drivers.zfssa.restclient Module¶
ZFS Storage Appliance REST API Client Programmatic Interface
-
exception
RestClientError(status, name=’ERR_INTERNAL’, message=None)¶ Bases:
exceptions.ExceptionException for ZFS REST API client errors
-
class
RestClientURL(url, **kwargs)¶ Bases:
objectZFSSA urllib client
-
delete(path, **kwargs)¶ Make an HTTP DELETE request
Parameters: path – Path to resource that will be deleted.
-
get(path, **kwargs)¶ Make an HTTP GET request
Parameters: path – Path to resource.
-
head(path, **kwargs)¶ Make an HTTP HEAD request
Parameters: path – Path to resource.
-
islogin()¶ return if client is login
-
login(auth_str)¶ Login to an appliance using a user name and password.
Start a session like what is done logging into the BUI. This is not a requirement to run REST commands, since the protocol is stateless. What is does is set up a cookie session so that some server side caching can be done. If login is used remember to call logout when finished.
Parameters: auth_str – Authorization string (base64)
-
logout()¶ Logout of an appliance
-
static
mkpath(*args, **kwargs)¶ Make a path?query string for making a REST request
Cmd_params args: The path part Cmd_params kwargs: The query part
-
post(path, body=”, **kwargs)¶ Make an HTTP POST request
Parameters: - path – Path to resource.
- body – Post data content
-
put(path, body=”, **kwargs)¶ Make an HTTP PUT request
Parameters: - path – Path to resource.
- body – Put data content
-
request(path, request, body=None, **kwargs)¶ Make an HTTP request and return the results
Parameters: - path – Path used with the initialized URL to make a request
- request – HTTP request type (GET, POST, PUT, DELETE)
- body – HTTP body of request
Key accept: Set HTTP ‘Accept’ header with this value
Key base_path: Override the base_path for this request
Key content: Set HTTP ‘Content-Type’ header with this value
-
-
class
RestResult(response=None, err=None)¶ Bases:
objectResult from a REST API operation
-
get_header(name)¶ Get an HTTP header with the given name from the results
Parameters: name – HTTP header name Returns: The header value or None if no value is found
-
-
class
Status¶ Bases:
objectResult HTTP Status
-
ACCEPTED= 202¶ Command accepted
-
BAD_REQUEST= 400¶ Bad Request
-
BUSY= 503¶ Service Unavailable
-
CONFLICT= 409¶ Invalid request
-
CREATED= 201¶ New resource created successfully
-
FORBIDDEN= 403¶ The request is not allowed
-
NOT_ALLOWED= 405¶ The request is not allowed
-
NOT_FOUND= 404¶ The requested resource was not found
-
NO_CONTENT= 204¶ Command returned OK but no data will be returned
-
OK= 200¶ Request return OK
-
TIMEOUT= 408¶ Request timed out
-
UNAUTHORIZED= 401¶ User is not authorized
-