windmill-api 1.444.0__py3-none-any.whl → 1.445.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of windmill-api might be problematic. Click here for more details.

Files changed (49) hide show
  1. windmill_api/api/capture/list_captures.py +30 -0
  2. windmill_api/api/input_/get_input_history.py +15 -0
  3. windmill_api/api/nats_trigger/__init__.py +0 -0
  4. windmill_api/api/nats_trigger/create_nats_trigger.py +105 -0
  5. windmill_api/api/nats_trigger/delete_nats_trigger.py +101 -0
  6. windmill_api/api/nats_trigger/exists_nats_trigger.py +160 -0
  7. windmill_api/api/nats_trigger/get_nats_trigger.py +166 -0
  8. windmill_api/api/nats_trigger/list_nats_triggers.py +237 -0
  9. windmill_api/api/nats_trigger/set_nats_trigger_enabled.py +113 -0
  10. windmill_api/api/nats_trigger/update_nats_trigger.py +113 -0
  11. windmill_api/api/workspace/change_workspace_color.py +105 -0
  12. windmill_api/models/add_granular_acls_kind.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/change_workspace_color_json_body.py +58 -0
  16. windmill_api/models/create_nats_trigger_json_body.py +120 -0
  17. windmill_api/models/create_workspace.py +8 -0
  18. windmill_api/models/create_workspace_json_body.py +8 -0
  19. windmill_api/models/edit_nats_trigger.py +112 -0
  20. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  21. windmill_api/models/get_granular_acls_kind.py +1 -0
  22. windmill_api/models/get_nats_trigger_response_200.py +196 -0
  23. windmill_api/models/get_nats_trigger_response_200_extra_perms.py +44 -0
  24. windmill_api/models/get_settings_response_200.py +8 -0
  25. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  26. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  27. windmill_api/models/get_used_triggers_response_200.py +7 -0
  28. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  29. windmill_api/models/list_captures_trigger_kind.py +1 -0
  30. windmill_api/models/list_nats_triggers_response_200_item.py +196 -0
  31. windmill_api/models/list_nats_triggers_response_200_item_extra_perms.py +44 -0
  32. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +7 -0
  33. windmill_api/models/list_workspaces_as_super_admin_response_200_item.py +8 -0
  34. windmill_api/models/list_workspaces_response_200_item.py +8 -0
  35. windmill_api/models/nats_trigger.py +196 -0
  36. windmill_api/models/nats_trigger_extra_perms.py +44 -0
  37. windmill_api/models/new_nats_trigger.py +120 -0
  38. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  39. windmill_api/models/remove_granular_acls_kind.py +1 -0
  40. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  41. windmill_api/models/set_nats_trigger_enabled_json_body.py +58 -0
  42. windmill_api/models/triggers_count.py +8 -0
  43. windmill_api/models/update_nats_trigger_json_body.py +112 -0
  44. windmill_api/models/user_workspace_list_workspaces_item.py +7 -0
  45. windmill_api/models/workspace.py +8 -0
  46. {windmill_api-1.444.0.dist-info → windmill_api-1.445.1.dist-info}/METADATA +1 -1
  47. {windmill_api-1.444.0.dist-info → windmill_api-1.445.1.dist-info}/RECORD +49 -28
  48. {windmill_api-1.444.0.dist-info → windmill_api-1.445.1.dist-info}/LICENSE +0 -0
  49. {windmill_api-1.444.0.dist-info → windmill_api-1.445.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,196 @@
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.get_nats_trigger_response_200_extra_perms import GetNatsTriggerResponse200ExtraPerms
12
+
13
+
14
+ T = TypeVar("T", bound="GetNatsTriggerResponse200")
15
+
16
+
17
+ @_attrs_define
18
+ class GetNatsTriggerResponse200:
19
+ """
20
+ Attributes:
21
+ path (str):
22
+ edited_by (str):
23
+ edited_at (datetime.datetime):
24
+ script_path (str):
25
+ nats_resource_path (str):
26
+ use_jetstream (bool):
27
+ subjects (List[str]):
28
+ is_flow (bool):
29
+ extra_perms (GetNatsTriggerResponse200ExtraPerms):
30
+ email (str):
31
+ workspace_id (str):
32
+ enabled (bool):
33
+ stream_name (Union[Unset, str]):
34
+ consumer_name (Union[Unset, str]):
35
+ server_id (Union[Unset, str]):
36
+ last_server_ping (Union[Unset, datetime.datetime]):
37
+ error (Union[Unset, str]):
38
+ """
39
+
40
+ path: str
41
+ edited_by: str
42
+ edited_at: datetime.datetime
43
+ script_path: str
44
+ nats_resource_path: str
45
+ use_jetstream: bool
46
+ subjects: List[str]
47
+ is_flow: bool
48
+ extra_perms: "GetNatsTriggerResponse200ExtraPerms"
49
+ email: str
50
+ workspace_id: str
51
+ enabled: bool
52
+ stream_name: Union[Unset, str] = UNSET
53
+ consumer_name: Union[Unset, str] = UNSET
54
+ server_id: Union[Unset, str] = UNSET
55
+ last_server_ping: Union[Unset, datetime.datetime] = UNSET
56
+ error: Union[Unset, str] = UNSET
57
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
58
+
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
+ nats_resource_path = self.nats_resource_path
66
+ use_jetstream = self.use_jetstream
67
+ subjects = self.subjects
68
+
69
+ is_flow = self.is_flow
70
+ extra_perms = self.extra_perms.to_dict()
71
+
72
+ email = self.email
73
+ workspace_id = self.workspace_id
74
+ enabled = self.enabled
75
+ stream_name = self.stream_name
76
+ consumer_name = self.consumer_name
77
+ server_id = self.server_id
78
+ last_server_ping: Union[Unset, str] = UNSET
79
+ if not isinstance(self.last_server_ping, Unset):
80
+ last_server_ping = self.last_server_ping.isoformat()
81
+
82
+ error = self.error
83
+
84
+ field_dict: Dict[str, Any] = {}
85
+ field_dict.update(self.additional_properties)
86
+ field_dict.update(
87
+ {
88
+ "path": path,
89
+ "edited_by": edited_by,
90
+ "edited_at": edited_at,
91
+ "script_path": script_path,
92
+ "nats_resource_path": nats_resource_path,
93
+ "use_jetstream": use_jetstream,
94
+ "subjects": subjects,
95
+ "is_flow": is_flow,
96
+ "extra_perms": extra_perms,
97
+ "email": email,
98
+ "workspace_id": workspace_id,
99
+ "enabled": enabled,
100
+ }
101
+ )
102
+ if stream_name is not UNSET:
103
+ field_dict["stream_name"] = stream_name
104
+ if consumer_name is not UNSET:
105
+ field_dict["consumer_name"] = consumer_name
106
+ if server_id is not UNSET:
107
+ field_dict["server_id"] = server_id
108
+ if last_server_ping is not UNSET:
109
+ field_dict["last_server_ping"] = last_server_ping
110
+ if error is not UNSET:
111
+ field_dict["error"] = error
112
+
113
+ return field_dict
114
+
115
+ @classmethod
116
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
117
+ from ..models.get_nats_trigger_response_200_extra_perms import GetNatsTriggerResponse200ExtraPerms
118
+
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
+ nats_resource_path = d.pop("nats_resource_path")
129
+
130
+ use_jetstream = d.pop("use_jetstream")
131
+
132
+ subjects = cast(List[str], d.pop("subjects"))
133
+
134
+ is_flow = d.pop("is_flow")
135
+
136
+ extra_perms = GetNatsTriggerResponse200ExtraPerms.from_dict(d.pop("extra_perms"))
137
+
138
+ email = d.pop("email")
139
+
140
+ workspace_id = d.pop("workspace_id")
141
+
142
+ enabled = d.pop("enabled")
143
+
144
+ stream_name = d.pop("stream_name", UNSET)
145
+
146
+ consumer_name = d.pop("consumer_name", UNSET)
147
+
148
+ server_id = d.pop("server_id", UNSET)
149
+
150
+ _last_server_ping = d.pop("last_server_ping", UNSET)
151
+ last_server_ping: Union[Unset, datetime.datetime]
152
+ if isinstance(_last_server_ping, Unset):
153
+ last_server_ping = UNSET
154
+ else:
155
+ last_server_ping = isoparse(_last_server_ping)
156
+
157
+ error = d.pop("error", UNSET)
158
+
159
+ get_nats_trigger_response_200 = cls(
160
+ path=path,
161
+ edited_by=edited_by,
162
+ edited_at=edited_at,
163
+ script_path=script_path,
164
+ nats_resource_path=nats_resource_path,
165
+ use_jetstream=use_jetstream,
166
+ subjects=subjects,
167
+ is_flow=is_flow,
168
+ extra_perms=extra_perms,
169
+ email=email,
170
+ workspace_id=workspace_id,
171
+ enabled=enabled,
172
+ stream_name=stream_name,
173
+ consumer_name=consumer_name,
174
+ server_id=server_id,
175
+ last_server_ping=last_server_ping,
176
+ error=error,
177
+ )
178
+
179
+ get_nats_trigger_response_200.additional_properties = d
180
+ return get_nats_trigger_response_200
181
+
182
+ @property
183
+ def additional_keys(self) -> List[str]:
184
+ return list(self.additional_properties.keys())
185
+
186
+ def __getitem__(self, key: str) -> Any:
187
+ return self.additional_properties[key]
188
+
189
+ def __setitem__(self, key: str, value: Any) -> None:
190
+ self.additional_properties[key] = value
191
+
192
+ def __delitem__(self, key: str) -> None:
193
+ del self.additional_properties[key]
194
+
195
+ def __contains__(self, key: str) -> bool:
196
+ 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="GetNatsTriggerResponse200ExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class GetNatsTriggerResponse200ExtraPerms:
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
+ get_nats_trigger_response_200_extra_perms = cls()
26
+
27
+ get_nats_trigger_response_200_extra_perms.additional_properties = d
28
+ return get_nats_trigger_response_200_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
@@ -44,6 +44,7 @@ class GetSettingsResponse200:
44
44
  default_app (Union[Unset, str]):
45
45
  default_scripts (Union[Unset, GetSettingsResponse200DefaultScripts]):
46
46
  mute_critical_alerts (Union[Unset, bool]):
47
+ color (Union[Unset, str]):
47
48
  """
48
49
 
49
50
  automatic_billing: bool
@@ -69,6 +70,7 @@ class GetSettingsResponse200:
69
70
  default_app: Union[Unset, str] = UNSET
70
71
  default_scripts: Union[Unset, "GetSettingsResponse200DefaultScripts"] = UNSET
71
72
  mute_critical_alerts: Union[Unset, bool] = UNSET
73
+ color: Union[Unset, str] = UNSET
72
74
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
73
75
 
74
76
  def to_dict(self) -> Dict[str, Any]:
@@ -113,6 +115,7 @@ class GetSettingsResponse200:
113
115
  default_scripts = self.default_scripts.to_dict()
114
116
 
115
117
  mute_critical_alerts = self.mute_critical_alerts
118
+ color = self.color
116
119
 
117
120
  field_dict: Dict[str, Any] = {}
118
121
  field_dict.update(self.additional_properties)
@@ -163,6 +166,8 @@ class GetSettingsResponse200:
163
166
  field_dict["default_scripts"] = default_scripts
164
167
  if mute_critical_alerts is not UNSET:
165
168
  field_dict["mute_critical_alerts"] = mute_critical_alerts
169
+ if color is not UNSET:
170
+ field_dict["color"] = color
166
171
 
167
172
  return field_dict
168
173
 
@@ -254,6 +259,8 @@ class GetSettingsResponse200:
254
259
 
255
260
  mute_critical_alerts = d.pop("mute_critical_alerts", UNSET)
256
261
 
262
+ color = d.pop("color", UNSET)
263
+
257
264
  get_settings_response_200 = cls(
258
265
  automatic_billing=automatic_billing,
259
266
  code_completion_enabled=code_completion_enabled,
@@ -278,6 +285,7 @@ class GetSettingsResponse200:
278
285
  default_app=default_app,
279
286
  default_scripts=default_scripts,
280
287
  mute_critical_alerts=mute_critical_alerts,
288
+ color=color,
281
289
  )
282
290
 
283
291
  get_settings_response_200.additional_properties = d
@@ -25,6 +25,7 @@ class GetTriggersCountOfFlowResponse200:
25
25
  email_count (Union[Unset, float]):
26
26
  websocket_count (Union[Unset, float]):
27
27
  kafka_count (Union[Unset, float]):
28
+ nats_count (Union[Unset, float]):
28
29
  """
29
30
 
30
31
  primary_schedule: Union[Unset, "GetTriggersCountOfFlowResponse200PrimarySchedule"] = UNSET
@@ -34,6 +35,7 @@ class GetTriggersCountOfFlowResponse200:
34
35
  email_count: Union[Unset, float] = UNSET
35
36
  websocket_count: Union[Unset, float] = UNSET
36
37
  kafka_count: Union[Unset, float] = UNSET
38
+ nats_count: Union[Unset, float] = UNSET
37
39
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
40
 
39
41
  def to_dict(self) -> Dict[str, Any]:
@@ -47,6 +49,7 @@ class GetTriggersCountOfFlowResponse200:
47
49
  email_count = self.email_count
48
50
  websocket_count = self.websocket_count
49
51
  kafka_count = self.kafka_count
52
+ nats_count = self.nats_count
50
53
 
51
54
  field_dict: Dict[str, Any] = {}
52
55
  field_dict.update(self.additional_properties)
@@ -65,6 +68,8 @@ class GetTriggersCountOfFlowResponse200:
65
68
  field_dict["websocket_count"] = websocket_count
66
69
  if kafka_count is not UNSET:
67
70
  field_dict["kafka_count"] = kafka_count
71
+ if nats_count is not UNSET:
72
+ field_dict["nats_count"] = nats_count
68
73
 
69
74
  return field_dict
70
75
 
@@ -94,6 +99,8 @@ class GetTriggersCountOfFlowResponse200:
94
99
 
95
100
  kafka_count = d.pop("kafka_count", UNSET)
96
101
 
102
+ nats_count = d.pop("nats_count", UNSET)
103
+
97
104
  get_triggers_count_of_flow_response_200 = cls(
98
105
  primary_schedule=primary_schedule,
99
106
  schedule_count=schedule_count,
@@ -102,6 +109,7 @@ class GetTriggersCountOfFlowResponse200:
102
109
  email_count=email_count,
103
110
  websocket_count=websocket_count,
104
111
  kafka_count=kafka_count,
112
+ nats_count=nats_count,
105
113
  )
106
114
 
107
115
  get_triggers_count_of_flow_response_200.additional_properties = d
@@ -25,6 +25,7 @@ class GetTriggersCountOfScriptResponse200:
25
25
  email_count (Union[Unset, float]):
26
26
  websocket_count (Union[Unset, float]):
27
27
  kafka_count (Union[Unset, float]):
28
+ nats_count (Union[Unset, float]):
28
29
  """
29
30
 
30
31
  primary_schedule: Union[Unset, "GetTriggersCountOfScriptResponse200PrimarySchedule"] = UNSET
@@ -34,6 +35,7 @@ class GetTriggersCountOfScriptResponse200:
34
35
  email_count: Union[Unset, float] = UNSET
35
36
  websocket_count: Union[Unset, float] = UNSET
36
37
  kafka_count: Union[Unset, float] = UNSET
38
+ nats_count: Union[Unset, float] = UNSET
37
39
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
40
 
39
41
  def to_dict(self) -> Dict[str, Any]:
@@ -47,6 +49,7 @@ class GetTriggersCountOfScriptResponse200:
47
49
  email_count = self.email_count
48
50
  websocket_count = self.websocket_count
49
51
  kafka_count = self.kafka_count
52
+ nats_count = self.nats_count
50
53
 
51
54
  field_dict: Dict[str, Any] = {}
52
55
  field_dict.update(self.additional_properties)
@@ -65,6 +68,8 @@ class GetTriggersCountOfScriptResponse200:
65
68
  field_dict["websocket_count"] = websocket_count
66
69
  if kafka_count is not UNSET:
67
70
  field_dict["kafka_count"] = kafka_count
71
+ if nats_count is not UNSET:
72
+ field_dict["nats_count"] = nats_count
68
73
 
69
74
  return field_dict
70
75
 
@@ -94,6 +99,8 @@ class GetTriggersCountOfScriptResponse200:
94
99
 
95
100
  kafka_count = d.pop("kafka_count", UNSET)
96
101
 
102
+ nats_count = d.pop("nats_count", UNSET)
103
+
97
104
  get_triggers_count_of_script_response_200 = cls(
98
105
  primary_schedule=primary_schedule,
99
106
  schedule_count=schedule_count,
@@ -102,6 +109,7 @@ class GetTriggersCountOfScriptResponse200:
102
109
  email_count=email_count,
103
110
  websocket_count=websocket_count,
104
111
  kafka_count=kafka_count,
112
+ nats_count=nats_count,
105
113
  )
106
114
 
107
115
  get_triggers_count_of_script_response_200.additional_properties = d
@@ -13,17 +13,20 @@ class GetUsedTriggersResponse200:
13
13
  http_routes_used (bool):
14
14
  websocket_used (bool):
15
15
  kafka_used (bool):
16
+ nats_used (bool):
16
17
  """
17
18
 
18
19
  http_routes_used: bool
19
20
  websocket_used: bool
20
21
  kafka_used: bool
22
+ nats_used: bool
21
23
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
24
 
23
25
  def to_dict(self) -> Dict[str, Any]:
24
26
  http_routes_used = self.http_routes_used
25
27
  websocket_used = self.websocket_used
26
28
  kafka_used = self.kafka_used
29
+ nats_used = self.nats_used
27
30
 
28
31
  field_dict: Dict[str, Any] = {}
29
32
  field_dict.update(self.additional_properties)
@@ -32,6 +35,7 @@ class GetUsedTriggersResponse200:
32
35
  "http_routes_used": http_routes_used,
33
36
  "websocket_used": websocket_used,
34
37
  "kafka_used": kafka_used,
38
+ "nats_used": nats_used,
35
39
  }
36
40
  )
37
41
 
@@ -46,10 +50,13 @@ class GetUsedTriggersResponse200:
46
50
 
47
51
  kafka_used = d.pop("kafka_used")
48
52
 
53
+ nats_used = d.pop("nats_used")
54
+
49
55
  get_used_triggers_response_200 = cls(
50
56
  http_routes_used=http_routes_used,
51
57
  websocket_used=websocket_used,
52
58
  kafka_used=kafka_used,
59
+ nats_used=nats_used,
53
60
  )
54
61
 
55
62
  get_used_triggers_response_200.additional_properties = d
@@ -5,6 +5,7 @@ class ListCapturesResponse200ItemTriggerKind(str, Enum):
5
5
  EMAIL = "email"
6
6
  HTTP = "http"
7
7
  KAFKA = "kafka"
8
+ NATS = "nats"
8
9
  WEBHOOK = "webhook"
9
10
  WEBSOCKET = "websocket"
10
11
 
@@ -5,6 +5,7 @@ class ListCapturesTriggerKind(str, Enum):
5
5
  EMAIL = "email"
6
6
  HTTP = "http"
7
7
  KAFKA = "kafka"
8
+ NATS = "nats"
8
9
  WEBHOOK = "webhook"
9
10
  WEBSOCKET = "websocket"
10
11
 
@@ -0,0 +1,196 @@
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_nats_triggers_response_200_item_extra_perms import ListNatsTriggersResponse200ItemExtraPerms
12
+
13
+
14
+ T = TypeVar("T", bound="ListNatsTriggersResponse200Item")
15
+
16
+
17
+ @_attrs_define
18
+ class ListNatsTriggersResponse200Item:
19
+ """
20
+ Attributes:
21
+ path (str):
22
+ edited_by (str):
23
+ edited_at (datetime.datetime):
24
+ script_path (str):
25
+ nats_resource_path (str):
26
+ use_jetstream (bool):
27
+ subjects (List[str]):
28
+ is_flow (bool):
29
+ extra_perms (ListNatsTriggersResponse200ItemExtraPerms):
30
+ email (str):
31
+ workspace_id (str):
32
+ enabled (bool):
33
+ stream_name (Union[Unset, str]):
34
+ consumer_name (Union[Unset, str]):
35
+ server_id (Union[Unset, str]):
36
+ last_server_ping (Union[Unset, datetime.datetime]):
37
+ error (Union[Unset, str]):
38
+ """
39
+
40
+ path: str
41
+ edited_by: str
42
+ edited_at: datetime.datetime
43
+ script_path: str
44
+ nats_resource_path: str
45
+ use_jetstream: bool
46
+ subjects: List[str]
47
+ is_flow: bool
48
+ extra_perms: "ListNatsTriggersResponse200ItemExtraPerms"
49
+ email: str
50
+ workspace_id: str
51
+ enabled: bool
52
+ stream_name: Union[Unset, str] = UNSET
53
+ consumer_name: Union[Unset, str] = UNSET
54
+ server_id: Union[Unset, str] = UNSET
55
+ last_server_ping: Union[Unset, datetime.datetime] = UNSET
56
+ error: Union[Unset, str] = UNSET
57
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
58
+
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
+ nats_resource_path = self.nats_resource_path
66
+ use_jetstream = self.use_jetstream
67
+ subjects = self.subjects
68
+
69
+ is_flow = self.is_flow
70
+ extra_perms = self.extra_perms.to_dict()
71
+
72
+ email = self.email
73
+ workspace_id = self.workspace_id
74
+ enabled = self.enabled
75
+ stream_name = self.stream_name
76
+ consumer_name = self.consumer_name
77
+ server_id = self.server_id
78
+ last_server_ping: Union[Unset, str] = UNSET
79
+ if not isinstance(self.last_server_ping, Unset):
80
+ last_server_ping = self.last_server_ping.isoformat()
81
+
82
+ error = self.error
83
+
84
+ field_dict: Dict[str, Any] = {}
85
+ field_dict.update(self.additional_properties)
86
+ field_dict.update(
87
+ {
88
+ "path": path,
89
+ "edited_by": edited_by,
90
+ "edited_at": edited_at,
91
+ "script_path": script_path,
92
+ "nats_resource_path": nats_resource_path,
93
+ "use_jetstream": use_jetstream,
94
+ "subjects": subjects,
95
+ "is_flow": is_flow,
96
+ "extra_perms": extra_perms,
97
+ "email": email,
98
+ "workspace_id": workspace_id,
99
+ "enabled": enabled,
100
+ }
101
+ )
102
+ if stream_name is not UNSET:
103
+ field_dict["stream_name"] = stream_name
104
+ if consumer_name is not UNSET:
105
+ field_dict["consumer_name"] = consumer_name
106
+ if server_id is not UNSET:
107
+ field_dict["server_id"] = server_id
108
+ if last_server_ping is not UNSET:
109
+ field_dict["last_server_ping"] = last_server_ping
110
+ if error is not UNSET:
111
+ field_dict["error"] = error
112
+
113
+ return field_dict
114
+
115
+ @classmethod
116
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
117
+ from ..models.list_nats_triggers_response_200_item_extra_perms import ListNatsTriggersResponse200ItemExtraPerms
118
+
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
+ nats_resource_path = d.pop("nats_resource_path")
129
+
130
+ use_jetstream = d.pop("use_jetstream")
131
+
132
+ subjects = cast(List[str], d.pop("subjects"))
133
+
134
+ is_flow = d.pop("is_flow")
135
+
136
+ extra_perms = ListNatsTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
137
+
138
+ email = d.pop("email")
139
+
140
+ workspace_id = d.pop("workspace_id")
141
+
142
+ enabled = d.pop("enabled")
143
+
144
+ stream_name = d.pop("stream_name", UNSET)
145
+
146
+ consumer_name = d.pop("consumer_name", UNSET)
147
+
148
+ server_id = d.pop("server_id", UNSET)
149
+
150
+ _last_server_ping = d.pop("last_server_ping", UNSET)
151
+ last_server_ping: Union[Unset, datetime.datetime]
152
+ if isinstance(_last_server_ping, Unset):
153
+ last_server_ping = UNSET
154
+ else:
155
+ last_server_ping = isoparse(_last_server_ping)
156
+
157
+ error = d.pop("error", UNSET)
158
+
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
+ nats_resource_path=nats_resource_path,
165
+ use_jetstream=use_jetstream,
166
+ subjects=subjects,
167
+ is_flow=is_flow,
168
+ extra_perms=extra_perms,
169
+ email=email,
170
+ workspace_id=workspace_id,
171
+ enabled=enabled,
172
+ stream_name=stream_name,
173
+ consumer_name=consumer_name,
174
+ server_id=server_id,
175
+ last_server_ping=last_server_ping,
176
+ error=error,
177
+ )
178
+
179
+ list_nats_triggers_response_200_item.additional_properties = d
180
+ return list_nats_triggers_response_200_item
181
+
182
+ @property
183
+ def additional_keys(self) -> List[str]:
184
+ return list(self.additional_properties.keys())
185
+
186
+ def __getitem__(self, key: str) -> Any:
187
+ return self.additional_properties[key]
188
+
189
+ def __setitem__(self, key: str, value: Any) -> None:
190
+ self.additional_properties[key] = value
191
+
192
+ def __delitem__(self, key: str) -> None:
193
+ del self.additional_properties[key]
194
+
195
+ def __contains__(self, key: str) -> bool:
196
+ 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="ListNatsTriggersResponse200ItemExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class ListNatsTriggersResponse200ItemExtraPerms:
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_nats_triggers_response_200_item_extra_perms = cls()
26
+
27
+ list_nats_triggers_response_200_item_extra_perms.additional_properties = d
28
+ return list_nats_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