windmill-api 1.424.0__py3-none-any.whl → 1.425.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.

@@ -0,0 +1,146 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...types import Response
9
+
10
+
11
+ def _get_kwargs(
12
+ workspace: str,
13
+ ) -> Dict[str, Any]:
14
+ pass
15
+
16
+ return {
17
+ "method": "post",
18
+ "url": "/w/{workspace}/workspaces/critical_alerts/acknowledge_all".format(
19
+ workspace=workspace,
20
+ ),
21
+ }
22
+
23
+
24
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[str]:
25
+ if response.status_code == HTTPStatus.OK:
26
+ response_200 = cast(str, response.json())
27
+ return response_200
28
+ if client.raise_on_unexpected_status:
29
+ raise errors.UnexpectedStatus(response.status_code, response.content)
30
+ else:
31
+ return None
32
+
33
+
34
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[str]:
35
+ return Response(
36
+ status_code=HTTPStatus(response.status_code),
37
+ content=response.content,
38
+ headers=response.headers,
39
+ parsed=_parse_response(client=client, response=response),
40
+ )
41
+
42
+
43
+ def sync_detailed(
44
+ workspace: str,
45
+ *,
46
+ client: Union[AuthenticatedClient, Client],
47
+ ) -> Response[str]:
48
+ """Acknowledge all unacknowledged critical alerts for this workspace
49
+
50
+ Args:
51
+ workspace (str):
52
+
53
+ Raises:
54
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
55
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
56
+
57
+ Returns:
58
+ Response[str]
59
+ """
60
+
61
+ kwargs = _get_kwargs(
62
+ workspace=workspace,
63
+ )
64
+
65
+ response = client.get_httpx_client().request(
66
+ **kwargs,
67
+ )
68
+
69
+ return _build_response(client=client, response=response)
70
+
71
+
72
+ def sync(
73
+ workspace: str,
74
+ *,
75
+ client: Union[AuthenticatedClient, Client],
76
+ ) -> Optional[str]:
77
+ """Acknowledge all unacknowledged critical alerts for this workspace
78
+
79
+ Args:
80
+ workspace (str):
81
+
82
+ Raises:
83
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
84
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
85
+
86
+ Returns:
87
+ str
88
+ """
89
+
90
+ return sync_detailed(
91
+ workspace=workspace,
92
+ client=client,
93
+ ).parsed
94
+
95
+
96
+ async def asyncio_detailed(
97
+ workspace: str,
98
+ *,
99
+ client: Union[AuthenticatedClient, Client],
100
+ ) -> Response[str]:
101
+ """Acknowledge all unacknowledged critical alerts for this workspace
102
+
103
+ Args:
104
+ workspace (str):
105
+
106
+ Raises:
107
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
108
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
109
+
110
+ Returns:
111
+ Response[str]
112
+ """
113
+
114
+ kwargs = _get_kwargs(
115
+ workspace=workspace,
116
+ )
117
+
118
+ response = await client.get_async_httpx_client().request(**kwargs)
119
+
120
+ return _build_response(client=client, response=response)
121
+
122
+
123
+ async def asyncio(
124
+ workspace: str,
125
+ *,
126
+ client: Union[AuthenticatedClient, Client],
127
+ ) -> Optional[str]:
128
+ """Acknowledge all unacknowledged critical alerts for this workspace
129
+
130
+ Args:
131
+ workspace (str):
132
+
133
+ Raises:
134
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
135
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
136
+
137
+ Returns:
138
+ str
139
+ """
140
+
141
+ return (
142
+ await asyncio_detailed(
143
+ workspace=workspace,
144
+ client=client,
145
+ )
146
+ ).parsed
@@ -0,0 +1,160 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...types import Response
9
+
10
+
11
+ def _get_kwargs(
12
+ workspace: str,
13
+ id: int,
14
+ ) -> Dict[str, Any]:
15
+ pass
16
+
17
+ return {
18
+ "method": "post",
19
+ "url": "/w/{workspace}/workspaces/critical_alerts/{id}/acknowledge".format(
20
+ workspace=workspace,
21
+ id=id,
22
+ ),
23
+ }
24
+
25
+
26
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[str]:
27
+ if response.status_code == HTTPStatus.OK:
28
+ response_200 = cast(str, response.json())
29
+ return response_200
30
+ if client.raise_on_unexpected_status:
31
+ raise errors.UnexpectedStatus(response.status_code, response.content)
32
+ else:
33
+ return None
34
+
35
+
36
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[str]:
37
+ return Response(
38
+ status_code=HTTPStatus(response.status_code),
39
+ content=response.content,
40
+ headers=response.headers,
41
+ parsed=_parse_response(client=client, response=response),
42
+ )
43
+
44
+
45
+ def sync_detailed(
46
+ workspace: str,
47
+ id: int,
48
+ *,
49
+ client: Union[AuthenticatedClient, Client],
50
+ ) -> Response[str]:
51
+ """Acknowledge a critical alert for this workspace
52
+
53
+ Args:
54
+ workspace (str):
55
+ id (int):
56
+
57
+ Raises:
58
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
59
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
60
+
61
+ Returns:
62
+ Response[str]
63
+ """
64
+
65
+ kwargs = _get_kwargs(
66
+ workspace=workspace,
67
+ id=id,
68
+ )
69
+
70
+ response = client.get_httpx_client().request(
71
+ **kwargs,
72
+ )
73
+
74
+ return _build_response(client=client, response=response)
75
+
76
+
77
+ def sync(
78
+ workspace: str,
79
+ id: int,
80
+ *,
81
+ client: Union[AuthenticatedClient, Client],
82
+ ) -> Optional[str]:
83
+ """Acknowledge a critical alert for this workspace
84
+
85
+ Args:
86
+ workspace (str):
87
+ id (int):
88
+
89
+ Raises:
90
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
91
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
92
+
93
+ Returns:
94
+ str
95
+ """
96
+
97
+ return sync_detailed(
98
+ workspace=workspace,
99
+ id=id,
100
+ client=client,
101
+ ).parsed
102
+
103
+
104
+ async def asyncio_detailed(
105
+ workspace: str,
106
+ id: int,
107
+ *,
108
+ client: Union[AuthenticatedClient, Client],
109
+ ) -> Response[str]:
110
+ """Acknowledge a critical alert for this workspace
111
+
112
+ Args:
113
+ workspace (str):
114
+ id (int):
115
+
116
+ Raises:
117
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
118
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
119
+
120
+ Returns:
121
+ Response[str]
122
+ """
123
+
124
+ kwargs = _get_kwargs(
125
+ workspace=workspace,
126
+ id=id,
127
+ )
128
+
129
+ response = await client.get_async_httpx_client().request(**kwargs)
130
+
131
+ return _build_response(client=client, response=response)
132
+
133
+
134
+ async def asyncio(
135
+ workspace: str,
136
+ id: int,
137
+ *,
138
+ client: Union[AuthenticatedClient, Client],
139
+ ) -> Optional[str]:
140
+ """Acknowledge a critical alert for this workspace
141
+
142
+ Args:
143
+ workspace (str):
144
+ id (int):
145
+
146
+ Raises:
147
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
148
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
149
+
150
+ Returns:
151
+ str
152
+ """
153
+
154
+ return (
155
+ await asyncio_detailed(
156
+ workspace=workspace,
157
+ id=id,
158
+ client=client,
159
+ )
160
+ ).parsed
@@ -0,0 +1,219 @@
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.workspace_get_critical_alerts_response_200_item import WorkspaceGetCriticalAlertsResponse200Item
9
+ from ...types import UNSET, Response, Unset
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ *,
15
+ page: Union[Unset, None, int] = 1,
16
+ page_size: Union[Unset, None, int] = 10,
17
+ acknowledged: Union[Unset, None, bool] = UNSET,
18
+ ) -> Dict[str, Any]:
19
+ pass
20
+
21
+ params: Dict[str, Any] = {}
22
+ params["page"] = page
23
+
24
+ params["page_size"] = page_size
25
+
26
+ params["acknowledged"] = acknowledged
27
+
28
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
29
+
30
+ return {
31
+ "method": "get",
32
+ "url": "/w/{workspace}/workspaces/critical_alerts".format(
33
+ workspace=workspace,
34
+ ),
35
+ "params": params,
36
+ }
37
+
38
+
39
+ def _parse_response(
40
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
41
+ ) -> Optional[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
42
+ if response.status_code == HTTPStatus.OK:
43
+ response_200 = []
44
+ _response_200 = response.json()
45
+ for response_200_item_data in _response_200:
46
+ response_200_item = WorkspaceGetCriticalAlertsResponse200Item.from_dict(response_200_item_data)
47
+
48
+ response_200.append(response_200_item)
49
+
50
+ return response_200
51
+ if client.raise_on_unexpected_status:
52
+ raise errors.UnexpectedStatus(response.status_code, response.content)
53
+ else:
54
+ return None
55
+
56
+
57
+ def _build_response(
58
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
59
+ ) -> Response[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
60
+ return Response(
61
+ status_code=HTTPStatus(response.status_code),
62
+ content=response.content,
63
+ headers=response.headers,
64
+ parsed=_parse_response(client=client, response=response),
65
+ )
66
+
67
+
68
+ def sync_detailed(
69
+ workspace: str,
70
+ *,
71
+ client: Union[AuthenticatedClient, Client],
72
+ page: Union[Unset, None, int] = 1,
73
+ page_size: Union[Unset, None, int] = 10,
74
+ acknowledged: Union[Unset, None, bool] = UNSET,
75
+ ) -> Response[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
76
+ """Get all critical alerts for this workspace
77
+
78
+ Args:
79
+ workspace (str):
80
+ page (Union[Unset, None, int]): The page number to retrieve (minimum value is 1) Default:
81
+ 1.
82
+ page_size (Union[Unset, None, int]): Number of alerts per page (maximum is 100) Default:
83
+ 10.
84
+ acknowledged (Union[Unset, None, bool]): Filter by acknowledgment status; true for
85
+ acknowledged, false for unacknowledged, and omit for all alerts
86
+
87
+ Raises:
88
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
89
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
90
+
91
+ Returns:
92
+ Response[List['WorkspaceGetCriticalAlertsResponse200Item']]
93
+ """
94
+
95
+ kwargs = _get_kwargs(
96
+ workspace=workspace,
97
+ page=page,
98
+ page_size=page_size,
99
+ acknowledged=acknowledged,
100
+ )
101
+
102
+ response = client.get_httpx_client().request(
103
+ **kwargs,
104
+ )
105
+
106
+ return _build_response(client=client, response=response)
107
+
108
+
109
+ def sync(
110
+ workspace: str,
111
+ *,
112
+ client: Union[AuthenticatedClient, Client],
113
+ page: Union[Unset, None, int] = 1,
114
+ page_size: Union[Unset, None, int] = 10,
115
+ acknowledged: Union[Unset, None, bool] = UNSET,
116
+ ) -> Optional[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
117
+ """Get all critical alerts for this workspace
118
+
119
+ Args:
120
+ workspace (str):
121
+ page (Union[Unset, None, int]): The page number to retrieve (minimum value is 1) Default:
122
+ 1.
123
+ page_size (Union[Unset, None, int]): Number of alerts per page (maximum is 100) Default:
124
+ 10.
125
+ acknowledged (Union[Unset, None, bool]): Filter by acknowledgment status; true for
126
+ acknowledged, false for unacknowledged, and omit for all alerts
127
+
128
+ Raises:
129
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
130
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
131
+
132
+ Returns:
133
+ List['WorkspaceGetCriticalAlertsResponse200Item']
134
+ """
135
+
136
+ return sync_detailed(
137
+ workspace=workspace,
138
+ client=client,
139
+ page=page,
140
+ page_size=page_size,
141
+ acknowledged=acknowledged,
142
+ ).parsed
143
+
144
+
145
+ async def asyncio_detailed(
146
+ workspace: str,
147
+ *,
148
+ client: Union[AuthenticatedClient, Client],
149
+ page: Union[Unset, None, int] = 1,
150
+ page_size: Union[Unset, None, int] = 10,
151
+ acknowledged: Union[Unset, None, bool] = UNSET,
152
+ ) -> Response[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
153
+ """Get all critical alerts for this workspace
154
+
155
+ Args:
156
+ workspace (str):
157
+ page (Union[Unset, None, int]): The page number to retrieve (minimum value is 1) Default:
158
+ 1.
159
+ page_size (Union[Unset, None, int]): Number of alerts per page (maximum is 100) Default:
160
+ 10.
161
+ acknowledged (Union[Unset, None, bool]): Filter by acknowledgment status; true for
162
+ acknowledged, false for unacknowledged, and omit for all alerts
163
+
164
+ Raises:
165
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
166
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
167
+
168
+ Returns:
169
+ Response[List['WorkspaceGetCriticalAlertsResponse200Item']]
170
+ """
171
+
172
+ kwargs = _get_kwargs(
173
+ workspace=workspace,
174
+ page=page,
175
+ page_size=page_size,
176
+ acknowledged=acknowledged,
177
+ )
178
+
179
+ response = await client.get_async_httpx_client().request(**kwargs)
180
+
181
+ return _build_response(client=client, response=response)
182
+
183
+
184
+ async def asyncio(
185
+ workspace: str,
186
+ *,
187
+ client: Union[AuthenticatedClient, Client],
188
+ page: Union[Unset, None, int] = 1,
189
+ page_size: Union[Unset, None, int] = 10,
190
+ acknowledged: Union[Unset, None, bool] = UNSET,
191
+ ) -> Optional[List["WorkspaceGetCriticalAlertsResponse200Item"]]:
192
+ """Get all critical alerts for this workspace
193
+
194
+ Args:
195
+ workspace (str):
196
+ page (Union[Unset, None, int]): The page number to retrieve (minimum value is 1) Default:
197
+ 1.
198
+ page_size (Union[Unset, None, int]): Number of alerts per page (maximum is 100) Default:
199
+ 10.
200
+ acknowledged (Union[Unset, None, bool]): Filter by acknowledgment status; true for
201
+ acknowledged, false for unacknowledged, and omit for all alerts
202
+
203
+ Raises:
204
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
205
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
206
+
207
+ Returns:
208
+ List['WorkspaceGetCriticalAlertsResponse200Item']
209
+ """
210
+
211
+ return (
212
+ await asyncio_detailed(
213
+ workspace=workspace,
214
+ client=client,
215
+ page=page,
216
+ page_size=page_size,
217
+ acknowledged=acknowledged,
218
+ )
219
+ ).parsed
@@ -0,0 +1,164 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.workspace_mute_critical_alerts_ui_json_body import WorkspaceMuteCriticalAlertsUIJsonBody
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ workspace: str,
14
+ *,
15
+ json_body: WorkspaceMuteCriticalAlertsUIJsonBody,
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/critical_alerts/mute".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[str]:
31
+ if response.status_code == HTTPStatus.OK:
32
+ response_200 = cast(str, response.json())
33
+ return response_200
34
+ if client.raise_on_unexpected_status:
35
+ raise errors.UnexpectedStatus(response.status_code, response.content)
36
+ else:
37
+ return None
38
+
39
+
40
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[str]:
41
+ return Response(
42
+ status_code=HTTPStatus(response.status_code),
43
+ content=response.content,
44
+ headers=response.headers,
45
+ parsed=_parse_response(client=client, response=response),
46
+ )
47
+
48
+
49
+ def sync_detailed(
50
+ workspace: str,
51
+ *,
52
+ client: Union[AuthenticatedClient, Client],
53
+ json_body: WorkspaceMuteCriticalAlertsUIJsonBody,
54
+ ) -> Response[str]:
55
+ """Mute critical alert UI for this workspace
56
+
57
+ Args:
58
+ workspace (str):
59
+ json_body (WorkspaceMuteCriticalAlertsUIJsonBody):
60
+
61
+ Raises:
62
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
63
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
64
+
65
+ Returns:
66
+ Response[str]
67
+ """
68
+
69
+ kwargs = _get_kwargs(
70
+ workspace=workspace,
71
+ json_body=json_body,
72
+ )
73
+
74
+ response = client.get_httpx_client().request(
75
+ **kwargs,
76
+ )
77
+
78
+ return _build_response(client=client, response=response)
79
+
80
+
81
+ def sync(
82
+ workspace: str,
83
+ *,
84
+ client: Union[AuthenticatedClient, Client],
85
+ json_body: WorkspaceMuteCriticalAlertsUIJsonBody,
86
+ ) -> Optional[str]:
87
+ """Mute critical alert UI for this workspace
88
+
89
+ Args:
90
+ workspace (str):
91
+ json_body (WorkspaceMuteCriticalAlertsUIJsonBody):
92
+
93
+ Raises:
94
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
95
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
96
+
97
+ Returns:
98
+ str
99
+ """
100
+
101
+ return sync_detailed(
102
+ workspace=workspace,
103
+ client=client,
104
+ json_body=json_body,
105
+ ).parsed
106
+
107
+
108
+ async def asyncio_detailed(
109
+ workspace: str,
110
+ *,
111
+ client: Union[AuthenticatedClient, Client],
112
+ json_body: WorkspaceMuteCriticalAlertsUIJsonBody,
113
+ ) -> Response[str]:
114
+ """Mute critical alert UI for this workspace
115
+
116
+ Args:
117
+ workspace (str):
118
+ json_body (WorkspaceMuteCriticalAlertsUIJsonBody):
119
+
120
+ Raises:
121
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
122
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
123
+
124
+ Returns:
125
+ Response[str]
126
+ """
127
+
128
+ kwargs = _get_kwargs(
129
+ workspace=workspace,
130
+ json_body=json_body,
131
+ )
132
+
133
+ response = await client.get_async_httpx_client().request(**kwargs)
134
+
135
+ return _build_response(client=client, response=response)
136
+
137
+
138
+ async def asyncio(
139
+ workspace: str,
140
+ *,
141
+ client: Union[AuthenticatedClient, Client],
142
+ json_body: WorkspaceMuteCriticalAlertsUIJsonBody,
143
+ ) -> Optional[str]:
144
+ """Mute critical alert UI for this workspace
145
+
146
+ Args:
147
+ workspace (str):
148
+ json_body (WorkspaceMuteCriticalAlertsUIJsonBody):
149
+
150
+ Raises:
151
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
152
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
153
+
154
+ Returns:
155
+ str
156
+ """
157
+
158
+ return (
159
+ await asyncio_detailed(
160
+ workspace=workspace,
161
+ client=client,
162
+ json_body=json_body,
163
+ )
164
+ ).parsed
@@ -20,6 +20,7 @@ class CriticalAlert:
20
20
  created_at (Union[Unset, datetime.datetime]): Time when the alert was created
21
21
  acknowledged (Union[Unset, None, bool]): Acknowledgment status of the alert, can be true, false, or null if not
22
22
  set
23
+ workspace_id (Union[Unset, None, str]): Workspace id if the alert is in the scope of a workspace
23
24
  """
24
25
 
25
26
  id: Union[Unset, int] = UNSET
@@ -27,6 +28,7 @@ class CriticalAlert:
27
28
  message: Union[Unset, str] = UNSET
28
29
  created_at: Union[Unset, datetime.datetime] = UNSET
29
30
  acknowledged: Union[Unset, None, bool] = UNSET
31
+ workspace_id: Union[Unset, None, str] = UNSET
30
32
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
33
 
32
34
  def to_dict(self) -> Dict[str, Any]:
@@ -38,6 +40,7 @@ class CriticalAlert:
38
40
  created_at = self.created_at.isoformat()
39
41
 
40
42
  acknowledged = self.acknowledged
43
+ workspace_id = self.workspace_id
41
44
 
42
45
  field_dict: Dict[str, Any] = {}
43
46
  field_dict.update(self.additional_properties)
@@ -52,6 +55,8 @@ class CriticalAlert:
52
55
  field_dict["created_at"] = created_at
53
56
  if acknowledged is not UNSET:
54
57
  field_dict["acknowledged"] = acknowledged
58
+ if workspace_id is not UNSET:
59
+ field_dict["workspace_id"] = workspace_id
55
60
 
56
61
  return field_dict
57
62
 
@@ -73,12 +78,15 @@ class CriticalAlert:
73
78
 
74
79
  acknowledged = d.pop("acknowledged", UNSET)
75
80
 
81
+ workspace_id = d.pop("workspace_id", UNSET)
82
+
76
83
  critical_alert = cls(
77
84
  id=id,
78
85
  alert_type=alert_type,
79
86
  message=message,
80
87
  created_at=created_at,
81
88
  acknowledged=acknowledged,
89
+ workspace_id=workspace_id,
82
90
  )
83
91
 
84
92
  critical_alert.additional_properties = d
@@ -20,6 +20,7 @@ class GetCriticalAlertsResponse200Item:
20
20
  created_at (Union[Unset, datetime.datetime]): Time when the alert was created
21
21
  acknowledged (Union[Unset, None, bool]): Acknowledgment status of the alert, can be true, false, or null if not
22
22
  set
23
+ workspace_id (Union[Unset, None, str]): Workspace id if the alert is in the scope of a workspace
23
24
  """
24
25
 
25
26
  id: Union[Unset, int] = UNSET
@@ -27,6 +28,7 @@ class GetCriticalAlertsResponse200Item:
27
28
  message: Union[Unset, str] = UNSET
28
29
  created_at: Union[Unset, datetime.datetime] = UNSET
29
30
  acknowledged: Union[Unset, None, bool] = UNSET
31
+ workspace_id: Union[Unset, None, str] = UNSET
30
32
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
33
 
32
34
  def to_dict(self) -> Dict[str, Any]:
@@ -38,6 +40,7 @@ class GetCriticalAlertsResponse200Item:
38
40
  created_at = self.created_at.isoformat()
39
41
 
40
42
  acknowledged = self.acknowledged
43
+ workspace_id = self.workspace_id
41
44
 
42
45
  field_dict: Dict[str, Any] = {}
43
46
  field_dict.update(self.additional_properties)
@@ -52,6 +55,8 @@ class GetCriticalAlertsResponse200Item:
52
55
  field_dict["created_at"] = created_at
53
56
  if acknowledged is not UNSET:
54
57
  field_dict["acknowledged"] = acknowledged
58
+ if workspace_id is not UNSET:
59
+ field_dict["workspace_id"] = workspace_id
55
60
 
56
61
  return field_dict
57
62
 
@@ -73,12 +78,15 @@ class GetCriticalAlertsResponse200Item:
73
78
 
74
79
  acknowledged = d.pop("acknowledged", UNSET)
75
80
 
81
+ workspace_id = d.pop("workspace_id", UNSET)
82
+
76
83
  get_critical_alerts_response_200_item = cls(
77
84
  id=id,
78
85
  alert_type=alert_type,
79
86
  message=message,
80
87
  created_at=created_at,
81
88
  acknowledged=acknowledged,
89
+ workspace_id=workspace_id,
82
90
  )
83
91
 
84
92
  get_critical_alerts_response_200_item.additional_properties = d
@@ -43,6 +43,7 @@ class GetSettingsResponse200:
43
43
  deploy_ui (Union[Unset, GetSettingsResponse200DeployUi]):
44
44
  default_app (Union[Unset, str]):
45
45
  default_scripts (Union[Unset, GetSettingsResponse200DefaultScripts]):
46
+ mute_critical_alerts (Union[Unset, bool]):
46
47
  """
47
48
 
48
49
  automatic_billing: bool
@@ -67,6 +68,7 @@ class GetSettingsResponse200:
67
68
  deploy_ui: Union[Unset, "GetSettingsResponse200DeployUi"] = UNSET
68
69
  default_app: Union[Unset, str] = UNSET
69
70
  default_scripts: Union[Unset, "GetSettingsResponse200DefaultScripts"] = UNSET
71
+ mute_critical_alerts: Union[Unset, bool] = UNSET
70
72
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
71
73
 
72
74
  def to_dict(self) -> Dict[str, Any]:
@@ -110,6 +112,8 @@ class GetSettingsResponse200:
110
112
  if not isinstance(self.default_scripts, Unset):
111
113
  default_scripts = self.default_scripts.to_dict()
112
114
 
115
+ mute_critical_alerts = self.mute_critical_alerts
116
+
113
117
  field_dict: Dict[str, Any] = {}
114
118
  field_dict.update(self.additional_properties)
115
119
  field_dict.update(
@@ -157,6 +161,8 @@ class GetSettingsResponse200:
157
161
  field_dict["default_app"] = default_app
158
162
  if default_scripts is not UNSET:
159
163
  field_dict["default_scripts"] = default_scripts
164
+ if mute_critical_alerts is not UNSET:
165
+ field_dict["mute_critical_alerts"] = mute_critical_alerts
160
166
 
161
167
  return field_dict
162
168
 
@@ -246,6 +252,8 @@ class GetSettingsResponse200:
246
252
  else:
247
253
  default_scripts = GetSettingsResponse200DefaultScripts.from_dict(_default_scripts)
248
254
 
255
+ mute_critical_alerts = d.pop("mute_critical_alerts", UNSET)
256
+
249
257
  get_settings_response_200 = cls(
250
258
  automatic_billing=automatic_billing,
251
259
  code_completion_enabled=code_completion_enabled,
@@ -269,6 +277,7 @@ class GetSettingsResponse200:
269
277
  deploy_ui=deploy_ui,
270
278
  default_app=default_app,
271
279
  default_scripts=default_scripts,
280
+ mute_critical_alerts=mute_critical_alerts,
272
281
  )
273
282
 
274
283
  get_settings_response_200.additional_properties = d
@@ -0,0 +1,109 @@
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="WorkspaceGetCriticalAlertsResponse200Item")
11
+
12
+
13
+ @_attrs_define
14
+ class WorkspaceGetCriticalAlertsResponse200Item:
15
+ """
16
+ Attributes:
17
+ id (Union[Unset, int]): Unique identifier for the alert
18
+ alert_type (Union[Unset, str]): Type of alert (e.g., critical_error)
19
+ message (Union[Unset, str]): The message content of the alert
20
+ created_at (Union[Unset, datetime.datetime]): Time when the alert was created
21
+ acknowledged (Union[Unset, None, bool]): Acknowledgment status of the alert, can be true, false, or null if not
22
+ set
23
+ workspace_id (Union[Unset, None, str]): Workspace id if the alert is in the scope of a workspace
24
+ """
25
+
26
+ id: Union[Unset, int] = UNSET
27
+ alert_type: Union[Unset, str] = UNSET
28
+ message: Union[Unset, str] = UNSET
29
+ created_at: Union[Unset, datetime.datetime] = UNSET
30
+ acknowledged: Union[Unset, None, bool] = UNSET
31
+ workspace_id: Union[Unset, None, str] = UNSET
32
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
33
+
34
+ def to_dict(self) -> Dict[str, Any]:
35
+ id = self.id
36
+ alert_type = self.alert_type
37
+ message = self.message
38
+ created_at: Union[Unset, str] = UNSET
39
+ if not isinstance(self.created_at, Unset):
40
+ created_at = self.created_at.isoformat()
41
+
42
+ acknowledged = self.acknowledged
43
+ workspace_id = self.workspace_id
44
+
45
+ field_dict: Dict[str, Any] = {}
46
+ field_dict.update(self.additional_properties)
47
+ field_dict.update({})
48
+ if id is not UNSET:
49
+ field_dict["id"] = id
50
+ if alert_type is not UNSET:
51
+ field_dict["alert_type"] = alert_type
52
+ if message is not UNSET:
53
+ field_dict["message"] = message
54
+ if created_at is not UNSET:
55
+ field_dict["created_at"] = created_at
56
+ if acknowledged is not UNSET:
57
+ field_dict["acknowledged"] = acknowledged
58
+ if workspace_id is not UNSET:
59
+ field_dict["workspace_id"] = workspace_id
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
65
+ d = src_dict.copy()
66
+ id = d.pop("id", UNSET)
67
+
68
+ alert_type = d.pop("alert_type", UNSET)
69
+
70
+ message = d.pop("message", UNSET)
71
+
72
+ _created_at = d.pop("created_at", UNSET)
73
+ created_at: Union[Unset, datetime.datetime]
74
+ if isinstance(_created_at, Unset):
75
+ created_at = UNSET
76
+ else:
77
+ created_at = isoparse(_created_at)
78
+
79
+ acknowledged = d.pop("acknowledged", UNSET)
80
+
81
+ workspace_id = d.pop("workspace_id", UNSET)
82
+
83
+ workspace_get_critical_alerts_response_200_item = cls(
84
+ id=id,
85
+ alert_type=alert_type,
86
+ message=message,
87
+ created_at=created_at,
88
+ acknowledged=acknowledged,
89
+ workspace_id=workspace_id,
90
+ )
91
+
92
+ workspace_get_critical_alerts_response_200_item.additional_properties = d
93
+ return workspace_get_critical_alerts_response_200_item
94
+
95
+ @property
96
+ def additional_keys(self) -> List[str]:
97
+ return list(self.additional_properties.keys())
98
+
99
+ def __getitem__(self, key: str) -> Any:
100
+ return self.additional_properties[key]
101
+
102
+ def __setitem__(self, key: str, value: Any) -> None:
103
+ self.additional_properties[key] = value
104
+
105
+ def __delitem__(self, key: str) -> None:
106
+ del self.additional_properties[key]
107
+
108
+ def __contains__(self, key: str) -> bool:
109
+ return key in self.additional_properties
@@ -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="WorkspaceMuteCriticalAlertsUIJsonBody")
9
+
10
+
11
+ @_attrs_define
12
+ class WorkspaceMuteCriticalAlertsUIJsonBody:
13
+ """
14
+ Attributes:
15
+ mute_critical_alerts (Union[Unset, bool]): Whether critical alerts should be muted. Example: True.
16
+ """
17
+
18
+ mute_critical_alerts: Union[Unset, bool] = UNSET
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ mute_critical_alerts = self.mute_critical_alerts
23
+
24
+ field_dict: Dict[str, Any] = {}
25
+ field_dict.update(self.additional_properties)
26
+ field_dict.update({})
27
+ if mute_critical_alerts is not UNSET:
28
+ field_dict["mute_critical_alerts"] = mute_critical_alerts
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
+ mute_critical_alerts = d.pop("mute_critical_alerts", UNSET)
36
+
37
+ workspace_mute_critical_alerts_ui_json_body = cls(
38
+ mute_critical_alerts=mute_critical_alerts,
39
+ )
40
+
41
+ workspace_mute_critical_alerts_ui_json_body.additional_properties = d
42
+ return workspace_mute_critical_alerts_ui_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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: windmill-api
3
- Version: 1.424.0
3
+ Version: 1.425.0
4
4
  Summary: A client library for accessing Windmill API
5
5
  License: Apache-2.0
6
6
  Author: Ruben Fiszel
@@ -287,6 +287,10 @@ windmill_api/api/setting/test_license_key.py,sha256=p07Z9-7WhuP-sqnNK6ek22luluio
287
287
  windmill_api/api/setting/test_metadata.py,sha256=HfTrcXW3izX864BmoSJLU5INIKRCxG1YLI7v0gn_MQc,2293
288
288
  windmill_api/api/setting/test_object_storage_config.py,sha256=w94n0M1zm3I71m5rNFHFbP1p2198d_7JZ3Dva_q_Zlk,2577
289
289
  windmill_api/api/setting/test_smtp.py,sha256=gkocvsILYflJ_FVjF6GrKStPQJJnr5egYMDIkJAlkQY,2419
290
+ windmill_api/api/setting/workspace_acknowledge_all_critical_alerts.py,sha256=3BUvYc-RmD-Ig7B4NBSAn5s3bcVQNDU1b6A1uLnMGxA,3723
291
+ windmill_api/api/setting/workspace_acknowledge_critical_alert.py,sha256=sPAkFHvX4T6kCgrrcthb_khzVduPpwoGsx0l7_kaHTk,3872
292
+ windmill_api/api/setting/workspace_get_critical_alerts.py,sha256=xxlO3JcSx85g2ZlhXP3Y3V9HvMKkRVDuq0L5G8asH3Q,7294
293
+ windmill_api/api/setting/workspace_mute_critical_alerts_ui.py,sha256=sOCPqan01QuzQWMbCB1wU3CuJwzWWGrZ9C2chChyxBA,4427
290
294
  windmill_api/api/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
295
  windmill_api/api/settings/backend_uptodate.py,sha256=kFh74vbPPw5-fyy6jXZKdt46_iaL_Cku-X15SUUZr9c,2026
292
296
  windmill_api/api/settings/backend_version.py,sha256=wzB3F0zVJA0-7RWsM_slMCRoAhC-iaTi3SDgkOJoEtU,2021
@@ -666,7 +670,7 @@ windmill_api/models/create_websocket_trigger_json_body_initial_messages_item_typ
666
670
  windmill_api/models/create_websocket_trigger_json_body_url_runnable_args.py,sha256=OAFtivMu4oZtifEkw15s2mFnpaXTxFOVO5BYEKXXk00,1398
667
671
  windmill_api/models/create_workspace.py,sha256=WO8QwIF11s_Lxgode8eC59QmBsPiepnfes6vIMcJihs,1867
668
672
  windmill_api/models/create_workspace_json_body.py,sha256=EH0XdQbDncCaLa7qWY5peYzj3cZeUGSwmwyLa_09IDg,1913
669
- windmill_api/models/critical_alert.py,sha256=CZ5UtBkZA0Ds1WrI1kRqbQQIDdzsYUAP0ttUmPy9QSw,3255
673
+ windmill_api/models/critical_alert.py,sha256=hOEwvjlC0C_rl3CRrei8BFFZQFvR_iTQ9eBfE8tCUyo,3635
670
674
  windmill_api/models/decline_invite_json_body.py,sha256=APY6WrYS2XvpWr0TefDZUSgNN-1gICXnmDHmit9MI88,1553
671
675
  windmill_api/models/delete_completed_job_response_200.py,sha256=_tYQvnyE_osYdjztCUN31_6DXWVjlo4Gx1XTTI3ryLg,12995
672
676
  windmill_api/models/delete_completed_job_response_200_args.py,sha256=hVhS2-tklk9gIRyCrY3-3wA0_Sq80Jpr2WmOJH91x5Q,1332
@@ -1392,7 +1396,7 @@ windmill_api/models/get_completed_job_response_200_raw_flow_preprocessor_module_
1392
1396
  windmill_api/models/get_completed_job_response_200_raw_flow_preprocessor_module_suspend_user_groups_required_type_1_type.py,sha256=u-YheCK0vWC6q48xofM368suCbrdf0cLeJ4nbNc1yoU,220
1393
1397
  windmill_api/models/get_completed_job_result_maybe_response_200.py,sha256=no4BzZB_3zRVawLJh9ZsjH5ntuZ8Zj90QGYQd7mFmaI,2333
1394
1398
  windmill_api/models/get_counts_of_jobs_waiting_per_tag_response_200.py,sha256=_e3A1jqpV0IWOk2SR8y17jnbFBZZlRNZWp3UbgiQYtA,1371
1395
- windmill_api/models/get_critical_alerts_response_200_item.py,sha256=rAuA-WEmFz4T-2uJC0EFvKGgM0r7Don8jRRrL_vocL8,3362
1399
+ windmill_api/models/get_critical_alerts_response_200_item.py,sha256=NA0q_5NYETZ0IXwSEfzThhMe-u1XggG2sV5csENxfKk,3742
1396
1400
  windmill_api/models/get_default_scripts_response_200.py,sha256=ekfscpG1XtNxHvpokDZ7pI0W6DAdITytKNg09XwSgtc,2537
1397
1401
  windmill_api/models/get_deploy_to_response_200.py,sha256=xZHLxF4DVyJtjVYFRWhSC4gCu1nC1wIAHlvwB-dV8EU,1623
1398
1402
  windmill_api/models/get_flow_by_path_response_200.py,sha256=v8FxxokWZhVdKXEfqA8mdmZIzEMI_gCiNjfilZNAC5k,7321
@@ -1898,7 +1902,7 @@ windmill_api/models/get_script_by_path_with_draft_response_200_schema.py,sha256=
1898
1902
  windmill_api/models/get_script_deployment_status_response_200.py,sha256=xmVrdonWouCGM_3MdoVNSuaAWN8Qt7erpLpfhfauU5c,1985
1899
1903
  windmill_api/models/get_script_history_by_path_response_200_item.py,sha256=vc0iaH2j8BKXxXtjtEg7-lollyA5OxPLYoJsjSUiqc8,2009
1900
1904
  windmill_api/models/get_script_latest_version_response_200.py,sha256=tQENYMrpuFKHrllSdlpHe-P_EnWq74-07mDWIfDEres,1983
1901
- windmill_api/models/get_settings_response_200.py,sha256=QqDqocsD1_7WRZTZrQu1jDT1E_DT3FxzQ3wOl4EgTG0,12500
1905
+ windmill_api/models/get_settings_response_200.py,sha256=JsOBz1rb4huGOSjewH7Z2_mGmc53PcwIqe4JWgAmrGU,12902
1902
1906
  windmill_api/models/get_settings_response_200_ai_resource.py,sha256=nSn_PFUzUDWNJANgUl75by_lM2x_YbaFUZycC0SzZts,1716
1903
1907
  windmill_api/models/get_settings_response_200_default_scripts.py,sha256=Jj7LAapGLNObPcReGeCxbFSgHJ-0V8FJc8hPKVyrhME,2580
1904
1908
  windmill_api/models/get_settings_response_200_deploy_ui.py,sha256=ObNS_KBx9zQipqeKubJiNlzjBsVmNvpC0TZflBUkO2w,2892
@@ -3471,14 +3475,16 @@ windmill_api/models/workspace.py,sha256=yEkqUzztAeNjs2Aght0YTz51GrhTNuNYp2GtdWwV
3471
3475
  windmill_api/models/workspace_default_scripts.py,sha256=TAOqlGzBp4x1g8fOcTThWpqpjxTDcJZ1yE0s-_yOsnc,2506
3472
3476
  windmill_api/models/workspace_deploy_ui_settings.py,sha256=TGzzRl609jiVEVW4VwqeB98R8s-IyyEelRXGh7M3io4,2834
3473
3477
  windmill_api/models/workspace_deploy_ui_settings_include_type_item.py,sha256=FG69aH7ZgQPLdSoHVJt6OMLkDehGp77XchvDiuOU1ec,275
3478
+ windmill_api/models/workspace_get_critical_alerts_response_200_item.py,sha256=HQd8yumoDpHZlWg_E1yF9ckjGU855bGruNYgiuLC1z0,3790
3474
3479
  windmill_api/models/workspace_git_sync_settings.py,sha256=0OOwDEra0pYwFhCs3X2a38R3m8UY5Asxx9m-dTq13Io,4028
3475
3480
  windmill_api/models/workspace_git_sync_settings_include_type_item.py,sha256=tAAP2BqURMwG8XQiTQVkS1TaCIcGT2gzHzJ4J6NPPo0,394
3476
3481
  windmill_api/models/workspace_git_sync_settings_repositories_item.py,sha256=ZJFc1PVy25Ifv69k7zHMRD55fhVzfpmZDBy7w8lXa0A,4196
3477
3482
  windmill_api/models/workspace_git_sync_settings_repositories_item_exclude_types_override_item.py,sha256=2v33qfdGJHHMPgdPvSgw6FTrYqStaZbobxI8ZISqk7c,419
3478
3483
  windmill_api/models/workspace_invite.py,sha256=HnAJWGv5LwxWkz1T3fhgHKIccO7RFC1lixwUUXG6CXs,2037
3484
+ windmill_api/models/workspace_mute_critical_alerts_ui_json_body.py,sha256=y8ZwkWEZgavVc-FgLuZZ4z8YPCLxjPcMfdGdKjGM6VQ,1883
3479
3485
  windmill_api/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
3480
3486
  windmill_api/types.py,sha256=GoYub3t4hQP2Yn5tsvShsBfIY3vHUmblU0MXszDx_V0,968
3481
- windmill_api-1.424.0.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
3482
- windmill_api-1.424.0.dist-info/METADATA,sha256=Nt4s1spuPOr_thBSq4sD3_JyTtL-VspVTtkrDVDxNug,5023
3483
- windmill_api-1.424.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
3484
- windmill_api-1.424.0.dist-info/RECORD,,
3487
+ windmill_api-1.425.0.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
3488
+ windmill_api-1.425.0.dist-info/METADATA,sha256=bd1ek6o-LZd8WEBQ52b_uXpFUq-GV9tHEC90SuD1CZo,5023
3489
+ windmill_api-1.425.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
3490
+ windmill_api-1.425.0.dist-info/RECORD,,