windmill-api 1.464.0__py3-none-any.whl → 1.466.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 (61) hide show
  1. windmill_api/api/sqs_trigger/__init__.py +0 -0
  2. windmill_api/api/sqs_trigger/create_sqs_trigger.py +105 -0
  3. windmill_api/api/sqs_trigger/delete_sqs_trigger.py +101 -0
  4. windmill_api/api/sqs_trigger/exists_sqs_trigger.py +160 -0
  5. windmill_api/api/sqs_trigger/get_sqs_trigger.py +166 -0
  6. windmill_api/api/sqs_trigger/list_sqs_triggers.py +237 -0
  7. windmill_api/api/sqs_trigger/set_sqs_trigger_enabled.py +113 -0
  8. windmill_api/api/sqs_trigger/test_sqs_connection.py +105 -0
  9. windmill_api/api/sqs_trigger/update_sqs_trigger.py +113 -0
  10. windmill_api/models/add_granular_acls_kind.py +1 -0
  11. windmill_api/models/ai_provider.py +1 -0
  12. windmill_api/models/ai_resource_provider.py +1 -0
  13. windmill_api/models/capture_config_trigger_kind.py +1 -0
  14. windmill_api/models/capture_trigger_kind.py +1 -0
  15. windmill_api/models/create_sqs_trigger_json_body.py +107 -0
  16. windmill_api/models/edit_copilot_config_json_body_ai_resource_provider.py +1 -0
  17. windmill_api/models/edit_sqs_trigger.py +105 -0
  18. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  19. windmill_api/models/get_capture_response_200_trigger_kind.py +1 -0
  20. windmill_api/models/get_granular_acls_kind.py +1 -0
  21. windmill_api/models/get_http_trigger_response_200.py +21 -21
  22. windmill_api/models/get_kafka_trigger_response_200.py +47 -47
  23. windmill_api/models/get_nats_trigger_response_200.py +47 -47
  24. windmill_api/models/get_postgres_trigger_response_200.py +21 -21
  25. windmill_api/models/get_settings_response_200_ai_resource_provider.py +1 -0
  26. windmill_api/models/get_sqs_trigger_response_200.py +183 -0
  27. windmill_api/models/get_sqs_trigger_response_200_extra_perms.py +44 -0
  28. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  29. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  30. windmill_api/models/get_used_triggers_response_200.py +7 -0
  31. windmill_api/models/get_websocket_trigger_response_200.py +21 -21
  32. windmill_api/models/http_trigger.py +21 -21
  33. windmill_api/models/kafka_trigger.py +47 -47
  34. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  35. windmill_api/models/list_captures_trigger_kind.py +1 -0
  36. windmill_api/models/list_http_triggers_response_200_item.py +21 -21
  37. windmill_api/models/list_kafka_triggers_response_200_item.py +47 -47
  38. windmill_api/models/list_nats_triggers_response_200_item.py +47 -47
  39. windmill_api/models/list_postgres_triggers_response_200_item.py +21 -21
  40. windmill_api/models/list_sqs_triggers_response_200_item.py +183 -0
  41. windmill_api/models/list_sqs_triggers_response_200_item_extra_perms.py +44 -0
  42. windmill_api/models/list_websocket_triggers_response_200_item.py +21 -21
  43. windmill_api/models/nats_trigger.py +47 -47
  44. windmill_api/models/new_sqs_trigger.py +107 -0
  45. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  46. windmill_api/models/postgres_trigger.py +21 -21
  47. windmill_api/models/remove_granular_acls_kind.py +1 -0
  48. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  49. windmill_api/models/set_sqs_trigger_enabled_json_body.py +58 -0
  50. windmill_api/models/sqs_trigger.py +183 -0
  51. windmill_api/models/sqs_trigger_extra_perms.py +44 -0
  52. windmill_api/models/test_sqs_connection_json_body.py +64 -0
  53. windmill_api/models/test_sqs_connection_json_body_connection.py +44 -0
  54. windmill_api/models/trigger_extra_property.py +22 -0
  55. windmill_api/models/triggers_count.py +8 -0
  56. windmill_api/models/update_sqs_trigger_json_body.py +105 -0
  57. windmill_api/models/websocket_trigger.py +21 -21
  58. {windmill_api-1.464.0.dist-info → windmill_api-1.466.0.dist-info}/METADATA +1 -1
  59. {windmill_api-1.464.0.dist-info → windmill_api-1.466.0.dist-info}/RECORD +61 -39
  60. {windmill_api-1.464.0.dist-info → windmill_api-1.466.0.dist-info}/LICENSE +0 -0
  61. {windmill_api-1.464.0.dist-info → windmill_api-1.466.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,183 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
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.sqs_trigger_extra_perms import SqsTriggerExtraPerms
12
+
13
+
14
+ T = TypeVar("T", bound="SqsTrigger")
15
+
16
+
17
+ @_attrs_define
18
+ class SqsTrigger:
19
+ """
20
+ Attributes:
21
+ queue_url (str):
22
+ aws_resource_path (str):
23
+ enabled (bool):
24
+ path (str):
25
+ script_path (str):
26
+ email (str):
27
+ extra_perms (SqsTriggerExtraPerms):
28
+ workspace_id (str):
29
+ edited_by (str):
30
+ edited_at (datetime.datetime):
31
+ is_flow (bool):
32
+ message_attributes (Union[Unset, List[str]]):
33
+ server_id (Union[Unset, str]):
34
+ last_server_ping (Union[Unset, datetime.datetime]):
35
+ error (Union[Unset, str]):
36
+ """
37
+
38
+ queue_url: str
39
+ aws_resource_path: str
40
+ enabled: bool
41
+ path: str
42
+ script_path: str
43
+ email: str
44
+ extra_perms: "SqsTriggerExtraPerms"
45
+ workspace_id: str
46
+ edited_by: str
47
+ edited_at: datetime.datetime
48
+ is_flow: bool
49
+ message_attributes: Union[Unset, List[str]] = UNSET
50
+ server_id: Union[Unset, str] = UNSET
51
+ last_server_ping: Union[Unset, datetime.datetime] = UNSET
52
+ error: Union[Unset, str] = UNSET
53
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ queue_url = self.queue_url
57
+ aws_resource_path = self.aws_resource_path
58
+ enabled = self.enabled
59
+ path = self.path
60
+ script_path = self.script_path
61
+ email = self.email
62
+ extra_perms = self.extra_perms.to_dict()
63
+
64
+ workspace_id = self.workspace_id
65
+ edited_by = self.edited_by
66
+ edited_at = self.edited_at.isoformat()
67
+
68
+ is_flow = self.is_flow
69
+ message_attributes: Union[Unset, List[str]] = UNSET
70
+ if not isinstance(self.message_attributes, Unset):
71
+ message_attributes = self.message_attributes
72
+
73
+ server_id = self.server_id
74
+ last_server_ping: Union[Unset, str] = UNSET
75
+ if not isinstance(self.last_server_ping, Unset):
76
+ last_server_ping = self.last_server_ping.isoformat()
77
+
78
+ error = self.error
79
+
80
+ field_dict: Dict[str, Any] = {}
81
+ field_dict.update(self.additional_properties)
82
+ field_dict.update(
83
+ {
84
+ "queue_url": queue_url,
85
+ "aws_resource_path": aws_resource_path,
86
+ "enabled": enabled,
87
+ "path": path,
88
+ "script_path": script_path,
89
+ "email": email,
90
+ "extra_perms": extra_perms,
91
+ "workspace_id": workspace_id,
92
+ "edited_by": edited_by,
93
+ "edited_at": edited_at,
94
+ "is_flow": is_flow,
95
+ }
96
+ )
97
+ if message_attributes is not UNSET:
98
+ field_dict["message_attributes"] = message_attributes
99
+ if server_id is not UNSET:
100
+ field_dict["server_id"] = server_id
101
+ if last_server_ping is not UNSET:
102
+ field_dict["last_server_ping"] = last_server_ping
103
+ if error is not UNSET:
104
+ field_dict["error"] = error
105
+
106
+ return field_dict
107
+
108
+ @classmethod
109
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
110
+ from ..models.sqs_trigger_extra_perms import SqsTriggerExtraPerms
111
+
112
+ d = src_dict.copy()
113
+ queue_url = d.pop("queue_url")
114
+
115
+ aws_resource_path = d.pop("aws_resource_path")
116
+
117
+ enabled = d.pop("enabled")
118
+
119
+ path = d.pop("path")
120
+
121
+ script_path = d.pop("script_path")
122
+
123
+ email = d.pop("email")
124
+
125
+ extra_perms = SqsTriggerExtraPerms.from_dict(d.pop("extra_perms"))
126
+
127
+ workspace_id = d.pop("workspace_id")
128
+
129
+ edited_by = d.pop("edited_by")
130
+
131
+ edited_at = isoparse(d.pop("edited_at"))
132
+
133
+ is_flow = d.pop("is_flow")
134
+
135
+ message_attributes = cast(List[str], d.pop("message_attributes", UNSET))
136
+
137
+ server_id = d.pop("server_id", UNSET)
138
+
139
+ _last_server_ping = d.pop("last_server_ping", UNSET)
140
+ last_server_ping: Union[Unset, datetime.datetime]
141
+ if isinstance(_last_server_ping, Unset):
142
+ last_server_ping = UNSET
143
+ else:
144
+ last_server_ping = isoparse(_last_server_ping)
145
+
146
+ error = d.pop("error", UNSET)
147
+
148
+ sqs_trigger = cls(
149
+ queue_url=queue_url,
150
+ aws_resource_path=aws_resource_path,
151
+ enabled=enabled,
152
+ path=path,
153
+ script_path=script_path,
154
+ email=email,
155
+ extra_perms=extra_perms,
156
+ workspace_id=workspace_id,
157
+ edited_by=edited_by,
158
+ edited_at=edited_at,
159
+ is_flow=is_flow,
160
+ message_attributes=message_attributes,
161
+ server_id=server_id,
162
+ last_server_ping=last_server_ping,
163
+ error=error,
164
+ )
165
+
166
+ sqs_trigger.additional_properties = d
167
+ return sqs_trigger
168
+
169
+ @property
170
+ def additional_keys(self) -> List[str]:
171
+ return list(self.additional_properties.keys())
172
+
173
+ def __getitem__(self, key: str) -> Any:
174
+ return self.additional_properties[key]
175
+
176
+ def __setitem__(self, key: str, value: Any) -> None:
177
+ self.additional_properties[key] = value
178
+
179
+ def __delitem__(self, key: str) -> None:
180
+ del self.additional_properties[key]
181
+
182
+ def __contains__(self, key: str) -> bool:
183
+ 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="SqsTriggerExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class SqsTriggerExtraPerms:
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
+ sqs_trigger_extra_perms = cls()
26
+
27
+ sqs_trigger_extra_perms.additional_properties = d
28
+ return sqs_trigger_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,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.test_sqs_connection_json_body_connection import TestSqsConnectionJsonBodyConnection
8
+
9
+
10
+ T = TypeVar("T", bound="TestSqsConnectionJsonBody")
11
+
12
+
13
+ @_attrs_define
14
+ class TestSqsConnectionJsonBody:
15
+ """
16
+ Attributes:
17
+ connection (TestSqsConnectionJsonBodyConnection):
18
+ """
19
+
20
+ connection: "TestSqsConnectionJsonBodyConnection"
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ connection = self.connection.to_dict()
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ field_dict.update(self.additional_properties)
28
+ field_dict.update(
29
+ {
30
+ "connection": connection,
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.test_sqs_connection_json_body_connection import TestSqsConnectionJsonBodyConnection
39
+
40
+ d = src_dict.copy()
41
+ connection = TestSqsConnectionJsonBodyConnection.from_dict(d.pop("connection"))
42
+
43
+ test_sqs_connection_json_body = cls(
44
+ connection=connection,
45
+ )
46
+
47
+ test_sqs_connection_json_body.additional_properties = d
48
+ return test_sqs_connection_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,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="TestSqsConnectionJsonBodyConnection")
7
+
8
+
9
+ @_attrs_define
10
+ class TestSqsConnectionJsonBodyConnection:
11
+ """ """
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
+ test_sqs_connection_json_body_connection = cls()
26
+
27
+ test_sqs_connection_json_body_connection.additional_properties = d
28
+ return test_sqs_connection_json_body_connection
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
@@ -16,21 +16,29 @@ T = TypeVar("T", bound="TriggerExtraProperty")
16
16
  class TriggerExtraProperty:
17
17
  """
18
18
  Attributes:
19
+ path (str):
20
+ script_path (str):
19
21
  email (str):
20
22
  extra_perms (TriggerExtraPropertyExtraPerms):
21
23
  workspace_id (str):
22
24
  edited_by (str):
23
25
  edited_at (datetime.datetime):
26
+ is_flow (bool):
24
27
  """
25
28
 
29
+ path: str
30
+ script_path: str
26
31
  email: str
27
32
  extra_perms: "TriggerExtraPropertyExtraPerms"
28
33
  workspace_id: str
29
34
  edited_by: str
30
35
  edited_at: datetime.datetime
36
+ is_flow: bool
31
37
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
38
 
33
39
  def to_dict(self) -> Dict[str, Any]:
40
+ path = self.path
41
+ script_path = self.script_path
34
42
  email = self.email
35
43
  extra_perms = self.extra_perms.to_dict()
36
44
 
@@ -38,15 +46,20 @@ class TriggerExtraProperty:
38
46
  edited_by = self.edited_by
39
47
  edited_at = self.edited_at.isoformat()
40
48
 
49
+ is_flow = self.is_flow
50
+
41
51
  field_dict: Dict[str, Any] = {}
42
52
  field_dict.update(self.additional_properties)
43
53
  field_dict.update(
44
54
  {
55
+ "path": path,
56
+ "script_path": script_path,
45
57
  "email": email,
46
58
  "extra_perms": extra_perms,
47
59
  "workspace_id": workspace_id,
48
60
  "edited_by": edited_by,
49
61
  "edited_at": edited_at,
62
+ "is_flow": is_flow,
50
63
  }
51
64
  )
52
65
 
@@ -57,6 +70,10 @@ class TriggerExtraProperty:
57
70
  from ..models.trigger_extra_property_extra_perms import TriggerExtraPropertyExtraPerms
58
71
 
59
72
  d = src_dict.copy()
73
+ path = d.pop("path")
74
+
75
+ script_path = d.pop("script_path")
76
+
60
77
  email = d.pop("email")
61
78
 
62
79
  extra_perms = TriggerExtraPropertyExtraPerms.from_dict(d.pop("extra_perms"))
@@ -67,12 +84,17 @@ class TriggerExtraProperty:
67
84
 
68
85
  edited_at = isoparse(d.pop("edited_at"))
69
86
 
87
+ is_flow = d.pop("is_flow")
88
+
70
89
  trigger_extra_property = cls(
90
+ path=path,
91
+ script_path=script_path,
71
92
  email=email,
72
93
  extra_perms=extra_perms,
73
94
  workspace_id=workspace_id,
74
95
  edited_by=edited_by,
75
96
  edited_at=edited_at,
97
+ is_flow=is_flow,
76
98
  )
77
99
 
78
100
  trigger_extra_property.additional_properties = d
@@ -25,6 +25,7 @@ class TriggersCount:
25
25
  postgres_count (Union[Unset, float]):
26
26
  kafka_count (Union[Unset, float]):
27
27
  nats_count (Union[Unset, float]):
28
+ sqs_count (Union[Unset, float]):
28
29
  """
29
30
 
30
31
  primary_schedule: Union[Unset, "TriggersCountPrimarySchedule"] = UNSET
@@ -36,6 +37,7 @@ class TriggersCount:
36
37
  postgres_count: Union[Unset, float] = UNSET
37
38
  kafka_count: Union[Unset, float] = UNSET
38
39
  nats_count: Union[Unset, float] = UNSET
40
+ sqs_count: Union[Unset, float] = UNSET
39
41
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
40
42
 
41
43
  def to_dict(self) -> Dict[str, Any]:
@@ -51,6 +53,7 @@ class TriggersCount:
51
53
  postgres_count = self.postgres_count
52
54
  kafka_count = self.kafka_count
53
55
  nats_count = self.nats_count
56
+ sqs_count = self.sqs_count
54
57
 
55
58
  field_dict: Dict[str, Any] = {}
56
59
  field_dict.update(self.additional_properties)
@@ -73,6 +76,8 @@ class TriggersCount:
73
76
  field_dict["kafka_count"] = kafka_count
74
77
  if nats_count is not UNSET:
75
78
  field_dict["nats_count"] = nats_count
79
+ if sqs_count is not UNSET:
80
+ field_dict["sqs_count"] = sqs_count
76
81
 
77
82
  return field_dict
78
83
 
@@ -104,6 +109,8 @@ class TriggersCount:
104
109
 
105
110
  nats_count = d.pop("nats_count", UNSET)
106
111
 
112
+ sqs_count = d.pop("sqs_count", UNSET)
113
+
107
114
  triggers_count = cls(
108
115
  primary_schedule=primary_schedule,
109
116
  schedule_count=schedule_count,
@@ -114,6 +121,7 @@ class TriggersCount:
114
121
  postgres_count=postgres_count,
115
122
  kafka_count=kafka_count,
116
123
  nats_count=nats_count,
124
+ sqs_count=sqs_count,
117
125
  )
118
126
 
119
127
  triggers_count.additional_properties = d
@@ -0,0 +1,105 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
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="UpdateSqsTriggerJsonBody")
9
+
10
+
11
+ @_attrs_define
12
+ class UpdateSqsTriggerJsonBody:
13
+ """
14
+ Attributes:
15
+ queue_url (str):
16
+ aws_resource_path (str):
17
+ path (str):
18
+ script_path (str):
19
+ is_flow (bool):
20
+ enabled (bool):
21
+ message_attributes (Union[Unset, List[str]]):
22
+ """
23
+
24
+ queue_url: str
25
+ aws_resource_path: str
26
+ path: str
27
+ script_path: str
28
+ is_flow: bool
29
+ enabled: bool
30
+ message_attributes: Union[Unset, List[str]] = UNSET
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ queue_url = self.queue_url
35
+ aws_resource_path = self.aws_resource_path
36
+ path = self.path
37
+ script_path = self.script_path
38
+ is_flow = self.is_flow
39
+ enabled = self.enabled
40
+ message_attributes: Union[Unset, List[str]] = UNSET
41
+ if not isinstance(self.message_attributes, Unset):
42
+ message_attributes = self.message_attributes
43
+
44
+ field_dict: Dict[str, Any] = {}
45
+ field_dict.update(self.additional_properties)
46
+ field_dict.update(
47
+ {
48
+ "queue_url": queue_url,
49
+ "aws_resource_path": aws_resource_path,
50
+ "path": path,
51
+ "script_path": script_path,
52
+ "is_flow": is_flow,
53
+ "enabled": enabled,
54
+ }
55
+ )
56
+ if message_attributes is not UNSET:
57
+ field_dict["message_attributes"] = message_attributes
58
+
59
+ return field_dict
60
+
61
+ @classmethod
62
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
63
+ d = src_dict.copy()
64
+ queue_url = d.pop("queue_url")
65
+
66
+ aws_resource_path = d.pop("aws_resource_path")
67
+
68
+ path = d.pop("path")
69
+
70
+ script_path = d.pop("script_path")
71
+
72
+ is_flow = d.pop("is_flow")
73
+
74
+ enabled = d.pop("enabled")
75
+
76
+ message_attributes = cast(List[str], d.pop("message_attributes", UNSET))
77
+
78
+ update_sqs_trigger_json_body = cls(
79
+ queue_url=queue_url,
80
+ aws_resource_path=aws_resource_path,
81
+ path=path,
82
+ script_path=script_path,
83
+ is_flow=is_flow,
84
+ enabled=enabled,
85
+ message_attributes=message_attributes,
86
+ )
87
+
88
+ update_sqs_trigger_json_body.additional_properties = d
89
+ return update_sqs_trigger_json_body
90
+
91
+ @property
92
+ def additional_keys(self) -> List[str]:
93
+ return list(self.additional_properties.keys())
94
+
95
+ def __getitem__(self, key: str) -> Any:
96
+ return self.additional_properties[key]
97
+
98
+ def __setitem__(self, key: str, value: Any) -> None:
99
+ self.additional_properties[key] = value
100
+
101
+ def __delitem__(self, key: str) -> None:
102
+ del self.additional_properties[key]
103
+
104
+ def __contains__(self, key: str) -> bool:
105
+ return key in self.additional_properties