cosmotech-api 3.2.0.post1__py3-none-any.whl → 5.0.0rc3__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.
Files changed (284) hide show
  1. cosmotech_api/__init__.py +180 -130
  2. cosmotech_api/api/__init__.py +1 -4
  3. cosmotech_api/api/connector_api.py +31 -27
  4. cosmotech_api/api/dataset_api.py +1762 -3918
  5. cosmotech_api/api/meta_api.py +281 -0
  6. cosmotech_api/api/organization_api.py +654 -1460
  7. cosmotech_api/api/run_api.py +170 -817
  8. cosmotech_api/api/runner_api.py +688 -631
  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 +341 -659
  12. cosmotech_api/api/solution_api.py +2504 -956
  13. cosmotech_api/api/twingraph_api.py +83 -72
  14. cosmotech_api/api/validator_api.py +1249 -2501
  15. cosmotech_api/api/workspace_api.py +835 -1658
  16. cosmotech_api/api_client.py +79 -33
  17. cosmotech_api/configuration.py +185 -48
  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 +33 -72
  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 +11 -11
  130. cosmotech_api/models/connector.py +12 -22
  131. cosmotech_api/models/connector_parameter.py +7 -7
  132. cosmotech_api/models/connector_parameter_group.py +10 -10
  133. cosmotech_api/models/container_resource_size_info.py +7 -7
  134. cosmotech_api/models/container_resource_sizing.py +7 -7
  135. cosmotech_api/models/create_info.py +103 -0
  136. cosmotech_api/models/created_run.py +88 -0
  137. cosmotech_api/models/dataset.py +47 -103
  138. cosmotech_api/models/dataset_access_control.py +7 -7
  139. cosmotech_api/models/dataset_compatibility.py +7 -7
  140. cosmotech_api/models/dataset_connector.py +7 -7
  141. cosmotech_api/models/dataset_copy_parameters.py +7 -7
  142. cosmotech_api/models/dataset_create_info.py +103 -0
  143. cosmotech_api/models/dataset_create_request.py +111 -0
  144. cosmotech_api/models/dataset_edit_info.py +90 -0
  145. cosmotech_api/models/dataset_part.py +132 -0
  146. cosmotech_api/models/dataset_part_create_request.py +100 -0
  147. cosmotech_api/models/dataset_part_type_enum.py +38 -0
  148. cosmotech_api/models/dataset_part_update_request.py +95 -0
  149. cosmotech_api/models/dataset_role.py +7 -7
  150. cosmotech_api/models/dataset_search.py +7 -7
  151. cosmotech_api/models/dataset_security.py +10 -10
  152. cosmotech_api/models/dataset_source_type.py +1 -1
  153. cosmotech_api/models/dataset_twin_graph_hash.py +7 -7
  154. cosmotech_api/models/dataset_twin_graph_info.py +7 -7
  155. cosmotech_api/models/dataset_twin_graph_query.py +7 -7
  156. cosmotech_api/models/dataset_update_request.py +105 -0
  157. cosmotech_api/models/delete_historical_data.py +7 -7
  158. cosmotech_api/models/edit_info.py +90 -0
  159. cosmotech_api/models/file_upload_metadata.py +7 -7
  160. cosmotech_api/models/file_upload_validation.py +13 -13
  161. cosmotech_api/models/graph_properties.py +7 -7
  162. cosmotech_api/models/ingestion_status_enum.py +40 -0
  163. cosmotech_api/models/io_types_enum.py +38 -0
  164. cosmotech_api/models/last_run_info.py +100 -0
  165. cosmotech_api/models/organization.py +24 -23
  166. cosmotech_api/models/organization_access_control.py +10 -10
  167. cosmotech_api/models/organization_create_request.py +95 -0
  168. cosmotech_api/models/organization_edit_info.py +90 -0
  169. cosmotech_api/models/organization_role.py +9 -9
  170. cosmotech_api/models/organization_security.py +13 -13
  171. cosmotech_api/models/organization_service.py +7 -7
  172. cosmotech_api/models/organization_services.py +7 -7
  173. cosmotech_api/models/organization_update_request.py +89 -0
  174. cosmotech_api/models/query_result.py +7 -7
  175. cosmotech_api/models/resource_size_info.py +7 -7
  176. cosmotech_api/models/run.py +20 -22
  177. cosmotech_api/models/run_container.py +9 -19
  178. cosmotech_api/models/run_container_artifact.py +7 -7
  179. cosmotech_api/models/run_container_logs.py +7 -7
  180. cosmotech_api/models/run_data.py +7 -7
  181. cosmotech_api/models/run_data_query.py +7 -7
  182. cosmotech_api/models/run_edit_info.py +90 -0
  183. cosmotech_api/models/run_logs.py +10 -10
  184. cosmotech_api/models/run_logs_entry.py +88 -0
  185. cosmotech_api/models/run_resource_requested.py +7 -7
  186. cosmotech_api/models/run_search.py +9 -18
  187. cosmotech_api/models/run_search_state.py +46 -0
  188. cosmotech_api/models/run_start_containers.py +10 -10
  189. cosmotech_api/models/run_state.py +2 -1
  190. cosmotech_api/models/run_status.py +17 -11
  191. cosmotech_api/models/run_status_node.py +7 -7
  192. cosmotech_api/models/run_template.py +20 -75
  193. cosmotech_api/models/run_template_create_request.py +109 -0
  194. cosmotech_api/models/run_template_handler_id.py +1 -1
  195. cosmotech_api/models/run_template_orchestrator.py +1 -1
  196. cosmotech_api/models/run_template_parameter.py +21 -20
  197. cosmotech_api/models/run_template_parameter_create_request.py +103 -0
  198. cosmotech_api/models/run_template_parameter_group.py +17 -18
  199. cosmotech_api/models/run_template_parameter_group_create_request.py +97 -0
  200. cosmotech_api/models/run_template_parameter_group_update_request.py +94 -0
  201. cosmotech_api/models/run_template_parameter_update_request.py +101 -0
  202. cosmotech_api/models/run_template_parameter_value.py +7 -7
  203. cosmotech_api/models/run_template_resource_sizing.py +8 -8
  204. cosmotech_api/models/run_template_step_source.py +1 -1
  205. cosmotech_api/models/run_template_update_request.py +107 -0
  206. cosmotech_api/models/runner.py +48 -62
  207. cosmotech_api/models/runner_access_control.py +7 -7
  208. cosmotech_api/models/runner_changed_parameter_value.py +7 -7
  209. cosmotech_api/models/runner_comparison_result.py +10 -10
  210. cosmotech_api/models/runner_create_request.py +146 -0
  211. cosmotech_api/models/runner_data_download_info.py +7 -7
  212. cosmotech_api/models/runner_data_download_job.py +7 -7
  213. cosmotech_api/models/runner_datasets.py +92 -0
  214. cosmotech_api/models/runner_edit_info.py +90 -0
  215. cosmotech_api/models/runner_job_state.py +1 -1
  216. cosmotech_api/models/runner_last_run.py +7 -7
  217. cosmotech_api/models/runner_parent_last_run.py +7 -7
  218. cosmotech_api/models/runner_resource_sizing.py +7 -7
  219. cosmotech_api/models/runner_role.py +7 -7
  220. cosmotech_api/models/runner_root_last_run.py +7 -7
  221. cosmotech_api/models/runner_run_template_parameter_value.py +7 -9
  222. cosmotech_api/models/runner_security.py +10 -10
  223. cosmotech_api/models/runner_update_request.py +119 -0
  224. cosmotech_api/models/runner_validation_status.py +1 -1
  225. cosmotech_api/models/scenario.py +10 -10
  226. cosmotech_api/models/scenario_access_control.py +7 -7
  227. cosmotech_api/models/scenario_changed_parameter_value.py +7 -7
  228. cosmotech_api/models/scenario_comparison_result.py +10 -10
  229. cosmotech_api/models/scenario_data_download_info.py +7 -7
  230. cosmotech_api/models/scenario_data_download_job.py +7 -7
  231. cosmotech_api/models/scenario_job_state.py +1 -1
  232. cosmotech_api/models/scenario_last_run.py +7 -7
  233. cosmotech_api/models/scenario_resource_sizing.py +7 -7
  234. cosmotech_api/models/scenario_role.py +7 -7
  235. cosmotech_api/models/scenario_run.py +13 -13
  236. cosmotech_api/models/scenario_run_container.py +10 -10
  237. cosmotech_api/models/scenario_run_container_artifact.py +7 -7
  238. cosmotech_api/models/scenario_run_container_logs.py +7 -7
  239. cosmotech_api/models/scenario_run_logs.py +10 -10
  240. cosmotech_api/models/scenario_run_resource_requested.py +7 -7
  241. cosmotech_api/models/scenario_run_search.py +9 -18
  242. cosmotech_api/models/scenario_run_search_state.py +46 -0
  243. cosmotech_api/models/scenario_run_start_containers.py +10 -10
  244. cosmotech_api/models/scenario_run_state.py +1 -1
  245. cosmotech_api/models/scenario_run_status.py +10 -10
  246. cosmotech_api/models/scenario_run_status_node.py +7 -7
  247. cosmotech_api/models/scenario_run_template_parameter_value.py +7 -7
  248. cosmotech_api/models/scenario_security.py +10 -10
  249. cosmotech_api/models/scenario_validation_status.py +1 -1
  250. cosmotech_api/models/send_run_data_request.py +7 -7
  251. cosmotech_api/models/solution.py +60 -44
  252. cosmotech_api/models/solution_access_control.py +10 -10
  253. cosmotech_api/models/solution_create_request.py +139 -0
  254. cosmotech_api/models/solution_edit_info.py +90 -0
  255. cosmotech_api/models/solution_file.py +88 -0
  256. cosmotech_api/models/solution_role.py +9 -9
  257. cosmotech_api/models/solution_security.py +13 -13
  258. cosmotech_api/models/solution_update_request.py +133 -0
  259. cosmotech_api/models/source_info.py +7 -7
  260. cosmotech_api/models/sub_dataset_graph_query.py +7 -7
  261. cosmotech_api/models/twin_graph_batch_result.py +7 -7
  262. cosmotech_api/models/twin_graph_hash.py +7 -7
  263. cosmotech_api/models/twin_graph_query.py +7 -7
  264. cosmotech_api/models/twincache_status_enum.py +38 -0
  265. cosmotech_api/models/validator.py +7 -7
  266. cosmotech_api/models/workspace.py +46 -42
  267. cosmotech_api/models/workspace_access_control.py +10 -10
  268. cosmotech_api/models/workspace_create_request.py +113 -0
  269. cosmotech_api/models/workspace_edit_info.py +90 -0
  270. cosmotech_api/models/workspace_file.py +10 -10
  271. cosmotech_api/models/workspace_role.py +9 -9
  272. cosmotech_api/models/workspace_secret.py +7 -7
  273. cosmotech_api/models/workspace_security.py +13 -13
  274. cosmotech_api/models/workspace_solution.py +33 -15
  275. cosmotech_api/models/workspace_update_request.py +105 -0
  276. cosmotech_api/models/workspace_web_app.py +7 -7
  277. cosmotech_api/rest.py +5 -2
  278. cosmotech_api-5.0.0rc3.dist-info/METADATA +314 -0
  279. cosmotech_api-5.0.0rc3.dist-info/RECORD +297 -0
  280. {cosmotech_api-3.2.0.post1.dist-info → cosmotech_api-5.0.0rc3.dist-info}/WHEEL +1 -1
  281. {cosmotech_api-3.2.0.post1.dist-info → cosmotech_api-5.0.0rc3.dist-info/licenses}/LICENSE +1 -1
  282. cosmotech_api-3.2.0.post1.dist-info/METADATA +0 -18
  283. cosmotech_api-3.2.0.post1.dist-info/RECORD +0 -255
  284. {cosmotech_api-3.2.0.post1.dist-info → cosmotech_api-5.0.0rc3.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: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,44 +18,53 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, 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
- from cosmotech_api.models.workspace_web_app import WorkspaceWebApp
26
27
  from typing import Optional, Set
27
28
  from typing_extensions import Self
28
29
 
29
30
  class Workspace(BaseModel):
30
31
  """
31
- a Workspace
32
+ A Workspace
32
33
  """ # 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")
34
+ id: Annotated[str, Field(strict=True)] = Field(description="Workspace unique identifier generated by the API")
35
+ organization_id: Annotated[str, Field(strict=True)] = Field(description="Organization unique identifier under which the workspace resides", alias="organizationId")
36
+ key: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Technical key for resource name convention and version grouping. Must be unique")
37
+ name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Workspace name. This name is display in the sample webApp")
38
+ description: Optional[StrictStr] = Field(default=None, description="The Workspace description")
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
+ create_info: WorkspaceEditInfo = Field(description="The details of the Workspace creation", alias="createInfo")
42
+ update_info: WorkspaceEditInfo = Field(description="The details of the Workspace last update", alias="updateInfo")
42
43
  solution: WorkspaceSolution
43
- 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. Use the /secret endpoint to set the key value", 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")
44
+ additional_data: Optional[Dict[str, Any]] = Field(default=None, description="Free form additional data", alias="additionalData")
50
45
  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"]
53
-
54
- model_config = {
55
- "populate_by_name": True,
56
- "validate_assignment": True,
57
- "protected_namespaces": (),
58
- }
46
+ security: WorkspaceSecurity
47
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "key", "name", "description", "version", "tags", "createInfo", "updateInfo", "solution", "additionalData", "datasetCopy", "security"]
48
+
49
+ @field_validator('id')
50
+ def id_validate_regular_expression(cls, value):
51
+ """Validates the regular expression"""
52
+ if not re.match(r"^w-\w{10,20}", value):
53
+ raise ValueError(r"must validate the regular expression /^w-\w{10,20}/")
54
+ return value
55
+
56
+ @field_validator('organization_id')
57
+ def organization_id_validate_regular_expression(cls, value):
58
+ """Validates the regular expression"""
59
+ if not re.match(r"^o-\w{10,20}", value):
60
+ raise ValueError(r"must validate the regular expression /^o-\w{10,20}/")
61
+ return value
62
+
63
+ model_config = ConfigDict(
64
+ populate_by_name=True,
65
+ validate_assignment=True,
66
+ protected_namespaces=(),
67
+ )
59
68
 
60
69
 
61
70
  def to_str(self) -> str:
@@ -83,12 +92,10 @@ class Workspace(BaseModel):
83
92
  are ignored.
84
93
  * OpenAPI `readOnly` fields are excluded.
85
94
  * OpenAPI `readOnly` fields are excluded.
86
- * OpenAPI `readOnly` fields are excluded.
87
95
  """
88
96
  excluded_fields: Set[str] = set([
89
97
  "id",
90
98
  "organization_id",
91
- "owner_id",
92
99
  ])
93
100
 
94
101
  _dict = self.model_dump(
@@ -96,12 +103,15 @@ class Workspace(BaseModel):
96
103
  exclude=excluded_fields,
97
104
  exclude_none=True,
98
105
  )
106
+ # override the default output from pydantic by calling `to_dict()` of create_info
107
+ if self.create_info:
108
+ _dict['createInfo'] = self.create_info.to_dict()
109
+ # override the default output from pydantic by calling `to_dict()` of update_info
110
+ if self.update_info:
111
+ _dict['updateInfo'] = self.update_info.to_dict()
99
112
  # override the default output from pydantic by calling `to_dict()` of solution
100
113
  if self.solution:
101
114
  _dict['solution'] = self.solution.to_dict()
102
- # override the default output from pydantic by calling `to_dict()` of web_app
103
- if self.web_app:
104
- _dict['webApp'] = self.web_app.to_dict()
105
115
  # override the default output from pydantic by calling `to_dict()` of security
106
116
  if self.security:
107
117
  _dict['security'] = self.security.to_dict()
@@ -122,18 +132,12 @@ class Workspace(BaseModel):
122
132
  "key": obj.get("key"),
123
133
  "name": obj.get("name"),
124
134
  "description": obj.get("description"),
125
- "linkedDatasetIdList": obj.get("linkedDatasetIdList"),
126
135
  "version": obj.get("version"),
127
136
  "tags": obj.get("tags"),
128
- "ownerId": obj.get("ownerId"),
137
+ "createInfo": WorkspaceEditInfo.from_dict(obj["createInfo"]) if obj.get("createInfo") is not None else None,
138
+ "updateInfo": WorkspaceEditInfo.from_dict(obj["updateInfo"]) if obj.get("updateInfo") is not None else None,
129
139
  "solution": WorkspaceSolution.from_dict(obj["solution"]) if obj.get("solution") is not None else None,
130
- "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,
140
+ "additionalData": obj.get("additionalData"),
137
141
  "datasetCopy": obj.get("datasetCopy") if obj.get("datasetCopy") is not None else True,
138
142
  "security": WorkspaceSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None
139
143
  })
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,24 +18,24 @@ 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
23
23
  from typing import Optional, Set
24
24
  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
- model_config = {
35
- "populate_by_name": True,
36
- "validate_assignment": True,
37
- "protected_namespaces": (),
38
- }
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
39
 
40
40
 
41
41
  def to_str(self) -> str:
@@ -0,0 +1,113 @@
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-rc3
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 typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class WorkspaceCreateRequest(BaseModel):
30
+ """
31
+ Request object for creating a new workspace
32
+ """ # noqa: E501
33
+ key: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Technical key for resource name convention and version grouping. Must be unique")
34
+ name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Workspace name. This name is displayed in the sample webApp")
35
+ description: Optional[StrictStr] = Field(default=None, description="The Workspace description")
36
+ version: Optional[StrictStr] = Field(default=None, description="The Workspace version MAJOR.MINOR.PATCH.")
37
+ tags: Optional[List[StrictStr]] = Field(default=None, description="The list of tags")
38
+ solution: WorkspaceSolution
39
+ additional_data: Optional[Dict[str, Any]] = Field(default=None, description="Free form additional data", alias="additionalData")
40
+ dataset_copy: Optional[StrictBool] = Field(default=True, description="Activate the copy of dataset on scenario creation", alias="datasetCopy")
41
+ security: Optional[WorkspaceSecurity] = None
42
+ __properties: ClassVar[List[str]] = ["key", "name", "description", "version", "tags", "solution", "additionalData", "datasetCopy", "security"]
43
+
44
+ model_config = ConfigDict(
45
+ populate_by_name=True,
46
+ validate_assignment=True,
47
+ protected_namespaces=(),
48
+ )
49
+
50
+
51
+ def to_str(self) -> str:
52
+ """Returns the string representation of the model using alias"""
53
+ return pprint.pformat(self.model_dump(by_alias=True))
54
+
55
+ def to_json(self) -> str:
56
+ """Returns the JSON representation of the model using alias"""
57
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
58
+ return json.dumps(self.to_dict())
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> Optional[Self]:
62
+ """Create an instance of WorkspaceCreateRequest from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self) -> Dict[str, Any]:
66
+ """Return the dictionary representation of the model using alias.
67
+
68
+ This has the following differences from calling pydantic's
69
+ `self.model_dump(by_alias=True)`:
70
+
71
+ * `None` is only added to the output dict for nullable fields that
72
+ were set at model initialization. Other fields with value `None`
73
+ are ignored.
74
+ """
75
+ excluded_fields: Set[str] = set([
76
+ ])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ # override the default output from pydantic by calling `to_dict()` of solution
84
+ if self.solution:
85
+ _dict['solution'] = self.solution.to_dict()
86
+ # override the default output from pydantic by calling `to_dict()` of security
87
+ if self.security:
88
+ _dict['security'] = self.security.to_dict()
89
+ return _dict
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
+ """Create an instance of WorkspaceCreateRequest from a dict"""
94
+ if obj is None:
95
+ return None
96
+
97
+ if not isinstance(obj, dict):
98
+ return cls.model_validate(obj)
99
+
100
+ _obj = cls.model_validate({
101
+ "key": obj.get("key"),
102
+ "name": obj.get("name"),
103
+ "description": obj.get("description"),
104
+ "version": obj.get("version"),
105
+ "tags": obj.get("tags"),
106
+ "solution": WorkspaceSolution.from_dict(obj["solution"]) if obj.get("solution") is not None else None,
107
+ "additionalData": obj.get("additionalData"),
108
+ "datasetCopy": obj.get("datasetCopy") if obj.get("datasetCopy") is not None else True,
109
+ "security": WorkspaceSecurity.from_dict(obj["security"]) if obj.get("security") is not None else None
110
+ })
111
+ return _obj
112
+
113
+
@@ -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-rc3
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: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,23 +18,23 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, Field, StrictStr
22
- from typing import Any, ClassVar, Dict, List, Optional
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
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
- 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: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,23 +18,23 @@ 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
23
23
  from typing import Optional, Set
24
24
  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
- 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: 3.2.0
8
+ The version of the OpenAPI document: 3.3.6
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: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
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
23
23
  from cosmotech_api.models.workspace_access_control import WorkspaceAccessControl
24
24
  from typing import Optional, Set
@@ -26,17 +26,17 @@ 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
- model_config = {
36
- "populate_by_name": True,
37
- "validate_assignment": True,
38
- "protected_namespaces": (),
39
- }
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
40
 
41
41
 
42
42
  def to_str(self) -> str:
@@ -74,9 +74,9 @@ class WorkspaceSecurity(BaseModel):
74
74
  # override the default output from pydantic by calling `to_dict()` of each item in access_control_list (list)
75
75
  _items = []
76
76
  if self.access_control_list:
77
- for _item in self.access_control_list:
78
- if _item:
79
- _items.append(_item.to_dict())
77
+ for _item_access_control_list in self.access_control_list:
78
+ if _item_access_control_list:
79
+ _items.append(_item_access_control_list.to_dict())
80
80
  _dict['accessControlList'] = _items
81
81
  return _dict
82
82
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 3.2.0
8
+ The version of the OpenAPI document: 5.0.0-rc3
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,25 +18,43 @@ 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, 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")
33
- __properties: ClassVar[List[str]] = ["solutionId", "runTemplateFilter", "defaultRunTemplateDataset"]
34
-
35
- model_config = {
36
- "populate_by_name": True,
37
- "validate_assignment": True,
38
- "protected_namespaces": (),
39
- }
31
+ solution_id: Annotated[str, Field(strict=True)] = Field(description="The Solution Id attached to this workspace", alias="solutionId")
32
+ dataset_id: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The Dataset Id attached to this workspace. This dataset will be used to store default values for Solution parameters with file's varType. ", alias="datasetId")
33
+ default_parameter_values: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map of parameterId/value to set default values for Solution parameters with simple varType (int, string, ...)", alias="defaultParameterValues")
34
+ __properties: ClassVar[List[str]] = ["solutionId", "datasetId", "defaultParameterValues"]
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
+
43
+ @field_validator('dataset_id')
44
+ def dataset_id_validate_regular_expression(cls, value):
45
+ """Validates the regular expression"""
46
+ if value is None:
47
+ return value
48
+
49
+ if not re.match(r"^d-\w{10,20}", value):
50
+ raise ValueError(r"must validate the regular expression /^d-\w{10,20}/")
51
+ return value
52
+
53
+ model_config = ConfigDict(
54
+ populate_by_name=True,
55
+ validate_assignment=True,
56
+ protected_namespaces=(),
57
+ )
40
58
 
41
59
 
42
60
  def to_str(self) -> str:
@@ -84,8 +102,8 @@ class WorkspaceSolution(BaseModel):
84
102
 
85
103
  _obj = cls.model_validate({
86
104
  "solutionId": obj.get("solutionId"),
87
- "runTemplateFilter": obj.get("runTemplateFilter"),
88
- "defaultRunTemplateDataset": obj.get("defaultRunTemplateDataset")
105
+ "datasetId": obj.get("datasetId"),
106
+ "defaultParameterValues": obj.get("defaultParameterValues")
89
107
  })
90
108
  return _obj
91
109