593 lines
22 KiB
Python
593 lines
22 KiB
Python
"""
|
|
Flamenco manager
|
|
|
|
Render Farm manager API # noqa: E501
|
|
|
|
The version of the OpenAPI document: 1.0.0
|
|
Generated by: https://openapi-generator.tech
|
|
"""
|
|
|
|
|
|
import re # noqa: F401
|
|
import sys # noqa: F401
|
|
|
|
from flamenco.manager.api_client import ApiClient, Endpoint as _Endpoint
|
|
from flamenco.manager.model_utils import ( # noqa: F401
|
|
check_allowed_values,
|
|
check_validations,
|
|
date,
|
|
datetime,
|
|
file_type,
|
|
none_type,
|
|
validate_and_convert_types
|
|
)
|
|
from flamenco.manager.model.error import Error
|
|
from flamenco.manager.model.shaman_checkout import ShamanCheckout
|
|
from flamenco.manager.model.shaman_checkout_result import ShamanCheckoutResult
|
|
from flamenco.manager.model.shaman_requirements_request import ShamanRequirementsRequest
|
|
from flamenco.manager.model.shaman_requirements_response import ShamanRequirementsResponse
|
|
from flamenco.manager.model.shaman_single_file_status import ShamanSingleFileStatus
|
|
|
|
|
|
class ShamanApi(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.shaman_checkout_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': (ShamanCheckoutResult,),
|
|
'auth': [],
|
|
'endpoint_path': '/api/v3/shaman/checkout/create',
|
|
'operation_id': 'shaman_checkout',
|
|
'http_method': 'POST',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
'shaman_checkout',
|
|
],
|
|
'required': [
|
|
'shaman_checkout',
|
|
],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
'shaman_checkout':
|
|
(ShamanCheckout,),
|
|
},
|
|
'attribute_map': {
|
|
},
|
|
'location_map': {
|
|
'shaman_checkout': 'body',
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [
|
|
'application/json'
|
|
]
|
|
},
|
|
api_client=api_client
|
|
)
|
|
self.shaman_checkout_requirements_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': (ShamanRequirementsResponse,),
|
|
'auth': [],
|
|
'endpoint_path': '/api/v3/shaman/checkout/requirements',
|
|
'operation_id': 'shaman_checkout_requirements',
|
|
'http_method': 'POST',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
'shaman_requirements_request',
|
|
],
|
|
'required': [
|
|
'shaman_requirements_request',
|
|
],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
'shaman_requirements_request':
|
|
(ShamanRequirementsRequest,),
|
|
},
|
|
'attribute_map': {
|
|
},
|
|
'location_map': {
|
|
'shaman_requirements_request': 'body',
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [
|
|
'application/json'
|
|
]
|
|
},
|
|
api_client=api_client
|
|
)
|
|
self.shaman_file_store_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': None,
|
|
'auth': [],
|
|
'endpoint_path': '/api/v3/shaman/files/{checksum}/{filesize}',
|
|
'operation_id': 'shaman_file_store',
|
|
'http_method': 'POST',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
'checksum',
|
|
'filesize',
|
|
'body',
|
|
'x_shaman_can_defer_upload',
|
|
'x_shaman_original_filename',
|
|
],
|
|
'required': [
|
|
'checksum',
|
|
'filesize',
|
|
'body',
|
|
],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
'checksum':
|
|
(str,),
|
|
'filesize':
|
|
(int,),
|
|
'body':
|
|
(file_type,),
|
|
'x_shaman_can_defer_upload':
|
|
(bool,),
|
|
'x_shaman_original_filename':
|
|
(str,),
|
|
},
|
|
'attribute_map': {
|
|
'checksum': 'checksum',
|
|
'filesize': 'filesize',
|
|
'x_shaman_can_defer_upload': 'X-Shaman-Can-Defer-Upload',
|
|
'x_shaman_original_filename': 'X-Shaman-Original-Filename',
|
|
},
|
|
'location_map': {
|
|
'checksum': 'path',
|
|
'filesize': 'path',
|
|
'body': 'body',
|
|
'x_shaman_can_defer_upload': 'header',
|
|
'x_shaman_original_filename': 'header',
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [
|
|
'application/octet-stream'
|
|
]
|
|
},
|
|
api_client=api_client
|
|
)
|
|
self.shaman_file_store_check_endpoint = _Endpoint(
|
|
settings={
|
|
'response_type': (ShamanSingleFileStatus,),
|
|
'auth': [],
|
|
'endpoint_path': '/api/v3/shaman/files/{checksum}/{filesize}',
|
|
'operation_id': 'shaman_file_store_check',
|
|
'http_method': 'GET',
|
|
'servers': None,
|
|
},
|
|
params_map={
|
|
'all': [
|
|
'checksum',
|
|
'filesize',
|
|
],
|
|
'required': [
|
|
'checksum',
|
|
'filesize',
|
|
],
|
|
'nullable': [
|
|
],
|
|
'enum': [
|
|
],
|
|
'validation': [
|
|
]
|
|
},
|
|
root_map={
|
|
'validations': {
|
|
},
|
|
'allowed_values': {
|
|
},
|
|
'openapi_types': {
|
|
'checksum':
|
|
(str,),
|
|
'filesize':
|
|
(int,),
|
|
},
|
|
'attribute_map': {
|
|
'checksum': 'checksum',
|
|
'filesize': 'filesize',
|
|
},
|
|
'location_map': {
|
|
'checksum': 'path',
|
|
'filesize': 'path',
|
|
},
|
|
'collection_format_map': {
|
|
}
|
|
},
|
|
headers_map={
|
|
'accept': [
|
|
'application/json'
|
|
],
|
|
'content_type': [],
|
|
},
|
|
api_client=api_client
|
|
)
|
|
|
|
def shaman_checkout(
|
|
self,
|
|
shaman_checkout,
|
|
**kwargs
|
|
):
|
|
"""Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. # noqa: E501
|
|
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.shaman_checkout(shaman_checkout, async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
Args:
|
|
shaman_checkout (ShamanCheckout): Set of files to check out.
|
|
|
|
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.
|
|
async_req (bool): execute request asynchronously
|
|
|
|
Returns:
|
|
ShamanCheckoutResult
|
|
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['shaman_checkout'] = \
|
|
shaman_checkout
|
|
return self.shaman_checkout_endpoint.call_with_http_info(**kwargs)
|
|
|
|
def shaman_checkout_requirements(
|
|
self,
|
|
shaman_requirements_request,
|
|
**kwargs
|
|
):
|
|
"""Checks a Shaman Requirements file, and reports which files are unknown. # noqa: E501
|
|
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.shaman_checkout_requirements(shaman_requirements_request, async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
Args:
|
|
shaman_requirements_request (ShamanRequirementsRequest): Set of files to check
|
|
|
|
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.
|
|
async_req (bool): execute request asynchronously
|
|
|
|
Returns:
|
|
ShamanRequirementsResponse
|
|
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['shaman_requirements_request'] = \
|
|
shaman_requirements_request
|
|
return self.shaman_checkout_requirements_endpoint.call_with_http_info(**kwargs)
|
|
|
|
def shaman_file_store(
|
|
self,
|
|
checksum,
|
|
filesize,
|
|
body,
|
|
**kwargs
|
|
):
|
|
"""Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. # noqa: E501
|
|
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.shaman_file_store(checksum, filesize, body, async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
Args:
|
|
checksum (str): SHA256 checksum of the file.
|
|
filesize (int): Size of the file in bytes.
|
|
body (file_type): Contents of the file
|
|
|
|
Keyword Args:
|
|
x_shaman_can_defer_upload (bool): The client indicates that it can defer uploading this file. The \"208\" response will not only be returned when the file is already fully known to the Shaman server, but also when someone else is currently uploading this file. . [optional]
|
|
x_shaman_original_filename (str): The original filename. If sent along with the request, it will be included in the server logs, which can aid in debugging. MUST either be ASCII or encoded using RFC 2047 (aka MIME encoding). In the latter case the encoding MUST be UTF-8. . [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.
|
|
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['checksum'] = \
|
|
checksum
|
|
kwargs['filesize'] = \
|
|
filesize
|
|
kwargs['body'] = \
|
|
body
|
|
return self.shaman_file_store_endpoint.call_with_http_info(**kwargs)
|
|
|
|
def shaman_file_store_check(
|
|
self,
|
|
checksum,
|
|
filesize,
|
|
**kwargs
|
|
):
|
|
"""Check the status of a file on the Shaman server. # noqa: E501
|
|
|
|
This method makes a synchronous HTTP request by default. To make an
|
|
asynchronous HTTP request, please pass async_req=True
|
|
|
|
>>> thread = api.shaman_file_store_check(checksum, filesize, async_req=True)
|
|
>>> result = thread.get()
|
|
|
|
Args:
|
|
checksum (str): SHA256 checksum of the file.
|
|
filesize (int): Size of the file in bytes.
|
|
|
|
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.
|
|
async_req (bool): execute request asynchronously
|
|
|
|
Returns:
|
|
ShamanSingleFileStatus
|
|
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['checksum'] = \
|
|
checksum
|
|
kwargs['filesize'] = \
|
|
filesize
|
|
return self.shaman_file_store_check_endpoint.call_with_http_info(**kwargs)
|
|
|