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.Exception- Exception for ZFS REST API client errors 
- 
class RestClientURL(url, **kwargs)¶
- Bases: - object- ZFSSA 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: - object- Result 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: - object- Result 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 
 
-