OAPI: generate code

This commit is contained in:
Francesco Siddi 2022-07-25 17:14:46 +02:00 committed by Sybren A. Stüvel
parent 3c22becc18
commit a2bd8a5615
14 changed files with 414 additions and 414 deletions

@ -30,7 +30,7 @@ from flamenco.manager.model.manager_variable_audience import ManagerVariableAudi
from flamenco.manager.model.manager_variables import ManagerVariables
from flamenco.manager.model.path_check_input import PathCheckInput
from flamenco.manager.model.path_check_result import PathCheckResult
from flamenco.manager.model.wizard_config import WizardConfig
from flamenco.manager.model.setup_assistant_config import SetupAssistantConfig
class MetaApi(object):
@ -364,18 +364,18 @@ class MetaApi(object):
},
api_client=api_client
)
self.save_wizard_config_endpoint = _Endpoint(
self.save_setup_assistant_config_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/configuration/wizard',
'operation_id': 'save_wizard_config',
'endpoint_path': '/api/v3/configuration/setup-assistant',
'operation_id': 'save_setup_assistant_config',
'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
'wizard_config',
'setup_assistant_config',
],
'required': [],
'nullable': [
@ -391,13 +391,13 @@ class MetaApi(object):
'allowed_values': {
},
'openapi_types': {
'wizard_config':
(WizardConfig,),
'setup_assistant_config':
(SetupAssistantConfig,),
},
'attribute_map': {
},
'location_map': {
'wizard_config': 'body',
'setup_assistant_config': 'body',
},
'collection_format_map': {
}
@ -928,7 +928,7 @@ class MetaApi(object):
kwargs['_host_index'] = kwargs.get('_host_index')
return self.get_version_endpoint.call_with_http_info(**kwargs)
def save_wizard_config(
def save_setup_assistant_config(
self,
**kwargs
):
@ -937,12 +937,12 @@ class MetaApi(object):
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.save_wizard_config(async_req=True)
>>> thread = api.save_setup_assistant_config(async_req=True)
>>> result = thread.get()
Keyword Args:
wizard_config (WizardConfig): Configuration to save.. [optional]
setup_assistant_config (SetupAssistantConfig): Configuration to save.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@ -999,5 +999,5 @@ class MetaApi(object):
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
return self.save_wizard_config_endpoint.call_with_http_info(**kwargs)
return self.save_setup_assistant_config_endpoint.call_with_http_info(**kwargs)

@ -11,7 +11,7 @@ Method | HTTP request | Description
[**get_configuration_file**](MetaApi.md#get_configuration_file) | **GET** /api/v3/configuration/file | Retrieve the configuration of Flamenco Manager.
[**get_variables**](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.
[**get_version**](MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager
[**save_wizard_config**](MetaApi.md#save_wizard_config) | **POST** /api/v3/configuration/wizard | Update the Manager's configuration, and restart it in fully functional mode.
[**save_setup_assistant_config**](MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode.
# **check_blender_exe_path**
@ -469,8 +469,8 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **save_wizard_config**
> save_wizard_config()
# **save_setup_assistant_config**
> save_setup_assistant_config()
Update the Manager's configuration, and restart it in fully functional mode.
@ -482,7 +482,7 @@ import time
import flamenco.manager
from flamenco.manager.api import meta_api
from flamenco.manager.model.error import Error
from flamenco.manager.model.wizard_config import WizardConfig
from flamenco.manager.model.setup_assistant_config import SetupAssistantConfig
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
@ -495,7 +495,7 @@ configuration = flamenco.manager.Configuration(
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = meta_api.MetaApi(api_client)
wizard_config = WizardConfig(
setup_assistant_config = SetupAssistantConfig(
storage_location="storage_location_example",
blender_executable=BlenderPathCheckResult(
input="input_example",
@ -504,15 +504,15 @@ with flamenco.manager.ApiClient() as api_client:
is_usable=True,
cause="cause_example",
),
) # WizardConfig | Configuration to save. (optional)
) # SetupAssistantConfig | Configuration to save. (optional)
# example passing only required values which don't have defaults set
# and optional values
try:
# Update the Manager's configuration, and restart it in fully functional mode.
api_instance.save_wizard_config(wizard_config=wizard_config)
api_instance.save_setup_assistant_config(setup_assistant_config=setup_assistant_config)
except flamenco.manager.ApiException as e:
print("Exception when calling MetaApi->save_wizard_config: %s\n" % e)
print("Exception when calling MetaApi->save_setup_assistant_config: %s\n" % e)
```
@ -520,7 +520,7 @@ with flamenco.manager.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**wizard_config** | [**WizardConfig**](WizardConfig.md)| Configuration to save. | [optional]
**setup_assistant_config** | [**SetupAssistantConfig**](SetupAssistantConfig.md)| Configuration to save. | [optional]
### Return type

@ -1,6 +1,6 @@
# WizardConfig
# SetupAssistantConfig
Configuration obtained from the First-Time Wizard.
Configuration obtained from the Setup Assistant.
## Properties
Name | Type | Description | Notes

@ -34,7 +34,7 @@ def lazy_import():
globals()['BlenderPathCheckResult'] = BlenderPathCheckResult
class WizardConfig(ModelNormal):
class SetupAssistantConfig(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
@ -109,7 +109,7 @@ class WizardConfig(ModelNormal):
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, storage_location, blender_executable, *args, **kwargs): # noqa: E501
"""WizardConfig - a model defined in OpenAPI
"""SetupAssistantConfig - a model defined in OpenAPI
Args:
storage_location (str): Directory used for job file storage.
@ -196,7 +196,7 @@ class WizardConfig(ModelNormal):
@convert_js_args_to_python_args
def __init__(self, storage_location, blender_executable, *args, **kwargs): # noqa: E501
"""WizardConfig - a model defined in OpenAPI
"""SetupAssistantConfig - a model defined in OpenAPI
Args:
storage_location (str): Directory used for job file storage.

@ -43,6 +43,7 @@ from flamenco.manager.model.path_check_input import PathCheckInput
from flamenco.manager.model.path_check_result import PathCheckResult
from flamenco.manager.model.registered_worker import RegisteredWorker
from flamenco.manager.model.security_error import SecurityError
from flamenco.manager.model.setup_assistant_config import SetupAssistantConfig
from flamenco.manager.model.shaman_checkout import ShamanCheckout
from flamenco.manager.model.shaman_checkout_result import ShamanCheckoutResult
from flamenco.manager.model.shaman_file_spec import ShamanFileSpec
@ -67,7 +68,6 @@ from flamenco.manager.model.task_status_change import TaskStatusChange
from flamenco.manager.model.task_summary import TaskSummary
from flamenco.manager.model.task_update import TaskUpdate
from flamenco.manager.model.task_worker import TaskWorker
from flamenco.manager.model.wizard_config import WizardConfig
from flamenco.manager.model.worker import Worker
from flamenco.manager.model.worker_all_of import WorkerAllOf
from flamenco.manager.model.worker_list import WorkerList

@ -95,7 +95,7 @@ Class | Method | HTTP request | Description
*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_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_wizard_config**](flamenco/manager/docs/MetaApi.md#save_wizard_config) | **POST** /api/v3/configuration/wizard | Update the Manager's configuration, and restart it in fully functional mode.
*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.
@ -152,6 +152,7 @@ Class | Method | HTTP request | Description
- [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)
@ -176,7 +177,6 @@ Class | Method | HTTP request | Description
- [TaskSummary](flamenco/manager/docs/TaskSummary.md)
- [TaskUpdate](flamenco/manager/docs/TaskUpdate.md)
- [TaskWorker](flamenco/manager/docs/TaskWorker.md)
- [WizardConfig](flamenco/manager/docs/WizardConfig.md)
- [Worker](flamenco/manager/docs/Worker.md)
- [WorkerAllOf](flamenco/manager/docs/WorkerAllOf.md)
- [WorkerList](flamenco/manager/docs/WorkerList.md)

@ -656,44 +656,44 @@ func (mr *MockFlamencoClientMockRecorder) RequestWorkerStatusChangeWithResponse(
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestWorkerStatusChangeWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).RequestWorkerStatusChangeWithResponse), varargs...)
}
// SaveWizardConfigWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) SaveWizardConfigWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.SaveWizardConfigResponse, error) {
// SaveSetupAssistantConfigWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) SaveSetupAssistantConfigWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.SaveSetupAssistantConfigResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2}
for _, a := range arg3 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "SaveWizardConfigWithBodyWithResponse", varargs...)
ret0, _ := ret[0].(*api.SaveWizardConfigResponse)
ret := m.ctrl.Call(m, "SaveSetupAssistantConfigWithBodyWithResponse", varargs...)
ret0, _ := ret[0].(*api.SaveSetupAssistantConfigResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// SaveWizardConfigWithBodyWithResponse indicates an expected call of SaveWizardConfigWithBodyWithResponse.
func (mr *MockFlamencoClientMockRecorder) SaveWizardConfigWithBodyWithResponse(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
// SaveSetupAssistantConfigWithBodyWithResponse indicates an expected call of SaveSetupAssistantConfigWithBodyWithResponse.
func (mr *MockFlamencoClientMockRecorder) SaveSetupAssistantConfigWithBodyWithResponse(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{arg0, arg1, arg2}, arg3...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveWizardConfigWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SaveWizardConfigWithBodyWithResponse), varargs...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveSetupAssistantConfigWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SaveSetupAssistantConfigWithBodyWithResponse), varargs...)
}
// SaveWizardConfigWithResponse mocks base method.
func (m *MockFlamencoClient) SaveWizardConfigWithResponse(arg0 context.Context, arg1 api.SaveWizardConfigJSONRequestBody, arg2 ...api.RequestEditorFn) (*api.SaveWizardConfigResponse, error) {
// SaveSetupAssistantConfigWithResponse mocks base method.
func (m *MockFlamencoClient) SaveSetupAssistantConfigWithResponse(arg0 context.Context, arg1 api.SaveSetupAssistantConfigJSONRequestBody, arg2 ...api.RequestEditorFn) (*api.SaveSetupAssistantConfigResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1}
for _, a := range arg2 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "SaveWizardConfigWithResponse", varargs...)
ret0, _ := ret[0].(*api.SaveWizardConfigResponse)
ret := m.ctrl.Call(m, "SaveSetupAssistantConfigWithResponse", varargs...)
ret0, _ := ret[0].(*api.SaveSetupAssistantConfigResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// SaveWizardConfigWithResponse indicates an expected call of SaveWizardConfigWithResponse.
func (mr *MockFlamencoClientMockRecorder) SaveWizardConfigWithResponse(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
// SaveSetupAssistantConfigWithResponse indicates an expected call of SaveSetupAssistantConfigWithResponse.
func (mr *MockFlamencoClientMockRecorder) SaveSetupAssistantConfigWithResponse(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{arg0, arg1}, arg2...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveWizardConfigWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SaveWizardConfigWithResponse), varargs...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveSetupAssistantConfigWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SaveSetupAssistantConfigWithResponse), varargs...)
}
// ScheduleTaskWithResponse mocks base method.

@ -111,14 +111,14 @@ type ClientInterface interface {
// GetConfigurationFile request
GetConfigurationFile(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// SaveSetupAssistantConfig request with any body
SaveSetupAssistantConfigWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
SaveSetupAssistantConfig(ctx context.Context, body SaveSetupAssistantConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetVariables request
GetVariables(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*http.Response, error)
// SaveWizardConfig request with any body
SaveWizardConfigWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
SaveWizardConfig(ctx context.Context, body SaveWizardConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// SubmitJob request with any body
SubmitJobWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
@ -332,6 +332,30 @@ func (c *Client) GetConfigurationFile(ctx context.Context, reqEditors ...Request
return c.Client.Do(req)
}
func (c *Client) SaveSetupAssistantConfigWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSaveSetupAssistantConfigRequestWithBody(c.Server, contentType, body)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) SaveSetupAssistantConfig(ctx context.Context, body SaveSetupAssistantConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSaveSetupAssistantConfigRequest(c.Server, body)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetVariables(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetVariablesRequest(c.Server, audience, platform)
if err != nil {
@ -344,30 +368,6 @@ func (c *Client) GetVariables(ctx context.Context, audience ManagerVariableAudie
return c.Client.Do(req)
}
func (c *Client) SaveWizardConfigWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSaveWizardConfigRequestWithBody(c.Server, contentType, body)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) SaveWizardConfig(ctx context.Context, body SaveWizardConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSaveWizardConfigRequest(c.Server, body)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) SubmitJobWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSubmitJobRequestWithBody(c.Server, contentType, body)
if err != nil {
@ -1093,6 +1093,46 @@ func NewGetConfigurationFileRequest(server string) (*http.Request, error) {
return req, nil
}
// NewSaveSetupAssistantConfigRequest calls the generic SaveSetupAssistantConfig builder with application/json body
func NewSaveSetupAssistantConfigRequest(server string, body SaveSetupAssistantConfigJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewSaveSetupAssistantConfigRequestWithBody(server, "application/json", bodyReader)
}
// NewSaveSetupAssistantConfigRequestWithBody generates requests for SaveSetupAssistantConfig with any type of body
func NewSaveSetupAssistantConfigRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/configuration/setup-assistant")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewGetVariablesRequest generates requests for GetVariables
func NewGetVariablesRequest(server string, audience ManagerVariableAudience, platform string) (*http.Request, error) {
var err error
@ -1134,46 +1174,6 @@ func NewGetVariablesRequest(server string, audience ManagerVariableAudience, pla
return req, nil
}
// NewSaveWizardConfigRequest calls the generic SaveWizardConfig builder with application/json body
func NewSaveWizardConfigRequest(server string, body SaveWizardConfigJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewSaveWizardConfigRequestWithBody(server, "application/json", bodyReader)
}
// NewSaveWizardConfigRequestWithBody generates requests for SaveWizardConfig with any type of body
func NewSaveWizardConfigRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/configuration/wizard")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewSubmitJobRequest calls the generic SubmitJob builder with application/json body
func NewSubmitJobRequest(server string, body SubmitJobJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
@ -2503,14 +2503,14 @@ type ClientWithResponsesInterface interface {
// GetConfigurationFile request
GetConfigurationFileWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetConfigurationFileResponse, error)
// SaveSetupAssistantConfig request with any body
SaveSetupAssistantConfigWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SaveSetupAssistantConfigResponse, error)
SaveSetupAssistantConfigWithResponse(ctx context.Context, body SaveSetupAssistantConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*SaveSetupAssistantConfigResponse, error)
// GetVariables request
GetVariablesWithResponse(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*GetVariablesResponse, error)
// SaveWizardConfig request with any body
SaveWizardConfigWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SaveWizardConfigResponse, error)
SaveWizardConfigWithResponse(ctx context.Context, body SaveWizardConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*SaveWizardConfigResponse, error)
// SubmitJob request with any body
SubmitJobWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubmitJobResponse, error)
@ -2756,6 +2756,28 @@ func (r GetConfigurationFileResponse) StatusCode() int {
return 0
}
type SaveSetupAssistantConfigResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r SaveSetupAssistantConfigResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r SaveSetupAssistantConfigResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetVariablesResponse struct {
Body []byte
HTTPResponse *http.Response
@ -2778,28 +2800,6 @@ func (r GetVariablesResponse) StatusCode() int {
return 0
}
type SaveWizardConfigResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r SaveWizardConfigResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r SaveWizardConfigResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type SubmitJobResponse struct {
Body []byte
HTTPResponse *http.Response
@ -3631,6 +3631,23 @@ func (c *ClientWithResponses) GetConfigurationFileWithResponse(ctx context.Conte
return ParseGetConfigurationFileResponse(rsp)
}
// SaveSetupAssistantConfigWithBodyWithResponse request with arbitrary body returning *SaveSetupAssistantConfigResponse
func (c *ClientWithResponses) SaveSetupAssistantConfigWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SaveSetupAssistantConfigResponse, error) {
rsp, err := c.SaveSetupAssistantConfigWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSaveSetupAssistantConfigResponse(rsp)
}
func (c *ClientWithResponses) SaveSetupAssistantConfigWithResponse(ctx context.Context, body SaveSetupAssistantConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*SaveSetupAssistantConfigResponse, error) {
rsp, err := c.SaveSetupAssistantConfig(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSaveSetupAssistantConfigResponse(rsp)
}
// GetVariablesWithResponse request returning *GetVariablesResponse
func (c *ClientWithResponses) GetVariablesWithResponse(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*GetVariablesResponse, error) {
rsp, err := c.GetVariables(ctx, audience, platform, reqEditors...)
@ -3640,23 +3657,6 @@ func (c *ClientWithResponses) GetVariablesWithResponse(ctx context.Context, audi
return ParseGetVariablesResponse(rsp)
}
// SaveWizardConfigWithBodyWithResponse request with arbitrary body returning *SaveWizardConfigResponse
func (c *ClientWithResponses) SaveWizardConfigWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SaveWizardConfigResponse, error) {
rsp, err := c.SaveWizardConfigWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSaveWizardConfigResponse(rsp)
}
func (c *ClientWithResponses) SaveWizardConfigWithResponse(ctx context.Context, body SaveWizardConfigJSONRequestBody, reqEditors ...RequestEditorFn) (*SaveWizardConfigResponse, error) {
rsp, err := c.SaveWizardConfig(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSaveWizardConfigResponse(rsp)
}
// SubmitJobWithBodyWithResponse request with arbitrary body returning *SubmitJobResponse
func (c *ClientWithResponses) SubmitJobWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubmitJobResponse, error) {
rsp, err := c.SubmitJobWithBody(ctx, contentType, body, reqEditors...)
@ -4227,6 +4227,32 @@ func ParseGetConfigurationFileResponse(rsp *http.Response) (*GetConfigurationFil
return response, nil
}
// ParseSaveSetupAssistantConfigResponse parses an HTTP response from a SaveSetupAssistantConfigWithResponse call
func ParseSaveSetupAssistantConfigResponse(rsp *http.Response) (*SaveSetupAssistantConfigResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &SaveSetupAssistantConfigResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true:
var dest Error
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSONDefault = &dest
}
return response, nil
}
// ParseGetVariablesResponse parses an HTTP response from a GetVariablesWithResponse call
func ParseGetVariablesResponse(rsp *http.Response) (*GetVariablesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
@ -4253,32 +4279,6 @@ func ParseGetVariablesResponse(rsp *http.Response) (*GetVariablesResponse, error
return response, nil
}
// ParseSaveWizardConfigResponse parses an HTTP response from a SaveWizardConfigWithResponse call
func ParseSaveWizardConfigResponse(rsp *http.Response) (*SaveWizardConfigResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &SaveWizardConfigResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true:
var dest Error
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSONDefault = &dest
}
return response, nil
}
// ParseSubmitJobResponse parses an HTTP response from a SubmitJobWithResponse call
func ParseSubmitJobResponse(rsp *http.Response) (*SubmitJobResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)

@ -28,12 +28,12 @@ type ServerInterface interface {
// Retrieve the configuration of Flamenco Manager.
// (GET /api/v3/configuration/file)
GetConfigurationFile(ctx echo.Context) error
// Update the Manager's configuration, and restart it in fully functional mode.
// (POST /api/v3/configuration/setup-assistant)
SaveSetupAssistantConfig(ctx echo.Context) error
// 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.
// (GET /api/v3/configuration/variables/{audience}/{platform})
GetVariables(ctx echo.Context, audience ManagerVariableAudience, platform string) error
// Update the Manager's configuration, and restart it in fully functional mode.
// (POST /api/v3/configuration/wizard)
SaveWizardConfig(ctx echo.Context) error
// Submit a new job for Flamenco Manager to execute.
// (POST /api/v3/jobs)
SubmitJob(ctx echo.Context) error
@ -189,6 +189,15 @@ func (w *ServerInterfaceWrapper) GetConfigurationFile(ctx echo.Context) error {
return err
}
// SaveSetupAssistantConfig converts echo context to params.
func (w *ServerInterfaceWrapper) SaveSetupAssistantConfig(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SaveSetupAssistantConfig(ctx)
return err
}
// GetVariables converts echo context to params.
func (w *ServerInterfaceWrapper) GetVariables(ctx echo.Context) error {
var err error
@ -213,15 +222,6 @@ func (w *ServerInterfaceWrapper) GetVariables(ctx echo.Context) error {
return err
}
// SaveWizardConfig converts echo context to params.
func (w *ServerInterfaceWrapper) SaveWizardConfig(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SaveWizardConfig(ctx)
return err
}
// SubmitJob converts echo context to params.
func (w *ServerInterfaceWrapper) SubmitJob(ctx echo.Context) error {
var err error
@ -768,8 +768,8 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
router.POST(baseURL+"/api/v3/configuration/check/blender", wrapper.CheckBlenderExePath)
router.POST(baseURL+"/api/v3/configuration/check/shared-storage", wrapper.CheckSharedStoragePath)
router.GET(baseURL+"/api/v3/configuration/file", wrapper.GetConfigurationFile)
router.POST(baseURL+"/api/v3/configuration/setup-assistant", wrapper.SaveSetupAssistantConfig)
router.GET(baseURL+"/api/v3/configuration/variables/:audience/:platform", wrapper.GetVariables)
router.POST(baseURL+"/api/v3/configuration/wizard", wrapper.SaveWizardConfig)
router.POST(baseURL+"/api/v3/jobs", wrapper.SubmitJob)
router.GET(baseURL+"/api/v3/jobs/last-rendered", wrapper.FetchGlobalLastRenderedInfo)
router.POST(baseURL+"/api/v3/jobs/query", wrapper.QueryJobs)

@ -18,184 +18,184 @@ import (
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
}
// GetSwagger returns the content of the embedded swagger specification file

@ -421,6 +421,14 @@ type SecurityError struct {
Message string `json:"message"`
}
// Configuration obtained from the Setup Assistant.
type SetupAssistantConfig struct {
BlenderExecutable BlenderPathCheckResult `json:"blenderExecutable"`
// Directory used for job file storage.
StorageLocation string `json:"storageLocation"`
}
// Set of files with their SHA256 checksum, size in bytes, and desired location in the checkout directory.
type ShamanCheckout struct {
// Path where the Manager should create this checkout. It is relative to the Shaman checkout path as configured on the Manager. In older versions of the Shaman this was just the "checkout ID", but in this version it can be a path like `project-slug/scene-name/unique-ID`.
@ -656,14 +664,6 @@ type TaskWorker struct {
Name string `json:"name"`
}
// Configuration obtained from the First-Time Wizard.
type WizardConfig struct {
BlenderExecutable BlenderPathCheckResult `json:"blenderExecutable"`
// Directory used for job file storage.
StorageLocation string `json:"storageLocation"`
}
// Worker defines model for Worker.
type Worker struct {
// Embedded struct due to allOf(#/components/schemas/WorkerSummary)
@ -749,8 +749,8 @@ type CheckBlenderExePathJSONBody PathCheckInput
// CheckSharedStoragePathJSONBody defines parameters for CheckSharedStoragePath.
type CheckSharedStoragePathJSONBody PathCheckInput
// SaveWizardConfigJSONBody defines parameters for SaveWizardConfig.
type SaveWizardConfigJSONBody WizardConfig
// SaveSetupAssistantConfigJSONBody defines parameters for SaveSetupAssistantConfig.
type SaveSetupAssistantConfigJSONBody SetupAssistantConfig
// SubmitJobJSONBody defines parameters for SubmitJob.
type SubmitJobJSONBody SubmittedJob
@ -806,8 +806,8 @@ type CheckBlenderExePathJSONRequestBody CheckBlenderExePathJSONBody
// CheckSharedStoragePathJSONRequestBody defines body for CheckSharedStoragePath for application/json ContentType.
type CheckSharedStoragePathJSONRequestBody CheckSharedStoragePathJSONBody
// SaveWizardConfigJSONRequestBody defines body for SaveWizardConfig for application/json ContentType.
type SaveWizardConfigJSONRequestBody SaveWizardConfigJSONBody
// SaveSetupAssistantConfigJSONRequestBody defines body for SaveSetupAssistantConfig for application/json ContentType.
type SaveSetupAssistantConfigJSONRequestBody SaveSetupAssistantConfigJSONBody
// SubmitJobJSONRequestBody defines body for SubmitJob for application/json ContentType.
type SubmitJobJSONRequestBody SubmitJobJSONBody

@ -42,6 +42,7 @@ import PathCheckInput from './model/PathCheckInput';
import PathCheckResult from './model/PathCheckResult';
import RegisteredWorker from './model/RegisteredWorker';
import SecurityError from './model/SecurityError';
import SetupAssistantConfig from './model/SetupAssistantConfig';
import ShamanCheckout from './model/ShamanCheckout';
import ShamanCheckoutResult from './model/ShamanCheckoutResult';
import ShamanFileSpec from './model/ShamanFileSpec';
@ -66,7 +67,6 @@ import TaskStatusChange from './model/TaskStatusChange';
import TaskSummary from './model/TaskSummary';
import TaskUpdate from './model/TaskUpdate';
import TaskWorker from './model/TaskWorker';
import WizardConfig from './model/WizardConfig';
import Worker from './model/Worker';
import WorkerAllOf from './model/WorkerAllOf';
import WorkerList from './model/WorkerList';
@ -297,6 +297,12 @@ export {
*/
SecurityError,
/**
* The SetupAssistantConfig model constructor.
* @property {module:model/SetupAssistantConfig}
*/
SetupAssistantConfig,
/**
* The ShamanCheckout model constructor.
* @property {module:model/ShamanCheckout}
@ -441,12 +447,6 @@ export {
*/
TaskWorker,
/**
* The WizardConfig model constructor.
* @property {module:model/WizardConfig}
*/
WizardConfig,
/**
* The Worker model constructor.
* @property {module:model/Worker}

@ -21,7 +21,7 @@ import ManagerVariable from '../model/ManagerVariable';
import ManagerVariableAudience from '../model/ManagerVariableAudience';
import PathCheckInput from '../model/PathCheckInput';
import PathCheckResult from '../model/PathCheckResult';
import WizardConfig from '../model/WizardConfig';
import SetupAssistantConfig from '../model/SetupAssistantConfig';
/**
* Meta service.
@ -343,12 +343,12 @@ export default class MetaApi {
/**
* Update the Manager's configuration, and restart it in fully functional mode.
* @param {Object} opts Optional parameters
* @param {module:model/WizardConfig} opts.wizardConfig Configuration to save.
* @param {module:model/SetupAssistantConfig} opts.setupAssistantConfig Configuration to save.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
saveWizardConfigWithHttpInfo(opts) {
saveSetupAssistantConfigWithHttpInfo(opts) {
opts = opts || {};
let postBody = opts['wizardConfig'];
let postBody = opts['setupAssistantConfig'];
let pathParams = {
};
@ -364,7 +364,7 @@ export default class MetaApi {
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/configuration/wizard', 'POST',
'/api/v3/configuration/setup-assistant', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
@ -373,11 +373,11 @@ export default class MetaApi {
/**
* Update the Manager's configuration, and restart it in fully functional mode.
* @param {Object} opts Optional parameters
* @param {module:model/WizardConfig} opts.wizardConfig Configuration to save.
* @param {module:model/SetupAssistantConfig} opts.setupAssistantConfig Configuration to save.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
saveWizardConfig(opts) {
return this.saveWizardConfigWithHttpInfo(opts)
saveSetupAssistantConfig(opts) {
return this.saveSetupAssistantConfigWithHttpInfo(opts)
.then(function(response_and_data) {
return response_and_data.data;
});

@ -15,21 +15,21 @@ import ApiClient from '../ApiClient';
import BlenderPathCheckResult from './BlenderPathCheckResult';
/**
* The WizardConfig model module.
* @module model/WizardConfig
* The SetupAssistantConfig model module.
* @module model/SetupAssistantConfig
* @version 0.0.0
*/
class WizardConfig {
class SetupAssistantConfig {
/**
* Constructs a new <code>WizardConfig</code>.
* Configuration obtained from the First-Time Wizard.
* @alias module:model/WizardConfig
* Constructs a new <code>SetupAssistantConfig</code>.
* Configuration obtained from the Setup Assistant.
* @alias module:model/SetupAssistantConfig
* @param storageLocation {String} Directory used for job file storage.
* @param blenderExecutable {module:model/BlenderPathCheckResult}
*/
constructor(storageLocation, blenderExecutable) {
WizardConfig.initialize(this, storageLocation, blenderExecutable);
SetupAssistantConfig.initialize(this, storageLocation, blenderExecutable);
}
/**
@ -43,15 +43,15 @@ class WizardConfig {
}
/**
* Constructs a <code>WizardConfig</code> from a plain JavaScript object, optionally creating a new instance.
* Constructs a <code>SetupAssistantConfig</code> from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:model/WizardConfig} obj Optional instance to populate.
* @return {module:model/WizardConfig} The populated <code>WizardConfig</code> instance.
* @param {module:model/SetupAssistantConfig} obj Optional instance to populate.
* @return {module:model/SetupAssistantConfig} The populated <code>SetupAssistantConfig</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new WizardConfig();
obj = obj || new SetupAssistantConfig();
if (data.hasOwnProperty('storageLocation')) {
obj['storageLocation'] = ApiClient.convertToType(data['storageLocation'], 'String');
@ -70,17 +70,17 @@ class WizardConfig {
* Directory used for job file storage.
* @member {String} storageLocation
*/
WizardConfig.prototype['storageLocation'] = undefined;
SetupAssistantConfig.prototype['storageLocation'] = undefined;
/**
* @member {module:model/BlenderPathCheckResult} blenderExecutable
*/
WizardConfig.prototype['blenderExecutable'] = undefined;
SetupAssistantConfig.prototype['blenderExecutable'] = undefined;
export default WizardConfig;
export default SetupAssistantConfig;