296 lines
11 KiB
Python
296 lines
11 KiB
Python
"""
|
|
Garage Administration API v0+garage-v0.9.0
|
|
|
|
Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* # noqa: E501
|
|
|
|
The version of the OpenAPI document: v0.9.0
|
|
Generated by: https://openapi-generator.tech
|
|
"""
|
|
|
|
|
|
import re # noqa: F401
|
|
import sys # noqa: F401
|
|
|
|
from garage_admin_sdk.api_client import ApiClient, Endpoint as _Endpoint
|
|
from garage_admin_sdk.model_utils import ( # noqa: F401
|
|
check_allowed_values,
|
|
check_validations,
|
|
date,
|
|
datetime,
|
|
file_type,
|
|
none_type,
|
|
validate_and_convert_types
|
|
)
|
|
from garage_admin_sdk.model.add_node200_response_inner import AddNode200ResponseInner
|
|
from garage_admin_sdk.model.get_nodes200_response import GetNodes200Response
|
|
|
|
|
|
class NodesApi(object):
|
|
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
Ref: https://openapi-generator.tech
|
|
|
|
Do not edit the class manually.
|
|
"""
|
|
|
|
def __init__(self, api_client=None):
|
|
if api_client is None:
|
|
api_client = ApiClient()
|
|
self.api_client = api_client
|
|
self.add_node_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': ([AddNode200ResponseInner],),
|
|
'auth': [
|
|
'bearerAuth'
|
|
],
|
|
'endpoint_path': '/connect',
|
|
'operation_id': 'add_node',
|
|
'http_method': 'POST',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
'request_body',
|
|
],
|
|
'required': [
|
|
'request_body',
|
|
],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
'request_body':
|
|
([str],),
|
|
},
|
|
'attribute_map': {
|
|
},
|
|
'location_map': {
|
|
'request_body': 'body',
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [
|
|
'application/json'
|
|
]
|
|
},
|
|
api_client=api_client
|
|
)
|
|
self.get_nodes_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': (GetNodes200Response,),
|
|
'auth': [
|
|
'bearerAuth'
|
|
],
|
|
'endpoint_path': '/status',
|
|
'operation_id': 'get_nodes',
|
|
'http_method': 'GET',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
],
|
|
'required': [],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
},
|
|
'attribute_map': {
|
|
},
|
|
'location_map': {
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [],
|
|
},
|
|
api_client=api_client
|
|
)
|
|
|
|
def add_node(
|
|
self,
|
|
request_body,
|
|
**kwargs
|
|
):
|
|
"""Connect target node to other Garage nodes # noqa: E501
|
|
|
|
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start. # noqa: E501
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.add_node(request_body, async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
Args:
|
|
request_body ([str]):
|
|
|
|
Keyword Args:
|
|
_return_http_data_only (bool): response data without head status
|
|
code and headers. Default is True.
|
|
_preload_content (bool): if False, the urllib3.HTTPResponse object
|
|
will be returned without reading/decoding response data.
|
|
Default is True.
|
|
_request_timeout (int/float/tuple): timeout setting for this request. If
|
|
one number provided, it will be total request timeout. It can also
|
|
be a pair (tuple) of (connection, read) timeouts.
|
|
Default is None.
|
|
_check_input_type (bool): specifies if type checking
|
|
should be done one the data sent to the server.
|
|
Default is True.
|
|
_check_return_type (bool): specifies if type checking
|
|
should be done one the data received from the server.
|
|
Default is True.
|
|
_spec_property_naming (bool): True if the variable names in the input data
|
|
are serialized names, as specified in the OpenAPI document.
|
|
False if the variable names in the input data
|
|
are pythonic names, e.g. snake case (default)
|
|
_content_type (str/None): force body content-type.
|
|
Default is None and content-type will be predicted by allowed
|
|
content-types and body.
|
|
_host_index (int/None): specifies the index of the server
|
|
that we want to use.
|
|
Default is read from the configuration.
|
|
_request_auths (list): set to override the auth_settings for an a single
|
|
request; this effectively ignores the authentication
|
|
in the spec for a single request.
|
|
Default is None
|
|
async_req (bool): execute request asynchronously
|
|
|
|
Returns:
|
|
[AddNode200ResponseInner]
|
|
If the method is called asynchronously, returns the request
|
|
thread.
|
|
"""
|
|
kwargs['async_req'] = kwargs.get(
|
|
'async_req', False
|
|
)
|
|
kwargs['_return_http_data_only'] = kwargs.get(
|
|
'_return_http_data_only', True
|
|
)
|
|
kwargs['_preload_content'] = kwargs.get(
|
|
'_preload_content', True
|
|
)
|
|
kwargs['_request_timeout'] = kwargs.get(
|
|
'_request_timeout', None
|
|
)
|
|
kwargs['_check_input_type'] = kwargs.get(
|
|
'_check_input_type', True
|
|
)
|
|
kwargs['_check_return_type'] = kwargs.get(
|
|
'_check_return_type', True
|
|
)
|
|
kwargs['_spec_property_naming'] = kwargs.get(
|
|
'_spec_property_naming', False
|
|
)
|
|
kwargs['_content_type'] = kwargs.get(
|
|
'_content_type')
|
|
kwargs['_host_index'] = kwargs.get('_host_index')
|
|
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
|
|
kwargs['request_body'] = \
|
|
request_body
|
|
return self.add_node_endpoint.call_with_http_info(**kwargs)
|
|
|
|
def get_nodes(
|
|
self,
|
|
**kwargs
|
|
):
|
|
"""Status of this node and other nodes in the cluster # noqa: E501
|
|
|
|
Returns the cluster's current status, including: - ID of the node being queried and its version of the Garage daemon - Live nodes - Currently configured cluster layout - Staged changes to the cluster layout *Capacity is given in bytes* # noqa: E501
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.get_nodes(async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
|
|
Keyword Args:
|
|
_return_http_data_only (bool): response data without head status
|
|
code and headers. Default is True.
|
|
_preload_content (bool): if False, the urllib3.HTTPResponse object
|
|
will be returned without reading/decoding response data.
|
|
Default is True.
|
|
_request_timeout (int/float/tuple): timeout setting for this request. If
|
|
one number provided, it will be total request timeout. It can also
|
|
be a pair (tuple) of (connection, read) timeouts.
|
|
Default is None.
|
|
_check_input_type (bool): specifies if type checking
|
|
should be done one the data sent to the server.
|
|
Default is True.
|
|
_check_return_type (bool): specifies if type checking
|
|
should be done one the data received from the server.
|
|
Default is True.
|
|
_spec_property_naming (bool): True if the variable names in the input data
|
|
are serialized names, as specified in the OpenAPI document.
|
|
False if the variable names in the input data
|
|
are pythonic names, e.g. snake case (default)
|
|
_content_type (str/None): force body content-type.
|
|
Default is None and content-type will be predicted by allowed
|
|
content-types and body.
|
|
_host_index (int/None): specifies the index of the server
|
|
that we want to use.
|
|
Default is read from the configuration.
|
|
_request_auths (list): set to override the auth_settings for an a single
|
|
request; this effectively ignores the authentication
|
|
in the spec for a single request.
|
|
Default is None
|
|
async_req (bool): execute request asynchronously
|
|
|
|
Returns:
|
|
GetNodes200Response
|
|
If the method is called asynchronously, returns the request
|
|
thread.
|
|
"""
|
|
kwargs['async_req'] = kwargs.get(
|
|
'async_req', False
|
|
)
|
|
kwargs['_return_http_data_only'] = kwargs.get(
|
|
'_return_http_data_only', True
|
|
)
|
|
kwargs['_preload_content'] = kwargs.get(
|
|
'_preload_content', True
|
|
)
|
|
kwargs['_request_timeout'] = kwargs.get(
|
|
'_request_timeout', None
|
|
)
|
|
kwargs['_check_input_type'] = kwargs.get(
|
|
'_check_input_type', True
|
|
)
|
|
kwargs['_check_return_type'] = kwargs.get(
|
|
'_check_return_type', True
|
|
)
|
|
kwargs['_spec_property_naming'] = kwargs.get(
|
|
'_spec_property_naming', False
|
|
)
|
|
kwargs['_content_type'] = kwargs.get(
|
|
'_content_type')
|
|
kwargs['_host_index'] = kwargs.get('_host_index')
|
|
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
|
|
return self.get_nodes_endpoint.call_with_http_info(**kwargs)
|
|
|