diff --git a/addon/flamenco/manager/api/jobs_api.py b/addon/flamenco/manager/api/jobs_api.py
index 9a5305d0..559869a0 100644
--- a/addon/flamenco/manager/api/jobs_api.py
+++ b/addon/flamenco/manager/api/jobs_api.py
@@ -27,6 +27,7 @@ from flamenco.manager.model.error import Error
from flamenco.manager.model.job import Job
from flamenco.manager.model.job_blocklist import JobBlocklist
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
+from flamenco.manager.model.job_priority_change import JobPriorityChange
from flamenco.manager.model.job_status_change import JobStatusChange
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
from flamenco.manager.model.jobs_query import JobsQuery
@@ -630,6 +631,62 @@ class JobsApi(object):
},
api_client=api_client
)
+ self.set_job_priority_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v3/jobs/{job_id}/setpriority',
+ 'operation_id': 'set_job_priority',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'job_id',
+ 'job_priority_change',
+ ],
+ 'required': [
+ 'job_id',
+ 'job_priority_change',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'job_id':
+ (str,),
+ 'job_priority_change':
+ (JobPriorityChange,),
+ },
+ 'attribute_map': {
+ 'job_id': 'job_id',
+ },
+ 'location_map': {
+ 'job_id': 'path',
+ 'job_priority_change': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.set_job_status_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -1708,6 +1765,87 @@ class JobsApi(object):
job_id
return self.remove_job_blocklist_endpoint.call_with_http_info(**kwargs)
+ def set_job_priority(
+ self,
+ job_id,
+ job_priority_change,
+ **kwargs
+ ):
+ """set_job_priority # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.set_job_priority(job_id, job_priority_change, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ job_id (str):
+ job_priority_change (JobPriorityChange): The new priority.
+
+ 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:
+ 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['job_id'] = \
+ job_id
+ kwargs['job_priority_change'] = \
+ job_priority_change
+ return self.set_job_priority_endpoint.call_with_http_info(**kwargs)
+
def set_job_status(
self,
job_id,
diff --git a/addon/flamenco/manager/docs/JobPriorityChange.md b/addon/flamenco/manager/docs/JobPriorityChange.md
new file mode 100644
index 00000000..fcb552eb
--- /dev/null
+++ b/addon/flamenco/manager/docs/JobPriorityChange.md
@@ -0,0 +1,12 @@
+# JobPriorityChange
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**priority** | **int** | |
+**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)
+
+
diff --git a/addon/flamenco/manager/docs/JobsApi.md b/addon/flamenco/manager/docs/JobsApi.md
index 6d031fae..14614641 100644
--- a/addon/flamenco/manager/docs/JobsApi.md
+++ b/addon/flamenco/manager/docs/JobsApi.md
@@ -16,6 +16,7 @@ Method | HTTP request | Description
[**get_job_types**](JobsApi.md#get_job_types) | **GET** /api/v3/jobs/types | Get list of job types and their parameters.
[**query_jobs**](JobsApi.md#query_jobs) | **POST** /api/v3/jobs/query | Fetch list of jobs.
[**remove_job_blocklist**](JobsApi.md#remove_job_blocklist) | **DELETE** /api/v3/jobs/{job_id}/blocklist | Remove entries from a job blocklist.
+[**set_job_priority**](JobsApi.md#set_job_priority) | **POST** /api/v3/jobs/{job_id}/setpriority |
[**set_job_status**](JobsApi.md#set_job_status) | **POST** /api/v3/jobs/{job_id}/setstatus |
[**set_task_status**](JobsApi.md#set_task_status) | **POST** /api/v3/tasks/{task_id}/setstatus |
[**submit_job**](JobsApi.md#submit_job) | **POST** /api/v3/jobs | Submit a new job for Flamenco Manager to execute.
@@ -839,6 +840,76 @@ 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)
+# **set_job_priority**
+> set_job_priority(job_id, job_priority_change)
+
+
+
+### Example
+
+
+```python
+import time
+import flamenco.manager
+from flamenco.manager.api import jobs_api
+from flamenco.manager.model.error import Error
+from flamenco.manager.model.job_priority_change import JobPriorityChange
+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 |
+ job_priority_change = JobPriorityChange(
+ priority=0,
+ ) # JobPriorityChange | The new priority.
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_instance.set_job_priority(job_id, job_priority_change)
+ except flamenco.manager.ApiException as e:
+ print("Exception when calling JobsApi->set_job_priority: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **job_id** | **str**| |
+ **job_priority_change** | [**JobPriorityChange**](JobPriorityChange.md)| The new priority. |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | Priority change was accepted. | - |
+**422** | The requested priority is not acceptable. | - |
+**0** | Unexpected error. | - |
+
+[[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)
+
# **set_job_status**
> set_job_status(job_id, job_status_change)
diff --git a/addon/flamenco/manager/model/job_priority_change.py b/addon/flamenco/manager/model/job_priority_change.py
new file mode 100644
index 00000000..923c3964
--- /dev/null
+++ b/addon/flamenco/manager/model/job_priority_change.py
@@ -0,0 +1,265 @@
+"""
+ 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 JobPriorityChange(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 = {
+ ('priority',): {
+ 'inclusive_maximum': 100,
+ 'inclusive_minimum': 0,
+ },
+ }
+
+ @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 {
+ 'priority': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'priority': 'priority', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, priority, *args, **kwargs): # noqa: E501
+ """JobPriorityChange - a model defined in OpenAPI
+
+ Args:
+ priority (int):
+
+ 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.priority = priority
+ 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, priority, *args, **kwargs): # noqa: E501
+ """JobPriorityChange - a model defined in OpenAPI
+
+ Args:
+ priority (int):
+
+ 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.priority = priority
+ 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.")
diff --git a/addon/flamenco/manager/models/__init__.py b/addon/flamenco/manager/models/__init__.py
index 1f973f78..367f72b6 100644
--- a/addon/flamenco/manager/models/__init__.py
+++ b/addon/flamenco/manager/models/__init__.py
@@ -28,6 +28,7 @@ from flamenco.manager.model.job_blocklist import JobBlocklist
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_priority_change import JobPriorityChange
from flamenco.manager.model.job_settings import JobSettings
from flamenco.manager.model.job_status import JobStatus
from flamenco.manager.model.job_status_change import JobStatusChange
diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md
index 3f0f1650..49450d4f 100644
--- a/addon/flamenco/manager_README.md
+++ b/addon/flamenco/manager_README.md
@@ -38,6 +38,7 @@ from flamenco.manager.model.error import Error
from flamenco.manager.model.job import Job
from flamenco.manager.model.job_blocklist import JobBlocklist
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
+from flamenco.manager.model.job_priority_change import JobPriorityChange
from flamenco.manager.model.job_status_change import JobStatusChange
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
from flamenco.manager.model.jobs_query import JobsQuery
@@ -85,6 +86,7 @@ Class | Method | HTTP request | Description
*JobsApi* | [**get_job_types**](flamenco/manager/docs/JobsApi.md#get_job_types) | **GET** /api/v3/jobs/types | Get list of job types and their parameters.
*JobsApi* | [**query_jobs**](flamenco/manager/docs/JobsApi.md#query_jobs) | **POST** /api/v3/jobs/query | Fetch list of jobs.
*JobsApi* | [**remove_job_blocklist**](flamenco/manager/docs/JobsApi.md#remove_job_blocklist) | **DELETE** /api/v3/jobs/{job_id}/blocklist | Remove entries from a job blocklist.
+*JobsApi* | [**set_job_priority**](flamenco/manager/docs/JobsApi.md#set_job_priority) | **POST** /api/v3/jobs/{job_id}/setpriority |
*JobsApi* | [**set_job_status**](flamenco/manager/docs/JobsApi.md#set_job_status) | **POST** /api/v3/jobs/{job_id}/setstatus |
*JobsApi* | [**set_task_status**](flamenco/manager/docs/JobsApi.md#set_task_status) | **POST** /api/v3/tasks/{task_id}/setstatus |
*JobsApi* | [**submit_job**](flamenco/manager/docs/JobsApi.md#submit_job) | **POST** /api/v3/jobs | Submit a new job for Flamenco Manager to execute.
@@ -139,6 +141,7 @@ Class | Method | HTTP request | Description
- [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md)
- [JobLastRenderedImageInfo](flamenco/manager/docs/JobLastRenderedImageInfo.md)
- [JobMetadata](flamenco/manager/docs/JobMetadata.md)
+ - [JobPriorityChange](flamenco/manager/docs/JobPriorityChange.md)
- [JobSettings](flamenco/manager/docs/JobSettings.md)
- [JobStatus](flamenco/manager/docs/JobStatus.md)
- [JobStatusChange](flamenco/manager/docs/JobStatusChange.md)
diff --git a/internal/worker/mocks/client.gen.go b/internal/worker/mocks/client.gen.go
index 4350287c..77e9d912 100644
--- a/internal/worker/mocks/client.gen.go
+++ b/internal/worker/mocks/client.gen.go
@@ -756,6 +756,46 @@ func (mr *MockFlamencoClientMockRecorder) ScheduleTaskWithResponse(arg0 interfac
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScheduleTaskWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).ScheduleTaskWithResponse), varargs...)
}
+// SetJobPriorityWithBodyWithResponse mocks base method.
+func (m *MockFlamencoClient) SetJobPriorityWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetJobPriorityResponse, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{arg0, arg1, arg2, arg3}
+ for _, a := range arg4 {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "SetJobPriorityWithBodyWithResponse", varargs...)
+ ret0, _ := ret[0].(*api.SetJobPriorityResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// SetJobPriorityWithBodyWithResponse indicates an expected call of SetJobPriorityWithBodyWithResponse.
+func (mr *MockFlamencoClientMockRecorder) SetJobPriorityWithBodyWithResponse(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetJobPriorityWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetJobPriorityWithBodyWithResponse), varargs...)
+}
+
+// SetJobPriorityWithResponse mocks base method.
+func (m *MockFlamencoClient) SetJobPriorityWithResponse(arg0 context.Context, arg1 string, arg2 api.SetJobPriorityJSONRequestBody, arg3 ...api.RequestEditorFn) (*api.SetJobPriorityResponse, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{arg0, arg1, arg2}
+ for _, a := range arg3 {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "SetJobPriorityWithResponse", varargs...)
+ ret0, _ := ret[0].(*api.SetJobPriorityResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// SetJobPriorityWithResponse indicates an expected call of SetJobPriorityWithResponse.
+func (mr *MockFlamencoClientMockRecorder) SetJobPriorityWithResponse(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{arg0, arg1, arg2}, arg3...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetJobPriorityWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetJobPriorityWithResponse), varargs...)
+}
+
// SetJobStatusWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) SetJobStatusWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetJobStatusResponse, error) {
m.ctrl.T.Helper()
diff --git a/pkg/api/openapi_client.gen.go b/pkg/api/openapi_client.gen.go
index e164e6d0..c6657d3a 100644
--- a/pkg/api/openapi_client.gen.go
+++ b/pkg/api/openapi_client.gen.go
@@ -155,6 +155,11 @@ type ClientInterface interface {
// FetchJobLastRenderedInfo request
FetchJobLastRenderedInfo(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error)
+ // SetJobPriority request with any body
+ SetJobPriorityWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+ SetJobPriority(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
+
// SetJobStatus request with any body
SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
@@ -530,6 +535,30 @@ func (c *Client) FetchJobLastRenderedInfo(ctx context.Context, jobId string, req
return c.Client.Do(req)
}
+func (c *Client) SetJobPriorityWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewSetJobPriorityRequestWithBody(c.Server, jobId, contentType, body)
+ 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) SetJobPriority(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewSetJobPriorityRequest(c.Server, jobId, body)
+ 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) {
req, err := NewSetJobStatusRequestWithBody(c.Server, jobId, contentType, body)
if err != nil {
@@ -1562,6 +1591,53 @@ func NewFetchJobLastRenderedInfoRequest(server string, jobId string) (*http.Requ
return req, nil
}
+// NewSetJobPriorityRequest calls the generic SetJobPriority builder with application/json body
+func NewSetJobPriorityRequest(server string, jobId string, body SetJobPriorityJSONRequestBody) (*http.Request, error) {
+ var bodyReader io.Reader
+ buf, err := json.Marshal(body)
+ if err != nil {
+ return nil, err
+ }
+ bodyReader = bytes.NewReader(buf)
+ return NewSetJobPriorityRequestWithBody(server, jobId, "application/json", bodyReader)
+}
+
+// NewSetJobPriorityRequestWithBody generates requests for SetJobPriority with any type of body
+func NewSetJobPriorityRequestWithBody(server string, jobId string, contentType string, body io.Reader) (*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/v3/jobs/%s/setpriority", pathParam0)
+ if operationPath[0] == '/' {
+ operationPath = "." + operationPath
+ }
+
+ queryURL, err := serverURL.Parse(operationPath)
+ if err != nil {
+ return nil, err
+ }
+
+ req, err := http.NewRequest("POST", queryURL.String(), body)
+ if err != nil {
+ return nil, err
+ }
+
+ req.Header.Add("Content-Type", contentType)
+
+ return req, nil
+}
+
// NewSetJobStatusRequest calls the generic SetJobStatus builder with application/json body
func NewSetJobStatusRequest(server string, jobId string, body SetJobStatusJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
@@ -2652,6 +2728,11 @@ type ClientWithResponsesInterface interface {
// FetchJobLastRenderedInfo request
FetchJobLastRenderedInfoWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobLastRenderedInfoResponse, error)
+ // SetJobPriority request with any body
+ SetJobPriorityWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error)
+
+ SetJobPriorityWithResponse(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error)
+
// SetJobStatus request with any body
SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error)
@@ -3135,6 +3216,28 @@ func (r FetchJobLastRenderedInfoResponse) StatusCode() int {
return 0
}
+type SetJobPriorityResponse struct {
+ Body []byte
+ HTTPResponse *http.Response
+ JSONDefault *Error
+}
+
+// Status returns HTTPResponse.Status
+func (r SetJobPriorityResponse) Status() string {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.Status
+ }
+ return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r SetJobPriorityResponse) StatusCode() int {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.StatusCode
+ }
+ return 0
+}
+
type SetJobStatusResponse struct {
Body []byte
HTTPResponse *http.Response
@@ -3927,6 +4030,23 @@ func (c *ClientWithResponses) FetchJobLastRenderedInfoWithResponse(ctx context.C
return ParseFetchJobLastRenderedInfoResponse(rsp)
}
+// SetJobPriorityWithBodyWithResponse request with arbitrary body returning *SetJobPriorityResponse
+func (c *ClientWithResponses) SetJobPriorityWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) {
+ rsp, err := c.SetJobPriorityWithBody(ctx, jobId, contentType, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParseSetJobPriorityResponse(rsp)
+}
+
+func (c *ClientWithResponses) SetJobPriorityWithResponse(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) {
+ rsp, err := c.SetJobPriority(ctx, jobId, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParseSetJobPriorityResponse(rsp)
+}
+
// 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) {
rsp, err := c.SetJobStatusWithBody(ctx, jobId, contentType, body, reqEditors...)
@@ -4741,6 +4861,32 @@ func ParseFetchJobLastRenderedInfoResponse(rsp *http.Response) (*FetchJobLastRen
return response, nil
}
+// ParseSetJobPriorityResponse parses an HTTP response from a SetJobPriorityWithResponse call
+func ParseSetJobPriorityResponse(rsp *http.Response) (*SetJobPriorityResponse, error) {
+ bodyBytes, err := ioutil.ReadAll(rsp.Body)
+ defer func() { _ = rsp.Body.Close() }()
+ if err != nil {
+ return nil, err
+ }
+
+ response := &SetJobPriorityResponse{
+ Body: bodyBytes,
+ HTTPResponse: rsp,
+ }
+
+ switch {
+ case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true:
+ var dest Error
+ if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+ return nil, err
+ }
+ response.JSONDefault = &dest
+
+ }
+
+ return response, nil
+}
+
// ParseSetJobStatusResponse parses an HTTP response from a SetJobStatusWithResponse call
func ParseSetJobStatusResponse(rsp *http.Response) (*SetJobStatusResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
diff --git a/pkg/api/openapi_server.gen.go b/pkg/api/openapi_server.gen.go
index 19d3c7be..488637ff 100644
--- a/pkg/api/openapi_server.gen.go
+++ b/pkg/api/openapi_server.gen.go
@@ -65,6 +65,9 @@ type ServerInterface interface {
// (GET /api/v3/jobs/{job_id}/last-rendered)
FetchJobLastRenderedInfo(ctx echo.Context, jobId string) error
+ // (POST /api/v3/jobs/{job_id}/setpriority)
+ SetJobPriority(ctx echo.Context, jobId string) error
+
// (POST /api/v3/jobs/{job_id}/setstatus)
SetJobStatus(ctx echo.Context, jobId string) error
// Fetch a summary of all tasks of the given job.
@@ -368,6 +371,22 @@ func (w *ServerInterfaceWrapper) FetchJobLastRenderedInfo(ctx echo.Context) erro
return err
}
+// SetJobPriority converts echo context to params.
+func (w *ServerInterfaceWrapper) SetJobPriority(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.SetJobPriority(ctx, jobId)
+ return err
+}
+
// SetJobStatus converts echo context to params.
func (w *ServerInterfaceWrapper) SetJobStatus(ctx echo.Context) error {
var err error
@@ -826,6 +845,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
router.DELETE(baseURL+"/api/v3/jobs/:job_id/blocklist", wrapper.RemoveJobBlocklist)
router.GET(baseURL+"/api/v3/jobs/:job_id/blocklist", wrapper.FetchJobBlocklist)
router.GET(baseURL+"/api/v3/jobs/:job_id/last-rendered", wrapper.FetchJobLastRenderedInfo)
+ router.POST(baseURL+"/api/v3/jobs/:job_id/setpriority", wrapper.SetJobPriority)
router.POST(baseURL+"/api/v3/jobs/:job_id/setstatus", wrapper.SetJobStatus)
router.GET(baseURL+"/api/v3/jobs/:job_id/tasks", wrapper.FetchJobTasks)
router.POST(baseURL+"/api/v3/shaman/checkout/create", wrapper.ShamanCheckout)
diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go
index 9aa1af34..518154b3 100644
--- a/pkg/api/openapi_spec.gen.go
+++ b/pkg/api/openapi_spec.gen.go
@@ -58,154 +58,156 @@ var swaggerSpec = []string{
"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",
- "//0/l6yI4NqA03Gkt6bhZFTFer4NhNMLxUCNUHgXmYUAenLKghn3t0M9LsVoRjm+Ef4orchv//h7xSr4",
- "g6pswS+jP9GChcOPnGAEj+HviuHzysJkFM+WlMHDHl6CmaFLdlAgSutM+Cyy3DshFS0Wn4XRtFA/EH23",
- "rB7UP6H6Qh9XyyVV65RbbFkWfMZZTgrHDtA14o1qY/IS5VaUjeFhbRCzP1nCZV9n1EqpVF90hXn4ameV",
- "DJyTbsE7WAN6L73+rxXDPUf3CXx2g+ePrYhZ04S+W3Y1HIDD5my6Bqdmm+P+4v8646KB8QFlHTb/0hEf",
- "3UI+DpZc8KW9MA/TgvMnU65XvLBqxLSmXENPh14f/uW7mgwlXS9yNtOsudC91EJrOH28hj9T70hw+nYU",
- "W/Ous6vo1NpX4h0zlRJovLXohR5b6m80d6ItbOE6kk/kb29jdD/29tmvAO93vVAo3t/wIjkd6qUUMz6v",
- "FPW+4eZ6uH7FlTbvKrHJPoVWW0uIOYohlufN7Ie1euvmI6oSurb0Bm8pcFFKZmxFZjQzUukhccZ+IcUI",
- "HLxWMsri9ZIZR2OYl2aDAXhqWQRhy9KsrZ5dwBrANVAVuXhgyJT1Ov0WdEnFd6Ag55utcsfwKq7CKCr0",
- "jCny4ugQPFfeAJq20mkjFZ2z1zKjaa/8t8HvBXYJy4DspYC53MfjrZpFe5b27obxAW/Akr9Sxb2Rso0g",
- "Z2YlVzTBg94KNlrRNbl0H6NZ3sJtKbUBK5fVMwVD4wX4tCzbsky3LGgGThoyU3JJzj9acefq3Am9XKFD",
- "fehsKAvwAmo03lDio4iCKZZ6wxk5WcnEmmihpZ8073iDKIYRrBbMLb8sqLEy8CgoS+jeB3uVG2S6Dovu",
- "QzT4aLtu4sxyNaD9lzuc14sq50w0TZpOLXRypE6KTK1h9CYutYlCtdGnw8Pe0LK0MIZT9odC7JbB029C",
- "/ADHaJ7Ehtd/Yax8VwmRjA86DEa3VXRxEQZkSdfkgrHSEiXhLWxpUWfZmad7oLUc2SMUogD6LsizG1br",
- "DZqxuEmCJBwUi5XD60PjaJulFvDkHB9Z7sTOid2KM8DEISp4fewkAO+5tP8V7INxvjwk0ueWV58PyXkT",
- "COfkzfvjE6sInUPIRg+it9C5BcgAtT4YpbA8WPUPvVumeVjeBbL5YrWM9onh79zL9MWcQZndLsu3cxTn",
- "y9nNhfOOzS3bVixH+tuFJM1zxbS+ZqSko7/pmyZnZkUV23ANt1Gtn8PNQbkuOErPgm1IX08c/qRYS8cA",
- "PKjieEsPiOEgw0gbWOEggkLP6lOndcyySnGzDh6eFgXc1dS/ycZ/zExVvtCaa0OFQeEz5RyLhTw5tbKd",
- "JXqWSYDcZUchYZgutXb2ku/Ae0Z3CJ/qdxd+KUGtu4UkPEGcgyXLlIP6mIHubxfjFB4Un45/eLH/+Ale",
- "e10th0Tzf0A40nRtmEaBLGfaLo8UblHe7Za52erQrJZtC2YDLwWSn0EdmDeeSxRCB88HB4+ne4+ePcz2",
- "n073Dg4O8oez6aPHs2zv6TfP6MP9jO49mT7Mnzzay/cfP3n29Ju96Td7T3P2eO9R/nRv/xnbswPxf7DB",
- "84eP9h+BmwNnK+R8zsU8nurJwfTpfvbkYPrs0f6jWf7wYPrs4OnebPpkb+/Js71v9rID+vDx04dPs9kB",
- "zR892n9y8Hj68Jun2RP6zbPHe0+f1VPtP73q6vweIkdJamt/jaRHrwg5fh3HSvpxgJ+DNOnsvc7W6/SN",
- "cABAw6kOShFGzUSTjMmhILLImSLOyaS9rdeNBfNaDvBrpdFUfBq2Qw6/PR2gUchrx24UwoOfkuIqQFc7",
- "d/aWkS6q+URnTLCRpV4TDE0dHX573hOL41BmR8UX1/6KF+y4ZNlWHRgHHzaPafttqrl/yixon6E1rXUq",
- "qaDzG6CH8we1EQMUZwf62l9gFlSQlWfmQUwcWuSIBwWHtYuhoj5guL7G5CSSLj4d+VJH3XYL73Yk4ai7",
- "BM6pYNRLXRQpr6NVbtERHU5Lii0PmqzHQ1NGPaJfcdL0u6CJFTZJbTxmcgygMx+7ljHWpNEJd3ybpyyo",
- "p1vDfmG3CeCfuVnUBv+dQO2V8AzI2bQH9EMnpg5JzkomckjWEKDhoTjzBz+bXWXP6Dh63AOdU42t1puO",
- "t+PHqcSFkCsBLudC0hz1MXtgDb2r3j8O9g5XA3kBTk+7seABgkYDdr2yxC0JDXciINwBe+s//OZ5YehS",
- "mqvhaYGYTYmKPvMsZRgfpbNNyOZ1Z+rSyh2vYKgQegCIZjmJe83+xj64cK4g18dhY3eFA/XFDPfhdtAi",
- "nihct8+MKxH5/lSswcS6JuFoXXF3/tfluZ+LEG4keorlx9s0tzYr0fBZzbFoboVip9NFoTHUWVXJabW3",
- "t/8k2IOddFZpi/kdQ7ORbsDEXChMhXvgBKgHuunuSMVk0MjCew1LbDAMXw0HRQSga9pa7sBV0jr1otaQ",
- "w9YbhpDmmpLYIbMLZg7f/iin78Hxm0xq0syEbNIh0VbKlpdMEf+1dzZA2gfYLPWYvLJCDluBf3Fo1SF2",
- "yWWlzxBXz1H+ntakL3WinynezVvPmgP9RJdxplY6L7Cx6Gt5QOMc5pA19DjpV1ZspphenIUYgo2W8Cic",
- "1enN7nuMXsDdPNAYx1C7F+HYMOtHaxekp70rB/4JbkKaLSA695LnFcVgCLKCWeZMMIXWcUmWVKz9IC4H",
- "tFQ0MzyjRa838fpA7M/Yvm484ieEIyaCEF3OdpTV3TzDTXctjpnru3TuyKWqjzwR3BZCw+3Fs9quW2k6",
- "aWXHYEGzqJZTASFXWw8qHf6XSmepwwnxrzDJJkhZ0tOfq33MBPgWAxXCS6GtIn4+0dG354RdgmkAEmCN",
- "dIlvXnaL3rQPLTAdZo/JSz8m5uvNmYmfo0EIHFD2nvj74P9dyLlGZ7tgzOUwlAXPuCnWftopQ1IJ7l77",
- "aD0MG8moi9EI79oxpMC0sq+MhPU0pp55lPlVTr8GjcK+bl95oO16CLjSLO6n6K0st4oiiaN56x1qu6b4",
- "pgbxiVHePdBP9DFy38gmVCakEvUPVnwYb2cNLUSV5aZM4M1bj3TJsAyIy6v/lVQj+0CRkCCoIRfcnujs",
- "WjAIoYpF8aOcQgh1UfwcPN+O9VF9Ucg5Poyv9cZVn1B98VrO+6jYibsEJFtU4sJJDhCDEO6sknJJcoYM",
- "LseHLnPFLgluK72UPLcf57jpJvdJ4bHdSdeTYhcRkMgtbUze0HXIW1lWheElJIMIhuZh9sEk/ZOelm1E",
- "1RP0QF0PC2sqabexCRPt8LuIbScAyX65DYDREdxcHOTNJLc4seLaaQy7gW14Ha62XQR03sJPlQGbZWdu",
- "8s1dijaBNTvH6sZ8iw2YiORkF1zENzdhowtI8fiYQC6od8LyM5r0SKC4i3yTmTqLzY1r5SQ3wPizJd44",
- "n/4OOGvP7UwzltLBaR0kyHW8Xvu+z3uMEpN3W/t21F/51X8q8neiBT7hq7MshKjv+nEjXuY2r9I18tu2",
- "3C4/TvJyxblryaIGtTM5yv43kvj0wZbxcJdw8E9PunAPDn77H+Q//vW3f/vt33/7X7/923/862//+7d/",
- "/+1/xkoTaMNxdLSb5Sxb5oPng4/un1fgrqzExRnaDw/snoxVNs9olXPp46dnvGDO7T1BPWmiZ5Nf5VSj",
- "+/Xh/sEYhowP+ein7+0/Sz14vv9oOJgpurQ0ZvBw9HBvMByAmqXPpDq75DmTVm2HXwbDgaxMWRksmsI+",
- "GCZchuW4dKFcsBX3VnddOFNY2SQNLlfdpTOektJsHM+V7MFaIWe15WpQcFF9iDAaokxHDtROv+wmgsaY",
- "s0UnDHlIuxZ422IciRFkm93Av9qz+U5ULkrvYk70Whu2rHO/3LetMhxGQvGsueCada2a7mVnk4FwgEKu",
- "mBplVLMQLeCm8Itykd2neC6ngyE5Hay4yOVK4z9yqlZc4N+yZGKqc/sPZrIxOQ5TyWVJDQ+1176XDzQ5",
- "V5UARe/7t2+Pz/9EVCXIOYQ1yoLkXBtIh4E4YqtG0pAdU0oNlVjCIi0TfqG92ZcWxO5o2NgHOR2gUq1O",
- "B94n70rIoUvUC41QA6ZUlv1aRf100DTy+vFOBzXsl1JbhRn09gtGDNNmkrNpNXelZTRhVHMo4uLUbbuA",
- "SjMXNMozkssMindBYmdRNHaWlO777E72h7Pd68AMSSZLHvt1ztvVQMZ2tPNQG6xbSebE/ctDEOt8sZxw",
- "Z/2ZcVbkJJdMiweGLKnJwC1FaGYqWoSROvEwJ1iTDGwjul1gBvBIFnmUetIsSteu7xOK1Hkj1Kk4bCzQ",
- "CmVL5FHD2kUNNQXWJdXaKxI7hYB3DXCJC59iqumimydeJcQym5Biob0Tx0eM+DIIQ8LHbEymbCYVqyO1",
- "o0j98fX0oc9ZqvM20s4xwetsuj7zAfPXyXNzsnFirTvqbtdQ80C6NrLKFlulPtQ2xDrI2fb/8pDW70Pf",
- "rydjf/lKpreVp++zyK9z4rvm9re10FQR1bhUarhMW6qmOvNUOifd/kroFEshMjBTgYIaWZ8+yY6eDpCx",
- "hAZiPFp2qGEj6KOLKZG5aevMlSrSE79/95pQ44utRLMTbjQrZiGYTq5EIWm+SxB8ba0Kp4ip8LD/vlO5",
- "fiJ1SJkOaadazsyonUmdslbWE96nrOf4Vt8g7TnOIO7qhpU2hHWLLtTojrUuZKNAYO02BFFw3OOO3dnW",
- "dp+I4U0NZDtSJD9T30ltspDjs+CihdxPpKD2gHBkVEsQ81ykBTiXgGLBiUG9IyyRBbUmX1gpN5weBBnJ",
- "EnPW/kSkMxW0XuBzIRXLyVcg30if9Hfu6a0z/QppCFPUJVeFgjhtCdYu6+tttuFummTBhatt69zeEMz7",
- "QJMsFFDFHEe7NB+CheSavL1kaqW4YSjXcllpsAKKqG6Pr2iRFB9SfoPXcu78AYEGoGvCC+S+7qpdNJwK",
- "TMioKnhPpTvTIIHXoBJJ5KoTiloeI0QixSAyOmOgH4EiywUmhuI4iXjTTblIn0YFNlwyP2nqEtV73K3u",
- "kzMLhhILnVzd8izaY0syOCLuWce8uzEmaDfjQv9Yn55bZZxysx0yoAbtRPEiSDWCi6LCXcmsqqtfOuVl",
- "XCWNJjfyxK4+5de7lHLq4ux1dZM2imyOEfSj9yMnZvj1VQ+4YQYfyxRWpvjs2NKWOXCmZvxYaooNldkc",
- "RPlcvO0pWffi6BDK50dpeWd1cTq9ovM5U6OK903+/G/eSGxFwtmyZHNXy3pUFzMeDAdLrrNEQZL+enad",
- "xdw+xP1FSwO5s6INAC8YK4+tylul0mXhMdHuuQ/gRC3H1wI4NlQZCBdhIkcfVGC/wF45eosgPCyn66Ya",
- "EcbmGvksG5MXZVlw5vxw6IOT9kMOZpXznK71mZydrRi7OIeECHin+bt9GepWjE9FYoUgsgiy/2i0kJUi",
- "P/zw/M2buiQK1pauMTAeefB8sJTEVAQiTSFGIj8DofD54OE3z/f2MK3X6STOv6DtCvxbe8/sWx0Ea07S",
- "zRqhGRtpVlKF0Q4rOSoYVPP2Vc4c1C3bsGMBwWPsogfM5KvTwVKicdhU3i789Zh8B9U+lowKTU4H7JKp",
- "tR3P1zLrIGq9/4izA0B7crM9aD6m4/wCoLYP1+ZBYexhE5qNcaMVb7gXhhrWp/I5J6OKCxDs7qRMKmzR",
- "YDstKm/RyBATT1f0gnWR6ybe1N0DxRvfxdFMFuqYDoPrGg6otiTFHgKkRw8Hhmn3ipzNrKyc1MP7XbWJ",
- "AkVYABaJVa0NueIPdaqU/fHcBaYkFFZ9VtB/rDeHYzfrSjj3DaoYcX8NIFK1CRzlgVotcVqYJjMuuF60",
- "jNnXjoLd5RSHYX8bzrPPRPBnqnm2QRy7sfb/5QIcPleJg88WfhAJE01A/LV2BnpXPYLEYTrXvgzLzawU",
- "22UG7wbZTZtqlqv7eFOjaDouOKEpnKArBhuhNaoWwSDaVWewMs8yFv7PaJXKk3yvmYI6OlzHkUCH3w5J",
- "SbVeSZX7RygGu3JJVsjxOnQt21vEBMDAxbbXqN7pwphycHUFVfLR6AyhhZmJZOBw4ieMLp25FL/UzyeT",
- "mQ/d4HLSrRGEUZnkFVVLF8QMmSOD4aDgGXPJbG6e749eXx50xl+tVuO5qMZSzSfuGz2Zl8XoYLw3ZmK8",
- "MEssnclN0VjtMhSargX2h+O9MUhBsmSClhwLTI/3XDomnMyElnxyeTDJ2tXV5qjYhHI8hznUTjfNMmwW",
- "ZTATDkbb39vzULWSvsVgK2hiIszkV2fFRbzdMQ+oOR8cXhPowmJ1ETLyEAU9XbUrRm9ms1DHrNNGwtC5",
- "xpoghoJuUo/xnchLyV1+xtz1AOsMGI4iDHo1TIN3Aq7ViVeV+oD9iov8z6G2xhEm0N4auNNNDBLwfiUr",
- "UZfaABk4tI1o9of7LOvCGi+JdRyHMvEry+BXSkILucbJveIuxF4qspSKkZevD33TAjQYQhyCJisKEQwg",
- "TfntpJCilDpxUlCHIXFUwGr+LPP1Z4NGq55UAiy+XYNUzt4M3m+soSTRqY9JTbePR436NN2V/tS8uENc",
- "JIYdwJHOuGD3D6f+SgsORn8aY9NNkKmFp85zcFmP75tH1Qe5lahgtubIZWuCYtWPso3s0y+KtUd3hp//",
- "FIiJSbo1RjZzeLewu2uM04uMUJdiVyniFRax+KQjv0at8KthY6w1XRbNsdpy8TYEaR/EO2iIcsnSgkdX",
- "Tth4Gi+yjOnQ1TJVVDYxZAjOE9IQ3NgD8Cu9LZl4cXToM+OKQq5Qsj733d8mTpJ0B3pOSppd2MM+Ff3H",
- "rZmpyhH1Zc76yc4xvWTJymq3Q3iSUyWZZgxWS7vpJaJ3CykfJUL1W8gAEYErNqVl6c0VuVWRZlVR1LnA",
- "vsOnlSvvHyl5X7u1ezL8fbNaZHIc6m7ZHa7JrBLYALKAtgNb0NsiRAqzewvo9eNgg/NNPvqk+6vJR+80",
- "udpEkhrMsNldyirg3MLOVbFxKlyU1l8rzs4afR0Vp1vqwGrxiQkj50//hG3q9cstMtN0+YrrU0yvpbVq",
- "TRSNsheNfpBxwQv7pTMJ+HoXFjlDsQs09V1Tv9u0HMDONtHt1MDoR9UQlH59LK0LHf9/DL3BBvQnIGdd",
- "IKVtPiDvdd3xv9nxdUtWApLRUCO50QMWu6GlApjJlOq6iN1UyZVuhOffHOPrPV4fx31HgB7ODwHgWBLk",
- "Vlh9o5VY95Chy6x0ySMd9LxNjWPDgsC4XlkJD3mni9q3opoLsYoKfWiA9qOH+7cvI5wEihrSE6AHbi6Z",
- "b+fn0xiaLySTGLiGNJpiTfKKtVr+ZTRbRI2McSi4D1KSQmIX4rsUj+AB8ZWBm5QAcYxQXzkHFtq+I1Ez",
- "zFj2wfYWjeF+bOZ0MHcpO5dq0igu0m8vZCZbfF/IKW2UCID46ttF775CIztQ2mFaqD7xdVN83szCyolU",
- "rJNdxHoINvQeW1CDpd50X50WveWY3kJVZ+wyVIfozgHQPctpnd/ffRugNGmEPiuu+MNtkMa6E1FKHWjX",
- "ysTAEeg7g7ln47umlo3GM/1YBFCNrDQuPB5bqUC2HJ9ZYgX0BQiW6/cCH47vDVWBexvS+yzgd0PIujXQ",
- "DLoRQQcQkRMtISKgi4aWtk4+2v/+RJdso5jpe2HvImT6Ae+NzNft6N0jDuCzNulwwVeBG6V7z284nyh3",
- "pdmmElMGk+eidzgNPbhDoCUl5fBS3Zw9AcCi08AdekRDOaedgVhPFRhsGK8Lwo/orb7azBxR+tyO0SFX",
- "ph+ft/nSf/kyAiX3Fb7a5KXFvXxb3M3CCX4kchJFb/ZBfjJt9nktGGZUNI/hHVvKS9boCnuXB3IrvLXe",
- "SkqSrkqrTX21coVVQhfbr11dPgUQiVKQAxx3tD/6YCyaZayE7F0mjOJMo8wESb9ukrvlee8F+1BiLjRE",
- "onXN5HZRYbWumK+95BEIEji68X5/Gby6vYu+EblA0N2AYFb2nUuD8IyyZ+H23ydUQBoF8nlfS2i/B0CT",
- "XEIIRrIzdKPt9wb+gn6VgGpxtcZ+/nIdVaytGKEe9kdAyt+5vtc86hvofslBQ/rZZgTSzNSBjz2mMpD4",
- "jkNS4++bPTZye3tsTc0gXzCZwlp2UT0f9db7dsOtqA7MEU1o+/t9ycS+a11zQc6RCpEZwVjrI4t1KC4e",
- "BKsvT1o3oHSQF1qbbHpSNiNxKIW8kfpB4+c/CMlrNLHuYcUIY850nGOrO4zlnnFd6tYNmcGhw7bfQoQN",
- "u7DT9I49EmHF84lvfjLBahMbCGGzZ9gtOQ6ak6RMZHGHEB+kRFwDpbuzjCV7PqWCGXzfI2iX6JozRV4G",
- "pIF7z24fAcNKaKEYzdeuco8jwo/uxI+hGFnZ/+Dpga1dzMFjR851C6J1GxGou4XNogiAEoyiUjjbw51d",
- "4ap1hVs3+CW2ZKN1Zyx0KOr1suDiwrUqQQR1EEDPksEwFQeUSmMj/VphxL4fGN3vGiK4gkoZLQp02HAd",
- "uSxq4oBAbYd5uAVRouPLBItpdOqjitGNNCNu9rIr5YhP9lapSKrh0K4E5QvQkmS/ndR6Q4VYKConQUSK",
- "D2IYZ0bad1yDGtzi/boy0M+pboYXw8B1CcPIplIqo93Fx5Oyaqjb2FaEf4GhddT7OQPbaA8YWop43yn2",
- "JcJV1GQHm44bXhT1Erq3BIadfPQ9q64mH+EX/o8N1v64fY1U7KXDxZbQtnM3MguZhITnX72Wk2DYmTeq",
- "zeQb+YSyTIlZ/e53mbVuTvfLrV+8TsuiHXXne3WJ4vTMurVSsslWIx4lui+biHfAyH9uZBymFFVHVHiz",
- "9YxrdZqzGVMkdO7yRR4LF5p6Otjf++Z0EBCrrhoExQDAJG0qJVheF+fG7ekgx2G0SmiV1jlwjC+mhZY4",
- "hpZLJgUjrNAwTl0sKLVMwBYA4IJRzJ1wIPxvI5xm9JKK0bd2n6P3MMAgAcOoMVMKhlLxORe0gDnt+NBJ",
- "HqsRFTKuXhRaynETFUp1LeF4TLWhwFBoM0kFoRzegHqo0Op3h729dQsbvXILG2x1pO4iz8jMMDPSRjG6",
- "bFKIoFpPubD3e7g9Av4lzqFbfShvYKvxYmjXTLO/98221x06NhDRkRyMlXqaHEG5z606gJFMU2ZWzCG7",
- "A2fkqvT+S1+zdRb6aErVoTtBdPa4DMrO40TJz0aXqC231t/A+uY4xCuVzFwtpCmzH4b5p+vGvUOJ4rz3",
- "Cj0n9szOXcK3MH4Cb4q74zisLRwIOIOLxOrnO+QnCWHsrklT4yHcz5lUGZ8Wa5IV0lVM++Hk5IhkUggG",
- "Yey+EqmEigSO8LoqArpxXoywDzQzRNMlc5Kkkb6CL8llZYU8/ECPT4U/VYypxNtUV6dOnACZynzdy0rj",
- "4H07Ra1ddMESS45gsZl8dIUitzjQXeuPHWJCQt3J+2nRcwW2ksZoLBUhZvKeWuuaFVA32OQSX2w4+Ykr",
- "r7f59H3B1j8KEvj9bMIFKMHq8aHHB9+WmODDBdVEQNVBsmbmfqFT7DTrVLvFMLIlw6Rp3PsWp4JLeWt5",
- "ykIjpy2IZ1xHu63Id2JfvD/IZ9gHMykLysU1UwhP2sD5o+BV5Mqn2pAZW0XtuhZxs7udqFf8SRjPl/zc",
- "iFW7OVqjCp53ilWf3wLZqaP8h/e1Igv8AzhbsTwuxEAs6RrN8Gw2Y5nxYi20f8ARqCYrVhTufW+Bh04c",
- "jLqUnkW1pEJj2B4Ip+CWu+S0m2Y0drV7NNh1oWCXv1EYgwMXq75X54QLbRjNWwnBUTWl3ty1UJP01li6",
- "jxX1U924XkwIOm10hqlzvjbnV72MWoRW2hXUCiZg45JiUJss1oTW0yUkdDyG0XJuJlER1X5OWTePvDUw",
- "R5VgExD+C6jjfq398cFRrVgPy3qv6UAc/6nH2Ybmnyq80wXe5KOrRuW0nb5Q1W/h91APeDtvCMN+Zplj",
- "e8750BfCCl1eXAu9+xjvWZO9lStvegjUS7FMLpehVDcYIzPsmc11yCrvNAx0FUtdZcNzoJJoymu+hL4T",
- "V7dtSLSRJeFWk1fajMkLsUbRCl+Li5vFzQlDjx9sc9BUxlu4u+2CflGc+tykIIUPvlrejiHpq1DYcCsx",
- "sEQkZwaaS4Qj9grabjd/F/HQMe9uEcG7PrrPLyxuKIx4H6TGeyLQ9SLgbmKdx+hrIGXBWDnSUbHobVSk",
- "WV36j0RSmjvbpUwTWP8b5bQ3BRyzmGkKmfryfqJhry57DzDi1ijVNmSw5ynYqnOKN/ZJhXLeQabSRqrf",
- "CX2yDFKquDtNKIicQPOWvofVVJka1S3F+vgjvhjkmds7/0b3hn5ZA/gSLupOw6k8JFjeLw519M7740zz",
- "y3f+tLrhdAPPOjywPhKrktVf6gRSWXl6JGezDcY4PhdvZ7PBLhf0/sHS1TwGEtuodvw3KKBcg+0NVRex",
- "TkE18VXZtwD8JS0KdOt67ddIUjh7hS8+YRVi6LL6QDEyhzQpN/y491TElkMRt3q13RT9lzp0N77LG93t",
- "UfC7uNI7o+GLyiyYMNhDxFUetdjgfc592tgn4yRGbBgJM6CnqdFHjdcHnsRY4zIGkoJxdGqDL40csFKv",
- "GNS9J/oEUiFJ/xf3G6uujyE+FDa0eVAYXibWPUDoRYVRVjfrSJOwRGOP29apw0QprSWwSdzqzSTU3zHl",
- "cVTdnZu314EzIwu92TWhmSUbBcux7gBGmDqKMmo6jzy6QA8QLurIRkdlmBoVMqMFEDha6M9N1S5ZYzeV",
- "TmGrb/7Ww2edPO4CbG6vyoczbPbGv7jGo6GAVR+5+kk6p1Idvx4SYH+u7R6P9g4+YzFXRLFexDxiytfS",
- "+pYJjqTTJTqlTZPoa3QszzVtAowaEi39Y1oUcoW2YAcWt3XF5wtDhFw5T+fB3TIYf5GogOBddJBYKRxW",
- "hyG4kNozl9Ckw4Ww4YW75qV17hcaxo+gse02AU55hVOly5wlXY391yVq2voH8Nq7nfRdRycbRc2Abm7V",
- "cGN13fSpW1IHw+lmuxeHSb7khJYu8DWMDdfmixh0P5E5RYWPsYusWZc8Aydt3PO2VHKumNZD4ppgQ0Vk",
- "qciM8qJSbCuH8XxFM5E3HCEW3H50S8isaLT9pkyWdD3iI1X1+9/f0LUzpVTiDxG994au/8JY+c51Yvpj",
- "qWcYIePEmDrNI5KYI9dmxKBUJciEXDBWeldn3H/ZdZiGQqPCEnRNKEFXZiyT1v3TE/7NHkTuSPSg7EUr",
- "a63JtWneAbVlZcrKjEol8yrbJOhbYvkWXj7y794L5gD1QSa/lmx+3bSLofu2FPMvlbGxv2PGBkh/LhfB",
- "Fx989PDh7V+010zMzSJkOf8pLi6b8xw7IFgqS4kDwch9ggk4bqUHt7/SI7qGwHyobEuVKxT66OHju3Aj",
- "hD625A3LOSUn69J5zADFCGKUFyanIa+krmsdR9c82n92N0WIfaIbckogHRKana3JzF5sV0Db5U2YhZLG",
- "FNCBkhWz35XkgQktFtBLqQ1RLMM0n1BmCPaL8kCU1sIBOFXpI1VqRwgTulIsBJuB9O5O2WDL/pzPmcb+",
- "UK0zJi9DmhHE4Rz99D3A+cej774nDpXsoGVBhUjHwWwSeMyiWk4F5YWelIpdcrbyZIkrLK7kqT1B6u/F",
- "IICouvTUHHvnTQaREarTLb4ZZNIp1uwxJbADiObrZgz+KKfeTAoy2t8rprhFv7qA87BVKnHcqG+jE4O+",
- "ODpslpCOTWRyuawEipuQiZjqG9Nw4CYmcNjwJqyJQPOX3nrzWFLXbsPeFSULv6LOZOB0TOTEYp5RmAX4",
- "RJ0k5SAIRUnsv3+V01D6IZ7D5TVd/XL1/wIAAP//PoQgcanfAAA=",
+ "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",
+ "AA==",
}
// GetSwagger returns the content of the embedded swagger specification file
diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go
index b318fc3a..2f8f5769 100644
--- a/pkg/api/openapi_types.gen.go
+++ b/pkg/api/openapi_types.gen.go
@@ -305,6 +305,11 @@ type JobMetadata struct {
AdditionalProperties map[string]string `json:"-"`
}
+// JobPriorityChange defines model for JobPriorityChange.
+type JobPriorityChange struct {
+ Priority int `json:"priority"`
+}
+
// JobSettings defines model for JobSettings.
type JobSettings struct {
AdditionalProperties map[string]interface{} `json:"-"`
@@ -793,6 +798,9 @@ type QueryJobsJSONBody JobsQuery
// RemoveJobBlocklistJSONBody defines parameters for RemoveJobBlocklist.
type RemoveJobBlocklistJSONBody JobBlocklist
+// SetJobPriorityJSONBody defines parameters for SetJobPriority.
+type SetJobPriorityJSONBody JobPriorityChange
+
// SetJobStatusJSONBody defines parameters for SetJobStatus.
type SetJobStatusJSONBody JobStatusChange
@@ -850,6 +858,9 @@ type QueryJobsJSONRequestBody QueryJobsJSONBody
// RemoveJobBlocklistJSONRequestBody defines body for RemoveJobBlocklist for application/json ContentType.
type RemoveJobBlocklistJSONRequestBody RemoveJobBlocklistJSONBody
+// SetJobPriorityJSONRequestBody defines body for SetJobPriority for application/json ContentType.
+type SetJobPriorityJSONRequestBody SetJobPriorityJSONBody
+
// SetJobStatusJSONRequestBody defines body for SetJobStatus for application/json ContentType.
type SetJobStatusJSONRequestBody SetJobStatusJSONBody
diff --git a/web/app/src/manager-api/index.js b/web/app/src/manager-api/index.js
index 8af339e9..79632dbc 100644
--- a/web/app/src/manager-api/index.js
+++ b/web/app/src/manager-api/index.js
@@ -29,6 +29,7 @@ import Job from './model/Job';
import JobAllOf from './model/JobAllOf';
import JobBlocklistEntry from './model/JobBlocklistEntry';
import JobLastRenderedImageInfo from './model/JobLastRenderedImageInfo';
+import JobPriorityChange from './model/JobPriorityChange';
import JobStatus from './model/JobStatus';
import JobStatusChange from './model/JobStatusChange';
import JobTasksSummary from './model/JobTasksSummary';
@@ -222,6 +223,12 @@ export {
*/
JobLastRenderedImageInfo,
+ /**
+ * The JobPriorityChange model constructor.
+ * @property {module:model/JobPriorityChange}
+ */
+ JobPriorityChange,
+
/**
* The JobStatus model constructor.
* @property {module:model/JobStatus}
diff --git a/web/app/src/manager-api/manager/JobsApi.js b/web/app/src/manager-api/manager/JobsApi.js
index c127a1e1..d351fe5c 100644
--- a/web/app/src/manager-api/manager/JobsApi.js
+++ b/web/app/src/manager-api/manager/JobsApi.js
@@ -19,6 +19,7 @@ import Error from '../model/Error';
import Job from '../model/Job';
import JobBlocklistEntry from '../model/JobBlocklistEntry';
import JobLastRenderedImageInfo from '../model/JobLastRenderedImageInfo';
+import JobPriorityChange from '../model/JobPriorityChange';
import JobStatusChange from '../model/JobStatusChange';
import JobTasksSummary from '../model/JobTasksSummary';
import JobsQuery from '../model/JobsQuery';
@@ -590,6 +591,56 @@ export default class JobsApi {
}
+ /**
+ * @param {String} jobId
+ * @param {module:model/JobPriorityChange} jobPriorityChange The new priority.
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
+ */
+ setJobPriorityWithHttpInfo(jobId, jobPriorityChange) {
+ let postBody = jobPriorityChange;
+ // verify the required parameter 'jobId' is set
+ if (jobId === undefined || jobId === null) {
+ throw new Error("Missing the required parameter 'jobId' when calling setJobPriority");
+ }
+ // verify the required parameter 'jobPriorityChange' is set
+ if (jobPriorityChange === undefined || jobPriorityChange === null) {
+ throw new Error("Missing the required parameter 'jobPriorityChange' when calling setJobPriority");
+ }
+
+ let pathParams = {
+ 'job_id': jobId
+ };
+ let queryParams = {
+ };
+ let headerParams = {
+ };
+ let formParams = {
+ };
+
+ let authNames = [];
+ let contentTypes = ['application/json'];
+ let accepts = ['application/json'];
+ let returnType = null;
+ return this.apiClient.callApi(
+ '/api/v3/jobs/{job_id}/setpriority', 'POST',
+ pathParams, queryParams, headerParams, formParams, postBody,
+ authNames, contentTypes, accepts, returnType, null
+ );
+ }
+
+ /**
+ * @param {String} jobId
+ * @param {module:model/JobPriorityChange} jobPriorityChange The new priority.
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}
+ */
+ setJobPriority(jobId, jobPriorityChange) {
+ return this.setJobPriorityWithHttpInfo(jobId, jobPriorityChange)
+ .then(function(response_and_data) {
+ return response_and_data.data;
+ });
+ }
+
+
/**
* @param {String} jobId
* @param {module:model/JobStatusChange} jobStatusChange The status change to request.
diff --git a/web/app/src/manager-api/model/JobPriorityChange.js b/web/app/src/manager-api/model/JobPriorityChange.js
new file mode 100644
index 00000000..11642154
--- /dev/null
+++ b/web/app/src/manager-api/model/JobPriorityChange.js
@@ -0,0 +1,73 @@
+/**
+ * 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 JobPriorityChange model module.
+ * @module model/JobPriorityChange
+ * @version 0.0.0
+ */
+class JobPriorityChange {
+ /**
+ * Constructs a new JobPriorityChange
.
+ * @alias module:model/JobPriorityChange
+ * @param priority {Number}
+ */
+ constructor(priority) {
+
+ JobPriorityChange.initialize(this, priority);
+ }
+
+ /**
+ * 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, priority) {
+ obj['priority'] = priority;
+ }
+
+ /**
+ * Constructs a JobPriorityChange
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/JobPriorityChange} obj Optional instance to populate.
+ * @return {module:model/JobPriorityChange} The populated JobPriorityChange
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new JobPriorityChange();
+
+ if (data.hasOwnProperty('priority')) {
+ obj['priority'] = ApiClient.convertToType(data['priority'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+
+}
+
+/**
+ * @member {Number} priority
+ */
+JobPriorityChange.prototype['priority'] = undefined;
+
+
+
+
+
+
+export default JobPriorityChange;
+