From 5d770a3ffa5f5ebffa19c56eb8b6ccf134d8a880 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Sat, 18 Nov 2023 18:08:29 -0600 Subject: [PATCH 1/8] add job description to backend and addon --- addon/flamenco/job_types.py | 2 +- .../flamenco/manager/docs/AvailableJobType.md | 1 + .../manager/model/available_job_type.py | 10 +- .../simple_blender_render.js | 1 + .../scripts/simple_blender_render.js | 1 + pkg/api/flamenco-openapi.yaml | 5 +- pkg/api/openapi_spec.gen.go | 386 +++++++++--------- pkg/api/openapi_types.gen.go | 3 + 8 files changed, 212 insertions(+), 197 deletions(-) diff --git a/addon/flamenco/job_types.py b/addon/flamenco/job_types.py index 8150a953..dbeaaa29 100644 --- a/addon/flamenco/job_types.py +++ b/addon/flamenco/job_types.py @@ -120,7 +120,7 @@ def _store_available_job_types(available_job_types: _AvailableJobTypes) -> None: else: # Convert from API response type to list suitable for an EnumProperty. _job_type_enum_items = [ - (job_type.name, job_type.label, "") for job_type in job_types + (job_type.name, job_type.label, job_type.description) for job_type in job_types ] _job_type_enum_items.insert(0, ("", "Select a Job Type", "", 0, 0)) diff --git a/addon/flamenco/manager/docs/AvailableJobType.md b/addon/flamenco/manager/docs/AvailableJobType.md index d2e6b305..3ca525ac 100644 --- a/addon/flamenco/manager/docs/AvailableJobType.md +++ b/addon/flamenco/manager/docs/AvailableJobType.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | | **label** | **str** | | +**description** | **str** | The description/tooltip shown in the user interface. | **settings** | [**[AvailableJobSetting]**](AvailableJobSetting.md) | | **etag** | **str** | Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. | **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] diff --git a/addon/flamenco/manager/model/available_job_type.py b/addon/flamenco/manager/model/available_job_type.py index 2a4015c8..acd23b1f 100644 --- a/addon/flamenco/manager/model/available_job_type.py +++ b/addon/flamenco/manager/model/available_job_type.py @@ -89,6 +89,7 @@ class AvailableJobType(ModelNormal): return { 'name': (str,), # noqa: E501 'label': (str,), # noqa: E501 + 'description': (str,), # noqa: E501 'settings': ([AvailableJobSetting],), # noqa: E501 'etag': (str,), # noqa: E501 } @@ -101,6 +102,7 @@ class AvailableJobType(ModelNormal): attribute_map = { 'name': 'name', # noqa: E501 'label': 'label', # noqa: E501 + 'description': 'description', # noqa: E501 'settings': 'settings', # noqa: E501 'etag': 'etag', # noqa: E501 } @@ -112,12 +114,13 @@ class AvailableJobType(ModelNormal): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, name, label, settings, etag, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, name, label, description, settings, etag, *args, **kwargs): # noqa: E501 """AvailableJobType - a model defined in OpenAPI Args: name (str): label (str): + description (str): The description/tooltip shown in the user interface. settings ([AvailableJobSetting]): etag (str): Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. @@ -181,6 +184,7 @@ class AvailableJobType(ModelNormal): self.name = name self.label = label + self.description = description self.settings = settings self.etag = etag for var_name, var_value in kwargs.items(): @@ -203,12 +207,13 @@ class AvailableJobType(ModelNormal): ]) @convert_js_args_to_python_args - def __init__(self, name, label, settings, etag, *args, **kwargs): # noqa: E501 + def __init__(self, name, label, description, settings, etag, *args, **kwargs): # noqa: E501 """AvailableJobType - a model defined in OpenAPI Args: name (str): label (str): + description (str): The description/tooltip shown in the user interface. settings ([AvailableJobSetting]): etag (str): Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. @@ -270,6 +275,7 @@ class AvailableJobType(ModelNormal): self.name = name self.label = label + self.description = description self.settings = settings self.etag = etag for var_name, var_value in kwargs.items(): diff --git a/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js b/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js index 8db37ce7..6cd042cc 100644 --- a/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js +++ b/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js @@ -2,6 +2,7 @@ const JOB_TYPE = { label: "Simple Blender Render", + description: "Render a Blender file", settings: [ // Settings for artists to determine: { key: "frames", type: "string", required: true, eval: "f'{C.scene.frame_start}-{C.scene.frame_end}'", diff --git a/internal/manager/job_compilers/scripts/simple_blender_render.js b/internal/manager/job_compilers/scripts/simple_blender_render.js index d69d4c9d..c660009a 100644 --- a/internal/manager/job_compilers/scripts/simple_blender_render.js +++ b/internal/manager/job_compilers/scripts/simple_blender_render.js @@ -2,6 +2,7 @@ const JOB_TYPE = { label: "Simple Blender Render", + description: "Render a Blender file to images, and optionally create a video from them", settings: [ // Settings for artists to determine: { key: "frames", type: "string", required: true, diff --git a/pkg/api/flamenco-openapi.yaml b/pkg/api/flamenco-openapi.yaml index 1384ff75..0bf50f95 100644 --- a/pkg/api/flamenco-openapi.yaml +++ b/pkg/api/flamenco-openapi.yaml @@ -1651,6 +1651,9 @@ components: properties: "name": { type: string } "label": { type: string } + "description": + type: string + description: The description/tooltip shown in the user interface. "settings": type: array items: { $ref: "#/components/schemas/AvailableJobSetting" } @@ -1660,7 +1663,7 @@ components: Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. - required: [name, label, settings, etag] + required: [name, label, settings, etag, description] AvailableJobSetting: type: object diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 107cd70b..9c8fb4fa 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -44,199 +44,199 @@ var swaggerSpec = []string{ "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", - "AP//gDoBPDoHAQA=", + "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", + "Pv2/AAAA//9ysjXprQcBAA==", } // 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 84fbd6b4..ffa4ccfd 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -218,6 +218,9 @@ type AvailableJobSettingVisibility string // Job type supported by this Manager, and its parameters. type AvailableJobType struct { + // The description/tooltip shown in the user interface. + Description string `json:"description"` + // Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. Etag string `json:"etag"` Label string `json:"label"` -- 2.30.2 From dbe39c610a7560681d194b40d9cf1a9941b50dc0 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Sun, 19 Nov 2023 20:21:40 -0600 Subject: [PATCH 2/8] clean up description --- internal/manager/job_compilers/scripts/simple_blender_render.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/manager/job_compilers/scripts/simple_blender_render.js b/internal/manager/job_compilers/scripts/simple_blender_render.js index c660009a..ed5b28fe 100644 --- a/internal/manager/job_compilers/scripts/simple_blender_render.js +++ b/internal/manager/job_compilers/scripts/simple_blender_render.js @@ -2,7 +2,7 @@ const JOB_TYPE = { label: "Simple Blender Render", - description: "Render a Blender file to images, and optionally create a video from them", + description: "Render a Blender file", settings: [ // Settings for artists to determine: { key: "frames", type: "string", required: true, -- 2.30.2 From cb92bc615772c85618e361fdcf548e6058c7e8e8 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Tue, 5 Dec 2023 20:28:18 -0600 Subject: [PATCH 3/8] update description --- .../job_compilers/scripts-for-unittest/simple_blender_render.js | 2 +- internal/manager/job_compilers/scripts/simple_blender_render.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js b/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js index 6cd042cc..d3deb956 100644 --- a/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js +++ b/internal/manager/job_compilers/scripts-for-unittest/simple_blender_render.js @@ -2,7 +2,7 @@ const JOB_TYPE = { label: "Simple Blender Render", - description: "Render a Blender file", + description: "Render a sequence of frames, and create a preview video file", settings: [ // Settings for artists to determine: { key: "frames", type: "string", required: true, eval: "f'{C.scene.frame_start}-{C.scene.frame_end}'", diff --git a/internal/manager/job_compilers/scripts/simple_blender_render.js b/internal/manager/job_compilers/scripts/simple_blender_render.js index ed5b28fe..8a19b513 100644 --- a/internal/manager/job_compilers/scripts/simple_blender_render.js +++ b/internal/manager/job_compilers/scripts/simple_blender_render.js @@ -2,7 +2,7 @@ const JOB_TYPE = { label: "Simple Blender Render", - description: "Render a Blender file", + description: "Render a sequence of frames, and create a preview video file", settings: [ // Settings for artists to determine: { key: "frames", type: "string", required: true, -- 2.30.2 From 4a59a7ca40c527ab971f970dbd3124cc858028f2 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Sat, 23 Mar 2024 22:23:41 -0600 Subject: [PATCH 4/8] regen openapi spec --- pkg/api/openapi_spec.gen.go | 404 ++++++++++++++++++------------------ 1 file changed, 202 insertions(+), 202 deletions(-) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index f0cf7565..4e08de0e 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -44,208 +44,208 @@ var swaggerSpec = []string{ "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", - "AQA=", + "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", + "dmQnVBEBAA==", } // GetSwagger returns the content of the embedded swagger specification file -- 2.30.2 From 8e522f4ea1ce53f489cf30d6935a0e29bad0c8b2 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Wed, 27 Mar 2024 21:56:04 -0600 Subject: [PATCH 5/8] job type description should be optional --- .../flamenco/manager/docs/AvailableJobType.md | 2 +- .../manager/model/available_job_type.py | 14 +- addon/flamenco/manager_README.md | 284 ++++++------- pkg/api/flamenco-openapi.yaml | 2 +- pkg/api/openapi_spec.gen.go | 400 +++++++++--------- pkg/api/openapi_types.gen.go | 2 +- .../src/manager-api/model/AvailableJobType.js | 9 + 7 files changed, 360 insertions(+), 353 deletions(-) diff --git a/addon/flamenco/manager/docs/AvailableJobType.md b/addon/flamenco/manager/docs/AvailableJobType.md index 3ca525ac..5360020c 100644 --- a/addon/flamenco/manager/docs/AvailableJobType.md +++ b/addon/flamenco/manager/docs/AvailableJobType.md @@ -7,9 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | | **label** | **str** | | -**description** | **str** | The description/tooltip shown in the user interface. | **settings** | [**[AvailableJobSetting]**](AvailableJobSetting.md) | | **etag** | **str** | Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. | +**description** | **str** | The description/tooltip shown in the user interface. | [optional] **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_type.py b/addon/flamenco/manager/model/available_job_type.py index acd23b1f..b55af5d1 100644 --- a/addon/flamenco/manager/model/available_job_type.py +++ b/addon/flamenco/manager/model/available_job_type.py @@ -89,9 +89,9 @@ class AvailableJobType(ModelNormal): return { 'name': (str,), # noqa: E501 'label': (str,), # noqa: E501 - 'description': (str,), # noqa: E501 'settings': ([AvailableJobSetting],), # noqa: E501 'etag': (str,), # noqa: E501 + 'description': (str,), # noqa: E501 } @cached_property @@ -102,9 +102,9 @@ class AvailableJobType(ModelNormal): attribute_map = { 'name': 'name', # noqa: E501 'label': 'label', # noqa: E501 - 'description': 'description', # noqa: E501 'settings': 'settings', # noqa: E501 'etag': 'etag', # noqa: E501 + 'description': 'description', # noqa: E501 } read_only_vars = { @@ -114,13 +114,12 @@ class AvailableJobType(ModelNormal): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, name, label, description, settings, etag, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, name, label, settings, etag, *args, **kwargs): # noqa: E501 """AvailableJobType - a model defined in OpenAPI Args: name (str): label (str): - description (str): The description/tooltip shown in the user interface. settings ([AvailableJobSetting]): etag (str): Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. @@ -155,6 +154,7 @@ class AvailableJobType(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + description (str): The description/tooltip shown in the user interface.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -184,7 +184,6 @@ class AvailableJobType(ModelNormal): self.name = name self.label = label - self.description = description self.settings = settings self.etag = etag for var_name, var_value in kwargs.items(): @@ -207,13 +206,12 @@ class AvailableJobType(ModelNormal): ]) @convert_js_args_to_python_args - def __init__(self, name, label, description, settings, etag, *args, **kwargs): # noqa: E501 + def __init__(self, name, label, settings, etag, *args, **kwargs): # noqa: E501 """AvailableJobType - a model defined in OpenAPI Args: name (str): label (str): - description (str): The description/tooltip shown in the user interface. settings ([AvailableJobSetting]): etag (str): Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. @@ -248,6 +246,7 @@ class AvailableJobType(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + description (str): The description/tooltip shown in the user interface.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -275,7 +274,6 @@ class AvailableJobType(ModelNormal): self.name = name self.label = label - self.description = description self.settings = settings self.etag = etag for var_name, var_value in kwargs.items(): diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 38a4a737..f0c5662b 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -76,152 +76,152 @@ 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_mass**](flamenco\manager\docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. -*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_farm_status**](flamenco\manager\docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. -*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_mass**](flamenco/manager/docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. +*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_farm_status**](flamenco/manager/docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. +*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) - - [AvailableJobSettingEvalInfo](flamenco\manager\docs/AvailableJobSettingEvalInfo.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) - - [EventFarmStatus](flamenco\manager\docs/EventFarmStatus.md) - - [EventJobUpdate](flamenco\manager\docs/EventJobUpdate.md) - - [EventLastRenderedUpdate](flamenco\manager\docs/EventLastRenderedUpdate.md) - - [EventLifeCycle](flamenco\manager\docs/EventLifeCycle.md) - - [EventTaskLogUpdate](flamenco\manager\docs/EventTaskLogUpdate.md) - - [EventTaskUpdate](flamenco\manager\docs/EventTaskUpdate.md) - - [EventWorkerTagUpdate](flamenco\manager\docs/EventWorkerTagUpdate.md) - - [EventWorkerUpdate](flamenco\manager\docs/EventWorkerUpdate.md) - - [FarmStatus](flamenco\manager\docs/FarmStatus.md) - - [FarmStatusReport](flamenco\manager\docs/FarmStatusReport.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) - - [JobMassDeletionSelection](flamenco\manager\docs/JobMassDeletionSelection.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) - - [LifeCycleEventType](flamenco\manager\docs/LifeCycleEventType.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) - - [SocketIOSubscription](flamenco\manager\docs/SocketIOSubscription.md) - - [SocketIOSubscriptionOperation](flamenco\manager\docs/SocketIOSubscriptionOperation.md) - - [SocketIOSubscriptionType](flamenco\manager\docs/SocketIOSubscriptionType.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) + - [AvailableJobSettingEvalInfo](flamenco/manager/docs/AvailableJobSettingEvalInfo.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) + - [EventFarmStatus](flamenco/manager/docs/EventFarmStatus.md) + - [EventJobUpdate](flamenco/manager/docs/EventJobUpdate.md) + - [EventLastRenderedUpdate](flamenco/manager/docs/EventLastRenderedUpdate.md) + - [EventLifeCycle](flamenco/manager/docs/EventLifeCycle.md) + - [EventTaskLogUpdate](flamenco/manager/docs/EventTaskLogUpdate.md) + - [EventTaskUpdate](flamenco/manager/docs/EventTaskUpdate.md) + - [EventWorkerTagUpdate](flamenco/manager/docs/EventWorkerTagUpdate.md) + - [EventWorkerUpdate](flamenco/manager/docs/EventWorkerUpdate.md) + - [FarmStatus](flamenco/manager/docs/FarmStatus.md) + - [FarmStatusReport](flamenco/manager/docs/FarmStatusReport.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) + - [JobMassDeletionSelection](flamenco/manager/docs/JobMassDeletionSelection.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) + - [LifeCycleEventType](flamenco/manager/docs/LifeCycleEventType.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) + - [SocketIOSubscription](flamenco/manager/docs/SocketIOSubscription.md) + - [SocketIOSubscriptionOperation](flamenco/manager/docs/SocketIOSubscriptionOperation.md) + - [SocketIOSubscriptionType](flamenco/manager/docs/SocketIOSubscriptionType.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/flamenco-openapi.yaml b/pkg/api/flamenco-openapi.yaml index 35d04e8b..cbb6601c 100644 --- a/pkg/api/flamenco-openapi.yaml +++ b/pkg/api/flamenco-openapi.yaml @@ -1731,7 +1731,7 @@ components: Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. - required: [name, label, settings, etag, description] + required: [name, label, settings, etag] AvailableJobSetting: type: object diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 4e08de0e..3401a109 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -46,206 +46,206 @@ var swaggerSpec = []string{ "QVlickQEu2IlDP2nNi5b0mhWirKheRGAA3qnmV3QrElr3GnVAMWZBkB0LFwGw8GSTTeeWRwjne5S4wlK", "OVwZRk7nrLSMWQNFpLlh/moLse+zJf6YqKppRCX7iapFSFaAlZHjDp1RxLLEjE5ZRpIFcnLYqxkZpRv8", "eUzOzM9cIbOSosYwL5IzoarSsC8rt3rFoTmpuYRVAaI61axHbIQl7aa/uwm2tj3E9NuOatjiAJYK4vKC", - "Oe1ZbBZT2hgYkSNecaUdUQQq34+LXbxziv71wHDWYL49MKiniG3Q0pgTqhfPFiy5fMuUVaxblgCjZHQ3", - "31GCVk760AuDft8Jqb+3rCF6J0BGjl85FJ8BP5dUobXB4OGMixRncVwlOrC6wGmjxguUshbML9RyL1ka", - "UjmOyknAP6MrhUH8QmeyEml0TUpWZbJRyAmO5BQ/aB8pAs2uyA8b7nloD2zDkb/kIq1PfCv860GYiJGm", - "u4+jj03ZhSolE041cgGzmwsmrq5oObCI0S+zOEtk5zzsA1Iyo/aBVE+JQrOXtZ8B9fvAkkqzTRbSfvOj", - "ZybBYwfjOBUKPokdy4uylGV3Pz8ywUqeEGYek5KpQgrFYrbcNILqP52dnRA0OBLzhtcY/EDk2HDvJKtS", - "tMzgpVhlkqZEScRqD0BcbQO2WWaXxgWaRrk0quwzM9nD/UPPg7w5I6WaTimqt9NKrQyvYgQW6hZlWZkU", - "mnJBKLn3lulyNXo606y8h68uGAWLiVkeFylPqGbK2sRQKdY8RxXfHAVTXt8tmS45S8fkJSjHThKyA3IF", - "spJBE2rkcSc+3FOWC5p3k4wzAZaaVBIlc2Z00TkpGVUSDCIEJDj2AS8PpxmZ0uRSzmbIP70N2UmvXQN2", - "zpSi8xjutZALzr1+P4pZV0zol7TMT7eyitdvvmWGj/khfpbTd4WRAqL6kWLa25OHxGAHmBbIqUwumT5+", - "s/f6387OEA1Q4EVRRZmDKIlgS/OjGpJJUbIrLit1gXg78eYg9gHRFIHYFuAyptmFPWuWXtAIVzmeWQ06", - "Y8CxDLX2X1hRyhldeM6UpnlBDFVHhDK45pDJfKq0LFG6epnRnIlEekbfPGYDs5EZMcqoIkTs3bvj504m", - "/Bl8BxvcDrWg1RzoF5qHOmvcQtIA9ybsMNKXd5mEThivPz3cjyF0yWYlU4sLMDlHjsbfYS+Q2lumFmDG", - "tt8DwbG7uafQgF1Lu4B1qP8oc2EN4NXQIB1IsSkFxYfRZAFE44qnFc3QebaEWeaG2oJVR0pDBFZuEGvE", - "LkqagHGt15iyOxD7XU4wdQQ9zjxyyhnJqNJ2lVvj3JKqC7wxaY9vB6+owfL3Rr+3L9d3xNx2LclElxWb", - "WHXFPilYwmfcvAwqJBg+eXqvNl0rpoeWMpub5G53XujVVsZGuAAOOIE/zXrJAj9aE+l6aeMrqvRba1/t", - "o3AWQWVZI6iBfG2X5Tmd1/zVQc8uMy75b+VRHA70osqngvJsC7QKt3JsVgS+kZhOgHNRdWn/5SfpBxOf", - "sWerJCZSewKY8RkbJeYlwq7A/GDN/UaXBK6oFhXaH1K5FEMjnJTwZ1UMCdNJjLhvY1z0i4OlombU2nWv", - "JRA/oerylZz3nT/42jM5J8miEpeWwWlJKAG+pmXBkz3H60gpZU5ShjQtxfesDGVAPoRfriRPzTgpyCAt", - "ghODQyYj9oNnZj2Oxmu7yjF5TVdegsqrTPMCxBLBFLzLPuioiuIQYi1LgqiE4Y6u8BrVzDbWHsM2UsYZ", - "gHGDmAHg6MgZQA2uK2gY+n/VjDvYnpdvB7jhLsRhM9/XOOnnMv5msMR1vrkpfhZjD57CWeUrwi78Sfbi", - "ImqFZ7SXKOAL5IzON6Ai1x4NY/QN7YLrIOmXsi37Bovglux7M8s1K9wApm0uLb658douEaxrIJZQcWGk", - "B1rqdfYdruyUoPzRSsuR/Spu4rFwiioPTsZE6zvTtUZrl2ugbQcYfzHpH5e/Dc0w9+ZCMRYxYBuhwOnD", - "XIXrNe87G0hgpNxu7ZtJz9Kt/nOJD4JhV/IT/+oC8WqXj5/BF29R97tZ0fyKlcp6IbYgc/3UzY0zbNyV", - "2B1uWgacgQ6oIxgVU7AnLimEQxi6qTLGCjDRmStJ7XuVuBRyKXANINJFDXcd64KZE4MeIAbSLgSn/dS+", - "92pHC0Y3UAF/jsLByrB/rU8gWNicg2vwcHwwevxoNE/Twwfpw8Mf3BkcDf5fWZXuDg0gkqbU/jAHh+PD", - "Ec2KBd0Pzib8mXzXGfv77v5hFTu5WRrL+LgW35qYbMHgNRrvT8sZtVr2osqpMFKmqnL4DGWskmWMKkam", - "Fc9SF5MKLiZDGqgik3BVE1QRJJDs+hMIkrKGSfx6Mud6QuxXYG6MeqNaB17fgwYo/NUxEI1hw88Yz0qz", - "7M1scPS39Qh36nxn5qtPw49rZMa1/hOnVRL3BZHC65NReR2DUGJ2cPMAXH2OIm1Ngv7pbWnXMOLszBDG", - "nyHcukPfINZ++g3x+M+ZTC4zrnS/8xIZtTW+0ZKBERyCT1lKElaCGgnaFLo4pRHTrKUncci5lf8oXM8L", - "octVzHXUfanjkFwfrY372VaHsm/3ENHWCdRDh8HZPSTkub0e8QhV8yuhU1lpDB91+qeVIp2Eac1JvCFe", - "tvjiguZUXCQLllzKSq/3eZ7Cy8S9HAQfuQWULJdXLCU0k2KOsdouWmSbWMDmWnpAE7dUdRb+Qshqvgi9", - "S8AuaOCEKThLGNFyjltM+WzGSjAdwwmC7dZ8TShZSDDZZSC0kHdvXzmXTsSWNyZnEpgbBCphvM7bV0Pz", - "U0I1E1Qzcj74OKWKfdr7KIWXelU1m/EPTH06H8R0F/NBEy3LLEqF7DAN1+yG0PjWUcBUwUg9R/GaKuUw", - "9ZRlLInHwZx4ByZGbptnU2Yp+ns5Vc5WX6OwQZdAiAIdxdKsi5x+GBwNDvYPDkf7j0b798/uHx7df3B0", - "/+G/7h8c7e93hZ/u152YzizDhaAznpUsJLlmYTNZgpff8dWaN7Uu3w70OQpSpmlKNQX2n6YQr0mzk4hZ", - "s8F4G5spp1yXtFyR3A7mEHpMXpttGOqasQ9hJJ31cebS7ALiTyrFxZxM6Hg6TiaGrNd3yODqJVu1zqgo", - "JezjaHBalFwz8rLk84U2zEaxcsxyMEQP1GpaMvF/T20Ihizn7g0rD5/CC+RU/+//dcWyQQ+cTqyx/pnX", - "yZpnHnqYcvqB50Y7ub+/PxzkXOBfEXdT6xr4QXrw/zSIRYofli4r1vNtv+aUUJGYY8DMnQLtNcPBjHL8", - "saCVgn/8vWIVvgZfjLwcNcB9sIqh6lUZWI88TWpGLdV45JfVB1X0VMeDWfBZEKVvowcwsOyLiEtxnWzo", - "ltV3SlqWvWzCPgQ+4WMqXXy8FynN9agUBDMiizNvIT9gKZnxjClkuoIlTClarmIEvMXgoubye88cdz1+", - "fi+IgADRzcUctBlxmIgzJk+50YQErtR9EmPazg5lhQTHvGelzP3W+1SlGKDPqLpUp1We03IVSyHLiwwc", - "fCSz0iOmETmoj8kz9DtgdIi1trsoVPOTOyRwxJrn44hJ1LqJtxIqwc5sF7xFPFwvI1T/VjHcc8i0eG60", - "7ofDQR4Q9T4y+Wk4gOSmi+kKEgAtu4Lg5Nr4YC1RXDQIhqcDlkT81mWBuJaPNfW7H48e+Wzu85Jn2ijk", - "NfcZOl7y6vgvL2pWEk15kLOZYs2FRqMCalB93CH9T21Jr/t2FAa47rKr4NTat+It01Up0DgMEggIzdRR", - "T27FDdjCLrpSO0wgQOp+BO4L4gTU3/ZOoSnjmncp4o0NOCRGp5cjMBRWxWBY/7KodCqXcbZmDQLPpJjx", - "eVVSJ6U2N8nVS14q/bYSGzwDXIF0z1HkNwR0Zj6sA8fsfKSsRBBj4vPHQLyiZMaWZEYNKVZDYiP3hRQj", - "SLI0WkgSrheYjBFAnVLtA62nDGJT8kIbkm7e0gu2siK1uKfJlPUGnQAfwVy8dCvdD1ahSyrUjJXk6ckx", - "pKG40OJxT2gLsNhXMqFx/eC5Z0nA7ww3MzcN5rIfjzcaONqztHc3DA84hnr21P5KS+7Cf9sIcqGXckkj", - "vO2NYKMlXZEr+zGGv0MSplQa4kelueQ23Q8SVDjk65UMEjlzCEAyjHfy0cjBnyZWweQlJhg6kWQBKT3K", - "ebxcJr8Pcna+sjE5W8rImsA8aidNO6kdXvphdvlFRrXRZkbeZoMptiAu2EGmK7/oPkSDjzabSKxptQa0", - "+3KL83papZyJZrCwtU5ZBUOtIw5uGLWO9a0je2306TDG17QoDIzhlN2hELNlSNvTPhmQY0Z9ZMOrvzBW", - "vK2EiObo16Fwy+DiWqddTlfkkrHCECXhhMK4CJV35ukeaK0I9Ej1Dc9XjLi0AvdoU1+oTcJe41xavD72", - "oX0gkS8YmSy9y41NiPUtYbJKnbSL18dMAvCeS/NfwT7oRhAaOraHZNIEwoS8fnd6ZjTkCeRfTraKN2sB", - "0kOtD0YxLPfx8scu4aGl59rkgvUXqxUOHxn+1vM3vlqaBWhCLN3MUWyWxHbJEW/Z3LDtkqXW896BJE3T", - "kim1Y7USS3/jN03O9JKWbM013NnT7VKQLryJWu0mY39WvRPLAByowponDhDDQYJpsxc2PslDoWf1sdM6", - "ZUlVcr3yuRMtCrhtEP266PlTpqviqVJcaSo0Cp+xtJNQyJNTI9s5HRzkLjMK8cN0qbU1pL2AvBS6RS50", - "fyLO1xLUuluIwhPEuWe9nopTDBayxhjreuAlOf3p6cHDR3jtVZUPieL/gNzi6QqCvI1AZksWkMwuyiW0", - "dK0mLaMnzAZuXiQ/gzrLfjyXKIQOjgaHD6f7D57cTw4eT/cPDw/T+7Ppg4ezZP/xD0/o/YOE7j+a3k8f", - "PdhPDx4+evL4h/3pD/uPU/Zw/0H6eP/gCds3A/F/sMHR/QcHD8BPjLNlcj7nYh5O9ehw+vggeXQ4ffLg", - "4MEsvX84fXL4eH82fbS//+jJ/g/7ySG9//Dx/cfJ7JCmDx4cPDp8OL3/w+PkEf3hycP9x0/qqQ4ef+oa", - "EhxETqLU1vwaSI9OEbL8Oix84MZxtU28b8X6VdomLqDhVHmlCH2+YfgRORYEy6FYX71yfhU7FsYwudA2", - "8+Dcb4ccPz8foLHJqdw+YMBnAFFcBehqE2vHGamsmu9BjYyRoV57WGdidPx80pPzalFmS20a1/6SZ+y0", - "YMlGxRoHHzaPafNtqrl/zK5rnqGVrnUqscJP10AP65ZuIwYozhb0tW9OL6iwXs9m5ABVjUHBLWNzlamr", - "/lFfY3IWSBefj3xbBJRseST+qLsEzqpg1EldFCmvpVV20QEdjkuKLUe+rMdDU0Y9ovfERgv+0MgKm6Q2", - "HDM6BtCZj11zG2vS6MFGR41ZjR1v2C/sNgH8K9eL2gmzFaidEp44b2UU9EMrpg5JygobpQ90xPlEvvGz", - "2Vb2DI6jx7/TOdXhuji8zniBJaAOMqyKTNIU9TEMHoqaBXCwt7gaKPLjojivK3iAoNGAXa8scUNCw60I", - "CLfA3voPv3lemBQc52p4WiBmU1IGnzmWMgyP0tomZPO6s/LKyB0vecaCCChANMNJ7GvmN5cYUsv1YUL2", - "beFAfTH9fbgZtAgn8tftC+NKQL4/F2uwuGWTcLS9xHj+u/LcL0UI1xK9kqWnmzS3NitR8FnNsWhqhGKr", - "0wURetRaVcl5tb9/8Mjbg610VimD+R1Ds5Z2wMhcKEz5e2AFqHuq6e6IZlAFFt4dLLHeMPxpOMgCAO1o", - "a7kFV0nr1LNaQ/ZbbxhCmmuKYofNkjmtpmvqFJ0yAVZ8n4WIIXIKQq73VPDtBJMzbd04LW29KEclgzfN", - "w/dy6rMSyTM3Jpa5mjMdPkfVC0y9VF365Gn3dybnCt1agjFbh6PIeMJ1tnLTThlGkYNjxTxaDf1GjBaB", - "+TfuXTOGFBj78J2WsJ7G1DOXsfteTr8H3m1eN6/cU5DPCUZrzXM2PhfOxyekRtPIdAXpnaCVWD5CNSlK", - "qWUiM1c3yUMLfTMITF99GTKbpqWEzCczcjMmo3k5ZLGRykRw4Y2zlW9bii82iKsm5Cx//WHUWO5Cy+Yx", - "7JFK1D8YyjDeOUlUFusq9q3feiAm+mVAzFT9V1RC7ANFhDhQTS65SG1OxNYw8JFhWfaznEKQdpb96p1a", - "tjADVZeZnOPDMDg2fP2MzuPur0YGQrRMWm3RCkp9aVljY1OC2SbW5fNDAu2Dw9//P/Jf//77f/z+n7//", - "j9//47/+/ff/+ft//v7/h7n8UFUijPuAWUDrORrsYeDunprtvZdThWac+weHY3gJzCiVuLxAueYwwMmT", - "X340KFqowZERq6C0qpF27o/u72P1xAtIVGNL5St2QmwwVlRkHzQTNpNnXFjXkFnJhay0L1/UWB9O4Ve4", - "F9+5Lf3YGa+UUq8dz9bzxEKCFzUnHGRcVB+C6wde65E9Khv43I24DZFgQ6yID3jdtmj7hnoh4VlvipFx", - "r9a2760ia+pwwh6odcIDkNaIOVErpVleB3zbb1t19yDMMJFzwRXrilf25TpmmpJMLlk5Sqhi3mxpp3CL", - "siEm53ig54MhOR8suUjlUuEfKS2XXOC/ZcHEVKXmD6aTMTn1U8m8oJr7Quw/ynuKTMpKAB/88c2b08mf", - "SFkJMgH/qsxIypWGeD8IaDBclvrwP1cD2S9Sjc/FU+XkT5oRs6NhYx/k3MX8nA+ccdDWk0fbjAvHhpKK", - "RQn5EFSR80FT2nTjnQ9q2OdSGXkCxJpLRjRTei9l02puC1YqwqjiUBrSSiMuLhS91zwhqUygJDAkumRZ", - "Y2fRsgl9iSjmh4vtCz8OSSILHiqYk3bBv7EZbeIrDndLR57Zv+pkDkO8WUq49Y9jIZZUMiXuaZJTnWB6", - "B010RTM/Uscwf4aVjkF0VO2KkoBHMkuDwLpmhfp21VBfodyVSDkXx40FckVkjnxqWNvKoGzYqqBKtUpT", - "d9J5okC36eCazlGUs7fPlYOro2+DNPrj5z40x9a0sbwb1UeqiS+/OWXEkJi0yvD6m6Wg0RDCEzC6S5bB", - "xgx2uewrg4buC7+SZvrbVlKUdb926+FEiFxMzop3HTlz9UWwzwjEtymnQTtzvavuNiR8zMYu4cKHyQRh", - "UuPdSmt8yV4lN5E0iSG7F9PVhYtW2iV42QYbRNa6ZQrbDhVDII1Gy8rg6YZ8RYxOEytfMsD8X1onz9i4", - "o93KBXz9Vi43lavpSM8uJ75tfme7oEmsi0zYK8Zfpg1tY2zZo40JipAkJ23LmKCU0WdVtop7JwyhAQN7", - "q6jRsGFx72JKULto48xVmcUnfvf2VZimXM9OuFYsm3lPplyKTNJ0mwikuvSRP0XM+YP9953KZ2QW+UQC", - "JWd61E44iumP9YR3KWcovNXXSBoK00K6OnGlNGHd7NIa3THfWTZKrddlB0H87WL/jmWb7hIxvG46+pYU", - "yc3Ud1LrKq/hM1/iEQLvnSgnLZVGVQwxz5q5wd4IFAtODMq4oqiHfWeMZO9PD2x3ssCA4T8RaU0krRf4", - "XEClgu9AvpEu4nri6K2tIiakJqykNrLVl3NoS+1mWd9vKjPWjVHPuLBdQmz0LURS3FMk8a0oMMCch+nb", - "QK7JmytWLkuuGcryXFYKChqJoOqEyzONig+xInSv5NwWl/M0AOvcOanYdbAwi4ZTgQkZLTPeU8BbN0jg", - "DlQiilx1NGdUHygZhKUkDHRCUN65wKh8HCfi7F8XCPp5VGDNJXOTxi5RvcftqpbYoFGfN9dJlCgugj22", - "JIMTYp91KlWtdchsZ1DpH+vzA1s1jXUDOqNIKRzfryuHQX+WnOVTxNOtRPpGtbbuAlC72mYAdbkdyQ2O", - "quFaCqrfRGNqP/02jKTQd9mho7Y1mr3app5I99Lsqhy1cXS9h9iN3n87ML478BjUFm9ri7a/jHztsogV", - "VbGkZMAp5UhIPdIsy0ZUrKRgYSTz0eBwfNAH+6O/uYBZI7nN8oLNbfOeUd29ZTAc5FwlkUzQa4aa24V/", - "/PI3qy2f4UxNR2dsCovM/Ud2yufiTfuwGgUArWXeHuDTk2PoxhKcxEVdcUst6XzOylHFb+hgWqUJuwkO", - "/bW6Oqu9+WNyhCR+Mp0VrTmljLHi1Nq+Ir5p89jbxlx4AqqRLtPt1MAMXLRMpJiG6eUbV0fKp42ndNXU", - "0/zYhmCDojQmT4si48zWbMQ8eWk+5GC3mqR0pS7k7GLJ2OUEwv3gnebv5mVXmzqyQpAJBTl4MFrIqiQ/", - "/XT0+nWdRYxtkGq0DUceHA1ySXRFII4C3ITpBUjdR4P7Pxzt72PSilX6bEoz4JV7a/9JtE5Kc5JuTCRN", - "2EixgpYYrbuUo4xB4ylXL8dCHYo00xXyRcYue8BMvjsf5BI9Drpyzobvx+QFWDtzRoUi5wN2xcqVGc9V", - "xen2R/L7D0QnAGhP5pEDzcd4IXYPqM3DtXmsH3vYhGZj3GDFa+6Fppr16dQ2obwM0+u2T/OJasTBYFst", - "Ku0rwEiX9PLaFRi3WOiG5TUtH76k5NCuKyhDCe1HzJEyZV+Rs5lRRsA40K57WSNQf4HPSHY/VqpDslUr", - "njbJsQ4JhqK6tpx0xDagLjL6j9X6sKNm/qT1T6A2FzaFBHJVe1hQWqk1QKvwKjLjgqtFXxvP4Rc8z6Hf", - "35qT7bPG/JkqnqwRPMefUQJ4uUsJ4F2M6F+l2u6XyhD8YrVwt6kg6ivwtDSr0ufUXsPOtH2J21ofiyl+", - "ocJCnqKzkgpvCspWNo5y5aQNOidcB457qMoCto2xdw1aM3FhBAY5q0vwG/WTKG7+poKB8aUrJXQ0skZ9", - "RjN0KsmPJ+8IBm54K8+LF3998WJc16T98eTdCH6LCAnNjoc7l9LUdD4mz2wLYevNbJU4orbaPhrubcoF", - "BTd7SUUqcwIDehORUnwuHKX6QraTDbrFGZ1vSfprau+RQHXsBHYHBhGaJ6rp/IKnoFs8OLx/kD76IRkx", - "+igdPXj46NHoyXT2aMSezPafTNmDHxI2jagVfoRA1N/cOWSd6O9GXAsdp+Z3FrOrCh81hnxaMzUaSbaz", - "ZDXrP328rkMq3iUlYiQ5Qze4P+2ATX1CLRvSko06lId2jwtaxRKE3ilWQgEJWzDXsozj50NSUKWWskx9", - "CWVQq22dEKP/OPtlbdYwqAeAAc5m+Gq904XWxeDTJ2i8iA4/6BGS6MAA4mn1GaO5dVXhl+pob2/mwgW5", - "3OsWx8CYRfKSlrkNg4WQ6cFwkPGE2SwOT5xeXR12xl8ul+O5qMaynO/Zb9TevMhGh+P9MRPjhc6xmCDX", - "WWO1uS+9XSv798f7Y1CQZMEELThYZMxPmIcEJ7NHC753dbiXtMsKzdFQ4utQHKfQjk836w+BjAkpIDDa", - "wf6+gyoT8D01OihGgO+9tx40xNstA+Cb88HhNYEuDFZnPhUFUdAJWmbFGD3TzFCfdTqT4qX+GwT9AQGq", - "x3gh0kJyW/V7bpvhdwbsVG42kI+Cdw9CefacmaUP2C+5SP/sk8pPMHPsxsAd74sZgfdLWYk6xxzUY9+J", - "FF62gY1faF1Y3CCyjlPfeXBpJP5lKcV83Dr9l9xGvMuS5LJk5NmrY9cHE501EPemyJJCxBzIUG47MaQo", - "pIqcFCQgR44KeOefZbr6YtBoFVKJgMV1AJWl9fVB5BEWD5EYRIalb24ejxqFGbor/aV5cYe4SAxzgyOd", - "ccHuHk79lWYcHK40xKbrIFMLT63X9qoe37VArw9yI1HBNKVREAi8BmUbaVdfFWtPbg0//ykQE7PTaoxs", - "Jq9tYHc7jNOLjJiasKUU8RKztz/ryHcoXPxp2BhrRfOsOVZbLt6EIO2DeAs9dq9YXPDoyglrT+NpkjCl", - "fO/dSDXFyJAkTOXCjd0Dn/6bgomnJ8cuUS3L5NK2F4FIc0GzPStJ2gOdkIIml+awz0X/cSumq2JEXX2f", - "frJzSq9YtKTQzRCe6FRRphmC1dBueoXo3ULKB5GOTy1kgAj0JZvSonBGktSoSLMqy+o+rtpWGjNy5d0j", - "Je/qkKKe1FasOGStTtDkRsAOV2RWiQRvIhRi34DeBiFimN1bOaofBxucb++jyzb9tPfROWE/rSNJDWbY", - "bFhuFHBuYGfLN1gVLshnrRVn66jaRcXp5vgaLT4yYeBM7p+wTb1+u0FmGs/b3p1iOi2tlWSdNfK9wy5M", - "jUxv86U1CbhEb4OcPssbbf876nfrltOoLd6b/N2Pqj4JancsrSt8/jeGXmMD6jOQs64M0DYfkHeqTnh2", - "QjtN0xEykzVZcEhGfXFQNsWMrxmFli6GccSSR8iUqrp607SUS9VIB7s+xtd73B3HXX3tHs4PyTfYgupG", - "WH2jCVn3kH+WU5uvnHPdQc+b1DjWLAjcYpWR8JB32iwxI6rZ8NagSbsCaD+4f3DzMsKZp6g+HY5pOoes", - "OZAp67S55gvRpDmOva+zFUkrX53MNjBKaLJwyOeHgvsgJcmMaHIublU8ggfElcRsUgLEMevZgZqRsuzc", - "EazrAAl1oeyDxeIbw/3czCFk9lJ2LhWq9ltcLdBrv+79SoIlrLteD+Jp+jteCJ/taago9uFYGIHylzdn", - "mF1pG+vZ9IU6PU8vZDVf/PeF+qNcKECrDdcJsN/v24wEpjQoobLk5sR17Z3lkWvW6ILWb5ZnOln8mMkp", - "bdSpgBSym+Ui8Z5xWwk0w/iVO3Pd9Vw6NNweKlbRjnA9chH0kYNsYlZe2W6lkc/VhuN7A1WDsTtOnYU0", - "B0D3LKd1fjlVaoQNzHCr7l/NA4Reb8w2frshatnbVi5q+2w2lmvWeseGbtI2Zhtfm7QqbAgXEtecQj6r", - "uSmukamliI9uhSKWDNckZNC2riaE9lzGd4ZavablJa40BNmwlsZdV5Ok5JqVnG7AeBgvN7dtp0GRBzhp", - "oU64wgIGhikAqjhKaKtSQSEzc+Lm97x56F2SC4MWpUTb44L5d33K+5Qml/NSViIdn4tfJMxH8c5O2q0K", - "J8SrqhD2ZL5iKakKkJWE5iW49qVIXVmQnCJ6oteuAx6sn7uSFWEfCpboIVZ3YLwkk7rn1KROZFe29q5R", - "0jLcE4UmrjBry7YJxOTvrhdWXOaCTkO2nNENERDbjitmwmsXdm2SijnT49vWcBqtl/pZEkA18KzYODGs", - "DAEVVfjMIDOIMEAKbHMi+PDukAIQAnwJGAP47bhb3RxrBv24IFBMpERJCPDt8jQjvu19NP/9heZsrWnI", - "VkjZyjDkBrwzdpp2nZdeFQOfteUQm0vhBV4DU2hG4yGx4XyCXP9ma2csKxM9F7XFaajBLQItat3yL/nd", - "qAgAA1S2Ta5BpQKSujUQ66k8Q/HjdUH4ESPMPm0lq22F1b6+QD9Ob4qB+20bceo5kqCAjnnG5Ov66JLP", - "50ZavV2i9U4gR2QpgcyArm8SAzoDTooqwJBwkWRVisqRsto09Pky6oCcY7FhVLltrSQ/iGHXLki/Ix6Q", - "X6RvsKE6Xb6/WzH9fdNg6TGrX//6qhhxK6ZBjrpdl+m0FCTXlXy9mQk/EikJcvj67uPetNkxP34z30Kf", - "1UZ//ds8kBuRuOqtxBSWqjD4+x3GnA5tfYxVwb43MlfQNt77Lj0ct/Qku7tJk4QVUB6LCV1yZo1aQFbs", - "JHeNqEA3YbdaW4/c3PkABLve76+DVzd30dciF9hS1iCYUa3mUiM8gxpUcPvvEiogjQITUDMZvi4t7/YA", - "aJJKCKa1Oq7fsmrucL3UgREyHtW8e84BJ07ldrD2tW1vaOr7FpDyD25SbB71NcyL0UEbjcj7EUgxHZYr", - "6vHNgCZwUtcE+oOzSLcTm9Pb4+oQbEkcbK5psnQT+bwjqjxjRCvlwUFfOS7XdNMtwUXC4fc+jvYrE801", - "yOolgXoLFgzNeJeNCFpnR65Dz1Nfu+qPjZyNEm49qNlMMIboDGtmvhaanjaGuw6SNhdkMRU8V/6wXVaz", - "8g08vOT/B0Hj5iZ3QWLQQzey5zN469vgybAXn88XlxURxpypsJSa6kg+d0wspHbdUACOZlm46gY2bCPv", - "xXccR6LlgurRUlZZav2Do1T24pS3Of26oPpX89Gxfv6tCHzOI9kn52GvBGvWidggDPIFMhS2MHSZ4M6m", - "A4nQOApEIriq0i5aA2uJDsHOlMm5jYLrlcfAZGQ7rtSz1MOhYQnqFwrv/kpJIoXLCchWbgqugtba1vvg", - "qtVjV0QUPGWle4xSXwYWIa5iB5w91wxvDwvgrmHazR6yNxTv05wk5oUKO8a5GA1iG2renvMp2gM0FuPv", - "+mBC+2zbrDNwhyO/3n9y88TSr4RmJaPpyhYTtwLDg1v1vePpQQiamEMgK5moFkTrtnKT4JogyvNkQaSw", - "5v1bYzdVi920iNQzbNFL606peP3VKs+4uPTRBdAtGSGA8WUaiYoFSmVElywLrG/YBw6phW2QZWu8JzTL", - "/AWvI/lq+oFAbWc/2AVRosLLBItpdG6mJaNraUbY/G9byhGe7I1SkVgDym0JylegJdH+i7H1VlN7bNDb", - "Q4I4Hx7EMKwlZt6xDQutK+VOXRno71k3Rw5hYLvGYsJPIUut7MWvGa/d2EaEf4oZZ9RFK3q20R7Qt5hz", - "EZDYpxJXUZMdeFdpIyD4JXRvCQy799H1MP209xF+4f9Y41AP2xnKkrnQ2pYMuHV3Wiie2hUY3as7+eGH", - "nXmDcvGusaOvFB+Z1e1+m1nrZsW/3fjF67Sw3NIQeacuUVjGrG61GW262hAwg/uyjnh7jPznRsZhzKhi", - "iYorm2l9Drb1fcpmrCS+k6vrtZPZjM3zwcH+D+cDj1h1XB0oFeDf01UpnEhfb095OQ7DKn3r3M6BYyQe", - "zZTEMZTMmRSMsEzBOHX98tgyAVsAgAtGsaSABeH/M8JpRs+oGD03+xy9gwEGERgGjTpjMJQln3NBM5jT", - "jA+te7BAeibDguq+xTDXQb8q2yKYh1TbKnmuBpYglMMb0JZqzjEmfdPe3tiFjV7ahQ02xiptI8/IRDM9", - "UrpkNG9SCK+pT7kw93u4OTH8Gc6hWn3Jr2FXdGJo16R4sP/DptctOjYQ0ZIcjO99HB2htJ8bdQDDcKdM", - "L5lFdgvOIBrIa+02HGTm+6rLskN3vOjscBmUnYeRLkR4iV3q9Ppb625gfXMs4rnYVTkjU2Y+9PNPV417", - "hxLFpPcKHRFzZhNbwRCoSyM6+ZazKTZwIOAMNp+in++QZrxu4yHcz5ksEz7NViTJpG3i8NPZ2QlJpBAY", - "yO6aI0koNGkJr622qRrnxQj7QBNNFM2ZlSS1dI3USCorI+ThBwqa0OJbmGqIt6muNRg5ATKV6aqXlYY5", - "7WaKWrvogqUhOXrHSV+A30ta5qd1G5YbEozqWd6C6H39Clih84CrOkJvRst8Q5I+Tt0ZhbUHCeAH1tm9", - "j7b3z6f1Bnwod7dV2KpvJXQ3Day2ZUHU8YQlacVM3lHLfLOp1RqzZ+SLNSe/ZzumrD9914PrW0ECt591", - "uABdtRw+9ASEtSVO+HBBFRHQSIasmL5b6BRGcHQamGGke84wqwP3vsGBaCvptMI23JDjDYinoTXzFsh3", - "Zl68O8in2Qe9V2SUix0rE521gfOt4FUQV0aVJjO2tB2XAiTDlvZbUa/wEz+e6+K0Fqu2C6oImjLdKlZ9", - "eQtupzXeNx9XgSzwGwiswI5nPp8O3BhsNmOJdmoBdDHGEagiS5Zl7exC8y2jtlLIosqpUBhDDsI9uOCv", - "OO1WL6lLgZs7Ao0B3I3CgFC4WPW9mhAulGa0nYsXlFfvLYnjC6HfnBRu5Vw31bWFcC8wNxqc16Vk1svh", - "qBor37AbO805E7q2pQF8Hiitp4toOHgMo3yu9zSdm5OYb5eNU1e03taQoem8Toy5yxHsYcsCKPEOl6ES", - "WOxaNdpV+zB/szv0jZgxFJQWqI+xBvOGkPc1YP1yiBxUI4+T8WDzERT2Qn/4Wu9et+F78y/A9ooqAlMs", - "YdcE6pfnjhvhabORWwC7pkHQYJrt9umvE1Y4uTuZsbZ0IBUY1QB1BrdBlgaiDe02oc2LTWenTdzsI2Qb", - "YgX9galbuWavevI96kb8arwmG3MZvtZ/z+IVfiEI4qtfgN0Q/xYpnblMQSgQ2pNdXBA0OVHe5TMkStb2", - "0oRmmTWUXgq5hDC2d++On9+dS+gDYARb7nr9UBJpol78tgXdLDdduFu4bX1X7S/gBXFr3XTX1FYwsskk", - "7lMn6jYcLrE2AF3g7X20vTF2EL22Uin9sDefDt2pl21xx/MoGwt5NyU+py0tbR/GY403P5F57ps2gw84", - "gZBlcEDZGre1AWXp2+BwQSa2BdsElCv0oDZfwpAV2/9paJh4QbgmM14qPSZPxQotMvha2GolGMb5XIGs", - "V77H2fXkzq+KU1+aFKzhuNumVS9937Vt5BWSMk2hTt2ynmaHm7+NVcnq/N1mZLd9dDclREQbrN0FY9Md", - "sQP1IuB21iCH0TshpROoew2dDXn6m0DDTlO0Hhzsyujk+LlqmBBqv7XroU7k7J8TR4OK8gZSCA214IW3", - "gP26O35mjBUjFXRd3sTlmm2avyWW19zZNk1NwJvf6Eu9LqmbhUKdkLEv7yYKbqBcXxUjboyTbkIGl6Pd", - "PsVrW6Z8X+yvape6Jm0yApwsnWWt0U84guYtNwb2HmTlCP9eJ7/hi17evrnzfxv0Q1xnfZLErf5WTTMO", - "EiztF9c77pS7E2Pnlt8wr3QUhY6MVh+JYXn1lyqCVEbfG8nZbI3oxefizWy2lQvm7sHSdggFEtvoDfo3", - "aDfaKpEa6LxUkbq9+VqAP6NZhtGezjqjJcmsG86VOQXznV6w1b2SkTmUorHDj3tPRWw4FHGjV9tO0X+p", - "c6ZpSjX9CsbWsNn/H+JKb42GTyu9YEJDVoHr02ewwYWi9lkLPhsnMZBbS5jB5jDLgFPx+sCjGKttInFU", - "MA5ObfC1kQNW6rQbH8TRK5AKSfq/uNtYtTuGuAw519SflZh1IlY9QOhFhRG+mfaTsM5hpYObtvn4iWJa", - "S+2/UB5Pd5ZQ/8CUx1J1e27OngxhCYk3LihCE0M2MpZibUdMPLMUZdSMiXLoAr5VLuqEJ0tlWDnKZEIz", - "IHA0U1+aql2xxm6qmHsJgoPW8Fkrj9u48Zurr2sN771h3VCuLmj30keufpGunqpPa/VFxgK7x4P9wy/Y", - "+hBRrBcxT1jpOs88Z4Ij6bT1D+KmcwyhsyyPJppfoSWWgXvU1djKMrlEX4UFi916yecLTYRc2gC+w9tl", - "MO4iUQE5fejAM1I4rA4z8yDjfy6hpb3NbMELt+Olte5B6scPoLHpNgFOOYWzjDcFikbQ9V8XMyTa376F", - "YFS7k77raGUjLnCJLjDwWlYNO1Y3+jR2S+ocD9Xw2DlMcmU9lbT5cH7sujTdbRtMPpM5NYy66nJI9Krg", - "CcQe2m5NIDAXpZyXTKkhtHNyDS5kSWaUZ1XJNnIYx1cUE2nDUWfA7UaH6tusZJtvyl5OVyM+Kqv+sNLX", - "dGVNKZX4JpJSXtPVXxgr3qLH+RtTzzDw24oxdfZ3IDEHrveAQZWVIHvkkrHCueLrAHDypnC1oyARkXKh", - "CCXoag9lUu+UifnfexC5I9GDshesrLUmruqo9PWoLStdVHpUlDKtknWCviGWb+DlE/funWAOUPNr733B", - "5rtmYw/tt4WYf61E7oMtE7lB+rMpyq7tx4P792/+or1iYq4XvvjRn8LOcSlPsV+4obKUWBCM7CeYl29X", - "enjzKz2hK8jXhbZ1tLT9vh7cf3gbbgRVFYUszUG9Zimn5GxVWI8ZoBhBjHLC5NSnm9ddYMPorwcHT26n", - "w6Crf4GcEkiHlNhhamYuti20Z93SelFKrTNmy/H9oSQPzHM3gM6l0qRkCWb/+9KBsF+UB4Jsdw7Awb5T", - "5uPaEcKEwtp/mEMB0rs9ZfPlPUVSPmcKige3z5g889UHIE7s5JcfAc4/n7z4kVhUMoMWGRUiHqe1TuDR", - "iyqfCsoztVeU7IqzpSNLvMSCiY7aE6T+TgwCiJZXjppXZTY4GuwNAiNUm1gdN4OgOm3BHKZ4dgBJKt1C", - "Ij/LqTOTgoz294qV3KBf3e502GpHMW5U0VSRQZ+eHDf7Q4YmMpnnlUBxEwqUtJc+bjtwIxNYbHjt10Se", - "nhwP+7szYzMrsw1zV0qZuRV1JgOnY6RUDpYf8LMAn6hrJ1gI+p6V7+XUV4QL57DlDj799un/BAAA//8g", - "dmQnVBEBAA==", + "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", + "Qwu3RhEBAA==", } // 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 e3b98c15..037e6d38 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -243,7 +243,7 @@ type AvailableJobSettingVisibility string // Job type supported by this Manager, and its parameters. type AvailableJobType struct { // The description/tooltip shown in the user interface. - Description string `json:"description"` + Description *string `json:"description,omitempty"` // Hash of the job type. If the job settings or the label change, this etag will change. This is used on job submission to ensure that the submitted job settings are up to date. Etag string `json:"etag"` diff --git a/web/app/src/manager-api/model/AvailableJobType.js b/web/app/src/manager-api/model/AvailableJobType.js index 938c7b3a..1d1c1f4c 100644 --- a/web/app/src/manager-api/model/AvailableJobType.js +++ b/web/app/src/manager-api/model/AvailableJobType.js @@ -63,6 +63,9 @@ class AvailableJobType { if (data.hasOwnProperty('label')) { obj['label'] = ApiClient.convertToType(data['label'], 'String'); } + if (data.hasOwnProperty('description')) { + obj['description'] = ApiClient.convertToType(data['description'], 'String'); + } if (data.hasOwnProperty('settings')) { obj['settings'] = ApiClient.convertToType(data['settings'], [AvailableJobSetting]); } @@ -86,6 +89,12 @@ AvailableJobType.prototype['name'] = undefined; */ AvailableJobType.prototype['label'] = undefined; +/** + * The description/tooltip shown in the user interface. + * @member {String} description + */ +AvailableJobType.prototype['description'] = undefined; + /** * @member {Array.} settings */ -- 2.30.2 From d1101363429be343b62a93cc0e1b0bfbd2e0f769 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Wed, 27 Mar 2024 22:47:16 -0600 Subject: [PATCH 6/8] fix optional description in addon --- addon/flamenco/job_types.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addon/flamenco/job_types.py b/addon/flamenco/job_types.py index 76fc3777..69a855bd 100644 --- a/addon/flamenco/job_types.py +++ b/addon/flamenco/job_types.py @@ -116,7 +116,8 @@ def _store_available_job_types(available_job_types: _AvailableJobTypes) -> None: else: # Convert from API response type to list suitable for an EnumProperty. _job_type_enum_items = [ - (job_type.name, job_type.label, job_type.description) for job_type in job_types + (job_type.name, job_type.label, getattr(job_type, "description", "")) + for job_type in job_types ] _job_type_enum_items.insert(0, _JOB_TYPE_NOT_SELECTED_ENUM_ITEM) -- 2.30.2 From c4b0d4a35f5b0fcf55ff5acf2a44ddc4be1c06fb Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Thu, 28 Mar 2024 21:38:27 -0600 Subject: [PATCH 7/8] add test for AvailableJobType description --- internal/manager/api_impl/jobs_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/internal/manager/api_impl/jobs_test.go b/internal/manager/api_impl/jobs_test.go index ea26e9a5..61b52327 100644 --- a/internal/manager/api_impl/jobs_test.go +++ b/internal/manager/api_impl/jobs_test.go @@ -442,6 +442,32 @@ func TestGetJobTypeHappy(t *testing.T) { assertResponseJSON(t, echoCtx, http.StatusOK, jt) } +func TestGetJobTypeWithDescriptionHappy(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + mf := newMockedFlamenco(mockCtrl) + + // Get an existing job type with a description. + description := "This is a test job type" + jt := api.AvailableJobType{ + Description: &description, + Etag: "some etag", + Name: "test-job-type", + Label: "Test Job Type", + Settings: []api.AvailableJobSetting{ + {Key: "setting", Type: api.AvailableJobSettingTypeString}, + }, + } + mf.jobCompiler.EXPECT().GetJobType("test-job-type"). + Return(jt, nil) + + echoCtx := mf.prepareMockedRequest(nil) + err := mf.flamenco.GetJobType(echoCtx, "test-job-type") + require.NoError(t, err) + + assertResponseJSON(t, echoCtx, http.StatusOK, jt) +} + func TestGetJobTypeUnknown(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() -- 2.30.2 From 02103d137407dfcbaf48dd2ba473baa50e900877 Mon Sep 17 00:00:00 2001 From: Taylor Wiebe Date: Thu, 28 Mar 2024 22:24:34 -0600 Subject: [PATCH 8/8] keep slashes the same --- addon/flamenco/manager_README.md | 284 +++++++++++++++---------------- 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index f0c5662b..38a4a737 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -76,152 +76,152 @@ 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_mass**](flamenco/manager/docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. -*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_farm_status**](flamenco/manager/docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. -*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_mass**](flamenco\manager\docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. +*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_farm_status**](flamenco\manager\docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. +*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) - - [AvailableJobSettingEvalInfo](flamenco/manager/docs/AvailableJobSettingEvalInfo.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) - - [EventFarmStatus](flamenco/manager/docs/EventFarmStatus.md) - - [EventJobUpdate](flamenco/manager/docs/EventJobUpdate.md) - - [EventLastRenderedUpdate](flamenco/manager/docs/EventLastRenderedUpdate.md) - - [EventLifeCycle](flamenco/manager/docs/EventLifeCycle.md) - - [EventTaskLogUpdate](flamenco/manager/docs/EventTaskLogUpdate.md) - - [EventTaskUpdate](flamenco/manager/docs/EventTaskUpdate.md) - - [EventWorkerTagUpdate](flamenco/manager/docs/EventWorkerTagUpdate.md) - - [EventWorkerUpdate](flamenco/manager/docs/EventWorkerUpdate.md) - - [FarmStatus](flamenco/manager/docs/FarmStatus.md) - - [FarmStatusReport](flamenco/manager/docs/FarmStatusReport.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) - - [JobMassDeletionSelection](flamenco/manager/docs/JobMassDeletionSelection.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) - - [LifeCycleEventType](flamenco/manager/docs/LifeCycleEventType.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) - - [SocketIOSubscription](flamenco/manager/docs/SocketIOSubscription.md) - - [SocketIOSubscriptionOperation](flamenco/manager/docs/SocketIOSubscriptionOperation.md) - - [SocketIOSubscriptionType](flamenco/manager/docs/SocketIOSubscriptionType.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) + - [AvailableJobSettingEvalInfo](flamenco\manager\docs/AvailableJobSettingEvalInfo.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) + - [EventFarmStatus](flamenco\manager\docs/EventFarmStatus.md) + - [EventJobUpdate](flamenco\manager\docs/EventJobUpdate.md) + - [EventLastRenderedUpdate](flamenco\manager\docs/EventLastRenderedUpdate.md) + - [EventLifeCycle](flamenco\manager\docs/EventLifeCycle.md) + - [EventTaskLogUpdate](flamenco\manager\docs/EventTaskLogUpdate.md) + - [EventTaskUpdate](flamenco\manager\docs/EventTaskUpdate.md) + - [EventWorkerTagUpdate](flamenco\manager\docs/EventWorkerTagUpdate.md) + - [EventWorkerUpdate](flamenco\manager\docs/EventWorkerUpdate.md) + - [FarmStatus](flamenco\manager\docs/FarmStatus.md) + - [FarmStatusReport](flamenco\manager\docs/FarmStatusReport.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) + - [JobMassDeletionSelection](flamenco\manager\docs/JobMassDeletionSelection.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) + - [LifeCycleEventType](flamenco\manager\docs/LifeCycleEventType.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) + - [SocketIOSubscription](flamenco\manager\docs/SocketIOSubscription.md) + - [SocketIOSubscriptionOperation](flamenco\manager\docs/SocketIOSubscriptionOperation.md) + - [SocketIOSubscriptionType](flamenco\manager\docs/SocketIOSubscriptionType.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 -- 2.30.2