def config_put(conninfo, credentials, install_path, target, override_version=False): ''' Set upgrade config. Warning: override_version allows an unsafe upgrade, which can result in corruption if used improperly. It should never be used on a production system. It is useful when upgrading from a non-release build. ''' req = { 'install_path': str(install_path), 'target': str(target), } method = "PUT" uri = UriBuilder(path="/v1/upgrade/settings") if override_version: uri.add_query_param('override_compatibility_check', 'True') return request.rest_request(conninfo, credentials, method, str(uri), body=req)
def iops_get(conninfo, credentials, specific_type=None): method = "GET" uri = UriBuilder(path="/v1/stats/iops") if specific_type: uri.add_query_param('type', specific_type) return request.rest_request(conninfo, credentials, method, str(uri))
def node_specific_quorum(conninfo, credentials, expected_nodes): method = "GET" uri = UriBuilder(path="/v1/node/quorum/specific") uri.add_query_param('nodes', ','.join(expected_nodes)) return request.rest_request(conninfo, credentials, method, str(uri))
def current_activity_get(conninfo, credentials, specific_type=None): method = "GET" uri = UriBuilder(path="/v1/analytics/activity/current") if specific_type: uri.add_query_param('type', specific_type) return request.rest_request(conninfo, credentials, method, str(uri))
def iops_get(conninfo, credentials, specific_type=None): method = 'GET' uri = UriBuilder(path='/v1/analytics/iops') if specific_type: uri.add_query_param('type', specific_type) return request.rest_request(conninfo, credentials, method, str(uri))
def config(conninfo, credentials, use_hex): method = "GET" uri = UriBuilder(path="/v1/debug/inspect/config") if use_hex: uri.add_query_param('hex') return request.rest_request(conninfo, credentials, method, str(uri))
def superblock(conninfo, credentials, use_hex=False): method = "GET" uri = UriBuilder(path="/v1/debug/inspect/superblock") if use_hex: uri.add_query_param('hex') return request.rest_request(conninfo, credentials, method, str(uri))
def btree(conninfo, credentials, btree_name, verbose): method = "GET" uri = UriBuilder(path="/v1/debug/inspect/btree") uri.add_path_component(btree_name) if verbose: uri.add_query_param("verbose") return request.rest_request(conninfo, credentials, method, str(uri))
def metatree(conninfo, credentials, inode_num, begin_off=None, end_off=None): method = "GET" uri = UriBuilder(path="/v1/debug/inspect/metatree") uri.add_path_component(inode_num) if begin_off != None: uri.add_query_param('begin', str(begin_off)) if end_off != None: uri.add_query_param('end', str(end_off)) return request.rest_request(conninfo, credentials, method, str(uri))
def authorize(conninfo, credentials, relationship_id, allow_non_empty_directory=None, allow_fs_path_create=None): method = "POST" uri = UriBuilder(path="/v1/replication/target-relationships/{}/authorize". format(relationship_id)) if allow_non_empty_directory is not None: uri.add_query_param("allow-non-empty-directory", "true" if allow_non_empty_directory else "false") if allow_fs_path_create is not None: uri.add_query_param("allow-fs-path-create", "true" if allow_fs_path_create else "false") return request.rest_request(conninfo, credentials, method, unicode(uri))
def config_put( conninfo, credentials, install_path, target, override_version=False): ''' Set upgrade config. Warning: override_version allows an unsafe upgrade, which can result in corruption if used improperly. It should never be used on a production system. It is useful when upgrading from a non-release build. ''' req = { 'install_path': str(install_path), 'target': str(target), } method = "PUT" uri = UriBuilder(path="/v1/upgrade/settings") if override_version: uri.add_query_param('override_compatibility_check', 'True') return request.rest_request( conninfo, credentials, method, str(uri), body=req)
class PagingIterator(object): def __init__(self, initial_url, fn, page_size=None): self.initial_url = initial_url self.rest_request = fn self.page_size = page_size self.uri = UriBuilder(path=initial_url, rstrip_slash=False) if page_size is not None: self.uri.add_query_param("limit", page_size) def __iter__(self): return self def __next__(self): if self.uri == '' or self.uri == None: raise StopIteration result = self.rest_request(self.uri) self.uri = result.data['paging']['next'] return result next = __next__ # python2
def inode(conninfo, credentials, use_hex=False, verbose=False, begin_inode=None, end_inode=None): method = "GET" uri = UriBuilder(path="/v1/debug/inspect/inode") if use_hex: uri.add_query_param('hex') if verbose: uri.add_query_param('verbose') if begin_inode != None: uri.add_query_param('begin', str(begin_inode)) if end_inode != None: uri.add_query_param('end', str(end_inode)) return request.rest_request(conninfo, credentials, method, str(uri))