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
@@ -18,56 +18,56 @@ T = TypeVar("T", bound="ListKafkaTriggersResponse200Item")
18
18
  class ListKafkaTriggersResponse200Item:
19
19
  """
20
20
  Attributes:
21
- path (str):
22
- edited_by (str):
23
- edited_at (datetime.datetime):
24
- script_path (str):
25
21
  kafka_resource_path (str):
26
22
  group_id (str):
27
23
  topics (List[str]):
28
- is_flow (bool):
29
- extra_perms (ListKafkaTriggersResponse200ItemExtraPerms):
24
+ enabled (bool):
25
+ path (str):
26
+ script_path (str):
30
27
  email (str):
28
+ extra_perms (ListKafkaTriggersResponse200ItemExtraPerms):
31
29
  workspace_id (str):
32
- enabled (bool):
30
+ edited_by (str):
31
+ edited_at (datetime.datetime):
32
+ is_flow (bool):
33
33
  server_id (Union[Unset, str]):
34
34
  last_server_ping (Union[Unset, datetime.datetime]):
35
35
  error (Union[Unset, str]):
36
36
  """
37
37
 
38
- path: str
39
- edited_by: str
40
- edited_at: datetime.datetime
41
- script_path: str
42
38
  kafka_resource_path: str
43
39
  group_id: str
44
40
  topics: List[str]
45
- is_flow: bool
46
- extra_perms: "ListKafkaTriggersResponse200ItemExtraPerms"
41
+ enabled: bool
42
+ path: str
43
+ script_path: str
47
44
  email: str
45
+ extra_perms: "ListKafkaTriggersResponse200ItemExtraPerms"
48
46
  workspace_id: str
49
- enabled: bool
47
+ edited_by: str
48
+ edited_at: datetime.datetime
49
+ is_flow: bool
50
50
  server_id: Union[Unset, str] = UNSET
51
51
  last_server_ping: Union[Unset, datetime.datetime] = UNSET
52
52
  error: Union[Unset, str] = UNSET
53
53
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
56
- path = self.path
57
- edited_by = self.edited_by
58
- edited_at = self.edited_at.isoformat()
59
-
60
- script_path = self.script_path
61
56
  kafka_resource_path = self.kafka_resource_path
62
57
  group_id = self.group_id
63
58
  topics = self.topics
64
59
 
65
- is_flow = self.is_flow
60
+ enabled = self.enabled
61
+ path = self.path
62
+ script_path = self.script_path
63
+ email = self.email
66
64
  extra_perms = self.extra_perms.to_dict()
67
65
 
68
- email = self.email
69
66
  workspace_id = self.workspace_id
70
- enabled = self.enabled
67
+ edited_by = self.edited_by
68
+ edited_at = self.edited_at.isoformat()
69
+
70
+ is_flow = self.is_flow
71
71
  server_id = self.server_id
72
72
  last_server_ping: Union[Unset, str] = UNSET
73
73
  if not isinstance(self.last_server_ping, Unset):
@@ -79,18 +79,18 @@ class ListKafkaTriggersResponse200Item:
79
79
  field_dict.update(self.additional_properties)
80
80
  field_dict.update(
81
81
  {
82
- "path": path,
83
- "edited_by": edited_by,
84
- "edited_at": edited_at,
85
- "script_path": script_path,
86
82
  "kafka_resource_path": kafka_resource_path,
87
83
  "group_id": group_id,
88
84
  "topics": topics,
89
- "is_flow": is_flow,
90
- "extra_perms": extra_perms,
85
+ "enabled": enabled,
86
+ "path": path,
87
+ "script_path": script_path,
91
88
  "email": email,
89
+ "extra_perms": extra_perms,
92
90
  "workspace_id": workspace_id,
93
- "enabled": enabled,
91
+ "edited_by": edited_by,
92
+ "edited_at": edited_at,
93
+ "is_flow": is_flow,
94
94
  }
95
95
  )
96
96
  if server_id is not UNSET:
@@ -109,29 +109,29 @@ class ListKafkaTriggersResponse200Item:
109
109
  )
110
110
 
111
111
  d = src_dict.copy()
112
- path = d.pop("path")
113
-
114
- edited_by = d.pop("edited_by")
115
-
116
- edited_at = isoparse(d.pop("edited_at"))
117
-
118
- script_path = d.pop("script_path")
119
-
120
112
  kafka_resource_path = d.pop("kafka_resource_path")
121
113
 
122
114
  group_id = d.pop("group_id")
123
115
 
124
116
  topics = cast(List[str], d.pop("topics"))
125
117
 
126
- is_flow = d.pop("is_flow")
118
+ enabled = d.pop("enabled")
127
119
 
128
- extra_perms = ListKafkaTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
120
+ path = d.pop("path")
121
+
122
+ script_path = d.pop("script_path")
129
123
 
130
124
  email = d.pop("email")
131
125
 
126
+ extra_perms = ListKafkaTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
127
+
132
128
  workspace_id = d.pop("workspace_id")
133
129
 
134
- enabled = d.pop("enabled")
130
+ edited_by = d.pop("edited_by")
131
+
132
+ edited_at = isoparse(d.pop("edited_at"))
133
+
134
+ is_flow = d.pop("is_flow")
135
135
 
136
136
  server_id = d.pop("server_id", UNSET)
137
137
 
@@ -145,18 +145,18 @@ class ListKafkaTriggersResponse200Item:
145
145
  error = d.pop("error", UNSET)
146
146
 
147
147
  list_kafka_triggers_response_200_item = cls(
148
- path=path,
149
- edited_by=edited_by,
150
- edited_at=edited_at,
151
- script_path=script_path,
152
148
  kafka_resource_path=kafka_resource_path,
153
149
  group_id=group_id,
154
150
  topics=topics,
155
- is_flow=is_flow,
156
- extra_perms=extra_perms,
151
+ enabled=enabled,
152
+ path=path,
153
+ script_path=script_path,
157
154
  email=email,
155
+ extra_perms=extra_perms,
158
156
  workspace_id=workspace_id,
159
- enabled=enabled,
157
+ edited_by=edited_by,
158
+ edited_at=edited_at,
159
+ is_flow=is_flow,
160
160
  server_id=server_id,
161
161
  last_server_ping=last_server_ping,
162
162
  error=error,
@@ -18,18 +18,18 @@ T = TypeVar("T", bound="ListNatsTriggersResponse200Item")
18
18
  class ListNatsTriggersResponse200Item:
19
19
  """
20
20
  Attributes:
21
- path (str):
22
- edited_by (str):
23
- edited_at (datetime.datetime):
24
- script_path (str):
25
21
  nats_resource_path (str):
26
22
  use_jetstream (bool):
27
23
  subjects (List[str]):
28
- is_flow (bool):
29
- extra_perms (ListNatsTriggersResponse200ItemExtraPerms):
24
+ enabled (bool):
25
+ path (str):
26
+ script_path (str):
30
27
  email (str):
28
+ extra_perms (ListNatsTriggersResponse200ItemExtraPerms):
31
29
  workspace_id (str):
32
- enabled (bool):
30
+ edited_by (str):
31
+ edited_at (datetime.datetime):
32
+ is_flow (bool):
33
33
  stream_name (Union[Unset, str]):
34
34
  consumer_name (Union[Unset, str]):
35
35
  server_id (Union[Unset, str]):
@@ -37,18 +37,18 @@ class ListNatsTriggersResponse200Item:
37
37
  error (Union[Unset, str]):
38
38
  """
39
39
 
40
- path: str
41
- edited_by: str
42
- edited_at: datetime.datetime
43
- script_path: str
44
40
  nats_resource_path: str
45
41
  use_jetstream: bool
46
42
  subjects: List[str]
47
- is_flow: bool
48
- extra_perms: "ListNatsTriggersResponse200ItemExtraPerms"
43
+ enabled: bool
44
+ path: str
45
+ script_path: str
49
46
  email: str
47
+ extra_perms: "ListNatsTriggersResponse200ItemExtraPerms"
50
48
  workspace_id: str
51
- enabled: bool
49
+ edited_by: str
50
+ edited_at: datetime.datetime
51
+ is_flow: bool
52
52
  stream_name: Union[Unset, str] = UNSET
53
53
  consumer_name: Union[Unset, str] = UNSET
54
54
  server_id: Union[Unset, str] = UNSET
@@ -57,21 +57,21 @@ class ListNatsTriggersResponse200Item:
57
57
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
58
58
 
59
59
  def to_dict(self) -> Dict[str, Any]:
60
- path = self.path
61
- edited_by = self.edited_by
62
- edited_at = self.edited_at.isoformat()
63
-
64
- script_path = self.script_path
65
60
  nats_resource_path = self.nats_resource_path
66
61
  use_jetstream = self.use_jetstream
67
62
  subjects = self.subjects
68
63
 
69
- is_flow = self.is_flow
64
+ enabled = self.enabled
65
+ path = self.path
66
+ script_path = self.script_path
67
+ email = self.email
70
68
  extra_perms = self.extra_perms.to_dict()
71
69
 
72
- email = self.email
73
70
  workspace_id = self.workspace_id
74
- enabled = self.enabled
71
+ edited_by = self.edited_by
72
+ edited_at = self.edited_at.isoformat()
73
+
74
+ is_flow = self.is_flow
75
75
  stream_name = self.stream_name
76
76
  consumer_name = self.consumer_name
77
77
  server_id = self.server_id
@@ -85,18 +85,18 @@ class ListNatsTriggersResponse200Item:
85
85
  field_dict.update(self.additional_properties)
86
86
  field_dict.update(
87
87
  {
88
- "path": path,
89
- "edited_by": edited_by,
90
- "edited_at": edited_at,
91
- "script_path": script_path,
92
88
  "nats_resource_path": nats_resource_path,
93
89
  "use_jetstream": use_jetstream,
94
90
  "subjects": subjects,
95
- "is_flow": is_flow,
96
- "extra_perms": extra_perms,
91
+ "enabled": enabled,
92
+ "path": path,
93
+ "script_path": script_path,
97
94
  "email": email,
95
+ "extra_perms": extra_perms,
98
96
  "workspace_id": workspace_id,
99
- "enabled": enabled,
97
+ "edited_by": edited_by,
98
+ "edited_at": edited_at,
99
+ "is_flow": is_flow,
100
100
  }
101
101
  )
102
102
  if stream_name is not UNSET:
@@ -117,29 +117,29 @@ class ListNatsTriggersResponse200Item:
117
117
  from ..models.list_nats_triggers_response_200_item_extra_perms import ListNatsTriggersResponse200ItemExtraPerms
118
118
 
119
119
  d = src_dict.copy()
120
- path = d.pop("path")
121
-
122
- edited_by = d.pop("edited_by")
123
-
124
- edited_at = isoparse(d.pop("edited_at"))
125
-
126
- script_path = d.pop("script_path")
127
-
128
120
  nats_resource_path = d.pop("nats_resource_path")
129
121
 
130
122
  use_jetstream = d.pop("use_jetstream")
131
123
 
132
124
  subjects = cast(List[str], d.pop("subjects"))
133
125
 
134
- is_flow = d.pop("is_flow")
126
+ enabled = d.pop("enabled")
135
127
 
136
- extra_perms = ListNatsTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
128
+ path = d.pop("path")
129
+
130
+ script_path = d.pop("script_path")
137
131
 
138
132
  email = d.pop("email")
139
133
 
134
+ extra_perms = ListNatsTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
135
+
140
136
  workspace_id = d.pop("workspace_id")
141
137
 
142
- enabled = d.pop("enabled")
138
+ edited_by = d.pop("edited_by")
139
+
140
+ edited_at = isoparse(d.pop("edited_at"))
141
+
142
+ is_flow = d.pop("is_flow")
143
143
 
144
144
  stream_name = d.pop("stream_name", UNSET)
145
145
 
@@ -157,18 +157,18 @@ class ListNatsTriggersResponse200Item:
157
157
  error = d.pop("error", UNSET)
158
158
 
159
159
  list_nats_triggers_response_200_item = cls(
160
- path=path,
161
- edited_by=edited_by,
162
- edited_at=edited_at,
163
- script_path=script_path,
164
160
  nats_resource_path=nats_resource_path,
165
161
  use_jetstream=use_jetstream,
166
162
  subjects=subjects,
167
- is_flow=is_flow,
168
- extra_perms=extra_perms,
163
+ enabled=enabled,
164
+ path=path,
165
+ script_path=script_path,
169
166
  email=email,
167
+ extra_perms=extra_perms,
170
168
  workspace_id=workspace_id,
171
- enabled=enabled,
169
+ edited_by=edited_by,
170
+ edited_at=edited_at,
171
+ is_flow=is_flow,
172
172
  stream_name=stream_name,
173
173
  consumer_name=consumer_name,
174
174
  server_id=server_id,
@@ -20,48 +20,47 @@ T = TypeVar("T", bound="ListPostgresTriggersResponse200Item")
20
20
  class ListPostgresTriggersResponse200Item:
21
21
  """
22
22
  Attributes:
23
- path (str):
24
- script_path (str):
25
- is_flow (bool):
26
23
  enabled (bool):
27
24
  postgres_resource_path (str):
28
25
  publication_name (str):
29
26
  replication_slot_name (str):
27
+ path (str):
28
+ script_path (str):
30
29
  email (str):
31
30
  extra_perms (ListPostgresTriggersResponse200ItemExtraPerms):
32
31
  workspace_id (str):
33
32
  edited_by (str):
34
33
  edited_at (datetime.datetime):
34
+ is_flow (bool):
35
35
  server_id (Union[Unset, str]):
36
36
  error (Union[Unset, str]):
37
37
  last_server_ping (Union[Unset, datetime.datetime]):
38
38
  """
39
39
 
40
- path: str
41
- script_path: str
42
- is_flow: bool
43
40
  enabled: bool
44
41
  postgres_resource_path: str
45
42
  publication_name: str
46
43
  replication_slot_name: str
44
+ path: str
45
+ script_path: str
47
46
  email: str
48
47
  extra_perms: "ListPostgresTriggersResponse200ItemExtraPerms"
49
48
  workspace_id: str
50
49
  edited_by: str
51
50
  edited_at: datetime.datetime
51
+ is_flow: bool
52
52
  server_id: Union[Unset, str] = UNSET
53
53
  error: Union[Unset, str] = UNSET
54
54
  last_server_ping: Union[Unset, datetime.datetime] = UNSET
55
55
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
56
56
 
57
57
  def to_dict(self) -> Dict[str, Any]:
58
- path = self.path
59
- script_path = self.script_path
60
- is_flow = self.is_flow
61
58
  enabled = self.enabled
62
59
  postgres_resource_path = self.postgres_resource_path
63
60
  publication_name = self.publication_name
64
61
  replication_slot_name = self.replication_slot_name
62
+ path = self.path
63
+ script_path = self.script_path
65
64
  email = self.email
66
65
  extra_perms = self.extra_perms.to_dict()
67
66
 
@@ -69,6 +68,7 @@ class ListPostgresTriggersResponse200Item:
69
68
  edited_by = self.edited_by
70
69
  edited_at = self.edited_at.isoformat()
71
70
 
71
+ is_flow = self.is_flow
72
72
  server_id = self.server_id
73
73
  error = self.error
74
74
  last_server_ping: Union[Unset, str] = UNSET
@@ -79,18 +79,18 @@ class ListPostgresTriggersResponse200Item:
79
79
  field_dict.update(self.additional_properties)
80
80
  field_dict.update(
81
81
  {
82
- "path": path,
83
- "script_path": script_path,
84
- "is_flow": is_flow,
85
82
  "enabled": enabled,
86
83
  "postgres_resource_path": postgres_resource_path,
87
84
  "publication_name": publication_name,
88
85
  "replication_slot_name": replication_slot_name,
86
+ "path": path,
87
+ "script_path": script_path,
89
88
  "email": email,
90
89
  "extra_perms": extra_perms,
91
90
  "workspace_id": workspace_id,
92
91
  "edited_by": edited_by,
93
92
  "edited_at": edited_at,
93
+ "is_flow": is_flow,
94
94
  }
95
95
  )
96
96
  if server_id is not UNSET:
@@ -109,12 +109,6 @@ class ListPostgresTriggersResponse200Item:
109
109
  )
110
110
 
111
111
  d = src_dict.copy()
112
- path = d.pop("path")
113
-
114
- script_path = d.pop("script_path")
115
-
116
- is_flow = d.pop("is_flow")
117
-
118
112
  enabled = d.pop("enabled")
119
113
 
120
114
  postgres_resource_path = d.pop("postgres_resource_path")
@@ -123,6 +117,10 @@ class ListPostgresTriggersResponse200Item:
123
117
 
124
118
  replication_slot_name = d.pop("replication_slot_name")
125
119
 
120
+ path = d.pop("path")
121
+
122
+ script_path = d.pop("script_path")
123
+
126
124
  email = d.pop("email")
127
125
 
128
126
  extra_perms = ListPostgresTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
@@ -133,6 +131,8 @@ class ListPostgresTriggersResponse200Item:
133
131
 
134
132
  edited_at = isoparse(d.pop("edited_at"))
135
133
 
134
+ is_flow = d.pop("is_flow")
135
+
136
136
  server_id = d.pop("server_id", UNSET)
137
137
 
138
138
  error = d.pop("error", UNSET)
@@ -145,18 +145,18 @@ class ListPostgresTriggersResponse200Item:
145
145
  last_server_ping = isoparse(_last_server_ping)
146
146
 
147
147
  list_postgres_triggers_response_200_item = cls(
148
- path=path,
149
- script_path=script_path,
150
- is_flow=is_flow,
151
148
  enabled=enabled,
152
149
  postgres_resource_path=postgres_resource_path,
153
150
  publication_name=publication_name,
154
151
  replication_slot_name=replication_slot_name,
152
+ path=path,
153
+ script_path=script_path,
155
154
  email=email,
156
155
  extra_perms=extra_perms,
157
156
  workspace_id=workspace_id,
158
157
  edited_by=edited_by,
159
158
  edited_at=edited_at,
159
+ is_flow=is_flow,
160
160
  server_id=server_id,
161
161
  error=error,
162
162
  last_server_ping=last_server_ping,
@@ -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.list_sqs_triggers_response_200_item_extra_perms import ListSqsTriggersResponse200ItemExtraPerms
12
+
13
+
14
+ T = TypeVar("T", bound="ListSqsTriggersResponse200Item")
15
+
16
+
17
+ @_attrs_define
18
+ class ListSqsTriggersResponse200Item:
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 (ListSqsTriggersResponse200ItemExtraPerms):
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: "ListSqsTriggersResponse200ItemExtraPerms"
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.list_sqs_triggers_response_200_item_extra_perms import ListSqsTriggersResponse200ItemExtraPerms
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 = ListSqsTriggersResponse200ItemExtraPerms.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
+ list_sqs_triggers_response_200_item = 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
+ list_sqs_triggers_response_200_item.additional_properties = d
167
+ return list_sqs_triggers_response_200_item
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