cosmotech-api 4.0.0.dev9__py3-none-any.whl → 5.0.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cosmotech-api might be problematic. Click here for more details.
- cosmotech_api/__init__.py +32 -27
- cosmotech_api/api/__init__.py +1 -1
- cosmotech_api/api/connector_api.py +19 -8
- cosmotech_api/api/dataset_api.py +1496 -4126
- cosmotech_api/api/meta_api.py +281 -0
- cosmotech_api/api/organization_api.py +605 -562
- cosmotech_api/api/run_api.py +42 -22
- cosmotech_api/api/runner_api.py +512 -467
- cosmotech_api/api/scenario_api.py +141 -121
- cosmotech_api/api/scenariorun_api.py +76 -66
- cosmotech_api/api/scenariorunresult_api.py +1 -1
- cosmotech_api/api/solution_api.py +2980 -795
- cosmotech_api/api/twingraph_api.py +83 -72
- cosmotech_api/api/validator_api.py +1 -1
- cosmotech_api/api/workspace_api.py +795 -1331
- cosmotech_api/api_client.py +14 -5
- cosmotech_api/configuration.py +167 -40
- cosmotech_api/exceptions.py +18 -1
- cosmotech_api/model/component_role_permissions.py +1 -1
- cosmotech_api/model/connector.py +1 -1
- cosmotech_api/model/connector_parameter.py +1 -1
- cosmotech_api/model/connector_parameter_group.py +1 -1
- cosmotech_api/model/container_resource_size_info.py +1 -1
- cosmotech_api/model/container_resource_sizing.py +1 -1
- cosmotech_api/model/dataset.py +1 -1
- cosmotech_api/model/dataset_access_control.py +1 -1
- cosmotech_api/model/dataset_compatibility.py +1 -1
- cosmotech_api/model/dataset_connector.py +1 -1
- cosmotech_api/model/dataset_copy_parameters.py +1 -1
- cosmotech_api/model/dataset_role.py +1 -1
- cosmotech_api/model/dataset_search.py +1 -1
- cosmotech_api/model/dataset_security.py +1 -1
- cosmotech_api/model/dataset_source_type.py +1 -1
- cosmotech_api/model/dataset_twin_graph_hash.py +1 -1
- cosmotech_api/model/dataset_twin_graph_info.py +1 -1
- cosmotech_api/model/dataset_twin_graph_query.py +1 -1
- cosmotech_api/model/delete_historical_data.py +1 -1
- cosmotech_api/model/file_upload_metadata.py +1 -1
- cosmotech_api/model/file_upload_validation.py +1 -1
- cosmotech_api/model/graph_properties.py +1 -1
- cosmotech_api/model/organization.py +1 -1
- cosmotech_api/model/organization_access_control.py +1 -1
- cosmotech_api/model/organization_role.py +1 -1
- cosmotech_api/model/organization_security.py +1 -1
- cosmotech_api/model/organization_service.py +1 -1
- cosmotech_api/model/organization_services.py +1 -1
- cosmotech_api/model/resource_size_info.py +1 -1
- cosmotech_api/model/run.py +1 -1
- cosmotech_api/model/run_container.py +1 -1
- cosmotech_api/model/run_container_artifact.py +1 -1
- cosmotech_api/model/run_container_logs.py +1 -1
- cosmotech_api/model/run_logs.py +1 -1
- cosmotech_api/model/run_resource_requested.py +1 -1
- cosmotech_api/model/run_search.py +1 -1
- cosmotech_api/model/run_start_containers.py +1 -1
- cosmotech_api/model/run_state.py +1 -1
- cosmotech_api/model/run_status.py +1 -1
- cosmotech_api/model/run_status_node.py +1 -1
- cosmotech_api/model/run_template.py +1 -1
- cosmotech_api/model/run_template_handler_id.py +1 -1
- cosmotech_api/model/run_template_orchestrator.py +1 -1
- cosmotech_api/model/run_template_parameter.py +1 -1
- cosmotech_api/model/run_template_parameter_group.py +1 -1
- cosmotech_api/model/run_template_parameter_value.py +1 -1
- cosmotech_api/model/run_template_resource_sizing.py +1 -1
- cosmotech_api/model/run_template_step_source.py +1 -1
- cosmotech_api/model/runner.py +1 -1
- cosmotech_api/model/runner_access_control.py +1 -1
- cosmotech_api/model/runner_changed_parameter_value.py +1 -1
- cosmotech_api/model/runner_comparison_result.py +1 -1
- cosmotech_api/model/runner_data_download_info.py +1 -1
- cosmotech_api/model/runner_data_download_job.py +1 -1
- cosmotech_api/model/runner_job_state.py +1 -1
- cosmotech_api/model/runner_last_run.py +1 -1
- cosmotech_api/model/runner_resource_sizing.py +1 -1
- cosmotech_api/model/runner_role.py +1 -1
- cosmotech_api/model/runner_run_template_parameter_value.py +1 -1
- cosmotech_api/model/runner_security.py +1 -1
- cosmotech_api/model/runner_validation_status.py +1 -1
- cosmotech_api/model/scenario.py +1 -1
- cosmotech_api/model/scenario_access_control.py +1 -1
- cosmotech_api/model/scenario_changed_parameter_value.py +1 -1
- cosmotech_api/model/scenario_comparison_result.py +1 -1
- cosmotech_api/model/scenario_data_download_info.py +1 -1
- cosmotech_api/model/scenario_data_download_job.py +1 -1
- cosmotech_api/model/scenario_job_state.py +1 -1
- cosmotech_api/model/scenario_last_run.py +1 -1
- cosmotech_api/model/scenario_resource_sizing.py +1 -1
- cosmotech_api/model/scenario_role.py +1 -1
- cosmotech_api/model/scenario_run.py +1 -1
- cosmotech_api/model/scenario_run_container.py +1 -1
- cosmotech_api/model/scenario_run_container_artifact.py +1 -1
- cosmotech_api/model/scenario_run_container_logs.py +1 -1
- cosmotech_api/model/scenario_run_logs.py +1 -1
- cosmotech_api/model/scenario_run_resource_requested.py +1 -1
- cosmotech_api/model/scenario_run_result.py +1 -1
- cosmotech_api/model/scenario_run_search.py +1 -1
- cosmotech_api/model/scenario_run_start_containers.py +1 -1
- cosmotech_api/model/scenario_run_state.py +1 -1
- cosmotech_api/model/scenario_run_status.py +1 -1
- cosmotech_api/model/scenario_run_status_node.py +1 -1
- cosmotech_api/model/scenario_run_template_parameter_value.py +1 -1
- cosmotech_api/model/scenario_security.py +1 -1
- cosmotech_api/model/scenario_validation_status.py +1 -1
- cosmotech_api/model/solution.py +1 -1
- cosmotech_api/model/solution_access_control.py +1 -1
- cosmotech_api/model/solution_role.py +1 -1
- cosmotech_api/model/solution_security.py +1 -1
- cosmotech_api/model/source_info.py +1 -1
- cosmotech_api/model/sub_dataset_graph_query.py +1 -1
- cosmotech_api/model/translated_labels.py +1 -1
- cosmotech_api/model/twin_graph_batch_result.py +1 -1
- cosmotech_api/model/twin_graph_hash.py +1 -1
- cosmotech_api/model/twin_graph_query.py +1 -1
- cosmotech_api/model/validator.py +1 -1
- cosmotech_api/model/validator_run.py +1 -1
- cosmotech_api/model/workspace.py +1 -1
- cosmotech_api/model/workspace_access_control.py +1 -1
- cosmotech_api/model/workspace_file.py +1 -1
- cosmotech_api/model/workspace_role.py +1 -1
- cosmotech_api/model/workspace_secret.py +1 -1
- cosmotech_api/model/workspace_security.py +1 -1
- cosmotech_api/model/workspace_solution.py +1 -1
- cosmotech_api/model/workspace_web_app.py +1 -1
- cosmotech_api/model_utils.py +1 -1
- cosmotech_api/models/__init__.py +31 -26
- cosmotech_api/models/about_info.py +92 -0
- cosmotech_api/models/about_info_version.py +100 -0
- cosmotech_api/models/component_role_permissions.py +5 -5
- cosmotech_api/models/connector.py +1 -1
- cosmotech_api/models/connector_parameter.py +1 -1
- cosmotech_api/models/connector_parameter_group.py +1 -1
- cosmotech_api/models/container_resource_size_info.py +1 -1
- cosmotech_api/models/container_resource_sizing.py +1 -1
- cosmotech_api/models/create_info.py +103 -0
- cosmotech_api/models/created_run.py +2 -2
- cosmotech_api/models/dataset.py +42 -81
- cosmotech_api/models/dataset_access_control.py +1 -1
- cosmotech_api/models/dataset_compatibility.py +1 -1
- cosmotech_api/models/dataset_connector.py +1 -1
- cosmotech_api/models/dataset_copy_parameters.py +1 -1
- cosmotech_api/models/dataset_create_request.py +121 -0
- cosmotech_api/models/dataset_part.py +130 -0
- cosmotech_api/models/dataset_part_create_request.py +98 -0
- cosmotech_api/models/dataset_part_type_enum.py +38 -0
- cosmotech_api/models/dataset_part_update_request.py +90 -0
- cosmotech_api/models/dataset_role.py +1 -1
- cosmotech_api/models/dataset_search.py +1 -1
- cosmotech_api/models/dataset_security.py +1 -1
- cosmotech_api/models/dataset_source_type.py +1 -1
- cosmotech_api/models/dataset_twin_graph_hash.py +1 -1
- cosmotech_api/models/dataset_twin_graph_info.py +1 -1
- cosmotech_api/models/dataset_twin_graph_query.py +1 -1
- cosmotech_api/models/dataset_update_request.py +109 -0
- cosmotech_api/models/delete_historical_data.py +1 -1
- cosmotech_api/models/edit_info.py +90 -0
- cosmotech_api/models/file_upload_metadata.py +1 -1
- cosmotech_api/models/file_upload_validation.py +1 -1
- cosmotech_api/models/graph_properties.py +1 -1
- cosmotech_api/models/ingestion_status_enum.py +1 -1
- cosmotech_api/models/io_types_enum.py +1 -1
- cosmotech_api/models/last_run_info.py +100 -0
- cosmotech_api/models/organization.py +18 -11
- cosmotech_api/models/organization_access_control.py +4 -4
- cosmotech_api/models/organization_create_request.py +95 -0
- cosmotech_api/models/organization_edit_info.py +90 -0
- cosmotech_api/models/organization_role.py +3 -3
- cosmotech_api/models/organization_security.py +4 -4
- cosmotech_api/models/organization_service.py +7 -7
- cosmotech_api/models/organization_services.py +7 -7
- cosmotech_api/models/organization_update_request.py +89 -0
- cosmotech_api/models/query_result.py +1 -1
- cosmotech_api/models/resource_size_info.py +1 -1
- cosmotech_api/models/run.py +8 -10
- cosmotech_api/models/run_container.py +1 -1
- cosmotech_api/models/run_container_artifact.py +7 -7
- cosmotech_api/models/run_container_logs.py +7 -7
- cosmotech_api/models/run_data.py +2 -2
- cosmotech_api/models/run_data_query.py +1 -1
- cosmotech_api/models/run_edit_info.py +90 -0
- cosmotech_api/models/run_logs.py +1 -1
- cosmotech_api/models/run_logs_entry.py +1 -1
- cosmotech_api/models/run_resource_requested.py +1 -1
- cosmotech_api/models/run_search.py +7 -7
- cosmotech_api/models/run_search_state.py +1 -1
- cosmotech_api/models/run_start_containers.py +10 -10
- cosmotech_api/models/run_state.py +2 -1
- cosmotech_api/models/run_status.py +8 -2
- cosmotech_api/models/run_status_node.py +1 -1
- cosmotech_api/models/run_template.py +14 -69
- cosmotech_api/models/run_template_create_request.py +109 -0
- cosmotech_api/models/run_template_handler_id.py +1 -1
- cosmotech_api/models/run_template_orchestrator.py +1 -1
- cosmotech_api/models/run_template_parameter.py +14 -11
- cosmotech_api/models/run_template_parameter_create_request.py +105 -0
- cosmotech_api/models/run_template_parameter_group.py +12 -9
- cosmotech_api/models/run_template_parameter_group_create_request.py +101 -0
- cosmotech_api/models/run_template_parameter_group_update_request.py +98 -0
- cosmotech_api/models/run_template_parameter_update_request.py +103 -0
- cosmotech_api/models/run_template_parameter_value.py +1 -1
- cosmotech_api/models/run_template_resource_sizing.py +2 -2
- cosmotech_api/models/run_template_step_source.py +1 -1
- cosmotech_api/models/run_template_update_request.py +107 -0
- cosmotech_api/models/runner.py +31 -28
- cosmotech_api/models/runner_access_control.py +1 -1
- cosmotech_api/models/runner_changed_parameter_value.py +7 -7
- cosmotech_api/models/runner_comparison_result.py +10 -10
- cosmotech_api/models/runner_create_request.py +154 -0
- cosmotech_api/models/runner_data_download_info.py +12 -9
- cosmotech_api/models/runner_data_download_job.py +7 -7
- cosmotech_api/models/runner_edit_info.py +90 -0
- cosmotech_api/models/runner_job_state.py +1 -1
- cosmotech_api/models/runner_last_run.py +7 -7
- cosmotech_api/models/runner_parent_last_run.py +7 -7
- cosmotech_api/models/runner_resource_sizing.py +1 -1
- cosmotech_api/models/runner_role.py +1 -1
- cosmotech_api/models/runner_root_last_run.py +7 -7
- cosmotech_api/models/runner_run_template_parameter_value.py +1 -1
- cosmotech_api/models/runner_security.py +1 -1
- cosmotech_api/models/runner_update_request.py +123 -0
- cosmotech_api/models/runner_validation_status.py +1 -1
- cosmotech_api/models/scenario.py +10 -10
- cosmotech_api/models/scenario_access_control.py +7 -7
- cosmotech_api/models/scenario_changed_parameter_value.py +7 -7
- cosmotech_api/models/scenario_comparison_result.py +10 -10
- cosmotech_api/models/scenario_data_download_info.py +7 -7
- cosmotech_api/models/scenario_data_download_job.py +7 -7
- cosmotech_api/models/scenario_job_state.py +1 -1
- cosmotech_api/models/scenario_last_run.py +7 -7
- cosmotech_api/models/scenario_resource_sizing.py +7 -7
- cosmotech_api/models/scenario_role.py +7 -7
- cosmotech_api/models/scenario_run.py +13 -13
- cosmotech_api/models/scenario_run_container.py +10 -10
- cosmotech_api/models/scenario_run_container_artifact.py +7 -7
- cosmotech_api/models/scenario_run_container_logs.py +7 -7
- cosmotech_api/models/scenario_run_logs.py +10 -10
- cosmotech_api/models/scenario_run_resource_requested.py +7 -7
- cosmotech_api/models/scenario_run_search.py +7 -7
- cosmotech_api/models/scenario_run_search_state.py +1 -1
- cosmotech_api/models/scenario_run_start_containers.py +10 -10
- cosmotech_api/models/scenario_run_state.py +1 -1
- cosmotech_api/models/scenario_run_status.py +10 -10
- cosmotech_api/models/scenario_run_status_node.py +7 -7
- cosmotech_api/models/scenario_run_template_parameter_value.py +7 -7
- cosmotech_api/models/scenario_security.py +10 -10
- cosmotech_api/models/scenario_validation_status.py +1 -1
- cosmotech_api/models/send_run_data_request.py +5 -5
- cosmotech_api/models/solution.py +45 -29
- cosmotech_api/models/solution_access_control.py +4 -4
- cosmotech_api/models/solution_create_request.py +139 -0
- cosmotech_api/models/solution_edit_info.py +90 -0
- cosmotech_api/models/solution_role.py +3 -3
- cosmotech_api/models/solution_security.py +4 -4
- cosmotech_api/models/solution_update_request.py +133 -0
- cosmotech_api/models/source_info.py +1 -1
- cosmotech_api/models/sub_dataset_graph_query.py +1 -1
- cosmotech_api/models/twin_graph_batch_result.py +1 -1
- cosmotech_api/models/twin_graph_hash.py +7 -7
- cosmotech_api/models/twin_graph_query.py +7 -7
- cosmotech_api/models/twincache_status_enum.py +1 -1
- cosmotech_api/models/validator.py +7 -7
- cosmotech_api/models/workspace.py +38 -30
- cosmotech_api/models/workspace_access_control.py +4 -4
- cosmotech_api/models/workspace_create_request.py +117 -0
- cosmotech_api/models/workspace_edit_info.py +90 -0
- cosmotech_api/models/workspace_file.py +4 -4
- cosmotech_api/models/workspace_role.py +3 -3
- cosmotech_api/models/workspace_secret.py +7 -7
- cosmotech_api/models/workspace_security.py +4 -4
- cosmotech_api/models/workspace_solution.py +14 -6
- cosmotech_api/models/workspace_update_request.py +109 -0
- cosmotech_api/models/workspace_web_app.py +4 -4
- cosmotech_api/rest.py +3 -2
- cosmotech_api-5.0.0b3.dist-info/METADATA +27 -0
- cosmotech_api-5.0.0b3.dist-info/RECORD +293 -0
- {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info}/WHEEL +1 -1
- {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info/licenses}/LICENSE +1 -1
- cosmotech_api-4.0.0.dev9.dist-info/METADATA +0 -18
- cosmotech_api-4.0.0.dev9.dist-info/RECORD +0 -262
- {cosmotech_api-4.0.0.dev9.dist-info → cosmotech_api-5.0.0b3.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -18,8 +18,10 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
import json
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
|
22
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing_extensions import Annotated
|
|
24
|
+
from cosmotech_api.models.workspace_edit_info import WorkspaceEditInfo
|
|
23
25
|
from cosmotech_api.models.workspace_security import WorkspaceSecurity
|
|
24
26
|
from cosmotech_api.models.workspace_solution import WorkspaceSolution
|
|
25
27
|
from cosmotech_api.models.workspace_web_app import WorkspaceWebApp
|
|
@@ -28,28 +30,36 @@ from typing_extensions import Self
|
|
|
28
30
|
|
|
29
31
|
class Workspace(BaseModel):
|
|
30
32
|
"""
|
|
31
|
-
|
|
33
|
+
A Workspace
|
|
32
34
|
""" # noqa: E501
|
|
33
|
-
id:
|
|
34
|
-
organization_id:
|
|
35
|
-
key:
|
|
36
|
-
name:
|
|
37
|
-
description: Optional[StrictStr] = Field(default=None, description="
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
id: Annotated[str, Field(strict=True)] = Field(description="Workspace unique identifier generated by the API")
|
|
36
|
+
organization_id: Annotated[str, Field(strict=True)] = Field(description="Organization unique identifier under which the workspace resides", alias="organizationId")
|
|
37
|
+
key: Annotated[str, Field(min_length=1, strict=True, max_length=50)] = Field(description="Technical key for resource name convention and version grouping. Must be unique")
|
|
38
|
+
name: Annotated[str, Field(min_length=1, strict=True, max_length=50)] = Field(description="Workspace name. This name is display in the sample webApp")
|
|
39
|
+
description: Optional[StrictStr] = Field(default=None, description="The Workspace description")
|
|
40
|
+
version: Optional[StrictStr] = Field(default=None, description="The Workspace version MAJOR.MINOR.PATCH.")
|
|
41
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="The list of tags")
|
|
42
|
+
create_info: WorkspaceEditInfo = Field(description="The details of the Workspace creation", alias="createInfo")
|
|
43
|
+
update_info: WorkspaceEditInfo = Field(description="The details of the Workspace last update", alias="updateInfo")
|
|
42
44
|
solution: WorkspaceSolution
|
|
43
45
|
web_app: Optional[WorkspaceWebApp] = Field(default=None, alias="webApp")
|
|
44
|
-
send_input_to_data_warehouse: Optional[StrictBool] = Field(default=None, description="default setting for all Scenarios and Run Templates to set whether or not the Dataset values and the input parameters values are send to the DataWarehouse prior to the ScenarioRun", alias="sendInputToDataWarehouse")
|
|
45
|
-
use_dedicated_event_hub_namespace: Optional[StrictBool] = Field(default=False, description="Set this property to true to use a dedicated Azure Event Hub Namespace for this Workspace. The Event Hub Namespace must be named \\'<organization_id\\>-<workspace_id\\>\\' (in lower case). This Namespace must also contain two Event Hubs named \\'probesmeasures\\' and \\'scenariorun\\'.", alias="useDedicatedEventHubNamespace")
|
|
46
|
-
dedicated_event_hub_sas_key_name: Optional[StrictStr] = Field(default=None, description="the Dedicated Event Hub SAS key name, default to RootManageSharedAccessKey. Ask you DevOps Team to add the associated value to your Workspace Secret", alias="dedicatedEventHubSasKeyName")
|
|
47
|
-
dedicated_event_hub_authentication_strategy: Optional[StrictStr] = Field(default=None, description="the Event Hub authentication strategy, SHARED_ACCESS_POLICY or TENANT_CLIENT_CREDENTIALS. Default to the one defined for the tenant.", alias="dedicatedEventHubAuthenticationStrategy")
|
|
48
|
-
send_scenario_run_to_event_hub: Optional[StrictBool] = Field(default=True, description="default setting for all Scenarios and Run Templates to set whether or not the ScenarioRun is send to the Event Hub", alias="sendScenarioRunToEventHub")
|
|
49
|
-
send_scenario_metadata_to_event_hub: Optional[StrictBool] = Field(default=False, description="Set this property to false to not send scenario metada to Azure Event Hub Namespace for this Workspace. The Event Hub Namespace must be named \\'<organization_id\\>-<workspace_id\\>\\' (in lower case). This Namespace must also contain two Event Hubs named \\'scenariometadata\\' and \\'scenariorunmetadata\\'.", alias="sendScenarioMetadataToEventHub")
|
|
50
46
|
dataset_copy: Optional[StrictBool] = Field(default=True, description="Activate the copy of dataset on scenario creation, meaning that each scenario created in this workspace will make this copy. when false, scenario use directly the dataset specified.", alias="datasetCopy")
|
|
51
|
-
security:
|
|
52
|
-
__properties: ClassVar[List[str]] = ["id", "organizationId", "key", "name", "description", "
|
|
47
|
+
security: WorkspaceSecurity
|
|
48
|
+
__properties: ClassVar[List[str]] = ["id", "organizationId", "key", "name", "description", "version", "tags", "createInfo", "updateInfo", "solution", "webApp", "datasetCopy", "security"]
|
|
49
|
+
|
|
50
|
+
@field_validator('id')
|
|
51
|
+
def id_validate_regular_expression(cls, value):
|
|
52
|
+
"""Validates the regular expression"""
|
|
53
|
+
if not re.match(r"^w-\w{10,20}", value):
|
|
54
|
+
raise ValueError(r"must validate the regular expression /^w-\w{10,20}/")
|
|
55
|
+
return value
|
|
56
|
+
|
|
57
|
+
@field_validator('organization_id')
|
|
58
|
+
def organization_id_validate_regular_expression(cls, value):
|
|
59
|
+
"""Validates the regular expression"""
|
|
60
|
+
if not re.match(r"^o-\w{10,20}", value):
|
|
61
|
+
raise ValueError(r"must validate the regular expression /^o-\w{10,20}/")
|
|
62
|
+
return value
|
|
53
63
|
|
|
54
64
|
model_config = ConfigDict(
|
|
55
65
|
populate_by_name=True,
|
|
@@ -83,12 +93,10 @@ class Workspace(BaseModel):
|
|
|
83
93
|
are ignored.
|
|
84
94
|
* OpenAPI `readOnly` fields are excluded.
|
|
85
95
|
* OpenAPI `readOnly` fields are excluded.
|
|
86
|
-
* OpenAPI `readOnly` fields are excluded.
|
|
87
96
|
"""
|
|
88
97
|
excluded_fields: Set[str] = set([
|
|
89
98
|
"id",
|
|
90
99
|
"organization_id",
|
|
91
|
-
"owner_id",
|
|
92
100
|
])
|
|
93
101
|
|
|
94
102
|
_dict = self.model_dump(
|
|
@@ -96,6 +104,12 @@ class Workspace(BaseModel):
|
|
|
96
104
|
exclude=excluded_fields,
|
|
97
105
|
exclude_none=True,
|
|
98
106
|
)
|
|
107
|
+
# override the default output from pydantic by calling `to_dict()` of create_info
|
|
108
|
+
if self.create_info:
|
|
109
|
+
_dict['createInfo'] = self.create_info.to_dict()
|
|
110
|
+
# override the default output from pydantic by calling `to_dict()` of update_info
|
|
111
|
+
if self.update_info:
|
|
112
|
+
_dict['updateInfo'] = self.update_info.to_dict()
|
|
99
113
|
# override the default output from pydantic by calling `to_dict()` of solution
|
|
100
114
|
if self.solution:
|
|
101
115
|
_dict['solution'] = self.solution.to_dict()
|
|
@@ -122,18 +136,12 @@ class Workspace(BaseModel):
|
|
|
122
136
|
"key": obj.get("key"),
|
|
123
137
|
"name": obj.get("name"),
|
|
124
138
|
"description": obj.get("description"),
|
|
125
|
-
"linkedDatasetIdList": obj.get("linkedDatasetIdList"),
|
|
126
139
|
"version": obj.get("version"),
|
|
127
140
|
"tags": obj.get("tags"),
|
|
128
|
-
"
|
|
141
|
+
"createInfo": WorkspaceEditInfo.from_dict(obj["createInfo"]) if obj.get("createInfo") is not None else None,
|
|
142
|
+
"updateInfo": WorkspaceEditInfo.from_dict(obj["updateInfo"]) if obj.get("updateInfo") is not None else None,
|
|
129
143
|
"solution": WorkspaceSolution.from_dict(obj["solution"]) if obj.get("solution") is not None else None,
|
|
130
144
|
"webApp": WorkspaceWebApp.from_dict(obj["webApp"]) if obj.get("webApp") is not None else None,
|
|
131
|
-
"sendInputToDataWarehouse": obj.get("sendInputToDataWarehouse"),
|
|
132
|
-
"useDedicatedEventHubNamespace": obj.get("useDedicatedEventHubNamespace") if obj.get("useDedicatedEventHubNamespace") is not None else False,
|
|
133
|
-
"dedicatedEventHubSasKeyName": obj.get("dedicatedEventHubSasKeyName"),
|
|
134
|
-
"dedicatedEventHubAuthenticationStrategy": obj.get("dedicatedEventHubAuthenticationStrategy"),
|
|
135
|
-
"sendScenarioRunToEventHub": obj.get("sendScenarioRunToEventHub") if obj.get("sendScenarioRunToEventHub") is not None else True,
|
|
136
|
-
"sendScenarioMetadataToEventHub": obj.get("sendScenarioMetadataToEventHub") if obj.get("sendScenarioMetadataToEventHub") is not None else False,
|
|
137
145
|
"datasetCopy": obj.get("datasetCopy") if obj.get("datasetCopy") is not None else True,
|
|
138
146
|
"security": WorkspaceSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None
|
|
139
147
|
})
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -25,10 +25,10 @@ from typing_extensions import Self
|
|
|
25
25
|
|
|
26
26
|
class WorkspaceAccessControl(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
A Workspace access control item
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
id: StrictStr = Field(description="
|
|
31
|
-
role: StrictStr = Field(description="
|
|
30
|
+
id: StrictStr = Field(description="The identity id")
|
|
31
|
+
role: StrictStr = Field(description="A role")
|
|
32
32
|
__properties: ClassVar[List[str]] = ["id", "role"]
|
|
33
33
|
|
|
34
34
|
model_config = ConfigDict(
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Cosmo Tech Platform API
|
|
5
|
+
|
|
6
|
+
Cosmo Tech Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
|
+
Contact: platform@cosmotech.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing_extensions import Annotated
|
|
24
|
+
from cosmotech_api.models.workspace_security import WorkspaceSecurity
|
|
25
|
+
from cosmotech_api.models.workspace_solution import WorkspaceSolution
|
|
26
|
+
from cosmotech_api.models.workspace_web_app import WorkspaceWebApp
|
|
27
|
+
from typing import Optional, Set
|
|
28
|
+
from typing_extensions import Self
|
|
29
|
+
|
|
30
|
+
class WorkspaceCreateRequest(BaseModel):
|
|
31
|
+
"""
|
|
32
|
+
Request object for creating a new workspace
|
|
33
|
+
""" # noqa: E501
|
|
34
|
+
key: Annotated[str, Field(min_length=1, strict=True, max_length=50)] = Field(description="Technical key for resource name convention and version grouping. Must be unique")
|
|
35
|
+
name: Annotated[str, Field(min_length=1, strict=True, max_length=50)] = Field(description="Workspace name. This name is displayed in the sample webApp")
|
|
36
|
+
description: Optional[StrictStr] = Field(default=None, description="The Workspace description")
|
|
37
|
+
version: Optional[StrictStr] = Field(default=None, description="The Workspace version MAJOR.MINOR.PATCH.")
|
|
38
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="The list of tags")
|
|
39
|
+
solution: WorkspaceSolution
|
|
40
|
+
web_app: Optional[WorkspaceWebApp] = Field(default=None, alias="webApp")
|
|
41
|
+
dataset_copy: Optional[StrictBool] = Field(default=True, description="Activate the copy of dataset on scenario creation", alias="datasetCopy")
|
|
42
|
+
security: Optional[WorkspaceSecurity] = None
|
|
43
|
+
__properties: ClassVar[List[str]] = ["key", "name", "description", "version", "tags", "solution", "webApp", "datasetCopy", "security"]
|
|
44
|
+
|
|
45
|
+
model_config = ConfigDict(
|
|
46
|
+
populate_by_name=True,
|
|
47
|
+
validate_assignment=True,
|
|
48
|
+
protected_namespaces=(),
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def to_str(self) -> str:
|
|
53
|
+
"""Returns the string representation of the model using alias"""
|
|
54
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
55
|
+
|
|
56
|
+
def to_json(self) -> str:
|
|
57
|
+
"""Returns the JSON representation of the model using alias"""
|
|
58
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
59
|
+
return json.dumps(self.to_dict())
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
63
|
+
"""Create an instance of WorkspaceCreateRequest from a JSON string"""
|
|
64
|
+
return cls.from_dict(json.loads(json_str))
|
|
65
|
+
|
|
66
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
67
|
+
"""Return the dictionary representation of the model using alias.
|
|
68
|
+
|
|
69
|
+
This has the following differences from calling pydantic's
|
|
70
|
+
`self.model_dump(by_alias=True)`:
|
|
71
|
+
|
|
72
|
+
* `None` is only added to the output dict for nullable fields that
|
|
73
|
+
were set at model initialization. Other fields with value `None`
|
|
74
|
+
are ignored.
|
|
75
|
+
"""
|
|
76
|
+
excluded_fields: Set[str] = set([
|
|
77
|
+
])
|
|
78
|
+
|
|
79
|
+
_dict = self.model_dump(
|
|
80
|
+
by_alias=True,
|
|
81
|
+
exclude=excluded_fields,
|
|
82
|
+
exclude_none=True,
|
|
83
|
+
)
|
|
84
|
+
# override the default output from pydantic by calling `to_dict()` of solution
|
|
85
|
+
if self.solution:
|
|
86
|
+
_dict['solution'] = self.solution.to_dict()
|
|
87
|
+
# override the default output from pydantic by calling `to_dict()` of web_app
|
|
88
|
+
if self.web_app:
|
|
89
|
+
_dict['webApp'] = self.web_app.to_dict()
|
|
90
|
+
# override the default output from pydantic by calling `to_dict()` of security
|
|
91
|
+
if self.security:
|
|
92
|
+
_dict['security'] = self.security.to_dict()
|
|
93
|
+
return _dict
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
97
|
+
"""Create an instance of WorkspaceCreateRequest from a dict"""
|
|
98
|
+
if obj is None:
|
|
99
|
+
return None
|
|
100
|
+
|
|
101
|
+
if not isinstance(obj, dict):
|
|
102
|
+
return cls.model_validate(obj)
|
|
103
|
+
|
|
104
|
+
_obj = cls.model_validate({
|
|
105
|
+
"key": obj.get("key"),
|
|
106
|
+
"name": obj.get("name"),
|
|
107
|
+
"description": obj.get("description"),
|
|
108
|
+
"version": obj.get("version"),
|
|
109
|
+
"tags": obj.get("tags"),
|
|
110
|
+
"solution": WorkspaceSolution.from_dict(obj["solution"]) if obj.get("solution") is not None else None,
|
|
111
|
+
"webApp": WorkspaceWebApp.from_dict(obj["webApp"]) if obj.get("webApp") is not None else None,
|
|
112
|
+
"datasetCopy": obj.get("datasetCopy") if obj.get("datasetCopy") is not None else True,
|
|
113
|
+
"security": WorkspaceSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None
|
|
114
|
+
})
|
|
115
|
+
return _obj
|
|
116
|
+
|
|
117
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Cosmo Tech Platform API
|
|
5
|
+
|
|
6
|
+
Cosmo Tech Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
|
+
Contact: platform@cosmotech.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class WorkspaceEditInfo(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
WorkspaceEditInfo
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
timestamp: StrictInt = Field(description="The timestamp of the modification in millisecond")
|
|
31
|
+
user_id: StrictStr = Field(description="The id of the user who did the modification", alias="userId")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["timestamp", "userId"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""Returns the JSON representation of the model using alias"""
|
|
47
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of WorkspaceEditInfo from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
return _dict
|
|
74
|
+
|
|
75
|
+
@classmethod
|
|
76
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
77
|
+
"""Create an instance of WorkspaceEditInfo from a dict"""
|
|
78
|
+
if obj is None:
|
|
79
|
+
return None
|
|
80
|
+
|
|
81
|
+
if not isinstance(obj, dict):
|
|
82
|
+
return cls.model_validate(obj)
|
|
83
|
+
|
|
84
|
+
_obj = cls.model_validate({
|
|
85
|
+
"timestamp": obj.get("timestamp"),
|
|
86
|
+
"userId": obj.get("userId")
|
|
87
|
+
})
|
|
88
|
+
return _obj
|
|
89
|
+
|
|
90
|
+
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -19,15 +19,15 @@ import re # noqa: F401
|
|
|
19
19
|
import json
|
|
20
20
|
|
|
21
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
22
|
-
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
26
|
class WorkspaceFile(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
A Workspace File resource
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
file_name:
|
|
30
|
+
file_name: StrictStr = Field(description="The Workspace File name", alias="fileName")
|
|
31
31
|
__properties: ClassVar[List[str]] = ["fileName"]
|
|
32
32
|
|
|
33
33
|
model_config = ConfigDict(
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -25,9 +25,9 @@ from typing_extensions import Self
|
|
|
25
25
|
|
|
26
26
|
class WorkspaceRole(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
The Workspace Role
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
role: StrictStr = Field(description="
|
|
30
|
+
role: StrictStr = Field(description="The Workspace Role")
|
|
31
31
|
__properties: ClassVar[List[str]] = ["role"]
|
|
32
32
|
|
|
33
33
|
model_config = ConfigDict(
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 3.
|
|
8
|
+
The version of the OpenAPI document: 3.3.4
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
import json
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, Field, StrictStr
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
22
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
@@ -30,11 +30,11 @@ class WorkspaceSecret(BaseModel):
|
|
|
30
30
|
dedicated_event_hub_key: Optional[StrictStr] = Field(default=None, description="the dedicated event hub shared access key", alias="dedicatedEventHubKey")
|
|
31
31
|
__properties: ClassVar[List[str]] = ["dedicatedEventHubKey"]
|
|
32
32
|
|
|
33
|
-
model_config =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
def to_str(self) -> str:
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -26,10 +26,10 @@ from typing_extensions import Self
|
|
|
26
26
|
|
|
27
27
|
class WorkspaceSecurity(BaseModel):
|
|
28
28
|
"""
|
|
29
|
-
|
|
29
|
+
The workspace security information
|
|
30
30
|
""" # noqa: E501
|
|
31
|
-
default: StrictStr = Field(description="
|
|
32
|
-
access_control_list: List[WorkspaceAccessControl] = Field(description="
|
|
31
|
+
default: StrictStr = Field(description="The role by default")
|
|
32
|
+
access_control_list: List[WorkspaceAccessControl] = Field(description="The list which can access this Workspace with detailed access control information", alias="accessControlList")
|
|
33
33
|
__properties: ClassVar[List[str]] = ["default", "accessControlList"]
|
|
34
34
|
|
|
35
35
|
model_config = ConfigDict(
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -18,20 +18,28 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
import json
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
22
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing_extensions import Annotated
|
|
23
24
|
from typing import Optional, Set
|
|
24
25
|
from typing_extensions import Self
|
|
25
26
|
|
|
26
27
|
class WorkspaceSolution(BaseModel):
|
|
27
28
|
"""
|
|
28
|
-
|
|
29
|
+
The Workspace Solution configuration
|
|
29
30
|
""" # noqa: E501
|
|
30
|
-
solution_id:
|
|
31
|
-
run_template_filter: Optional[List[StrictStr]] = Field(default=None, description="
|
|
32
|
-
default_run_template_dataset: Optional[Dict[str, Any]] = Field(default=None, description="
|
|
31
|
+
solution_id: Annotated[str, Field(strict=True)] = Field(description="The Solution Id attached to this workspace", alias="solutionId")
|
|
32
|
+
run_template_filter: Optional[List[StrictStr]] = Field(default=None, description="The list of Solution Run Template Id to filter", alias="runTemplateFilter")
|
|
33
|
+
default_run_template_dataset: Optional[Dict[str, Any]] = Field(default=None, description="A map of RunTemplateId/DatasetId to set a default dataset for a Run Template", alias="defaultRunTemplateDataset")
|
|
33
34
|
__properties: ClassVar[List[str]] = ["solutionId", "runTemplateFilter", "defaultRunTemplateDataset"]
|
|
34
35
|
|
|
36
|
+
@field_validator('solution_id')
|
|
37
|
+
def solution_id_validate_regular_expression(cls, value):
|
|
38
|
+
"""Validates the regular expression"""
|
|
39
|
+
if not re.match(r"^sol-\w{10,20}", value):
|
|
40
|
+
raise ValueError(r"must validate the regular expression /^sol-\w{10,20}/")
|
|
41
|
+
return value
|
|
42
|
+
|
|
35
43
|
model_config = ConfigDict(
|
|
36
44
|
populate_by_name=True,
|
|
37
45
|
validate_assignment=True,
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Cosmo Tech Platform API
|
|
5
|
+
|
|
6
|
+
Cosmo Tech Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
|
+
Contact: platform@cosmotech.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing_extensions import Annotated
|
|
24
|
+
from cosmotech_api.models.workspace_solution import WorkspaceSolution
|
|
25
|
+
from cosmotech_api.models.workspace_web_app import WorkspaceWebApp
|
|
26
|
+
from typing import Optional, Set
|
|
27
|
+
from typing_extensions import Self
|
|
28
|
+
|
|
29
|
+
class WorkspaceUpdateRequest(BaseModel):
|
|
30
|
+
"""
|
|
31
|
+
Request object for updating a workspace
|
|
32
|
+
""" # noqa: E501
|
|
33
|
+
key: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=50)]] = Field(default=None, description="Technical key for resource name convention and version grouping. Must be unique")
|
|
34
|
+
name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=50)]] = Field(default=None, description="Workspace name")
|
|
35
|
+
description: Optional[StrictStr] = Field(default=None, description="The Workspace description")
|
|
36
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="The list of tags")
|
|
37
|
+
solution: Optional[WorkspaceSolution] = None
|
|
38
|
+
web_app: Optional[WorkspaceWebApp] = Field(default=None, alias="webApp")
|
|
39
|
+
dataset_copy: Optional[StrictBool] = Field(default=None, description="Activate the copy of dataset on scenario creation", alias="datasetCopy")
|
|
40
|
+
__properties: ClassVar[List[str]] = ["key", "name", "description", "tags", "solution", "webApp", "datasetCopy"]
|
|
41
|
+
|
|
42
|
+
model_config = ConfigDict(
|
|
43
|
+
populate_by_name=True,
|
|
44
|
+
validate_assignment=True,
|
|
45
|
+
protected_namespaces=(),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def to_str(self) -> str:
|
|
50
|
+
"""Returns the string representation of the model using alias"""
|
|
51
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
52
|
+
|
|
53
|
+
def to_json(self) -> str:
|
|
54
|
+
"""Returns the JSON representation of the model using alias"""
|
|
55
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
56
|
+
return json.dumps(self.to_dict())
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
60
|
+
"""Create an instance of WorkspaceUpdateRequest from a JSON string"""
|
|
61
|
+
return cls.from_dict(json.loads(json_str))
|
|
62
|
+
|
|
63
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
64
|
+
"""Return the dictionary representation of the model using alias.
|
|
65
|
+
|
|
66
|
+
This has the following differences from calling pydantic's
|
|
67
|
+
`self.model_dump(by_alias=True)`:
|
|
68
|
+
|
|
69
|
+
* `None` is only added to the output dict for nullable fields that
|
|
70
|
+
were set at model initialization. Other fields with value `None`
|
|
71
|
+
are ignored.
|
|
72
|
+
"""
|
|
73
|
+
excluded_fields: Set[str] = set([
|
|
74
|
+
])
|
|
75
|
+
|
|
76
|
+
_dict = self.model_dump(
|
|
77
|
+
by_alias=True,
|
|
78
|
+
exclude=excluded_fields,
|
|
79
|
+
exclude_none=True,
|
|
80
|
+
)
|
|
81
|
+
# override the default output from pydantic by calling `to_dict()` of solution
|
|
82
|
+
if self.solution:
|
|
83
|
+
_dict['solution'] = self.solution.to_dict()
|
|
84
|
+
# override the default output from pydantic by calling `to_dict()` of web_app
|
|
85
|
+
if self.web_app:
|
|
86
|
+
_dict['webApp'] = self.web_app.to_dict()
|
|
87
|
+
return _dict
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
91
|
+
"""Create an instance of WorkspaceUpdateRequest from a dict"""
|
|
92
|
+
if obj is None:
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
if not isinstance(obj, dict):
|
|
96
|
+
return cls.model_validate(obj)
|
|
97
|
+
|
|
98
|
+
_obj = cls.model_validate({
|
|
99
|
+
"key": obj.get("key"),
|
|
100
|
+
"name": obj.get("name"),
|
|
101
|
+
"description": obj.get("description"),
|
|
102
|
+
"tags": obj.get("tags"),
|
|
103
|
+
"solution": WorkspaceSolution.from_dict(obj["solution"]) if obj.get("solution") is not None else None,
|
|
104
|
+
"webApp": WorkspaceWebApp.from_dict(obj["webApp"]) if obj.get("webApp") is not None else None,
|
|
105
|
+
"datasetCopy": obj.get("datasetCopy")
|
|
106
|
+
})
|
|
107
|
+
return _obj
|
|
108
|
+
|
|
109
|
+
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Cosmo Tech Platform API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: 5.0.0-beta3
|
|
9
9
|
Contact: platform@cosmotech.com
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -25,10 +25,10 @@ from typing_extensions import Self
|
|
|
25
25
|
|
|
26
26
|
class WorkspaceWebApp(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
A Workspace Web Application
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
url: StrictStr = Field(description="
|
|
31
|
-
iframes: Optional[Dict[str, Any]] = Field(default=None, description="
|
|
30
|
+
url: StrictStr = Field(description="The Workspace Web Application URL")
|
|
31
|
+
iframes: Optional[Dict[str, Any]] = Field(default=None, description="A map of iframeKey/iframeURL")
|
|
32
32
|
options: Optional[Dict[str, Any]] = Field(default=None, description="free form options for Web Application")
|
|
33
33
|
__properties: ClassVar[List[str]] = ["url", "iframes", "options"]
|
|
34
34
|
|