windmill-api 1.518.2__py3-none-any.whl → 1.519.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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.1.dist-info}/METADATA +1 -1
  40. {windmill_api-1.518.2.dist-info → windmill_api-1.519.1.dist-info}/RECORD +42 -19
  41. {windmill_api-1.518.2.dist-info → windmill_api-1.519.1.dist-info}/LICENSE +0 -0
  42. {windmill_api-1.518.2.dist-info → windmill_api-1.519.1.dist-info}/WHEEL +0 -0
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class CreateScriptJsonBodyAssetsItemKind(str, Enum):
5
+ DUCKLAKE = "ducklake"
5
6
  RESOURCE = "resource"
6
7
  S3OBJECT = "s3object"
7
8
 
@@ -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.ducklake_settings_ducklakes import DucklakeSettingsDucklakes
8
+
9
+
10
+ T = TypeVar("T", bound="DucklakeSettings")
11
+
12
+
13
+ @_attrs_define
14
+ class DucklakeSettings:
15
+ """
16
+ Attributes:
17
+ ducklakes (DucklakeSettingsDucklakes):
18
+ """
19
+
20
+ ducklakes: "DucklakeSettingsDucklakes"
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.ducklake_settings_ducklakes import DucklakeSettingsDucklakes
39
+
40
+ d = src_dict.copy()
41
+ ducklakes = DucklakeSettingsDucklakes.from_dict(d.pop("ducklakes"))
42
+
43
+ ducklake_settings = cls(
44
+ ducklakes=ducklakes,
45
+ )
46
+
47
+ ducklake_settings.additional_properties = d
48
+ return ducklake_settings
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,62 @@
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.ducklake_settings_ducklakes_additional_property import DucklakeSettingsDucklakesAdditionalProperty
8
+
9
+
10
+ T = TypeVar("T", bound="DucklakeSettingsDucklakes")
11
+
12
+
13
+ @_attrs_define
14
+ class DucklakeSettingsDucklakes:
15
+ """ """
16
+
17
+ additional_properties: Dict[str, "DucklakeSettingsDucklakesAdditionalProperty"] = _attrs_field(
18
+ init=False, factory=dict
19
+ )
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ pass
23
+
24
+ field_dict: Dict[str, Any] = {}
25
+ for prop_name, prop in self.additional_properties.items():
26
+ field_dict[prop_name] = prop.to_dict()
27
+
28
+ field_dict.update({})
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ from ..models.ducklake_settings_ducklakes_additional_property import DucklakeSettingsDucklakesAdditionalProperty
35
+
36
+ d = src_dict.copy()
37
+ ducklake_settings_ducklakes = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+ additional_property = DucklakeSettingsDucklakesAdditionalProperty.from_dict(prop_dict)
42
+
43
+ additional_properties[prop_name] = additional_property
44
+
45
+ ducklake_settings_ducklakes.additional_properties = additional_properties
46
+ return ducklake_settings_ducklakes
47
+
48
+ @property
49
+ def additional_keys(self) -> List[str]:
50
+ return list(self.additional_properties.keys())
51
+
52
+ def __getitem__(self, key: str) -> "DucklakeSettingsDucklakesAdditionalProperty":
53
+ return self.additional_properties[key]
54
+
55
+ def __setitem__(self, key: str, value: "DucklakeSettingsDucklakesAdditionalProperty") -> None:
56
+ self.additional_properties[key] = value
57
+
58
+ def __delitem__(self, key: str) -> None:
59
+ del self.additional_properties[key]
60
+
61
+ def __contains__(self, key: str) -> bool:
62
+ 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.ducklake_settings_ducklakes_additional_property_catalog import (
8
+ DucklakeSettingsDucklakesAdditionalPropertyCatalog,
9
+ )
10
+ from ..models.ducklake_settings_ducklakes_additional_property_storage import (
11
+ DucklakeSettingsDucklakesAdditionalPropertyStorage,
12
+ )
13
+
14
+
15
+ T = TypeVar("T", bound="DucklakeSettingsDucklakesAdditionalProperty")
16
+
17
+
18
+ @_attrs_define
19
+ class DucklakeSettingsDucklakesAdditionalProperty:
20
+ """
21
+ Attributes:
22
+ catalog (DucklakeSettingsDucklakesAdditionalPropertyCatalog):
23
+ storage (DucklakeSettingsDucklakesAdditionalPropertyStorage):
24
+ """
25
+
26
+ catalog: "DucklakeSettingsDucklakesAdditionalPropertyCatalog"
27
+ storage: "DucklakeSettingsDucklakesAdditionalPropertyStorage"
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.ducklake_settings_ducklakes_additional_property_catalog import (
49
+ DucklakeSettingsDucklakesAdditionalPropertyCatalog,
50
+ )
51
+ from ..models.ducklake_settings_ducklakes_additional_property_storage import (
52
+ DucklakeSettingsDucklakesAdditionalPropertyStorage,
53
+ )
54
+
55
+ d = src_dict.copy()
56
+ catalog = DucklakeSettingsDucklakesAdditionalPropertyCatalog.from_dict(d.pop("catalog"))
57
+
58
+ storage = DucklakeSettingsDucklakesAdditionalPropertyStorage.from_dict(d.pop("storage"))
59
+
60
+ ducklake_settings_ducklakes_additional_property = cls(
61
+ catalog=catalog,
62
+ storage=storage,
63
+ )
64
+
65
+ ducklake_settings_ducklakes_additional_property.additional_properties = d
66
+ return ducklake_settings_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,72 @@
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.ducklake_settings_ducklakes_additional_property_catalog_resource_type import (
7
+ DucklakeSettingsDucklakesAdditionalPropertyCatalogResourceType,
8
+ )
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="DucklakeSettingsDucklakesAdditionalPropertyCatalog")
12
+
13
+
14
+ @_attrs_define
15
+ class DucklakeSettingsDucklakesAdditionalPropertyCatalog:
16
+ """
17
+ Attributes:
18
+ resource_type (DucklakeSettingsDucklakesAdditionalPropertyCatalogResourceType):
19
+ resource_path (Union[Unset, str]):
20
+ """
21
+
22
+ resource_type: DucklakeSettingsDucklakesAdditionalPropertyCatalogResourceType
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 = DucklakeSettingsDucklakesAdditionalPropertyCatalogResourceType(d.pop("resource_type"))
47
+
48
+ resource_path = d.pop("resource_path", UNSET)
49
+
50
+ ducklake_settings_ducklakes_additional_property_catalog = cls(
51
+ resource_type=resource_type,
52
+ resource_path=resource_path,
53
+ )
54
+
55
+ ducklake_settings_ducklakes_additional_property_catalog.additional_properties = d
56
+ return ducklake_settings_ducklakes_additional_property_catalog
57
+
58
+ @property
59
+ def additional_keys(self) -> List[str]:
60
+ return list(self.additional_properties.keys())
61
+
62
+ def __getitem__(self, key: str) -> Any:
63
+ return self.additional_properties[key]
64
+
65
+ def __setitem__(self, key: str, value: Any) -> None:
66
+ self.additional_properties[key] = value
67
+
68
+ def __delitem__(self, key: str) -> None:
69
+ del self.additional_properties[key]
70
+
71
+ def __contains__(self, key: str) -> bool:
72
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class DucklakeSettingsDucklakesAdditionalPropertyCatalogResourceType(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="DucklakeSettingsDucklakesAdditionalPropertyStorage")
9
+
10
+
11
+ @_attrs_define
12
+ class DucklakeSettingsDucklakesAdditionalPropertyStorage:
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
+ ducklake_settings_ducklakes_additional_property_storage = cls(
47
+ path=path,
48
+ storage=storage,
49
+ )
50
+
51
+ ducklake_settings_ducklakes_additional_property_storage.additional_properties = d
52
+ return ducklake_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
@@ -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.edit_ducklake_config_json_body_settings import EditDucklakeConfigJsonBodySettings
8
+
9
+
10
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBody")
11
+
12
+
13
+ @_attrs_define
14
+ class EditDucklakeConfigJsonBody:
15
+ """
16
+ Attributes:
17
+ settings (EditDucklakeConfigJsonBodySettings):
18
+ """
19
+
20
+ settings: "EditDucklakeConfigJsonBodySettings"
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ settings = self.settings.to_dict()
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ field_dict.update(self.additional_properties)
28
+ field_dict.update(
29
+ {
30
+ "settings": settings,
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.edit_ducklake_config_json_body_settings import EditDucklakeConfigJsonBodySettings
39
+
40
+ d = src_dict.copy()
41
+ settings = EditDucklakeConfigJsonBodySettings.from_dict(d.pop("settings"))
42
+
43
+ edit_ducklake_config_json_body = cls(
44
+ settings=settings,
45
+ )
46
+
47
+ edit_ducklake_config_json_body.additional_properties = d
48
+ return edit_ducklake_config_json_body
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.edit_ducklake_config_json_body_settings_ducklakes import EditDucklakeConfigJsonBodySettingsDucklakes
8
+
9
+
10
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBodySettings")
11
+
12
+
13
+ @_attrs_define
14
+ class EditDucklakeConfigJsonBodySettings:
15
+ """
16
+ Attributes:
17
+ ducklakes (EditDucklakeConfigJsonBodySettingsDucklakes):
18
+ """
19
+
20
+ ducklakes: "EditDucklakeConfigJsonBodySettingsDucklakes"
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.edit_ducklake_config_json_body_settings_ducklakes import (
39
+ EditDucklakeConfigJsonBodySettingsDucklakes,
40
+ )
41
+
42
+ d = src_dict.copy()
43
+ ducklakes = EditDucklakeConfigJsonBodySettingsDucklakes.from_dict(d.pop("ducklakes"))
44
+
45
+ edit_ducklake_config_json_body_settings = cls(
46
+ ducklakes=ducklakes,
47
+ )
48
+
49
+ edit_ducklake_config_json_body_settings.additional_properties = d
50
+ return edit_ducklake_config_json_body_settings
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> Any:
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: Any) -> 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,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.edit_ducklake_config_json_body_settings_ducklakes_additional_property import (
8
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBodySettingsDucklakes")
13
+
14
+
15
+ @_attrs_define
16
+ class EditDucklakeConfigJsonBodySettingsDucklakes:
17
+ """ """
18
+
19
+ additional_properties: Dict[str, "EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty"] = _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.edit_ducklake_config_json_body_settings_ducklakes_additional_property import (
37
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty,
38
+ )
39
+
40
+ d = src_dict.copy()
41
+ edit_ducklake_config_json_body_settings_ducklakes = cls()
42
+
43
+ additional_properties = {}
44
+ for prop_name, prop_dict in d.items():
45
+ additional_property = EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty.from_dict(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ edit_ducklake_config_json_body_settings_ducklakes.additional_properties = additional_properties
50
+ return edit_ducklake_config_json_body_settings_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) -> "EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty":
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: "EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty") -> 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.edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog import (
8
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog,
9
+ )
10
+ from ..models.edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage import (
11
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage,
12
+ )
13
+
14
+
15
+ T = TypeVar("T", bound="EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty")
16
+
17
+
18
+ @_attrs_define
19
+ class EditDucklakeConfigJsonBodySettingsDucklakesAdditionalProperty:
20
+ """
21
+ Attributes:
22
+ catalog (EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog):
23
+ storage (EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage):
24
+ """
25
+
26
+ catalog: "EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog"
27
+ storage: "EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage"
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.edit_ducklake_config_json_body_settings_ducklakes_additional_property_catalog import (
49
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog,
50
+ )
51
+ from ..models.edit_ducklake_config_json_body_settings_ducklakes_additional_property_storage import (
52
+ EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage,
53
+ )
54
+
55
+ d = src_dict.copy()
56
+ catalog = EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyCatalog.from_dict(d.pop("catalog"))
57
+
58
+ storage = EditDucklakeConfigJsonBodySettingsDucklakesAdditionalPropertyStorage.from_dict(d.pop("storage"))
59
+
60
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property = cls(
61
+ catalog=catalog,
62
+ storage=storage,
63
+ )
64
+
65
+ edit_ducklake_config_json_body_settings_ducklakes_additional_property.additional_properties = d
66
+ return edit_ducklake_config_json_body_settings_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