windmill-api 1.555.2__py3-none-any.whl → 1.556.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 (76) hide show
  1. windmill_api/api/setting/{databases_exist.py → get_ducklake_instance_catalog_db_status.py} +25 -48
  2. windmill_api/api/setting/setup_ducklake_catalog_db.py +152 -0
  3. windmill_api/models/completed_job_job_kind.py +1 -1
  4. windmill_api/models/create_schedule_json_body.py +9 -0
  5. windmill_api/models/delete_completed_job_response_200_job_kind.py +1 -1
  6. windmill_api/models/ducklake_instance_catalog_db_status_logs_created_database.py +10 -0
  7. windmill_api/models/ducklake_instance_catalog_db_status_logs_database_credentials.py +10 -0
  8. windmill_api/models/ducklake_instance_catalog_db_status_logs_db_connect.py +10 -0
  9. windmill_api/models/ducklake_instance_catalog_db_status_logs_grant_permissions.py +10 -0
  10. windmill_api/models/ducklake_instance_catalog_db_status_logs_super_admin.py +10 -0
  11. windmill_api/models/ducklake_instance_catalog_db_status_logs_valid_dbname.py +10 -0
  12. windmill_api/models/edit_schedule.py +9 -0
  13. windmill_api/models/extended_jobs_jobs_item_type_0_job_kind.py +1 -1
  14. windmill_api/models/extended_jobs_jobs_item_type_1_job_kind.py +1 -1
  15. windmill_api/models/flow_module_value_2_type_3_parallelism_type_0.py +67 -0
  16. windmill_api/models/flow_module_value_2_type_3_parallelism_type_0_type.py +8 -0
  17. windmill_api/models/flow_module_value_2_type_3_parallelism_type_1.py +67 -0
  18. windmill_api/models/flow_module_value_2_type_3_parallelism_type_1_type.py +8 -0
  19. windmill_api/models/flow_module_value_2_type_4_parallelism_type_0.py +67 -0
  20. windmill_api/models/flow_module_value_2_type_4_parallelism_type_0_type.py +8 -0
  21. windmill_api/models/flow_module_value_2_type_4_parallelism_type_1.py +67 -0
  22. windmill_api/models/flow_module_value_2_type_4_parallelism_type_1_type.py +8 -0
  23. windmill_api/models/forloop_flow.py +50 -4
  24. windmill_api/models/forloop_flow_parallelism_type_0.py +67 -0
  25. windmill_api/models/forloop_flow_parallelism_type_0_type.py +8 -0
  26. windmill_api/models/forloop_flow_parallelism_type_1.py +67 -0
  27. windmill_api/models/forloop_flow_parallelism_type_1_type.py +8 -0
  28. windmill_api/models/get_completed_job_response_200_job_kind.py +1 -1
  29. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200.py +66 -0
  30. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property.py +86 -0
  31. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs.py +187 -0
  32. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_created_database.py +10 -0
  33. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_database_credentials.py +10 -0
  34. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_db_connect.py +10 -0
  35. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_grant_permissions.py +10 -0
  36. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_super_admin.py +10 -0
  37. windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_valid_dbname.py +10 -0
  38. windmill_api/models/get_job_response_200_type_0_job_kind.py +1 -1
  39. windmill_api/models/get_job_response_200_type_1_job_kind.py +1 -1
  40. windmill_api/models/get_schedule_response_200.py +9 -0
  41. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_job_kind.py +1 -1
  42. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_job_kind.py +1 -1
  43. windmill_api/models/job_type_0_job_kind.py +1 -1
  44. windmill_api/models/job_type_1_job_kind.py +1 -1
  45. windmill_api/models/list_completed_jobs_response_200_item_job_kind.py +1 -1
  46. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_job_kind.py +1 -1
  47. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_job_kind.py +1 -1
  48. windmill_api/models/list_jobs_response_200_item_type_0_job_kind.py +1 -1
  49. windmill_api/models/list_jobs_response_200_item_type_1_job_kind.py +1 -1
  50. windmill_api/models/list_queue_response_200_item_job_kind.py +1 -1
  51. windmill_api/models/list_schedules_response_200_item.py +9 -0
  52. windmill_api/models/list_schedules_with_jobs_response_200_item.py +9 -0
  53. windmill_api/models/logged_wizard_status.py +10 -0
  54. windmill_api/models/new_schedule.py +9 -0
  55. windmill_api/models/queued_job_job_kind.py +1 -1
  56. windmill_api/models/schedule.py +9 -0
  57. windmill_api/models/schedule_w_jobs.py +9 -0
  58. windmill_api/models/setup_ducklake_catalog_db_response_200.py +82 -0
  59. windmill_api/models/setup_ducklake_catalog_db_response_200_logs.py +164 -0
  60. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_created_database.py +10 -0
  61. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_database_credentials.py +10 -0
  62. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_db_connect.py +10 -0
  63. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_grant_permissions.py +10 -0
  64. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_super_admin.py +10 -0
  65. windmill_api/models/setup_ducklake_catalog_db_response_200_logs_valid_dbname.py +10 -0
  66. windmill_api/models/update_schedule_json_body.py +9 -0
  67. windmill_api/models/whileloop_flow.py +51 -4
  68. windmill_api/models/whileloop_flow_parallelism_type_0.py +67 -0
  69. windmill_api/models/whileloop_flow_parallelism_type_0_type.py +8 -0
  70. windmill_api/models/whileloop_flow_parallelism_type_1.py +67 -0
  71. windmill_api/models/whileloop_flow_parallelism_type_1_type.py +8 -0
  72. {windmill_api-1.555.2.dist-info → windmill_api-1.556.0.dist-info}/METADATA +1 -1
  73. {windmill_api-1.555.2.dist-info → windmill_api-1.556.0.dist-info}/RECORD +75 -35
  74. windmill_api/api/setting/create_ducklake_database.py +0 -95
  75. {windmill_api-1.555.2.dist-info → windmill_api-1.556.0.dist-info}/LICENSE +0 -0
  76. {windmill_api-1.555.2.dist-info → windmill_api-1.556.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,67 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.flow_module_value_2_type_4_parallelism_type_0_type import FlowModuleValue2Type4ParallelismType0Type
7
+
8
+ T = TypeVar("T", bound="FlowModuleValue2Type4ParallelismType0")
9
+
10
+
11
+ @_attrs_define
12
+ class FlowModuleValue2Type4ParallelismType0:
13
+ """
14
+ Attributes:
15
+ value (Any):
16
+ type (FlowModuleValue2Type4ParallelismType0Type):
17
+ """
18
+
19
+ value: Any
20
+ type: FlowModuleValue2Type4ParallelismType0Type
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ value = self.value
25
+ type = self.type.value
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "value": value,
32
+ "type": type,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ value = d.pop("value")
42
+
43
+ type = FlowModuleValue2Type4ParallelismType0Type(d.pop("type"))
44
+
45
+ flow_module_value_2_type_4_parallelism_type_0 = cls(
46
+ value=value,
47
+ type=type,
48
+ )
49
+
50
+ flow_module_value_2_type_4_parallelism_type_0.additional_properties = d
51
+ return flow_module_value_2_type_4_parallelism_type_0
52
+
53
+ @property
54
+ def additional_keys(self) -> List[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class FlowModuleValue2Type4ParallelismType0Type(str, Enum):
5
+ STATIC = "static"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,67 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.flow_module_value_2_type_4_parallelism_type_1_type import FlowModuleValue2Type4ParallelismType1Type
7
+
8
+ T = TypeVar("T", bound="FlowModuleValue2Type4ParallelismType1")
9
+
10
+
11
+ @_attrs_define
12
+ class FlowModuleValue2Type4ParallelismType1:
13
+ """
14
+ Attributes:
15
+ expr (str):
16
+ type (FlowModuleValue2Type4ParallelismType1Type):
17
+ """
18
+
19
+ expr: str
20
+ type: FlowModuleValue2Type4ParallelismType1Type
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ expr = self.expr
25
+ type = self.type.value
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "expr": expr,
32
+ "type": type,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ expr = d.pop("expr")
42
+
43
+ type = FlowModuleValue2Type4ParallelismType1Type(d.pop("type"))
44
+
45
+ flow_module_value_2_type_4_parallelism_type_1 = cls(
46
+ expr=expr,
47
+ type=type,
48
+ )
49
+
50
+ flow_module_value_2_type_4_parallelism_type_1.additional_properties = d
51
+ return flow_module_value_2_type_4_parallelism_type_1
52
+
53
+ @property
54
+ def additional_keys(self) -> List[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class FlowModuleValue2Type4ParallelismType1Type(str, Enum):
5
+ JAVASCRIPT = "javascript"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -10,6 +10,8 @@ if TYPE_CHECKING:
10
10
  from ..models.forloop_flow_iterator_type_0 import ForloopFlowIteratorType0
11
11
  from ..models.forloop_flow_iterator_type_1 import ForloopFlowIteratorType1
12
12
  from ..models.forloop_flow_modules_item import ForloopFlowModulesItem
13
+ from ..models.forloop_flow_parallelism_type_0 import ForloopFlowParallelismType0
14
+ from ..models.forloop_flow_parallelism_type_1 import ForloopFlowParallelismType1
13
15
 
14
16
 
15
17
  T = TypeVar("T", bound="ForloopFlow")
@@ -24,7 +26,7 @@ class ForloopFlow:
24
26
  skip_failures (bool):
25
27
  type (ForloopFlowType):
26
28
  parallel (Union[Unset, bool]):
27
- parallelism (Union[Unset, int]):
29
+ parallelism (Union['ForloopFlowParallelismType0', 'ForloopFlowParallelismType1', Unset]):
28
30
  """
29
31
 
30
32
  modules: List["ForloopFlowModulesItem"]
@@ -32,11 +34,12 @@ class ForloopFlow:
32
34
  skip_failures: bool
33
35
  type: ForloopFlowType
34
36
  parallel: Union[Unset, bool] = UNSET
35
- parallelism: Union[Unset, int] = UNSET
37
+ parallelism: Union["ForloopFlowParallelismType0", "ForloopFlowParallelismType1", Unset] = UNSET
36
38
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
37
39
 
38
40
  def to_dict(self) -> Dict[str, Any]:
39
41
  from ..models.forloop_flow_iterator_type_0 import ForloopFlowIteratorType0
42
+ from ..models.forloop_flow_parallelism_type_0 import ForloopFlowParallelismType0
40
43
 
41
44
  modules = []
42
45
  for modules_item_data in self.modules:
@@ -56,7 +59,19 @@ class ForloopFlow:
56
59
  type = self.type.value
57
60
 
58
61
  parallel = self.parallel
59
- parallelism = self.parallelism
62
+ parallelism: Union[Dict[str, Any], Unset]
63
+ if isinstance(self.parallelism, Unset):
64
+ parallelism = UNSET
65
+
66
+ elif isinstance(self.parallelism, ForloopFlowParallelismType0):
67
+ parallelism = UNSET
68
+ if not isinstance(self.parallelism, Unset):
69
+ parallelism = self.parallelism.to_dict()
70
+
71
+ else:
72
+ parallelism = UNSET
73
+ if not isinstance(self.parallelism, Unset):
74
+ parallelism = self.parallelism.to_dict()
60
75
 
61
76
  field_dict: Dict[str, Any] = {}
62
77
  field_dict.update(self.additional_properties)
@@ -80,6 +95,8 @@ class ForloopFlow:
80
95
  from ..models.forloop_flow_iterator_type_0 import ForloopFlowIteratorType0
81
96
  from ..models.forloop_flow_iterator_type_1 import ForloopFlowIteratorType1
82
97
  from ..models.forloop_flow_modules_item import ForloopFlowModulesItem
98
+ from ..models.forloop_flow_parallelism_type_0 import ForloopFlowParallelismType0
99
+ from ..models.forloop_flow_parallelism_type_1 import ForloopFlowParallelismType1
83
100
 
84
101
  d = src_dict.copy()
85
102
  modules = []
@@ -112,7 +129,36 @@ class ForloopFlow:
112
129
 
113
130
  parallel = d.pop("parallel", UNSET)
114
131
 
115
- parallelism = d.pop("parallelism", UNSET)
132
+ def _parse_parallelism(
133
+ data: object,
134
+ ) -> Union["ForloopFlowParallelismType0", "ForloopFlowParallelismType1", Unset]:
135
+ if isinstance(data, Unset):
136
+ return data
137
+ try:
138
+ if not isinstance(data, dict):
139
+ raise TypeError()
140
+ _parallelism_type_0 = data
141
+ parallelism_type_0: Union[Unset, ForloopFlowParallelismType0]
142
+ if isinstance(_parallelism_type_0, Unset):
143
+ parallelism_type_0 = UNSET
144
+ else:
145
+ parallelism_type_0 = ForloopFlowParallelismType0.from_dict(_parallelism_type_0)
146
+
147
+ return parallelism_type_0
148
+ except: # noqa: E722
149
+ pass
150
+ if not isinstance(data, dict):
151
+ raise TypeError()
152
+ _parallelism_type_1 = data
153
+ parallelism_type_1: Union[Unset, ForloopFlowParallelismType1]
154
+ if isinstance(_parallelism_type_1, Unset):
155
+ parallelism_type_1 = UNSET
156
+ else:
157
+ parallelism_type_1 = ForloopFlowParallelismType1.from_dict(_parallelism_type_1)
158
+
159
+ return parallelism_type_1
160
+
161
+ parallelism = _parse_parallelism(d.pop("parallelism", UNSET))
116
162
 
117
163
  forloop_flow = cls(
118
164
  modules=modules,
@@ -0,0 +1,67 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.forloop_flow_parallelism_type_0_type import ForloopFlowParallelismType0Type
7
+
8
+ T = TypeVar("T", bound="ForloopFlowParallelismType0")
9
+
10
+
11
+ @_attrs_define
12
+ class ForloopFlowParallelismType0:
13
+ """
14
+ Attributes:
15
+ value (Any):
16
+ type (ForloopFlowParallelismType0Type):
17
+ """
18
+
19
+ value: Any
20
+ type: ForloopFlowParallelismType0Type
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ value = self.value
25
+ type = self.type.value
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "value": value,
32
+ "type": type,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ value = d.pop("value")
42
+
43
+ type = ForloopFlowParallelismType0Type(d.pop("type"))
44
+
45
+ forloop_flow_parallelism_type_0 = cls(
46
+ value=value,
47
+ type=type,
48
+ )
49
+
50
+ forloop_flow_parallelism_type_0.additional_properties = d
51
+ return forloop_flow_parallelism_type_0
52
+
53
+ @property
54
+ def additional_keys(self) -> List[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ForloopFlowParallelismType0Type(str, Enum):
5
+ STATIC = "static"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,67 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.forloop_flow_parallelism_type_1_type import ForloopFlowParallelismType1Type
7
+
8
+ T = TypeVar("T", bound="ForloopFlowParallelismType1")
9
+
10
+
11
+ @_attrs_define
12
+ class ForloopFlowParallelismType1:
13
+ """
14
+ Attributes:
15
+ expr (str):
16
+ type (ForloopFlowParallelismType1Type):
17
+ """
18
+
19
+ expr: str
20
+ type: ForloopFlowParallelismType1Type
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ expr = self.expr
25
+ type = self.type.value
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "expr": expr,
32
+ "type": type,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ expr = d.pop("expr")
42
+
43
+ type = ForloopFlowParallelismType1Type(d.pop("type"))
44
+
45
+ forloop_flow_parallelism_type_1 = cls(
46
+ expr=expr,
47
+ type=type,
48
+ )
49
+
50
+ forloop_flow_parallelism_type_1.additional_properties = d
51
+ return forloop_flow_parallelism_type_1
52
+
53
+ @property
54
+ def additional_keys(self) -> List[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ForloopFlowParallelismType1Type(str, Enum):
5
+ JAVASCRIPT = "javascript"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -16,7 +16,7 @@ class GetCompletedJobResponse200JobKind(str, Enum):
16
16
  PREVIEW = "preview"
17
17
  SCRIPT = "script"
18
18
  SCRIPT_HUB = "script_hub"
19
- SINGLESCRIPTFLOW = "singlescriptflow"
19
+ SINGLESTEPFLOW = "singlestepflow"
20
20
 
21
21
  def __str__(self) -> str:
22
22
  return str(self.value)
@@ -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_ducklake_instance_catalog_db_status_response_200_additional_property import (
8
+ GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="GetDucklakeInstanceCatalogDbStatusResponse200")
13
+
14
+
15
+ @_attrs_define
16
+ class GetDucklakeInstanceCatalogDbStatusResponse200:
17
+ """ """
18
+
19
+ additional_properties: Dict[str, "GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty"] = _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_ducklake_instance_catalog_db_status_response_200_additional_property import (
37
+ GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty,
38
+ )
39
+
40
+ d = src_dict.copy()
41
+ get_ducklake_instance_catalog_db_status_response_200 = cls()
42
+
43
+ additional_properties = {}
44
+ for prop_name, prop_dict in d.items():
45
+ additional_property = GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty.from_dict(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ get_ducklake_instance_catalog_db_status_response_200.additional_properties = additional_properties
50
+ return get_ducklake_instance_catalog_db_status_response_200
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> "GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty":
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: "GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty") -> 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,86 @@
1
+ from typing import TYPE_CHECKING, 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
+ if TYPE_CHECKING:
9
+ from ..models.get_ducklake_instance_catalog_db_status_response_200_additional_property_logs import (
10
+ GetDucklakeInstanceCatalogDbStatusResponse200AdditionalPropertyLogs,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty")
15
+
16
+
17
+ @_attrs_define
18
+ class GetDucklakeInstanceCatalogDbStatusResponse200AdditionalProperty:
19
+ """
20
+ Attributes:
21
+ logs (GetDucklakeInstanceCatalogDbStatusResponse200AdditionalPropertyLogs):
22
+ success (bool): Whether the operation completed successfully Example: True.
23
+ error (Union[Unset, None, str]): Error message if the operation failed Example: Connection timeout.
24
+ """
25
+
26
+ logs: "GetDucklakeInstanceCatalogDbStatusResponse200AdditionalPropertyLogs"
27
+ success: bool
28
+ error: Union[Unset, None, str] = UNSET
29
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> Dict[str, Any]:
32
+ logs = self.logs.to_dict()
33
+
34
+ success = self.success
35
+ error = self.error
36
+
37
+ field_dict: Dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "logs": logs,
42
+ "success": success,
43
+ }
44
+ )
45
+ if error is not UNSET:
46
+ field_dict["error"] = error
47
+
48
+ return field_dict
49
+
50
+ @classmethod
51
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52
+ from ..models.get_ducklake_instance_catalog_db_status_response_200_additional_property_logs import (
53
+ GetDucklakeInstanceCatalogDbStatusResponse200AdditionalPropertyLogs,
54
+ )
55
+
56
+ d = src_dict.copy()
57
+ logs = GetDucklakeInstanceCatalogDbStatusResponse200AdditionalPropertyLogs.from_dict(d.pop("logs"))
58
+
59
+ success = d.pop("success")
60
+
61
+ error = d.pop("error", UNSET)
62
+
63
+ get_ducklake_instance_catalog_db_status_response_200_additional_property = cls(
64
+ logs=logs,
65
+ success=success,
66
+ error=error,
67
+ )
68
+
69
+ get_ducklake_instance_catalog_db_status_response_200_additional_property.additional_properties = d
70
+ return get_ducklake_instance_catalog_db_status_response_200_additional_property
71
+
72
+ @property
73
+ def additional_keys(self) -> List[str]:
74
+ return list(self.additional_properties.keys())
75
+
76
+ def __getitem__(self, key: str) -> Any:
77
+ return self.additional_properties[key]
78
+
79
+ def __setitem__(self, key: str, value: Any) -> None:
80
+ self.additional_properties[key] = value
81
+
82
+ def __delitem__(self, key: str) -> None:
83
+ del self.additional_properties[key]
84
+
85
+ def __contains__(self, key: str) -> bool:
86
+ return key in self.additional_properties