cosmotech-api 4.0.0.dev8__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.

Files changed (280) hide show
  1. cosmotech_api/__init__.py +32 -27
  2. cosmotech_api/api/__init__.py +1 -1
  3. cosmotech_api/api/connector_api.py +19 -8
  4. cosmotech_api/api/dataset_api.py +1496 -4126
  5. cosmotech_api/api/meta_api.py +281 -0
  6. cosmotech_api/api/organization_api.py +605 -562
  7. cosmotech_api/api/run_api.py +42 -22
  8. cosmotech_api/api/runner_api.py +512 -467
  9. cosmotech_api/api/scenario_api.py +141 -121
  10. cosmotech_api/api/scenariorun_api.py +76 -66
  11. cosmotech_api/api/scenariorunresult_api.py +1 -1
  12. cosmotech_api/api/solution_api.py +2980 -795
  13. cosmotech_api/api/twingraph_api.py +83 -72
  14. cosmotech_api/api/validator_api.py +1 -1
  15. cosmotech_api/api/workspace_api.py +795 -1331
  16. cosmotech_api/api_client.py +14 -5
  17. cosmotech_api/configuration.py +167 -40
  18. cosmotech_api/exceptions.py +18 -1
  19. cosmotech_api/model/component_role_permissions.py +1 -1
  20. cosmotech_api/model/connector.py +1 -1
  21. cosmotech_api/model/connector_parameter.py +1 -1
  22. cosmotech_api/model/connector_parameter_group.py +1 -1
  23. cosmotech_api/model/container_resource_size_info.py +1 -1
  24. cosmotech_api/model/container_resource_sizing.py +1 -1
  25. cosmotech_api/model/dataset.py +1 -1
  26. cosmotech_api/model/dataset_access_control.py +1 -1
  27. cosmotech_api/model/dataset_compatibility.py +1 -1
  28. cosmotech_api/model/dataset_connector.py +1 -1
  29. cosmotech_api/model/dataset_copy_parameters.py +1 -1
  30. cosmotech_api/model/dataset_role.py +1 -1
  31. cosmotech_api/model/dataset_search.py +1 -1
  32. cosmotech_api/model/dataset_security.py +1 -1
  33. cosmotech_api/model/dataset_source_type.py +1 -1
  34. cosmotech_api/model/dataset_twin_graph_hash.py +1 -1
  35. cosmotech_api/model/dataset_twin_graph_info.py +1 -1
  36. cosmotech_api/model/dataset_twin_graph_query.py +1 -1
  37. cosmotech_api/model/delete_historical_data.py +1 -1
  38. cosmotech_api/model/file_upload_metadata.py +1 -1
  39. cosmotech_api/model/file_upload_validation.py +1 -1
  40. cosmotech_api/model/graph_properties.py +1 -1
  41. cosmotech_api/model/organization.py +1 -1
  42. cosmotech_api/model/organization_access_control.py +1 -1
  43. cosmotech_api/model/organization_role.py +1 -1
  44. cosmotech_api/model/organization_security.py +1 -1
  45. cosmotech_api/model/organization_service.py +1 -1
  46. cosmotech_api/model/organization_services.py +1 -1
  47. cosmotech_api/model/resource_size_info.py +1 -1
  48. cosmotech_api/model/run.py +1 -1
  49. cosmotech_api/model/run_container.py +1 -1
  50. cosmotech_api/model/run_container_artifact.py +1 -1
  51. cosmotech_api/model/run_container_logs.py +1 -1
  52. cosmotech_api/model/run_logs.py +1 -1
  53. cosmotech_api/model/run_resource_requested.py +1 -1
  54. cosmotech_api/model/run_search.py +1 -1
  55. cosmotech_api/model/run_start_containers.py +1 -1
  56. cosmotech_api/model/run_state.py +1 -1
  57. cosmotech_api/model/run_status.py +1 -1
  58. cosmotech_api/model/run_status_node.py +1 -1
  59. cosmotech_api/model/run_template.py +1 -1
  60. cosmotech_api/model/run_template_handler_id.py +1 -1
  61. cosmotech_api/model/run_template_orchestrator.py +1 -1
  62. cosmotech_api/model/run_template_parameter.py +1 -1
  63. cosmotech_api/model/run_template_parameter_group.py +1 -1
  64. cosmotech_api/model/run_template_parameter_value.py +1 -1
  65. cosmotech_api/model/run_template_resource_sizing.py +1 -1
  66. cosmotech_api/model/run_template_step_source.py +1 -1
  67. cosmotech_api/model/runner.py +1 -1
  68. cosmotech_api/model/runner_access_control.py +1 -1
  69. cosmotech_api/model/runner_changed_parameter_value.py +1 -1
  70. cosmotech_api/model/runner_comparison_result.py +1 -1
  71. cosmotech_api/model/runner_data_download_info.py +1 -1
  72. cosmotech_api/model/runner_data_download_job.py +1 -1
  73. cosmotech_api/model/runner_job_state.py +1 -1
  74. cosmotech_api/model/runner_last_run.py +1 -1
  75. cosmotech_api/model/runner_resource_sizing.py +1 -1
  76. cosmotech_api/model/runner_role.py +1 -1
  77. cosmotech_api/model/runner_run_template_parameter_value.py +1 -1
  78. cosmotech_api/model/runner_security.py +1 -1
  79. cosmotech_api/model/runner_validation_status.py +1 -1
  80. cosmotech_api/model/scenario.py +1 -1
  81. cosmotech_api/model/scenario_access_control.py +1 -1
  82. cosmotech_api/model/scenario_changed_parameter_value.py +1 -1
  83. cosmotech_api/model/scenario_comparison_result.py +1 -1
  84. cosmotech_api/model/scenario_data_download_info.py +1 -1
  85. cosmotech_api/model/scenario_data_download_job.py +1 -1
  86. cosmotech_api/model/scenario_job_state.py +1 -1
  87. cosmotech_api/model/scenario_last_run.py +1 -1
  88. cosmotech_api/model/scenario_resource_sizing.py +1 -1
  89. cosmotech_api/model/scenario_role.py +1 -1
  90. cosmotech_api/model/scenario_run.py +1 -1
  91. cosmotech_api/model/scenario_run_container.py +1 -1
  92. cosmotech_api/model/scenario_run_container_artifact.py +1 -1
  93. cosmotech_api/model/scenario_run_container_logs.py +1 -1
  94. cosmotech_api/model/scenario_run_logs.py +1 -1
  95. cosmotech_api/model/scenario_run_resource_requested.py +1 -1
  96. cosmotech_api/model/scenario_run_result.py +1 -1
  97. cosmotech_api/model/scenario_run_search.py +1 -1
  98. cosmotech_api/model/scenario_run_start_containers.py +1 -1
  99. cosmotech_api/model/scenario_run_state.py +1 -1
  100. cosmotech_api/model/scenario_run_status.py +1 -1
  101. cosmotech_api/model/scenario_run_status_node.py +1 -1
  102. cosmotech_api/model/scenario_run_template_parameter_value.py +1 -1
  103. cosmotech_api/model/scenario_security.py +1 -1
  104. cosmotech_api/model/scenario_validation_status.py +1 -1
  105. cosmotech_api/model/solution.py +1 -1
  106. cosmotech_api/model/solution_access_control.py +1 -1
  107. cosmotech_api/model/solution_role.py +1 -1
  108. cosmotech_api/model/solution_security.py +1 -1
  109. cosmotech_api/model/source_info.py +1 -1
  110. cosmotech_api/model/sub_dataset_graph_query.py +1 -1
  111. cosmotech_api/model/translated_labels.py +1 -1
  112. cosmotech_api/model/twin_graph_batch_result.py +1 -1
  113. cosmotech_api/model/twin_graph_hash.py +1 -1
  114. cosmotech_api/model/twin_graph_query.py +1 -1
  115. cosmotech_api/model/validator.py +1 -1
  116. cosmotech_api/model/validator_run.py +1 -1
  117. cosmotech_api/model/workspace.py +1 -1
  118. cosmotech_api/model/workspace_access_control.py +1 -1
  119. cosmotech_api/model/workspace_file.py +1 -1
  120. cosmotech_api/model/workspace_role.py +1 -1
  121. cosmotech_api/model/workspace_secret.py +1 -1
  122. cosmotech_api/model/workspace_security.py +1 -1
  123. cosmotech_api/model/workspace_solution.py +1 -1
  124. cosmotech_api/model/workspace_web_app.py +1 -1
  125. cosmotech_api/model_utils.py +1 -1
  126. cosmotech_api/models/__init__.py +31 -26
  127. cosmotech_api/models/about_info.py +92 -0
  128. cosmotech_api/models/about_info_version.py +100 -0
  129. cosmotech_api/models/component_role_permissions.py +5 -5
  130. cosmotech_api/models/connector.py +1 -1
  131. cosmotech_api/models/connector_parameter.py +1 -1
  132. cosmotech_api/models/connector_parameter_group.py +1 -1
  133. cosmotech_api/models/container_resource_size_info.py +1 -1
  134. cosmotech_api/models/container_resource_sizing.py +1 -1
  135. cosmotech_api/models/create_info.py +103 -0
  136. cosmotech_api/models/created_run.py +2 -2
  137. cosmotech_api/models/dataset.py +42 -81
  138. cosmotech_api/models/dataset_access_control.py +1 -1
  139. cosmotech_api/models/dataset_compatibility.py +1 -1
  140. cosmotech_api/models/dataset_connector.py +1 -1
  141. cosmotech_api/models/dataset_copy_parameters.py +1 -1
  142. cosmotech_api/models/dataset_create_request.py +121 -0
  143. cosmotech_api/models/dataset_part.py +130 -0
  144. cosmotech_api/models/dataset_part_create_request.py +98 -0
  145. cosmotech_api/models/dataset_part_type_enum.py +38 -0
  146. cosmotech_api/models/dataset_part_update_request.py +90 -0
  147. cosmotech_api/models/dataset_role.py +1 -1
  148. cosmotech_api/models/dataset_search.py +1 -1
  149. cosmotech_api/models/dataset_security.py +1 -1
  150. cosmotech_api/models/dataset_source_type.py +1 -1
  151. cosmotech_api/models/dataset_twin_graph_hash.py +1 -1
  152. cosmotech_api/models/dataset_twin_graph_info.py +1 -1
  153. cosmotech_api/models/dataset_twin_graph_query.py +1 -1
  154. cosmotech_api/models/dataset_update_request.py +109 -0
  155. cosmotech_api/models/delete_historical_data.py +1 -1
  156. cosmotech_api/models/edit_info.py +90 -0
  157. cosmotech_api/models/file_upload_metadata.py +1 -1
  158. cosmotech_api/models/file_upload_validation.py +1 -1
  159. cosmotech_api/models/graph_properties.py +1 -1
  160. cosmotech_api/models/ingestion_status_enum.py +1 -1
  161. cosmotech_api/models/io_types_enum.py +1 -1
  162. cosmotech_api/models/last_run_info.py +100 -0
  163. cosmotech_api/models/organization.py +18 -11
  164. cosmotech_api/models/organization_access_control.py +4 -4
  165. cosmotech_api/models/organization_create_request.py +95 -0
  166. cosmotech_api/models/organization_edit_info.py +90 -0
  167. cosmotech_api/models/organization_role.py +3 -3
  168. cosmotech_api/models/organization_security.py +4 -4
  169. cosmotech_api/models/organization_service.py +7 -7
  170. cosmotech_api/models/organization_services.py +7 -7
  171. cosmotech_api/models/organization_update_request.py +89 -0
  172. cosmotech_api/models/query_result.py +1 -1
  173. cosmotech_api/models/resource_size_info.py +1 -1
  174. cosmotech_api/models/run.py +8 -10
  175. cosmotech_api/models/run_container.py +1 -1
  176. cosmotech_api/models/run_container_artifact.py +7 -7
  177. cosmotech_api/models/run_container_logs.py +7 -7
  178. cosmotech_api/models/run_data.py +2 -2
  179. cosmotech_api/models/run_data_query.py +1 -1
  180. cosmotech_api/models/run_edit_info.py +90 -0
  181. cosmotech_api/models/run_logs.py +1 -1
  182. cosmotech_api/models/run_logs_entry.py +1 -1
  183. cosmotech_api/models/run_resource_requested.py +1 -1
  184. cosmotech_api/models/run_search.py +7 -7
  185. cosmotech_api/models/run_search_state.py +1 -1
  186. cosmotech_api/models/run_start_containers.py +10 -10
  187. cosmotech_api/models/run_state.py +2 -1
  188. cosmotech_api/models/run_status.py +8 -2
  189. cosmotech_api/models/run_status_node.py +1 -1
  190. cosmotech_api/models/run_template.py +14 -69
  191. cosmotech_api/models/run_template_create_request.py +109 -0
  192. cosmotech_api/models/run_template_handler_id.py +1 -1
  193. cosmotech_api/models/run_template_orchestrator.py +1 -1
  194. cosmotech_api/models/run_template_parameter.py +14 -11
  195. cosmotech_api/models/run_template_parameter_create_request.py +105 -0
  196. cosmotech_api/models/run_template_parameter_group.py +12 -9
  197. cosmotech_api/models/run_template_parameter_group_create_request.py +101 -0
  198. cosmotech_api/models/run_template_parameter_group_update_request.py +98 -0
  199. cosmotech_api/models/run_template_parameter_update_request.py +103 -0
  200. cosmotech_api/models/run_template_parameter_value.py +1 -1
  201. cosmotech_api/models/run_template_resource_sizing.py +2 -2
  202. cosmotech_api/models/run_template_step_source.py +1 -1
  203. cosmotech_api/models/run_template_update_request.py +107 -0
  204. cosmotech_api/models/runner.py +31 -28
  205. cosmotech_api/models/runner_access_control.py +1 -1
  206. cosmotech_api/models/runner_changed_parameter_value.py +7 -7
  207. cosmotech_api/models/runner_comparison_result.py +10 -10
  208. cosmotech_api/models/runner_create_request.py +154 -0
  209. cosmotech_api/models/runner_data_download_info.py +12 -9
  210. cosmotech_api/models/runner_data_download_job.py +7 -7
  211. cosmotech_api/models/runner_edit_info.py +90 -0
  212. cosmotech_api/models/runner_job_state.py +1 -1
  213. cosmotech_api/models/runner_last_run.py +7 -7
  214. cosmotech_api/models/runner_parent_last_run.py +7 -7
  215. cosmotech_api/models/runner_resource_sizing.py +1 -1
  216. cosmotech_api/models/runner_role.py +1 -1
  217. cosmotech_api/models/runner_root_last_run.py +7 -7
  218. cosmotech_api/models/runner_run_template_parameter_value.py +1 -1
  219. cosmotech_api/models/runner_security.py +1 -1
  220. cosmotech_api/models/runner_update_request.py +123 -0
  221. cosmotech_api/models/runner_validation_status.py +1 -1
  222. cosmotech_api/models/scenario.py +10 -10
  223. cosmotech_api/models/scenario_access_control.py +7 -7
  224. cosmotech_api/models/scenario_changed_parameter_value.py +7 -7
  225. cosmotech_api/models/scenario_comparison_result.py +10 -10
  226. cosmotech_api/models/scenario_data_download_info.py +7 -7
  227. cosmotech_api/models/scenario_data_download_job.py +7 -7
  228. cosmotech_api/models/scenario_job_state.py +1 -1
  229. cosmotech_api/models/scenario_last_run.py +7 -7
  230. cosmotech_api/models/scenario_resource_sizing.py +7 -7
  231. cosmotech_api/models/scenario_role.py +7 -7
  232. cosmotech_api/models/scenario_run.py +13 -13
  233. cosmotech_api/models/scenario_run_container.py +10 -10
  234. cosmotech_api/models/scenario_run_container_artifact.py +7 -7
  235. cosmotech_api/models/scenario_run_container_logs.py +7 -7
  236. cosmotech_api/models/scenario_run_logs.py +10 -10
  237. cosmotech_api/models/scenario_run_resource_requested.py +7 -7
  238. cosmotech_api/models/scenario_run_search.py +7 -7
  239. cosmotech_api/models/scenario_run_search_state.py +1 -1
  240. cosmotech_api/models/scenario_run_start_containers.py +10 -10
  241. cosmotech_api/models/scenario_run_state.py +1 -1
  242. cosmotech_api/models/scenario_run_status.py +10 -10
  243. cosmotech_api/models/scenario_run_status_node.py +7 -7
  244. cosmotech_api/models/scenario_run_template_parameter_value.py +7 -7
  245. cosmotech_api/models/scenario_security.py +10 -10
  246. cosmotech_api/models/scenario_validation_status.py +1 -1
  247. cosmotech_api/models/send_run_data_request.py +5 -5
  248. cosmotech_api/models/solution.py +45 -29
  249. cosmotech_api/models/solution_access_control.py +4 -4
  250. cosmotech_api/models/solution_create_request.py +139 -0
  251. cosmotech_api/models/solution_edit_info.py +90 -0
  252. cosmotech_api/models/solution_role.py +3 -3
  253. cosmotech_api/models/solution_security.py +4 -4
  254. cosmotech_api/models/solution_update_request.py +133 -0
  255. cosmotech_api/models/source_info.py +1 -1
  256. cosmotech_api/models/sub_dataset_graph_query.py +1 -1
  257. cosmotech_api/models/twin_graph_batch_result.py +1 -1
  258. cosmotech_api/models/twin_graph_hash.py +7 -7
  259. cosmotech_api/models/twin_graph_query.py +7 -7
  260. cosmotech_api/models/twincache_status_enum.py +1 -1
  261. cosmotech_api/models/validator.py +7 -7
  262. cosmotech_api/models/workspace.py +38 -30
  263. cosmotech_api/models/workspace_access_control.py +4 -4
  264. cosmotech_api/models/workspace_create_request.py +117 -0
  265. cosmotech_api/models/workspace_edit_info.py +90 -0
  266. cosmotech_api/models/workspace_file.py +4 -4
  267. cosmotech_api/models/workspace_role.py +3 -3
  268. cosmotech_api/models/workspace_secret.py +7 -7
  269. cosmotech_api/models/workspace_security.py +4 -4
  270. cosmotech_api/models/workspace_solution.py +14 -6
  271. cosmotech_api/models/workspace_update_request.py +109 -0
  272. cosmotech_api/models/workspace_web_app.py +4 -4
  273. cosmotech_api/rest.py +3 -2
  274. cosmotech_api-5.0.0b3.dist-info/METADATA +27 -0
  275. cosmotech_api-5.0.0b3.dist-info/RECORD +293 -0
  276. {cosmotech_api-4.0.0.dev8.dist-info → cosmotech_api-5.0.0b3.dist-info}/WHEEL +1 -1
  277. {cosmotech_api-4.0.0.dev8.dist-info → cosmotech_api-5.0.0b3.dist-info/licenses}/LICENSE +1 -1
  278. cosmotech_api-4.0.0.dev8.dist-info/METADATA +0 -18
  279. cosmotech_api-4.0.0.dev8.dist-info/RECORD +0 -262
  280. {cosmotech_api-4.0.0.dev8.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: 4.0.0-onprem.8
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
- a Workspace
33
+ A Workspace
32
34
  """ # noqa: E501
33
- id: Optional[StrictStr] = Field(default=None, description="Workspace unique identifier generated by the API")
34
- organization_id: Optional[StrictStr] = Field(default=None, description="Organization unique identifier under which the workspace resides", alias="organizationId")
35
- key: StrictStr = Field(description="technical key for resource name convention and version grouping. Must be unique")
36
- name: StrictStr = Field(description="Workspace name. This name is display in the sample webApp")
37
- description: Optional[StrictStr] = Field(default=None, description="the Workspace description")
38
- linked_dataset_id_list: Optional[List[StrictStr]] = Field(default=None, description="list of dataset linked to this dataset", alias="linkedDatasetIdList")
39
- version: Optional[StrictStr] = Field(default=None, description="the Workspace version MAJOR.MINOR.PATCH.")
40
- tags: Optional[List[StrictStr]] = Field(default=None, description="the list of tags")
41
- owner_id: Optional[StrictStr] = Field(default=None, description="the user id which own this workspace. set by the API from Authentification service receved id", alias="ownerId")
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: Optional[WorkspaceSecurity] = None
52
- __properties: ClassVar[List[str]] = ["id", "organizationId", "key", "name", "description", "linkedDatasetIdList", "version", "tags", "ownerId", "solution", "webApp", "sendInputToDataWarehouse", "useDedicatedEventHubNamespace", "dedicatedEventHubSasKeyName", "dedicatedEventHubAuthenticationStrategy", "sendScenarioRunToEventHub", "sendScenarioMetadataToEventHub", "datasetCopy", "security"]
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
- "ownerId": obj.get("ownerId"),
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: 4.0.0-onprem.8
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
- a Workspace access control item
28
+ A Workspace access control item
29
29
  """ # noqa: E501
30
- id: StrictStr = Field(description="the identity id")
31
- role: StrictStr = Field(description="a role")
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: 4.0.0-onprem.8
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, Optional
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
- a Workspace File resource
28
+ A Workspace File resource
29
29
  """ # noqa: E501
30
- file_name: Optional[StrictStr] = Field(default=None, description="the Workspace File name", alias="fileName")
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: 4.0.0-onprem.8
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
- the Workspace Role
28
+ The Workspace Role
29
29
  """ # noqa: E501
30
- role: StrictStr = Field(description="the Workspace Role")
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.2.10
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
- "populate_by_name": True,
35
- "validate_assignment": True,
36
- "protected_namespaces": (),
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: 4.0.0-onprem.8
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
- the workspace security information
29
+ The workspace security information
30
30
  """ # noqa: E501
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")
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: 4.0.0-onprem.8
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
- the Workspace Solution configuration
29
+ The Workspace Solution configuration
29
30
  """ # noqa: E501
30
- solution_id: Optional[StrictStr] = Field(default=None, description="the Solution Id attached to this workspace", alias="solutionId")
31
- run_template_filter: Optional[List[StrictStr]] = Field(default=None, description="the list of Solution Run Template Id to filter", alias="runTemplateFilter")
32
- 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")
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: 4.0.0-onprem.8
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
- a Workspace Web Application
28
+ A Workspace Web Application
29
29
  """ # noqa: E501
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")
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