windmill-api 1.444.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 (47) hide show
  1. windmill_api/api/nats_trigger/__init__.py +0 -0
  2. windmill_api/api/nats_trigger/create_nats_trigger.py +105 -0
  3. windmill_api/api/nats_trigger/delete_nats_trigger.py +101 -0
  4. windmill_api/api/nats_trigger/exists_nats_trigger.py +160 -0
  5. windmill_api/api/nats_trigger/get_nats_trigger.py +166 -0
  6. windmill_api/api/nats_trigger/list_nats_triggers.py +237 -0
  7. windmill_api/api/nats_trigger/set_nats_trigger_enabled.py +113 -0
  8. windmill_api/api/nats_trigger/update_nats_trigger.py +113 -0
  9. windmill_api/api/workspace/change_workspace_color.py +105 -0
  10. windmill_api/models/add_granular_acls_kind.py +1 -0
  11. windmill_api/models/capture_config_trigger_kind.py +1 -0
  12. windmill_api/models/capture_trigger_kind.py +1 -0
  13. windmill_api/models/change_workspace_color_json_body.py +58 -0
  14. windmill_api/models/create_nats_trigger_json_body.py +120 -0
  15. windmill_api/models/create_workspace.py +8 -0
  16. windmill_api/models/create_workspace_json_body.py +8 -0
  17. windmill_api/models/edit_nats_trigger.py +112 -0
  18. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  19. windmill_api/models/get_granular_acls_kind.py +1 -0
  20. windmill_api/models/get_nats_trigger_response_200.py +196 -0
  21. windmill_api/models/get_nats_trigger_response_200_extra_perms.py +44 -0
  22. windmill_api/models/get_settings_response_200.py +8 -0
  23. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  24. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  25. windmill_api/models/get_used_triggers_response_200.py +7 -0
  26. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  27. windmill_api/models/list_captures_trigger_kind.py +1 -0
  28. windmill_api/models/list_nats_triggers_response_200_item.py +196 -0
  29. windmill_api/models/list_nats_triggers_response_200_item_extra_perms.py +44 -0
  30. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +7 -0
  31. windmill_api/models/list_workspaces_as_super_admin_response_200_item.py +8 -0
  32. windmill_api/models/list_workspaces_response_200_item.py +8 -0
  33. windmill_api/models/nats_trigger.py +196 -0
  34. windmill_api/models/nats_trigger_extra_perms.py +44 -0
  35. windmill_api/models/new_nats_trigger.py +120 -0
  36. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  37. windmill_api/models/remove_granular_acls_kind.py +1 -0
  38. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  39. windmill_api/models/set_nats_trigger_enabled_json_body.py +58 -0
  40. windmill_api/models/triggers_count.py +8 -0
  41. windmill_api/models/update_nats_trigger_json_body.py +112 -0
  42. windmill_api/models/user_workspace_list_workspaces_item.py +7 -0
  43. windmill_api/models/workspace.py +8 -0
  44. {windmill_api-1.444.0.dist-info → windmill_api-1.445.0.dist-info}/METADATA +1 -1
  45. {windmill_api-1.444.0.dist-info → windmill_api-1.445.0.dist-info}/RECORD +47 -26
  46. {windmill_api-1.444.0.dist-info → windmill_api-1.445.0.dist-info}/LICENSE +0 -0
  47. {windmill_api-1.444.0.dist-info → windmill_api-1.445.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,237 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, List, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.list_nats_triggers_response_200_item import ListNatsTriggersResponse200Item
9
+ from ...types import UNSET, Response, Unset
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ *,
15
+ page: Union[Unset, None, int] = UNSET,
16
+ per_page: Union[Unset, None, int] = UNSET,
17
+ path: Union[Unset, None, str] = UNSET,
18
+ is_flow: Union[Unset, None, bool] = UNSET,
19
+ path_start: Union[Unset, None, str] = UNSET,
20
+ ) -> Dict[str, Any]:
21
+ pass
22
+
23
+ params: Dict[str, Any] = {}
24
+ params["page"] = page
25
+
26
+ params["per_page"] = per_page
27
+
28
+ params["path"] = path
29
+
30
+ params["is_flow"] = is_flow
31
+
32
+ params["path_start"] = path_start
33
+
34
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
35
+
36
+ return {
37
+ "method": "get",
38
+ "url": "/w/{workspace}/nats_triggers/list".format(
39
+ workspace=workspace,
40
+ ),
41
+ "params": params,
42
+ }
43
+
44
+
45
+ def _parse_response(
46
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
47
+ ) -> Optional[List["ListNatsTriggersResponse200Item"]]:
48
+ if response.status_code == HTTPStatus.OK:
49
+ response_200 = []
50
+ _response_200 = response.json()
51
+ for response_200_item_data in _response_200:
52
+ response_200_item = ListNatsTriggersResponse200Item.from_dict(response_200_item_data)
53
+
54
+ response_200.append(response_200_item)
55
+
56
+ return response_200
57
+ if client.raise_on_unexpected_status:
58
+ raise errors.UnexpectedStatus(response.status_code, response.content)
59
+ else:
60
+ return None
61
+
62
+
63
+ def _build_response(
64
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
65
+ ) -> Response[List["ListNatsTriggersResponse200Item"]]:
66
+ return Response(
67
+ status_code=HTTPStatus(response.status_code),
68
+ content=response.content,
69
+ headers=response.headers,
70
+ parsed=_parse_response(client=client, response=response),
71
+ )
72
+
73
+
74
+ def sync_detailed(
75
+ workspace: str,
76
+ *,
77
+ client: Union[AuthenticatedClient, Client],
78
+ page: Union[Unset, None, int] = UNSET,
79
+ per_page: Union[Unset, None, int] = UNSET,
80
+ path: Union[Unset, None, str] = UNSET,
81
+ is_flow: Union[Unset, None, bool] = UNSET,
82
+ path_start: Union[Unset, None, str] = UNSET,
83
+ ) -> Response[List["ListNatsTriggersResponse200Item"]]:
84
+ """list nats triggers
85
+
86
+ Args:
87
+ workspace (str):
88
+ page (Union[Unset, None, int]):
89
+ per_page (Union[Unset, None, int]):
90
+ path (Union[Unset, None, str]):
91
+ is_flow (Union[Unset, None, bool]):
92
+ path_start (Union[Unset, None, str]):
93
+
94
+ Raises:
95
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
96
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
97
+
98
+ Returns:
99
+ Response[List['ListNatsTriggersResponse200Item']]
100
+ """
101
+
102
+ kwargs = _get_kwargs(
103
+ workspace=workspace,
104
+ page=page,
105
+ per_page=per_page,
106
+ path=path,
107
+ is_flow=is_flow,
108
+ path_start=path_start,
109
+ )
110
+
111
+ response = client.get_httpx_client().request(
112
+ **kwargs,
113
+ )
114
+
115
+ return _build_response(client=client, response=response)
116
+
117
+
118
+ def sync(
119
+ workspace: str,
120
+ *,
121
+ client: Union[AuthenticatedClient, Client],
122
+ page: Union[Unset, None, int] = UNSET,
123
+ per_page: Union[Unset, None, int] = UNSET,
124
+ path: Union[Unset, None, str] = UNSET,
125
+ is_flow: Union[Unset, None, bool] = UNSET,
126
+ path_start: Union[Unset, None, str] = UNSET,
127
+ ) -> Optional[List["ListNatsTriggersResponse200Item"]]:
128
+ """list nats triggers
129
+
130
+ Args:
131
+ workspace (str):
132
+ page (Union[Unset, None, int]):
133
+ per_page (Union[Unset, None, int]):
134
+ path (Union[Unset, None, str]):
135
+ is_flow (Union[Unset, None, bool]):
136
+ path_start (Union[Unset, None, str]):
137
+
138
+ Raises:
139
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
140
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
141
+
142
+ Returns:
143
+ List['ListNatsTriggersResponse200Item']
144
+ """
145
+
146
+ return sync_detailed(
147
+ workspace=workspace,
148
+ client=client,
149
+ page=page,
150
+ per_page=per_page,
151
+ path=path,
152
+ is_flow=is_flow,
153
+ path_start=path_start,
154
+ ).parsed
155
+
156
+
157
+ async def asyncio_detailed(
158
+ workspace: str,
159
+ *,
160
+ client: Union[AuthenticatedClient, Client],
161
+ page: Union[Unset, None, int] = UNSET,
162
+ per_page: Union[Unset, None, int] = UNSET,
163
+ path: Union[Unset, None, str] = UNSET,
164
+ is_flow: Union[Unset, None, bool] = UNSET,
165
+ path_start: Union[Unset, None, str] = UNSET,
166
+ ) -> Response[List["ListNatsTriggersResponse200Item"]]:
167
+ """list nats triggers
168
+
169
+ Args:
170
+ workspace (str):
171
+ page (Union[Unset, None, int]):
172
+ per_page (Union[Unset, None, int]):
173
+ path (Union[Unset, None, str]):
174
+ is_flow (Union[Unset, None, bool]):
175
+ path_start (Union[Unset, None, str]):
176
+
177
+ Raises:
178
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
179
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
180
+
181
+ Returns:
182
+ Response[List['ListNatsTriggersResponse200Item']]
183
+ """
184
+
185
+ kwargs = _get_kwargs(
186
+ workspace=workspace,
187
+ page=page,
188
+ per_page=per_page,
189
+ path=path,
190
+ is_flow=is_flow,
191
+ path_start=path_start,
192
+ )
193
+
194
+ response = await client.get_async_httpx_client().request(**kwargs)
195
+
196
+ return _build_response(client=client, response=response)
197
+
198
+
199
+ async def asyncio(
200
+ workspace: str,
201
+ *,
202
+ client: Union[AuthenticatedClient, Client],
203
+ page: Union[Unset, None, int] = UNSET,
204
+ per_page: Union[Unset, None, int] = UNSET,
205
+ path: Union[Unset, None, str] = UNSET,
206
+ is_flow: Union[Unset, None, bool] = UNSET,
207
+ path_start: Union[Unset, None, str] = UNSET,
208
+ ) -> Optional[List["ListNatsTriggersResponse200Item"]]:
209
+ """list nats triggers
210
+
211
+ Args:
212
+ workspace (str):
213
+ page (Union[Unset, None, int]):
214
+ per_page (Union[Unset, None, int]):
215
+ path (Union[Unset, None, str]):
216
+ is_flow (Union[Unset, None, bool]):
217
+ path_start (Union[Unset, None, str]):
218
+
219
+ Raises:
220
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
221
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
222
+
223
+ Returns:
224
+ List['ListNatsTriggersResponse200Item']
225
+ """
226
+
227
+ return (
228
+ await asyncio_detailed(
229
+ workspace=workspace,
230
+ client=client,
231
+ page=page,
232
+ per_page=per_page,
233
+ path=path,
234
+ is_flow=is_flow,
235
+ path_start=path_start,
236
+ )
237
+ ).parsed
@@ -0,0 +1,113 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.set_nats_trigger_enabled_json_body import SetNatsTriggerEnabledJsonBody
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ path: str,
15
+ *,
16
+ json_body: SetNatsTriggerEnabledJsonBody,
17
+ ) -> Dict[str, Any]:
18
+ pass
19
+
20
+ json_json_body = json_body.to_dict()
21
+
22
+ return {
23
+ "method": "post",
24
+ "url": "/w/{workspace}/nats_triggers/setenabled/{path}".format(
25
+ workspace=workspace,
26
+ path=path,
27
+ ),
28
+ "json": json_json_body,
29
+ }
30
+
31
+
32
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Any]:
33
+ if client.raise_on_unexpected_status:
34
+ raise errors.UnexpectedStatus(response.status_code, response.content)
35
+ else:
36
+ return None
37
+
38
+
39
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Any]:
40
+ return Response(
41
+ status_code=HTTPStatus(response.status_code),
42
+ content=response.content,
43
+ headers=response.headers,
44
+ parsed=_parse_response(client=client, response=response),
45
+ )
46
+
47
+
48
+ def sync_detailed(
49
+ workspace: str,
50
+ path: str,
51
+ *,
52
+ client: Union[AuthenticatedClient, Client],
53
+ json_body: SetNatsTriggerEnabledJsonBody,
54
+ ) -> Response[Any]:
55
+ """set enabled nats trigger
56
+
57
+ Args:
58
+ workspace (str):
59
+ path (str):
60
+ json_body (SetNatsTriggerEnabledJsonBody):
61
+
62
+ Raises:
63
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
64
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
65
+
66
+ Returns:
67
+ Response[Any]
68
+ """
69
+
70
+ kwargs = _get_kwargs(
71
+ workspace=workspace,
72
+ path=path,
73
+ json_body=json_body,
74
+ )
75
+
76
+ response = client.get_httpx_client().request(
77
+ **kwargs,
78
+ )
79
+
80
+ return _build_response(client=client, response=response)
81
+
82
+
83
+ async def asyncio_detailed(
84
+ workspace: str,
85
+ path: str,
86
+ *,
87
+ client: Union[AuthenticatedClient, Client],
88
+ json_body: SetNatsTriggerEnabledJsonBody,
89
+ ) -> Response[Any]:
90
+ """set enabled nats trigger
91
+
92
+ Args:
93
+ workspace (str):
94
+ path (str):
95
+ json_body (SetNatsTriggerEnabledJsonBody):
96
+
97
+ Raises:
98
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
99
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
100
+
101
+ Returns:
102
+ Response[Any]
103
+ """
104
+
105
+ kwargs = _get_kwargs(
106
+ workspace=workspace,
107
+ path=path,
108
+ json_body=json_body,
109
+ )
110
+
111
+ response = await client.get_async_httpx_client().request(**kwargs)
112
+
113
+ return _build_response(client=client, response=response)
@@ -0,0 +1,113 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.update_nats_trigger_json_body import UpdateNatsTriggerJsonBody
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ path: str,
15
+ *,
16
+ json_body: UpdateNatsTriggerJsonBody,
17
+ ) -> Dict[str, Any]:
18
+ pass
19
+
20
+ json_json_body = json_body.to_dict()
21
+
22
+ return {
23
+ "method": "post",
24
+ "url": "/w/{workspace}/nats_triggers/update/{path}".format(
25
+ workspace=workspace,
26
+ path=path,
27
+ ),
28
+ "json": json_json_body,
29
+ }
30
+
31
+
32
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Any]:
33
+ if client.raise_on_unexpected_status:
34
+ raise errors.UnexpectedStatus(response.status_code, response.content)
35
+ else:
36
+ return None
37
+
38
+
39
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Any]:
40
+ return Response(
41
+ status_code=HTTPStatus(response.status_code),
42
+ content=response.content,
43
+ headers=response.headers,
44
+ parsed=_parse_response(client=client, response=response),
45
+ )
46
+
47
+
48
+ def sync_detailed(
49
+ workspace: str,
50
+ path: str,
51
+ *,
52
+ client: Union[AuthenticatedClient, Client],
53
+ json_body: UpdateNatsTriggerJsonBody,
54
+ ) -> Response[Any]:
55
+ """update nats trigger
56
+
57
+ Args:
58
+ workspace (str):
59
+ path (str):
60
+ json_body (UpdateNatsTriggerJsonBody):
61
+
62
+ Raises:
63
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
64
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
65
+
66
+ Returns:
67
+ Response[Any]
68
+ """
69
+
70
+ kwargs = _get_kwargs(
71
+ workspace=workspace,
72
+ path=path,
73
+ json_body=json_body,
74
+ )
75
+
76
+ response = client.get_httpx_client().request(
77
+ **kwargs,
78
+ )
79
+
80
+ return _build_response(client=client, response=response)
81
+
82
+
83
+ async def asyncio_detailed(
84
+ workspace: str,
85
+ path: str,
86
+ *,
87
+ client: Union[AuthenticatedClient, Client],
88
+ json_body: UpdateNatsTriggerJsonBody,
89
+ ) -> Response[Any]:
90
+ """update nats trigger
91
+
92
+ Args:
93
+ workspace (str):
94
+ path (str):
95
+ json_body (UpdateNatsTriggerJsonBody):
96
+
97
+ Raises:
98
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
99
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
100
+
101
+ Returns:
102
+ Response[Any]
103
+ """
104
+
105
+ kwargs = _get_kwargs(
106
+ workspace=workspace,
107
+ path=path,
108
+ json_body=json_body,
109
+ )
110
+
111
+ response = await client.get_async_httpx_client().request(**kwargs)
112
+
113
+ return _build_response(client=client, response=response)
@@ -0,0 +1,105 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.change_workspace_color_json_body import ChangeWorkspaceColorJsonBody
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ *,
15
+ json_body: ChangeWorkspaceColorJsonBody,
16
+ ) -> Dict[str, Any]:
17
+ pass
18
+
19
+ json_json_body = json_body.to_dict()
20
+
21
+ return {
22
+ "method": "post",
23
+ "url": "/w/{workspace}/workspaces/change_workspace_color".format(
24
+ workspace=workspace,
25
+ ),
26
+ "json": json_json_body,
27
+ }
28
+
29
+
30
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Any]:
31
+ if client.raise_on_unexpected_status:
32
+ raise errors.UnexpectedStatus(response.status_code, response.content)
33
+ else:
34
+ return None
35
+
36
+
37
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Any]:
38
+ return Response(
39
+ status_code=HTTPStatus(response.status_code),
40
+ content=response.content,
41
+ headers=response.headers,
42
+ parsed=_parse_response(client=client, response=response),
43
+ )
44
+
45
+
46
+ def sync_detailed(
47
+ workspace: str,
48
+ *,
49
+ client: Union[AuthenticatedClient, Client],
50
+ json_body: ChangeWorkspaceColorJsonBody,
51
+ ) -> Response[Any]:
52
+ """change workspace id
53
+
54
+ Args:
55
+ workspace (str):
56
+ json_body (ChangeWorkspaceColorJsonBody):
57
+
58
+ Raises:
59
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
60
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
61
+
62
+ Returns:
63
+ Response[Any]
64
+ """
65
+
66
+ kwargs = _get_kwargs(
67
+ workspace=workspace,
68
+ json_body=json_body,
69
+ )
70
+
71
+ response = client.get_httpx_client().request(
72
+ **kwargs,
73
+ )
74
+
75
+ return _build_response(client=client, response=response)
76
+
77
+
78
+ async def asyncio_detailed(
79
+ workspace: str,
80
+ *,
81
+ client: Union[AuthenticatedClient, Client],
82
+ json_body: ChangeWorkspaceColorJsonBody,
83
+ ) -> Response[Any]:
84
+ """change workspace id
85
+
86
+ Args:
87
+ workspace (str):
88
+ json_body (ChangeWorkspaceColorJsonBody):
89
+
90
+ Raises:
91
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
92
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
93
+
94
+ Returns:
95
+ Response[Any]
96
+ """
97
+
98
+ kwargs = _get_kwargs(
99
+ workspace=workspace,
100
+ json_body=json_body,
101
+ )
102
+
103
+ response = await client.get_async_httpx_client().request(**kwargs)
104
+
105
+ return _build_response(client=client, response=response)
@@ -8,6 +8,7 @@ class AddGranularAclsKind(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"
@@ -5,6 +5,7 @@ class CaptureConfigTriggerKind(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 CaptureTriggerKind(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,58 @@
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="ChangeWorkspaceColorJsonBody")
9
+
10
+
11
+ @_attrs_define
12
+ class ChangeWorkspaceColorJsonBody:
13
+ """
14
+ Attributes:
15
+ color (Union[Unset, str]):
16
+ """
17
+
18
+ color: Union[Unset, str] = UNSET
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ color = self.color
23
+
24
+ field_dict: Dict[str, Any] = {}
25
+ field_dict.update(self.additional_properties)
26
+ field_dict.update({})
27
+ if color is not UNSET:
28
+ field_dict["color"] = color
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ color = d.pop("color", UNSET)
36
+
37
+ change_workspace_color_json_body = cls(
38
+ color=color,
39
+ )
40
+
41
+ change_workspace_color_json_body.additional_properties = d
42
+ return change_workspace_color_json_body
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties