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,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: 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, 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 ComponentRolePermissions(BaseModel):
27
+ """
28
+ a RBAC by component
29
+ """ # noqa: E501
30
+ component: Optional[StrictStr] = None
31
+ roles: Optional[Dict[str, List[StrictStr]]] = None
32
+ __properties: ClassVar[List[str]] = ["component", "roles"]
33
+
34
+ model_config = {
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 ComponentRolePermissions 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 ComponentRolePermissions 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
+ "component": obj.get("component"),
86
+ "roles": obj.get("roles")
87
+ })
88
+ return _obj
89
+
90
+
@@ -0,0 +1,135 @@
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, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from cosmotech_api.models.connector_parameter_group import ConnectorParameterGroup
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class Connector(BaseModel):
28
+ """
29
+ a version of a Connector
30
+ """ # noqa: E501
31
+ id: Optional[StrictStr] = Field(default=None, description="the Connector version unique identifier")
32
+ key: Optional[StrictStr] = Field(default=None, description="the Connector key which group Connector versions")
33
+ name: Optional[StrictStr] = Field(default=None, description="the Connector name")
34
+ description: Optional[StrictStr] = Field(default=None, description="the Connector description")
35
+ repository: Optional[StrictStr] = Field(default=None, description="the registry repository containing the image")
36
+ version: Optional[StrictStr] = Field(default=None, description="the Connector version MAJOR.MINOR.PATCH. Must be aligned with an existing repository tag")
37
+ tags: Optional[List[StrictStr]] = Field(default=None, description="the list of tags")
38
+ owner_id: Optional[StrictStr] = Field(default=None, description="the user id which own this connector version", alias="ownerId")
39
+ url: Optional[StrictStr] = Field(default=None, description="an optional URL link to connector page")
40
+ azure_managed_identity: Optional[StrictBool] = Field(default=None, description="whether or not the connector uses Azure Managed Identity", alias="azureManagedIdentity")
41
+ azure_authentication_with_customer_app_registration: Optional[StrictBool] = Field(default=None, description="whether to authenticate against Azure using the app registration credentials provided by the customer", alias="azureAuthenticationWithCustomerAppRegistration")
42
+ io_types: Optional[List[StrictStr]] = Field(default=None, alias="ioTypes")
43
+ parameter_groups: Optional[List[ConnectorParameterGroup]] = Field(default=None, description="the list of connector parameters groups", alias="parameterGroups")
44
+ __properties: ClassVar[List[str]] = ["id", "key", "name", "description", "repository", "version", "tags", "ownerId", "url", "azureManagedIdentity", "azureAuthenticationWithCustomerAppRegistration", "ioTypes", "parameterGroups"]
45
+
46
+ @field_validator('io_types')
47
+ def io_types_validate_enum(cls, value):
48
+ """Validates the enum"""
49
+ if value is None:
50
+ return value
51
+
52
+ for i in value:
53
+ if i not in set(['read', 'write']):
54
+ raise ValueError("each list item must be one of ('read', 'write')")
55
+ return value
56
+
57
+ model_config = {
58
+ "populate_by_name": True,
59
+ "validate_assignment": True,
60
+ "protected_namespaces": (),
61
+ }
62
+
63
+
64
+ def to_str(self) -> str:
65
+ """Returns the string representation of the model using alias"""
66
+ return pprint.pformat(self.model_dump(by_alias=True))
67
+
68
+ def to_json(self) -> str:
69
+ """Returns the JSON representation of the model using alias"""
70
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
71
+ return json.dumps(self.to_dict())
72
+
73
+ @classmethod
74
+ def from_json(cls, json_str: str) -> Optional[Self]:
75
+ """Create an instance of Connector from a JSON string"""
76
+ return cls.from_dict(json.loads(json_str))
77
+
78
+ def to_dict(self) -> Dict[str, Any]:
79
+ """Return the dictionary representation of the model using alias.
80
+
81
+ This has the following differences from calling pydantic's
82
+ `self.model_dump(by_alias=True)`:
83
+
84
+ * `None` is only added to the output dict for nullable fields that
85
+ were set at model initialization. Other fields with value `None`
86
+ are ignored.
87
+ * OpenAPI `readOnly` fields are excluded.
88
+ * OpenAPI `readOnly` fields are excluded.
89
+ """
90
+ excluded_fields: Set[str] = set([
91
+ "id",
92
+ "owner_id",
93
+ ])
94
+
95
+ _dict = self.model_dump(
96
+ by_alias=True,
97
+ exclude=excluded_fields,
98
+ exclude_none=True,
99
+ )
100
+ # override the default output from pydantic by calling `to_dict()` of each item in parameter_groups (list)
101
+ _items = []
102
+ if self.parameter_groups:
103
+ for _item in self.parameter_groups:
104
+ if _item:
105
+ _items.append(_item.to_dict())
106
+ _dict['parameterGroups'] = _items
107
+ return _dict
108
+
109
+ @classmethod
110
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
111
+ """Create an instance of Connector from a dict"""
112
+ if obj is None:
113
+ return None
114
+
115
+ if not isinstance(obj, dict):
116
+ return cls.model_validate(obj)
117
+
118
+ _obj = cls.model_validate({
119
+ "id": obj.get("id"),
120
+ "key": obj.get("key"),
121
+ "name": obj.get("name"),
122
+ "description": obj.get("description"),
123
+ "repository": obj.get("repository"),
124
+ "version": obj.get("version"),
125
+ "tags": obj.get("tags"),
126
+ "ownerId": obj.get("ownerId"),
127
+ "url": obj.get("url"),
128
+ "azureManagedIdentity": obj.get("azureManagedIdentity"),
129
+ "azureAuthenticationWithCustomerAppRegistration": obj.get("azureAuthenticationWithCustomerAppRegistration"),
130
+ "ioTypes": obj.get("ioTypes"),
131
+ "parameterGroups": [ConnectorParameterGroup.from_dict(_item) for _item in obj["parameterGroups"]] if obj.get("parameterGroups") is not None else None
132
+ })
133
+ return _obj
134
+
135
+
@@ -0,0 +1,98 @@
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 ConnectorParameter(BaseModel):
27
+ """
28
+ a connector parameter
29
+ """ # noqa: E501
30
+ id: StrictStr = Field(description="the connector parameter id")
31
+ label: StrictStr = Field(description="the list of translated parameter group labels")
32
+ value_type: Optional[StrictStr] = Field(default=None, description="the parameter value type", alias="valueType")
33
+ options: Optional[List[StrictStr]] = Field(default=None, description="the list of available and valid values for the parameter")
34
+ default: Optional[StrictStr] = Field(default=None, description="the default value")
35
+ env_var: Optional[StrictStr] = Field(default=None, description="associated environment variable in connector image", alias="envVar")
36
+ __properties: ClassVar[List[str]] = ["id", "label", "valueType", "options", "default", "envVar"]
37
+
38
+ model_config = {
39
+ "populate_by_name": True,
40
+ "validate_assignment": True,
41
+ "protected_namespaces": (),
42
+ }
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of ConnectorParameter from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of ConnectorParameter from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "id": obj.get("id"),
90
+ "label": obj.get("label"),
91
+ "valueType": obj.get("valueType"),
92
+ "options": obj.get("options"),
93
+ "default": obj.get("default"),
94
+ "envVar": obj.get("envVar")
95
+ })
96
+ return _obj
97
+
98
+
@@ -0,0 +1,100 @@
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
23
+ from cosmotech_api.models.connector_parameter import ConnectorParameter
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class ConnectorParameterGroup(BaseModel):
28
+ """
29
+ a connector parameters group
30
+ """ # noqa: E501
31
+ id: StrictStr = Field(description="the connector parameter group id")
32
+ label: StrictStr = Field(description="the list of translated parameter group labels")
33
+ parameters: List[ConnectorParameter] = Field(description="the list of parameters")
34
+ __properties: ClassVar[List[str]] = ["id", "label", "parameters"]
35
+
36
+ model_config = {
37
+ "populate_by_name": True,
38
+ "validate_assignment": True,
39
+ "protected_namespaces": (),
40
+ }
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of ConnectorParameterGroup from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of each item in parameters (list)
76
+ _items = []
77
+ if self.parameters:
78
+ for _item in self.parameters:
79
+ if _item:
80
+ _items.append(_item.to_dict())
81
+ _dict['parameters'] = _items
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of ConnectorParameterGroup from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "id": obj.get("id"),
95
+ "label": obj.get("label"),
96
+ "parameters": [ConnectorParameter.from_dict(_item) for _item in obj["parameters"]] if obj.get("parameters") is not None else None
97
+ })
98
+ return _obj
99
+
100
+
@@ -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: 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
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ContainerResourceSizeInfo(BaseModel):
27
+ """
28
+ define cpus and memory needs
29
+ """ # noqa: E501
30
+ cpu: StrictStr = Field(description="define cpu needs")
31
+ memory: StrictStr = Field(description="define memory needs")
32
+ __properties: ClassVar[List[str]] = ["cpu", "memory"]
33
+
34
+ model_config = {
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 ContainerResourceSizeInfo 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 ContainerResourceSizeInfo 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
+ "cpu": obj.get("cpu"),
86
+ "memory": obj.get("memory")
87
+ })
88
+ return _obj
89
+
90
+
@@ -0,0 +1,97 @@
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
22
+ from typing import Any, ClassVar, Dict, List
23
+ from cosmotech_api.models.container_resource_size_info import ContainerResourceSizeInfo
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class ContainerResourceSizing(BaseModel):
28
+ """
29
+ a description object for resource requests and limits (default same configuration as basic sizing)
30
+ """ # noqa: E501
31
+ requests: ContainerResourceSizeInfo
32
+ limits: ContainerResourceSizeInfo
33
+ __properties: ClassVar[List[str]] = ["requests", "limits"]
34
+
35
+ model_config = {
36
+ "populate_by_name": True,
37
+ "validate_assignment": True,
38
+ "protected_namespaces": (),
39
+ }
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ContainerResourceSizing from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of requests
75
+ if self.requests:
76
+ _dict['requests'] = self.requests.to_dict()
77
+ # override the default output from pydantic by calling `to_dict()` of limits
78
+ if self.limits:
79
+ _dict['limits'] = self.limits.to_dict()
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of ContainerResourceSizing from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "requests": ContainerResourceSizeInfo.from_dict(obj["requests"]) if obj.get("requests") is not None else None,
93
+ "limits": ContainerResourceSizeInfo.from_dict(obj["limits"]) if obj.get("limits") is not None else None
94
+ })
95
+ return _obj
96
+
97
+