windmill-api 1.443.0__py3-none-any.whl → 1.445.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 (68) hide show
  1. windmill_api/api/capture/{update_capture.py → delete_capture.py} +13 -13
  2. windmill_api/api/capture/get_capture_configs.py +186 -0
  3. windmill_api/api/capture/list_captures.py +211 -0
  4. windmill_api/api/capture/ping_capture_config.py +121 -0
  5. windmill_api/api/capture/set_capture_config.py +107 -0
  6. windmill_api/api/nats_trigger/__init__.py +0 -0
  7. windmill_api/api/nats_trigger/create_nats_trigger.py +105 -0
  8. windmill_api/api/{capture/create_capture.py → nats_trigger/delete_nats_trigger.py} +4 -6
  9. windmill_api/api/nats_trigger/exists_nats_trigger.py +160 -0
  10. windmill_api/api/nats_trigger/get_nats_trigger.py +166 -0
  11. windmill_api/api/nats_trigger/list_nats_triggers.py +237 -0
  12. windmill_api/api/nats_trigger/set_nats_trigger_enabled.py +113 -0
  13. windmill_api/api/{capture/get_capture.py → nats_trigger/update_nats_trigger.py} +16 -8
  14. windmill_api/api/workspace/change_workspace_color.py +105 -0
  15. windmill_api/models/add_granular_acls_kind.py +1 -0
  16. windmill_api/models/capture.py +94 -0
  17. windmill_api/models/capture_config.py +95 -0
  18. windmill_api/models/capture_config_trigger_kind.py +13 -0
  19. windmill_api/models/capture_trigger_kind.py +13 -0
  20. windmill_api/models/change_workspace_color_json_body.py +58 -0
  21. windmill_api/models/create_nats_trigger_json_body.py +120 -0
  22. windmill_api/models/create_websocket_trigger_json_body.py +42 -29
  23. windmill_api/models/create_workspace.py +8 -0
  24. windmill_api/models/create_workspace_json_body.py +8 -0
  25. windmill_api/models/edit_nats_trigger.py +112 -0
  26. windmill_api/models/edit_websocket_trigger.py +35 -21
  27. windmill_api/models/get_capture_configs_response_200_item.py +95 -0
  28. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +13 -0
  29. windmill_api/models/get_capture_configs_runnable_kind.py +9 -0
  30. windmill_api/models/get_granular_acls_kind.py +1 -0
  31. windmill_api/models/get_nats_trigger_response_200.py +196 -0
  32. windmill_api/models/get_nats_trigger_response_200_extra_perms.py +44 -0
  33. windmill_api/models/get_settings_response_200.py +8 -0
  34. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  35. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  36. windmill_api/models/get_used_triggers_response_200.py +7 -0
  37. windmill_api/models/get_websocket_trigger_response_200.py +54 -41
  38. windmill_api/models/list_captures_response_200_item.py +94 -0
  39. windmill_api/models/list_captures_response_200_item_trigger_kind.py +13 -0
  40. windmill_api/models/list_captures_runnable_kind.py +9 -0
  41. windmill_api/models/list_captures_trigger_kind.py +13 -0
  42. windmill_api/models/list_nats_triggers_response_200_item.py +196 -0
  43. windmill_api/models/list_nats_triggers_response_200_item_extra_perms.py +44 -0
  44. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +7 -0
  45. windmill_api/models/list_websocket_triggers_response_200_item.py +54 -41
  46. windmill_api/models/list_workspaces_as_super_admin_response_200_item.py +8 -0
  47. windmill_api/models/list_workspaces_response_200_item.py +8 -0
  48. windmill_api/models/nats_trigger.py +196 -0
  49. windmill_api/models/nats_trigger_extra_perms.py +44 -0
  50. windmill_api/models/new_nats_trigger.py +120 -0
  51. windmill_api/models/new_websocket_trigger.py +36 -26
  52. windmill_api/models/ping_capture_config_runnable_kind.py +9 -0
  53. windmill_api/models/ping_capture_config_trigger_kind.py +13 -0
  54. windmill_api/models/remove_granular_acls_kind.py +1 -0
  55. windmill_api/models/set_capture_config_json_body.py +97 -0
  56. windmill_api/models/set_capture_config_json_body_trigger_config.py +44 -0
  57. windmill_api/models/set_capture_config_json_body_trigger_kind.py +13 -0
  58. windmill_api/models/set_nats_trigger_enabled_json_body.py +58 -0
  59. windmill_api/models/triggers_count.py +8 -0
  60. windmill_api/models/update_nats_trigger_json_body.py +112 -0
  61. windmill_api/models/update_websocket_trigger_json_body.py +40 -24
  62. windmill_api/models/user_workspace_list_workspaces_item.py +7 -0
  63. windmill_api/models/websocket_trigger.py +48 -38
  64. windmill_api/models/workspace.py +8 -0
  65. {windmill_api-1.443.0.dist-info → windmill_api-1.445.0.dist-info}/METADATA +1 -1
  66. {windmill_api-1.443.0.dist-info → windmill_api-1.445.0.dist-info}/RECORD +68 -29
  67. {windmill_api-1.443.0.dist-info → windmill_api-1.445.0.dist-info}/LICENSE +0 -0
  68. {windmill_api-1.443.0.dist-info → windmill_api-1.445.0.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.nats_trigger_extra_perms import NatsTriggerExtraPerms
12
+
13
+
14
+ T = TypeVar("T", bound="NatsTrigger")
15
+
16
+
17
+ @_attrs_define
18
+ class NatsTrigger:
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 (NatsTriggerExtraPerms):
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: "NatsTriggerExtraPerms"
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.nats_trigger_extra_perms import NatsTriggerExtraPerms
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 = NatsTriggerExtraPerms.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
+ nats_trigger = 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
+ nats_trigger.additional_properties = d
180
+ return nats_trigger
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="NatsTriggerExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class NatsTriggerExtraPerms:
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
+ nats_trigger_extra_perms = cls()
26
+
27
+ nats_trigger_extra_perms.additional_properties = d
28
+ return nats_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,120 @@
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="NewNatsTrigger")
9
+
10
+
11
+ @_attrs_define
12
+ class NewNatsTrigger:
13
+ """
14
+ Attributes:
15
+ path (str):
16
+ script_path (str):
17
+ is_flow (bool):
18
+ nats_resource_path (str):
19
+ use_jetstream (bool):
20
+ subjects (List[str]):
21
+ stream_name (Union[Unset, str]):
22
+ consumer_name (Union[Unset, str]):
23
+ enabled (Union[Unset, bool]):
24
+ """
25
+
26
+ path: str
27
+ script_path: str
28
+ is_flow: bool
29
+ nats_resource_path: str
30
+ use_jetstream: bool
31
+ subjects: List[str]
32
+ stream_name: Union[Unset, str] = UNSET
33
+ consumer_name: Union[Unset, str] = UNSET
34
+ enabled: Union[Unset, bool] = UNSET
35
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> Dict[str, Any]:
38
+ path = self.path
39
+ script_path = self.script_path
40
+ is_flow = self.is_flow
41
+ nats_resource_path = self.nats_resource_path
42
+ use_jetstream = self.use_jetstream
43
+ subjects = self.subjects
44
+
45
+ stream_name = self.stream_name
46
+ consumer_name = self.consumer_name
47
+ enabled = self.enabled
48
+
49
+ field_dict: Dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update(
52
+ {
53
+ "path": path,
54
+ "script_path": script_path,
55
+ "is_flow": is_flow,
56
+ "nats_resource_path": nats_resource_path,
57
+ "use_jetstream": use_jetstream,
58
+ "subjects": subjects,
59
+ }
60
+ )
61
+ if stream_name is not UNSET:
62
+ field_dict["stream_name"] = stream_name
63
+ if consumer_name is not UNSET:
64
+ field_dict["consumer_name"] = consumer_name
65
+ if enabled is not UNSET:
66
+ field_dict["enabled"] = enabled
67
+
68
+ return field_dict
69
+
70
+ @classmethod
71
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
72
+ d = src_dict.copy()
73
+ path = d.pop("path")
74
+
75
+ script_path = d.pop("script_path")
76
+
77
+ is_flow = d.pop("is_flow")
78
+
79
+ nats_resource_path = d.pop("nats_resource_path")
80
+
81
+ use_jetstream = d.pop("use_jetstream")
82
+
83
+ subjects = cast(List[str], d.pop("subjects"))
84
+
85
+ stream_name = d.pop("stream_name", UNSET)
86
+
87
+ consumer_name = d.pop("consumer_name", UNSET)
88
+
89
+ enabled = d.pop("enabled", UNSET)
90
+
91
+ new_nats_trigger = cls(
92
+ path=path,
93
+ script_path=script_path,
94
+ is_flow=is_flow,
95
+ nats_resource_path=nats_resource_path,
96
+ use_jetstream=use_jetstream,
97
+ subjects=subjects,
98
+ stream_name=stream_name,
99
+ consumer_name=consumer_name,
100
+ enabled=enabled,
101
+ )
102
+
103
+ new_nats_trigger.additional_properties = d
104
+ return new_nats_trigger
105
+
106
+ @property
107
+ def additional_keys(self) -> List[str]:
108
+ return list(self.additional_properties.keys())
109
+
110
+ def __getitem__(self, key: str) -> Any:
111
+ return self.additional_properties[key]
112
+
113
+ def __setitem__(self, key: str, value: Any) -> None:
114
+ self.additional_properties[key] = value
115
+
116
+ def __delitem__(self, key: str) -> None:
117
+ del self.additional_properties[key]
118
+
119
+ def __contains__(self, key: str) -> bool:
120
+ return key in self.additional_properties
@@ -24,10 +24,10 @@ class NewWebsocketTrigger:
24
24
  is_flow (bool):
25
25
  url (str):
26
26
  filters (List['NewWebsocketTriggerFiltersItem']):
27
- initial_messages (List[Union['NewWebsocketTriggerInitialMessagesItemType0',
28
- 'NewWebsocketTriggerInitialMessagesItemType1']]):
29
- url_runnable_args (NewWebsocketTriggerUrlRunnableArgs):
30
27
  enabled (Union[Unset, bool]):
28
+ initial_messages (Union[Unset, List[Union['NewWebsocketTriggerInitialMessagesItemType0',
29
+ 'NewWebsocketTriggerInitialMessagesItemType1']]]):
30
+ url_runnable_args (Union[Unset, NewWebsocketTriggerUrlRunnableArgs]):
31
31
  """
32
32
 
33
33
  path: str
@@ -35,11 +35,11 @@ class NewWebsocketTrigger:
35
35
  is_flow: bool
36
36
  url: str
37
37
  filters: List["NewWebsocketTriggerFiltersItem"]
38
- initial_messages: List[
39
- Union["NewWebsocketTriggerInitialMessagesItemType0", "NewWebsocketTriggerInitialMessagesItemType1"]
40
- ]
41
- url_runnable_args: "NewWebsocketTriggerUrlRunnableArgs"
42
38
  enabled: Union[Unset, bool] = UNSET
39
+ initial_messages: Union[
40
+ Unset, List[Union["NewWebsocketTriggerInitialMessagesItemType0", "NewWebsocketTriggerInitialMessagesItemType1"]]
41
+ ] = UNSET
42
+ url_runnable_args: Union[Unset, "NewWebsocketTriggerUrlRunnableArgs"] = UNSET
43
43
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
44
44
 
45
45
  def to_dict(self) -> Dict[str, Any]:
@@ -57,21 +57,24 @@ class NewWebsocketTrigger:
57
57
 
58
58
  filters.append(filters_item)
59
59
 
60
- initial_messages = []
61
- for initial_messages_item_data in self.initial_messages:
62
- initial_messages_item: Dict[str, Any]
63
-
64
- if isinstance(initial_messages_item_data, NewWebsocketTriggerInitialMessagesItemType0):
65
- initial_messages_item = initial_messages_item_data.to_dict()
60
+ enabled = self.enabled
61
+ initial_messages: Union[Unset, List[Dict[str, Any]]] = UNSET
62
+ if not isinstance(self.initial_messages, Unset):
63
+ initial_messages = []
64
+ for initial_messages_item_data in self.initial_messages:
65
+ initial_messages_item: Dict[str, Any]
66
66
 
67
- else:
68
- initial_messages_item = initial_messages_item_data.to_dict()
67
+ if isinstance(initial_messages_item_data, NewWebsocketTriggerInitialMessagesItemType0):
68
+ initial_messages_item = initial_messages_item_data.to_dict()
69
69
 
70
- initial_messages.append(initial_messages_item)
70
+ else:
71
+ initial_messages_item = initial_messages_item_data.to_dict()
71
72
 
72
- url_runnable_args = self.url_runnable_args.to_dict()
73
+ initial_messages.append(initial_messages_item)
73
74
 
74
- enabled = self.enabled
75
+ url_runnable_args: Union[Unset, Dict[str, Any]] = UNSET
76
+ if not isinstance(self.url_runnable_args, Unset):
77
+ url_runnable_args = self.url_runnable_args.to_dict()
75
78
 
76
79
  field_dict: Dict[str, Any] = {}
77
80
  field_dict.update(self.additional_properties)
@@ -82,12 +85,14 @@ class NewWebsocketTrigger:
82
85
  "is_flow": is_flow,
83
86
  "url": url,
84
87
  "filters": filters,
85
- "initial_messages": initial_messages,
86
- "url_runnable_args": url_runnable_args,
87
88
  }
88
89
  )
89
90
  if enabled is not UNSET:
90
91
  field_dict["enabled"] = enabled
92
+ if initial_messages is not UNSET:
93
+ field_dict["initial_messages"] = initial_messages
94
+ if url_runnable_args is not UNSET:
95
+ field_dict["url_runnable_args"] = url_runnable_args
91
96
 
92
97
  return field_dict
93
98
 
@@ -118,9 +123,11 @@ class NewWebsocketTrigger:
118
123
 
119
124
  filters.append(filters_item)
120
125
 
126
+ enabled = d.pop("enabled", UNSET)
127
+
121
128
  initial_messages = []
122
- _initial_messages = d.pop("initial_messages")
123
- for initial_messages_item_data in _initial_messages:
129
+ _initial_messages = d.pop("initial_messages", UNSET)
130
+ for initial_messages_item_data in _initial_messages or []:
124
131
 
125
132
  def _parse_initial_messages_item(
126
133
  data: object,
@@ -143,9 +150,12 @@ class NewWebsocketTrigger:
143
150
 
144
151
  initial_messages.append(initial_messages_item)
145
152
 
146
- url_runnable_args = NewWebsocketTriggerUrlRunnableArgs.from_dict(d.pop("url_runnable_args"))
147
-
148
- enabled = d.pop("enabled", UNSET)
153
+ _url_runnable_args = d.pop("url_runnable_args", UNSET)
154
+ url_runnable_args: Union[Unset, NewWebsocketTriggerUrlRunnableArgs]
155
+ if isinstance(_url_runnable_args, Unset):
156
+ url_runnable_args = UNSET
157
+ else:
158
+ url_runnable_args = NewWebsocketTriggerUrlRunnableArgs.from_dict(_url_runnable_args)
149
159
 
150
160
  new_websocket_trigger = cls(
151
161
  path=path,
@@ -153,9 +163,9 @@ class NewWebsocketTrigger:
153
163
  is_flow=is_flow,
154
164
  url=url,
155
165
  filters=filters,
166
+ enabled=enabled,
156
167
  initial_messages=initial_messages,
157
168
  url_runnable_args=url_runnable_args,
158
- enabled=enabled,
159
169
  )
160
170
 
161
171
  new_websocket_trigger.additional_properties = d
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PingCaptureConfigRunnableKind(str, Enum):
5
+ FLOW = "flow"
6
+ SCRIPT = "script"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,13 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PingCaptureConfigTriggerKind(str, Enum):
5
+ EMAIL = "email"
6
+ HTTP = "http"
7
+ KAFKA = "kafka"
8
+ NATS = "nats"
9
+ WEBHOOK = "webhook"
10
+ WEBSOCKET = "websocket"
11
+
12
+ def __str__(self) -> str:
13
+ return str(self.value)
@@ -8,6 +8,7 @@ class RemoveGranularAclsKind(str, Enum):
8
8
  GROUP = "group_"
9
9
  HTTP_TRIGGER = "http_trigger"
10
10
  KAFKA_TRIGGER = "kafka_trigger"
11
+ NATS_TRIGGER = "nats_trigger"
11
12
  RAW_APP = "raw_app"
12
13
  RESOURCE = "resource"
13
14
  SCHEDULE = "schedule"
@@ -0,0 +1,97 @@
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 ..models.set_capture_config_json_body_trigger_kind import SetCaptureConfigJsonBodyTriggerKind
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.set_capture_config_json_body_trigger_config import SetCaptureConfigJsonBodyTriggerConfig
11
+
12
+
13
+ T = TypeVar("T", bound="SetCaptureConfigJsonBody")
14
+
15
+
16
+ @_attrs_define
17
+ class SetCaptureConfigJsonBody:
18
+ """
19
+ Attributes:
20
+ trigger_kind (SetCaptureConfigJsonBodyTriggerKind):
21
+ path (str):
22
+ is_flow (bool):
23
+ trigger_config (Union[Unset, SetCaptureConfigJsonBodyTriggerConfig]):
24
+ """
25
+
26
+ trigger_kind: SetCaptureConfigJsonBodyTriggerKind
27
+ path: str
28
+ is_flow: bool
29
+ trigger_config: Union[Unset, "SetCaptureConfigJsonBodyTriggerConfig"] = UNSET
30
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+ def to_dict(self) -> Dict[str, Any]:
33
+ trigger_kind = self.trigger_kind.value
34
+
35
+ path = self.path
36
+ is_flow = self.is_flow
37
+ trigger_config: Union[Unset, Dict[str, Any]] = UNSET
38
+ if not isinstance(self.trigger_config, Unset):
39
+ trigger_config = self.trigger_config.to_dict()
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update(
44
+ {
45
+ "trigger_kind": trigger_kind,
46
+ "path": path,
47
+ "is_flow": is_flow,
48
+ }
49
+ )
50
+ if trigger_config is not UNSET:
51
+ field_dict["trigger_config"] = trigger_config
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ from ..models.set_capture_config_json_body_trigger_config import SetCaptureConfigJsonBodyTriggerConfig
58
+
59
+ d = src_dict.copy()
60
+ trigger_kind = SetCaptureConfigJsonBodyTriggerKind(d.pop("trigger_kind"))
61
+
62
+ path = d.pop("path")
63
+
64
+ is_flow = d.pop("is_flow")
65
+
66
+ _trigger_config = d.pop("trigger_config", UNSET)
67
+ trigger_config: Union[Unset, SetCaptureConfigJsonBodyTriggerConfig]
68
+ if isinstance(_trigger_config, Unset):
69
+ trigger_config = UNSET
70
+ else:
71
+ trigger_config = SetCaptureConfigJsonBodyTriggerConfig.from_dict(_trigger_config)
72
+
73
+ set_capture_config_json_body = cls(
74
+ trigger_kind=trigger_kind,
75
+ path=path,
76
+ is_flow=is_flow,
77
+ trigger_config=trigger_config,
78
+ )
79
+
80
+ set_capture_config_json_body.additional_properties = d
81
+ return set_capture_config_json_body
82
+
83
+ @property
84
+ def additional_keys(self) -> List[str]:
85
+ return list(self.additional_properties.keys())
86
+
87
+ def __getitem__(self, key: str) -> Any:
88
+ return self.additional_properties[key]
89
+
90
+ def __setitem__(self, key: str, value: Any) -> None:
91
+ self.additional_properties[key] = value
92
+
93
+ def __delitem__(self, key: str) -> None:
94
+ del self.additional_properties[key]
95
+
96
+ def __contains__(self, key: str) -> bool:
97
+ 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="SetCaptureConfigJsonBodyTriggerConfig")
7
+
8
+
9
+ @_attrs_define
10
+ class SetCaptureConfigJsonBodyTriggerConfig:
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
+ set_capture_config_json_body_trigger_config = cls()
26
+
27
+ set_capture_config_json_body_trigger_config.additional_properties = d
28
+ return set_capture_config_json_body_trigger_config
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,13 @@
1
+ from enum import Enum
2
+
3
+
4
+ class SetCaptureConfigJsonBodyTriggerKind(str, Enum):
5
+ EMAIL = "email"
6
+ HTTP = "http"
7
+ KAFKA = "kafka"
8
+ NATS = "nats"
9
+ WEBHOOK = "webhook"
10
+ WEBSOCKET = "websocket"
11
+
12
+ def __str__(self) -> str:
13
+ return str(self.value)