cyberdesk 2.1.16__py3-none-any.whl → 2.1.18__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 (92) hide show
  1. cyberdesk/__init__.py +1 -1
  2. cyberdesk/client.py +212 -106
  3. {cyberdesk-2.1.16.dist-info → cyberdesk-2.1.18.dist-info}/METADATA +158 -2
  4. {cyberdesk-2.1.16.dist-info → cyberdesk-2.1.18.dist-info}/RECORD +92 -84
  5. openapi_client/cyberdesk_cloud_client/api/computer/copy_to_clipboard_v1_computer_machine_id_copy_to_clipboard_post.py +221 -0
  6. openapi_client/cyberdesk_cloud_client/api/computer/fs_list_v1_computer_machine_id_fs_list_get.py +2 -0
  7. openapi_client/cyberdesk_cloud_client/api/computer/fs_read_v1_computer_machine_id_fs_read_get.py +2 -0
  8. openapi_client/cyberdesk_cloud_client/api/computer/fs_write_v1_computer_machine_id_fs_write_post.py +2 -0
  9. openapi_client/cyberdesk_cloud_client/api/computer/get_display_dimensions_v1_computer_machine_id_display_dimensions_get.py +2 -0
  10. openapi_client/cyberdesk_cloud_client/api/computer/get_mouse_position_v1_computer_machine_id_input_mouse_position_get.py +2 -0
  11. openapi_client/cyberdesk_cloud_client/api/computer/get_screenshot_v1_computer_machine_id_display_screenshot_get.py +1 -0
  12. openapi_client/cyberdesk_cloud_client/api/computer/keyboard_key_v1_computer_machine_id_input_keyboard_key_post.py +2 -0
  13. openapi_client/cyberdesk_cloud_client/api/computer/keyboard_type_v1_computer_machine_id_input_keyboard_type_post.py +2 -0
  14. openapi_client/cyberdesk_cloud_client/api/computer/mouse_click_v1_computer_machine_id_input_mouse_click_post.py +2 -0
  15. openapi_client/cyberdesk_cloud_client/api/computer/mouse_drag_v1_computer_machine_id_input_mouse_drag_post.py +2 -0
  16. openapi_client/cyberdesk_cloud_client/api/computer/mouse_move_v1_computer_machine_id_input_mouse_move_post.py +2 -0
  17. openapi_client/cyberdesk_cloud_client/api/computer/mouse_scroll_v1_computer_machine_id_input_mouse_scroll_post.py +2 -0
  18. openapi_client/cyberdesk_cloud_client/api/computer/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py +2 -0
  19. openapi_client/cyberdesk_cloud_client/api/computer/powershell_session_v1_computer_machine_id_shell_powershell_session_post.py +2 -0
  20. openapi_client/cyberdesk_cloud_client/api/connections/create_connection_v1_connections_post.py +2 -0
  21. openapi_client/cyberdesk_cloud_client/api/connections/delete_connection_v1_connections_connection_id_delete.py +2 -0
  22. openapi_client/cyberdesk_cloud_client/api/connections/get_connection_v1_connections_connection_id_get.py +2 -0
  23. openapi_client/cyberdesk_cloud_client/api/connections/list_connections_v1_connections_get.py +2 -0
  24. openapi_client/cyberdesk_cloud_client/api/connections/update_connection_v1_connections_connection_id_patch.py +2 -0
  25. openapi_client/cyberdesk_cloud_client/api/default/health_db_health_db_get.py +1 -0
  26. openapi_client/cyberdesk_cloud_client/api/default/health_health_get.py +1 -0
  27. openapi_client/cyberdesk_cloud_client/api/default/root_get.py +1 -0
  28. openapi_client/cyberdesk_cloud_client/api/health/database_health_check_v1_health_db_get.py +9 -67
  29. openapi_client/cyberdesk_cloud_client/api/health/health_check_v1_health_get.py +1 -0
  30. openapi_client/cyberdesk_cloud_client/api/machines/create_machine_v1_machines_post.py +2 -0
  31. openapi_client/cyberdesk_cloud_client/api/machines/delete_machine_v1_machines_machine_id_delete.py +18 -4
  32. openapi_client/cyberdesk_cloud_client/api/machines/get_machine_pools_v1_machines_machine_id_pools_get.py +2 -0
  33. openapi_client/cyberdesk_cloud_client/api/machines/get_machine_v1_machines_machine_id_get.py +2 -0
  34. openapi_client/cyberdesk_cloud_client/api/machines/list_machines_v1_machines_get.py +2 -0
  35. openapi_client/cyberdesk_cloud_client/api/machines/update_machine_pools_v1_machines_machine_id_pools_put.py +2 -0
  36. openapi_client/cyberdesk_cloud_client/api/machines/update_machine_v1_machines_machine_id_patch.py +14 -0
  37. openapi_client/cyberdesk_cloud_client/api/pools/add_machines_to_pool_v1_pools_pool_id_machines_post.py +2 -0
  38. openapi_client/cyberdesk_cloud_client/api/pools/create_pool_v1_pools_post.py +2 -0
  39. openapi_client/cyberdesk_cloud_client/api/pools/delete_pool_v1_pools_pool_id_delete.py +2 -0
  40. openapi_client/cyberdesk_cloud_client/api/pools/get_pool_v1_pools_pool_id_get.py +2 -0
  41. openapi_client/cyberdesk_cloud_client/api/pools/list_pools_v1_pools_get.py +2 -0
  42. openapi_client/cyberdesk_cloud_client/api/pools/remove_machines_from_pool_v1_pools_pool_id_machines_delete.py +2 -0
  43. openapi_client/cyberdesk_cloud_client/api/pools/update_pool_v1_pools_pool_id_patch.py +2 -0
  44. openapi_client/cyberdesk_cloud_client/api/request_logs/create_request_log_v1_request_logs_post.py +2 -0
  45. openapi_client/cyberdesk_cloud_client/api/request_logs/delete_request_log_v1_request_logs_log_id_delete.py +2 -0
  46. openapi_client/cyberdesk_cloud_client/api/request_logs/get_request_log_v1_request_logs_log_id_get.py +2 -0
  47. openapi_client/cyberdesk_cloud_client/api/request_logs/list_request_logs_v1_request_logs_get.py +2 -0
  48. openapi_client/cyberdesk_cloud_client/api/request_logs/update_request_log_v1_request_logs_log_id_patch.py +2 -0
  49. openapi_client/cyberdesk_cloud_client/api/run_attachments/create_run_attachment_v1_run_attachments_post.py +2 -0
  50. openapi_client/cyberdesk_cloud_client/api/run_attachments/delete_run_attachment_v1_run_attachments_attachment_id_delete.py +2 -0
  51. openapi_client/cyberdesk_cloud_client/api/run_attachments/download_run_attachment_v1_run_attachments_attachment_id_download_get.py +2 -0
  52. openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_download_url_v1_run_attachments_attachment_id_download_url_get.py +2 -0
  53. openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_v1_run_attachments_attachment_id_get.py +2 -0
  54. openapi_client/cyberdesk_cloud_client/api/run_attachments/list_run_attachments_v1_run_attachments_get.py +2 -0
  55. openapi_client/cyberdesk_cloud_client/api/run_attachments/update_run_attachment_v1_run_attachments_attachment_id_put.py +2 -0
  56. openapi_client/cyberdesk_cloud_client/api/runs/bulk_create_runs_v1_runs_bulk_post.py +2 -0
  57. openapi_client/cyberdesk_cloud_client/api/runs/create_run_chain_v1_runs_chain_post.py +2 -0
  58. openapi_client/cyberdesk_cloud_client/api/runs/create_run_v1_runs_post.py +2 -0
  59. openapi_client/cyberdesk_cloud_client/api/runs/delete_run_v1_runs_run_id_delete.py +2 -0
  60. openapi_client/cyberdesk_cloud_client/api/runs/get_run_v1_runs_run_id_get.py +2 -0
  61. openapi_client/cyberdesk_cloud_client/api/runs/list_runs_v1_runs_get.py +2 -0
  62. openapi_client/cyberdesk_cloud_client/api/runs/retry_run_v1_runs_run_id_retry_post.py +2 -0
  63. openapi_client/cyberdesk_cloud_client/api/runs/update_run_v1_runs_run_id_patch.py +2 -0
  64. openapi_client/cyberdesk_cloud_client/api/test/dummy_test_endpoint_v1_test_post.py +1 -0
  65. openapi_client/cyberdesk_cloud_client/api/trajectories/create_trajectory_v1_trajectories_post.py +2 -0
  66. openapi_client/cyberdesk_cloud_client/api/trajectories/delete_trajectory_v1_trajectories_trajectory_id_delete.py +2 -0
  67. openapi_client/cyberdesk_cloud_client/api/trajectories/get_latest_trajectory_for_workflow_v1_workflows_workflow_id_latest_trajectory_get.py +2 -0
  68. openapi_client/cyberdesk_cloud_client/api/trajectories/get_trajectory_v1_trajectories_trajectory_id_get.py +2 -0
  69. openapi_client/cyberdesk_cloud_client/api/trajectories/list_trajectories_v1_trajectories_get.py +2 -0
  70. openapi_client/cyberdesk_cloud_client/api/trajectories/update_trajectory_v1_trajectories_trajectory_id_patch.py +2 -0
  71. openapi_client/cyberdesk_cloud_client/api/workflows/create_workflow_v1_workflows_post.py +2 -0
  72. openapi_client/cyberdesk_cloud_client/api/workflows/delete_workflow_v1_workflows_workflow_id_delete.py +2 -0
  73. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_v1_workflows_workflow_id_get.py +2 -0
  74. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_versions_v1_workflows_workflow_id_versions_get.py +2 -0
  75. openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py +2 -0
  76. openapi_client/cyberdesk_cloud_client/api/workflows/update_workflow_v1_workflows_workflow_id_patch.py +2 -0
  77. openapi_client/cyberdesk_cloud_client/models/__init__.py +17 -3
  78. openapi_client/cyberdesk_cloud_client/models/copy_to_clipboard_request.py +59 -0
  79. openapi_client/cyberdesk_cloud_client/models/copy_to_clipboard_v1_computer_machine_id_copy_to_clipboard_post_response_copy_to_clipboard_v1_computer_machine_id_copy_to_clipboard_post.py +47 -0
  80. openapi_client/cyberdesk_cloud_client/models/machine_create.py +80 -1
  81. openapi_client/cyberdesk_cloud_client/models/machine_create_machine_parameters_type_0.py +44 -0
  82. openapi_client/cyberdesk_cloud_client/models/{database_health_check_v1_health_db_get_response_database_health_check_v1_health_db_get.py → machine_create_machine_sensitive_parameters_type_0.py} +5 -5
  83. openapi_client/cyberdesk_cloud_client/models/machine_response.py +77 -0
  84. openapi_client/cyberdesk_cloud_client/models/machine_response_machine_parameters_type_0.py +44 -0
  85. openapi_client/cyberdesk_cloud_client/models/machine_response_machine_sensitive_parameters_type_0.py +44 -0
  86. openapi_client/cyberdesk_cloud_client/models/machine_update.py +80 -1
  87. openapi_client/cyberdesk_cloud_client/models/machine_update_machine_parameters_type_0.py +44 -0
  88. openapi_client/cyberdesk_cloud_client/models/machine_update_machine_sensitive_parameters_type_0.py +44 -0
  89. openapi_client/cyberdesk_cloud_client/models/power_shell_exec_request.py +21 -0
  90. {cyberdesk-2.1.16.dist-info → cyberdesk-2.1.18.dist-info}/WHEEL +0 -0
  91. {cyberdesk-2.1.16.dist-info → cyberdesk-2.1.18.dist-info}/licenses/LICENSE +0 -0
  92. {cyberdesk-2.1.16.dist-info → cyberdesk-2.1.18.dist-info}/top_level.txt +0 -0
@@ -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,11 @@ 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.machine_update_machine_parameters_type_0 import MachineUpdateMachineParametersType0
15
+ from ..models.machine_update_machine_sensitive_parameters_type_0 import MachineUpdateMachineSensitiveParametersType0
16
+
17
+
13
18
  T = TypeVar("T", bound="MachineUpdate")
14
19
 
15
20
 
@@ -27,6 +32,10 @@ class MachineUpdate:
27
32
  last_seen (Union[None, Unset, datetime.datetime]):
28
33
  reserved_session_id (Union[None, UUID, Unset]): Set to null to clear reservation; server will cancel
29
34
  queued/running session runs and clear
35
+ machine_parameters (Union['MachineUpdateMachineParametersType0', None, Unset]): Machine-specific input values.
36
+ Provide empty dict {} to clear all.
37
+ machine_sensitive_parameters (Union['MachineUpdateMachineSensitiveParametersType0', None, Unset]): Machine-
38
+ specific sensitive input values (will be stored in Basis Theory). Provide empty dict {} to clear all.
30
39
  """
31
40
 
32
41
  name: Union[None, Unset, str] = UNSET
@@ -37,9 +46,16 @@ class MachineUpdate:
37
46
  is_available: Union[None, Unset, bool] = UNSET
38
47
  last_seen: Union[None, Unset, datetime.datetime] = UNSET
39
48
  reserved_session_id: Union[None, UUID, Unset] = UNSET
49
+ machine_parameters: Union["MachineUpdateMachineParametersType0", None, Unset] = UNSET
50
+ machine_sensitive_parameters: Union["MachineUpdateMachineSensitiveParametersType0", None, Unset] = UNSET
40
51
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
52
 
42
53
  def to_dict(self) -> dict[str, Any]:
54
+ from ..models.machine_update_machine_parameters_type_0 import MachineUpdateMachineParametersType0
55
+ from ..models.machine_update_machine_sensitive_parameters_type_0 import (
56
+ MachineUpdateMachineSensitiveParametersType0,
57
+ )
58
+
43
59
  name: Union[None, Unset, str]
44
60
  if isinstance(self.name, Unset):
45
61
  name = UNSET
@@ -94,6 +110,22 @@ class MachineUpdate:
94
110
  else:
95
111
  reserved_session_id = self.reserved_session_id
96
112
 
113
+ machine_parameters: Union[None, Unset, dict[str, Any]]
114
+ if isinstance(self.machine_parameters, Unset):
115
+ machine_parameters = UNSET
116
+ elif isinstance(self.machine_parameters, MachineUpdateMachineParametersType0):
117
+ machine_parameters = self.machine_parameters.to_dict()
118
+ else:
119
+ machine_parameters = self.machine_parameters
120
+
121
+ machine_sensitive_parameters: Union[None, Unset, dict[str, Any]]
122
+ if isinstance(self.machine_sensitive_parameters, Unset):
123
+ machine_sensitive_parameters = UNSET
124
+ elif isinstance(self.machine_sensitive_parameters, MachineUpdateMachineSensitiveParametersType0):
125
+ machine_sensitive_parameters = self.machine_sensitive_parameters.to_dict()
126
+ else:
127
+ machine_sensitive_parameters = self.machine_sensitive_parameters
128
+
97
129
  field_dict: dict[str, Any] = {}
98
130
  field_dict.update(self.additional_properties)
99
131
  field_dict.update({})
@@ -113,11 +145,20 @@ class MachineUpdate:
113
145
  field_dict["last_seen"] = last_seen
114
146
  if reserved_session_id is not UNSET:
115
147
  field_dict["reserved_session_id"] = reserved_session_id
148
+ if machine_parameters is not UNSET:
149
+ field_dict["machine_parameters"] = machine_parameters
150
+ if machine_sensitive_parameters is not UNSET:
151
+ field_dict["machine_sensitive_parameters"] = machine_sensitive_parameters
116
152
 
117
153
  return field_dict
118
154
 
119
155
  @classmethod
120
156
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
157
+ from ..models.machine_update_machine_parameters_type_0 import MachineUpdateMachineParametersType0
158
+ from ..models.machine_update_machine_sensitive_parameters_type_0 import (
159
+ MachineUpdateMachineSensitiveParametersType0,
160
+ )
161
+
121
162
  d = dict(src_dict)
122
163
 
123
164
  def _parse_name(data: object) -> Union[None, Unset, str]:
@@ -216,6 +257,42 @@ class MachineUpdate:
216
257
 
217
258
  reserved_session_id = _parse_reserved_session_id(d.pop("reserved_session_id", UNSET))
218
259
 
260
+ def _parse_machine_parameters(data: object) -> Union["MachineUpdateMachineParametersType0", None, Unset]:
261
+ if data is None:
262
+ return data
263
+ if isinstance(data, Unset):
264
+ return data
265
+ try:
266
+ if not isinstance(data, dict):
267
+ raise TypeError()
268
+ machine_parameters_type_0 = MachineUpdateMachineParametersType0.from_dict(data)
269
+
270
+ return machine_parameters_type_0
271
+ except: # noqa: E722
272
+ pass
273
+ return cast(Union["MachineUpdateMachineParametersType0", None, Unset], data)
274
+
275
+ machine_parameters = _parse_machine_parameters(d.pop("machine_parameters", UNSET))
276
+
277
+ def _parse_machine_sensitive_parameters(
278
+ data: object,
279
+ ) -> Union["MachineUpdateMachineSensitiveParametersType0", None, Unset]:
280
+ if data is None:
281
+ return data
282
+ if isinstance(data, Unset):
283
+ return data
284
+ try:
285
+ if not isinstance(data, dict):
286
+ raise TypeError()
287
+ machine_sensitive_parameters_type_0 = MachineUpdateMachineSensitiveParametersType0.from_dict(data)
288
+
289
+ return machine_sensitive_parameters_type_0
290
+ except: # noqa: E722
291
+ pass
292
+ return cast(Union["MachineUpdateMachineSensitiveParametersType0", None, Unset], data)
293
+
294
+ machine_sensitive_parameters = _parse_machine_sensitive_parameters(d.pop("machine_sensitive_parameters", UNSET))
295
+
219
296
  machine_update = cls(
220
297
  name=name,
221
298
  version=version,
@@ -225,6 +302,8 @@ class MachineUpdate:
225
302
  is_available=is_available,
226
303
  last_seen=last_seen,
227
304
  reserved_session_id=reserved_session_id,
305
+ machine_parameters=machine_parameters,
306
+ machine_sensitive_parameters=machine_sensitive_parameters,
228
307
  )
229
308
 
230
309
  machine_update.additional_properties = d
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="MachineUpdateMachineParametersType0")
8
+
9
+
10
+ @_attrs_define
11
+ class MachineUpdateMachineParametersType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ machine_update_machine_parameters_type_0 = cls()
26
+
27
+ machine_update_machine_parameters_type_0.additional_properties = d
28
+ return machine_update_machine_parameters_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="MachineUpdateMachineSensitiveParametersType0")
8
+
9
+
10
+ @_attrs_define
11
+ class MachineUpdateMachineSensitiveParametersType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ machine_update_machine_sensitive_parameters_type_0 = cls()
26
+
27
+ machine_update_machine_sensitive_parameters_type_0.additional_properties = d
28
+ return machine_update_machine_sensitive_parameters_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -17,12 +17,15 @@ class PowerShellExecRequest:
17
17
  same_session (Union[Unset, bool]): Use persistent session Default: True.
18
18
  working_directory (Union[None, Unset, str]): Working directory for new session
19
19
  session_id (Union[None, Unset, str]): Session ID to use
20
+ timeout (Union[None, Unset, float]): Maximum time in seconds to wait for command completion before continuing.
21
+ The command will continue running in the background after timeout (default: 30.0) Default: 30.0.
20
22
  """
21
23
 
22
24
  command: str
23
25
  same_session: Union[Unset, bool] = True
24
26
  working_directory: Union[None, Unset, str] = UNSET
25
27
  session_id: Union[None, Unset, str] = UNSET
28
+ timeout: Union[None, Unset, float] = 30.0
26
29
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
30
 
28
31
  def to_dict(self) -> dict[str, Any]:
@@ -42,6 +45,12 @@ class PowerShellExecRequest:
42
45
  else:
43
46
  session_id = self.session_id
44
47
 
48
+ timeout: Union[None, Unset, float]
49
+ if isinstance(self.timeout, Unset):
50
+ timeout = UNSET
51
+ else:
52
+ timeout = self.timeout
53
+
45
54
  field_dict: dict[str, Any] = {}
46
55
  field_dict.update(self.additional_properties)
47
56
  field_dict.update(
@@ -55,6 +64,8 @@ class PowerShellExecRequest:
55
64
  field_dict["working_directory"] = working_directory
56
65
  if session_id is not UNSET:
57
66
  field_dict["session_id"] = session_id
67
+ if timeout is not UNSET:
68
+ field_dict["timeout"] = timeout
58
69
 
59
70
  return field_dict
60
71
 
@@ -83,11 +94,21 @@ class PowerShellExecRequest:
83
94
 
84
95
  session_id = _parse_session_id(d.pop("session_id", UNSET))
85
96
 
97
+ def _parse_timeout(data: object) -> Union[None, Unset, float]:
98
+ if data is None:
99
+ return data
100
+ if isinstance(data, Unset):
101
+ return data
102
+ return cast(Union[None, Unset, float], data)
103
+
104
+ timeout = _parse_timeout(d.pop("timeout", UNSET))
105
+
86
106
  power_shell_exec_request = cls(
87
107
  command=command,
88
108
  same_session=same_session,
89
109
  working_directory=working_directory,
90
110
  session_id=session_id,
111
+ timeout=timeout,
91
112
  )
92
113
 
93
114
  power_shell_exec_request.additional_properties = d