From ab399594c74134e9bbd6fd4413667dbcb1434fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 13 Jul 2023 14:42:07 +0200 Subject: [PATCH] OAPI: regenerate code --- .../manager/docs/AvailableJobSetting.md | 2 +- .../docs/AvailableJobSettingEvalOnSubmit.md | 14 + .../manager/model/available_job_setting.py | 10 +- .../available_job_setting_eval_on_submit.py | 267 +++++++++++ addon/flamenco/manager/models/__init__.py | 1 + addon/flamenco/manager_README.md | 265 +++++------ pkg/api/openapi_spec.gen.go | 418 +++++++++--------- pkg/api/openapi_types.gen.go | 13 +- web/app/src/manager-api/index.js | 7 + .../manager-api/model/AvailableJobSetting.js | 11 +- .../model/AvailableJobSettingEvalOnSubmit.js | 86 ++++ 11 files changed, 740 insertions(+), 354 deletions(-) create mode 100644 addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md create mode 100644 addon/flamenco/manager/model/available_job_setting_eval_on_submit.py create mode 100644 web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js diff --git a/addon/flamenco/manager/docs/AvailableJobSetting.md b/addon/flamenco/manager/docs/AvailableJobSetting.md index 256a9ecb..08a0ad72 100644 --- a/addon/flamenco/manager/docs/AvailableJobSetting.md +++ b/addon/flamenco/manager/docs/AvailableJobSetting.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **description** | **bool, date, datetime, dict, float, int, list, str, none_type** | The description/tooltip shown in the user interface. | [optional] **default** | **bool, date, datetime, dict, float, int, list, str, none_type** | The default value shown to the user when determining this setting. | [optional] **eval** | **str** | Python expression to be evaluated in order to determine the default value for this setting. | [optional] -**autoeval_lockable** | **bool** | Enables a toggle option in the submission interface to enable auto-evaluation. When toggled on, the `eval` setting will always be evaluated on job submission. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. | [optional] if omitted the server will use the default value of False +**eval_on_submit** | [**AvailableJobSettingEvalOnSubmit**](AvailableJobSettingEvalOnSubmit.md) | | [optional] **visible** | [**AvailableJobSettingVisibility**](AvailableJobSettingVisibility.md) | | [optional] **required** | **bool** | Whether to immediately reject a job definition, of this type, without this particular setting. | [optional] if omitted the server will use the default value of False **editable** | **bool** | Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. | [optional] if omitted the server will use the default value of False diff --git a/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md b/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md new file mode 100644 index 00000000..38844352 --- /dev/null +++ b/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md @@ -0,0 +1,14 @@ +# AvailableJobSettingEvalOnSubmit + +Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**show_button** | **bool** | Enable or disable the 'eval on submit' toggle button. | +**placeholder** | **str** | Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). | +**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/model/available_job_setting.py b/addon/flamenco/manager/model/available_job_setting.py index be81aac2..03ef681a 100644 --- a/addon/flamenco/manager/model/available_job_setting.py +++ b/addon/flamenco/manager/model/available_job_setting.py @@ -30,9 +30,11 @@ from flamenco.manager.exceptions import ApiAttributeError def lazy_import(): + from flamenco.manager.model.available_job_setting_eval_on_submit import AvailableJobSettingEvalOnSubmit from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility + globals()['AvailableJobSettingEvalOnSubmit'] = AvailableJobSettingEvalOnSubmit globals()['AvailableJobSettingSubtype'] = AvailableJobSettingSubtype globals()['AvailableJobSettingType'] = AvailableJobSettingType globals()['AvailableJobSettingVisibility'] = AvailableJobSettingVisibility @@ -99,7 +101,7 @@ class AvailableJobSetting(ModelNormal): 'description': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'default': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'eval': (str,), # noqa: E501 - 'autoeval_lockable': (bool,), # noqa: E501 + 'eval_on_submit': (AvailableJobSettingEvalOnSubmit,), # noqa: E501 'visible': (AvailableJobSettingVisibility,), # noqa: E501 'required': (bool,), # noqa: E501 'editable': (bool,), # noqa: E501 @@ -119,7 +121,7 @@ class AvailableJobSetting(ModelNormal): 'description': 'description', # noqa: E501 'default': 'default', # noqa: E501 'eval': 'eval', # noqa: E501 - 'autoeval_lockable': 'autoevalLockable', # noqa: E501 + 'eval_on_submit': 'evalOnSubmit', # noqa: E501 'visible': 'visible', # noqa: E501 'required': 'required', # noqa: E501 'editable': 'editable', # noqa: E501 @@ -176,7 +178,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - autoeval_lockable (bool): Enables a toggle option in the submission interface to enable auto-evaluation. When toggled on, the `eval` setting will always be evaluated on job submission. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. . [optional] if omitted the server will use the default value of False # noqa: E501 + eval_on_submit (AvailableJobSettingEvalOnSubmit): [optional] # noqa: E501 visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 @@ -273,7 +275,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - autoeval_lockable (bool): Enables a toggle option in the submission interface to enable auto-evaluation. When toggled on, the `eval` setting will always be evaluated on job submission. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. . [optional] if omitted the server will use the default value of False # noqa: E501 + eval_on_submit (AvailableJobSettingEvalOnSubmit): [optional] # noqa: E501 visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 diff --git a/addon/flamenco/manager/model/available_job_setting_eval_on_submit.py b/addon/flamenco/manager/model/available_job_setting_eval_on_submit.py new file mode 100644 index 00000000..be53c3a6 --- /dev/null +++ b/addon/flamenco/manager/model/available_job_setting_eval_on_submit.py @@ -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 AvailableJobSettingEvalOnSubmit(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 { + 'show_button': (bool,), # noqa: E501 + 'placeholder': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'show_button': 'showButton', # noqa: E501 + 'placeholder': 'placeholder', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, show_button, placeholder, *args, **kwargs): # noqa: E501 + """AvailableJobSettingEvalOnSubmit - a model defined in OpenAPI + + Args: + show_button (bool): Enable or disable the 'eval on submit' toggle button. + placeholder (str): Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + + 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.show_button = show_button + self.placeholder = placeholder + 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, show_button, placeholder, *args, **kwargs): # noqa: E501 + """AvailableJobSettingEvalOnSubmit - a model defined in OpenAPI + + Args: + show_button (bool): Enable or disable the 'eval on submit' toggle button. + placeholder (str): Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + + 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.show_button = show_button + self.placeholder = placeholder + 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 e8dbfbce..8b346ee8 100644 --- a/addon/flamenco/manager/models/__init__.py +++ b/addon/flamenco/manager/models/__init__.py @@ -11,6 +11,7 @@ from flamenco.manager.model.assigned_task import AssignedTask from flamenco.manager.model.available_job_setting import AvailableJobSetting +from flamenco.manager.model.available_job_setting_eval_on_submit import AvailableJobSettingEvalOnSubmit from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 17785196..e31242bc 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -75,142 +75,143 @@ All URIs are relative to *http://localhost* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*JobsApi* | [**delete_job**](flamenco\manager\docs/JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet). -*JobsApi* | [**delete_job_what_would_it_do**](flamenco\manager\docs/JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out. -*JobsApi* | [**fetch_global_last_rendered_info**](flamenco\manager\docs/JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images. -*JobsApi* | [**fetch_job**](flamenco\manager\docs/JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job. -*JobsApi* | [**fetch_job_blocklist**](flamenco\manager\docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/v3/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/v3/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/v3/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/v3/tasks/{task_id} | Fetch a single task. -*JobsApi* | [**fetch_task_log_info**](flamenco\manager\docs/JobsApi.md#fetch_task_log_info) | **GET** /api/v3/tasks/{task_id}/log | Get the URL of the task log, and some more info. -*JobsApi* | [**fetch_task_log_tail**](flamenco\manager\docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/v3/tasks/{task_id}/logtail | Fetch the last few lines of the task's log. -*JobsApi* | [**get_job_type**](flamenco\manager\docs/JobsApi.md#get_job_type) | **GET** /api/v3/jobs/type/{typeName} | Get single job type and its parameters. -*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. -*JobsApi* | [**submit_job_check**](flamenco\manager\docs/JobsApi.md#submit_job_check) | **POST** /api/v3/jobs/check | Submit a new job for Flamenco Manager to check. -*MetaApi* | [**check_blender_exe_path**](flamenco\manager\docs/MetaApi.md#check_blender_exe_path) | **POST** /api/v3/configuration/check/blender | Validate a CLI command for use as way to start Blender -*MetaApi* | [**check_shared_storage_path**](flamenco\manager\docs/MetaApi.md#check_shared_storage_path) | **POST** /api/v3/configuration/check/shared-storage | Validate a path for use as shared storage. -*MetaApi* | [**find_blender_exe_path**](flamenco\manager\docs/MetaApi.md#find_blender_exe_path) | **GET** /api/v3/configuration/check/blender | Find one or more CLI commands for use as way to start Blender -*MetaApi* | [**get_configuration**](flamenco\manager\docs/MetaApi.md#get_configuration) | **GET** /api/v3/configuration | Get the configuration of this Manager. -*MetaApi* | [**get_configuration_file**](flamenco\manager\docs/MetaApi.md#get_configuration_file) | **GET** /api/v3/configuration/file | Retrieve the configuration of Flamenco Manager. -*MetaApi* | [**get_shared_storage**](flamenco\manager\docs/MetaApi.md#get_shared_storage) | **GET** /api/v3/configuration/shared-storage/{audience}/{platform} | Get the shared storage location of this Manager, adjusted for the given audience and platform. -*MetaApi* | [**get_variables**](flamenco\manager\docs/MetaApi.md#get_variables) | **GET** /api/v3/configuration/variables/{audience}/{platform} | Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform. -*MetaApi* | [**get_version**](flamenco\manager\docs/MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager -*MetaApi* | [**save_setup_assistant_config**](flamenco\manager\docs/MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode. -*ShamanApi* | [**shaman_checkout**](flamenco\manager\docs/ShamanApi.md#shaman_checkout) | **POST** /api/v3/shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. -*ShamanApi* | [**shaman_checkout_requirements**](flamenco\manager\docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /api/v3/shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. -*ShamanApi* | [**shaman_file_store**](flamenco\manager\docs/ShamanApi.md#shaman_file_store) | **POST** /api/v3/shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. -*ShamanApi* | [**shaman_file_store_check**](flamenco\manager\docs/ShamanApi.md#shaman_file_store_check) | **GET** /api/v3/shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. -*WorkerApi* | [**may_worker_run**](flamenco\manager\docs/WorkerApi.md#may_worker_run) | **GET** /api/v3/worker/task/{task_id}/may-i-run | The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change. -*WorkerApi* | [**register_worker**](flamenco\manager\docs/WorkerApi.md#register_worker) | **POST** /api/v3/worker/register-worker | Register a new worker -*WorkerApi* | [**schedule_task**](flamenco\manager\docs/WorkerApi.md#schedule_task) | **POST** /api/v3/worker/task | Obtain a new task to execute -*WorkerApi* | [**sign_off**](flamenco\manager\docs/WorkerApi.md#sign_off) | **POST** /api/v3/worker/sign-off | Mark the worker as offline -*WorkerApi* | [**sign_on**](flamenco\manager\docs/WorkerApi.md#sign_on) | **POST** /api/v3/worker/sign-on | Authenticate & sign in the worker. -*WorkerApi* | [**task_output_produced**](flamenco\manager\docs/WorkerApi.md#task_output_produced) | **POST** /api/v3/worker/task/{task_id}/output-produced | Store the most recently rendered frame here. Note that it is up to the Worker to ensure this is in a format that's digestable by the Manager. Currently only PNG and JPEG support is planned. -*WorkerApi* | [**task_update**](flamenco\manager\docs/WorkerApi.md#task_update) | **POST** /api/v3/worker/task/{task_id} | Update the task, typically to indicate progress, completion, or failure. -*WorkerApi* | [**worker_state**](flamenco\manager\docs/WorkerApi.md#worker_state) | **GET** /api/v3/worker/state | -*WorkerApi* | [**worker_state_changed**](flamenco\manager\docs/WorkerApi.md#worker_state_changed) | **POST** /api/v3/worker/state-changed | Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals. -*WorkerMgtApi* | [**create_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#create_worker_tag) | **POST** /api/v3/worker-mgt/tags | Create a new worker tag. -*WorkerMgtApi* | [**delete_worker**](flamenco\manager\docs/WorkerMgtApi.md#delete_worker) | **DELETE** /api/v3/worker-mgt/workers/{worker_id} | Remove the given worker. It is recommended to only call this function when the worker is in `offline` state. If the worker is still running, stop it first. Any task still assigned to the worker will be requeued. -*WorkerMgtApi* | [**delete_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#delete_worker_tag) | **DELETE** /api/v3/worker-mgt/tag/{tag_id} | Remove this worker tag. This unassigns all workers from the tag and removes it. -*WorkerMgtApi* | [**fetch_worker**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker. -*WorkerMgtApi* | [**fetch_worker_sleep_schedule**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | -*WorkerMgtApi* | [**fetch_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_tag) | **GET** /api/v3/worker-mgt/tag/{tag_id} | Get a single worker tag. -*WorkerMgtApi* | [**fetch_worker_tags**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_tags) | **GET** /api/v3/worker-mgt/tags | Get list of worker tags. -*WorkerMgtApi* | [**fetch_workers**](flamenco\manager\docs/WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. -*WorkerMgtApi* | [**request_worker_status_change**](flamenco\manager\docs/WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus | -*WorkerMgtApi* | [**set_worker_sleep_schedule**](flamenco\manager\docs/WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | -*WorkerMgtApi* | [**set_worker_tags**](flamenco\manager\docs/WorkerMgtApi.md#set_worker_tags) | **POST** /api/v3/worker-mgt/workers/{worker_id}/settags | -*WorkerMgtApi* | [**update_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#update_worker_tag) | **PUT** /api/v3/worker-mgt/tag/{tag_id} | Update an existing worker tag. +*JobsApi* | [**delete_job**](flamenco/manager/docs/JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet). +*JobsApi* | [**delete_job_what_would_it_do**](flamenco/manager/docs/JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out. +*JobsApi* | [**fetch_global_last_rendered_info**](flamenco/manager/docs/JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images. +*JobsApi* | [**fetch_job**](flamenco/manager/docs/JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job. +*JobsApi* | [**fetch_job_blocklist**](flamenco/manager/docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/v3/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/v3/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/v3/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/v3/tasks/{task_id} | Fetch a single task. +*JobsApi* | [**fetch_task_log_info**](flamenco/manager/docs/JobsApi.md#fetch_task_log_info) | **GET** /api/v3/tasks/{task_id}/log | Get the URL of the task log, and some more info. +*JobsApi* | [**fetch_task_log_tail**](flamenco/manager/docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/v3/tasks/{task_id}/logtail | Fetch the last few lines of the task's log. +*JobsApi* | [**get_job_type**](flamenco/manager/docs/JobsApi.md#get_job_type) | **GET** /api/v3/jobs/type/{typeName} | Get single job type and its parameters. +*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. +*JobsApi* | [**submit_job_check**](flamenco/manager/docs/JobsApi.md#submit_job_check) | **POST** /api/v3/jobs/check | Submit a new job for Flamenco Manager to check. +*MetaApi* | [**check_blender_exe_path**](flamenco/manager/docs/MetaApi.md#check_blender_exe_path) | **POST** /api/v3/configuration/check/blender | Validate a CLI command for use as way to start Blender +*MetaApi* | [**check_shared_storage_path**](flamenco/manager/docs/MetaApi.md#check_shared_storage_path) | **POST** /api/v3/configuration/check/shared-storage | Validate a path for use as shared storage. +*MetaApi* | [**find_blender_exe_path**](flamenco/manager/docs/MetaApi.md#find_blender_exe_path) | **GET** /api/v3/configuration/check/blender | Find one or more CLI commands for use as way to start Blender +*MetaApi* | [**get_configuration**](flamenco/manager/docs/MetaApi.md#get_configuration) | **GET** /api/v3/configuration | Get the configuration of this Manager. +*MetaApi* | [**get_configuration_file**](flamenco/manager/docs/MetaApi.md#get_configuration_file) | **GET** /api/v3/configuration/file | Retrieve the configuration of Flamenco Manager. +*MetaApi* | [**get_shared_storage**](flamenco/manager/docs/MetaApi.md#get_shared_storage) | **GET** /api/v3/configuration/shared-storage/{audience}/{platform} | Get the shared storage location of this Manager, adjusted for the given audience and platform. +*MetaApi* | [**get_variables**](flamenco/manager/docs/MetaApi.md#get_variables) | **GET** /api/v3/configuration/variables/{audience}/{platform} | Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform. +*MetaApi* | [**get_version**](flamenco/manager/docs/MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager +*MetaApi* | [**save_setup_assistant_config**](flamenco/manager/docs/MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode. +*ShamanApi* | [**shaman_checkout**](flamenco/manager/docs/ShamanApi.md#shaman_checkout) | **POST** /api/v3/shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. +*ShamanApi* | [**shaman_checkout_requirements**](flamenco/manager/docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /api/v3/shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. +*ShamanApi* | [**shaman_file_store**](flamenco/manager/docs/ShamanApi.md#shaman_file_store) | **POST** /api/v3/shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. +*ShamanApi* | [**shaman_file_store_check**](flamenco/manager/docs/ShamanApi.md#shaman_file_store_check) | **GET** /api/v3/shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. +*WorkerApi* | [**may_worker_run**](flamenco/manager/docs/WorkerApi.md#may_worker_run) | **GET** /api/v3/worker/task/{task_id}/may-i-run | The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change. +*WorkerApi* | [**register_worker**](flamenco/manager/docs/WorkerApi.md#register_worker) | **POST** /api/v3/worker/register-worker | Register a new worker +*WorkerApi* | [**schedule_task**](flamenco/manager/docs/WorkerApi.md#schedule_task) | **POST** /api/v3/worker/task | Obtain a new task to execute +*WorkerApi* | [**sign_off**](flamenco/manager/docs/WorkerApi.md#sign_off) | **POST** /api/v3/worker/sign-off | Mark the worker as offline +*WorkerApi* | [**sign_on**](flamenco/manager/docs/WorkerApi.md#sign_on) | **POST** /api/v3/worker/sign-on | Authenticate & sign in the worker. +*WorkerApi* | [**task_output_produced**](flamenco/manager/docs/WorkerApi.md#task_output_produced) | **POST** /api/v3/worker/task/{task_id}/output-produced | Store the most recently rendered frame here. Note that it is up to the Worker to ensure this is in a format that's digestable by the Manager. Currently only PNG and JPEG support is planned. +*WorkerApi* | [**task_update**](flamenco/manager/docs/WorkerApi.md#task_update) | **POST** /api/v3/worker/task/{task_id} | Update the task, typically to indicate progress, completion, or failure. +*WorkerApi* | [**worker_state**](flamenco/manager/docs/WorkerApi.md#worker_state) | **GET** /api/v3/worker/state | +*WorkerApi* | [**worker_state_changed**](flamenco/manager/docs/WorkerApi.md#worker_state_changed) | **POST** /api/v3/worker/state-changed | Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals. +*WorkerMgtApi* | [**create_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#create_worker_tag) | **POST** /api/v3/worker-mgt/tags | Create a new worker tag. +*WorkerMgtApi* | [**delete_worker**](flamenco/manager/docs/WorkerMgtApi.md#delete_worker) | **DELETE** /api/v3/worker-mgt/workers/{worker_id} | Remove the given worker. It is recommended to only call this function when the worker is in `offline` state. If the worker is still running, stop it first. Any task still assigned to the worker will be requeued. +*WorkerMgtApi* | [**delete_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#delete_worker_tag) | **DELETE** /api/v3/worker-mgt/tag/{tag_id} | Remove this worker tag. This unassigns all workers from the tag and removes it. +*WorkerMgtApi* | [**fetch_worker**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker. +*WorkerMgtApi* | [**fetch_worker_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | +*WorkerMgtApi* | [**fetch_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_tag) | **GET** /api/v3/worker-mgt/tag/{tag_id} | Get a single worker tag. +*WorkerMgtApi* | [**fetch_worker_tags**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_tags) | **GET** /api/v3/worker-mgt/tags | Get list of worker tags. +*WorkerMgtApi* | [**fetch_workers**](flamenco/manager/docs/WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. +*WorkerMgtApi* | [**request_worker_status_change**](flamenco/manager/docs/WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus | +*WorkerMgtApi* | [**set_worker_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | +*WorkerMgtApi* | [**set_worker_tags**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_tags) | **POST** /api/v3/worker-mgt/workers/{worker_id}/settags | +*WorkerMgtApi* | [**update_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#update_worker_tag) | **PUT** /api/v3/worker-mgt/tag/{tag_id} | Update an existing worker tag. ## Documentation For Models - - [AssignedTask](flamenco\manager\docs/AssignedTask.md) - - [AvailableJobSetting](flamenco\manager\docs/AvailableJobSetting.md) - - [AvailableJobSettingSubtype](flamenco\manager\docs/AvailableJobSettingSubtype.md) - - [AvailableJobSettingType](flamenco\manager\docs/AvailableJobSettingType.md) - - [AvailableJobSettingVisibility](flamenco\manager\docs/AvailableJobSettingVisibility.md) - - [AvailableJobType](flamenco\manager\docs/AvailableJobType.md) - - [AvailableJobTypes](flamenco\manager\docs/AvailableJobTypes.md) - - [BlenderPathCheckResult](flamenco\manager\docs/BlenderPathCheckResult.md) - - [BlenderPathFindResult](flamenco\manager\docs/BlenderPathFindResult.md) - - [BlenderPathSource](flamenco\manager\docs/BlenderPathSource.md) - - [Command](flamenco\manager\docs/Command.md) - - [Error](flamenco\manager\docs/Error.md) - - [FlamencoVersion](flamenco\manager\docs/FlamencoVersion.md) - - [Job](flamenco\manager\docs/Job.md) - - [JobAllOf](flamenco\manager\docs/JobAllOf.md) - - [JobBlocklist](flamenco\manager\docs/JobBlocklist.md) - - [JobBlocklistEntry](flamenco\manager\docs/JobBlocklistEntry.md) - - [JobDeletionInfo](flamenco\manager\docs/JobDeletionInfo.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) - - [JobStorageInfo](flamenco\manager\docs/JobStorageInfo.md) - - [JobTasksSummary](flamenco\manager\docs/JobTasksSummary.md) - - [JobsQuery](flamenco\manager\docs/JobsQuery.md) - - [JobsQueryResult](flamenco\manager\docs/JobsQueryResult.md) - - [ManagerConfiguration](flamenco\manager\docs/ManagerConfiguration.md) - - [ManagerVariable](flamenco\manager\docs/ManagerVariable.md) - - [ManagerVariableAudience](flamenco\manager\docs/ManagerVariableAudience.md) - - [ManagerVariables](flamenco\manager\docs/ManagerVariables.md) - - [MayKeepRunning](flamenco\manager\docs/MayKeepRunning.md) - - [PathCheckInput](flamenco\manager\docs/PathCheckInput.md) - - [PathCheckResult](flamenco\manager\docs/PathCheckResult.md) - - [RegisteredWorker](flamenco\manager\docs/RegisteredWorker.md) - - [SecurityError](flamenco\manager\docs/SecurityError.md) - - [SetupAssistantConfig](flamenco\manager\docs/SetupAssistantConfig.md) - - [ShamanCheckout](flamenco\manager\docs/ShamanCheckout.md) - - [ShamanCheckoutResult](flamenco\manager\docs/ShamanCheckoutResult.md) - - [ShamanFileSpec](flamenco\manager\docs/ShamanFileSpec.md) - - [ShamanFileSpecWithStatus](flamenco\manager\docs/ShamanFileSpecWithStatus.md) - - [ShamanFileStatus](flamenco\manager\docs/ShamanFileStatus.md) - - [ShamanRequirementsRequest](flamenco\manager\docs/ShamanRequirementsRequest.md) - - [ShamanRequirementsResponse](flamenco\manager\docs/ShamanRequirementsResponse.md) - - [ShamanSingleFileStatus](flamenco\manager\docs/ShamanSingleFileStatus.md) - - [SharedStorageLocation](flamenco\manager\docs/SharedStorageLocation.md) - - [SocketIOJobUpdate](flamenco\manager\docs/SocketIOJobUpdate.md) - - [SocketIOLastRenderedUpdate](flamenco\manager\docs/SocketIOLastRenderedUpdate.md) - - [SocketIOSubscription](flamenco\manager\docs/SocketIOSubscription.md) - - [SocketIOSubscriptionOperation](flamenco\manager\docs/SocketIOSubscriptionOperation.md) - - [SocketIOSubscriptionType](flamenco\manager\docs/SocketIOSubscriptionType.md) - - [SocketIOTaskLogUpdate](flamenco\manager\docs/SocketIOTaskLogUpdate.md) - - [SocketIOTaskUpdate](flamenco\manager\docs/SocketIOTaskUpdate.md) - - [SocketIOWorkerUpdate](flamenco\manager\docs/SocketIOWorkerUpdate.md) - - [SubmittedJob](flamenco\manager\docs/SubmittedJob.md) - - [Task](flamenco\manager\docs/Task.md) - - [TaskLogInfo](flamenco\manager\docs/TaskLogInfo.md) - - [TaskStatus](flamenco\manager\docs/TaskStatus.md) - - [TaskStatusChange](flamenco\manager\docs/TaskStatusChange.md) - - [TaskSummary](flamenco\manager\docs/TaskSummary.md) - - [TaskUpdate](flamenco\manager\docs/TaskUpdate.md) - - [TaskWorker](flamenco\manager\docs/TaskWorker.md) - - [Worker](flamenco\manager\docs/Worker.md) - - [WorkerAllOf](flamenco\manager\docs/WorkerAllOf.md) - - [WorkerList](flamenco\manager\docs/WorkerList.md) - - [WorkerRegistration](flamenco\manager\docs/WorkerRegistration.md) - - [WorkerSignOn](flamenco\manager\docs/WorkerSignOn.md) - - [WorkerSleepSchedule](flamenco\manager\docs/WorkerSleepSchedule.md) - - [WorkerStateChange](flamenco\manager\docs/WorkerStateChange.md) - - [WorkerStateChanged](flamenco\manager\docs/WorkerStateChanged.md) - - [WorkerStatus](flamenco\manager\docs/WorkerStatus.md) - - [WorkerStatusChangeRequest](flamenco\manager\docs/WorkerStatusChangeRequest.md) - - [WorkerSummary](flamenco\manager\docs/WorkerSummary.md) - - [WorkerTag](flamenco\manager\docs/WorkerTag.md) - - [WorkerTagChangeRequest](flamenco\manager\docs/WorkerTagChangeRequest.md) - - [WorkerTagList](flamenco\manager\docs/WorkerTagList.md) - - [WorkerTask](flamenco\manager\docs/WorkerTask.md) - - [WorkerTaskAllOf](flamenco\manager\docs/WorkerTaskAllOf.md) + - [AssignedTask](flamenco/manager/docs/AssignedTask.md) + - [AvailableJobSetting](flamenco/manager/docs/AvailableJobSetting.md) + - [AvailableJobSettingEvalOnSubmit](flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md) + - [AvailableJobSettingSubtype](flamenco/manager/docs/AvailableJobSettingSubtype.md) + - [AvailableJobSettingType](flamenco/manager/docs/AvailableJobSettingType.md) + - [AvailableJobSettingVisibility](flamenco/manager/docs/AvailableJobSettingVisibility.md) + - [AvailableJobType](flamenco/manager/docs/AvailableJobType.md) + - [AvailableJobTypes](flamenco/manager/docs/AvailableJobTypes.md) + - [BlenderPathCheckResult](flamenco/manager/docs/BlenderPathCheckResult.md) + - [BlenderPathFindResult](flamenco/manager/docs/BlenderPathFindResult.md) + - [BlenderPathSource](flamenco/manager/docs/BlenderPathSource.md) + - [Command](flamenco/manager/docs/Command.md) + - [Error](flamenco/manager/docs/Error.md) + - [FlamencoVersion](flamenco/manager/docs/FlamencoVersion.md) + - [Job](flamenco/manager/docs/Job.md) + - [JobAllOf](flamenco/manager/docs/JobAllOf.md) + - [JobBlocklist](flamenco/manager/docs/JobBlocklist.md) + - [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md) + - [JobDeletionInfo](flamenco/manager/docs/JobDeletionInfo.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) + - [JobStorageInfo](flamenco/manager/docs/JobStorageInfo.md) + - [JobTasksSummary](flamenco/manager/docs/JobTasksSummary.md) + - [JobsQuery](flamenco/manager/docs/JobsQuery.md) + - [JobsQueryResult](flamenco/manager/docs/JobsQueryResult.md) + - [ManagerConfiguration](flamenco/manager/docs/ManagerConfiguration.md) + - [ManagerVariable](flamenco/manager/docs/ManagerVariable.md) + - [ManagerVariableAudience](flamenco/manager/docs/ManagerVariableAudience.md) + - [ManagerVariables](flamenco/manager/docs/ManagerVariables.md) + - [MayKeepRunning](flamenco/manager/docs/MayKeepRunning.md) + - [PathCheckInput](flamenco/manager/docs/PathCheckInput.md) + - [PathCheckResult](flamenco/manager/docs/PathCheckResult.md) + - [RegisteredWorker](flamenco/manager/docs/RegisteredWorker.md) + - [SecurityError](flamenco/manager/docs/SecurityError.md) + - [SetupAssistantConfig](flamenco/manager/docs/SetupAssistantConfig.md) + - [ShamanCheckout](flamenco/manager/docs/ShamanCheckout.md) + - [ShamanCheckoutResult](flamenco/manager/docs/ShamanCheckoutResult.md) + - [ShamanFileSpec](flamenco/manager/docs/ShamanFileSpec.md) + - [ShamanFileSpecWithStatus](flamenco/manager/docs/ShamanFileSpecWithStatus.md) + - [ShamanFileStatus](flamenco/manager/docs/ShamanFileStatus.md) + - [ShamanRequirementsRequest](flamenco/manager/docs/ShamanRequirementsRequest.md) + - [ShamanRequirementsResponse](flamenco/manager/docs/ShamanRequirementsResponse.md) + - [ShamanSingleFileStatus](flamenco/manager/docs/ShamanSingleFileStatus.md) + - [SharedStorageLocation](flamenco/manager/docs/SharedStorageLocation.md) + - [SocketIOJobUpdate](flamenco/manager/docs/SocketIOJobUpdate.md) + - [SocketIOLastRenderedUpdate](flamenco/manager/docs/SocketIOLastRenderedUpdate.md) + - [SocketIOSubscription](flamenco/manager/docs/SocketIOSubscription.md) + - [SocketIOSubscriptionOperation](flamenco/manager/docs/SocketIOSubscriptionOperation.md) + - [SocketIOSubscriptionType](flamenco/manager/docs/SocketIOSubscriptionType.md) + - [SocketIOTaskLogUpdate](flamenco/manager/docs/SocketIOTaskLogUpdate.md) + - [SocketIOTaskUpdate](flamenco/manager/docs/SocketIOTaskUpdate.md) + - [SocketIOWorkerUpdate](flamenco/manager/docs/SocketIOWorkerUpdate.md) + - [SubmittedJob](flamenco/manager/docs/SubmittedJob.md) + - [Task](flamenco/manager/docs/Task.md) + - [TaskLogInfo](flamenco/manager/docs/TaskLogInfo.md) + - [TaskStatus](flamenco/manager/docs/TaskStatus.md) + - [TaskStatusChange](flamenco/manager/docs/TaskStatusChange.md) + - [TaskSummary](flamenco/manager/docs/TaskSummary.md) + - [TaskUpdate](flamenco/manager/docs/TaskUpdate.md) + - [TaskWorker](flamenco/manager/docs/TaskWorker.md) + - [Worker](flamenco/manager/docs/Worker.md) + - [WorkerAllOf](flamenco/manager/docs/WorkerAllOf.md) + - [WorkerList](flamenco/manager/docs/WorkerList.md) + - [WorkerRegistration](flamenco/manager/docs/WorkerRegistration.md) + - [WorkerSignOn](flamenco/manager/docs/WorkerSignOn.md) + - [WorkerSleepSchedule](flamenco/manager/docs/WorkerSleepSchedule.md) + - [WorkerStateChange](flamenco/manager/docs/WorkerStateChange.md) + - [WorkerStateChanged](flamenco/manager/docs/WorkerStateChanged.md) + - [WorkerStatus](flamenco/manager/docs/WorkerStatus.md) + - [WorkerStatusChangeRequest](flamenco/manager/docs/WorkerStatusChangeRequest.md) + - [WorkerSummary](flamenco/manager/docs/WorkerSummary.md) + - [WorkerTag](flamenco/manager/docs/WorkerTag.md) + - [WorkerTagChangeRequest](flamenco/manager/docs/WorkerTagChangeRequest.md) + - [WorkerTagList](flamenco/manager/docs/WorkerTagList.md) + - [WorkerTask](flamenco/manager/docs/WorkerTask.md) + - [WorkerTaskAllOf](flamenco/manager/docs/WorkerTaskAllOf.md) ## Documentation For Authorization diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index fb27bea7..0c90b1c3 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -24,214 +24,216 @@ var swaggerSpec = []string{ "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", - "ab/JSahoFs/h0vU//vrx/wUAAP//rhb2iMMCAQA=", + "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", } // 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 f84f4f6e..b6d43236 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -159,9 +159,6 @@ type AssignedTask struct { // Single setting of a Job types. type AvailableJobSetting struct { - // Enables a toggle option in the submission interface to enable auto-evaluation. When toggled on, the `eval` setting will always be evaluated on job submission. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. - AutoevalLockable *bool `json:"autoevalLockable,omitempty"` - // When given, limit the valid values to these choices. Only usable with string type. Choices *[]string `json:"choices,omitempty"` @@ -177,6 +174,16 @@ type AvailableJobSetting struct { // Python expression to be evaluated in order to determine the default value for this setting. Eval *string `json:"eval,omitempty"` + // Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. + // An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + EvalOnSubmit *struct { + // Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + Placeholder string `json:"placeholder"` + + // Enable or disable the 'eval on submit' toggle button. + ShowButton bool `json:"showButton"` + } `json:"evalOnSubmit,omitempty"` + // Identifier for the setting, must be unique within the job type. Key string `json:"key"` diff --git a/web/app/src/manager-api/index.js b/web/app/src/manager-api/index.js index a57163ba..2b9290e9 100644 --- a/web/app/src/manager-api/index.js +++ b/web/app/src/manager-api/index.js @@ -15,6 +15,7 @@ import ApiClient from './ApiClient'; import AssignedTask from './model/AssignedTask'; import AvailableJobSetting from './model/AvailableJobSetting'; +import AvailableJobSettingEvalOnSubmit from './model/AvailableJobSettingEvalOnSubmit'; import AvailableJobSettingSubtype from './model/AvailableJobSettingSubtype'; import AvailableJobSettingType from './model/AvailableJobSettingType'; import AvailableJobSettingVisibility from './model/AvailableJobSettingVisibility'; @@ -144,6 +145,12 @@ export { */ AvailableJobSetting, + /** + * The AvailableJobSettingEvalOnSubmit model constructor. + * @property {module:model/AvailableJobSettingEvalOnSubmit} + */ + AvailableJobSettingEvalOnSubmit, + /** * The AvailableJobSettingSubtype model constructor. * @property {module:model/AvailableJobSettingSubtype} diff --git a/web/app/src/manager-api/model/AvailableJobSetting.js b/web/app/src/manager-api/model/AvailableJobSetting.js index 3683948f..9b9ac834 100644 --- a/web/app/src/manager-api/model/AvailableJobSetting.js +++ b/web/app/src/manager-api/model/AvailableJobSetting.js @@ -12,6 +12,7 @@ */ import ApiClient from '../ApiClient'; +import AvailableJobSettingEvalOnSubmit from './AvailableJobSettingEvalOnSubmit'; import AvailableJobSettingSubtype from './AvailableJobSettingSubtype'; import AvailableJobSettingType from './AvailableJobSettingType'; import AvailableJobSettingVisibility from './AvailableJobSettingVisibility'; @@ -79,8 +80,8 @@ class AvailableJobSetting { if (data.hasOwnProperty('eval')) { obj['eval'] = ApiClient.convertToType(data['eval'], 'String'); } - if (data.hasOwnProperty('autoevalLockable')) { - obj['autoevalLockable'] = ApiClient.convertToType(data['autoevalLockable'], 'Boolean'); + if (data.hasOwnProperty('evalOnSubmit')) { + obj['evalOnSubmit'] = AvailableJobSettingEvalOnSubmit.constructFromObject(data['evalOnSubmit']); } if (data.hasOwnProperty('visible')) { obj['visible'] = AvailableJobSettingVisibility.constructFromObject(data['visible']); @@ -145,11 +146,9 @@ AvailableJobSetting.prototype['default'] = undefined; AvailableJobSetting.prototype['eval'] = undefined; /** - * Enables a toggle option in the submission interface to enable auto-evaluation. When toggled on, the `eval` setting will always be evaluated on job submission. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. - * @member {Boolean} autoevalLockable - * @default false + * @member {module:model/AvailableJobSettingEvalOnSubmit} evalOnSubmit */ -AvailableJobSetting.prototype['autoevalLockable'] = false; +AvailableJobSetting.prototype['evalOnSubmit'] = undefined; /** * @member {module:model/AvailableJobSettingVisibility} visible diff --git a/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js b/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js new file mode 100644 index 00000000..41c6939a --- /dev/null +++ b/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js @@ -0,0 +1,86 @@ +/** + * 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 AvailableJobSettingEvalOnSubmit model module. + * @module model/AvailableJobSettingEvalOnSubmit + * @version 0.0.0 + */ +class AvailableJobSettingEvalOnSubmit { + /** + * Constructs a new AvailableJobSettingEvalOnSubmit. + * Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + * @alias module:model/AvailableJobSettingEvalOnSubmit + * @param showButton {Boolean} Enable or disable the 'eval on submit' toggle button. + * @param placeholder {String} Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + */ + constructor(showButton, placeholder) { + + AvailableJobSettingEvalOnSubmit.initialize(this, showButton, placeholder); + } + + /** + * 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, showButton, placeholder) { + obj['showButton'] = showButton; + obj['placeholder'] = placeholder; + } + + /** + * Constructs a AvailableJobSettingEvalOnSubmit 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/AvailableJobSettingEvalOnSubmit} obj Optional instance to populate. + * @return {module:model/AvailableJobSettingEvalOnSubmit} The populated AvailableJobSettingEvalOnSubmit instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new AvailableJobSettingEvalOnSubmit(); + + if (data.hasOwnProperty('showButton')) { + obj['showButton'] = ApiClient.convertToType(data['showButton'], 'Boolean'); + } + if (data.hasOwnProperty('placeholder')) { + obj['placeholder'] = ApiClient.convertToType(data['placeholder'], 'String'); + } + } + return obj; + } + + +} + +/** + * Enable or disable the 'eval on submit' toggle button. + * @member {Boolean} showButton + */ +AvailableJobSettingEvalOnSubmit.prototype['showButton'] = undefined; + +/** + * Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + * @member {String} placeholder + */ +AvailableJobSettingEvalOnSubmit.prototype['placeholder'] = undefined; + + + + + + +export default AvailableJobSettingEvalOnSubmit; +