OAPI: regenerate code
This commit is contained in:
parent
5d30459359
commit
668e25fe95
@ -10,7 +10,7 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
__version__ = "81563c07"
|
__version__ = "5d304593"
|
||||||
|
|
||||||
# import ApiClient
|
# import ApiClient
|
||||||
from flamenco.manager.api_client import ApiClient
|
from flamenco.manager.api_client import ApiClient
|
||||||
|
@ -26,6 +26,7 @@ from flamenco.manager.model.available_job_types import AvailableJobTypes
|
|||||||
from flamenco.manager.model.error import Error
|
from flamenco.manager.model.error import Error
|
||||||
from flamenco.manager.model.job import Job
|
from flamenco.manager.model.job import Job
|
||||||
from flamenco.manager.model.job_blocklist import JobBlocklist
|
from flamenco.manager.model.job_blocklist import JobBlocklist
|
||||||
|
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
|
||||||
from flamenco.manager.model.job_status_change import JobStatusChange
|
from flamenco.manager.model.job_status_change import JobStatusChange
|
||||||
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
||||||
from flamenco.manager.model.jobs_query import JobsQuery
|
from flamenco.manager.model.jobs_query import JobsQuery
|
||||||
@ -144,6 +145,55 @@ class JobsApi(object):
|
|||||||
},
|
},
|
||||||
api_client=api_client
|
api_client=api_client
|
||||||
)
|
)
|
||||||
|
self.fetch_job_last_rendered_info_endpoint = _Endpoint(
|
||||||
|
settings={
|
||||||
|
'response_type': (JobLastRenderedImageInfo,),
|
||||||
|
'auth': [],
|
||||||
|
'endpoint_path': '/api/jobs/{job_id}/last-rendered',
|
||||||
|
'operation_id': 'fetch_job_last_rendered_info',
|
||||||
|
'http_method': 'GET',
|
||||||
|
'servers': None,
|
||||||
|
},
|
||||||
|
params_map={
|
||||||
|
'all': [
|
||||||
|
'job_id',
|
||||||
|
],
|
||||||
|
'required': [
|
||||||
|
'job_id',
|
||||||
|
],
|
||||||
|
'nullable': [
|
||||||
|
],
|
||||||
|
'enum': [
|
||||||
|
],
|
||||||
|
'validation': [
|
||||||
|
]
|
||||||
|
},
|
||||||
|
root_map={
|
||||||
|
'validations': {
|
||||||
|
},
|
||||||
|
'allowed_values': {
|
||||||
|
},
|
||||||
|
'openapi_types': {
|
||||||
|
'job_id':
|
||||||
|
(str,),
|
||||||
|
},
|
||||||
|
'attribute_map': {
|
||||||
|
'job_id': 'job_id',
|
||||||
|
},
|
||||||
|
'location_map': {
|
||||||
|
'job_id': 'path',
|
||||||
|
},
|
||||||
|
'collection_format_map': {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
headers_map={
|
||||||
|
'accept': [
|
||||||
|
'application/json'
|
||||||
|
],
|
||||||
|
'content_type': [],
|
||||||
|
},
|
||||||
|
api_client=api_client
|
||||||
|
)
|
||||||
self.fetch_job_tasks_endpoint = _Endpoint(
|
self.fetch_job_tasks_endpoint = _Endpoint(
|
||||||
settings={
|
settings={
|
||||||
'response_type': (JobTasksSummary,),
|
'response_type': (JobTasksSummary,),
|
||||||
@ -805,6 +855,83 @@ class JobsApi(object):
|
|||||||
job_id
|
job_id
|
||||||
return self.fetch_job_blocklist_endpoint.call_with_http_info(**kwargs)
|
return self.fetch_job_blocklist_endpoint.call_with_http_info(**kwargs)
|
||||||
|
|
||||||
|
def fetch_job_last_rendered_info(
|
||||||
|
self,
|
||||||
|
job_id,
|
||||||
|
**kwargs
|
||||||
|
):
|
||||||
|
"""Get the URL that serves the last-rendered images of this job. # noqa: E501
|
||||||
|
|
||||||
|
This method makes a synchronous HTTP request by default. To make an
|
||||||
|
asynchronous HTTP request, please pass async_req=True
|
||||||
|
|
||||||
|
>>> thread = api.fetch_job_last_rendered_info(job_id, async_req=True)
|
||||||
|
>>> result = thread.get()
|
||||||
|
|
||||||
|
Args:
|
||||||
|
job_id (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.
|
||||||
|
async_req (bool): execute request asynchronously
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
JobLastRenderedImageInfo
|
||||||
|
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['job_id'] = \
|
||||||
|
job_id
|
||||||
|
return self.fetch_job_last_rendered_info_endpoint.call_with_http_info(**kwargs)
|
||||||
|
|
||||||
def fetch_job_tasks(
|
def fetch_job_tasks(
|
||||||
self,
|
self,
|
||||||
job_id,
|
job_id,
|
||||||
|
@ -76,7 +76,7 @@ class ApiClient(object):
|
|||||||
self.default_headers[header_name] = header_value
|
self.default_headers[header_name] = header_value
|
||||||
self.cookie = cookie
|
self.cookie = cookie
|
||||||
# Set default User-Agent.
|
# Set default User-Agent.
|
||||||
self.user_agent = 'Flamenco/81563c07 (Blender add-on)'
|
self.user_agent = 'Flamenco/5d304593 (Blender add-on)'
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
return self
|
return self
|
||||||
|
@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration(
|
|||||||
"OS: {env}\n"\
|
"OS: {env}\n"\
|
||||||
"Python Version: {pyversion}\n"\
|
"Python Version: {pyversion}\n"\
|
||||||
"Version of the API: 1.0.0\n"\
|
"Version of the API: 1.0.0\n"\
|
||||||
"SDK Package Version: 81563c07".\
|
"SDK Package Version: 5d304593".\
|
||||||
format(env=sys.platform, pyversion=sys.version)
|
format(env=sys.platform, pyversion=sys.version)
|
||||||
|
|
||||||
def get_host_settings(self):
|
def get_host_settings(self):
|
||||||
|
14
addon/flamenco/manager/docs/JobLastRenderedImageInfo.md
Normal file
14
addon/flamenco/manager/docs/JobLastRenderedImageInfo.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# JobLastRenderedImageInfo
|
||||||
|
|
||||||
|
Enough information for a client to piece together different strings to form a host-relative URL to the last-rendered image. To construct the URL, concatenate \"{base}/{one of the suffixes}\".
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**base** | **str** | |
|
||||||
|
**suffixes** | **[str]** | |
|
||||||
|
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
@ -6,6 +6,7 @@ Method | HTTP request | Description
|
|||||||
------------- | ------------- | -------------
|
------------- | ------------- | -------------
|
||||||
[**fetch_job**](JobsApi.md#fetch_job) | **GET** /api/jobs/{job_id} | Fetch info about the job.
|
[**fetch_job**](JobsApi.md#fetch_job) | **GET** /api/jobs/{job_id} | Fetch info about the job.
|
||||||
[**fetch_job_blocklist**](JobsApi.md#fetch_job_blocklist) | **GET** /api/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job.
|
[**fetch_job_blocklist**](JobsApi.md#fetch_job_blocklist) | **GET** /api/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job.
|
||||||
|
[**fetch_job_last_rendered_info**](JobsApi.md#fetch_job_last_rendered_info) | **GET** /api/jobs/{job_id}/last-rendered | Get the URL that serves the last-rendered images of this job.
|
||||||
[**fetch_job_tasks**](JobsApi.md#fetch_job_tasks) | **GET** /api/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job.
|
[**fetch_job_tasks**](JobsApi.md#fetch_job_tasks) | **GET** /api/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job.
|
||||||
[**fetch_task**](JobsApi.md#fetch_task) | **GET** /api/tasks/{task_id} | Fetch a single task.
|
[**fetch_task**](JobsApi.md#fetch_task) | **GET** /api/tasks/{task_id} | Fetch a single task.
|
||||||
[**fetch_task_log_tail**](JobsApi.md#fetch_task_log_tail) | **GET** /api/tasks/{task_id}/logtail | Fetch the last few lines of the task's log.
|
[**fetch_task_log_tail**](JobsApi.md#fetch_task_log_tail) | **GET** /api/tasks/{task_id}/logtail | Fetch the last few lines of the task's log.
|
||||||
@ -150,6 +151,71 @@ No authorization required
|
|||||||
|
|
||||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
# **fetch_job_last_rendered_info**
|
||||||
|
> JobLastRenderedImageInfo fetch_job_last_rendered_info(job_id)
|
||||||
|
|
||||||
|
Get the URL that serves the last-rendered images of this job.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
|
||||||
|
```python
|
||||||
|
import time
|
||||||
|
import flamenco.manager
|
||||||
|
from flamenco.manager.api import jobs_api
|
||||||
|
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
|
||||||
|
from pprint import pprint
|
||||||
|
# Defining the host is optional and defaults to http://localhost
|
||||||
|
# See configuration.py for a list of all supported configuration parameters.
|
||||||
|
configuration = flamenco.manager.Configuration(
|
||||||
|
host = "http://localhost"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Enter a context with an instance of the API client
|
||||||
|
with flamenco.manager.ApiClient() as api_client:
|
||||||
|
# Create an instance of the API class
|
||||||
|
api_instance = jobs_api.JobsApi(api_client)
|
||||||
|
job_id = "job_id_example" # str |
|
||||||
|
|
||||||
|
# example passing only required values which don't have defaults set
|
||||||
|
try:
|
||||||
|
# Get the URL that serves the last-rendered images of this job.
|
||||||
|
api_response = api_instance.fetch_job_last_rendered_info(job_id)
|
||||||
|
pprint(api_response)
|
||||||
|
except flamenco.manager.ApiException as e:
|
||||||
|
print("Exception when calling JobsApi->fetch_job_last_rendered_info: %s\n" % e)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------- | ------------- | ------------- | -------------
|
||||||
|
**job_id** | **str**| |
|
||||||
|
|
||||||
|
### Return type
|
||||||
|
|
||||||
|
[**JobLastRenderedImageInfo**](JobLastRenderedImageInfo.md)
|
||||||
|
|
||||||
|
### Authorization
|
||||||
|
|
||||||
|
No authorization required
|
||||||
|
|
||||||
|
### HTTP request headers
|
||||||
|
|
||||||
|
- **Content-Type**: Not defined
|
||||||
|
- **Accept**: application/json
|
||||||
|
|
||||||
|
|
||||||
|
### HTTP response details
|
||||||
|
|
||||||
|
| Status code | Description | Response headers |
|
||||||
|
|-------------|-------------|------------------|
|
||||||
|
**200** | Normal response. | - |
|
||||||
|
|
||||||
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||||
|
|
||||||
# **fetch_job_tasks**
|
# **fetch_job_tasks**
|
||||||
> JobTasksSummary fetch_job_tasks(job_id)
|
> JobTasksSummary fetch_job_tasks(job_id)
|
||||||
|
|
||||||
|
267
addon/flamenco/manager/model/job_last_rendered_image_info.py
Normal file
267
addon/flamenco/manager/model/job_last_rendered_image_info.py
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
"""
|
||||||
|
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.model_utils import ( # noqa: F401
|
||||||
|
ApiTypeError,
|
||||||
|
ModelComposed,
|
||||||
|
ModelNormal,
|
||||||
|
ModelSimple,
|
||||||
|
cached_property,
|
||||||
|
change_keys_js_to_python,
|
||||||
|
convert_js_args_to_python_args,
|
||||||
|
date,
|
||||||
|
datetime,
|
||||||
|
file_type,
|
||||||
|
none_type,
|
||||||
|
validate_get_composed_info,
|
||||||
|
OpenApiModel
|
||||||
|
)
|
||||||
|
from flamenco.manager.exceptions import ApiAttributeError
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class JobLastRenderedImageInfo(ModelNormal):
|
||||||
|
"""NOTE: This class is auto generated by OpenAPI Generator.
|
||||||
|
Ref: https://openapi-generator.tech
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
allowed_values (dict): The key is the tuple path to the attribute
|
||||||
|
and the for var_name this is (var_name,). The value is a dict
|
||||||
|
with a capitalized key describing the allowed value and an allowed
|
||||||
|
value. These dicts store the allowed enum values.
|
||||||
|
attribute_map (dict): The key is attribute name
|
||||||
|
and the value is json key in definition.
|
||||||
|
discriminator_value_class_map (dict): A dict to go from the discriminator
|
||||||
|
variable value to the discriminator class name.
|
||||||
|
validations (dict): The key is the tuple path to the attribute
|
||||||
|
and the for var_name this is (var_name,). The value is a dict
|
||||||
|
that stores validations for max_length, min_length, max_items,
|
||||||
|
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
||||||
|
inclusive_minimum, and regex.
|
||||||
|
additional_properties_type (tuple): A tuple of classes accepted
|
||||||
|
as additional properties values.
|
||||||
|
"""
|
||||||
|
|
||||||
|
allowed_values = {
|
||||||
|
}
|
||||||
|
|
||||||
|
validations = {
|
||||||
|
}
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def additional_properties_type():
|
||||||
|
"""
|
||||||
|
This must be a method because a model may have properties that are
|
||||||
|
of type self, this must run after the class is loaded
|
||||||
|
"""
|
||||||
|
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
||||||
|
|
||||||
|
_nullable = False
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def openapi_types():
|
||||||
|
"""
|
||||||
|
This must be a method because a model may have properties that are
|
||||||
|
of type self, this must run after the class is loaded
|
||||||
|
|
||||||
|
Returns
|
||||||
|
openapi_types (dict): The key is attribute name
|
||||||
|
and the value is attribute type.
|
||||||
|
"""
|
||||||
|
return {
|
||||||
|
'base': (str,), # noqa: E501
|
||||||
|
'suffixes': ([str],), # noqa: E501
|
||||||
|
}
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def discriminator():
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
attribute_map = {
|
||||||
|
'base': 'base', # noqa: E501
|
||||||
|
'suffixes': 'suffixes', # noqa: E501
|
||||||
|
}
|
||||||
|
|
||||||
|
read_only_vars = {
|
||||||
|
}
|
||||||
|
|
||||||
|
_composed_schemas = {}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
@convert_js_args_to_python_args
|
||||||
|
def _from_openapi_data(cls, base, suffixes, *args, **kwargs): # noqa: E501
|
||||||
|
"""JobLastRenderedImageInfo - a model defined in OpenAPI
|
||||||
|
|
||||||
|
Args:
|
||||||
|
base (str):
|
||||||
|
suffixes ([str]):
|
||||||
|
|
||||||
|
Keyword Args:
|
||||||
|
_check_type (bool): if True, values for parameters in openapi_types
|
||||||
|
will be type checked and a TypeError will be
|
||||||
|
raised if the wrong type is input.
|
||||||
|
Defaults to True
|
||||||
|
_path_to_item (tuple/list): This is a list of keys or values to
|
||||||
|
drill down to the model in received_data
|
||||||
|
when deserializing a response
|
||||||
|
_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)
|
||||||
|
_configuration (Configuration): the instance to use when
|
||||||
|
deserializing a file_type parameter.
|
||||||
|
If passed, type conversion is attempted
|
||||||
|
If omitted no type conversion is done.
|
||||||
|
_visited_composed_classes (tuple): This stores a tuple of
|
||||||
|
classes that we have traveled through so that
|
||||||
|
if we see that class again we will not use its
|
||||||
|
discriminator again.
|
||||||
|
When traveling through a discriminator, the
|
||||||
|
composed schema that is
|
||||||
|
is traveled through is added to this set.
|
||||||
|
For example if Animal has a discriminator
|
||||||
|
petType and we pass in "Dog", and the class Dog
|
||||||
|
allOf includes Animal, we move through Animal
|
||||||
|
once using the discriminator, and pick Dog.
|
||||||
|
Then in Dog, we will make an instance of the
|
||||||
|
Animal class but this time we won't travel
|
||||||
|
through its discriminator because we passed in
|
||||||
|
_visited_composed_classes = (Animal,)
|
||||||
|
"""
|
||||||
|
|
||||||
|
_check_type = kwargs.pop('_check_type', True)
|
||||||
|
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||||
|
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||||
|
_configuration = kwargs.pop('_configuration', None)
|
||||||
|
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||||
|
|
||||||
|
self = super(OpenApiModel, cls).__new__(cls)
|
||||||
|
|
||||||
|
if args:
|
||||||
|
raise ApiTypeError(
|
||||||
|
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||||
|
args,
|
||||||
|
self.__class__.__name__,
|
||||||
|
),
|
||||||
|
path_to_item=_path_to_item,
|
||||||
|
valid_classes=(self.__class__,),
|
||||||
|
)
|
||||||
|
|
||||||
|
self._data_store = {}
|
||||||
|
self._check_type = _check_type
|
||||||
|
self._spec_property_naming = _spec_property_naming
|
||||||
|
self._path_to_item = _path_to_item
|
||||||
|
self._configuration = _configuration
|
||||||
|
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||||
|
|
||||||
|
self.base = base
|
||||||
|
self.suffixes = suffixes
|
||||||
|
for var_name, var_value in kwargs.items():
|
||||||
|
if var_name not in self.attribute_map and \
|
||||||
|
self._configuration is not None and \
|
||||||
|
self._configuration.discard_unknown_keys and \
|
||||||
|
self.additional_properties_type is None:
|
||||||
|
# discard variable.
|
||||||
|
continue
|
||||||
|
setattr(self, var_name, var_value)
|
||||||
|
return self
|
||||||
|
|
||||||
|
required_properties = set([
|
||||||
|
'_data_store',
|
||||||
|
'_check_type',
|
||||||
|
'_spec_property_naming',
|
||||||
|
'_path_to_item',
|
||||||
|
'_configuration',
|
||||||
|
'_visited_composed_classes',
|
||||||
|
])
|
||||||
|
|
||||||
|
@convert_js_args_to_python_args
|
||||||
|
def __init__(self, base, suffixes, *args, **kwargs): # noqa: E501
|
||||||
|
"""JobLastRenderedImageInfo - a model defined in OpenAPI
|
||||||
|
|
||||||
|
Args:
|
||||||
|
base (str):
|
||||||
|
suffixes ([str]):
|
||||||
|
|
||||||
|
Keyword Args:
|
||||||
|
_check_type (bool): if True, values for parameters in openapi_types
|
||||||
|
will be type checked and a TypeError will be
|
||||||
|
raised if the wrong type is input.
|
||||||
|
Defaults to True
|
||||||
|
_path_to_item (tuple/list): This is a list of keys or values to
|
||||||
|
drill down to the model in received_data
|
||||||
|
when deserializing a response
|
||||||
|
_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)
|
||||||
|
_configuration (Configuration): the instance to use when
|
||||||
|
deserializing a file_type parameter.
|
||||||
|
If passed, type conversion is attempted
|
||||||
|
If omitted no type conversion is done.
|
||||||
|
_visited_composed_classes (tuple): This stores a tuple of
|
||||||
|
classes that we have traveled through so that
|
||||||
|
if we see that class again we will not use its
|
||||||
|
discriminator again.
|
||||||
|
When traveling through a discriminator, the
|
||||||
|
composed schema that is
|
||||||
|
is traveled through is added to this set.
|
||||||
|
For example if Animal has a discriminator
|
||||||
|
petType and we pass in "Dog", and the class Dog
|
||||||
|
allOf includes Animal, we move through Animal
|
||||||
|
once using the discriminator, and pick Dog.
|
||||||
|
Then in Dog, we will make an instance of the
|
||||||
|
Animal class but this time we won't travel
|
||||||
|
through its discriminator because we passed in
|
||||||
|
_visited_composed_classes = (Animal,)
|
||||||
|
"""
|
||||||
|
|
||||||
|
_check_type = kwargs.pop('_check_type', True)
|
||||||
|
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||||
|
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||||
|
_configuration = kwargs.pop('_configuration', None)
|
||||||
|
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||||
|
|
||||||
|
if args:
|
||||||
|
raise ApiTypeError(
|
||||||
|
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||||
|
args,
|
||||||
|
self.__class__.__name__,
|
||||||
|
),
|
||||||
|
path_to_item=_path_to_item,
|
||||||
|
valid_classes=(self.__class__,),
|
||||||
|
)
|
||||||
|
|
||||||
|
self._data_store = {}
|
||||||
|
self._check_type = _check_type
|
||||||
|
self._spec_property_naming = _spec_property_naming
|
||||||
|
self._path_to_item = _path_to_item
|
||||||
|
self._configuration = _configuration
|
||||||
|
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||||
|
|
||||||
|
self.base = base
|
||||||
|
self.suffixes = suffixes
|
||||||
|
for var_name, var_value in kwargs.items():
|
||||||
|
if var_name not in self.attribute_map and \
|
||||||
|
self._configuration is not None and \
|
||||||
|
self._configuration.discard_unknown_keys and \
|
||||||
|
self.additional_properties_type is None:
|
||||||
|
# discard variable.
|
||||||
|
continue
|
||||||
|
setattr(self, var_name, var_value)
|
||||||
|
if var_name in self.read_only_vars:
|
||||||
|
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
||||||
|
f"class with read only attributes.")
|
@ -23,6 +23,7 @@ from flamenco.manager.model.job import Job
|
|||||||
from flamenco.manager.model.job_all_of import JobAllOf
|
from flamenco.manager.model.job_all_of import JobAllOf
|
||||||
from flamenco.manager.model.job_blocklist import JobBlocklist
|
from flamenco.manager.model.job_blocklist import JobBlocklist
|
||||||
from flamenco.manager.model.job_blocklist_entry import JobBlocklistEntry
|
from flamenco.manager.model.job_blocklist_entry import JobBlocklistEntry
|
||||||
|
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
|
||||||
from flamenco.manager.model.job_metadata import JobMetadata
|
from flamenco.manager.model.job_metadata import JobMetadata
|
||||||
from flamenco.manager.model.job_settings import JobSettings
|
from flamenco.manager.model.job_settings import JobSettings
|
||||||
from flamenco.manager.model.job_status import JobStatus
|
from flamenco.manager.model.job_status import JobStatus
|
||||||
|
@ -4,7 +4,7 @@ Render Farm manager API
|
|||||||
The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version: 81563c07
|
- Package version: 5d304593
|
||||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||||
For more information, please visit [https://flamenco.io/](https://flamenco.io/)
|
For more information, please visit [https://flamenco.io/](https://flamenco.io/)
|
||||||
|
|
||||||
@ -37,6 +37,7 @@ from flamenco.manager.model.available_job_types import AvailableJobTypes
|
|||||||
from flamenco.manager.model.error import Error
|
from flamenco.manager.model.error import Error
|
||||||
from flamenco.manager.model.job import Job
|
from flamenco.manager.model.job import Job
|
||||||
from flamenco.manager.model.job_blocklist import JobBlocklist
|
from flamenco.manager.model.job_blocklist import JobBlocklist
|
||||||
|
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
|
||||||
from flamenco.manager.model.job_status_change import JobStatusChange
|
from flamenco.manager.model.job_status_change import JobStatusChange
|
||||||
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
||||||
from flamenco.manager.model.jobs_query import JobsQuery
|
from flamenco.manager.model.jobs_query import JobsQuery
|
||||||
@ -74,6 +75,7 @@ Class | Method | HTTP request | Description
|
|||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
*JobsApi* | [**fetch_job**](flamenco/manager/docs/JobsApi.md#fetch_job) | **GET** /api/jobs/{job_id} | Fetch info about the job.
|
*JobsApi* | [**fetch_job**](flamenco/manager/docs/JobsApi.md#fetch_job) | **GET** /api/jobs/{job_id} | Fetch info about the job.
|
||||||
*JobsApi* | [**fetch_job_blocklist**](flamenco/manager/docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job.
|
*JobsApi* | [**fetch_job_blocklist**](flamenco/manager/docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job.
|
||||||
|
*JobsApi* | [**fetch_job_last_rendered_info**](flamenco/manager/docs/JobsApi.md#fetch_job_last_rendered_info) | **GET** /api/jobs/{job_id}/last-rendered | Get the URL that serves the last-rendered images of this job.
|
||||||
*JobsApi* | [**fetch_job_tasks**](flamenco/manager/docs/JobsApi.md#fetch_job_tasks) | **GET** /api/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job.
|
*JobsApi* | [**fetch_job_tasks**](flamenco/manager/docs/JobsApi.md#fetch_job_tasks) | **GET** /api/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job.
|
||||||
*JobsApi* | [**fetch_task**](flamenco/manager/docs/JobsApi.md#fetch_task) | **GET** /api/tasks/{task_id} | Fetch a single task.
|
*JobsApi* | [**fetch_task**](flamenco/manager/docs/JobsApi.md#fetch_task) | **GET** /api/tasks/{task_id} | Fetch a single task.
|
||||||
*JobsApi* | [**fetch_task_log_tail**](flamenco/manager/docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/tasks/{task_id}/logtail | Fetch the last few lines of the task's log.
|
*JobsApi* | [**fetch_task_log_tail**](flamenco/manager/docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/tasks/{task_id}/logtail | Fetch the last few lines of the task's log.
|
||||||
@ -120,6 +122,7 @@ Class | Method | HTTP request | Description
|
|||||||
- [JobAllOf](flamenco/manager/docs/JobAllOf.md)
|
- [JobAllOf](flamenco/manager/docs/JobAllOf.md)
|
||||||
- [JobBlocklist](flamenco/manager/docs/JobBlocklist.md)
|
- [JobBlocklist](flamenco/manager/docs/JobBlocklist.md)
|
||||||
- [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md)
|
- [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md)
|
||||||
|
- [JobLastRenderedImageInfo](flamenco/manager/docs/JobLastRenderedImageInfo.md)
|
||||||
- [JobMetadata](flamenco/manager/docs/JobMetadata.md)
|
- [JobMetadata](flamenco/manager/docs/JobMetadata.md)
|
||||||
- [JobSettings](flamenco/manager/docs/JobSettings.md)
|
- [JobSettings](flamenco/manager/docs/JobSettings.md)
|
||||||
- [JobStatus](flamenco/manager/docs/JobStatus.md)
|
- [JobStatus](flamenco/manager/docs/JobStatus.md)
|
||||||
|
@ -56,6 +56,26 @@ func (mr *MockFlamencoClientMockRecorder) FetchJobBlocklistWithResponse(arg0, ar
|
|||||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchJobBlocklistWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchJobBlocklistWithResponse), varargs...)
|
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchJobBlocklistWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchJobBlocklistWithResponse), varargs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfoWithResponse mocks base method.
|
||||||
|
func (m *MockFlamencoClient) FetchJobLastRenderedInfoWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchJobLastRenderedInfoResponse, error) {
|
||||||
|
m.ctrl.T.Helper()
|
||||||
|
varargs := []interface{}{arg0, arg1}
|
||||||
|
for _, a := range arg2 {
|
||||||
|
varargs = append(varargs, a)
|
||||||
|
}
|
||||||
|
ret := m.ctrl.Call(m, "FetchJobLastRenderedInfoWithResponse", varargs...)
|
||||||
|
ret0, _ := ret[0].(*api.FetchJobLastRenderedInfoResponse)
|
||||||
|
ret1, _ := ret[1].(error)
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfoWithResponse indicates an expected call of FetchJobLastRenderedInfoWithResponse.
|
||||||
|
func (mr *MockFlamencoClientMockRecorder) FetchJobLastRenderedInfoWithResponse(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
|
||||||
|
mr.mock.ctrl.T.Helper()
|
||||||
|
varargs := append([]interface{}{arg0, arg1}, arg2...)
|
||||||
|
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchJobLastRenderedInfoWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchJobLastRenderedInfoWithResponse), varargs...)
|
||||||
|
}
|
||||||
|
|
||||||
// FetchJobTasksWithResponse mocks base method.
|
// FetchJobTasksWithResponse mocks base method.
|
||||||
func (m *MockFlamencoClient) FetchJobTasksWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchJobTasksResponse, error) {
|
func (m *MockFlamencoClient) FetchJobTasksWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchJobTasksResponse, error) {
|
||||||
m.ctrl.T.Helper()
|
m.ctrl.T.Helper()
|
||||||
|
@ -120,6 +120,9 @@ type ClientInterface interface {
|
|||||||
// FetchJobBlocklist request
|
// FetchJobBlocklist request
|
||||||
FetchJobBlocklist(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error)
|
FetchJobBlocklist(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error)
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfo request
|
||||||
|
FetchJobLastRenderedInfo(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error)
|
||||||
|
|
||||||
// SetJobStatus request with any body
|
// SetJobStatus request with any body
|
||||||
SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
|
SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
|
||||||
|
|
||||||
@ -337,6 +340,18 @@ func (c *Client) FetchJobBlocklist(ctx context.Context, jobId string, reqEditors
|
|||||||
return c.Client.Do(req)
|
return c.Client.Do(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Client) FetchJobLastRenderedInfo(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error) {
|
||||||
|
req, err := NewFetchJobLastRenderedInfoRequest(c.Server, jobId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
req = req.WithContext(ctx)
|
||||||
|
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return c.Client.Do(req)
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
|
func (c *Client) SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
|
||||||
req, err := NewSetJobStatusRequestWithBody(c.Server, jobId, contentType, body)
|
req, err := NewSetJobStatusRequestWithBody(c.Server, jobId, contentType, body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -992,6 +1007,40 @@ func NewFetchJobBlocklistRequest(server string, jobId string) (*http.Request, er
|
|||||||
return req, nil
|
return req, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewFetchJobLastRenderedInfoRequest generates requests for FetchJobLastRenderedInfo
|
||||||
|
func NewFetchJobLastRenderedInfoRequest(server string, jobId string) (*http.Request, error) {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
var pathParam0 string
|
||||||
|
|
||||||
|
pathParam0, err = runtime.StyleParamWithLocation("simple", false, "job_id", runtime.ParamLocationPath, jobId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
serverURL, err := url.Parse(server)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
operationPath := fmt.Sprintf("/api/jobs/%s/last-rendered", pathParam0)
|
||||||
|
if operationPath[0] == '/' {
|
||||||
|
operationPath = "." + operationPath
|
||||||
|
}
|
||||||
|
|
||||||
|
queryURL, err := serverURL.Parse(operationPath)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("GET", queryURL.String(), nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return req, nil
|
||||||
|
}
|
||||||
|
|
||||||
// NewSetJobStatusRequest calls the generic SetJobStatus builder with application/json body
|
// NewSetJobStatusRequest calls the generic SetJobStatus builder with application/json body
|
||||||
func NewSetJobStatusRequest(server string, jobId string, body SetJobStatusJSONRequestBody) (*http.Request, error) {
|
func NewSetJobStatusRequest(server string, jobId string, body SetJobStatusJSONRequestBody) (*http.Request, error) {
|
||||||
var bodyReader io.Reader
|
var bodyReader io.Reader
|
||||||
@ -1900,6 +1949,9 @@ type ClientWithResponsesInterface interface {
|
|||||||
// FetchJobBlocklist request
|
// FetchJobBlocklist request
|
||||||
FetchJobBlocklistWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobBlocklistResponse, error)
|
FetchJobBlocklistWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobBlocklistResponse, error)
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfo request
|
||||||
|
FetchJobLastRenderedInfoWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobLastRenderedInfoResponse, error)
|
||||||
|
|
||||||
// SetJobStatus request with any body
|
// SetJobStatus request with any body
|
||||||
SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error)
|
SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error)
|
||||||
|
|
||||||
@ -2164,6 +2216,28 @@ func (r FetchJobBlocklistResponse) StatusCode() int {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FetchJobLastRenderedInfoResponse struct {
|
||||||
|
Body []byte
|
||||||
|
HTTPResponse *http.Response
|
||||||
|
JSON200 *JobLastRenderedImageInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Status returns HTTPResponse.Status
|
||||||
|
func (r FetchJobLastRenderedInfoResponse) Status() string {
|
||||||
|
if r.HTTPResponse != nil {
|
||||||
|
return r.HTTPResponse.Status
|
||||||
|
}
|
||||||
|
return http.StatusText(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusCode returns HTTPResponse.StatusCode
|
||||||
|
func (r FetchJobLastRenderedInfoResponse) StatusCode() int {
|
||||||
|
if r.HTTPResponse != nil {
|
||||||
|
return r.HTTPResponse.StatusCode
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
type SetJobStatusResponse struct {
|
type SetJobStatusResponse struct {
|
||||||
Body []byte
|
Body []byte
|
||||||
HTTPResponse *http.Response
|
HTTPResponse *http.Response
|
||||||
@ -2761,6 +2835,15 @@ func (c *ClientWithResponses) FetchJobBlocklistWithResponse(ctx context.Context,
|
|||||||
return ParseFetchJobBlocklistResponse(rsp)
|
return ParseFetchJobBlocklistResponse(rsp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfoWithResponse request returning *FetchJobLastRenderedInfoResponse
|
||||||
|
func (c *ClientWithResponses) FetchJobLastRenderedInfoWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobLastRenderedInfoResponse, error) {
|
||||||
|
rsp, err := c.FetchJobLastRenderedInfo(ctx, jobId, reqEditors...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return ParseFetchJobLastRenderedInfoResponse(rsp)
|
||||||
|
}
|
||||||
|
|
||||||
// SetJobStatusWithBodyWithResponse request with arbitrary body returning *SetJobStatusResponse
|
// SetJobStatusWithBodyWithResponse request with arbitrary body returning *SetJobStatusResponse
|
||||||
func (c *ClientWithResponses) SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error) {
|
func (c *ClientWithResponses) SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error) {
|
||||||
rsp, err := c.SetJobStatusWithBody(ctx, jobId, contentType, body, reqEditors...)
|
rsp, err := c.SetJobStatusWithBody(ctx, jobId, contentType, body, reqEditors...)
|
||||||
@ -3260,6 +3343,32 @@ func ParseFetchJobBlocklistResponse(rsp *http.Response) (*FetchJobBlocklistRespo
|
|||||||
return response, nil
|
return response, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ParseFetchJobLastRenderedInfoResponse parses an HTTP response from a FetchJobLastRenderedInfoWithResponse call
|
||||||
|
func ParseFetchJobLastRenderedInfoResponse(rsp *http.Response) (*FetchJobLastRenderedInfoResponse, error) {
|
||||||
|
bodyBytes, err := ioutil.ReadAll(rsp.Body)
|
||||||
|
defer func() { _ = rsp.Body.Close() }()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
response := &FetchJobLastRenderedInfoResponse{
|
||||||
|
Body: bodyBytes,
|
||||||
|
HTTPResponse: rsp,
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
|
||||||
|
var dest JobLastRenderedImageInfo
|
||||||
|
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
response.JSON200 = &dest
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return response, nil
|
||||||
|
}
|
||||||
|
|
||||||
// ParseSetJobStatusResponse parses an HTTP response from a SetJobStatusWithResponse call
|
// ParseSetJobStatusResponse parses an HTTP response from a SetJobStatusWithResponse call
|
||||||
func ParseSetJobStatusResponse(rsp *http.Response) (*SetJobStatusResponse, error) {
|
func ParseSetJobStatusResponse(rsp *http.Response) (*SetJobStatusResponse, error) {
|
||||||
bodyBytes, err := ioutil.ReadAll(rsp.Body)
|
bodyBytes, err := ioutil.ReadAll(rsp.Body)
|
||||||
|
@ -37,6 +37,9 @@ type ServerInterface interface {
|
|||||||
// Fetch the list of workers that are blocked from doing certain task types on this job.
|
// Fetch the list of workers that are blocked from doing certain task types on this job.
|
||||||
// (GET /api/jobs/{job_id}/blocklist)
|
// (GET /api/jobs/{job_id}/blocklist)
|
||||||
FetchJobBlocklist(ctx echo.Context, jobId string) error
|
FetchJobBlocklist(ctx echo.Context, jobId string) error
|
||||||
|
// Get the URL that serves the last-rendered images of this job.
|
||||||
|
// (GET /api/jobs/{job_id}/last-rendered)
|
||||||
|
FetchJobLastRenderedInfo(ctx echo.Context, jobId string) error
|
||||||
|
|
||||||
// (POST /api/jobs/{job_id}/setstatus)
|
// (POST /api/jobs/{job_id}/setstatus)
|
||||||
SetJobStatus(ctx echo.Context, jobId string) error
|
SetJobStatus(ctx echo.Context, jobId string) error
|
||||||
@ -211,6 +214,22 @@ func (w *ServerInterfaceWrapper) FetchJobBlocklist(ctx echo.Context) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FetchJobLastRenderedInfo converts echo context to params.
|
||||||
|
func (w *ServerInterfaceWrapper) FetchJobLastRenderedInfo(ctx echo.Context) error {
|
||||||
|
var err error
|
||||||
|
// ------------- Path parameter "job_id" -------------
|
||||||
|
var jobId string
|
||||||
|
|
||||||
|
err = runtime.BindStyledParameterWithLocation("simple", false, "job_id", runtime.ParamLocationPath, ctx.Param("job_id"), &jobId)
|
||||||
|
if err != nil {
|
||||||
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter job_id: %s", err))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Invoke the callback with all the unmarshalled arguments
|
||||||
|
err = w.Handler.FetchJobLastRenderedInfo(ctx, jobId)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// SetJobStatus converts echo context to params.
|
// SetJobStatus converts echo context to params.
|
||||||
func (w *ServerInterfaceWrapper) SetJobStatus(ctx echo.Context) error {
|
func (w *ServerInterfaceWrapper) SetJobStatus(ctx echo.Context) error {
|
||||||
var err error
|
var err error
|
||||||
@ -596,6 +615,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
|||||||
router.GET(baseURL+"/api/jobs/:job_id", wrapper.FetchJob)
|
router.GET(baseURL+"/api/jobs/:job_id", wrapper.FetchJob)
|
||||||
router.DELETE(baseURL+"/api/jobs/:job_id/blocklist", wrapper.RemoveJobBlocklist)
|
router.DELETE(baseURL+"/api/jobs/:job_id/blocklist", wrapper.RemoveJobBlocklist)
|
||||||
router.GET(baseURL+"/api/jobs/:job_id/blocklist", wrapper.FetchJobBlocklist)
|
router.GET(baseURL+"/api/jobs/:job_id/blocklist", wrapper.FetchJobBlocklist)
|
||||||
|
router.GET(baseURL+"/api/jobs/:job_id/last-rendered", wrapper.FetchJobLastRenderedInfo)
|
||||||
router.POST(baseURL+"/api/jobs/:job_id/setstatus", wrapper.SetJobStatus)
|
router.POST(baseURL+"/api/jobs/:job_id/setstatus", wrapper.SetJobStatus)
|
||||||
router.GET(baseURL+"/api/jobs/:job_id/tasks", wrapper.FetchJobTasks)
|
router.GET(baseURL+"/api/jobs/:job_id/tasks", wrapper.FetchJobTasks)
|
||||||
router.GET(baseURL+"/api/tasks/:task_id", wrapper.FetchTask)
|
router.GET(baseURL+"/api/tasks/:task_id", wrapper.FetchTask)
|
||||||
|
@ -18,148 +18,151 @@ import (
|
|||||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||||
var swaggerSpec = []string{
|
var swaggerSpec = []string{
|
||||||
|
|
||||||
"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",
|
||||||
"///7VfgJs6QAAA==",
|
"9IEZvpGBql/hHfa0mzwvjCFFATZWxbJXlcZnXhicrN2KLlp8QMv9TAqVujCOsijpp3tfaitRvtPXLQTq",
|
||||||
|
"anmGNSNd0fujGoecNDwc+7UCLcAMol5vg5UOOcNWpbRJDPrk5LjdbS5OSVLzeSV9O3on0rvNClcy5hMT",
|
||||||
|
"+GDcTzVM7MnJ8aDOtm4VGrlJqYGaW4ajrVZlgKgzGeZ2J4wLIlg9C/J4w20egxjPcb/TJcHk5sZzeAa5",
|
||||||
|
"eXvz/wMAAP//xXvKGjWoAAA=",
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSwagger returns the content of the embedded swagger specification file
|
// GetSwagger returns the content of the embedded swagger specification file
|
||||||
|
@ -250,6 +250,12 @@ type JobBlocklistEntry struct {
|
|||||||
WorkerId string `json:"worker_id"`
|
WorkerId string `json:"worker_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Enough information for a client to piece together different strings to form a host-relative URL to the last-rendered image. To construct the URL, concatenate "{base}/{one of the suffixes}".
|
||||||
|
type JobLastRenderedImageInfo struct {
|
||||||
|
Base string `json:"base"`
|
||||||
|
Suffixes []string `json:"suffixes"`
|
||||||
|
}
|
||||||
|
|
||||||
// Arbitrary metadata strings. More complex structures can be modeled by using `a.b.c` notation for the key.
|
// Arbitrary metadata strings. More complex structures can be modeled by using `a.b.c` notation for the key.
|
||||||
type JobMetadata struct {
|
type JobMetadata struct {
|
||||||
AdditionalProperties map[string]string `json:"-"`
|
AdditionalProperties map[string]string `json:"-"`
|
||||||
|
@ -55,7 +55,7 @@ class ApiClient {
|
|||||||
* @default {}
|
* @default {}
|
||||||
*/
|
*/
|
||||||
this.defaultHeaders = {
|
this.defaultHeaders = {
|
||||||
'User-Agent': 'Flamenco/81563c07 / webbrowser'
|
'User-Agent': 'Flamenco/5d304593 / webbrowser'
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,6 +26,7 @@ import FlamencoVersion from './model/FlamencoVersion';
|
|||||||
import Job from './model/Job';
|
import Job from './model/Job';
|
||||||
import JobAllOf from './model/JobAllOf';
|
import JobAllOf from './model/JobAllOf';
|
||||||
import JobBlocklistEntry from './model/JobBlocklistEntry';
|
import JobBlocklistEntry from './model/JobBlocklistEntry';
|
||||||
|
import JobLastRenderedImageInfo from './model/JobLastRenderedImageInfo';
|
||||||
import JobStatus from './model/JobStatus';
|
import JobStatus from './model/JobStatus';
|
||||||
import JobStatusChange from './model/JobStatusChange';
|
import JobStatusChange from './model/JobStatusChange';
|
||||||
import JobTasksSummary from './model/JobTasksSummary';
|
import JobTasksSummary from './model/JobTasksSummary';
|
||||||
@ -190,6 +191,12 @@ export {
|
|||||||
*/
|
*/
|
||||||
JobBlocklistEntry,
|
JobBlocklistEntry,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The JobLastRenderedImageInfo model constructor.
|
||||||
|
* @property {module:model/JobLastRenderedImageInfo}
|
||||||
|
*/
|
||||||
|
JobLastRenderedImageInfo,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The JobStatus model constructor.
|
* The JobStatus model constructor.
|
||||||
* @property {module:model/JobStatus}
|
* @property {module:model/JobStatus}
|
||||||
|
@ -18,6 +18,7 @@ import AvailableJobTypes from '../model/AvailableJobTypes';
|
|||||||
import Error from '../model/Error';
|
import Error from '../model/Error';
|
||||||
import Job from '../model/Job';
|
import Job from '../model/Job';
|
||||||
import JobBlocklistEntry from '../model/JobBlocklistEntry';
|
import JobBlocklistEntry from '../model/JobBlocklistEntry';
|
||||||
|
import JobLastRenderedImageInfo from '../model/JobLastRenderedImageInfo';
|
||||||
import JobStatusChange from '../model/JobStatusChange';
|
import JobStatusChange from '../model/JobStatusChange';
|
||||||
import JobTasksSummary from '../model/JobTasksSummary';
|
import JobTasksSummary from '../model/JobTasksSummary';
|
||||||
import JobsQuery from '../model/JobsQuery';
|
import JobsQuery from '../model/JobsQuery';
|
||||||
@ -138,6 +139,52 @@ export default class JobsApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the URL that serves the last-rendered images of this job.
|
||||||
|
* @param {String} jobId
|
||||||
|
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/JobLastRenderedImageInfo} and HTTP response
|
||||||
|
*/
|
||||||
|
fetchJobLastRenderedInfoWithHttpInfo(jobId) {
|
||||||
|
let postBody = null;
|
||||||
|
// verify the required parameter 'jobId' is set
|
||||||
|
if (jobId === undefined || jobId === null) {
|
||||||
|
throw new Error("Missing the required parameter 'jobId' when calling fetchJobLastRenderedInfo");
|
||||||
|
}
|
||||||
|
|
||||||
|
let pathParams = {
|
||||||
|
'job_id': jobId
|
||||||
|
};
|
||||||
|
let queryParams = {
|
||||||
|
};
|
||||||
|
let headerParams = {
|
||||||
|
};
|
||||||
|
let formParams = {
|
||||||
|
};
|
||||||
|
|
||||||
|
let authNames = [];
|
||||||
|
let contentTypes = [];
|
||||||
|
let accepts = ['application/json'];
|
||||||
|
let returnType = JobLastRenderedImageInfo;
|
||||||
|
return this.apiClient.callApi(
|
||||||
|
'/api/jobs/{job_id}/last-rendered', 'GET',
|
||||||
|
pathParams, queryParams, headerParams, formParams, postBody,
|
||||||
|
authNames, contentTypes, accepts, returnType, null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the URL that serves the last-rendered images of this job.
|
||||||
|
* @param {String} jobId
|
||||||
|
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/JobLastRenderedImageInfo}
|
||||||
|
*/
|
||||||
|
fetchJobLastRenderedInfo(jobId) {
|
||||||
|
return this.fetchJobLastRenderedInfoWithHttpInfo(jobId)
|
||||||
|
.then(function(response_and_data) {
|
||||||
|
return response_and_data.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch a summary of all tasks of the given job.
|
* Fetch a summary of all tasks of the given job.
|
||||||
* @param {String} jobId
|
* @param {String} jobId
|
||||||
|
84
web/app/src/manager-api/model/JobLastRenderedImageInfo.js
Normal file
84
web/app/src/manager-api/model/JobLastRenderedImageInfo.js
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
/**
|
||||||
|
* Flamenco manager
|
||||||
|
* Render Farm manager API
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 1.0.0
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||||
|
* https://openapi-generator.tech
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
import ApiClient from '../ApiClient';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The JobLastRenderedImageInfo model module.
|
||||||
|
* @module model/JobLastRenderedImageInfo
|
||||||
|
* @version 0.0.0
|
||||||
|
*/
|
||||||
|
class JobLastRenderedImageInfo {
|
||||||
|
/**
|
||||||
|
* Constructs a new <code>JobLastRenderedImageInfo</code>.
|
||||||
|
* Enough information for a client to piece together different strings to form a host-relative URL to the last-rendered image. To construct the URL, concatenate \"{base}/{one of the suffixes}\".
|
||||||
|
* @alias module:model/JobLastRenderedImageInfo
|
||||||
|
* @param base {String}
|
||||||
|
* @param suffixes {Array.<String>}
|
||||||
|
*/
|
||||||
|
constructor(base, suffixes) {
|
||||||
|
|
||||||
|
JobLastRenderedImageInfo.initialize(this, base, suffixes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the fields of this object.
|
||||||
|
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
|
||||||
|
* Only for internal use.
|
||||||
|
*/
|
||||||
|
static initialize(obj, base, suffixes) {
|
||||||
|
obj['base'] = base;
|
||||||
|
obj['suffixes'] = suffixes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a <code>JobLastRenderedImageInfo</code> from a plain JavaScript object, optionally creating a new instance.
|
||||||
|
* Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
|
||||||
|
* @param {Object} data The plain JavaScript object bearing properties of interest.
|
||||||
|
* @param {module:model/JobLastRenderedImageInfo} obj Optional instance to populate.
|
||||||
|
* @return {module:model/JobLastRenderedImageInfo} The populated <code>JobLastRenderedImageInfo</code> instance.
|
||||||
|
*/
|
||||||
|
static constructFromObject(data, obj) {
|
||||||
|
if (data) {
|
||||||
|
obj = obj || new JobLastRenderedImageInfo();
|
||||||
|
|
||||||
|
if (data.hasOwnProperty('base')) {
|
||||||
|
obj['base'] = ApiClient.convertToType(data['base'], 'String');
|
||||||
|
}
|
||||||
|
if (data.hasOwnProperty('suffixes')) {
|
||||||
|
obj['suffixes'] = ApiClient.convertToType(data['suffixes'], ['String']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @member {String} base
|
||||||
|
*/
|
||||||
|
JobLastRenderedImageInfo.prototype['base'] = undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @member {Array.<String>} suffixes
|
||||||
|
*/
|
||||||
|
JobLastRenderedImageInfo.prototype['suffixes'] = undefined;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export default JobLastRenderedImageInfo;
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user