OAPI: regenerate code

This commit is contained in:
Sybren A. Stüvel 2023-04-04 12:18:17 +02:00
parent cbbf7b01d6
commit 675d966263
33 changed files with 3927 additions and 199 deletions

View File

@ -23,6 +23,9 @@ from flamenco.manager.model_utils import ( # noqa: F401
) )
from flamenco.manager.model.error import Error from flamenco.manager.model.error import Error
from flamenco.manager.model.worker import Worker from flamenco.manager.model.worker import Worker
from flamenco.manager.model.worker_cluster import WorkerCluster
from flamenco.manager.model.worker_cluster_change_request import WorkerClusterChangeRequest
from flamenco.manager.model.worker_cluster_list import WorkerClusterList
from flamenco.manager.model.worker_list import WorkerList from flamenco.manager.model.worker_list import WorkerList
from flamenco.manager.model.worker_sleep_schedule import WorkerSleepSchedule from flamenco.manager.model.worker_sleep_schedule import WorkerSleepSchedule
from flamenco.manager.model.worker_status_change_request import WorkerStatusChangeRequest from flamenco.manager.model.worker_status_change_request import WorkerStatusChangeRequest
@ -39,6 +42,56 @@ class WorkerMgtApi(object):
if api_client is None: if api_client is None:
api_client = ApiClient() api_client = ApiClient()
self.api_client = api_client self.api_client = api_client
self.create_worker_cluster_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/clusters',
'operation_id': 'create_worker_cluster',
'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
'worker_cluster',
],
'required': [
'worker_cluster',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'worker_cluster':
(WorkerCluster,),
},
'attribute_map': {
},
'location_map': {
'worker_cluster': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [
'application/json'
]
},
api_client=api_client
)
self.delete_worker_endpoint = _Endpoint( self.delete_worker_endpoint = _Endpoint(
settings={ settings={
'response_type': None, 'response_type': None,
@ -88,6 +141,55 @@ class WorkerMgtApi(object):
}, },
api_client=api_client api_client=api_client
) )
self.delete_worker_cluster_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/cluster/{cluster_id}',
'operation_id': 'delete_worker_cluster',
'http_method': 'DELETE',
'servers': None,
},
params_map={
'all': [
'cluster_id',
],
'required': [
'cluster_id',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'cluster_id':
(str,),
},
'attribute_map': {
'cluster_id': 'cluster_id',
},
'location_map': {
'cluster_id': 'path',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [],
},
api_client=api_client
)
self.fetch_worker_endpoint = _Endpoint( self.fetch_worker_endpoint = _Endpoint(
settings={ settings={
'response_type': (Worker,), 'response_type': (Worker,),
@ -137,6 +239,97 @@ class WorkerMgtApi(object):
}, },
api_client=api_client api_client=api_client
) )
self.fetch_worker_cluster_endpoint = _Endpoint(
settings={
'response_type': (WorkerCluster,),
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/cluster/{cluster_id}',
'operation_id': 'fetch_worker_cluster',
'http_method': 'GET',
'servers': None,
},
params_map={
'all': [
'cluster_id',
],
'required': [
'cluster_id',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'cluster_id':
(str,),
},
'attribute_map': {
'cluster_id': 'cluster_id',
},
'location_map': {
'cluster_id': 'path',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [],
},
api_client=api_client
)
self.fetch_worker_clusters_endpoint = _Endpoint(
settings={
'response_type': (WorkerClusterList,),
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/clusters',
'operation_id': 'fetch_worker_clusters',
'http_method': 'GET',
'servers': None,
},
params_map={
'all': [
],
'required': [],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
},
'attribute_map': {
},
'location_map': {
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [],
},
api_client=api_client
)
self.fetch_worker_sleep_schedule_endpoint = _Endpoint( self.fetch_worker_sleep_schedule_endpoint = _Endpoint(
settings={ settings={
'response_type': (WorkerSleepSchedule,), 'response_type': (WorkerSleepSchedule,),
@ -284,6 +477,62 @@ class WorkerMgtApi(object):
}, },
api_client=api_client api_client=api_client
) )
self.set_worker_clusters_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/workers/{worker_id}/setclusters',
'operation_id': 'set_worker_clusters',
'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
'worker_id',
'worker_cluster_change_request',
],
'required': [
'worker_id',
'worker_cluster_change_request',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'worker_id':
(str,),
'worker_cluster_change_request':
(WorkerClusterChangeRequest,),
},
'attribute_map': {
'worker_id': 'worker_id',
},
'location_map': {
'worker_id': 'path',
'worker_cluster_change_request': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [
'application/json'
]
},
api_client=api_client
)
self.set_worker_sleep_schedule_endpoint = _Endpoint( self.set_worker_sleep_schedule_endpoint = _Endpoint(
settings={ settings={
'response_type': None, 'response_type': None,
@ -340,6 +589,139 @@ class WorkerMgtApi(object):
}, },
api_client=api_client api_client=api_client
) )
self.update_worker_cluster_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/worker-mgt/cluster/{cluster_id}',
'operation_id': 'update_worker_cluster',
'http_method': 'PUT',
'servers': None,
},
params_map={
'all': [
'cluster_id',
'worker_cluster',
],
'required': [
'cluster_id',
'worker_cluster',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'cluster_id':
(str,),
'worker_cluster':
(WorkerCluster,),
},
'attribute_map': {
'cluster_id': 'cluster_id',
},
'location_map': {
'cluster_id': 'path',
'worker_cluster': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [
'application/json'
]
},
api_client=api_client
)
def create_worker_cluster(
self,
worker_cluster,
**kwargs
):
"""Create a new worker cluster. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_worker_cluster(worker_cluster, async_req=True)
>>> result = thread.get()
Args:
worker_cluster (WorkerCluster): The worker cluster.
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
None
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['worker_cluster'] = \
worker_cluster
return self.create_worker_cluster_endpoint.call_with_http_info(**kwargs)
def delete_worker( def delete_worker(
self, self,
@ -418,6 +800,83 @@ class WorkerMgtApi(object):
worker_id worker_id
return self.delete_worker_endpoint.call_with_http_info(**kwargs) return self.delete_worker_endpoint.call_with_http_info(**kwargs)
def delete_worker_cluster(
self,
cluster_id,
**kwargs
):
"""Remove this worker cluster. This unassigns all workers from the cluster and removes it. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.delete_worker_cluster(cluster_id, async_req=True)
>>> result = thread.get()
Args:
cluster_id (str):
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
None
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['cluster_id'] = \
cluster_id
return self.delete_worker_cluster_endpoint.call_with_http_info(**kwargs)
def fetch_worker( def fetch_worker(
self, self,
worker_id, worker_id,
@ -495,6 +954,155 @@ class WorkerMgtApi(object):
worker_id worker_id
return self.fetch_worker_endpoint.call_with_http_info(**kwargs) return self.fetch_worker_endpoint.call_with_http_info(**kwargs)
def fetch_worker_cluster(
self,
cluster_id,
**kwargs
):
"""Get a single worker cluster. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.fetch_worker_cluster(cluster_id, async_req=True)
>>> result = thread.get()
Args:
cluster_id (str):
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
WorkerCluster
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['cluster_id'] = \
cluster_id
return self.fetch_worker_cluster_endpoint.call_with_http_info(**kwargs)
def fetch_worker_clusters(
self,
**kwargs
):
"""Get list of worker clusters. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.fetch_worker_clusters(async_req=True)
>>> result = thread.get()
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
WorkerClusterList
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
return self.fetch_worker_clusters_endpoint.call_with_http_info(**kwargs)
def fetch_worker_sleep_schedule( def fetch_worker_sleep_schedule(
self, self,
worker_id, worker_id,
@ -725,6 +1333,87 @@ class WorkerMgtApi(object):
worker_status_change_request worker_status_change_request
return self.request_worker_status_change_endpoint.call_with_http_info(**kwargs) return self.request_worker_status_change_endpoint.call_with_http_info(**kwargs)
def set_worker_clusters(
self,
worker_id,
worker_cluster_change_request,
**kwargs
):
"""set_worker_clusters # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.set_worker_clusters(worker_id, worker_cluster_change_request, async_req=True)
>>> result = thread.get()
Args:
worker_id (str):
worker_cluster_change_request (WorkerClusterChangeRequest): The list of cluster IDs this worker should be a member of.
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
None
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['worker_id'] = \
worker_id
kwargs['worker_cluster_change_request'] = \
worker_cluster_change_request
return self.set_worker_clusters_endpoint.call_with_http_info(**kwargs)
def set_worker_sleep_schedule( def set_worker_sleep_schedule(
self, self,
worker_id, worker_id,
@ -806,3 +1495,84 @@ class WorkerMgtApi(object):
worker_sleep_schedule worker_sleep_schedule
return self.set_worker_sleep_schedule_endpoint.call_with_http_info(**kwargs) return self.set_worker_sleep_schedule_endpoint.call_with_http_info(**kwargs)
def update_worker_cluster(
self,
cluster_id,
worker_cluster,
**kwargs
):
"""Update an existing worker cluster. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_worker_cluster(cluster_id, worker_cluster, async_req=True)
>>> result = thread.get()
Args:
cluster_id (str):
worker_cluster (WorkerCluster): The updated worker cluster.
Keyword Args:
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
async_req (bool): execute request asynchronously
Returns:
None
If the method is called asynchronously, returns the request
thread.
"""
kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['cluster_id'] = \
cluster_id
kwargs['worker_cluster'] = \
worker_cluster
return self.update_worker_cluster_endpoint.call_with_http_info(**kwargs)

View File

@ -17,6 +17,7 @@ Name | Type | Description | Notes
**settings** | [**JobSettings**](JobSettings.md) | | [optional] **settings** | [**JobSettings**](JobSettings.md) | | [optional]
**metadata** | [**JobMetadata**](JobMetadata.md) | | [optional] **metadata** | [**JobMetadata**](JobMetadata.md) | | [optional]
**storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional] **storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional]
**worker_cluster** | **str** | Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. | [optional]
**delete_requested_at** | **datetime** | If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. | [optional] **delete_requested_at** | **datetime** | If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. | [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] **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]

View File

@ -1225,6 +1225,7 @@ with flamenco.manager.ApiClient() as api_client:
storage=JobStorageInfo( storage=JobStorageInfo(
shaman_checkout_id="shaman_checkout_id_example", shaman_checkout_id="shaman_checkout_id_example",
), ),
worker_cluster="worker_cluster_example",
) # SubmittedJob | Job to submit ) # SubmittedJob | Job to submit
# example passing only required values which don't have defaults set # example passing only required values which don't have defaults set
@ -1306,6 +1307,7 @@ with flamenco.manager.ApiClient() as api_client:
storage=JobStorageInfo( storage=JobStorageInfo(
shaman_checkout_id="shaman_checkout_id_example", shaman_checkout_id="shaman_checkout_id_example",
), ),
worker_cluster="worker_cluster_example",
) # SubmittedJob | Job to check ) # SubmittedJob | Job to check
# example passing only required values which don't have defaults set # example passing only required values which don't have defaults set

View File

@ -13,6 +13,7 @@ Name | Type | Description | Notes
**settings** | [**JobSettings**](JobSettings.md) | | [optional] **settings** | [**JobSettings**](JobSettings.md) | | [optional]
**metadata** | [**JobMetadata**](JobMetadata.md) | | [optional] **metadata** | [**JobMetadata**](JobMetadata.md) | | [optional]
**storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional] **storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional]
**worker_cluster** | **str** | Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. | [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] **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) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -15,6 +15,7 @@ Name | Type | Description | Notes
**status_change** | [**WorkerStatusChangeRequest**](WorkerStatusChangeRequest.md) | | [optional] **status_change** | [**WorkerStatusChangeRequest**](WorkerStatusChangeRequest.md) | | [optional]
**last_seen** | **datetime** | Last time this worker was seen by the Manager. | [optional] **last_seen** | **datetime** | Last time this worker was seen by the Manager. | [optional]
**task** | [**WorkerTask**](WorkerTask.md) | | [optional] **task** | [**WorkerTask**](WorkerTask.md) | | [optional]
**clusters** | [**[WorkerCluster]**](WorkerCluster.md) | Clusters of which this Worker is a member. | [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] **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) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -8,6 +8,7 @@ Name | Type | Description | Notes
**platform** | **str** | Operating system of the Worker | **platform** | **str** | Operating system of the Worker |
**supported_task_types** | **[str]** | | **supported_task_types** | **[str]** | |
**task** | [**WorkerTask**](WorkerTask.md) | | [optional] **task** | [**WorkerTask**](WorkerTask.md) | | [optional]
**clusters** | [**[WorkerCluster]**](WorkerCluster.md) | Clusters of which this Worker is a member. | [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] **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) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# WorkerCluster
Cluster of workers. A job can optionally specify which cluster it should be limited to. Workers can be part of multiple clusters simultaneously.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | |
**name** | **str** | |
**description** | **str** | | [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)

View File

@ -0,0 +1,13 @@
# WorkerClusterChangeRequest
Request to change which clusters this Worker is assigned to.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**cluster_ids** | **[str]** | |
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,12 @@
# WorkerClusterList
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**clusters** | [**[WorkerCluster]**](WorkerCluster.md) | | [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)

View File

@ -4,14 +4,90 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description Method | HTTP request | Description
------------- | ------------- | ------------- ------------- | ------------- | -------------
[**create_worker_cluster**](WorkerMgtApi.md#create_worker_cluster) | **POST** /api/v3/worker-mgt/clusters | Create a new worker cluster.
[**delete_worker**](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. [**delete_worker**](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.
[**delete_worker_cluster**](WorkerMgtApi.md#delete_worker_cluster) | **DELETE** /api/v3/worker-mgt/cluster/{cluster_id} | Remove this worker cluster. This unassigns all workers from the cluster and removes it.
[**fetch_worker**](WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker. [**fetch_worker**](WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker.
[**fetch_worker_cluster**](WorkerMgtApi.md#fetch_worker_cluster) | **GET** /api/v3/worker-mgt/cluster/{cluster_id} | Get a single worker cluster.
[**fetch_worker_clusters**](WorkerMgtApi.md#fetch_worker_clusters) | **GET** /api/v3/worker-mgt/clusters | Get list of worker clusters.
[**fetch_worker_sleep_schedule**](WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | [**fetch_worker_sleep_schedule**](WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule |
[**fetch_workers**](WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. [**fetch_workers**](WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers.
[**request_worker_status_change**](WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus | [**request_worker_status_change**](WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus |
[**set_worker_clusters**](WorkerMgtApi.md#set_worker_clusters) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setclusters |
[**set_worker_sleep_schedule**](WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | [**set_worker_sleep_schedule**](WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule |
[**update_worker_cluster**](WorkerMgtApi.md#update_worker_cluster) | **PUT** /api/v3/worker-mgt/cluster/{cluster_id} | Update an existing worker cluster.
# **create_worker_cluster**
> create_worker_cluster(worker_cluster)
Create a new worker cluster.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.error import Error
from flamenco.manager.model.worker_cluster import WorkerCluster
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
worker_cluster = WorkerCluster(
id="id_example",
name="name_example",
description="description_example",
) # WorkerCluster | The worker cluster.
# example passing only required values which don't have defaults set
try:
# Create a new worker cluster.
api_instance.create_worker_cluster(worker_cluster)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->create_worker_cluster: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**worker_cluster** | [**WorkerCluster**](WorkerCluster.md)| The worker cluster. |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | The cluster was created. | - |
**0** | Error message | - |
[[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)
# **delete_worker** # **delete_worker**
> delete_worker(worker_id) > delete_worker(worker_id)
@ -77,6 +153,71 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_worker_cluster**
> delete_worker_cluster(cluster_id)
Remove this worker cluster. This unassigns all workers from the cluster and removes it.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
cluster_id = "cluster_id_example" # str |
# example passing only required values which don't have defaults set
try:
# Remove this worker cluster. This unassigns all workers from the cluster and removes it.
api_instance.delete_worker_cluster(cluster_id)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->delete_worker_cluster: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**cluster_id** | **str**| |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | The cluster has been removed. | - |
**0** | Unexpected error. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **fetch_worker** # **fetch_worker**
> Worker fetch_worker(worker_id) > Worker fetch_worker(worker_id)
@ -142,6 +283,132 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **fetch_worker_cluster**
> WorkerCluster fetch_worker_cluster(cluster_id)
Get a single worker cluster.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.worker_cluster import WorkerCluster
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
cluster_id = "cluster_id_example" # str |
# example passing only required values which don't have defaults set
try:
# Get a single worker cluster.
api_response = api_instance.fetch_worker_cluster(cluster_id)
pprint(api_response)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->fetch_worker_cluster: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**cluster_id** | **str**| |
### Return type
[**WorkerCluster**](WorkerCluster.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | The worker cluster. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **fetch_worker_clusters**
> WorkerClusterList fetch_worker_clusters()
Get list of worker clusters.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.worker_cluster_list import WorkerClusterList
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
# example, this endpoint has no required or optional parameters
try:
# Get list of worker clusters.
api_response = api_instance.fetch_worker_clusters()
pprint(api_response)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->fetch_worker_clusters: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**WorkerClusterList**](WorkerClusterList.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Worker clusters. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **fetch_worker_sleep_schedule** # **fetch_worker_sleep_schedule**
> WorkerSleepSchedule fetch_worker_sleep_schedule(worker_id) > WorkerSleepSchedule fetch_worker_sleep_schedule(worker_id)
@ -331,6 +598,77 @@ No authorization required
- **Accept**: application/json - **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | Status change was accepted. | - |
**0** | Unexpected error. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_worker_clusters**
> set_worker_clusters(worker_id, worker_cluster_change_request)
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.error import Error
from flamenco.manager.model.worker_cluster_change_request import WorkerClusterChangeRequest
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
worker_id = "worker_id_example" # str |
worker_cluster_change_request = WorkerClusterChangeRequest(
cluster_ids=[
"cluster_ids_example",
],
) # WorkerClusterChangeRequest | The list of cluster IDs this worker should be a member of.
# example passing only required values which don't have defaults set
try:
api_instance.set_worker_clusters(worker_id, worker_cluster_change_request)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->set_worker_clusters: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**worker_id** | **str**| |
**worker_cluster_change_request** | [**WorkerClusterChangeRequest**](WorkerClusterChangeRequest.md)| The list of cluster IDs this worker should be a member of. |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details ### HTTP response details
| Status code | Description | Response headers | | Status code | Description | Response headers |
@ -412,3 +750,75 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **update_worker_cluster**
> update_worker_cluster(cluster_id, worker_cluster)
Update an existing worker cluster.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import worker_mgt_api
from flamenco.manager.model.error import Error
from flamenco.manager.model.worker_cluster import WorkerCluster
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = worker_mgt_api.WorkerMgtApi(api_client)
cluster_id = "cluster_id_example" # str |
worker_cluster = WorkerCluster(
id="id_example",
name="name_example",
description="description_example",
) # WorkerCluster | The updated worker cluster.
# example passing only required values which don't have defaults set
try:
# Update an existing worker cluster.
api_instance.update_worker_cluster(cluster_id, worker_cluster)
except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->update_worker_cluster: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**cluster_id** | **str**| |
**worker_cluster** | [**WorkerCluster**](WorkerCluster.md)| The updated worker cluster. |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | The cluster update has been stored. | - |
**0** | Error message | - |
[[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)

View File

@ -110,6 +110,7 @@ class Job(ModelComposed):
'settings': (JobSettings,), # noqa: E501 'settings': (JobSettings,), # noqa: E501
'metadata': (JobMetadata,), # noqa: E501 'metadata': (JobMetadata,), # noqa: E501
'storage': (JobStorageInfo,), # noqa: E501 'storage': (JobStorageInfo,), # noqa: E501
'worker_cluster': (str,), # noqa: E501
'delete_requested_at': (datetime,), # noqa: E501 'delete_requested_at': (datetime,), # noqa: E501
} }
@ -132,6 +133,7 @@ class Job(ModelComposed):
'settings': 'settings', # noqa: E501 'settings': 'settings', # noqa: E501
'metadata': 'metadata', # noqa: E501 'metadata': 'metadata', # noqa: E501
'storage': 'storage', # noqa: E501 'storage': 'storage', # noqa: E501
'worker_cluster': 'worker_cluster', # noqa: E501
'delete_requested_at': 'delete_requested_at', # noqa: E501 'delete_requested_at': 'delete_requested_at', # noqa: E501
} }
@ -187,6 +189,7 @@ class Job(ModelComposed):
settings (JobSettings): [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501
metadata (JobMetadata): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501
storage (JobStorageInfo): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501
worker_cluster (str): Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501 delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501
""" """
@ -301,6 +304,7 @@ class Job(ModelComposed):
settings (JobSettings): [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501
metadata (JobMetadata): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501
storage (JobStorageInfo): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501
worker_cluster (str): Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501 delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501
""" """

View File

@ -99,6 +99,7 @@ class SubmittedJob(ModelNormal):
'settings': (JobSettings,), # noqa: E501 'settings': (JobSettings,), # noqa: E501
'metadata': (JobMetadata,), # noqa: E501 'metadata': (JobMetadata,), # noqa: E501
'storage': (JobStorageInfo,), # noqa: E501 'storage': (JobStorageInfo,), # noqa: E501
'worker_cluster': (str,), # noqa: E501
} }
@cached_property @cached_property
@ -115,6 +116,7 @@ class SubmittedJob(ModelNormal):
'settings': 'settings', # noqa: E501 'settings': 'settings', # noqa: E501
'metadata': 'metadata', # noqa: E501 'metadata': 'metadata', # noqa: E501
'storage': 'storage', # noqa: E501 'storage': 'storage', # noqa: E501
'worker_cluster': 'worker_cluster', # noqa: E501
} }
read_only_vars = { read_only_vars = {
@ -168,6 +170,7 @@ class SubmittedJob(ModelNormal):
settings (JobSettings): [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501
metadata (JobMetadata): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501
storage (JobStorageInfo): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501
worker_cluster (str): Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
""" """
priority = kwargs.get('priority', 50) priority = kwargs.get('priority', 50)
@ -264,6 +267,7 @@ class SubmittedJob(ModelNormal):
settings (JobSettings): [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501
metadata (JobMetadata): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501
storage (JobStorageInfo): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501
worker_cluster (str): Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
""" """
priority = kwargs.get('priority', 50) priority = kwargs.get('priority', 50)

View File

@ -31,11 +31,13 @@ from flamenco.manager.exceptions import ApiAttributeError
def lazy_import(): def lazy_import():
from flamenco.manager.model.worker_all_of import WorkerAllOf from flamenco.manager.model.worker_all_of import WorkerAllOf
from flamenco.manager.model.worker_cluster import WorkerCluster
from flamenco.manager.model.worker_status import WorkerStatus from flamenco.manager.model.worker_status import WorkerStatus
from flamenco.manager.model.worker_status_change_request import WorkerStatusChangeRequest from flamenco.manager.model.worker_status_change_request import WorkerStatusChangeRequest
from flamenco.manager.model.worker_summary import WorkerSummary from flamenco.manager.model.worker_summary import WorkerSummary
from flamenco.manager.model.worker_task import WorkerTask from flamenco.manager.model.worker_task import WorkerTask
globals()['WorkerAllOf'] = WorkerAllOf globals()['WorkerAllOf'] = WorkerAllOf
globals()['WorkerCluster'] = WorkerCluster
globals()['WorkerStatus'] = WorkerStatus globals()['WorkerStatus'] = WorkerStatus
globals()['WorkerStatusChangeRequest'] = WorkerStatusChangeRequest globals()['WorkerStatusChangeRequest'] = WorkerStatusChangeRequest
globals()['WorkerSummary'] = WorkerSummary globals()['WorkerSummary'] = WorkerSummary
@ -105,6 +107,7 @@ class Worker(ModelComposed):
'status_change': (WorkerStatusChangeRequest,), # noqa: E501 'status_change': (WorkerStatusChangeRequest,), # noqa: E501
'last_seen': (datetime,), # noqa: E501 'last_seen': (datetime,), # noqa: E501
'task': (WorkerTask,), # noqa: E501 'task': (WorkerTask,), # noqa: E501
'clusters': ([WorkerCluster],), # noqa: E501
} }
@cached_property @cached_property
@ -123,6 +126,7 @@ class Worker(ModelComposed):
'status_change': 'status_change', # noqa: E501 'status_change': 'status_change', # noqa: E501
'last_seen': 'last_seen', # noqa: E501 'last_seen': 'last_seen', # noqa: E501
'task': 'task', # noqa: E501 'task': 'task', # noqa: E501
'clusters': 'clusters', # noqa: E501
} }
read_only_vars = { read_only_vars = {
@ -174,6 +178,7 @@ class Worker(ModelComposed):
status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 status_change (WorkerStatusChangeRequest): [optional] # noqa: E501
last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501
task (WorkerTask): [optional] # noqa: E501 task (WorkerTask): [optional] # noqa: E501
clusters ([WorkerCluster]): Clusters of which this Worker is a member.. [optional] # noqa: E501
""" """
_check_type = kwargs.pop('_check_type', True) _check_type = kwargs.pop('_check_type', True)
@ -283,6 +288,7 @@ class Worker(ModelComposed):
status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 status_change (WorkerStatusChangeRequest): [optional] # noqa: E501
last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501
task (WorkerTask): [optional] # noqa: E501 task (WorkerTask): [optional] # noqa: E501
clusters ([WorkerCluster]): Clusters of which this Worker is a member.. [optional] # noqa: E501
""" """
_check_type = kwargs.pop('_check_type', True) _check_type = kwargs.pop('_check_type', True)

View File

@ -30,7 +30,9 @@ from flamenco.manager.exceptions import ApiAttributeError
def lazy_import(): def lazy_import():
from flamenco.manager.model.worker_cluster import WorkerCluster
from flamenco.manager.model.worker_task import WorkerTask from flamenco.manager.model.worker_task import WorkerTask
globals()['WorkerCluster'] = WorkerCluster
globals()['WorkerTask'] = WorkerTask globals()['WorkerTask'] = WorkerTask
@ -91,6 +93,7 @@ class WorkerAllOf(ModelNormal):
'platform': (str,), # noqa: E501 'platform': (str,), # noqa: E501
'supported_task_types': ([str],), # noqa: E501 'supported_task_types': ([str],), # noqa: E501
'task': (WorkerTask,), # noqa: E501 'task': (WorkerTask,), # noqa: E501
'clusters': ([WorkerCluster],), # noqa: E501
} }
@cached_property @cached_property
@ -103,6 +106,7 @@ class WorkerAllOf(ModelNormal):
'platform': 'platform', # noqa: E501 'platform': 'platform', # noqa: E501
'supported_task_types': 'supported_task_types', # noqa: E501 'supported_task_types': 'supported_task_types', # noqa: E501
'task': 'task', # noqa: E501 'task': 'task', # noqa: E501
'clusters': 'clusters', # noqa: E501
} }
read_only_vars = { read_only_vars = {
@ -152,6 +156,7 @@ class WorkerAllOf(ModelNormal):
through its discriminator because we passed in through its discriminator because we passed in
_visited_composed_classes = (Animal,) _visited_composed_classes = (Animal,)
task (WorkerTask): [optional] # noqa: E501 task (WorkerTask): [optional] # noqa: E501
clusters ([WorkerCluster]): Clusters of which this Worker is a member.. [optional] # noqa: E501
""" """
_check_type = kwargs.pop('_check_type', True) _check_type = kwargs.pop('_check_type', True)
@ -242,6 +247,7 @@ class WorkerAllOf(ModelNormal):
through its discriminator because we passed in through its discriminator because we passed in
_visited_composed_classes = (Animal,) _visited_composed_classes = (Animal,)
task (WorkerTask): [optional] # noqa: E501 task (WorkerTask): [optional] # noqa: E501
clusters ([WorkerCluster]): Clusters of which this Worker is a member.. [optional] # noqa: E501
""" """
_check_type = kwargs.pop('_check_type', True) _check_type = kwargs.pop('_check_type', True)

View File

@ -0,0 +1,271 @@
"""
Flamenco manager
Render Farm manager API # noqa: E501
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
"""
import re # noqa: F401
import sys # noqa: F401
from flamenco.manager.model_utils import ( # noqa: F401
ApiTypeError,
ModelComposed,
ModelNormal,
ModelSimple,
cached_property,
change_keys_js_to_python,
convert_js_args_to_python_args,
date,
datetime,
file_type,
none_type,
validate_get_composed_info,
OpenApiModel
)
from flamenco.manager.exceptions import ApiAttributeError
class WorkerCluster(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Attributes:
allowed_values (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
with a capitalized key describing the allowed value and an allowed
value. These dicts store the allowed enum values.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
discriminator_value_class_map (dict): A dict to go from the discriminator
variable value to the discriminator class name.
validations (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
that stores validations for max_length, min_length, max_items,
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
inclusive_minimum, and regex.
additional_properties_type (tuple): A tuple of classes accepted
as additional properties values.
"""
allowed_values = {
}
validations = {
}
@cached_property
def additional_properties_type():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
"""
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
@cached_property
def openapi_types():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
Returns
openapi_types (dict): The key is attribute name
and the value is attribute type.
"""
return {
'id': (str,), # noqa: E501
'name': (str,), # noqa: E501
'description': (str,), # noqa: E501
}
@cached_property
def discriminator():
return None
attribute_map = {
'id': 'id', # noqa: E501
'name': 'name', # noqa: E501
'description': 'description', # noqa: E501
}
read_only_vars = {
}
_composed_schemas = {}
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, id, name, *args, **kwargs): # noqa: E501
"""WorkerCluster - a model defined in OpenAPI
Args:
id (str):
name (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
description (str): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
self = super(OpenApiModel, cls).__new__(cls)
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.id = id
self.name = name
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
return self
required_properties = set([
'_data_store',
'_check_type',
'_spec_property_naming',
'_path_to_item',
'_configuration',
'_visited_composed_classes',
])
@convert_js_args_to_python_args
def __init__(self, id, name, *args, **kwargs): # noqa: E501
"""WorkerCluster - a model defined in OpenAPI
Args:
id (str):
name (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
description (str): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.id = id
self.name = name
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
if var_name in self.read_only_vars:
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
f"class with read only attributes.")

View File

@ -0,0 +1,261 @@
"""
Flamenco manager
Render Farm manager API # noqa: E501
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
"""
import re # noqa: F401
import sys # noqa: F401
from flamenco.manager.model_utils import ( # noqa: F401
ApiTypeError,
ModelComposed,
ModelNormal,
ModelSimple,
cached_property,
change_keys_js_to_python,
convert_js_args_to_python_args,
date,
datetime,
file_type,
none_type,
validate_get_composed_info,
OpenApiModel
)
from flamenco.manager.exceptions import ApiAttributeError
class WorkerClusterChangeRequest(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Attributes:
allowed_values (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
with a capitalized key describing the allowed value and an allowed
value. These dicts store the allowed enum values.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
discriminator_value_class_map (dict): A dict to go from the discriminator
variable value to the discriminator class name.
validations (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
that stores validations for max_length, min_length, max_items,
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
inclusive_minimum, and regex.
additional_properties_type (tuple): A tuple of classes accepted
as additional properties values.
"""
allowed_values = {
}
validations = {
}
@cached_property
def additional_properties_type():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
"""
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
@cached_property
def openapi_types():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
Returns
openapi_types (dict): The key is attribute name
and the value is attribute type.
"""
return {
'cluster_ids': ([str],), # noqa: E501
}
@cached_property
def discriminator():
return None
attribute_map = {
'cluster_ids': 'cluster_ids', # noqa: E501
}
read_only_vars = {
}
_composed_schemas = {}
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, cluster_ids, *args, **kwargs): # noqa: E501
"""WorkerClusterChangeRequest - a model defined in OpenAPI
Args:
cluster_ids ([str]):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
self = super(OpenApiModel, cls).__new__(cls)
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.cluster_ids = cluster_ids
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
return self
required_properties = set([
'_data_store',
'_check_type',
'_spec_property_naming',
'_path_to_item',
'_configuration',
'_visited_composed_classes',
])
@convert_js_args_to_python_args
def __init__(self, cluster_ids, *args, **kwargs): # noqa: E501
"""WorkerClusterChangeRequest - a model defined in OpenAPI
Args:
cluster_ids ([str]):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.cluster_ids = cluster_ids
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
if var_name in self.read_only_vars:
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
f"class with read only attributes.")

View File

@ -0,0 +1,261 @@
"""
Flamenco manager
Render Farm manager API # noqa: E501
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
"""
import re # noqa: F401
import sys # noqa: F401
from flamenco.manager.model_utils import ( # noqa: F401
ApiTypeError,
ModelComposed,
ModelNormal,
ModelSimple,
cached_property,
change_keys_js_to_python,
convert_js_args_to_python_args,
date,
datetime,
file_type,
none_type,
validate_get_composed_info,
OpenApiModel
)
from flamenco.manager.exceptions import ApiAttributeError
def lazy_import():
from flamenco.manager.model.worker_cluster import WorkerCluster
globals()['WorkerCluster'] = WorkerCluster
class WorkerClusterList(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Attributes:
allowed_values (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
with a capitalized key describing the allowed value and an allowed
value. These dicts store the allowed enum values.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
discriminator_value_class_map (dict): A dict to go from the discriminator
variable value to the discriminator class name.
validations (dict): The key is the tuple path to the attribute
and the for var_name this is (var_name,). The value is a dict
that stores validations for max_length, min_length, max_items,
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
inclusive_minimum, and regex.
additional_properties_type (tuple): A tuple of classes accepted
as additional properties values.
"""
allowed_values = {
}
validations = {
}
@cached_property
def additional_properties_type():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
"""
lazy_import()
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
@cached_property
def openapi_types():
"""
This must be a method because a model may have properties that are
of type self, this must run after the class is loaded
Returns
openapi_types (dict): The key is attribute name
and the value is attribute type.
"""
lazy_import()
return {
'clusters': ([WorkerCluster],), # noqa: E501
}
@cached_property
def discriminator():
return None
attribute_map = {
'clusters': 'clusters', # noqa: E501
}
read_only_vars = {
}
_composed_schemas = {}
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
"""WorkerClusterList - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
clusters ([WorkerCluster]): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
self = super(OpenApiModel, cls).__new__(cls)
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
return self
required_properties = set([
'_data_store',
'_check_type',
'_spec_property_naming',
'_path_to_item',
'_configuration',
'_visited_composed_classes',
])
@convert_js_args_to_python_args
def __init__(self, *args, **kwargs): # noqa: E501
"""WorkerClusterList - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
raised if the wrong type is input.
Defaults to True
_path_to_item (tuple/list): This is a list of keys or values to
drill down to the model in received_data
when deserializing a response
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_configuration (Configuration): the instance to use when
deserializing a file_type parameter.
If passed, type conversion is attempted
If omitted no type conversion is done.
_visited_composed_classes (tuple): This stores a tuple of
classes that we have traveled through so that
if we see that class again we will not use its
discriminator again.
When traveling through a discriminator, the
composed schema that is
is traveled through is added to this set.
For example if Animal has a discriminator
petType and we pass in "Dog", and the class Dog
allOf includes Animal, we move through Animal
once using the discriminator, and pick Dog.
Then in Dog, we will make an instance of the
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
clusters ([WorkerCluster]): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
_path_to_item = kwargs.pop('_path_to_item', ())
_configuration = kwargs.pop('_configuration', None)
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
if args:
raise ApiTypeError(
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
path_to_item=_path_to_item,
valid_classes=(self.__class__,),
)
self._data_store = {}
self._check_type = _check_type
self._spec_property_naming = _spec_property_naming
self._path_to_item = _path_to_item
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
self._configuration.discard_unknown_keys and \
self.additional_properties_type is None:
# discard variable.
continue
setattr(self, var_name, var_value)
if var_name in self.read_only_vars:
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
f"class with read only attributes.")

View File

@ -74,6 +74,9 @@ from flamenco.manager.model.task_update import TaskUpdate
from flamenco.manager.model.task_worker import TaskWorker from flamenco.manager.model.task_worker import TaskWorker
from flamenco.manager.model.worker import Worker from flamenco.manager.model.worker import Worker
from flamenco.manager.model.worker_all_of import WorkerAllOf from flamenco.manager.model.worker_all_of import WorkerAllOf
from flamenco.manager.model.worker_cluster import WorkerCluster
from flamenco.manager.model.worker_cluster_change_request import WorkerClusterChangeRequest
from flamenco.manager.model.worker_cluster_list import WorkerClusterList
from flamenco.manager.model.worker_list import WorkerList from flamenco.manager.model.worker_list import WorkerList
from flamenco.manager.model.worker_registration import WorkerRegistration from flamenco.manager.model.worker_registration import WorkerRegistration
from flamenco.manager.model.worker_sign_on import WorkerSignOn from flamenco.manager.model.worker_sign_on import WorkerSignOn

View File

@ -116,12 +116,18 @@ Class | Method | HTTP request | Description
*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* | [**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**](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. *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_cluster**](flamenco/manager/docs/WorkerMgtApi.md#create_worker_cluster) | **POST** /api/v3/worker-mgt/clusters | Create a new worker cluster.
*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**](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_cluster**](flamenco/manager/docs/WorkerMgtApi.md#delete_worker_cluster) | **DELETE** /api/v3/worker-mgt/cluster/{cluster_id} | Remove this worker cluster. This unassigns all workers from the cluster 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**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker.
*WorkerMgtApi* | [**fetch_worker_cluster**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_cluster) | **GET** /api/v3/worker-mgt/cluster/{cluster_id} | Get a single worker cluster.
*WorkerMgtApi* | [**fetch_worker_clusters**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_clusters) | **GET** /api/v3/worker-mgt/clusters | Get list of worker clusters.
*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_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule |
*WorkerMgtApi* | [**fetch_workers**](flamenco/manager/docs/WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. *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* | [**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_clusters**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_clusters) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setclusters |
*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_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule |
*WorkerMgtApi* | [**update_worker_cluster**](flamenco/manager/docs/WorkerMgtApi.md#update_worker_cluster) | **PUT** /api/v3/worker-mgt/cluster/{cluster_id} | Update an existing worker cluster.
## Documentation For Models ## Documentation For Models
@ -191,6 +197,9 @@ Class | Method | HTTP request | Description
- [TaskWorker](flamenco/manager/docs/TaskWorker.md) - [TaskWorker](flamenco/manager/docs/TaskWorker.md)
- [Worker](flamenco/manager/docs/Worker.md) - [Worker](flamenco/manager/docs/Worker.md)
- [WorkerAllOf](flamenco/manager/docs/WorkerAllOf.md) - [WorkerAllOf](flamenco/manager/docs/WorkerAllOf.md)
- [WorkerCluster](flamenco/manager/docs/WorkerCluster.md)
- [WorkerClusterChangeRequest](flamenco/manager/docs/WorkerClusterChangeRequest.md)
- [WorkerClusterList](flamenco/manager/docs/WorkerClusterList.md)
- [WorkerList](flamenco/manager/docs/WorkerList.md) - [WorkerList](flamenco/manager/docs/WorkerList.md)
- [WorkerRegistration](flamenco/manager/docs/WorkerRegistration.md) - [WorkerRegistration](flamenco/manager/docs/WorkerRegistration.md)
- [WorkerSignOn](flamenco/manager/docs/WorkerSignOn.md) - [WorkerSignOn](flamenco/manager/docs/WorkerSignOn.md)

View File

@ -116,6 +116,46 @@ func (mr *MockFlamencoClientMockRecorder) CheckSharedStoragePathWithResponse(arg
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckSharedStoragePathWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).CheckSharedStoragePathWithResponse), varargs...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckSharedStoragePathWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).CheckSharedStoragePathWithResponse), varargs...)
} }
// CreateWorkerClusterWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) CreateWorkerClusterWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.CreateWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2}
for _, a := range arg3 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateWorkerClusterWithBodyWithResponse", varargs...)
ret0, _ := ret[0].(*api.CreateWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateWorkerClusterWithBodyWithResponse indicates an expected call of CreateWorkerClusterWithBodyWithResponse.
func (mr *MockFlamencoClientMockRecorder) CreateWorkerClusterWithBodyWithResponse(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, "CreateWorkerClusterWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).CreateWorkerClusterWithBodyWithResponse), varargs...)
}
// CreateWorkerClusterWithResponse mocks base method.
func (m *MockFlamencoClient) CreateWorkerClusterWithResponse(arg0 context.Context, arg1 api.CreateWorkerClusterJSONRequestBody, arg2 ...api.RequestEditorFn) (*api.CreateWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1}
for _, a := range arg2 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateWorkerClusterWithResponse", varargs...)
ret0, _ := ret[0].(*api.CreateWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateWorkerClusterWithResponse indicates an expected call of CreateWorkerClusterWithResponse.
func (mr *MockFlamencoClientMockRecorder) CreateWorkerClusterWithResponse(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, "CreateWorkerClusterWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).CreateWorkerClusterWithResponse), varargs...)
}
// DeleteJobWhatWouldItDoWithResponse mocks base method. // DeleteJobWhatWouldItDoWithResponse mocks base method.
func (m *MockFlamencoClient) DeleteJobWhatWouldItDoWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.DeleteJobWhatWouldItDoResponse, error) { func (m *MockFlamencoClient) DeleteJobWhatWouldItDoWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.DeleteJobWhatWouldItDoResponse, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -156,6 +196,26 @@ func (mr *MockFlamencoClientMockRecorder) DeleteJobWithResponse(arg0, arg1 inter
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJobWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).DeleteJobWithResponse), varargs...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJobWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).DeleteJobWithResponse), varargs...)
} }
// DeleteWorkerClusterWithResponse mocks base method.
func (m *MockFlamencoClient) DeleteWorkerClusterWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.DeleteWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1}
for _, a := range arg2 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "DeleteWorkerClusterWithResponse", varargs...)
ret0, _ := ret[0].(*api.DeleteWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// DeleteWorkerClusterWithResponse indicates an expected call of DeleteWorkerClusterWithResponse.
func (mr *MockFlamencoClientMockRecorder) DeleteWorkerClusterWithResponse(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, "DeleteWorkerClusterWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).DeleteWorkerClusterWithResponse), varargs...)
}
// DeleteWorkerWithResponse mocks base method. // DeleteWorkerWithResponse mocks base method.
func (m *MockFlamencoClient) DeleteWorkerWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.DeleteWorkerResponse, error) { func (m *MockFlamencoClient) DeleteWorkerWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.DeleteWorkerResponse, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -336,6 +396,46 @@ func (mr *MockFlamencoClientMockRecorder) FetchTaskWithResponse(arg0, arg1 inter
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchTaskWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchTaskWithResponse), varargs...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchTaskWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchTaskWithResponse), varargs...)
} }
// FetchWorkerClusterWithResponse mocks base method.
func (m *MockFlamencoClient) FetchWorkerClusterWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1}
for _, a := range arg2 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "FetchWorkerClusterWithResponse", varargs...)
ret0, _ := ret[0].(*api.FetchWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// FetchWorkerClusterWithResponse indicates an expected call of FetchWorkerClusterWithResponse.
func (mr *MockFlamencoClientMockRecorder) FetchWorkerClusterWithResponse(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, "FetchWorkerClusterWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchWorkerClusterWithResponse), varargs...)
}
// FetchWorkerClustersWithResponse mocks base method.
func (m *MockFlamencoClient) FetchWorkerClustersWithResponse(arg0 context.Context, arg1 ...api.RequestEditorFn) (*api.FetchWorkerClustersResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0}
for _, a := range arg1 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "FetchWorkerClustersWithResponse", varargs...)
ret0, _ := ret[0].(*api.FetchWorkerClustersResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// FetchWorkerClustersWithResponse indicates an expected call of FetchWorkerClustersWithResponse.
func (mr *MockFlamencoClientMockRecorder) FetchWorkerClustersWithResponse(arg0 interface{}, arg1 ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{arg0}, arg1...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchWorkerClustersWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchWorkerClustersWithResponse), varargs...)
}
// FetchWorkerSleepScheduleWithResponse mocks base method. // FetchWorkerSleepScheduleWithResponse mocks base method.
func (m *MockFlamencoClient) FetchWorkerSleepScheduleWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchWorkerSleepScheduleResponse, error) { func (m *MockFlamencoClient) FetchWorkerSleepScheduleWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchWorkerSleepScheduleResponse, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -916,6 +1016,46 @@ func (mr *MockFlamencoClientMockRecorder) SetTaskStatusWithResponse(arg0, arg1,
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTaskStatusWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetTaskStatusWithResponse), varargs...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTaskStatusWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetTaskStatusWithResponse), varargs...)
} }
// SetWorkerClustersWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) SetWorkerClustersWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetWorkerClustersResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2, arg3}
for _, a := range arg4 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "SetWorkerClustersWithBodyWithResponse", varargs...)
ret0, _ := ret[0].(*api.SetWorkerClustersResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// SetWorkerClustersWithBodyWithResponse indicates an expected call of SetWorkerClustersWithBodyWithResponse.
func (mr *MockFlamencoClientMockRecorder) SetWorkerClustersWithBodyWithResponse(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerClustersWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetWorkerClustersWithBodyWithResponse), varargs...)
}
// SetWorkerClustersWithResponse mocks base method.
func (m *MockFlamencoClient) SetWorkerClustersWithResponse(arg0 context.Context, arg1 string, arg2 api.SetWorkerClustersJSONRequestBody, arg3 ...api.RequestEditorFn) (*api.SetWorkerClustersResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2}
for _, a := range arg3 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "SetWorkerClustersWithResponse", varargs...)
ret0, _ := ret[0].(*api.SetWorkerClustersResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// SetWorkerClustersWithResponse indicates an expected call of SetWorkerClustersWithResponse.
func (mr *MockFlamencoClientMockRecorder) SetWorkerClustersWithResponse(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, "SetWorkerClustersWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetWorkerClustersWithResponse), varargs...)
}
// SetWorkerSleepScheduleWithBodyWithResponse mocks base method. // SetWorkerSleepScheduleWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) SetWorkerSleepScheduleWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetWorkerSleepScheduleResponse, error) { func (m *MockFlamencoClient) SetWorkerSleepScheduleWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetWorkerSleepScheduleResponse, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -1276,6 +1416,46 @@ func (mr *MockFlamencoClientMockRecorder) TaskUpdateWithResponse(arg0, arg1, arg
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TaskUpdateWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).TaskUpdateWithResponse), varargs...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TaskUpdateWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).TaskUpdateWithResponse), varargs...)
} }
// UpdateWorkerClusterWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) UpdateWorkerClusterWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.UpdateWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2, arg3}
for _, a := range arg4 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "UpdateWorkerClusterWithBodyWithResponse", varargs...)
ret0, _ := ret[0].(*api.UpdateWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// UpdateWorkerClusterWithBodyWithResponse indicates an expected call of UpdateWorkerClusterWithBodyWithResponse.
func (mr *MockFlamencoClientMockRecorder) UpdateWorkerClusterWithBodyWithResponse(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerClusterWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).UpdateWorkerClusterWithBodyWithResponse), varargs...)
}
// UpdateWorkerClusterWithResponse mocks base method.
func (m *MockFlamencoClient) UpdateWorkerClusterWithResponse(arg0 context.Context, arg1 string, arg2 api.UpdateWorkerClusterJSONRequestBody, arg3 ...api.RequestEditorFn) (*api.UpdateWorkerClusterResponse, error) {
m.ctrl.T.Helper()
varargs := []interface{}{arg0, arg1, arg2}
for _, a := range arg3 {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "UpdateWorkerClusterWithResponse", varargs...)
ret0, _ := ret[0].(*api.UpdateWorkerClusterResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// UpdateWorkerClusterWithResponse indicates an expected call of UpdateWorkerClusterWithResponse.
func (mr *MockFlamencoClientMockRecorder) UpdateWorkerClusterWithResponse(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, "UpdateWorkerClusterWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).UpdateWorkerClusterWithResponse), varargs...)
}
// WorkerStateChangedWithBodyWithResponse mocks base method. // WorkerStateChangedWithBodyWithResponse mocks base method.
func (m *MockFlamencoClient) WorkerStateChangedWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.WorkerStateChangedResponse, error) { func (m *MockFlamencoClient) WorkerStateChangedWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.WorkerStateChangedResponse, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()

View File

@ -212,6 +212,25 @@ type ClientInterface interface {
// GetVersion request // GetVersion request
GetVersion(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) GetVersion(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// DeleteWorkerCluster request
DeleteWorkerCluster(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// FetchWorkerCluster request
FetchWorkerCluster(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateWorkerCluster request with any body
UpdateWorkerClusterWithBody(ctx context.Context, clusterId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateWorkerCluster(ctx context.Context, clusterId string, body UpdateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// FetchWorkerClusters request
FetchWorkerClusters(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateWorkerCluster request with any body
CreateWorkerClusterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateWorkerCluster(ctx context.Context, body CreateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// FetchWorkers request // FetchWorkers request
FetchWorkers(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) FetchWorkers(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
@ -221,6 +240,11 @@ type ClientInterface interface {
// FetchWorker request // FetchWorker request
FetchWorker(ctx context.Context, workerId string, reqEditors ...RequestEditorFn) (*http.Response, error) FetchWorker(ctx context.Context, workerId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// SetWorkerClusters request with any body
SetWorkerClustersWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
SetWorkerClusters(ctx context.Context, workerId string, body SetWorkerClustersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// RequestWorkerStatusChange request with any body // RequestWorkerStatusChange request with any body
RequestWorkerStatusChangeWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) RequestWorkerStatusChangeWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
@ -798,6 +822,90 @@ func (c *Client) GetVersion(ctx context.Context, reqEditors ...RequestEditorFn)
return c.Client.Do(req) return c.Client.Do(req)
} }
func (c *Client) DeleteWorkerCluster(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewDeleteWorkerClusterRequest(c.Server, clusterId)
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) FetchWorkerCluster(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewFetchWorkerClusterRequest(c.Server, clusterId)
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) UpdateWorkerClusterWithBody(ctx context.Context, clusterId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewUpdateWorkerClusterRequestWithBody(c.Server, clusterId, 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) UpdateWorkerCluster(ctx context.Context, clusterId string, body UpdateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewUpdateWorkerClusterRequest(c.Server, clusterId, 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) FetchWorkerClusters(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewFetchWorkerClustersRequest(c.Server)
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) CreateWorkerClusterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewCreateWorkerClusterRequestWithBody(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) CreateWorkerCluster(ctx context.Context, body CreateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewCreateWorkerClusterRequest(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) FetchWorkers(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { func (c *Client) FetchWorkers(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewFetchWorkersRequest(c.Server) req, err := NewFetchWorkersRequest(c.Server)
if err != nil { if err != nil {
@ -834,6 +942,30 @@ func (c *Client) FetchWorker(ctx context.Context, workerId string, reqEditors ..
return c.Client.Do(req) return c.Client.Do(req)
} }
func (c *Client) SetWorkerClustersWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSetWorkerClustersRequestWithBody(c.Server, workerId, 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) SetWorkerClusters(ctx context.Context, workerId string, body SetWorkerClustersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewSetWorkerClustersRequest(c.Server, workerId, 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) RequestWorkerStatusChangeWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { func (c *Client) RequestWorkerStatusChangeWithBody(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewRequestWorkerStatusChangeRequestWithBody(c.Server, workerId, contentType, body) req, err := NewRequestWorkerStatusChangeRequestWithBody(c.Server, workerId, contentType, body)
if err != nil { if err != nil {
@ -2248,6 +2380,188 @@ func NewGetVersionRequest(server string) (*http.Request, error) {
return req, nil return req, nil
} }
// NewDeleteWorkerClusterRequest generates requests for DeleteWorkerCluster
func NewDeleteWorkerClusterRequest(server string, clusterId string) (*http.Request, error) {
var err error
var pathParam0 string
pathParam0, err = runtime.StyleParamWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, clusterId)
if err != nil {
return nil, err
}
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/worker-mgt/cluster/%s", pathParam0)
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("DELETE", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewFetchWorkerClusterRequest generates requests for FetchWorkerCluster
func NewFetchWorkerClusterRequest(server string, clusterId string) (*http.Request, error) {
var err error
var pathParam0 string
pathParam0, err = runtime.StyleParamWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, clusterId)
if err != nil {
return nil, err
}
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/worker-mgt/cluster/%s", pathParam0)
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewUpdateWorkerClusterRequest calls the generic UpdateWorkerCluster builder with application/json body
func NewUpdateWorkerClusterRequest(server string, clusterId string, body UpdateWorkerClusterJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewUpdateWorkerClusterRequestWithBody(server, clusterId, "application/json", bodyReader)
}
// NewUpdateWorkerClusterRequestWithBody generates requests for UpdateWorkerCluster with any type of body
func NewUpdateWorkerClusterRequestWithBody(server string, clusterId string, contentType string, body io.Reader) (*http.Request, error) {
var err error
var pathParam0 string
pathParam0, err = runtime.StyleParamWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, clusterId)
if err != nil {
return nil, err
}
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/worker-mgt/cluster/%s", pathParam0)
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("PUT", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewFetchWorkerClustersRequest generates requests for FetchWorkerClusters
func NewFetchWorkerClustersRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/worker-mgt/clusters")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewCreateWorkerClusterRequest calls the generic CreateWorkerCluster builder with application/json body
func NewCreateWorkerClusterRequest(server string, body CreateWorkerClusterJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewCreateWorkerClusterRequestWithBody(server, "application/json", bodyReader)
}
// NewCreateWorkerClusterRequestWithBody generates requests for CreateWorkerCluster with any type of body
func NewCreateWorkerClusterRequestWithBody(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/worker-mgt/clusters")
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
}
// NewFetchWorkersRequest generates requests for FetchWorkers // NewFetchWorkersRequest generates requests for FetchWorkers
func NewFetchWorkersRequest(server string) (*http.Request, error) { func NewFetchWorkersRequest(server string) (*http.Request, error) {
var err error var err error
@ -2343,6 +2657,53 @@ func NewFetchWorkerRequest(server string, workerId string) (*http.Request, error
return req, nil return req, nil
} }
// NewSetWorkerClustersRequest calls the generic SetWorkerClusters builder with application/json body
func NewSetWorkerClustersRequest(server string, workerId string, body SetWorkerClustersJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewSetWorkerClustersRequestWithBody(server, workerId, "application/json", bodyReader)
}
// NewSetWorkerClustersRequestWithBody generates requests for SetWorkerClusters with any type of body
func NewSetWorkerClustersRequestWithBody(server string, workerId string, contentType string, body io.Reader) (*http.Request, error) {
var err error
var pathParam0 string
pathParam0, err = runtime.StyleParamWithLocation("simple", false, "worker_id", runtime.ParamLocationPath, workerId)
if err != nil {
return nil, err
}
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v3/worker-mgt/workers/%s/setclusters", pathParam0)
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewRequestWorkerStatusChangeRequest calls the generic RequestWorkerStatusChange builder with application/json body // NewRequestWorkerStatusChangeRequest calls the generic RequestWorkerStatusChange builder with application/json body
func NewRequestWorkerStatusChangeRequest(server string, workerId string, body RequestWorkerStatusChangeJSONRequestBody) (*http.Request, error) { func NewRequestWorkerStatusChangeRequest(server string, workerId string, body RequestWorkerStatusChangeJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader var bodyReader io.Reader
@ -2952,6 +3313,25 @@ type ClientWithResponsesInterface interface {
// GetVersion request // GetVersion request
GetVersionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetVersionResponse, error) GetVersionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetVersionResponse, error)
// DeleteWorkerCluster request
DeleteWorkerClusterWithResponse(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*DeleteWorkerClusterResponse, error)
// FetchWorkerCluster request
FetchWorkerClusterWithResponse(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*FetchWorkerClusterResponse, error)
// UpdateWorkerCluster request with any body
UpdateWorkerClusterWithBodyWithResponse(ctx context.Context, clusterId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateWorkerClusterResponse, error)
UpdateWorkerClusterWithResponse(ctx context.Context, clusterId string, body UpdateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateWorkerClusterResponse, error)
// FetchWorkerClusters request
FetchWorkerClustersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkerClustersResponse, error)
// CreateWorkerCluster request with any body
CreateWorkerClusterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateWorkerClusterResponse, error)
CreateWorkerClusterWithResponse(ctx context.Context, body CreateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateWorkerClusterResponse, error)
// FetchWorkers request // FetchWorkers request
FetchWorkersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkersResponse, error) FetchWorkersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkersResponse, error)
@ -2961,6 +3341,11 @@ type ClientWithResponsesInterface interface {
// FetchWorker request // FetchWorker request
FetchWorkerWithResponse(ctx context.Context, workerId string, reqEditors ...RequestEditorFn) (*FetchWorkerResponse, error) FetchWorkerWithResponse(ctx context.Context, workerId string, reqEditors ...RequestEditorFn) (*FetchWorkerResponse, error)
// SetWorkerClusters request with any body
SetWorkerClustersWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetWorkerClustersResponse, error)
SetWorkerClustersWithResponse(ctx context.Context, workerId string, body SetWorkerClustersJSONRequestBody, reqEditors ...RequestEditorFn) (*SetWorkerClustersResponse, error)
// RequestWorkerStatusChange request with any body // RequestWorkerStatusChange request with any body
RequestWorkerStatusChangeWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RequestWorkerStatusChangeResponse, error) RequestWorkerStatusChangeWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RequestWorkerStatusChangeResponse, error)
@ -3733,6 +4118,116 @@ func (r GetVersionResponse) StatusCode() int {
return 0 return 0
} }
type DeleteWorkerClusterResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r DeleteWorkerClusterResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r DeleteWorkerClusterResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type FetchWorkerClusterResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *WorkerCluster
}
// Status returns HTTPResponse.Status
func (r FetchWorkerClusterResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r FetchWorkerClusterResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type UpdateWorkerClusterResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r UpdateWorkerClusterResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r UpdateWorkerClusterResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type FetchWorkerClustersResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *WorkerClusterList
}
// Status returns HTTPResponse.Status
func (r FetchWorkerClustersResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r FetchWorkerClustersResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type CreateWorkerClusterResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r CreateWorkerClusterResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r CreateWorkerClusterResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type FetchWorkersResponse struct { type FetchWorkersResponse struct {
Body []byte Body []byte
HTTPResponse *http.Response HTTPResponse *http.Response
@ -3799,6 +4294,28 @@ func (r FetchWorkerResponse) StatusCode() int {
return 0 return 0
} }
type SetWorkerClustersResponse struct {
Body []byte
HTTPResponse *http.Response
JSONDefault *Error
}
// Status returns HTTPResponse.Status
func (r SetWorkerClustersResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r SetWorkerClustersResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type RequestWorkerStatusChangeResponse struct { type RequestWorkerStatusChangeResponse struct {
Body []byte Body []byte
HTTPResponse *http.Response HTTPResponse *http.Response
@ -4458,6 +4975,67 @@ func (c *ClientWithResponses) GetVersionWithResponse(ctx context.Context, reqEdi
return ParseGetVersionResponse(rsp) return ParseGetVersionResponse(rsp)
} }
// DeleteWorkerClusterWithResponse request returning *DeleteWorkerClusterResponse
func (c *ClientWithResponses) DeleteWorkerClusterWithResponse(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*DeleteWorkerClusterResponse, error) {
rsp, err := c.DeleteWorkerCluster(ctx, clusterId, reqEditors...)
if err != nil {
return nil, err
}
return ParseDeleteWorkerClusterResponse(rsp)
}
// FetchWorkerClusterWithResponse request returning *FetchWorkerClusterResponse
func (c *ClientWithResponses) FetchWorkerClusterWithResponse(ctx context.Context, clusterId string, reqEditors ...RequestEditorFn) (*FetchWorkerClusterResponse, error) {
rsp, err := c.FetchWorkerCluster(ctx, clusterId, reqEditors...)
if err != nil {
return nil, err
}
return ParseFetchWorkerClusterResponse(rsp)
}
// UpdateWorkerClusterWithBodyWithResponse request with arbitrary body returning *UpdateWorkerClusterResponse
func (c *ClientWithResponses) UpdateWorkerClusterWithBodyWithResponse(ctx context.Context, clusterId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateWorkerClusterResponse, error) {
rsp, err := c.UpdateWorkerClusterWithBody(ctx, clusterId, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseUpdateWorkerClusterResponse(rsp)
}
func (c *ClientWithResponses) UpdateWorkerClusterWithResponse(ctx context.Context, clusterId string, body UpdateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateWorkerClusterResponse, error) {
rsp, err := c.UpdateWorkerCluster(ctx, clusterId, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseUpdateWorkerClusterResponse(rsp)
}
// FetchWorkerClustersWithResponse request returning *FetchWorkerClustersResponse
func (c *ClientWithResponses) FetchWorkerClustersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkerClustersResponse, error) {
rsp, err := c.FetchWorkerClusters(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseFetchWorkerClustersResponse(rsp)
}
// CreateWorkerClusterWithBodyWithResponse request with arbitrary body returning *CreateWorkerClusterResponse
func (c *ClientWithResponses) CreateWorkerClusterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateWorkerClusterResponse, error) {
rsp, err := c.CreateWorkerClusterWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseCreateWorkerClusterResponse(rsp)
}
func (c *ClientWithResponses) CreateWorkerClusterWithResponse(ctx context.Context, body CreateWorkerClusterJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateWorkerClusterResponse, error) {
rsp, err := c.CreateWorkerCluster(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseCreateWorkerClusterResponse(rsp)
}
// FetchWorkersWithResponse request returning *FetchWorkersResponse // FetchWorkersWithResponse request returning *FetchWorkersResponse
func (c *ClientWithResponses) FetchWorkersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkersResponse, error) { func (c *ClientWithResponses) FetchWorkersWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchWorkersResponse, error) {
rsp, err := c.FetchWorkers(ctx, reqEditors...) rsp, err := c.FetchWorkers(ctx, reqEditors...)
@ -4485,6 +5063,23 @@ func (c *ClientWithResponses) FetchWorkerWithResponse(ctx context.Context, worke
return ParseFetchWorkerResponse(rsp) return ParseFetchWorkerResponse(rsp)
} }
// SetWorkerClustersWithBodyWithResponse request with arbitrary body returning *SetWorkerClustersResponse
func (c *ClientWithResponses) SetWorkerClustersWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetWorkerClustersResponse, error) {
rsp, err := c.SetWorkerClustersWithBody(ctx, workerId, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSetWorkerClustersResponse(rsp)
}
func (c *ClientWithResponses) SetWorkerClustersWithResponse(ctx context.Context, workerId string, body SetWorkerClustersJSONRequestBody, reqEditors ...RequestEditorFn) (*SetWorkerClustersResponse, error) {
rsp, err := c.SetWorkerClusters(ctx, workerId, body, reqEditors...)
if err != nil {
return nil, err
}
return ParseSetWorkerClustersResponse(rsp)
}
// RequestWorkerStatusChangeWithBodyWithResponse request with arbitrary body returning *RequestWorkerStatusChangeResponse // RequestWorkerStatusChangeWithBodyWithResponse request with arbitrary body returning *RequestWorkerStatusChangeResponse
func (c *ClientWithResponses) RequestWorkerStatusChangeWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RequestWorkerStatusChangeResponse, error) { func (c *ClientWithResponses) RequestWorkerStatusChangeWithBodyWithResponse(ctx context.Context, workerId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RequestWorkerStatusChangeResponse, error) {
rsp, err := c.RequestWorkerStatusChangeWithBody(ctx, workerId, contentType, body, reqEditors...) rsp, err := c.RequestWorkerStatusChangeWithBody(ctx, workerId, contentType, body, reqEditors...)
@ -5594,6 +6189,136 @@ func ParseGetVersionResponse(rsp *http.Response) (*GetVersionResponse, error) {
return response, nil return response, nil
} }
// ParseDeleteWorkerClusterResponse parses an HTTP response from a DeleteWorkerClusterWithResponse call
func ParseDeleteWorkerClusterResponse(rsp *http.Response) (*DeleteWorkerClusterResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &DeleteWorkerClusterResponse{
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
}
// ParseFetchWorkerClusterResponse parses an HTTP response from a FetchWorkerClusterWithResponse call
func ParseFetchWorkerClusterResponse(rsp *http.Response) (*FetchWorkerClusterResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &FetchWorkerClusterResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest WorkerCluster
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseUpdateWorkerClusterResponse parses an HTTP response from a UpdateWorkerClusterWithResponse call
func ParseUpdateWorkerClusterResponse(rsp *http.Response) (*UpdateWorkerClusterResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &UpdateWorkerClusterResponse{
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
}
// ParseFetchWorkerClustersResponse parses an HTTP response from a FetchWorkerClustersWithResponse call
func ParseFetchWorkerClustersResponse(rsp *http.Response) (*FetchWorkerClustersResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &FetchWorkerClustersResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest WorkerClusterList
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseCreateWorkerClusterResponse parses an HTTP response from a CreateWorkerClusterWithResponse call
func ParseCreateWorkerClusterResponse(rsp *http.Response) (*CreateWorkerClusterResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &CreateWorkerClusterResponse{
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
}
// ParseFetchWorkersResponse parses an HTTP response from a FetchWorkersWithResponse call // ParseFetchWorkersResponse parses an HTTP response from a FetchWorkersWithResponse call
func ParseFetchWorkersResponse(rsp *http.Response) (*FetchWorkersResponse, error) { func ParseFetchWorkersResponse(rsp *http.Response) (*FetchWorkersResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body) bodyBytes, err := ioutil.ReadAll(rsp.Body)
@ -5672,6 +6397,32 @@ func ParseFetchWorkerResponse(rsp *http.Response) (*FetchWorkerResponse, error)
return response, nil return response, nil
} }
// ParseSetWorkerClustersResponse parses an HTTP response from a SetWorkerClustersWithResponse call
func ParseSetWorkerClustersResponse(rsp *http.Response) (*SetWorkerClustersResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &SetWorkerClustersResponse{
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
}
// ParseRequestWorkerStatusChangeResponse parses an HTTP response from a RequestWorkerStatusChangeWithResponse call // ParseRequestWorkerStatusChangeResponse parses an HTTP response from a RequestWorkerStatusChangeWithResponse call
func ParseRequestWorkerStatusChangeResponse(rsp *http.Response) (*RequestWorkerStatusChangeResponse, error) { func ParseRequestWorkerStatusChangeResponse(rsp *http.Response) (*RequestWorkerStatusChangeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body) bodyBytes, err := ioutil.ReadAll(rsp.Body)

View File

@ -110,6 +110,21 @@ type ServerInterface interface {
// Get the Flamenco version of this Manager // Get the Flamenco version of this Manager
// (GET /api/v3/version) // (GET /api/v3/version)
GetVersion(ctx echo.Context) error GetVersion(ctx echo.Context) error
// Remove this worker cluster. This unassigns all workers from the cluster and removes it.
// (DELETE /api/v3/worker-mgt/cluster/{cluster_id})
DeleteWorkerCluster(ctx echo.Context, clusterId string) error
// Get a single worker cluster.
// (GET /api/v3/worker-mgt/cluster/{cluster_id})
FetchWorkerCluster(ctx echo.Context, clusterId string) error
// Update an existing worker cluster.
// (PUT /api/v3/worker-mgt/cluster/{cluster_id})
UpdateWorkerCluster(ctx echo.Context, clusterId string) error
// Get list of worker clusters.
// (GET /api/v3/worker-mgt/clusters)
FetchWorkerClusters(ctx echo.Context) error
// Create a new worker cluster.
// (POST /api/v3/worker-mgt/clusters)
CreateWorkerCluster(ctx echo.Context) error
// Get list of workers. // Get list of workers.
// (GET /api/v3/worker-mgt/workers) // (GET /api/v3/worker-mgt/workers)
FetchWorkers(ctx echo.Context) error FetchWorkers(ctx echo.Context) error
@ -120,6 +135,9 @@ type ServerInterface interface {
// (GET /api/v3/worker-mgt/workers/{worker_id}) // (GET /api/v3/worker-mgt/workers/{worker_id})
FetchWorker(ctx echo.Context, workerId string) error FetchWorker(ctx echo.Context, workerId string) error
// (POST /api/v3/worker-mgt/workers/{worker_id}/setclusters)
SetWorkerClusters(ctx echo.Context, workerId string) error
// (POST /api/v3/worker-mgt/workers/{worker_id}/setstatus) // (POST /api/v3/worker-mgt/workers/{worker_id}/setstatus)
RequestWorkerStatusChange(ctx echo.Context, workerId string) error RequestWorkerStatusChange(ctx echo.Context, workerId string) error
@ -643,6 +661,72 @@ func (w *ServerInterfaceWrapper) GetVersion(ctx echo.Context) error {
return err return err
} }
// DeleteWorkerCluster converts echo context to params.
func (w *ServerInterfaceWrapper) DeleteWorkerCluster(ctx echo.Context) error {
var err error
// ------------- Path parameter "cluster_id" -------------
var clusterId string
err = runtime.BindStyledParameterWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, ctx.Param("cluster_id"), &clusterId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter cluster_id: %s", err))
}
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.DeleteWorkerCluster(ctx, clusterId)
return err
}
// FetchWorkerCluster converts echo context to params.
func (w *ServerInterfaceWrapper) FetchWorkerCluster(ctx echo.Context) error {
var err error
// ------------- Path parameter "cluster_id" -------------
var clusterId string
err = runtime.BindStyledParameterWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, ctx.Param("cluster_id"), &clusterId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter cluster_id: %s", err))
}
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.FetchWorkerCluster(ctx, clusterId)
return err
}
// UpdateWorkerCluster converts echo context to params.
func (w *ServerInterfaceWrapper) UpdateWorkerCluster(ctx echo.Context) error {
var err error
// ------------- Path parameter "cluster_id" -------------
var clusterId string
err = runtime.BindStyledParameterWithLocation("simple", false, "cluster_id", runtime.ParamLocationPath, ctx.Param("cluster_id"), &clusterId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter cluster_id: %s", err))
}
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.UpdateWorkerCluster(ctx, clusterId)
return err
}
// FetchWorkerClusters converts echo context to params.
func (w *ServerInterfaceWrapper) FetchWorkerClusters(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.FetchWorkerClusters(ctx)
return err
}
// CreateWorkerCluster converts echo context to params.
func (w *ServerInterfaceWrapper) CreateWorkerCluster(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.CreateWorkerCluster(ctx)
return err
}
// FetchWorkers converts echo context to params. // FetchWorkers converts echo context to params.
func (w *ServerInterfaceWrapper) FetchWorkers(ctx echo.Context) error { func (w *ServerInterfaceWrapper) FetchWorkers(ctx echo.Context) error {
var err error var err error
@ -684,6 +768,22 @@ func (w *ServerInterfaceWrapper) FetchWorker(ctx echo.Context) error {
return err return err
} }
// SetWorkerClusters converts echo context to params.
func (w *ServerInterfaceWrapper) SetWorkerClusters(ctx echo.Context) error {
var err error
// ------------- Path parameter "worker_id" -------------
var workerId string
err = runtime.BindStyledParameterWithLocation("simple", false, "worker_id", runtime.ParamLocationPath, ctx.Param("worker_id"), &workerId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter worker_id: %s", err))
}
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetWorkerClusters(ctx, workerId)
return err
}
// RequestWorkerStatusChange converts echo context to params. // RequestWorkerStatusChange converts echo context to params.
func (w *ServerInterfaceWrapper) RequestWorkerStatusChange(ctx echo.Context) error { func (w *ServerInterfaceWrapper) RequestWorkerStatusChange(ctx echo.Context) error {
var err error var err error
@ -910,9 +1010,15 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
router.GET(baseURL+"/api/v3/tasks/:task_id/logtail", wrapper.FetchTaskLogTail) router.GET(baseURL+"/api/v3/tasks/:task_id/logtail", wrapper.FetchTaskLogTail)
router.POST(baseURL+"/api/v3/tasks/:task_id/setstatus", wrapper.SetTaskStatus) router.POST(baseURL+"/api/v3/tasks/:task_id/setstatus", wrapper.SetTaskStatus)
router.GET(baseURL+"/api/v3/version", wrapper.GetVersion) router.GET(baseURL+"/api/v3/version", wrapper.GetVersion)
router.DELETE(baseURL+"/api/v3/worker-mgt/cluster/:cluster_id", wrapper.DeleteWorkerCluster)
router.GET(baseURL+"/api/v3/worker-mgt/cluster/:cluster_id", wrapper.FetchWorkerCluster)
router.PUT(baseURL+"/api/v3/worker-mgt/cluster/:cluster_id", wrapper.UpdateWorkerCluster)
router.GET(baseURL+"/api/v3/worker-mgt/clusters", wrapper.FetchWorkerClusters)
router.POST(baseURL+"/api/v3/worker-mgt/clusters", wrapper.CreateWorkerCluster)
router.GET(baseURL+"/api/v3/worker-mgt/workers", wrapper.FetchWorkers) router.GET(baseURL+"/api/v3/worker-mgt/workers", wrapper.FetchWorkers)
router.DELETE(baseURL+"/api/v3/worker-mgt/workers/:worker_id", wrapper.DeleteWorker) router.DELETE(baseURL+"/api/v3/worker-mgt/workers/:worker_id", wrapper.DeleteWorker)
router.GET(baseURL+"/api/v3/worker-mgt/workers/:worker_id", wrapper.FetchWorker) router.GET(baseURL+"/api/v3/worker-mgt/workers/:worker_id", wrapper.FetchWorker)
router.POST(baseURL+"/api/v3/worker-mgt/workers/:worker_id/setclusters", wrapper.SetWorkerClusters)
router.POST(baseURL+"/api/v3/worker-mgt/workers/:worker_id/setstatus", wrapper.RequestWorkerStatusChange) router.POST(baseURL+"/api/v3/worker-mgt/workers/:worker_id/setstatus", wrapper.RequestWorkerStatusChange)
router.GET(baseURL+"/api/v3/worker-mgt/workers/:worker_id/sleep-schedule", wrapper.FetchWorkerSleepSchedule) router.GET(baseURL+"/api/v3/worker-mgt/workers/:worker_id/sleep-schedule", wrapper.FetchWorkerSleepSchedule)
router.POST(baseURL+"/api/v3/worker-mgt/workers/:worker_id/sleep-schedule", wrapper.SetWorkerSleepSchedule) router.POST(baseURL+"/api/v3/worker-mgt/workers/:worker_id/sleep-schedule", wrapper.SetWorkerSleepSchedule)

View File

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

View File

@ -638,6 +638,9 @@ type SubmittedJob struct {
// Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. // Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated.
// If this field is ommitted, the check is bypassed. // If this field is ommitted, the check is bypassed.
TypeEtag *string `json:"type_etag,omitempty"` TypeEtag *string `json:"type_etag,omitempty"`
// Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job.
WorkerCluster *string `json:"worker_cluster,omitempty"`
} }
// The task as it exists in the Manager database, i.e. before variable replacement. // The task as it exists in the Manager database, i.e. before variable replacement.
@ -719,6 +722,9 @@ type Worker struct {
// Embedded struct due to allOf(#/components/schemas/WorkerSummary) // Embedded struct due to allOf(#/components/schemas/WorkerSummary)
WorkerSummary `yaml:",inline"` WorkerSummary `yaml:",inline"`
// Embedded fields due to inline allOf schema // Embedded fields due to inline allOf schema
// Clusters of which this Worker is a member.
Clusters *[]WorkerCluster `json:"clusters,omitempty"`
// IP address of the Worker // IP address of the Worker
IpAddress string `json:"ip_address"` IpAddress string `json:"ip_address"`
@ -730,6 +736,23 @@ type Worker struct {
Task *WorkerTask `json:"task,omitempty"` Task *WorkerTask `json:"task,omitempty"`
} }
// Cluster of workers. A job can optionally specify which cluster it should be limited to. Workers can be part of multiple clusters simultaneously.
type WorkerCluster struct {
Description *string `json:"description,omitempty"`
Id string `json:"id"`
Name string `json:"name"`
}
// Request to change which clusters this Worker is assigned to.
type WorkerClusterChangeRequest struct {
ClusterIds []string `json:"cluster_ids"`
}
// WorkerClusterList defines model for WorkerClusterList.
type WorkerClusterList struct {
Clusters *[]WorkerCluster `json:"clusters,omitempty"`
}
// List of workers. // List of workers.
type WorkerList struct { type WorkerList struct {
Workers []WorkerSummary `json:"workers"` Workers []WorkerSummary `json:"workers"`
@ -849,6 +872,15 @@ type ShamanFileStoreParams struct {
// SetTaskStatusJSONBody defines parameters for SetTaskStatus. // SetTaskStatusJSONBody defines parameters for SetTaskStatus.
type SetTaskStatusJSONBody TaskStatusChange type SetTaskStatusJSONBody TaskStatusChange
// UpdateWorkerClusterJSONBody defines parameters for UpdateWorkerCluster.
type UpdateWorkerClusterJSONBody WorkerCluster
// CreateWorkerClusterJSONBody defines parameters for CreateWorkerCluster.
type CreateWorkerClusterJSONBody WorkerCluster
// SetWorkerClustersJSONBody defines parameters for SetWorkerClusters.
type SetWorkerClustersJSONBody WorkerClusterChangeRequest
// RequestWorkerStatusChangeJSONBody defines parameters for RequestWorkerStatusChange. // RequestWorkerStatusChangeJSONBody defines parameters for RequestWorkerStatusChange.
type RequestWorkerStatusChangeJSONBody WorkerStatusChangeRequest type RequestWorkerStatusChangeJSONBody WorkerStatusChangeRequest
@ -903,6 +935,15 @@ type ShamanCheckoutRequirementsJSONRequestBody ShamanCheckoutRequirementsJSONBod
// SetTaskStatusJSONRequestBody defines body for SetTaskStatus for application/json ContentType. // SetTaskStatusJSONRequestBody defines body for SetTaskStatus for application/json ContentType.
type SetTaskStatusJSONRequestBody SetTaskStatusJSONBody type SetTaskStatusJSONRequestBody SetTaskStatusJSONBody
// UpdateWorkerClusterJSONRequestBody defines body for UpdateWorkerCluster for application/json ContentType.
type UpdateWorkerClusterJSONRequestBody UpdateWorkerClusterJSONBody
// CreateWorkerClusterJSONRequestBody defines body for CreateWorkerCluster for application/json ContentType.
type CreateWorkerClusterJSONRequestBody CreateWorkerClusterJSONBody
// SetWorkerClustersJSONRequestBody defines body for SetWorkerClusters for application/json ContentType.
type SetWorkerClustersJSONRequestBody SetWorkerClustersJSONBody
// RequestWorkerStatusChangeJSONRequestBody defines body for RequestWorkerStatusChange for application/json ContentType. // RequestWorkerStatusChangeJSONRequestBody defines body for RequestWorkerStatusChange for application/json ContentType.
type RequestWorkerStatusChangeJSONRequestBody RequestWorkerStatusChangeJSONBody type RequestWorkerStatusChangeJSONRequestBody RequestWorkerStatusChangeJSONBody

View File

@ -73,6 +73,9 @@ import TaskUpdate from './model/TaskUpdate';
import TaskWorker from './model/TaskWorker'; import TaskWorker from './model/TaskWorker';
import Worker from './model/Worker'; import Worker from './model/Worker';
import WorkerAllOf from './model/WorkerAllOf'; import WorkerAllOf from './model/WorkerAllOf';
import WorkerCluster from './model/WorkerCluster';
import WorkerClusterChangeRequest from './model/WorkerClusterChangeRequest';
import WorkerClusterList from './model/WorkerClusterList';
import WorkerList from './model/WorkerList'; import WorkerList from './model/WorkerList';
import WorkerRegistration from './model/WorkerRegistration'; import WorkerRegistration from './model/WorkerRegistration';
import WorkerSignOn from './model/WorkerSignOn'; import WorkerSignOn from './model/WorkerSignOn';
@ -489,6 +492,24 @@ export {
*/ */
WorkerAllOf, WorkerAllOf,
/**
* The WorkerCluster model constructor.
* @property {module:model/WorkerCluster}
*/
WorkerCluster,
/**
* The WorkerClusterChangeRequest model constructor.
* @property {module:model/WorkerClusterChangeRequest}
*/
WorkerClusterChangeRequest,
/**
* The WorkerClusterList model constructor.
* @property {module:model/WorkerClusterList}
*/
WorkerClusterList,
/** /**
* The WorkerList model constructor. * The WorkerList model constructor.
* @property {module:model/WorkerList} * @property {module:model/WorkerList}

View File

@ -15,6 +15,9 @@
import ApiClient from "../ApiClient"; import ApiClient from "../ApiClient";
import Error from '../model/Error'; import Error from '../model/Error';
import Worker from '../model/Worker'; import Worker from '../model/Worker';
import WorkerCluster from '../model/WorkerCluster';
import WorkerClusterChangeRequest from '../model/WorkerClusterChangeRequest';
import WorkerClusterList from '../model/WorkerClusterList';
import WorkerList from '../model/WorkerList'; import WorkerList from '../model/WorkerList';
import WorkerSleepSchedule from '../model/WorkerSleepSchedule'; import WorkerSleepSchedule from '../model/WorkerSleepSchedule';
import WorkerStatusChangeRequest from '../model/WorkerStatusChangeRequest'; import WorkerStatusChangeRequest from '../model/WorkerStatusChangeRequest';
@ -39,6 +42,51 @@ export default class WorkerMgtApi {
/**
* Create a new worker cluster.
* @param {module:model/WorkerCluster} workerCluster The worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
createWorkerClusterWithHttpInfo(workerCluster) {
let postBody = workerCluster;
// verify the required parameter 'workerCluster' is set
if (workerCluster === undefined || workerCluster === null) {
throw new Error("Missing the required parameter 'workerCluster' when calling createWorkerCluster");
}
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/worker-mgt/clusters', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Create a new worker cluster.
* @param {module:model/WorkerCluster} workerCluster The worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
createWorkerCluster(workerCluster) {
return this.createWorkerClusterWithHttpInfo(workerCluster)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/** /**
* 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. * 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.
* @param {String} workerId * @param {String} workerId
@ -85,6 +133,52 @@ export default class WorkerMgtApi {
} }
/**
* Remove this worker cluster. This unassigns all workers from the cluster and removes it.
* @param {String} clusterId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
deleteWorkerClusterWithHttpInfo(clusterId) {
let postBody = null;
// verify the required parameter 'clusterId' is set
if (clusterId === undefined || clusterId === null) {
throw new Error("Missing the required parameter 'clusterId' when calling deleteWorkerCluster");
}
let pathParams = {
'cluster_id': clusterId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/worker-mgt/cluster/{cluster_id}', 'DELETE',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Remove this worker cluster. This unassigns all workers from the cluster and removes it.
* @param {String} clusterId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
deleteWorkerCluster(clusterId) {
return this.deleteWorkerClusterWithHttpInfo(clusterId)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/** /**
* Fetch info about the worker. * Fetch info about the worker.
* @param {String} workerId * @param {String} workerId
@ -131,6 +225,91 @@ export default class WorkerMgtApi {
} }
/**
* Get a single worker cluster.
* @param {String} clusterId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerCluster} and HTTP response
*/
fetchWorkerClusterWithHttpInfo(clusterId) {
let postBody = null;
// verify the required parameter 'clusterId' is set
if (clusterId === undefined || clusterId === null) {
throw new Error("Missing the required parameter 'clusterId' when calling fetchWorkerCluster");
}
let pathParams = {
'cluster_id': clusterId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = WorkerCluster;
return this.apiClient.callApi(
'/api/v3/worker-mgt/cluster/{cluster_id}', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Get a single worker cluster.
* @param {String} clusterId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/WorkerCluster}
*/
fetchWorkerCluster(clusterId) {
return this.fetchWorkerClusterWithHttpInfo(clusterId)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Get list of worker clusters.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerClusterList} and HTTP response
*/
fetchWorkerClustersWithHttpInfo() {
let postBody = null;
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = WorkerClusterList;
return this.apiClient.callApi(
'/api/v3/worker-mgt/clusters', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Get list of worker clusters.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/WorkerClusterList}
*/
fetchWorkerClusters() {
return this.fetchWorkerClustersWithHttpInfo()
.then(function(response_and_data) {
return response_and_data.data;
});
}
/** /**
* @param {String} workerId * @param {String} workerId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerSleepSchedule} and HTTP response * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerSleepSchedule} and HTTP response
@ -264,6 +443,56 @@ export default class WorkerMgtApi {
} }
/**
* @param {String} workerId
* @param {module:model/WorkerClusterChangeRequest} workerClusterChangeRequest The list of cluster IDs this worker should be a member of.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
setWorkerClustersWithHttpInfo(workerId, workerClusterChangeRequest) {
let postBody = workerClusterChangeRequest;
// verify the required parameter 'workerId' is set
if (workerId === undefined || workerId === null) {
throw new Error("Missing the required parameter 'workerId' when calling setWorkerClusters");
}
// verify the required parameter 'workerClusterChangeRequest' is set
if (workerClusterChangeRequest === undefined || workerClusterChangeRequest === null) {
throw new Error("Missing the required parameter 'workerClusterChangeRequest' when calling setWorkerClusters");
}
let pathParams = {
'worker_id': workerId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/worker-mgt/workers/{worker_id}/setclusters', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* @param {String} workerId
* @param {module:model/WorkerClusterChangeRequest} workerClusterChangeRequest The list of cluster IDs this worker should be a member of.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
setWorkerClusters(workerId, workerClusterChangeRequest) {
return this.setWorkerClustersWithHttpInfo(workerId, workerClusterChangeRequest)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/** /**
* @param {String} workerId * @param {String} workerId
* @param {module:model/WorkerSleepSchedule} workerSleepSchedule The new sleep schedule. * @param {module:model/WorkerSleepSchedule} workerSleepSchedule The new sleep schedule.
@ -314,4 +543,56 @@ export default class WorkerMgtApi {
} }
/**
* Update an existing worker cluster.
* @param {String} clusterId
* @param {module:model/WorkerCluster} workerCluster The updated worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
updateWorkerClusterWithHttpInfo(clusterId, workerCluster) {
let postBody = workerCluster;
// verify the required parameter 'clusterId' is set
if (clusterId === undefined || clusterId === null) {
throw new Error("Missing the required parameter 'clusterId' when calling updateWorkerCluster");
}
// verify the required parameter 'workerCluster' is set
if (workerCluster === undefined || workerCluster === null) {
throw new Error("Missing the required parameter 'workerCluster' when calling updateWorkerCluster");
}
let pathParams = {
'cluster_id': clusterId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/worker-mgt/cluster/{cluster_id}', 'PUT',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Update an existing worker cluster.
* @param {String} clusterId
* @param {module:model/WorkerCluster} workerCluster The updated worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
updateWorkerCluster(clusterId, workerCluster) {
return this.updateWorkerClusterWithHttpInfo(clusterId, workerCluster)
.then(function(response_and_data) {
return response_and_data.data;
});
}
} }

View File

@ -97,6 +97,9 @@ class Job {
if (data.hasOwnProperty('storage')) { if (data.hasOwnProperty('storage')) {
obj['storage'] = JobStorageInfo.constructFromObject(data['storage']); obj['storage'] = JobStorageInfo.constructFromObject(data['storage']);
} }
if (data.hasOwnProperty('worker_cluster')) {
obj['worker_cluster'] = ApiClient.convertToType(data['worker_cluster'], 'String');
}
if (data.hasOwnProperty('id')) { if (data.hasOwnProperty('id')) {
obj['id'] = ApiClient.convertToType(data['id'], 'String'); obj['id'] = ApiClient.convertToType(data['id'], 'String');
} }
@ -166,6 +169,12 @@ Job.prototype['submitter_platform'] = undefined;
*/ */
Job.prototype['storage'] = undefined; Job.prototype['storage'] = undefined;
/**
* Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job.
* @member {String} worker_cluster
*/
Job.prototype['worker_cluster'] = undefined;
/** /**
* UUID of the Job * UUID of the Job
* @member {String} id * @member {String} id
@ -239,6 +248,11 @@ SubmittedJob.prototype['submitter_platform'] = undefined;
* @member {module:model/JobStorageInfo} storage * @member {module:model/JobStorageInfo} storage
*/ */
SubmittedJob.prototype['storage'] = undefined; SubmittedJob.prototype['storage'] = undefined;
/**
* Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job.
* @member {String} worker_cluster
*/
SubmittedJob.prototype['worker_cluster'] = undefined;
// Implement JobAllOf interface: // Implement JobAllOf interface:
/** /**
* UUID of the Job * UUID of the Job

View File

@ -81,6 +81,9 @@ class SubmittedJob {
if (data.hasOwnProperty('storage')) { if (data.hasOwnProperty('storage')) {
obj['storage'] = JobStorageInfo.constructFromObject(data['storage']); obj['storage'] = JobStorageInfo.constructFromObject(data['storage']);
} }
if (data.hasOwnProperty('worker_cluster')) {
obj['worker_cluster'] = ApiClient.convertToType(data['worker_cluster'], 'String');
}
} }
return obj; return obj;
} }
@ -132,6 +135,12 @@ SubmittedJob.prototype['submitter_platform'] = undefined;
*/ */
SubmittedJob.prototype['storage'] = undefined; SubmittedJob.prototype['storage'] = undefined;
/**
* Worker Cluster that should execute this job. When a cluster ID is given, only Workers in that cluster will be scheduled to work on it. If empty or ommitted, all workers can work on this job.
* @member {String} worker_cluster
*/
SubmittedJob.prototype['worker_cluster'] = undefined;

View File

@ -13,6 +13,7 @@
import ApiClient from '../ApiClient'; import ApiClient from '../ApiClient';
import WorkerAllOf from './WorkerAllOf'; import WorkerAllOf from './WorkerAllOf';
import WorkerCluster from './WorkerCluster';
import WorkerStatus from './WorkerStatus'; import WorkerStatus from './WorkerStatus';
import WorkerStatusChangeRequest from './WorkerStatusChangeRequest'; import WorkerStatusChangeRequest from './WorkerStatusChangeRequest';
import WorkerSummary from './WorkerSummary'; import WorkerSummary from './WorkerSummary';
@ -101,6 +102,9 @@ class Worker {
if (data.hasOwnProperty('task')) { if (data.hasOwnProperty('task')) {
obj['task'] = WorkerTask.constructFromObject(data['task']); obj['task'] = WorkerTask.constructFromObject(data['task']);
} }
if (data.hasOwnProperty('clusters')) {
obj['clusters'] = ApiClient.convertToType(data['clusters'], [WorkerCluster]);
}
} }
return obj; return obj;
} }
@ -162,6 +166,12 @@ Worker.prototype['supported_task_types'] = undefined;
*/ */
Worker.prototype['task'] = undefined; Worker.prototype['task'] = undefined;
/**
* Clusters of which this Worker is a member.
* @member {Array.<module:model/WorkerCluster>} clusters
*/
Worker.prototype['clusters'] = undefined;
// Implement WorkerSummary interface: // Implement WorkerSummary interface:
/** /**
@ -209,6 +219,11 @@ WorkerAllOf.prototype['supported_task_types'] = undefined;
* @member {module:model/WorkerTask} task * @member {module:model/WorkerTask} task
*/ */
WorkerAllOf.prototype['task'] = undefined; WorkerAllOf.prototype['task'] = undefined;
/**
* Clusters of which this Worker is a member.
* @member {Array.<module:model/WorkerCluster>} clusters
*/
WorkerAllOf.prototype['clusters'] = undefined;

View File

@ -12,6 +12,7 @@
*/ */
import ApiClient from '../ApiClient'; import ApiClient from '../ApiClient';
import WorkerCluster from './WorkerCluster';
import WorkerTask from './WorkerTask'; import WorkerTask from './WorkerTask';
/** /**
@ -66,6 +67,9 @@ class WorkerAllOf {
if (data.hasOwnProperty('task')) { if (data.hasOwnProperty('task')) {
obj['task'] = WorkerTask.constructFromObject(data['task']); obj['task'] = WorkerTask.constructFromObject(data['task']);
} }
if (data.hasOwnProperty('clusters')) {
obj['clusters'] = ApiClient.convertToType(data['clusters'], [WorkerCluster]);
}
} }
return obj; return obj;
} }
@ -95,6 +99,12 @@ WorkerAllOf.prototype['supported_task_types'] = undefined;
*/ */
WorkerAllOf.prototype['task'] = undefined; WorkerAllOf.prototype['task'] = undefined;
/**
* Clusters of which this Worker is a member.
* @member {Array.<module:model/WorkerCluster>} clusters
*/
WorkerAllOf.prototype['clusters'] = undefined;

View File

@ -0,0 +1,92 @@
/**
* Flamenco manager
* Render Farm manager API
*
* The version of the OpenAPI document: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*
*/
import ApiClient from '../ApiClient';
/**
* The WorkerCluster model module.
* @module model/WorkerCluster
* @version 0.0.0
*/
class WorkerCluster {
/**
* Constructs a new <code>WorkerCluster</code>.
* Cluster of workers. A job can optionally specify which cluster it should be limited to. Workers can be part of multiple clusters simultaneously.
* @alias module:model/WorkerCluster
* @param id {String}
* @param name {String}
*/
constructor(id, name) {
WorkerCluster.initialize(this, id, name);
}
/**
* Initializes the fields of this object.
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
* Only for internal use.
*/
static initialize(obj, id, name) {
obj['id'] = id;
obj['name'] = name;
}
/**
* Constructs a <code>WorkerCluster</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/WorkerCluster} obj Optional instance to populate.
* @return {module:model/WorkerCluster} The populated <code>WorkerCluster</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new WorkerCluster();
if (data.hasOwnProperty('id')) {
obj['id'] = ApiClient.convertToType(data['id'], 'String');
}
if (data.hasOwnProperty('name')) {
obj['name'] = ApiClient.convertToType(data['name'], 'String');
}
if (data.hasOwnProperty('description')) {
obj['description'] = ApiClient.convertToType(data['description'], 'String');
}
}
return obj;
}
}
/**
* @member {String} id
*/
WorkerCluster.prototype['id'] = undefined;
/**
* @member {String} name
*/
WorkerCluster.prototype['name'] = undefined;
/**
* @member {String} description
*/
WorkerCluster.prototype['description'] = undefined;
export default WorkerCluster;

View File

@ -0,0 +1,74 @@
/**
* Flamenco manager
* Render Farm manager API
*
* The version of the OpenAPI document: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*
*/
import ApiClient from '../ApiClient';
/**
* The WorkerClusterChangeRequest model module.
* @module model/WorkerClusterChangeRequest
* @version 0.0.0
*/
class WorkerClusterChangeRequest {
/**
* Constructs a new <code>WorkerClusterChangeRequest</code>.
* Request to change which clusters this Worker is assigned to.
* @alias module:model/WorkerClusterChangeRequest
* @param clusterIds {Array.<String>}
*/
constructor(clusterIds) {
WorkerClusterChangeRequest.initialize(this, clusterIds);
}
/**
* Initializes the fields of this object.
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
* Only for internal use.
*/
static initialize(obj, clusterIds) {
obj['cluster_ids'] = clusterIds;
}
/**
* Constructs a <code>WorkerClusterChangeRequest</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/WorkerClusterChangeRequest} obj Optional instance to populate.
* @return {module:model/WorkerClusterChangeRequest} The populated <code>WorkerClusterChangeRequest</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new WorkerClusterChangeRequest();
if (data.hasOwnProperty('cluster_ids')) {
obj['cluster_ids'] = ApiClient.convertToType(data['cluster_ids'], ['String']);
}
}
return obj;
}
}
/**
* @member {Array.<String>} cluster_ids
*/
WorkerClusterChangeRequest.prototype['cluster_ids'] = undefined;
export default WorkerClusterChangeRequest;

View File

@ -0,0 +1,72 @@
/**
* Flamenco manager
* Render Farm manager API
*
* The version of the OpenAPI document: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*
*/
import ApiClient from '../ApiClient';
import WorkerCluster from './WorkerCluster';
/**
* The WorkerClusterList model module.
* @module model/WorkerClusterList
* @version 0.0.0
*/
class WorkerClusterList {
/**
* Constructs a new <code>WorkerClusterList</code>.
* @alias module:model/WorkerClusterList
*/
constructor() {
WorkerClusterList.initialize(this);
}
/**
* Initializes the fields of this object.
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
* Only for internal use.
*/
static initialize(obj) {
}
/**
* Constructs a <code>WorkerClusterList</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/WorkerClusterList} obj Optional instance to populate.
* @return {module:model/WorkerClusterList} The populated <code>WorkerClusterList</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new WorkerClusterList();
if (data.hasOwnProperty('clusters')) {
obj['clusters'] = ApiClient.convertToType(data['clusters'], [WorkerCluster]);
}
}
return obj;
}
}
/**
* @member {Array.<module:model/WorkerCluster>} clusters
*/
WorkerClusterList.prototype['clusters'] = undefined;
export default WorkerClusterList;