windmill-api 1.518.2__py3-none-any.whl → 1.519.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 windmill-api might be problematic. Click here for more details.

Files changed (42) hide show
  1. windmill_api/api/job/get_job_updates.py +30 -0
  2. windmill_api/api/job/get_job_updates_sse.py +9 -0
  3. windmill_api/api/setting/create_ducklake_database.py +95 -0
  4. windmill_api/api/setting/databases_exist.py +149 -0
  5. windmill_api/api/workspace/edit_ducklake_config.py +107 -0
  6. windmill_api/api/workspace/list_ducklakes.py +147 -0
  7. windmill_api/models/asset_kind.py +1 -0
  8. windmill_api/models/create_script_json_body_assets_item_kind.py +1 -0
  9. windmill_api/models/ducklake_settings.py +64 -0
  10. windmill_api/models/ducklake_settings_ducklakes.py +62 -0
  11. windmill_api/models/ducklake_settings_ducklakes_additional_property.py +82 -0
  12. windmill_api/models/ducklake_settings_ducklakes_additional_property_catalog.py +72 -0
  13. windmill_api/models/ducklake_settings_ducklakes_additional_property_catalog_resource_type.py +10 -0
  14. windmill_api/models/ducklake_settings_ducklakes_additional_property_storage.py +68 -0
  15. windmill_api/models/edit_ducklake_config_json_body.py +64 -0
  16. windmill_api/models/edit_ducklake_config_json_body_settings.py +66 -0
  17. windmill_api/models/edit_ducklake_config_json_body_settings_ducklakes.py +66 -0
  18. windmill_api/models/edit_ducklake_config_json_body_settings_ducklakes_additional_property.py +82 -0
  19. windmill_api/models/edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog.py +74 -0
  20. windmill_api/models/edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog_resource_type.py +10 -0
  21. windmill_api/models/edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage.py +68 -0
  22. windmill_api/models/flow_module_value_2_type_0_assets_item_kind.py +1 -0
  23. windmill_api/models/get_job_updates_response_200.py +16 -0
  24. windmill_api/models/get_script_by_path_with_draft_response_200_assets_item_kind.py +1 -0
  25. windmill_api/models/get_script_by_path_with_draft_response_200_draft_assets_item_kind.py +1 -0
  26. windmill_api/models/get_settings_response_200.py +18 -0
  27. windmill_api/models/get_settings_response_200_ducklake.py +64 -0
  28. windmill_api/models/get_settings_response_200_ducklake_ducklakes.py +66 -0
  29. windmill_api/models/get_settings_response_200_ducklake_ducklakes_additional_property.py +82 -0
  30. windmill_api/models/get_settings_response_200_ducklake_ducklakes_additional_property_catalog.py +74 -0
  31. windmill_api/models/get_settings_response_200_ducklake_ducklakes_additional_property_catalog_resource_type.py +10 -0
  32. windmill_api/models/get_settings_response_200_ducklake_ducklakes_additional_property_storage.py +68 -0
  33. windmill_api/models/list_assets_by_usage_response_200_item_item_kind.py +1 -0
  34. windmill_api/models/list_assets_response_200_item_kind.py +1 -0
  35. windmill_api/models/new_script_assets_item_kind.py +1 -0
  36. windmill_api/models/new_script_with_draft_assets_item_kind.py +1 -0
  37. windmill_api/models/new_script_with_draft_draft_assets_item_kind.py +1 -0
  38. windmill_api/models/raw_script_assets_item_kind.py +1 -0
  39. {windmill_api-1.518.2.dist-info → windmill_api-1.519.0.dist-info}/METADATA +1 -1
  40. {windmill_api-1.518.2.dist-info → windmill_api-1.519.0.dist-info}/RECORD +42 -19
  41. {windmill_api-1.518.2.dist-info → windmill_api-1.519.0.dist-info}/LICENSE +0 -0
  42. {windmill_api-1.518.2.dist-info → windmill_api-1.519.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,74 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog_resource_type import (
7
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalogResourceType,
8
+ )
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog")
12
+
13
+
14
+ @_attrs_define
15
+ class EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog:
16
+ """
17
+ Attributes:
18
+ resource_type (EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalogResourceType):
19
+ resource_path (Union[Unset, str]):
20
+ """
21
+
22
+ resource_type: EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalogResourceType
23
+ resource_path: Union[Unset, str] = UNSET
24
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ resource_type = self.resource_type.value
28
+
29
+ resource_path = self.resource_path
30
+
31
+ field_dict: Dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "resource_type": resource_type,
36
+ }
37
+ )
38
+ if resource_path is not UNSET:
39
+ field_dict["resource_path"] = resource_path
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45
+ d = src_dict.copy()
46
+ resource_type = EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalogResourceType(
47
+ d.pop("resource_type")
48
+ )
49
+
50
+ resource_path = d.pop("resource_path", UNSET)
51
+
52
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog = cls(
53
+ resource_type=resource_type,
54
+ resource_path=resource_path,
55
+ )
56
+
57
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog.additional_properties = d
58
+ return edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalogResourceType(str, Enum):
5
+ INSTANCE = "instance"
6
+ MYSQL = "mysql"
7
+ POSTGRESQL = "postgresql"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,68 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage")
9
+
10
+
11
+ @_attrs_define
12
+ class EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage:
13
+ """
14
+ Attributes:
15
+ path (str):
16
+ storage (Union[Unset, str]):
17
+ """
18
+
19
+ path: str
20
+ storage: Union[Unset, str] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ path = self.path
25
+ storage = self.storage
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "path": path,
32
+ }
33
+ )
34
+ if storage is not UNSET:
35
+ field_dict["storage"] = storage
36
+
37
+ return field_dict
38
+
39
+ @classmethod
40
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
41
+ d = src_dict.copy()
42
+ path = d.pop("path")
43
+
44
+ storage = d.pop("storage", UNSET)
45
+
46
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage = cls(
47
+ path=path,
48
+ storage=storage,
49
+ )
50
+
51
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage.additional_properties = d
52
+ return edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage
53
+
54
+ @property
55
+ def additional_keys(self) -> List[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Any) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class FlowModuleValue2Type0AssetsItemKind(str, Enum):
5
+ DUCKLAKE = "ducklake"
5
6
  RESOURCE = "resource"
6
7
  S3OBJECT = "s3object"
7
8
 
@@ -25,6 +25,8 @@ class GetJobUpdatesResponse200:
25
25
  log_offset (Union[Unset, int]):
26
26
  mem_peak (Union[Unset, int]):
27
27
  progress (Union[Unset, int]):
28
+ stream_offset (Union[Unset, int]):
29
+ new_result_stream (Union[Unset, str]):
28
30
  flow_status (Union[Unset, GetJobUpdatesResponse200FlowStatus]):
29
31
  workflow_as_code_status (Union[Unset, GetJobUpdatesResponse200WorkflowAsCodeStatus]):
30
32
  """
@@ -35,6 +37,8 @@ class GetJobUpdatesResponse200:
35
37
  log_offset: Union[Unset, int] = UNSET
36
38
  mem_peak: Union[Unset, int] = UNSET
37
39
  progress: Union[Unset, int] = UNSET
40
+ stream_offset: Union[Unset, int] = UNSET
41
+ new_result_stream: Union[Unset, str] = UNSET
38
42
  flow_status: Union[Unset, "GetJobUpdatesResponse200FlowStatus"] = UNSET
39
43
  workflow_as_code_status: Union[Unset, "GetJobUpdatesResponse200WorkflowAsCodeStatus"] = UNSET
40
44
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -46,6 +50,8 @@ class GetJobUpdatesResponse200:
46
50
  log_offset = self.log_offset
47
51
  mem_peak = self.mem_peak
48
52
  progress = self.progress
53
+ stream_offset = self.stream_offset
54
+ new_result_stream = self.new_result_stream
49
55
  flow_status: Union[Unset, Dict[str, Any]] = UNSET
50
56
  if not isinstance(self.flow_status, Unset):
51
57
  flow_status = self.flow_status.to_dict()
@@ -69,6 +75,10 @@ class GetJobUpdatesResponse200:
69
75
  field_dict["mem_peak"] = mem_peak
70
76
  if progress is not UNSET:
71
77
  field_dict["progress"] = progress
78
+ if stream_offset is not UNSET:
79
+ field_dict["stream_offset"] = stream_offset
80
+ if new_result_stream is not UNSET:
81
+ field_dict["new_result_stream"] = new_result_stream
72
82
  if flow_status is not UNSET:
73
83
  field_dict["flow_status"] = flow_status
74
84
  if workflow_as_code_status is not UNSET:
@@ -96,6 +106,10 @@ class GetJobUpdatesResponse200:
96
106
 
97
107
  progress = d.pop("progress", UNSET)
98
108
 
109
+ stream_offset = d.pop("stream_offset", UNSET)
110
+
111
+ new_result_stream = d.pop("new_result_stream", UNSET)
112
+
99
113
  _flow_status = d.pop("flow_status", UNSET)
100
114
  flow_status: Union[Unset, GetJobUpdatesResponse200FlowStatus]
101
115
  if isinstance(_flow_status, Unset):
@@ -117,6 +131,8 @@ class GetJobUpdatesResponse200:
117
131
  log_offset=log_offset,
118
132
  mem_peak=mem_peak,
119
133
  progress=progress,
134
+ stream_offset=stream_offset,
135
+ new_result_stream=new_result_stream,
120
136
  flow_status=flow_status,
121
137
  workflow_as_code_status=workflow_as_code_status,
122
138
  )
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class GetScriptByPathWithDraftResponse200AssetsItemKind(str, Enum):
5
+ DUCKLAKE = "ducklake"
5
6
  RESOURCE = "resource"
6
7
  S3OBJECT = "s3object"
7
8
 
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class GetScriptByPathWithDraftResponse200DraftAssetsItemKind(str, Enum):
5
+ DUCKLAKE = "ducklake"
5
6
  RESOURCE = "resource"
6
7
  S3OBJECT = "s3object"
7
8
 
@@ -9,6 +9,7 @@ if TYPE_CHECKING:
9
9
  from ..models.get_settings_response_200_ai_config import GetSettingsResponse200AiConfig
10
10
  from ..models.get_settings_response_200_default_scripts import GetSettingsResponse200DefaultScripts
11
11
  from ..models.get_settings_response_200_deploy_ui import GetSettingsResponse200DeployUi
12
+ from ..models.get_settings_response_200_ducklake import GetSettingsResponse200Ducklake
12
13
  from ..models.get_settings_response_200_error_handler_extra_args import GetSettingsResponse200ErrorHandlerExtraArgs
13
14
  from ..models.get_settings_response_200_git_sync import GetSettingsResponse200GitSync
14
15
  from ..models.get_settings_response_200_large_file_storage import GetSettingsResponse200LargeFileStorage
@@ -41,6 +42,7 @@ class GetSettingsResponse200:
41
42
  error_handler (Union[Unset, str]):
42
43
  error_handler_extra_args (Union[Unset, GetSettingsResponse200ErrorHandlerExtraArgs]):
43
44
  large_file_storage (Union[Unset, GetSettingsResponse200LargeFileStorage]):
45
+ ducklake (Union[Unset, GetSettingsResponse200Ducklake]):
44
46
  git_sync (Union[Unset, GetSettingsResponse200GitSync]):
45
47
  deploy_ui (Union[Unset, GetSettingsResponse200DeployUi]):
46
48
  default_app (Union[Unset, str]):
@@ -69,6 +71,7 @@ class GetSettingsResponse200:
69
71
  error_handler: Union[Unset, str] = UNSET
70
72
  error_handler_extra_args: Union[Unset, "GetSettingsResponse200ErrorHandlerExtraArgs"] = UNSET
71
73
  large_file_storage: Union[Unset, "GetSettingsResponse200LargeFileStorage"] = UNSET
74
+ ducklake: Union[Unset, "GetSettingsResponse200Ducklake"] = UNSET
72
75
  git_sync: Union[Unset, "GetSettingsResponse200GitSync"] = UNSET
73
76
  deploy_ui: Union[Unset, "GetSettingsResponse200DeployUi"] = UNSET
74
77
  default_app: Union[Unset, str] = UNSET
@@ -107,6 +110,10 @@ class GetSettingsResponse200:
107
110
  if not isinstance(self.large_file_storage, Unset):
108
111
  large_file_storage = self.large_file_storage.to_dict()
109
112
 
113
+ ducklake: Union[Unset, Dict[str, Any]] = UNSET
114
+ if not isinstance(self.ducklake, Unset):
115
+ ducklake = self.ducklake.to_dict()
116
+
110
117
  git_sync: Union[Unset, Dict[str, Any]] = UNSET
111
118
  if not isinstance(self.git_sync, Unset):
112
119
  git_sync = self.git_sync.to_dict()
@@ -169,6 +176,8 @@ class GetSettingsResponse200:
169
176
  field_dict["error_handler_extra_args"] = error_handler_extra_args
170
177
  if large_file_storage is not UNSET:
171
178
  field_dict["large_file_storage"] = large_file_storage
179
+ if ducklake is not UNSET:
180
+ field_dict["ducklake"] = ducklake
172
181
  if git_sync is not UNSET:
173
182
  field_dict["git_sync"] = git_sync
174
183
  if deploy_ui is not UNSET:
@@ -191,6 +200,7 @@ class GetSettingsResponse200:
191
200
  from ..models.get_settings_response_200_ai_config import GetSettingsResponse200AiConfig
192
201
  from ..models.get_settings_response_200_default_scripts import GetSettingsResponse200DefaultScripts
193
202
  from ..models.get_settings_response_200_deploy_ui import GetSettingsResponse200DeployUi
203
+ from ..models.get_settings_response_200_ducklake import GetSettingsResponse200Ducklake
194
204
  from ..models.get_settings_response_200_error_handler_extra_args import (
195
205
  GetSettingsResponse200ErrorHandlerExtraArgs,
196
206
  )
@@ -252,6 +262,13 @@ class GetSettingsResponse200:
252
262
  else:
253
263
  large_file_storage = GetSettingsResponse200LargeFileStorage.from_dict(_large_file_storage)
254
264
 
265
+ _ducklake = d.pop("ducklake", UNSET)
266
+ ducklake: Union[Unset, GetSettingsResponse200Ducklake]
267
+ if isinstance(_ducklake, Unset):
268
+ ducklake = UNSET
269
+ else:
270
+ ducklake = GetSettingsResponse200Ducklake.from_dict(_ducklake)
271
+
255
272
  _git_sync = d.pop("git_sync", UNSET)
256
273
  git_sync: Union[Unset, GetSettingsResponse200GitSync]
257
274
  if isinstance(_git_sync, Unset):
@@ -308,6 +325,7 @@ class GetSettingsResponse200:
308
325
  error_handler=error_handler,
309
326
  error_handler_extra_args=error_handler_extra_args,
310
327
  large_file_storage=large_file_storage,
328
+ ducklake=ducklake,
311
329
  git_sync=git_sync,
312
330
  deploy_ui=deploy_ui,
313
331
  default_app=default_app,
@@ -0,0 +1,64 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.get_settings_response_200_ducklake_ducklakes import GetSettingsResponse200DucklakeDucklakes
8
+
9
+
10
+ T = TypeVar("T", bound="GetSettingsResponse200Ducklake")
11
+
12
+
13
+ @_attrs_define
14
+ class GetSettingsResponse200Ducklake:
15
+ """
16
+ Attributes:
17
+ ducklakes (GetSettingsResponse200DucklakeDucklakes):
18
+ """
19
+
20
+ ducklakes: "GetSettingsResponse200DucklakeDucklakes"
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ ducklakes = self.ducklakes.to_dict()
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ field_dict.update(self.additional_properties)
28
+ field_dict.update(
29
+ {
30
+ "ducklakes": ducklakes,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ from ..models.get_settings_response_200_ducklake_ducklakes import GetSettingsResponse200DucklakeDucklakes
39
+
40
+ d = src_dict.copy()
41
+ ducklakes = GetSettingsResponse200DucklakeDucklakes.from_dict(d.pop("ducklakes"))
42
+
43
+ get_settings_response_200_ducklake = cls(
44
+ ducklakes=ducklakes,
45
+ )
46
+
47
+ get_settings_response_200_ducklake.additional_properties = d
48
+ return get_settings_response_200_ducklake
49
+
50
+ @property
51
+ def additional_keys(self) -> List[str]:
52
+ return list(self.additional_properties.keys())
53
+
54
+ def __getitem__(self, key: str) -> Any:
55
+ return self.additional_properties[key]
56
+
57
+ def __setitem__(self, key: str, value: Any) -> None:
58
+ self.additional_properties[key] = value
59
+
60
+ def __delitem__(self, key: str) -> None:
61
+ del self.additional_properties[key]
62
+
63
+ def __contains__(self, key: str) -> bool:
64
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property import (
8
+ GetSettingsResponse200DucklakeDucklakesAdditionalProperty,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="GetSettingsResponse200DucklakeDucklakes")
13
+
14
+
15
+ @_attrs_define
16
+ class GetSettingsResponse200DucklakeDucklakes:
17
+ """ """
18
+
19
+ additional_properties: Dict[str, "GetSettingsResponse200DucklakeDucklakesAdditionalProperty"] = _attrs_field(
20
+ init=False, factory=dict
21
+ )
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ pass
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ for prop_name, prop in self.additional_properties.items():
28
+ field_dict[prop_name] = prop.to_dict()
29
+
30
+ field_dict.update({})
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
36
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property import (
37
+ GetSettingsResponse200DucklakeDucklakesAdditionalProperty,
38
+ )
39
+
40
+ d = src_dict.copy()
41
+ get_settings_response_200_ducklake_ducklakes = cls()
42
+
43
+ additional_properties = {}
44
+ for prop_name, prop_dict in d.items():
45
+ additional_property = GetSettingsResponse200DucklakeDucklakesAdditionalProperty.from_dict(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ get_settings_response_200_ducklake_ducklakes.additional_properties = additional_properties
50
+ return get_settings_response_200_ducklake_ducklakes
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> "GetSettingsResponse200DucklakeDucklakesAdditionalProperty":
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: "GetSettingsResponse200DucklakeDucklakesAdditionalProperty") -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,82 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property_catalog import (
8
+ GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog,
9
+ )
10
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property_storage import (
11
+ GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage,
12
+ )
13
+
14
+
15
+ T = TypeVar("T", bound="GetSettingsResponse200DucklakeDucklakesAdditionalProperty")
16
+
17
+
18
+ @_attrs_define
19
+ class GetSettingsResponse200DucklakeDucklakesAdditionalProperty:
20
+ """
21
+ Attributes:
22
+ catalog (GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog):
23
+ storage (GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage):
24
+ """
25
+
26
+ catalog: "GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog"
27
+ storage: "GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage"
28
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
+
30
+ def to_dict(self) -> Dict[str, Any]:
31
+ catalog = self.catalog.to_dict()
32
+
33
+ storage = self.storage.to_dict()
34
+
35
+ field_dict: Dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "catalog": catalog,
40
+ "storage": storage,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property_catalog import (
49
+ GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog,
50
+ )
51
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property_storage import (
52
+ GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage,
53
+ )
54
+
55
+ d = src_dict.copy()
56
+ catalog = GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog.from_dict(d.pop("catalog"))
57
+
58
+ storage = GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage.from_dict(d.pop("storage"))
59
+
60
+ get_settings_response_200_ducklake_ducklakes_additional_property = cls(
61
+ catalog=catalog,
62
+ storage=storage,
63
+ )
64
+
65
+ get_settings_response_200_ducklake_ducklakes_additional_property.additional_properties = d
66
+ return get_settings_response_200_ducklake_ducklakes_additional_property
67
+
68
+ @property
69
+ def additional_keys(self) -> List[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.get_settings_response_200_ducklake_ducklakes_additional_property_catalog_resource_type import (
7
+ GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalogResourceType,
8
+ )
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog")
12
+
13
+
14
+ @_attrs_define
15
+ class GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalog:
16
+ """
17
+ Attributes:
18
+ resource_type (GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalogResourceType):
19
+ resource_path (Union[Unset, str]):
20
+ """
21
+
22
+ resource_type: GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalogResourceType
23
+ resource_path: Union[Unset, str] = UNSET
24
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ resource_type = self.resource_type.value
28
+
29
+ resource_path = self.resource_path
30
+
31
+ field_dict: Dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "resource_type": resource_type,
36
+ }
37
+ )
38
+ if resource_path is not UNSET:
39
+ field_dict["resource_path"] = resource_path
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45
+ d = src_dict.copy()
46
+ resource_type = GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalogResourceType(
47
+ d.pop("resource_type")
48
+ )
49
+
50
+ resource_path = d.pop("resource_path", UNSET)
51
+
52
+ get_settings_response_200_ducklake_ducklakes_additional_property_catalog = cls(
53
+ resource_type=resource_type,
54
+ resource_path=resource_path,
55
+ )
56
+
57
+ get_settings_response_200_ducklake_ducklakes_additional_property_catalog.additional_properties = d
58
+ return get_settings_response_200_ducklake_ducklakes_additional_property_catalog
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetSettingsResponse200DucklakeDucklakesAdditionalPropertyCatalogResourceType(str, Enum):
5
+ INSTANCE = "instance"
6
+ MYSQL = "mysql"
7
+ POSTGRESQL = "postgresql"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,68 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage")
9
+
10
+
11
+ @_attrs_define
12
+ class GetSettingsResponse200DucklakeDucklakesAdditionalPropertyStorage:
13
+ """
14
+ Attributes:
15
+ path (str):
16
+ storage (Union[Unset, str]):
17
+ """
18
+
19
+ path: str
20
+ storage: Union[Unset, str] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ path = self.path
25
+ storage = self.storage
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "path": path,
32
+ }
33
+ )
34
+ if storage is not UNSET:
35
+ field_dict["storage"] = storage
36
+
37
+ return field_dict
38
+
39
+ @classmethod
40
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
41
+ d = src_dict.copy()
42
+ path = d.pop("path")
43
+
44
+ storage = d.pop("storage", UNSET)
45
+
46
+ get_settings_response_200_ducklake_ducklakes_additional_property_storage = cls(
47
+ path=path,
48
+ storage=storage,
49
+ )
50
+
51
+ get_settings_response_200_ducklake_ducklakes_additional_property_storage.additional_properties = d
52
+ return get_settings_response_200_ducklake_ducklakes_additional_property_storage
53
+
54
+ @property
55
+ def additional_keys(self) -> List[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Any) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties