windmill-api 1.540.2__py3-none-any.whl → 1.541.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 (73) hide show
  1. windmill_api/api/email_trigger/__init__.py +0 -0
  2. windmill_api/api/email_trigger/create_email_trigger.py +105 -0
  3. windmill_api/api/email_trigger/delete_email_trigger.py +101 -0
  4. windmill_api/api/email_trigger/exists_email_local_part.py +164 -0
  5. windmill_api/api/email_trigger/exists_email_trigger.py +160 -0
  6. windmill_api/api/email_trigger/get_email_trigger.py +166 -0
  7. windmill_api/api/email_trigger/list_email_triggers.py +237 -0
  8. windmill_api/api/email_trigger/update_email_trigger.py +113 -0
  9. windmill_api/models/add_granular_acls_kind.py +1 -0
  10. windmill_api/models/capture_config_trigger_kind.py +1 -0
  11. windmill_api/models/capture_trigger_kind.py +1 -0
  12. windmill_api/models/create_email_trigger_json_body.py +139 -0
  13. windmill_api/models/create_email_trigger_json_body_error_handler_args.py +44 -0
  14. windmill_api/models/create_email_trigger_json_body_retry.py +107 -0
  15. windmill_api/models/create_email_trigger_json_body_retry_constant.py +66 -0
  16. windmill_api/models/create_email_trigger_json_body_retry_exponential.py +82 -0
  17. windmill_api/models/create_email_trigger_json_body_retry_retry_if.py +58 -0
  18. windmill_api/models/edit_email_trigger.py +137 -0
  19. windmill_api/models/edit_email_trigger_error_handler_args.py +44 -0
  20. windmill_api/models/edit_email_trigger_retry.py +107 -0
  21. windmill_api/models/edit_email_trigger_retry_constant.py +66 -0
  22. windmill_api/models/edit_email_trigger_retry_exponential.py +82 -0
  23. windmill_api/models/edit_email_trigger_retry_retry_if.py +58 -0
  24. windmill_api/models/email_trigger.py +177 -0
  25. windmill_api/models/email_trigger_error_handler_args.py +44 -0
  26. windmill_api/models/email_trigger_extra_perms.py +44 -0
  27. windmill_api/models/email_trigger_retry.py +107 -0
  28. windmill_api/models/email_trigger_retry_constant.py +66 -0
  29. windmill_api/models/email_trigger_retry_exponential.py +82 -0
  30. windmill_api/models/email_trigger_retry_retry_if.py +58 -0
  31. windmill_api/models/exists_email_local_part_json_body.py +76 -0
  32. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  33. windmill_api/models/get_capture_response_200_trigger_kind.py +1 -0
  34. windmill_api/models/get_email_trigger_response_200.py +180 -0
  35. windmill_api/models/get_email_trigger_response_200_error_handler_args.py +44 -0
  36. windmill_api/models/get_email_trigger_response_200_extra_perms.py +44 -0
  37. windmill_api/models/get_email_trigger_response_200_retry.py +107 -0
  38. windmill_api/models/get_email_trigger_response_200_retry_constant.py +66 -0
  39. windmill_api/models/get_email_trigger_response_200_retry_exponential.py +82 -0
  40. windmill_api/models/get_email_trigger_response_200_retry_retry_if.py +58 -0
  41. windmill_api/models/get_granular_acls_kind.py +1 -0
  42. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  43. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  44. windmill_api/models/get_used_triggers_response_200.py +7 -0
  45. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  46. windmill_api/models/list_captures_trigger_kind.py +1 -0
  47. windmill_api/models/list_email_triggers_response_200_item.py +184 -0
  48. windmill_api/models/list_email_triggers_response_200_item_error_handler_args.py +44 -0
  49. windmill_api/models/list_email_triggers_response_200_item_extra_perms.py +44 -0
  50. windmill_api/models/list_email_triggers_response_200_item_retry.py +119 -0
  51. windmill_api/models/list_email_triggers_response_200_item_retry_constant.py +66 -0
  52. windmill_api/models/list_email_triggers_response_200_item_retry_exponential.py +82 -0
  53. windmill_api/models/list_email_triggers_response_200_item_retry_retry_if.py +58 -0
  54. windmill_api/models/new_email_trigger.py +136 -0
  55. windmill_api/models/new_email_trigger_error_handler_args.py +44 -0
  56. windmill_api/models/new_email_trigger_retry.py +107 -0
  57. windmill_api/models/new_email_trigger_retry_constant.py +66 -0
  58. windmill_api/models/new_email_trigger_retry_exponential.py +82 -0
  59. windmill_api/models/new_email_trigger_retry_retry_if.py +58 -0
  60. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  61. windmill_api/models/remove_granular_acls_kind.py +1 -0
  62. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  63. windmill_api/models/triggers_count.py +8 -0
  64. windmill_api/models/update_email_trigger_json_body.py +140 -0
  65. windmill_api/models/update_email_trigger_json_body_error_handler_args.py +44 -0
  66. windmill_api/models/update_email_trigger_json_body_retry.py +107 -0
  67. windmill_api/models/update_email_trigger_json_body_retry_constant.py +66 -0
  68. windmill_api/models/update_email_trigger_json_body_retry_exponential.py +82 -0
  69. windmill_api/models/update_email_trigger_json_body_retry_retry_if.py +58 -0
  70. {windmill_api-1.540.2.dist-info → windmill_api-1.541.0.dist-info}/METADATA +1 -1
  71. {windmill_api-1.540.2.dist-info → windmill_api-1.541.0.dist-info}/RECORD +73 -19
  72. {windmill_api-1.540.2.dist-info → windmill_api-1.541.0.dist-info}/LICENSE +0 -0
  73. {windmill_api-1.540.2.dist-info → windmill_api-1.541.0.dist-info}/WHEEL +0 -0
@@ -23,6 +23,7 @@ class GetTriggersCountOfFlowResponse200:
23
23
  http_routes_count (Union[Unset, float]):
24
24
  webhook_count (Union[Unset, float]):
25
25
  email_count (Union[Unset, float]):
26
+ default_email_count (Union[Unset, float]):
26
27
  websocket_count (Union[Unset, float]):
27
28
  postgres_count (Union[Unset, float]):
28
29
  kafka_count (Union[Unset, float]):
@@ -37,6 +38,7 @@ class GetTriggersCountOfFlowResponse200:
37
38
  http_routes_count: Union[Unset, float] = UNSET
38
39
  webhook_count: Union[Unset, float] = UNSET
39
40
  email_count: Union[Unset, float] = UNSET
41
+ default_email_count: Union[Unset, float] = UNSET
40
42
  websocket_count: Union[Unset, float] = UNSET
41
43
  postgres_count: Union[Unset, float] = UNSET
42
44
  kafka_count: Union[Unset, float] = UNSET
@@ -55,6 +57,7 @@ class GetTriggersCountOfFlowResponse200:
55
57
  http_routes_count = self.http_routes_count
56
58
  webhook_count = self.webhook_count
57
59
  email_count = self.email_count
60
+ default_email_count = self.default_email_count
58
61
  websocket_count = self.websocket_count
59
62
  postgres_count = self.postgres_count
60
63
  kafka_count = self.kafka_count
@@ -76,6 +79,8 @@ class GetTriggersCountOfFlowResponse200:
76
79
  field_dict["webhook_count"] = webhook_count
77
80
  if email_count is not UNSET:
78
81
  field_dict["email_count"] = email_count
82
+ if default_email_count is not UNSET:
83
+ field_dict["default_email_count"] = default_email_count
79
84
  if websocket_count is not UNSET:
80
85
  field_dict["websocket_count"] = websocket_count
81
86
  if postgres_count is not UNSET:
@@ -115,6 +120,8 @@ class GetTriggersCountOfFlowResponse200:
115
120
 
116
121
  email_count = d.pop("email_count", UNSET)
117
122
 
123
+ default_email_count = d.pop("default_email_count", UNSET)
124
+
118
125
  websocket_count = d.pop("websocket_count", UNSET)
119
126
 
120
127
  postgres_count = d.pop("postgres_count", UNSET)
@@ -135,6 +142,7 @@ class GetTriggersCountOfFlowResponse200:
135
142
  http_routes_count=http_routes_count,
136
143
  webhook_count=webhook_count,
137
144
  email_count=email_count,
145
+ default_email_count=default_email_count,
138
146
  websocket_count=websocket_count,
139
147
  postgres_count=postgres_count,
140
148
  kafka_count=kafka_count,
@@ -23,6 +23,7 @@ class GetTriggersCountOfScriptResponse200:
23
23
  http_routes_count (Union[Unset, float]):
24
24
  webhook_count (Union[Unset, float]):
25
25
  email_count (Union[Unset, float]):
26
+ default_email_count (Union[Unset, float]):
26
27
  websocket_count (Union[Unset, float]):
27
28
  postgres_count (Union[Unset, float]):
28
29
  kafka_count (Union[Unset, float]):
@@ -37,6 +38,7 @@ class GetTriggersCountOfScriptResponse200:
37
38
  http_routes_count: Union[Unset, float] = UNSET
38
39
  webhook_count: Union[Unset, float] = UNSET
39
40
  email_count: Union[Unset, float] = UNSET
41
+ default_email_count: Union[Unset, float] = UNSET
40
42
  websocket_count: Union[Unset, float] = UNSET
41
43
  postgres_count: Union[Unset, float] = UNSET
42
44
  kafka_count: Union[Unset, float] = UNSET
@@ -55,6 +57,7 @@ class GetTriggersCountOfScriptResponse200:
55
57
  http_routes_count = self.http_routes_count
56
58
  webhook_count = self.webhook_count
57
59
  email_count = self.email_count
60
+ default_email_count = self.default_email_count
58
61
  websocket_count = self.websocket_count
59
62
  postgres_count = self.postgres_count
60
63
  kafka_count = self.kafka_count
@@ -76,6 +79,8 @@ class GetTriggersCountOfScriptResponse200:
76
79
  field_dict["webhook_count"] = webhook_count
77
80
  if email_count is not UNSET:
78
81
  field_dict["email_count"] = email_count
82
+ if default_email_count is not UNSET:
83
+ field_dict["default_email_count"] = default_email_count
79
84
  if websocket_count is not UNSET:
80
85
  field_dict["websocket_count"] = websocket_count
81
86
  if postgres_count is not UNSET:
@@ -115,6 +120,8 @@ class GetTriggersCountOfScriptResponse200:
115
120
 
116
121
  email_count = d.pop("email_count", UNSET)
117
122
 
123
+ default_email_count = d.pop("default_email_count", UNSET)
124
+
118
125
  websocket_count = d.pop("websocket_count", UNSET)
119
126
 
120
127
  postgres_count = d.pop("postgres_count", UNSET)
@@ -135,6 +142,7 @@ class GetTriggersCountOfScriptResponse200:
135
142
  http_routes_count=http_routes_count,
136
143
  webhook_count=webhook_count,
137
144
  email_count=email_count,
145
+ default_email_count=default_email_count,
138
146
  websocket_count=websocket_count,
139
147
  postgres_count=postgres_count,
140
148
  kafka_count=kafka_count,
@@ -18,6 +18,7 @@ class GetUsedTriggersResponse200:
18
18
  mqtt_used (bool):
19
19
  gcp_used (bool):
20
20
  sqs_used (bool):
21
+ email_used (bool):
21
22
  """
22
23
 
23
24
  http_routes_used: bool
@@ -28,6 +29,7 @@ class GetUsedTriggersResponse200:
28
29
  mqtt_used: bool
29
30
  gcp_used: bool
30
31
  sqs_used: bool
32
+ email_used: bool
31
33
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
34
 
33
35
  def to_dict(self) -> Dict[str, Any]:
@@ -39,6 +41,7 @@ class GetUsedTriggersResponse200:
39
41
  mqtt_used = self.mqtt_used
40
42
  gcp_used = self.gcp_used
41
43
  sqs_used = self.sqs_used
44
+ email_used = self.email_used
42
45
 
43
46
  field_dict: Dict[str, Any] = {}
44
47
  field_dict.update(self.additional_properties)
@@ -52,6 +55,7 @@ class GetUsedTriggersResponse200:
52
55
  "mqtt_used": mqtt_used,
53
56
  "gcp_used": gcp_used,
54
57
  "sqs_used": sqs_used,
58
+ "email_used": email_used,
55
59
  }
56
60
  )
57
61
 
@@ -76,6 +80,8 @@ class GetUsedTriggersResponse200:
76
80
 
77
81
  sqs_used = d.pop("sqs_used")
78
82
 
83
+ email_used = d.pop("email_used")
84
+
79
85
  get_used_triggers_response_200 = cls(
80
86
  http_routes_used=http_routes_used,
81
87
  websocket_used=websocket_used,
@@ -85,6 +91,7 @@ class GetUsedTriggersResponse200:
85
91
  mqtt_used=mqtt_used,
86
92
  gcp_used=gcp_used,
87
93
  sqs_used=sqs_used,
94
+ email_used=email_used,
88
95
  )
89
96
 
90
97
  get_used_triggers_response_200.additional_properties = d
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class ListCapturesResponse200ItemTriggerKind(str, Enum):
5
+ DEFAULT_EMAIL = "default_email"
5
6
  EMAIL = "email"
6
7
  GCP = "gcp"
7
8
  HTTP = "http"
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class ListCapturesTriggerKind(str, Enum):
5
+ DEFAULT_EMAIL = "default_email"
5
6
  EMAIL = "email"
6
7
  GCP = "gcp"
7
8
  HTTP = "http"
@@ -0,0 +1,184 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.list_email_triggers_response_200_item_error_handler_args import (
12
+ ListEmailTriggersResponse200ItemErrorHandlerArgs,
13
+ )
14
+ from ..models.list_email_triggers_response_200_item_extra_perms import ListEmailTriggersResponse200ItemExtraPerms
15
+ from ..models.list_email_triggers_response_200_item_retry import ListEmailTriggersResponse200ItemRetry
16
+
17
+
18
+ T = TypeVar("T", bound="ListEmailTriggersResponse200Item")
19
+
20
+
21
+ @_attrs_define
22
+ class ListEmailTriggersResponse200Item:
23
+ """
24
+ Attributes:
25
+ local_part (str):
26
+ path (str):
27
+ script_path (str):
28
+ email (str):
29
+ extra_perms (ListEmailTriggersResponse200ItemExtraPerms):
30
+ workspace_id (str):
31
+ edited_by (str):
32
+ edited_at (datetime.datetime):
33
+ is_flow (bool):
34
+ workspaced_local_part (Union[Unset, bool]):
35
+ error_handler_path (Union[Unset, str]):
36
+ error_handler_args (Union[Unset, ListEmailTriggersResponse200ItemErrorHandlerArgs]): The arguments to pass to
37
+ the script or flow
38
+ retry (Union[Unset, ListEmailTriggersResponse200ItemRetry]):
39
+ """
40
+
41
+ local_part: str
42
+ path: str
43
+ script_path: str
44
+ email: str
45
+ extra_perms: "ListEmailTriggersResponse200ItemExtraPerms"
46
+ workspace_id: str
47
+ edited_by: str
48
+ edited_at: datetime.datetime
49
+ is_flow: bool
50
+ workspaced_local_part: Union[Unset, bool] = UNSET
51
+ error_handler_path: Union[Unset, str] = UNSET
52
+ error_handler_args: Union[Unset, "ListEmailTriggersResponse200ItemErrorHandlerArgs"] = UNSET
53
+ retry: Union[Unset, "ListEmailTriggersResponse200ItemRetry"] = UNSET
54
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ local_part = self.local_part
58
+ path = self.path
59
+ script_path = self.script_path
60
+ email = self.email
61
+ extra_perms = self.extra_perms.to_dict()
62
+
63
+ workspace_id = self.workspace_id
64
+ edited_by = self.edited_by
65
+ edited_at = self.edited_at.isoformat()
66
+
67
+ is_flow = self.is_flow
68
+ workspaced_local_part = self.workspaced_local_part
69
+ error_handler_path = self.error_handler_path
70
+ error_handler_args: Union[Unset, Dict[str, Any]] = UNSET
71
+ if not isinstance(self.error_handler_args, Unset):
72
+ error_handler_args = self.error_handler_args.to_dict()
73
+
74
+ retry: Union[Unset, Dict[str, Any]] = UNSET
75
+ if not isinstance(self.retry, Unset):
76
+ retry = self.retry.to_dict()
77
+
78
+ field_dict: Dict[str, Any] = {}
79
+ field_dict.update(self.additional_properties)
80
+ field_dict.update(
81
+ {
82
+ "local_part": local_part,
83
+ "path": path,
84
+ "script_path": script_path,
85
+ "email": email,
86
+ "extra_perms": extra_perms,
87
+ "workspace_id": workspace_id,
88
+ "edited_by": edited_by,
89
+ "edited_at": edited_at,
90
+ "is_flow": is_flow,
91
+ }
92
+ )
93
+ if workspaced_local_part is not UNSET:
94
+ field_dict["workspaced_local_part"] = workspaced_local_part
95
+ if error_handler_path is not UNSET:
96
+ field_dict["error_handler_path"] = error_handler_path
97
+ if error_handler_args is not UNSET:
98
+ field_dict["error_handler_args"] = error_handler_args
99
+ if retry is not UNSET:
100
+ field_dict["retry"] = retry
101
+
102
+ return field_dict
103
+
104
+ @classmethod
105
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
106
+ from ..models.list_email_triggers_response_200_item_error_handler_args import (
107
+ ListEmailTriggersResponse200ItemErrorHandlerArgs,
108
+ )
109
+ from ..models.list_email_triggers_response_200_item_extra_perms import (
110
+ ListEmailTriggersResponse200ItemExtraPerms,
111
+ )
112
+ from ..models.list_email_triggers_response_200_item_retry import ListEmailTriggersResponse200ItemRetry
113
+
114
+ d = src_dict.copy()
115
+ local_part = d.pop("local_part")
116
+
117
+ path = d.pop("path")
118
+
119
+ script_path = d.pop("script_path")
120
+
121
+ email = d.pop("email")
122
+
123
+ extra_perms = ListEmailTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
124
+
125
+ workspace_id = d.pop("workspace_id")
126
+
127
+ edited_by = d.pop("edited_by")
128
+
129
+ edited_at = isoparse(d.pop("edited_at"))
130
+
131
+ is_flow = d.pop("is_flow")
132
+
133
+ workspaced_local_part = d.pop("workspaced_local_part", UNSET)
134
+
135
+ error_handler_path = d.pop("error_handler_path", UNSET)
136
+
137
+ _error_handler_args = d.pop("error_handler_args", UNSET)
138
+ error_handler_args: Union[Unset, ListEmailTriggersResponse200ItemErrorHandlerArgs]
139
+ if isinstance(_error_handler_args, Unset):
140
+ error_handler_args = UNSET
141
+ else:
142
+ error_handler_args = ListEmailTriggersResponse200ItemErrorHandlerArgs.from_dict(_error_handler_args)
143
+
144
+ _retry = d.pop("retry", UNSET)
145
+ retry: Union[Unset, ListEmailTriggersResponse200ItemRetry]
146
+ if isinstance(_retry, Unset):
147
+ retry = UNSET
148
+ else:
149
+ retry = ListEmailTriggersResponse200ItemRetry.from_dict(_retry)
150
+
151
+ list_email_triggers_response_200_item = cls(
152
+ local_part=local_part,
153
+ path=path,
154
+ script_path=script_path,
155
+ email=email,
156
+ extra_perms=extra_perms,
157
+ workspace_id=workspace_id,
158
+ edited_by=edited_by,
159
+ edited_at=edited_at,
160
+ is_flow=is_flow,
161
+ workspaced_local_part=workspaced_local_part,
162
+ error_handler_path=error_handler_path,
163
+ error_handler_args=error_handler_args,
164
+ retry=retry,
165
+ )
166
+
167
+ list_email_triggers_response_200_item.additional_properties = d
168
+ return list_email_triggers_response_200_item
169
+
170
+ @property
171
+ def additional_keys(self) -> List[str]:
172
+ return list(self.additional_properties.keys())
173
+
174
+ def __getitem__(self, key: str) -> Any:
175
+ return self.additional_properties[key]
176
+
177
+ def __setitem__(self, key: str, value: Any) -> None:
178
+ self.additional_properties[key] = value
179
+
180
+ def __delitem__(self, key: str) -> None:
181
+ del self.additional_properties[key]
182
+
183
+ def __contains__(self, key: str) -> bool:
184
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
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
+ T = TypeVar("T", bound="ListEmailTriggersResponse200ItemErrorHandlerArgs")
7
+
8
+
9
+ @_attrs_define
10
+ class ListEmailTriggersResponse200ItemErrorHandlerArgs:
11
+ """The arguments to pass to the script or flow"""
12
+
13
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+ field_dict.update({})
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
24
+ d = src_dict.copy()
25
+ list_email_triggers_response_200_item_error_handler_args = cls()
26
+
27
+ list_email_triggers_response_200_item_error_handler_args.additional_properties = d
28
+ return list_email_triggers_response_200_item_error_handler_args
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
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
+ T = TypeVar("T", bound="ListEmailTriggersResponse200ItemExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class ListEmailTriggersResponse200ItemExtraPerms:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, bool] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+ field_dict.update({})
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
24
+ d = src_dict.copy()
25
+ list_email_triggers_response_200_item_extra_perms = cls()
26
+
27
+ list_email_triggers_response_200_item_extra_perms.additional_properties = d
28
+ return list_email_triggers_response_200_item_extra_perms
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> bool:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: bool) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,119 @@
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.list_email_triggers_response_200_item_retry_constant import (
10
+ ListEmailTriggersResponse200ItemRetryConstant,
11
+ )
12
+ from ..models.list_email_triggers_response_200_item_retry_exponential import (
13
+ ListEmailTriggersResponse200ItemRetryExponential,
14
+ )
15
+ from ..models.list_email_triggers_response_200_item_retry_retry_if import (
16
+ ListEmailTriggersResponse200ItemRetryRetryIf,
17
+ )
18
+
19
+
20
+ T = TypeVar("T", bound="ListEmailTriggersResponse200ItemRetry")
21
+
22
+
23
+ @_attrs_define
24
+ class ListEmailTriggersResponse200ItemRetry:
25
+ """
26
+ Attributes:
27
+ constant (Union[Unset, ListEmailTriggersResponse200ItemRetryConstant]):
28
+ exponential (Union[Unset, ListEmailTriggersResponse200ItemRetryExponential]):
29
+ retry_if (Union[Unset, ListEmailTriggersResponse200ItemRetryRetryIf]):
30
+ """
31
+
32
+ constant: Union[Unset, "ListEmailTriggersResponse200ItemRetryConstant"] = UNSET
33
+ exponential: Union[Unset, "ListEmailTriggersResponse200ItemRetryExponential"] = UNSET
34
+ retry_if: Union[Unset, "ListEmailTriggersResponse200ItemRetryRetryIf"] = UNSET
35
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> Dict[str, Any]:
38
+ constant: Union[Unset, Dict[str, Any]] = UNSET
39
+ if not isinstance(self.constant, Unset):
40
+ constant = self.constant.to_dict()
41
+
42
+ exponential: Union[Unset, Dict[str, Any]] = UNSET
43
+ if not isinstance(self.exponential, Unset):
44
+ exponential = self.exponential.to_dict()
45
+
46
+ retry_if: Union[Unset, Dict[str, Any]] = UNSET
47
+ if not isinstance(self.retry_if, Unset):
48
+ retry_if = self.retry_if.to_dict()
49
+
50
+ field_dict: Dict[str, Any] = {}
51
+ field_dict.update(self.additional_properties)
52
+ field_dict.update({})
53
+ if constant is not UNSET:
54
+ field_dict["constant"] = constant
55
+ if exponential is not UNSET:
56
+ field_dict["exponential"] = exponential
57
+ if retry_if is not UNSET:
58
+ field_dict["retry_if"] = retry_if
59
+
60
+ return field_dict
61
+
62
+ @classmethod
63
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
64
+ from ..models.list_email_triggers_response_200_item_retry_constant import (
65
+ ListEmailTriggersResponse200ItemRetryConstant,
66
+ )
67
+ from ..models.list_email_triggers_response_200_item_retry_exponential import (
68
+ ListEmailTriggersResponse200ItemRetryExponential,
69
+ )
70
+ from ..models.list_email_triggers_response_200_item_retry_retry_if import (
71
+ ListEmailTriggersResponse200ItemRetryRetryIf,
72
+ )
73
+
74
+ d = src_dict.copy()
75
+ _constant = d.pop("constant", UNSET)
76
+ constant: Union[Unset, ListEmailTriggersResponse200ItemRetryConstant]
77
+ if isinstance(_constant, Unset):
78
+ constant = UNSET
79
+ else:
80
+ constant = ListEmailTriggersResponse200ItemRetryConstant.from_dict(_constant)
81
+
82
+ _exponential = d.pop("exponential", UNSET)
83
+ exponential: Union[Unset, ListEmailTriggersResponse200ItemRetryExponential]
84
+ if isinstance(_exponential, Unset):
85
+ exponential = UNSET
86
+ else:
87
+ exponential = ListEmailTriggersResponse200ItemRetryExponential.from_dict(_exponential)
88
+
89
+ _retry_if = d.pop("retry_if", UNSET)
90
+ retry_if: Union[Unset, ListEmailTriggersResponse200ItemRetryRetryIf]
91
+ if isinstance(_retry_if, Unset):
92
+ retry_if = UNSET
93
+ else:
94
+ retry_if = ListEmailTriggersResponse200ItemRetryRetryIf.from_dict(_retry_if)
95
+
96
+ list_email_triggers_response_200_item_retry = cls(
97
+ constant=constant,
98
+ exponential=exponential,
99
+ retry_if=retry_if,
100
+ )
101
+
102
+ list_email_triggers_response_200_item_retry.additional_properties = d
103
+ return list_email_triggers_response_200_item_retry
104
+
105
+ @property
106
+ def additional_keys(self) -> List[str]:
107
+ return list(self.additional_properties.keys())
108
+
109
+ def __getitem__(self, key: str) -> Any:
110
+ return self.additional_properties[key]
111
+
112
+ def __setitem__(self, key: str, value: Any) -> None:
113
+ self.additional_properties[key] = value
114
+
115
+ def __delitem__(self, key: str) -> None:
116
+ del self.additional_properties[key]
117
+
118
+ def __contains__(self, key: str) -> bool:
119
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
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="ListEmailTriggersResponse200ItemRetryConstant")
9
+
10
+
11
+ @_attrs_define
12
+ class ListEmailTriggersResponse200ItemRetryConstant:
13
+ """
14
+ Attributes:
15
+ attempts (Union[Unset, int]):
16
+ seconds (Union[Unset, int]):
17
+ """
18
+
19
+ attempts: Union[Unset, int] = UNSET
20
+ seconds: Union[Unset, int] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ attempts = self.attempts
25
+ seconds = self.seconds
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update({})
30
+ if attempts is not UNSET:
31
+ field_dict["attempts"] = attempts
32
+ if seconds is not UNSET:
33
+ field_dict["seconds"] = seconds
34
+
35
+ return field_dict
36
+
37
+ @classmethod
38
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
39
+ d = src_dict.copy()
40
+ attempts = d.pop("attempts", UNSET)
41
+
42
+ seconds = d.pop("seconds", UNSET)
43
+
44
+ list_email_triggers_response_200_item_retry_constant = cls(
45
+ attempts=attempts,
46
+ seconds=seconds,
47
+ )
48
+
49
+ list_email_triggers_response_200_item_retry_constant.additional_properties = d
50
+ return list_email_triggers_response_200_item_retry_constant
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