karbor.api package¶
Subpackages¶
- karbor.api.middleware package
- karbor.api.openstack package
- karbor.api.schemas package
- Submodules
- karbor.api.schemas.checkpoints module
- karbor.api.schemas.copies module
- karbor.api.schemas.plans module
- karbor.api.schemas.quota_classes module
- karbor.api.schemas.quotas module
- karbor.api.schemas.restores module
- karbor.api.schemas.scheduled_operations module
- karbor.api.schemas.triggers module
- karbor.api.schemas.verifications module
- Module contents
- karbor.api.v1 package
- Submodules
- karbor.api.v1.copies module
- karbor.api.v1.operation_logs module
- karbor.api.v1.plans module
- karbor.api.v1.protectables module
- karbor.api.v1.providers module
- karbor.api.v1.quota_classes module
- karbor.api.v1.quotas module
- karbor.api.v1.restores module
- karbor.api.v1.router module
- karbor.api.v1.scheduled_operations module
- karbor.api.v1.services module
- karbor.api.v1.triggers module
- karbor.api.v1.verifications module
- Module contents
- karbor.api.validation package
Submodules¶
karbor.api.common module¶
-
class
karbor.api.common.
ViewBuilder
¶ Bases:
object
Model API responses as dictionaries.
-
karbor.api.common.
get_pagination_params
(params, max_limit=None)¶ Return marker, limit, offset tuple from request.
- Parameters
params – wsgi.Request’s GET dictionary, possibly containing ‘marker’, ‘limit’, and ‘offset’ variables. ‘marker’ is the id of the last element the client has seen, ‘limit’ is the maximum number of items to return and ‘offset’ is the number of items to skip from the marker or from the first element. If ‘limit’ is not specified, or > max_limit, we default to max_limit. Negative values for either offset or limit will cause exc.HTTPBadRequest() exceptions to be raised. If no offset is present we’ll default to 0 and if no marker is present we’ll default to None.
- Max_limit
Max value ‘limit’ return value can take
- Returns
Tuple (marker, limit, offset)
-
karbor.api.common.
get_request_url
(request)¶
-
karbor.api.common.
get_sort_params
(params, default_key='created_at', default_dir='desc')¶ Retrieves sort keys/directions parameters.
Processes the parameters to create a list of sort keys and sort directions that correspond to either the ‘sort’ parameter or the ‘sort_key’ and ‘sort_dir’ parameter values. The value of the ‘sort’ parameter is a comma- separated list of sort keys, each key is optionally appended with ‘:<sort_direction>’.
Note that the ‘sort_key’ and ‘sort_dir’ parameters are deprecated in kilo and an exception is raised if they are supplied with the ‘sort’ parameter.
The sort parameters are removed from the request parameters by this function.
- Parameters
params – webob.multidict of request parameters (from karbor.api.openstack.wsgi.Request.params)
default_key – default sort key value, added to the list if no sort keys are supplied
default_dir – default sort dir value, added to the list if the corresponding key does not have a direction specified
- Returns
list of sort keys, list of sort dirs
- Raises
webob.exc.HTTPBadRequest – If both ‘sort’ and either ‘sort_key’ or ‘sort_dir’ are supplied parameters
-
karbor.api.common.
limited
(items, request, max_limit=None)¶ Return a slice of items according to requested offset and limit.
- Parameters
items – A sliceable entity
request –
wsgi.Request
possibly containing ‘offset’ and ‘limit’ GET variables. ‘offset’ is where to start in the list, and ‘limit’ is the maximum number of items to return. If ‘limit’ is not specified, 0, or > max_limit, we default to max_limit. Negative values for either offset or limit will cause exc.HTTPBadRequest() exceptions to be raised.max_limit – The maximum number of items to return from ‘items’
-
karbor.api.common.
limited_by_marker
(items, request, max_limit=None)¶ Return a slice of items according to the requested marker and limit.
-
karbor.api.common.
remove_version_from_href
(href)¶ Removes the first api version from the href.
Given: ‘http://www.karbor.com/v1.1/123’ Returns: ‘http://www.karbor.com/123’
Given: ‘http://www.karbor.com/v1.1’ Returns: ‘http://www.karbor.com’