cosmotech-api 3.1.0.dev0__py3-none-any.whl → 3.2.0__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 (247) hide show
  1. cosmotech_api/__init__.py +134 -9
  2. cosmotech_api/api/__init__.py +14 -3
  3. cosmotech_api/api/connector_api.py +1313 -641
  4. cosmotech_api/api/dataset_api.py +8974 -4465
  5. cosmotech_api/api/organization_api.py +4633 -2269
  6. cosmotech_api/api/run_api.py +2174 -778
  7. cosmotech_api/api/runner_api.py +4483 -2280
  8. cosmotech_api/api/scenario_api.py +6544 -3265
  9. cosmotech_api/api/scenariorun_api.py +4007 -1960
  10. cosmotech_api/api/scenariorunresult_api.py +659 -341
  11. cosmotech_api/api/solution_api.py +6341 -3140
  12. cosmotech_api/api/twingraph_api.py +4134 -2077
  13. cosmotech_api/api/validator_api.py +2501 -1249
  14. cosmotech_api/api/workspace_api.py +5999 -2977
  15. cosmotech_api/api_client.py +529 -637
  16. cosmotech_api/api_response.py +21 -0
  17. cosmotech_api/configuration.py +63 -73
  18. cosmotech_api/exceptions.py +71 -31
  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 +9 -7
  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_import.py +1 -1
  115. cosmotech_api/model/twin_graph_import_info.py +1 -1
  116. cosmotech_api/model/twin_graph_query.py +1 -1
  117. cosmotech_api/model/validator.py +1 -1
  118. cosmotech_api/model/validator_run.py +1 -1
  119. cosmotech_api/model/workspace.py +1 -1
  120. cosmotech_api/model/workspace_access_control.py +1 -1
  121. cosmotech_api/model/workspace_file.py +1 -1
  122. cosmotech_api/model/workspace_role.py +1 -1
  123. cosmotech_api/model/workspace_secret.py +1 -1
  124. cosmotech_api/model/workspace_security.py +1 -1
  125. cosmotech_api/model/workspace_solution.py +1 -1
  126. cosmotech_api/model/workspace_web_app.py +1 -1
  127. cosmotech_api/model_utils.py +1 -1
  128. cosmotech_api/models/__init__.py +124 -114
  129. cosmotech_api/models/component_role_permissions.py +90 -0
  130. cosmotech_api/models/connector.py +135 -0
  131. cosmotech_api/models/connector_parameter.py +98 -0
  132. cosmotech_api/models/connector_parameter_group.py +100 -0
  133. cosmotech_api/models/container_resource_size_info.py +90 -0
  134. cosmotech_api/models/container_resource_sizing.py +97 -0
  135. cosmotech_api/models/dataset.py +195 -0
  136. cosmotech_api/models/dataset_access_control.py +90 -0
  137. cosmotech_api/models/dataset_compatibility.py +92 -0
  138. cosmotech_api/models/dataset_connector.py +94 -0
  139. cosmotech_api/models/dataset_copy_parameters.py +92 -0
  140. cosmotech_api/models/dataset_role.py +88 -0
  141. cosmotech_api/models/dataset_search.py +88 -0
  142. cosmotech_api/models/dataset_security.py +98 -0
  143. cosmotech_api/models/dataset_source_type.py +42 -0
  144. cosmotech_api/models/dataset_twin_graph_hash.py +88 -0
  145. cosmotech_api/models/dataset_twin_graph_info.py +92 -0
  146. cosmotech_api/models/dataset_twin_graph_query.py +88 -0
  147. cosmotech_api/models/delete_historical_data.py +92 -0
  148. cosmotech_api/models/file_upload_metadata.py +90 -0
  149. cosmotech_api/models/file_upload_validation.py +105 -0
  150. cosmotech_api/models/graph_properties.py +96 -0
  151. cosmotech_api/models/organization.py +108 -0
  152. cosmotech_api/models/organization_access_control.py +90 -0
  153. cosmotech_api/models/organization_role.py +88 -0
  154. cosmotech_api/models/organization_security.py +98 -0
  155. cosmotech_api/models/organization_service.py +96 -0
  156. cosmotech_api/models/organization_services.py +99 -0
  157. cosmotech_api/models/query_result.py +88 -0
  158. cosmotech_api/models/resource_size_info.py +90 -0
  159. cosmotech_api/models/run.py +167 -0
  160. cosmotech_api/models/run_container.py +126 -0
  161. cosmotech_api/models/run_container_artifact.py +90 -0
  162. cosmotech_api/models/run_container_logs.py +102 -0
  163. cosmotech_api/models/run_data.py +92 -0
  164. cosmotech_api/models/run_data_query.py +88 -0
  165. cosmotech_api/models/run_logs.py +107 -0
  166. cosmotech_api/models/run_resource_requested.py +90 -0
  167. cosmotech_api/models/run_search.py +112 -0
  168. cosmotech_api/models/run_start_containers.py +104 -0
  169. cosmotech_api/models/run_state.py +40 -0
  170. cosmotech_api/models/run_status.py +123 -0
  171. cosmotech_api/models/run_status_node.py +116 -0
  172. cosmotech_api/models/run_template.py +164 -0
  173. cosmotech_api/models/run_template_handler_id.py +42 -0
  174. cosmotech_api/models/run_template_orchestrator.py +38 -0
  175. cosmotech_api/models/run_template_parameter.py +102 -0
  176. cosmotech_api/models/run_template_parameter_group.py +98 -0
  177. cosmotech_api/models/run_template_parameter_value.py +94 -0
  178. cosmotech_api/models/run_template_resource_sizing.py +97 -0
  179. cosmotech_api/models/run_template_step_source.py +40 -0
  180. cosmotech_api/models/runner.py +188 -0
  181. cosmotech_api/models/runner_access_control.py +90 -0
  182. cosmotech_api/models/runner_changed_parameter_value.py +102 -0
  183. cosmotech_api/models/runner_comparison_result.py +106 -0
  184. cosmotech_api/models/runner_data_download_info.py +93 -0
  185. cosmotech_api/models/runner_data_download_job.py +90 -0
  186. cosmotech_api/models/runner_job_state.py +42 -0
  187. cosmotech_api/models/runner_last_run.py +94 -0
  188. cosmotech_api/models/runner_parent_last_run.py +94 -0
  189. cosmotech_api/models/runner_resource_sizing.py +97 -0
  190. cosmotech_api/models/runner_role.py +88 -0
  191. cosmotech_api/models/runner_root_last_run.py +94 -0
  192. cosmotech_api/models/runner_run_template_parameter_value.py +96 -0
  193. cosmotech_api/models/runner_security.py +98 -0
  194. cosmotech_api/models/runner_validation_status.py +40 -0
  195. cosmotech_api/models/scenario.py +186 -0
  196. cosmotech_api/models/scenario_access_control.py +90 -0
  197. cosmotech_api/models/scenario_changed_parameter_value.py +102 -0
  198. cosmotech_api/models/scenario_comparison_result.py +106 -0
  199. cosmotech_api/models/scenario_data_download_info.py +93 -0
  200. cosmotech_api/models/scenario_data_download_job.py +90 -0
  201. cosmotech_api/models/scenario_job_state.py +42 -0
  202. cosmotech_api/models/scenario_last_run.py +94 -0
  203. cosmotech_api/models/scenario_resource_sizing.py +97 -0
  204. cosmotech_api/models/scenario_role.py +88 -0
  205. cosmotech_api/models/scenario_run.py +179 -0
  206. cosmotech_api/models/scenario_run_container.py +126 -0
  207. cosmotech_api/models/scenario_run_container_artifact.py +90 -0
  208. cosmotech_api/models/scenario_run_container_logs.py +102 -0
  209. cosmotech_api/models/scenario_run_logs.py +107 -0
  210. cosmotech_api/models/scenario_run_resource_requested.py +90 -0
  211. cosmotech_api/models/scenario_run_result.py +90 -0
  212. cosmotech_api/models/scenario_run_search.py +112 -0
  213. cosmotech_api/models/scenario_run_start_containers.py +104 -0
  214. cosmotech_api/models/scenario_run_state.py +42 -0
  215. cosmotech_api/models/scenario_run_status.py +119 -0
  216. cosmotech_api/models/scenario_run_status_node.py +116 -0
  217. cosmotech_api/models/scenario_run_template_parameter_value.py +96 -0
  218. cosmotech_api/models/scenario_security.py +98 -0
  219. cosmotech_api/models/scenario_validation_status.py +40 -0
  220. cosmotech_api/models/send_run_data_request.py +90 -0
  221. cosmotech_api/models/solution.py +154 -0
  222. cosmotech_api/models/solution_access_control.py +90 -0
  223. cosmotech_api/models/solution_role.py +88 -0
  224. cosmotech_api/models/solution_security.py +98 -0
  225. cosmotech_api/models/source_info.py +94 -0
  226. cosmotech_api/models/sub_dataset_graph_query.py +94 -0
  227. cosmotech_api/models/twin_graph_batch_result.py +92 -0
  228. cosmotech_api/models/twin_graph_hash.py +88 -0
  229. cosmotech_api/models/twin_graph_query.py +90 -0
  230. cosmotech_api/models/validator.py +106 -0
  231. cosmotech_api/models/validator_run.py +126 -0
  232. cosmotech_api/models/workspace.py +142 -0
  233. cosmotech_api/models/workspace_access_control.py +90 -0
  234. cosmotech_api/models/workspace_file.py +88 -0
  235. cosmotech_api/models/workspace_role.py +88 -0
  236. cosmotech_api/models/workspace_secret.py +88 -0
  237. cosmotech_api/models/workspace_security.py +98 -0
  238. cosmotech_api/models/workspace_solution.py +92 -0
  239. cosmotech_api/models/workspace_web_app.py +92 -0
  240. cosmotech_api/py.typed +0 -0
  241. cosmotech_api/rest.py +139 -230
  242. {cosmotech_api-3.1.0.dev0.dist-info → cosmotech_api-3.2.0.dist-info}/METADATA +6 -4
  243. cosmotech_api-3.2.0.dist-info/RECORD +255 -0
  244. {cosmotech_api-3.1.0.dev0.dist-info → cosmotech_api-3.2.0.dist-info}/WHEEL +1 -1
  245. cosmotech_api-3.1.0.dev0.dist-info/RECORD +0 -142
  246. {cosmotech_api-3.1.0.dev0.dist-info → cosmotech_api-3.2.0.dist-info}/LICENSE +0 -0
  247. {cosmotech_api-3.1.0.dev0.dist-info → cosmotech_api-3.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,40 @@
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: 3.2.0
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 json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class RunState(str, Enum):
23
+ """
24
+ the Run end-to-end state
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ RUNNING = 'Running'
31
+ SUCCESSFUL = 'Successful'
32
+ FAILED = 'Failed'
33
+ UNKNOWN = 'Unknown'
34
+
35
+ @classmethod
36
+ def from_json(cls, json_str: str) -> Self:
37
+ """Create an instance of RunState from a JSON string"""
38
+ return cls(json.loads(json_str))
39
+
40
+
@@ -0,0 +1,123 @@
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: 3.2.0
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, Field, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from cosmotech_api.models.run_state import RunState
24
+ from cosmotech_api.models.run_status_node import RunStatusNode
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class RunStatus(BaseModel):
29
+ """
30
+ a Run status
31
+ """ # noqa: E501
32
+ id: Optional[StrictStr] = Field(default=None, description="the Run id")
33
+ organization_id: Optional[StrictStr] = Field(default=None, description="the Organization id", alias="organizationId")
34
+ workspace_id: Optional[StrictStr] = Field(default=None, description="the Workspace id", alias="workspaceId")
35
+ runner_id: Optional[StrictStr] = Field(default=None, description="the Runner id", alias="runnerId")
36
+ workflow_id: Optional[StrictStr] = Field(default=None, description="the Cosmo Tech compute cluster Argo Workflow Id to search", alias="workflowId")
37
+ workflow_name: Optional[StrictStr] = Field(default=None, description="the Cosmo Tech compute cluster Argo Workflow Name", alias="workflowName")
38
+ start_time: Optional[StrictStr] = Field(default=None, description="the Run start Date Time", alias="startTime")
39
+ end_time: Optional[StrictStr] = Field(default=None, description="the Run end Date Time", alias="endTime")
40
+ phase: Optional[StrictStr] = Field(default=None, description="high-level summary of where the workflow is in its lifecycle")
41
+ progress: Optional[StrictStr] = Field(default=None, description="progress to completion")
42
+ message: Optional[StrictStr] = Field(default=None, description="a human readable message indicating details about why the workflow is in this condition")
43
+ estimated_duration: Optional[StrictInt] = Field(default=None, description="estimatedDuration in seconds", alias="estimatedDuration")
44
+ nodes: Optional[List[RunStatusNode]] = Field(default=None, description="status of Run nodes")
45
+ state: Optional[RunState] = None
46
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "workspaceId", "runnerId", "workflowId", "workflowName", "startTime", "endTime", "phase", "progress", "message", "estimatedDuration", "nodes", "state"]
47
+
48
+ model_config = {
49
+ "populate_by_name": True,
50
+ "validate_assignment": True,
51
+ "protected_namespaces": (),
52
+ }
53
+
54
+
55
+ def to_str(self) -> str:
56
+ """Returns the string representation of the model using alias"""
57
+ return pprint.pformat(self.model_dump(by_alias=True))
58
+
59
+ def to_json(self) -> str:
60
+ """Returns the JSON representation of the model using alias"""
61
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
62
+ return json.dumps(self.to_dict())
63
+
64
+ @classmethod
65
+ def from_json(cls, json_str: str) -> Optional[Self]:
66
+ """Create an instance of RunStatus from a JSON string"""
67
+ return cls.from_dict(json.loads(json_str))
68
+
69
+ def to_dict(self) -> Dict[str, Any]:
70
+ """Return the dictionary representation of the model using alias.
71
+
72
+ This has the following differences from calling pydantic's
73
+ `self.model_dump(by_alias=True)`:
74
+
75
+ * `None` is only added to the output dict for nullable fields that
76
+ were set at model initialization. Other fields with value `None`
77
+ are ignored.
78
+ """
79
+ excluded_fields: Set[str] = set([
80
+ ])
81
+
82
+ _dict = self.model_dump(
83
+ by_alias=True,
84
+ exclude=excluded_fields,
85
+ exclude_none=True,
86
+ )
87
+ # override the default output from pydantic by calling `to_dict()` of each item in nodes (list)
88
+ _items = []
89
+ if self.nodes:
90
+ for _item in self.nodes:
91
+ if _item:
92
+ _items.append(_item.to_dict())
93
+ _dict['nodes'] = _items
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of RunStatus from a dict"""
99
+ if obj is None:
100
+ return None
101
+
102
+ if not isinstance(obj, dict):
103
+ return cls.model_validate(obj)
104
+
105
+ _obj = cls.model_validate({
106
+ "id": obj.get("id"),
107
+ "organizationId": obj.get("organizationId"),
108
+ "workspaceId": obj.get("workspaceId"),
109
+ "runnerId": obj.get("runnerId"),
110
+ "workflowId": obj.get("workflowId"),
111
+ "workflowName": obj.get("workflowName"),
112
+ "startTime": obj.get("startTime"),
113
+ "endTime": obj.get("endTime"),
114
+ "phase": obj.get("phase"),
115
+ "progress": obj.get("progress"),
116
+ "message": obj.get("message"),
117
+ "estimatedDuration": obj.get("estimatedDuration"),
118
+ "nodes": [RunStatusNode.from_dict(_item) for _item in obj["nodes"]] if obj.get("nodes") is not None else None,
119
+ "state": obj.get("state")
120
+ })
121
+ return _obj
122
+
123
+
@@ -0,0 +1,116 @@
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: 3.2.0
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, Field, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from cosmotech_api.models.run_resource_requested import RunResourceRequested
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class RunStatusNode(BaseModel):
28
+ """
29
+ status of a Run Node
30
+ """ # noqa: E501
31
+ id: Optional[StrictStr] = Field(default=None, description="the node id")
32
+ name: Optional[StrictStr] = Field(default=None, description="the node unique name")
33
+ container_name: Optional[StrictStr] = Field(default=None, description="the Run container name", alias="containerName")
34
+ outbound_nodes: Optional[List[StrictStr]] = Field(default=None, description="the list of outbound nodes", alias="outboundNodes")
35
+ resources_duration: Optional[RunResourceRequested] = Field(default=None, alias="resourcesDuration")
36
+ estimated_duration: Optional[StrictInt] = Field(default=None, description="estimatedDuration in seconds", alias="estimatedDuration")
37
+ host_node_name: Optional[StrictStr] = Field(default=None, description="HostNodeName name of the Kubernetes node on which the Pod is running, if applicable", alias="hostNodeName")
38
+ message: Optional[StrictStr] = Field(default=None, description="a human readable message indicating details about why the node is in this condition")
39
+ phase: Optional[StrictStr] = Field(default=None, description="high-level summary of where the node is in its lifecycle")
40
+ progress: Optional[StrictStr] = Field(default=None, description="progress to completion")
41
+ start_time: Optional[StrictStr] = Field(default=None, description="the node start time", alias="startTime")
42
+ end_time: Optional[StrictStr] = Field(default=None, description="the node end time", alias="endTime")
43
+ __properties: ClassVar[List[str]] = ["id", "name", "containerName", "outboundNodes", "resourcesDuration", "estimatedDuration", "hostNodeName", "message", "phase", "progress", "startTime", "endTime"]
44
+
45
+ model_config = {
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 RunStatusNode 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
+ * OpenAPI `readOnly` fields are excluded.
76
+ """
77
+ excluded_fields: Set[str] = set([
78
+ "outbound_nodes",
79
+ ])
80
+
81
+ _dict = self.model_dump(
82
+ by_alias=True,
83
+ exclude=excluded_fields,
84
+ exclude_none=True,
85
+ )
86
+ # override the default output from pydantic by calling `to_dict()` of resources_duration
87
+ if self.resources_duration:
88
+ _dict['resourcesDuration'] = self.resources_duration.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 RunStatusNode 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
+ "id": obj.get("id"),
102
+ "name": obj.get("name"),
103
+ "containerName": obj.get("containerName"),
104
+ "outboundNodes": obj.get("outboundNodes"),
105
+ "resourcesDuration": RunResourceRequested.from_dict(obj["resourcesDuration"]) if obj.get("resourcesDuration") is not None else None,
106
+ "estimatedDuration": obj.get("estimatedDuration"),
107
+ "hostNodeName": obj.get("hostNodeName"),
108
+ "message": obj.get("message"),
109
+ "phase": obj.get("phase"),
110
+ "progress": obj.get("progress"),
111
+ "startTime": obj.get("startTime"),
112
+ "endTime": obj.get("endTime")
113
+ })
114
+ return _obj
115
+
116
+
@@ -0,0 +1,164 @@
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: 3.2.0
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, Field, StrictBool, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from cosmotech_api.models.delete_historical_data import DeleteHistoricalData
24
+ from cosmotech_api.models.run_template_orchestrator import RunTemplateOrchestrator
25
+ from cosmotech_api.models.run_template_resource_sizing import RunTemplateResourceSizing
26
+ from cosmotech_api.models.run_template_step_source import RunTemplateStepSource
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+
30
+ class RunTemplate(BaseModel):
31
+ """
32
+ a Solution Run Template
33
+ """ # noqa: E501
34
+ id: StrictStr = Field(description="the Solution Run Template id")
35
+ name: Optional[StrictStr] = Field(default=None, description="the Run Template name")
36
+ labels: Optional[Dict[str, StrictStr]] = Field(default=None, description="a translated label with key as ISO 639-1 code")
37
+ description: Optional[StrictStr] = Field(default=None, description="the Run Template description")
38
+ csm_simulation: Optional[StrictStr] = Field(default=None, description="the Cosmo Tech simulation name. This information is send to the Engine. Mandatory information if no Engine is defined", alias="csmSimulation")
39
+ tags: Optional[List[StrictStr]] = Field(default=None, description="the list of Run Template tags")
40
+ compute_size: Optional[StrictStr] = Field(default=None, description="the compute size needed for this Run Template. Standard sizes are basic and highcpu. Default is basic", alias="computeSize")
41
+ run_sizing: Optional[RunTemplateResourceSizing] = Field(default=None, alias="runSizing")
42
+ no_data_ingestion_state: Optional[StrictBool] = Field(default=None, description="set to true if the run template does not want to check data ingestion state (no probes or not control plane)", alias="noDataIngestionState")
43
+ fetch_datasets: Optional[StrictBool] = Field(default=None, description="whether or not the fetch dataset step is done", alias="fetchDatasets")
44
+ scenario_data_download_transform: Optional[StrictBool] = Field(default=None, description="whether or not the scenario data download transform step step is done", alias="scenarioDataDownloadTransform")
45
+ fetch_scenario_parameters: Optional[StrictBool] = Field(default=None, description="whether or not the fetch parameters step is done", alias="fetchScenarioParameters")
46
+ apply_parameters: Optional[StrictBool] = Field(default=None, description="whether or not the apply parameter step is done", alias="applyParameters")
47
+ validate_data: Optional[StrictBool] = Field(default=None, description="whether or not the validate step is done", alias="validateData")
48
+ send_datasets_to_data_warehouse: Optional[StrictBool] = Field(default=None, description="whether or not the Datasets values are send to the DataWarehouse prior to Simulation Run. If not set follow the Workspace setting", alias="sendDatasetsToDataWarehouse")
49
+ send_input_parameters_to_data_warehouse: Optional[StrictBool] = Field(default=None, description="whether or not the input parameters values are send to the DataWarehouse prior to Simulation Run. If not set follow the Workspace setting", alias="sendInputParametersToDataWarehouse")
50
+ pre_run: Optional[StrictBool] = Field(default=None, description="whether or not the pre-run step is done", alias="preRun")
51
+ run: Optional[StrictBool] = Field(default=None, description="whether or not the run step is done")
52
+ post_run: Optional[StrictBool] = Field(default=None, description="whether or not the post-run step is done", alias="postRun")
53
+ parameters_json: Optional[StrictBool] = Field(default=None, description="whether or not to store the scenario parameters in json instead of csv", alias="parametersJson")
54
+ parameters_handler_source: Optional[RunTemplateStepSource] = Field(default=None, alias="parametersHandlerSource")
55
+ dataset_validator_source: Optional[RunTemplateStepSource] = Field(default=None, alias="datasetValidatorSource")
56
+ pre_run_source: Optional[RunTemplateStepSource] = Field(default=None, alias="preRunSource")
57
+ run_source: Optional[RunTemplateStepSource] = Field(default=None, alias="runSource")
58
+ post_run_source: Optional[RunTemplateStepSource] = Field(default=None, alias="postRunSource")
59
+ scenariodata_transform_source: Optional[RunTemplateStepSource] = Field(default=None, alias="scenariodataTransformSource")
60
+ parameter_groups: Optional[List[StrictStr]] = Field(default=None, description="the ordered list of parameters groups for the Run Template", alias="parameterGroups")
61
+ stack_steps: Optional[StrictBool] = Field(default=None, description="whether or not to stack adjacent scenario run steps in one container run which will chain steps", alias="stackSteps")
62
+ git_repository_url: Optional[StrictStr] = Field(default=None, description="an optional URL to the git repository", alias="gitRepositoryUrl")
63
+ git_branch_name: Optional[StrictStr] = Field(default=None, description="an optional git branch name", alias="gitBranchName")
64
+ run_template_source_dir: Optional[StrictStr] = Field(default=None, description="an optional directory where to find the run template source", alias="runTemplateSourceDir")
65
+ orchestrator_type: Optional[RunTemplateOrchestrator] = Field(default=None, alias="orchestratorType")
66
+ execution_timeout: Optional[StrictInt] = Field(default=None, description="an optional duration in seconds in which a workflow is allowed to run", alias="executionTimeout")
67
+ delete_historical_data: Optional[DeleteHistoricalData] = Field(default=None, alias="deleteHistoricalData")
68
+ __properties: ClassVar[List[str]] = ["id", "name", "labels", "description", "csmSimulation", "tags", "computeSize", "runSizing", "noDataIngestionState", "fetchDatasets", "scenarioDataDownloadTransform", "fetchScenarioParameters", "applyParameters", "validateData", "sendDatasetsToDataWarehouse", "sendInputParametersToDataWarehouse", "preRun", "run", "postRun", "parametersJson", "parametersHandlerSource", "datasetValidatorSource", "preRunSource", "runSource", "postRunSource", "scenariodataTransformSource", "parameterGroups", "stackSteps", "gitRepositoryUrl", "gitBranchName", "runTemplateSourceDir", "orchestratorType", "executionTimeout", "deleteHistoricalData"]
69
+
70
+ model_config = {
71
+ "populate_by_name": True,
72
+ "validate_assignment": True,
73
+ "protected_namespaces": (),
74
+ }
75
+
76
+
77
+ def to_str(self) -> str:
78
+ """Returns the string representation of the model using alias"""
79
+ return pprint.pformat(self.model_dump(by_alias=True))
80
+
81
+ def to_json(self) -> str:
82
+ """Returns the JSON representation of the model using alias"""
83
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
84
+ return json.dumps(self.to_dict())
85
+
86
+ @classmethod
87
+ def from_json(cls, json_str: str) -> Optional[Self]:
88
+ """Create an instance of RunTemplate from a JSON string"""
89
+ return cls.from_dict(json.loads(json_str))
90
+
91
+ def to_dict(self) -> Dict[str, Any]:
92
+ """Return the dictionary representation of the model using alias.
93
+
94
+ This has the following differences from calling pydantic's
95
+ `self.model_dump(by_alias=True)`:
96
+
97
+ * `None` is only added to the output dict for nullable fields that
98
+ were set at model initialization. Other fields with value `None`
99
+ are ignored.
100
+ """
101
+ excluded_fields: Set[str] = set([
102
+ ])
103
+
104
+ _dict = self.model_dump(
105
+ by_alias=True,
106
+ exclude=excluded_fields,
107
+ exclude_none=True,
108
+ )
109
+ # override the default output from pydantic by calling `to_dict()` of run_sizing
110
+ if self.run_sizing:
111
+ _dict['runSizing'] = self.run_sizing.to_dict()
112
+ # override the default output from pydantic by calling `to_dict()` of delete_historical_data
113
+ if self.delete_historical_data:
114
+ _dict['deleteHistoricalData'] = self.delete_historical_data.to_dict()
115
+ return _dict
116
+
117
+ @classmethod
118
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
119
+ """Create an instance of RunTemplate from a dict"""
120
+ if obj is None:
121
+ return None
122
+
123
+ if not isinstance(obj, dict):
124
+ return cls.model_validate(obj)
125
+
126
+ _obj = cls.model_validate({
127
+ "id": obj.get("id"),
128
+ "name": obj.get("name"),
129
+ "labels": obj.get("labels"),
130
+ "description": obj.get("description"),
131
+ "csmSimulation": obj.get("csmSimulation"),
132
+ "tags": obj.get("tags"),
133
+ "computeSize": obj.get("computeSize"),
134
+ "runSizing": RunTemplateResourceSizing.from_dict(obj["runSizing"]) if obj.get("runSizing") is not None else None,
135
+ "noDataIngestionState": obj.get("noDataIngestionState"),
136
+ "fetchDatasets": obj.get("fetchDatasets"),
137
+ "scenarioDataDownloadTransform": obj.get("scenarioDataDownloadTransform"),
138
+ "fetchScenarioParameters": obj.get("fetchScenarioParameters"),
139
+ "applyParameters": obj.get("applyParameters"),
140
+ "validateData": obj.get("validateData"),
141
+ "sendDatasetsToDataWarehouse": obj.get("sendDatasetsToDataWarehouse"),
142
+ "sendInputParametersToDataWarehouse": obj.get("sendInputParametersToDataWarehouse"),
143
+ "preRun": obj.get("preRun"),
144
+ "run": obj.get("run"),
145
+ "postRun": obj.get("postRun"),
146
+ "parametersJson": obj.get("parametersJson"),
147
+ "parametersHandlerSource": obj.get("parametersHandlerSource"),
148
+ "datasetValidatorSource": obj.get("datasetValidatorSource"),
149
+ "preRunSource": obj.get("preRunSource"),
150
+ "runSource": obj.get("runSource"),
151
+ "postRunSource": obj.get("postRunSource"),
152
+ "scenariodataTransformSource": obj.get("scenariodataTransformSource"),
153
+ "parameterGroups": obj.get("parameterGroups"),
154
+ "stackSteps": obj.get("stackSteps"),
155
+ "gitRepositoryUrl": obj.get("gitRepositoryUrl"),
156
+ "gitBranchName": obj.get("gitBranchName"),
157
+ "runTemplateSourceDir": obj.get("runTemplateSourceDir"),
158
+ "orchestratorType": obj.get("orchestratorType"),
159
+ "executionTimeout": obj.get("executionTimeout"),
160
+ "deleteHistoricalData": DeleteHistoricalData.from_dict(obj["deleteHistoricalData"]) if obj.get("deleteHistoricalData") is not None else None
161
+ })
162
+ return _obj
163
+
164
+
@@ -0,0 +1,42 @@
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: 3.2.0
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 json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class RunTemplateHandlerId(str, Enum):
23
+ """
24
+ the Run Template step handler identifier
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ PARAMETERS_HANDLER = 'parameters_handler'
31
+ VALIDATOR = 'validator'
32
+ PRERUN = 'prerun'
33
+ ENGINE = 'engine'
34
+ POSTRUN = 'postrun'
35
+ SCENARIODATA_TRANSFORM = 'scenariodata_transform'
36
+
37
+ @classmethod
38
+ def from_json(cls, json_str: str) -> Self:
39
+ """Create an instance of RunTemplateHandlerId from a JSON string"""
40
+ return cls(json.loads(json_str))
41
+
42
+
@@ -0,0 +1,38 @@
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: 3.2.0
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 json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class RunTemplateOrchestrator(str, Enum):
23
+ """
24
+ the Orchestrator to use for the Run Template
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ ARGOWORKFLOW = 'argoWorkflow'
31
+ CSMORC = 'csmOrc'
32
+
33
+ @classmethod
34
+ def from_json(cls, json_str: str) -> Self:
35
+ """Create an instance of RunTemplateOrchestrator from a JSON string"""
36
+ return cls(json.loads(json_str))
37
+
38
+
@@ -0,0 +1,102 @@
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: 3.2.0
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, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class RunTemplateParameter(BaseModel):
27
+ """
28
+ a Run Template Parameter
29
+ """ # noqa: E501
30
+ id: StrictStr = Field(description="the Parameter id")
31
+ labels: Optional[Dict[str, StrictStr]] = Field(default=None, description="a translated label with key as ISO 639-1 code")
32
+ var_type: Optional[StrictStr] = Field(default=None, description="the variable type for the parameter. Basic types or special type %DATASETID%", alias="varType")
33
+ default_value: Optional[StrictStr] = Field(default=None, description="the default value for this parameter", alias="defaultValue")
34
+ min_value: Optional[StrictStr] = Field(default=None, description="the minimum value for this parameter", alias="minValue")
35
+ max_value: Optional[StrictStr] = Field(default=None, description="the maximum value for this parameter", alias="maxValue")
36
+ regex_validation: Optional[StrictStr] = Field(default=None, description="a regex to validate the value", alias="regexValidation")
37
+ options: Optional[Dict[str, Any]] = Field(default=None, description="freeform options")
38
+ __properties: ClassVar[List[str]] = ["id", "labels", "varType", "defaultValue", "minValue", "maxValue", "regexValidation", "options"]
39
+
40
+ model_config = {
41
+ "populate_by_name": True,
42
+ "validate_assignment": True,
43
+ "protected_namespaces": (),
44
+ }
45
+
46
+
47
+ def to_str(self) -> str:
48
+ """Returns the string representation of the model using alias"""
49
+ return pprint.pformat(self.model_dump(by_alias=True))
50
+
51
+ def to_json(self) -> str:
52
+ """Returns the JSON representation of the model using alias"""
53
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
+ return json.dumps(self.to_dict())
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of RunTemplateParameter from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of RunTemplateParameter from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "id": obj.get("id"),
92
+ "labels": obj.get("labels"),
93
+ "varType": obj.get("varType"),
94
+ "defaultValue": obj.get("defaultValue"),
95
+ "minValue": obj.get("minValue"),
96
+ "maxValue": obj.get("maxValue"),
97
+ "regexValidation": obj.get("regexValidation"),
98
+ "options": obj.get("options")
99
+ })
100
+ return _obj
101
+
102
+