windmill-api 1.409.3__py3-none-any.whl → 1.410.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 (44) hide show
  1. windmill_api/api/app/get_app_latest_version.py +166 -0
  2. windmill_api/api/flow/get_flow_latest_version.py +166 -0
  3. windmill_api/api/script/get_script_latest_version.py +166 -0
  4. windmill_api/api/websocket_trigger/__init__.py +0 -0
  5. windmill_api/api/websocket_trigger/create_websocket_trigger.py +105 -0
  6. windmill_api/api/websocket_trigger/delete_websocket_trigger.py +101 -0
  7. windmill_api/api/{http_trigger/used.py → websocket_trigger/exists_websocket_trigger.py} +19 -5
  8. windmill_api/api/websocket_trigger/get_websocket_trigger.py +166 -0
  9. windmill_api/api/websocket_trigger/list_websocket_triggers.py +237 -0
  10. windmill_api/api/websocket_trigger/set_websocket_trigger_enabled.py +113 -0
  11. windmill_api/api/websocket_trigger/update_websocket_trigger.py +113 -0
  12. windmill_api/api/workspace/get_used_triggers.py +152 -0
  13. windmill_api/models/add_granular_acls_kind.py +1 -0
  14. windmill_api/models/create_websocket_trigger_json_body.py +112 -0
  15. windmill_api/models/create_websocket_trigger_json_body_filters_item.py +65 -0
  16. windmill_api/models/edit_websocket_trigger.py +101 -0
  17. windmill_api/models/edit_websocket_trigger_filters_item.py +65 -0
  18. windmill_api/models/get_app_latest_version_response_200.py +68 -0
  19. windmill_api/models/get_flow_latest_version_response_200.py +78 -0
  20. windmill_api/models/get_granular_acls_kind.py +1 -0
  21. windmill_api/models/get_script_latest_version_response_200.py +68 -0
  22. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  23. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  24. windmill_api/models/get_used_triggers_response_200.py +65 -0
  25. windmill_api/models/get_websocket_trigger_response_200.py +184 -0
  26. windmill_api/models/get_websocket_trigger_response_200_extra_perms.py +44 -0
  27. windmill_api/models/get_websocket_trigger_response_200_filters_item.py +65 -0
  28. windmill_api/models/list_websocket_triggers_response_200_item.py +192 -0
  29. windmill_api/models/list_websocket_triggers_response_200_item_extra_perms.py +44 -0
  30. windmill_api/models/list_websocket_triggers_response_200_item_filters_item.py +65 -0
  31. windmill_api/models/new_websocket_trigger.py +112 -0
  32. windmill_api/models/new_websocket_trigger_filters_item.py +65 -0
  33. windmill_api/models/remove_granular_acls_kind.py +1 -0
  34. windmill_api/models/set_websocket_trigger_enabled_json_body.py +58 -0
  35. windmill_api/models/triggers_count.py +8 -0
  36. windmill_api/models/update_websocket_trigger_json_body.py +101 -0
  37. windmill_api/models/update_websocket_trigger_json_body_filters_item.py +65 -0
  38. windmill_api/models/websocket_trigger.py +184 -0
  39. windmill_api/models/websocket_trigger_extra_perms.py +44 -0
  40. windmill_api/models/websocket_trigger_filters_item.py +65 -0
  41. {windmill_api-1.409.3.dist-info → windmill_api-1.410.0.dist-info}/METADATA +1 -1
  42. {windmill_api-1.409.3.dist-info → windmill_api-1.410.0.dist-info}/RECORD +44 -11
  43. {windmill_api-1.409.3.dist-info → windmill_api-1.410.0.dist-info}/LICENSE +0 -0
  44. {windmill_api-1.409.3.dist-info → windmill_api-1.410.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,78 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="GetFlowLatestVersionResponse200")
11
+
12
+
13
+ @_attrs_define
14
+ class GetFlowLatestVersionResponse200:
15
+ """
16
+ Attributes:
17
+ id (int):
18
+ created_at (datetime.datetime):
19
+ deployment_msg (Union[Unset, str]):
20
+ """
21
+
22
+ id: int
23
+ created_at: datetime.datetime
24
+ deployment_msg: Union[Unset, str] = UNSET
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ id = self.id
29
+ created_at = self.created_at.isoformat()
30
+
31
+ deployment_msg = self.deployment_msg
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "id": id,
38
+ "created_at": created_at,
39
+ }
40
+ )
41
+ if deployment_msg is not UNSET:
42
+ field_dict["deployment_msg"] = deployment_msg
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48
+ d = src_dict.copy()
49
+ id = d.pop("id")
50
+
51
+ created_at = isoparse(d.pop("created_at"))
52
+
53
+ deployment_msg = d.pop("deployment_msg", UNSET)
54
+
55
+ get_flow_latest_version_response_200 = cls(
56
+ id=id,
57
+ created_at=created_at,
58
+ deployment_msg=deployment_msg,
59
+ )
60
+
61
+ get_flow_latest_version_response_200.additional_properties = d
62
+ return get_flow_latest_version_response_200
63
+
64
+ @property
65
+ def additional_keys(self) -> List[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ return key in self.additional_properties
@@ -12,6 +12,7 @@ class GetGranularAclsKind(str, Enum):
12
12
  SCHEDULE = "schedule"
13
13
  SCRIPT = "script"
14
14
  VARIABLE = "variable"
15
+ WEBSOCKET_TRIGGER = "websocket_trigger"
15
16
 
16
17
  def __str__(self) -> str:
17
18
  return str(self.value)
@@ -0,0 +1,68 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GetScriptLatestVersionResponse200")
9
+
10
+
11
+ @_attrs_define
12
+ class GetScriptLatestVersionResponse200:
13
+ """
14
+ Attributes:
15
+ script_hash (str):
16
+ deployment_msg (Union[Unset, str]):
17
+ """
18
+
19
+ script_hash: str
20
+ deployment_msg: Union[Unset, str] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ script_hash = self.script_hash
25
+ deployment_msg = self.deployment_msg
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "script_hash": script_hash,
32
+ }
33
+ )
34
+ if deployment_msg is not UNSET:
35
+ field_dict["deployment_msg"] = deployment_msg
36
+
37
+ return field_dict
38
+
39
+ @classmethod
40
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
41
+ d = src_dict.copy()
42
+ script_hash = d.pop("script_hash")
43
+
44
+ deployment_msg = d.pop("deployment_msg", UNSET)
45
+
46
+ get_script_latest_version_response_200 = cls(
47
+ script_hash=script_hash,
48
+ deployment_msg=deployment_msg,
49
+ )
50
+
51
+ get_script_latest_version_response_200.additional_properties = d
52
+ return get_script_latest_version_response_200
53
+
54
+ @property
55
+ def additional_keys(self) -> List[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Any) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -23,6 +23,7 @@ class GetTriggersCountOfFlowResponse200:
23
23
  http_routes_count (Union[Unset, float]):
24
24
  webhook_count (Union[Unset, float]):
25
25
  email_count (Union[Unset, float]):
26
+ websocket_count (Union[Unset, float]):
26
27
  """
27
28
 
28
29
  primary_schedule: Union[Unset, "GetTriggersCountOfFlowResponse200PrimarySchedule"] = UNSET
@@ -30,6 +31,7 @@ class GetTriggersCountOfFlowResponse200:
30
31
  http_routes_count: Union[Unset, float] = UNSET
31
32
  webhook_count: Union[Unset, float] = UNSET
32
33
  email_count: Union[Unset, float] = UNSET
34
+ websocket_count: Union[Unset, float] = UNSET
33
35
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
34
36
 
35
37
  def to_dict(self) -> Dict[str, Any]:
@@ -41,6 +43,7 @@ class GetTriggersCountOfFlowResponse200:
41
43
  http_routes_count = self.http_routes_count
42
44
  webhook_count = self.webhook_count
43
45
  email_count = self.email_count
46
+ websocket_count = self.websocket_count
44
47
 
45
48
  field_dict: Dict[str, Any] = {}
46
49
  field_dict.update(self.additional_properties)
@@ -55,6 +58,8 @@ class GetTriggersCountOfFlowResponse200:
55
58
  field_dict["webhook_count"] = webhook_count
56
59
  if email_count is not UNSET:
57
60
  field_dict["email_count"] = email_count
61
+ if websocket_count is not UNSET:
62
+ field_dict["websocket_count"] = websocket_count
58
63
 
59
64
  return field_dict
60
65
 
@@ -80,12 +85,15 @@ class GetTriggersCountOfFlowResponse200:
80
85
 
81
86
  email_count = d.pop("email_count", UNSET)
82
87
 
88
+ websocket_count = d.pop("websocket_count", UNSET)
89
+
83
90
  get_triggers_count_of_flow_response_200 = cls(
84
91
  primary_schedule=primary_schedule,
85
92
  schedule_count=schedule_count,
86
93
  http_routes_count=http_routes_count,
87
94
  webhook_count=webhook_count,
88
95
  email_count=email_count,
96
+ websocket_count=websocket_count,
89
97
  )
90
98
 
91
99
  get_triggers_count_of_flow_response_200.additional_properties = d
@@ -23,6 +23,7 @@ class GetTriggersCountOfScriptResponse200:
23
23
  http_routes_count (Union[Unset, float]):
24
24
  webhook_count (Union[Unset, float]):
25
25
  email_count (Union[Unset, float]):
26
+ websocket_count (Union[Unset, float]):
26
27
  """
27
28
 
28
29
  primary_schedule: Union[Unset, "GetTriggersCountOfScriptResponse200PrimarySchedule"] = UNSET
@@ -30,6 +31,7 @@ class GetTriggersCountOfScriptResponse200:
30
31
  http_routes_count: Union[Unset, float] = UNSET
31
32
  webhook_count: Union[Unset, float] = UNSET
32
33
  email_count: Union[Unset, float] = UNSET
34
+ websocket_count: Union[Unset, float] = UNSET
33
35
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
34
36
 
35
37
  def to_dict(self) -> Dict[str, Any]:
@@ -41,6 +43,7 @@ class GetTriggersCountOfScriptResponse200:
41
43
  http_routes_count = self.http_routes_count
42
44
  webhook_count = self.webhook_count
43
45
  email_count = self.email_count
46
+ websocket_count = self.websocket_count
44
47
 
45
48
  field_dict: Dict[str, Any] = {}
46
49
  field_dict.update(self.additional_properties)
@@ -55,6 +58,8 @@ class GetTriggersCountOfScriptResponse200:
55
58
  field_dict["webhook_count"] = webhook_count
56
59
  if email_count is not UNSET:
57
60
  field_dict["email_count"] = email_count
61
+ if websocket_count is not UNSET:
62
+ field_dict["websocket_count"] = websocket_count
58
63
 
59
64
  return field_dict
60
65
 
@@ -80,12 +85,15 @@ class GetTriggersCountOfScriptResponse200:
80
85
 
81
86
  email_count = d.pop("email_count", UNSET)
82
87
 
88
+ websocket_count = d.pop("websocket_count", UNSET)
89
+
83
90
  get_triggers_count_of_script_response_200 = cls(
84
91
  primary_schedule=primary_schedule,
85
92
  schedule_count=schedule_count,
86
93
  http_routes_count=http_routes_count,
87
94
  webhook_count=webhook_count,
88
95
  email_count=email_count,
96
+ websocket_count=websocket_count,
89
97
  )
90
98
 
91
99
  get_triggers_count_of_script_response_200.additional_properties = d
@@ -0,0 +1,65 @@
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="GetUsedTriggersResponse200")
7
+
8
+
9
+ @_attrs_define
10
+ class GetUsedTriggersResponse200:
11
+ """
12
+ Attributes:
13
+ http_routes_used (bool):
14
+ websocket_used (bool):
15
+ """
16
+
17
+ http_routes_used: bool
18
+ websocket_used: bool
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ http_routes_used = self.http_routes_used
23
+ websocket_used = self.websocket_used
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "http_routes_used": http_routes_used,
30
+ "websocket_used": websocket_used,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ http_routes_used = d.pop("http_routes_used")
40
+
41
+ websocket_used = d.pop("websocket_used")
42
+
43
+ get_used_triggers_response_200 = cls(
44
+ http_routes_used=http_routes_used,
45
+ websocket_used=websocket_used,
46
+ )
47
+
48
+ get_used_triggers_response_200.additional_properties = d
49
+ return get_used_triggers_response_200
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -0,0 +1,184 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.get_websocket_trigger_response_200_extra_perms import GetWebsocketTriggerResponse200ExtraPerms
12
+ from ..models.get_websocket_trigger_response_200_filters_item import GetWebsocketTriggerResponse200FiltersItem
13
+
14
+
15
+ T = TypeVar("T", bound="GetWebsocketTriggerResponse200")
16
+
17
+
18
+ @_attrs_define
19
+ class GetWebsocketTriggerResponse200:
20
+ """
21
+ Attributes:
22
+ path (str):
23
+ edited_by (str):
24
+ edited_at (datetime.datetime):
25
+ script_path (str):
26
+ url (str):
27
+ is_flow (bool):
28
+ extra_perms (GetWebsocketTriggerResponse200ExtraPerms):
29
+ email (str):
30
+ workspace_id (str):
31
+ enabled (bool):
32
+ filters (List['GetWebsocketTriggerResponse200FiltersItem']):
33
+ server_id (Union[Unset, str]):
34
+ last_server_ping (Union[Unset, datetime.datetime]):
35
+ error (Union[Unset, str]):
36
+ """
37
+
38
+ path: str
39
+ edited_by: str
40
+ edited_at: datetime.datetime
41
+ script_path: str
42
+ url: str
43
+ is_flow: bool
44
+ extra_perms: "GetWebsocketTriggerResponse200ExtraPerms"
45
+ email: str
46
+ workspace_id: str
47
+ enabled: bool
48
+ filters: List["GetWebsocketTriggerResponse200FiltersItem"]
49
+ server_id: Union[Unset, str] = UNSET
50
+ last_server_ping: Union[Unset, datetime.datetime] = UNSET
51
+ error: Union[Unset, str] = UNSET
52
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ path = self.path
56
+ edited_by = self.edited_by
57
+ edited_at = self.edited_at.isoformat()
58
+
59
+ script_path = self.script_path
60
+ url = self.url
61
+ is_flow = self.is_flow
62
+ extra_perms = self.extra_perms.to_dict()
63
+
64
+ email = self.email
65
+ workspace_id = self.workspace_id
66
+ enabled = self.enabled
67
+ filters = []
68
+ for filters_item_data in self.filters:
69
+ filters_item = filters_item_data.to_dict()
70
+
71
+ filters.append(filters_item)
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
+ "path": path,
85
+ "edited_by": edited_by,
86
+ "edited_at": edited_at,
87
+ "script_path": script_path,
88
+ "url": url,
89
+ "is_flow": is_flow,
90
+ "extra_perms": extra_perms,
91
+ "email": email,
92
+ "workspace_id": workspace_id,
93
+ "enabled": enabled,
94
+ "filters": filters,
95
+ }
96
+ )
97
+ if server_id is not UNSET:
98
+ field_dict["server_id"] = server_id
99
+ if last_server_ping is not UNSET:
100
+ field_dict["last_server_ping"] = last_server_ping
101
+ if error is not UNSET:
102
+ field_dict["error"] = error
103
+
104
+ return field_dict
105
+
106
+ @classmethod
107
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
108
+ from ..models.get_websocket_trigger_response_200_extra_perms import GetWebsocketTriggerResponse200ExtraPerms
109
+ from ..models.get_websocket_trigger_response_200_filters_item import GetWebsocketTriggerResponse200FiltersItem
110
+
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
+ url = d.pop("url")
121
+
122
+ is_flow = d.pop("is_flow")
123
+
124
+ extra_perms = GetWebsocketTriggerResponse200ExtraPerms.from_dict(d.pop("extra_perms"))
125
+
126
+ email = d.pop("email")
127
+
128
+ workspace_id = d.pop("workspace_id")
129
+
130
+ enabled = d.pop("enabled")
131
+
132
+ filters = []
133
+ _filters = d.pop("filters")
134
+ for filters_item_data in _filters:
135
+ filters_item = GetWebsocketTriggerResponse200FiltersItem.from_dict(filters_item_data)
136
+
137
+ filters.append(filters_item)
138
+
139
+ server_id = d.pop("server_id", UNSET)
140
+
141
+ _last_server_ping = d.pop("last_server_ping", UNSET)
142
+ last_server_ping: Union[Unset, datetime.datetime]
143
+ if isinstance(_last_server_ping, Unset):
144
+ last_server_ping = UNSET
145
+ else:
146
+ last_server_ping = isoparse(_last_server_ping)
147
+
148
+ error = d.pop("error", UNSET)
149
+
150
+ get_websocket_trigger_response_200 = cls(
151
+ path=path,
152
+ edited_by=edited_by,
153
+ edited_at=edited_at,
154
+ script_path=script_path,
155
+ url=url,
156
+ is_flow=is_flow,
157
+ extra_perms=extra_perms,
158
+ email=email,
159
+ workspace_id=workspace_id,
160
+ enabled=enabled,
161
+ filters=filters,
162
+ server_id=server_id,
163
+ last_server_ping=last_server_ping,
164
+ error=error,
165
+ )
166
+
167
+ get_websocket_trigger_response_200.additional_properties = d
168
+ return get_websocket_trigger_response_200
169
+
170
+ @property
171
+ def additional_keys(self) -> List[str]:
172
+ return list(self.additional_properties.keys())
173
+
174
+ def __getitem__(self, key: str) -> Any:
175
+ return self.additional_properties[key]
176
+
177
+ def __setitem__(self, key: str, value: Any) -> None:
178
+ self.additional_properties[key] = value
179
+
180
+ def __delitem__(self, key: str) -> None:
181
+ del self.additional_properties[key]
182
+
183
+ def __contains__(self, key: str) -> bool:
184
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="GetWebsocketTriggerResponse200ExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class GetWebsocketTriggerResponse200ExtraPerms:
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_websocket_trigger_response_200_extra_perms = cls()
26
+
27
+ get_websocket_trigger_response_200_extra_perms.additional_properties = d
28
+ return get_websocket_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
@@ -0,0 +1,65 @@
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="GetWebsocketTriggerResponse200FiltersItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GetWebsocketTriggerResponse200FiltersItem:
11
+ """
12
+ Attributes:
13
+ key (str):
14
+ value (Any):
15
+ """
16
+
17
+ key: str
18
+ value: Any
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ key = self.key
23
+ value = self.value
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "key": key,
30
+ "value": value,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ key = d.pop("key")
40
+
41
+ value = d.pop("value")
42
+
43
+ get_websocket_trigger_response_200_filters_item = cls(
44
+ key=key,
45
+ value=value,
46
+ )
47
+
48
+ get_websocket_trigger_response_200_filters_item.additional_properties = d
49
+ return get_websocket_trigger_response_200_filters_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties