cyberdesk 2.0.0__py3-none-any.whl → 2.1.1__py3-none-any.whl

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

Potentially problematic release.


This version of cyberdesk might be problematic. Click here for more details.

Files changed (33) hide show
  1. cyberdesk/__init__.py +1 -1
  2. cyberdesk/client.py +480 -25
  3. {cyberdesk-2.0.0.dist-info → cyberdesk-2.1.1.dist-info}/METADATA +1 -1
  4. {cyberdesk-2.0.0.dist-info → cyberdesk-2.1.1.dist-info}/RECORD +33 -16
  5. openapi_client/cyberdesk_cloud_client/api/machines/get_machine_pools_v1_machines_machine_id_pools_get.py +169 -0
  6. openapi_client/cyberdesk_cloud_client/api/machines/list_machines_v1_machines_get.py +53 -0
  7. openapi_client/cyberdesk_cloud_client/api/machines/update_machine_pools_v1_machines_machine_id_pools_put.py +190 -0
  8. openapi_client/cyberdesk_cloud_client/api/pools/__init__.py +1 -0
  9. openapi_client/cyberdesk_cloud_client/api/pools/add_machines_to_pool_v1_pools_pool_id_machines_post.py +186 -0
  10. openapi_client/cyberdesk_cloud_client/api/pools/create_pool_v1_pools_post.py +172 -0
  11. openapi_client/cyberdesk_cloud_client/api/pools/delete_pool_v1_pools_pool_id_delete.py +162 -0
  12. openapi_client/cyberdesk_cloud_client/api/pools/get_pool_v1_pools_pool_id_get.py +185 -0
  13. openapi_client/cyberdesk_cloud_client/api/pools/list_pools_v1_pools_get.py +186 -0
  14. openapi_client/cyberdesk_cloud_client/api/pools/remove_machines_from_pool_v1_pools_pool_id_machines_delete.py +184 -0
  15. openapi_client/cyberdesk_cloud_client/api/pools/update_pool_v1_pools_pool_id_patch.py +186 -0
  16. openapi_client/cyberdesk_cloud_client/api/runs/list_runs_v1_runs_get.py +53 -0
  17. openapi_client/cyberdesk_cloud_client/api/trajectories/list_trajectories_v1_trajectories_get.py +105 -0
  18. openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py +105 -0
  19. openapi_client/cyberdesk_cloud_client/models/__init__.py +14 -0
  20. openapi_client/cyberdesk_cloud_client/models/machine_pool_assignment.py +69 -0
  21. openapi_client/cyberdesk_cloud_client/models/machine_pool_update.py +69 -0
  22. openapi_client/cyberdesk_cloud_client/models/machine_response.py +46 -1
  23. openapi_client/cyberdesk_cloud_client/models/paginated_response_pool_response.py +97 -0
  24. openapi_client/cyberdesk_cloud_client/models/pool_create.py +82 -0
  25. openapi_client/cyberdesk_cloud_client/models/pool_response.py +137 -0
  26. openapi_client/cyberdesk_cloud_client/models/pool_update.py +92 -0
  27. openapi_client/cyberdesk_cloud_client/models/pool_with_machines.py +162 -0
  28. openapi_client/cyberdesk_cloud_client/models/run_bulk_create.py +40 -0
  29. openapi_client/cyberdesk_cloud_client/models/run_create.py +40 -0
  30. openapi_client/cyberdesk_cloud_client/models/run_response.py +39 -0
  31. {cyberdesk-2.0.0.dist-info → cyberdesk-2.1.1.dist-info}/WHEEL +0 -0
  32. {cyberdesk-2.0.0.dist-info → cyberdesk-2.1.1.dist-info}/licenses/LICENSE +0 -0
  33. {cyberdesk-2.0.0.dist-info → cyberdesk-2.1.1.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,4 @@
1
+ import datetime
1
2
  from http import HTTPStatus
2
3
  from typing import Any, Optional, Union
3
4
  from uuid import UUID
@@ -14,6 +15,10 @@ from ...types import UNSET, Response, Unset
14
15
  def _get_kwargs(
15
16
  *,
16
17
  workflow_id: Union[None, UUID, Unset] = UNSET,
18
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
19
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
20
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
21
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
17
22
  skip: Union[Unset, int] = 0,
18
23
  limit: Union[Unset, int] = 100,
19
24
  ) -> dict[str, Any]:
@@ -28,6 +33,42 @@ def _get_kwargs(
28
33
  json_workflow_id = workflow_id
29
34
  params["workflow_id"] = json_workflow_id
30
35
 
36
+ json_created_at_from: Union[None, Unset, str]
37
+ if isinstance(created_at_from, Unset):
38
+ json_created_at_from = UNSET
39
+ elif isinstance(created_at_from, datetime.datetime):
40
+ json_created_at_from = created_at_from.isoformat()
41
+ else:
42
+ json_created_at_from = created_at_from
43
+ params["created_at_from"] = json_created_at_from
44
+
45
+ json_created_at_to: Union[None, Unset, str]
46
+ if isinstance(created_at_to, Unset):
47
+ json_created_at_to = UNSET
48
+ elif isinstance(created_at_to, datetime.datetime):
49
+ json_created_at_to = created_at_to.isoformat()
50
+ else:
51
+ json_created_at_to = created_at_to
52
+ params["created_at_to"] = json_created_at_to
53
+
54
+ json_updated_at_from: Union[None, Unset, str]
55
+ if isinstance(updated_at_from, Unset):
56
+ json_updated_at_from = UNSET
57
+ elif isinstance(updated_at_from, datetime.datetime):
58
+ json_updated_at_from = updated_at_from.isoformat()
59
+ else:
60
+ json_updated_at_from = updated_at_from
61
+ params["updated_at_from"] = json_updated_at_from
62
+
63
+ json_updated_at_to: Union[None, Unset, str]
64
+ if isinstance(updated_at_to, Unset):
65
+ json_updated_at_to = UNSET
66
+ elif isinstance(updated_at_to, datetime.datetime):
67
+ json_updated_at_to = updated_at_to.isoformat()
68
+ else:
69
+ json_updated_at_to = updated_at_to
70
+ params["updated_at_to"] = json_updated_at_to
71
+
31
72
  params["skip"] = skip
32
73
 
33
74
  params["limit"] = limit
@@ -75,6 +116,10 @@ def sync_detailed(
75
116
  *,
76
117
  client: AuthenticatedClient,
77
118
  workflow_id: Union[None, UUID, Unset] = UNSET,
119
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
120
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
121
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
122
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
78
123
  skip: Union[Unset, int] = 0,
79
124
  limit: Union[Unset, int] = 100,
80
125
  ) -> Response[Union[HTTPValidationError, PaginatedResponseTrajectoryResponse]]:
@@ -87,6 +132,14 @@ def sync_detailed(
87
132
 
88
133
  Args:
89
134
  workflow_id (Union[None, UUID, Unset]): Filter by workflow ID
135
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
136
+ after this ISO timestamp (UTC)
137
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
138
+ before this ISO timestamp (UTC)
139
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
140
+ after this ISO timestamp (UTC)
141
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
142
+ before this ISO timestamp (UTC)
90
143
  skip (Union[Unset, int]): Default: 0.
91
144
  limit (Union[Unset, int]): Default: 100.
92
145
 
@@ -100,6 +153,10 @@ def sync_detailed(
100
153
 
101
154
  kwargs = _get_kwargs(
102
155
  workflow_id=workflow_id,
156
+ created_at_from=created_at_from,
157
+ created_at_to=created_at_to,
158
+ updated_at_from=updated_at_from,
159
+ updated_at_to=updated_at_to,
103
160
  skip=skip,
104
161
  limit=limit,
105
162
  )
@@ -115,6 +172,10 @@ def sync(
115
172
  *,
116
173
  client: AuthenticatedClient,
117
174
  workflow_id: Union[None, UUID, Unset] = UNSET,
175
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
176
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
177
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
178
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
118
179
  skip: Union[Unset, int] = 0,
119
180
  limit: Union[Unset, int] = 100,
120
181
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseTrajectoryResponse]]:
@@ -127,6 +188,14 @@ def sync(
127
188
 
128
189
  Args:
129
190
  workflow_id (Union[None, UUID, Unset]): Filter by workflow ID
191
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
192
+ after this ISO timestamp (UTC)
193
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
194
+ before this ISO timestamp (UTC)
195
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
196
+ after this ISO timestamp (UTC)
197
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
198
+ before this ISO timestamp (UTC)
130
199
  skip (Union[Unset, int]): Default: 0.
131
200
  limit (Union[Unset, int]): Default: 100.
132
201
 
@@ -141,6 +210,10 @@ def sync(
141
210
  return sync_detailed(
142
211
  client=client,
143
212
  workflow_id=workflow_id,
213
+ created_at_from=created_at_from,
214
+ created_at_to=created_at_to,
215
+ updated_at_from=updated_at_from,
216
+ updated_at_to=updated_at_to,
144
217
  skip=skip,
145
218
  limit=limit,
146
219
  ).parsed
@@ -150,6 +223,10 @@ async def asyncio_detailed(
150
223
  *,
151
224
  client: AuthenticatedClient,
152
225
  workflow_id: Union[None, UUID, Unset] = UNSET,
226
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
227
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
228
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
229
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
153
230
  skip: Union[Unset, int] = 0,
154
231
  limit: Union[Unset, int] = 100,
155
232
  ) -> Response[Union[HTTPValidationError, PaginatedResponseTrajectoryResponse]]:
@@ -162,6 +239,14 @@ async def asyncio_detailed(
162
239
 
163
240
  Args:
164
241
  workflow_id (Union[None, UUID, Unset]): Filter by workflow ID
242
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
243
+ after this ISO timestamp (UTC)
244
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
245
+ before this ISO timestamp (UTC)
246
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
247
+ after this ISO timestamp (UTC)
248
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
249
+ before this ISO timestamp (UTC)
165
250
  skip (Union[Unset, int]): Default: 0.
166
251
  limit (Union[Unset, int]): Default: 100.
167
252
 
@@ -175,6 +260,10 @@ async def asyncio_detailed(
175
260
 
176
261
  kwargs = _get_kwargs(
177
262
  workflow_id=workflow_id,
263
+ created_at_from=created_at_from,
264
+ created_at_to=created_at_to,
265
+ updated_at_from=updated_at_from,
266
+ updated_at_to=updated_at_to,
178
267
  skip=skip,
179
268
  limit=limit,
180
269
  )
@@ -188,6 +277,10 @@ async def asyncio(
188
277
  *,
189
278
  client: AuthenticatedClient,
190
279
  workflow_id: Union[None, UUID, Unset] = UNSET,
280
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
281
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
282
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
283
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
191
284
  skip: Union[Unset, int] = 0,
192
285
  limit: Union[Unset, int] = 100,
193
286
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseTrajectoryResponse]]:
@@ -200,6 +293,14 @@ async def asyncio(
200
293
 
201
294
  Args:
202
295
  workflow_id (Union[None, UUID, Unset]): Filter by workflow ID
296
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
297
+ after this ISO timestamp (UTC)
298
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories created at or
299
+ before this ISO timestamp (UTC)
300
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
301
+ after this ISO timestamp (UTC)
302
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter trajectories updated at or
303
+ before this ISO timestamp (UTC)
203
304
  skip (Union[Unset, int]): Default: 0.
204
305
  limit (Union[Unset, int]): Default: 100.
205
306
 
@@ -215,6 +316,10 @@ async def asyncio(
215
316
  await asyncio_detailed(
216
317
  client=client,
217
318
  workflow_id=workflow_id,
319
+ created_at_from=created_at_from,
320
+ created_at_to=created_at_to,
321
+ updated_at_from=updated_at_from,
322
+ updated_at_to=updated_at_to,
218
323
  skip=skip,
219
324
  limit=limit,
220
325
  )
@@ -1,3 +1,4 @@
1
+ import datetime
1
2
  from http import HTTPStatus
2
3
  from typing import Any, Optional, Union
3
4
 
@@ -12,11 +13,51 @@ from ...types import UNSET, Response, Unset
12
13
 
13
14
  def _get_kwargs(
14
15
  *,
16
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
17
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
18
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
19
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
15
20
  skip: Union[Unset, int] = 0,
16
21
  limit: Union[Unset, int] = 100,
17
22
  ) -> dict[str, Any]:
18
23
  params: dict[str, Any] = {}
19
24
 
25
+ json_created_at_from: Union[None, Unset, str]
26
+ if isinstance(created_at_from, Unset):
27
+ json_created_at_from = UNSET
28
+ elif isinstance(created_at_from, datetime.datetime):
29
+ json_created_at_from = created_at_from.isoformat()
30
+ else:
31
+ json_created_at_from = created_at_from
32
+ params["created_at_from"] = json_created_at_from
33
+
34
+ json_created_at_to: Union[None, Unset, str]
35
+ if isinstance(created_at_to, Unset):
36
+ json_created_at_to = UNSET
37
+ elif isinstance(created_at_to, datetime.datetime):
38
+ json_created_at_to = created_at_to.isoformat()
39
+ else:
40
+ json_created_at_to = created_at_to
41
+ params["created_at_to"] = json_created_at_to
42
+
43
+ json_updated_at_from: Union[None, Unset, str]
44
+ if isinstance(updated_at_from, Unset):
45
+ json_updated_at_from = UNSET
46
+ elif isinstance(updated_at_from, datetime.datetime):
47
+ json_updated_at_from = updated_at_from.isoformat()
48
+ else:
49
+ json_updated_at_from = updated_at_from
50
+ params["updated_at_from"] = json_updated_at_from
51
+
52
+ json_updated_at_to: Union[None, Unset, str]
53
+ if isinstance(updated_at_to, Unset):
54
+ json_updated_at_to = UNSET
55
+ elif isinstance(updated_at_to, datetime.datetime):
56
+ json_updated_at_to = updated_at_to.isoformat()
57
+ else:
58
+ json_updated_at_to = updated_at_to
59
+ params["updated_at_to"] = json_updated_at_to
60
+
20
61
  params["skip"] = skip
21
62
 
22
63
  params["limit"] = limit
@@ -63,6 +104,10 @@ def _build_response(
63
104
  def sync_detailed(
64
105
  *,
65
106
  client: AuthenticatedClient,
107
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
108
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
109
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
110
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
66
111
  skip: Union[Unset, int] = 0,
67
112
  limit: Union[Unset, int] = 100,
68
113
  ) -> Response[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
@@ -73,6 +118,14 @@ def sync_detailed(
73
118
  Supports pagination and returns workflows ordered by updated_at descending.
74
119
 
75
120
  Args:
121
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter workflows created at or
122
+ after this ISO timestamp (UTC)
123
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter workflows created at or
124
+ before this ISO timestamp (UTC)
125
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
126
+ after this ISO timestamp (UTC)
127
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
128
+ before this ISO timestamp (UTC)
76
129
  skip (Union[Unset, int]): Default: 0.
77
130
  limit (Union[Unset, int]): Default: 100.
78
131
 
@@ -85,6 +138,10 @@ def sync_detailed(
85
138
  """
86
139
 
87
140
  kwargs = _get_kwargs(
141
+ created_at_from=created_at_from,
142
+ created_at_to=created_at_to,
143
+ updated_at_from=updated_at_from,
144
+ updated_at_to=updated_at_to,
88
145
  skip=skip,
89
146
  limit=limit,
90
147
  )
@@ -99,6 +156,10 @@ def sync_detailed(
99
156
  def sync(
100
157
  *,
101
158
  client: AuthenticatedClient,
159
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
160
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
161
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
162
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
102
163
  skip: Union[Unset, int] = 0,
103
164
  limit: Union[Unset, int] = 100,
104
165
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
@@ -109,6 +170,14 @@ def sync(
109
170
  Supports pagination and returns workflows ordered by updated_at descending.
110
171
 
111
172
  Args:
173
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter workflows created at or
174
+ after this ISO timestamp (UTC)
175
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter workflows created at or
176
+ before this ISO timestamp (UTC)
177
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
178
+ after this ISO timestamp (UTC)
179
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
180
+ before this ISO timestamp (UTC)
112
181
  skip (Union[Unset, int]): Default: 0.
113
182
  limit (Union[Unset, int]): Default: 100.
114
183
 
@@ -122,6 +191,10 @@ def sync(
122
191
 
123
192
  return sync_detailed(
124
193
  client=client,
194
+ created_at_from=created_at_from,
195
+ created_at_to=created_at_to,
196
+ updated_at_from=updated_at_from,
197
+ updated_at_to=updated_at_to,
125
198
  skip=skip,
126
199
  limit=limit,
127
200
  ).parsed
@@ -130,6 +203,10 @@ def sync(
130
203
  async def asyncio_detailed(
131
204
  *,
132
205
  client: AuthenticatedClient,
206
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
207
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
208
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
209
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
133
210
  skip: Union[Unset, int] = 0,
134
211
  limit: Union[Unset, int] = 100,
135
212
  ) -> Response[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
@@ -140,6 +217,14 @@ async def asyncio_detailed(
140
217
  Supports pagination and returns workflows ordered by updated_at descending.
141
218
 
142
219
  Args:
220
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter workflows created at or
221
+ after this ISO timestamp (UTC)
222
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter workflows created at or
223
+ before this ISO timestamp (UTC)
224
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
225
+ after this ISO timestamp (UTC)
226
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
227
+ before this ISO timestamp (UTC)
143
228
  skip (Union[Unset, int]): Default: 0.
144
229
  limit (Union[Unset, int]): Default: 100.
145
230
 
@@ -152,6 +237,10 @@ async def asyncio_detailed(
152
237
  """
153
238
 
154
239
  kwargs = _get_kwargs(
240
+ created_at_from=created_at_from,
241
+ created_at_to=created_at_to,
242
+ updated_at_from=updated_at_from,
243
+ updated_at_to=updated_at_to,
155
244
  skip=skip,
156
245
  limit=limit,
157
246
  )
@@ -164,6 +253,10 @@ async def asyncio_detailed(
164
253
  async def asyncio(
165
254
  *,
166
255
  client: AuthenticatedClient,
256
+ created_at_from: Union[None, Unset, datetime.datetime] = UNSET,
257
+ created_at_to: Union[None, Unset, datetime.datetime] = UNSET,
258
+ updated_at_from: Union[None, Unset, datetime.datetime] = UNSET,
259
+ updated_at_to: Union[None, Unset, datetime.datetime] = UNSET,
167
260
  skip: Union[Unset, int] = 0,
168
261
  limit: Union[Unset, int] = 100,
169
262
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
@@ -174,6 +267,14 @@ async def asyncio(
174
267
  Supports pagination and returns workflows ordered by updated_at descending.
175
268
 
176
269
  Args:
270
+ created_at_from (Union[None, Unset, datetime.datetime]): Filter workflows created at or
271
+ after this ISO timestamp (UTC)
272
+ created_at_to (Union[None, Unset, datetime.datetime]): Filter workflows created at or
273
+ before this ISO timestamp (UTC)
274
+ updated_at_from (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
275
+ after this ISO timestamp (UTC)
276
+ updated_at_to (Union[None, Unset, datetime.datetime]): Filter workflows updated at or
277
+ before this ISO timestamp (UTC)
177
278
  skip (Union[Unset, int]): Default: 0.
178
279
  limit (Union[Unset, int]): Default: 100.
179
280
 
@@ -188,6 +289,10 @@ async def asyncio(
188
289
  return (
189
290
  await asyncio_detailed(
190
291
  client=client,
292
+ created_at_from=created_at_from,
293
+ created_at_to=created_at_to,
294
+ updated_at_from=updated_at_from,
295
+ updated_at_to=updated_at_to,
191
296
  skip=skip,
192
297
  limit=limit,
193
298
  )
@@ -32,6 +32,8 @@ from .http_validation_error import HTTPValidationError
32
32
  from .keyboard_key_request import KeyboardKeyRequest
33
33
  from .keyboard_type_request import KeyboardTypeRequest
34
34
  from .machine_create import MachineCreate
35
+ from .machine_pool_assignment import MachinePoolAssignment
36
+ from .machine_pool_update import MachinePoolUpdate
35
37
  from .machine_response import MachineResponse
36
38
  from .machine_status import MachineStatus
37
39
  from .machine_update import MachineUpdate
@@ -41,10 +43,15 @@ from .mouse_position import MousePosition
41
43
  from .paginated_response import PaginatedResponse
42
44
  from .paginated_response_connection_response import PaginatedResponseConnectionResponse
43
45
  from .paginated_response_machine_response import PaginatedResponseMachineResponse
46
+ from .paginated_response_pool_response import PaginatedResponsePoolResponse
44
47
  from .paginated_response_run_attachment_response import PaginatedResponseRunAttachmentResponse
45
48
  from .paginated_response_run_response import PaginatedResponseRunResponse
46
49
  from .paginated_response_trajectory_response import PaginatedResponseTrajectoryResponse
47
50
  from .paginated_response_workflow_response import PaginatedResponseWorkflowResponse
51
+ from .pool_create import PoolCreate
52
+ from .pool_response import PoolResponse
53
+ from .pool_update import PoolUpdate
54
+ from .pool_with_machines import PoolWithMachines
48
55
  from .power_shell_exec_request import PowerShellExecRequest
49
56
  from .power_shell_session_request import PowerShellSessionRequest
50
57
  from .powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post import (
@@ -109,6 +116,8 @@ __all__ = (
109
116
  "KeyboardKeyRequest",
110
117
  "KeyboardTypeRequest",
111
118
  "MachineCreate",
119
+ "MachinePoolAssignment",
120
+ "MachinePoolUpdate",
112
121
  "MachineResponse",
113
122
  "MachineStatus",
114
123
  "MachineUpdate",
@@ -118,10 +127,15 @@ __all__ = (
118
127
  "PaginatedResponse",
119
128
  "PaginatedResponseConnectionResponse",
120
129
  "PaginatedResponseMachineResponse",
130
+ "PaginatedResponsePoolResponse",
121
131
  "PaginatedResponseRunAttachmentResponse",
122
132
  "PaginatedResponseRunResponse",
123
133
  "PaginatedResponseTrajectoryResponse",
124
134
  "PaginatedResponseWorkflowResponse",
135
+ "PoolCreate",
136
+ "PoolResponse",
137
+ "PoolUpdate",
138
+ "PoolWithMachines",
125
139
  "PowerShellExecRequest",
126
140
  "PowershellExecV1ComputerMachineIdShellPowershellExecPostResponsePowershellExecV1ComputerMachineIdShellPowershellExecPost",
127
141
  "PowerShellSessionRequest",
@@ -0,0 +1,69 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ T = TypeVar("T", bound="MachinePoolAssignment")
9
+
10
+
11
+ @_attrs_define
12
+ class MachinePoolAssignment:
13
+ """Schema for assigning machines to pools
14
+
15
+ Attributes:
16
+ machine_ids (list[UUID]): List of machine IDs to assign to the pool
17
+ """
18
+
19
+ machine_ids: list[UUID]
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ machine_ids = []
24
+ for machine_ids_item_data in self.machine_ids:
25
+ machine_ids_item = str(machine_ids_item_data)
26
+ machine_ids.append(machine_ids_item)
27
+
28
+ field_dict: dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "machine_ids": machine_ids,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
41
+ machine_ids = []
42
+ _machine_ids = d.pop("machine_ids")
43
+ for machine_ids_item_data in _machine_ids:
44
+ machine_ids_item = UUID(machine_ids_item_data)
45
+
46
+ machine_ids.append(machine_ids_item)
47
+
48
+ machine_pool_assignment = cls(
49
+ machine_ids=machine_ids,
50
+ )
51
+
52
+ machine_pool_assignment.additional_properties = d
53
+ return machine_pool_assignment
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,69 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ T = TypeVar("T", bound="MachinePoolUpdate")
9
+
10
+
11
+ @_attrs_define
12
+ class MachinePoolUpdate:
13
+ """Schema for updating a machine's pool assignments
14
+
15
+ Attributes:
16
+ pool_ids (list[UUID]): List of pool IDs to assign the machine to
17
+ """
18
+
19
+ pool_ids: list[UUID]
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ pool_ids = []
24
+ for pool_ids_item_data in self.pool_ids:
25
+ pool_ids_item = str(pool_ids_item_data)
26
+ pool_ids.append(pool_ids_item)
27
+
28
+ field_dict: dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "pool_ids": pool_ids,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
41
+ pool_ids = []
42
+ _pool_ids = d.pop("pool_ids")
43
+ for pool_ids_item_data in _pool_ids:
44
+ pool_ids_item = UUID(pool_ids_item_data)
45
+
46
+ pool_ids.append(pool_ids_item)
47
+
48
+ machine_pool_update = cls(
49
+ pool_ids=pool_ids,
50
+ )
51
+
52
+ machine_pool_update.additional_properties = d
53
+ return machine_pool_update
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  import datetime
2
2
  from collections.abc import Mapping
3
- from typing import Any, TypeVar, Union, cast
3
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
4
4
  from uuid import UUID
5
5
 
6
6
  from attrs import define as _attrs_define
@@ -10,6 +10,10 @@ from dateutil.parser import isoparse
10
10
  from ..models.machine_status import MachineStatus
11
11
  from ..types import UNSET, Unset
12
12
 
13
+ if TYPE_CHECKING:
14
+ from ..models.pool_response import PoolResponse
15
+
16
+
13
17
  T = TypeVar("T", bound="MachineResponse")
14
18
 
15
19
 
@@ -31,6 +35,7 @@ class MachineResponse:
31
35
  os_info (Union[None, Unset, str]):
32
36
  user_id (Union[None, UUID, Unset]):
33
37
  organization_id (Union[None, Unset, str]):
38
+ pools (Union[None, Unset, list['PoolResponse']]):
34
39
  """
35
40
 
36
41
  fingerprint: str
@@ -46,6 +51,7 @@ class MachineResponse:
46
51
  os_info: Union[None, Unset, str] = UNSET
47
52
  user_id: Union[None, UUID, Unset] = UNSET
48
53
  organization_id: Union[None, Unset, str] = UNSET
54
+ pools: Union[None, Unset, list["PoolResponse"]] = UNSET
49
55
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
50
56
 
51
57
  def to_dict(self) -> dict[str, Any]:
@@ -101,6 +107,18 @@ class MachineResponse:
101
107
  else:
102
108
  organization_id = self.organization_id
103
109
 
110
+ pools: Union[None, Unset, list[dict[str, Any]]]
111
+ if isinstance(self.pools, Unset):
112
+ pools = UNSET
113
+ elif isinstance(self.pools, list):
114
+ pools = []
115
+ for pools_type_0_item_data in self.pools:
116
+ pools_type_0_item = pools_type_0_item_data.to_dict()
117
+ pools.append(pools_type_0_item)
118
+
119
+ else:
120
+ pools = self.pools
121
+
104
122
  field_dict: dict[str, Any] = {}
105
123
  field_dict.update(self.additional_properties)
106
124
  field_dict.update(
@@ -126,11 +144,15 @@ class MachineResponse:
126
144
  field_dict["user_id"] = user_id
127
145
  if organization_id is not UNSET:
128
146
  field_dict["organization_id"] = organization_id
147
+ if pools is not UNSET:
148
+ field_dict["pools"] = pools
129
149
 
130
150
  return field_dict
131
151
 
132
152
  @classmethod
133
153
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
154
+ from ..models.pool_response import PoolResponse
155
+
134
156
  d = dict(src_dict)
135
157
  fingerprint = d.pop("fingerprint")
136
158
 
@@ -208,6 +230,28 @@ class MachineResponse:
208
230
 
209
231
  organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
210
232
 
233
+ def _parse_pools(data: object) -> Union[None, Unset, list["PoolResponse"]]:
234
+ if data is None:
235
+ return data
236
+ if isinstance(data, Unset):
237
+ return data
238
+ try:
239
+ if not isinstance(data, list):
240
+ raise TypeError()
241
+ pools_type_0 = []
242
+ _pools_type_0 = data
243
+ for pools_type_0_item_data in _pools_type_0:
244
+ pools_type_0_item = PoolResponse.from_dict(pools_type_0_item_data)
245
+
246
+ pools_type_0.append(pools_type_0_item)
247
+
248
+ return pools_type_0
249
+ except: # noqa: E722
250
+ pass
251
+ return cast(Union[None, Unset, list["PoolResponse"]], data)
252
+
253
+ pools = _parse_pools(d.pop("pools", UNSET))
254
+
211
255
  machine_response = cls(
212
256
  fingerprint=fingerprint,
213
257
  id=id,
@@ -222,6 +266,7 @@ class MachineResponse:
222
266
  os_info=os_info,
223
267
  user_id=user_id,
224
268
  organization_id=organization_id,
269
+ pools=pools,
225
270
  )
226
271
 
227
272
  machine_response.additional_properties = d