536 lines
21 KiB
Python
536 lines
21 KiB
Python
|
"""
|
||
|
Garage Administration API v0+garage-v0.7.3
|
||
|
|
||
|
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.7.3
|
||
|
Generated by: https://openapi-generator.tech
|
||
|
"""
|
||
|
|
||
|
|
||
|
import re # noqa: F401
|
||
|
import sys # noqa: F401
|
||
|
|
||
|
from openapi_client.api_client import ApiClient, Endpoint as _Endpoint
|
||
|
from openapi_client.model_utils import ( # noqa: F401
|
||
|
check_allowed_values,
|
||
|
check_validations,
|
||
|
date,
|
||
|
datetime,
|
||
|
file_type,
|
||
|
none_type,
|
||
|
validate_and_convert_types
|
||
|
)
|
||
|
from openapi_client.model.cluster_layout import ClusterLayout
|
||
|
from openapi_client.model.layout_version import LayoutVersion
|
||
|
from openapi_client.model.node_cluster_info import NodeClusterInfo
|
||
|
|
||
|
|
||
|
class LayoutApi(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.layout_apply_post_endpoint = _Endpoint(
|
||
|
settings={
|
||
|
'response_type': None,
|
||
|
'auth': [],
|
||
|
'endpoint_path': '/layout/apply',
|
||
|
'operation_id': 'layout_apply_post',
|
||
|
'http_method': 'POST',
|
||
|
'servers': None,
|
||
|
},
|
||
|
params_map={
|
||
|
'all': [
|
||
|
'layout_version',
|
||
|
],
|
||
|
'required': [],
|
||
|
'nullable': [
|
||
|
],
|
||
|
'enum': [
|
||
|
],
|
||
|
'validation': [
|
||
|
]
|
||
|
},
|
||
|
root_map={
|
||
|
'validations': {
|
||
|
},
|
||
|
'allowed_values': {
|
||
|
},
|
||
|
'openapi_types': {
|
||
|
'layout_version':
|
||
|
(LayoutVersion,),
|
||
|
},
|
||
|
'attribute_map': {
|
||
|
},
|
||
|
'location_map': {
|
||
|
'layout_version': 'body',
|
||
|
},
|
||
|
'collection_format_map': {
|
||
|
}
|
||
|
},
|
||
|
headers_map={
|
||
|
'accept': [],
|
||
|
'content_type': [
|
||
|
'application/json'
|
||
|
]
|
||
|
},
|
||
|
api_client=api_client
|
||
|
)
|
||
|
self.layout_get_endpoint = _Endpoint(
|
||
|
settings={
|
||
|
'response_type': (ClusterLayout,),
|
||
|
'auth': [],
|
||
|
'endpoint_path': '/layout',
|
||
|
'operation_id': 'layout_get',
|
||
|
'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
|
||
|
)
|
||
|
self.layout_post_endpoint = _Endpoint(
|
||
|
settings={
|
||
|
'response_type': None,
|
||
|
'auth': [],
|
||
|
'endpoint_path': '/layout',
|
||
|
'operation_id': 'layout_post',
|
||
|
'http_method': 'POST',
|
||
|
'servers': None,
|
||
|
},
|
||
|
params_map={
|
||
|
'all': [
|
||
|
'request_body',
|
||
|
],
|
||
|
'required': [],
|
||
|
'nullable': [
|
||
|
],
|
||
|
'enum': [
|
||
|
],
|
||
|
'validation': [
|
||
|
]
|
||
|
},
|
||
|
root_map={
|
||
|
'validations': {
|
||
|
},
|
||
|
'allowed_values': {
|
||
|
},
|
||
|
'openapi_types': {
|
||
|
'request_body':
|
||
|
({str: (NodeClusterInfo,)},),
|
||
|
},
|
||
|
'attribute_map': {
|
||
|
},
|
||
|
'location_map': {
|
||
|
'request_body': 'body',
|
||
|
},
|
||
|
'collection_format_map': {
|
||
|
}
|
||
|
},
|
||
|
headers_map={
|
||
|
'accept': [],
|
||
|
'content_type': [
|
||
|
'application/json'
|
||
|
]
|
||
|
},
|
||
|
api_client=api_client
|
||
|
)
|
||
|
self.layout_revert_post_endpoint = _Endpoint(
|
||
|
settings={
|
||
|
'response_type': None,
|
||
|
'auth': [],
|
||
|
'endpoint_path': '/layout/revert',
|
||
|
'operation_id': 'layout_revert_post',
|
||
|
'http_method': 'POST',
|
||
|
'servers': None,
|
||
|
},
|
||
|
params_map={
|
||
|
'all': [
|
||
|
'layout_version',
|
||
|
],
|
||
|
'required': [],
|
||
|
'nullable': [
|
||
|
],
|
||
|
'enum': [
|
||
|
],
|
||
|
'validation': [
|
||
|
]
|
||
|
},
|
||
|
root_map={
|
||
|
'validations': {
|
||
|
},
|
||
|
'allowed_values': {
|
||
|
},
|
||
|
'openapi_types': {
|
||
|
'layout_version':
|
||
|
(LayoutVersion,),
|
||
|
},
|
||
|
'attribute_map': {
|
||
|
},
|
||
|
'location_map': {
|
||
|
'layout_version': 'body',
|
||
|
},
|
||
|
'collection_format_map': {
|
||
|
}
|
||
|
},
|
||
|
headers_map={
|
||
|
'accept': [],
|
||
|
'content_type': [
|
||
|
'application/json'
|
||
|
]
|
||
|
},
|
||
|
api_client=api_client
|
||
|
)
|
||
|
|
||
|
def layout_apply_post(
|
||
|
self,
|
||
|
**kwargs
|
||
|
):
|
||
|
"""Apply staged layout # noqa: E501
|
||
|
|
||
|
Applies to the cluster the layout changes currently registered as staged layout changes. # noqa: E501
|
||
|
This method makes a synchronous HTTP request by default. To make an
|
||
|
asynchronous HTTP request, please pass async_req=True
|
||
|
|
||
|
>>> thread = api.layout_apply_post(async_req=True)
|
||
|
>>> result = thread.get()
|
||
|
|
||
|
|
||
|
Keyword Args:
|
||
|
layout_version (LayoutVersion): Similarly to the CLI, the body must include the version of the new layout that will be created, which MUST be 1 + the value of the currently existing layout in the cluster. . [optional]
|
||
|
_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:
|
||
|
None
|
||
|
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.layout_apply_post_endpoint.call_with_http_info(**kwargs)
|
||
|
|
||
|
def layout_get(
|
||
|
self,
|
||
|
**kwargs
|
||
|
):
|
||
|
"""Details on the current and staged layout # noqa: E501
|
||
|
|
||
|
Returns the cluster's current layout, including: - Currently configured cluster layout - Staged changes to the cluster layout *The info returned by this endpoint is a subset of the info returned by `GET /status`.* # noqa: E501
|
||
|
This method makes a synchronous HTTP request by default. To make an
|
||
|
asynchronous HTTP request, please pass async_req=True
|
||
|
|
||
|
>>> thread = api.layout_get(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:
|
||
|
ClusterLayout
|
||
|
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.layout_get_endpoint.call_with_http_info(**kwargs)
|
||
|
|
||
|
def layout_post(
|
||
|
self,
|
||
|
**kwargs
|
||
|
):
|
||
|
"""Send modifications to the cluster layout # noqa: E501
|
||
|
|
||
|
Send modifications to the cluster layout. These modifications will be included in the staged role changes, visible in subsequent calls of `GET /layout`. Once the set of staged changes is satisfactory, the user may call `POST /layout/apply` to apply the changed changes, or `POST /layout/revert` to clear all of the staged changes in the layout. # noqa: E501
|
||
|
This method makes a synchronous HTTP request by default. To make an
|
||
|
asynchronous HTTP request, please pass async_req=True
|
||
|
|
||
|
>>> thread = api.layout_post(async_req=True)
|
||
|
>>> result = thread.get()
|
||
|
|
||
|
|
||
|
Keyword Args:
|
||
|
request_body ({str: (NodeClusterInfo,)}): To add a new node to the layout or to change the configuration of an existing node, simply set the values you want. To remove a node, set it to `null` instead of passing a configuration object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. . [optional]
|
||
|
_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:
|
||
|
None
|
||
|
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.layout_post_endpoint.call_with_http_info(**kwargs)
|
||
|
|
||
|
def layout_revert_post(
|
||
|
self,
|
||
|
**kwargs
|
||
|
):
|
||
|
"""Clear staged layout # noqa: E501
|
||
|
|
||
|
Clears all of the staged layout changes. # noqa: E501
|
||
|
This method makes a synchronous HTTP request by default. To make an
|
||
|
asynchronous HTTP request, please pass async_req=True
|
||
|
|
||
|
>>> thread = api.layout_revert_post(async_req=True)
|
||
|
>>> result = thread.get()
|
||
|
|
||
|
|
||
|
Keyword Args:
|
||
|
layout_version (LayoutVersion): Reverting the staged changes is done by incrementing the version number and clearing the contents of the staged change list. Similarly to the CLI, the body must include the incremented version number, which MUST be 1 + the value of the currently existing layout in the cluster. . [optional]
|
||
|
_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:
|
||
|
None
|
||
|
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.layout_revert_post_endpoint.call_with_http_info(**kwargs)
|
||
|
|