cyberdesk 0.2.2__py3-none-any.whl → 0.2.4__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 (138) hide show
  1. cyberdesk/__init__.py +7 -7
  2. cyberdesk/actions.py +37 -37
  3. cyberdesk/client.py +74 -74
  4. cyberdesk/types.py +49 -49
  5. {cyberdesk-0.2.2.dist-info → cyberdesk-0.2.4.dist-info}/METADATA +14 -5
  6. cyberdesk-0.2.4.dist-info/RECORD +136 -0
  7. {cyberdesk-0.2.2.dist-info → cyberdesk-0.2.4.dist-info}/WHEEL +1 -1
  8. {cyberdesk-0.2.2.dist-info → cyberdesk-0.2.4.dist-info}/licenses/LICENSE +20 -20
  9. cyberdesk-0.2.4.dist-info/top_level.txt +2 -0
  10. openapi_client/api_reference_client/__init__.py +8 -0
  11. openapi_client/api_reference_client/api/__init__.py +1 -0
  12. openapi_client/api_reference_client/api/desktop/__init__.py +1 -0
  13. openapi_client/api_reference_client/api/desktop/get_v1_desktop_id.py +293 -0
  14. openapi_client/api_reference_client/api/desktop/post_v1_desktop.py +294 -0
  15. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_bash_action.py +307 -0
  16. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_computer_action.py +419 -0
  17. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_stop.py +288 -0
  18. openapi_client/api_reference_client/client.py +268 -0
  19. openapi_client/api_reference_client/errors.py +16 -0
  20. openapi_client/api_reference_client/models/__init__.py +249 -0
  21. openapi_client/api_reference_client/models/get_v1_desktop_id_response_200.py +104 -0
  22. openapi_client/api_reference_client/models/get_v1_desktop_id_response_200_status.py +11 -0
  23. openapi_client/api_reference_client/models/get_v1_desktop_id_response_400.py +69 -0
  24. openapi_client/api_reference_client/models/get_v1_desktop_id_response_400_status.py +8 -0
  25. openapi_client/api_reference_client/models/get_v1_desktop_id_response_401.py +69 -0
  26. openapi_client/api_reference_client/models/get_v1_desktop_id_response_401_status.py +8 -0
  27. openapi_client/api_reference_client/models/get_v1_desktop_id_response_403.py +69 -0
  28. openapi_client/api_reference_client/models/get_v1_desktop_id_response_403_status.py +8 -0
  29. openapi_client/api_reference_client/models/get_v1_desktop_id_response_404.py +69 -0
  30. openapi_client/api_reference_client/models/get_v1_desktop_id_response_404_status.py +8 -0
  31. openapi_client/api_reference_client/models/get_v1_desktop_id_response_409.py +69 -0
  32. openapi_client/api_reference_client/models/get_v1_desktop_id_response_409_status.py +8 -0
  33. openapi_client/api_reference_client/models/get_v1_desktop_id_response_429.py +69 -0
  34. openapi_client/api_reference_client/models/get_v1_desktop_id_response_429_status.py +8 -0
  35. openapi_client/api_reference_client/models/get_v1_desktop_id_response_500.py +69 -0
  36. openapi_client/api_reference_client/models/get_v1_desktop_id_response_500_status.py +8 -0
  37. openapi_client/api_reference_client/models/get_v1_desktop_id_response_502.py +69 -0
  38. openapi_client/api_reference_client/models/get_v1_desktop_id_response_502_status.py +8 -0
  39. openapi_client/api_reference_client/models/post_v1_desktop_body.py +59 -0
  40. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_body.py +59 -0
  41. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_200.py +79 -0
  42. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_400.py +69 -0
  43. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_400_status.py +8 -0
  44. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_401.py +69 -0
  45. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_401_status.py +8 -0
  46. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_403.py +69 -0
  47. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_403_status.py +8 -0
  48. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_404.py +69 -0
  49. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_404_status.py +8 -0
  50. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_409.py +69 -0
  51. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_409_status.py +8 -0
  52. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_429.py +69 -0
  53. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_429_status.py +8 -0
  54. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_500.py +69 -0
  55. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_500_status.py +8 -0
  56. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_502.py +69 -0
  57. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_502_status.py +8 -0
  58. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action.py +133 -0
  59. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_button.py +10 -0
  60. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_click_type.py +10 -0
  61. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_type.py +8 -0
  62. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action.py +98 -0
  63. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_end.py +71 -0
  64. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_start.py +71 -0
  65. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_type.py +8 -0
  66. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_get_cursor_position_action.py +64 -0
  67. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_get_cursor_position_action_type.py +8 -0
  68. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_move_mouse_action.py +80 -0
  69. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_move_mouse_action_type.py +8 -0
  70. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action.py +109 -0
  71. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action_key_action_type.py +10 -0
  72. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action_type.py +8 -0
  73. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_200.py +79 -0
  74. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_400.py +71 -0
  75. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_400_status.py +8 -0
  76. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_401.py +71 -0
  77. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_401_status.py +8 -0
  78. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_403.py +71 -0
  79. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_403_status.py +8 -0
  80. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_404.py +71 -0
  81. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_404_status.py +8 -0
  82. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_409.py +71 -0
  83. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_409_status.py +8 -0
  84. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_429.py +71 -0
  85. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_429_status.py +8 -0
  86. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_500.py +71 -0
  87. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_500_status.py +8 -0
  88. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_502.py +71 -0
  89. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_502_status.py +8 -0
  90. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_screenshot_action.py +63 -0
  91. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_screenshot_action_type.py +8 -0
  92. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action.py +81 -0
  93. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action_direction.py +11 -0
  94. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action_type.py +8 -0
  95. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_type_text_action.py +71 -0
  96. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_type_text_action_type.py +8 -0
  97. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_wait_action.py +70 -0
  98. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_wait_action_type.py +8 -0
  99. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_200.py +62 -0
  100. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_200_status.py +11 -0
  101. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_400.py +69 -0
  102. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_400_status.py +8 -0
  103. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_401.py +69 -0
  104. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_401_status.py +8 -0
  105. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_403.py +69 -0
  106. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_403_status.py +8 -0
  107. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_404.py +69 -0
  108. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_404_status.py +8 -0
  109. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_409.py +69 -0
  110. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_409_status.py +8 -0
  111. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_429.py +69 -0
  112. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_429_status.py +8 -0
  113. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_500.py +69 -0
  114. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_500_status.py +8 -0
  115. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_502.py +69 -0
  116. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_502_status.py +8 -0
  117. openapi_client/api_reference_client/models/post_v1_desktop_response_200.py +70 -0
  118. openapi_client/api_reference_client/models/post_v1_desktop_response_200_status.py +11 -0
  119. openapi_client/api_reference_client/models/post_v1_desktop_response_400.py +69 -0
  120. openapi_client/api_reference_client/models/post_v1_desktop_response_400_status.py +8 -0
  121. openapi_client/api_reference_client/models/post_v1_desktop_response_401.py +69 -0
  122. openapi_client/api_reference_client/models/post_v1_desktop_response_401_status.py +8 -0
  123. openapi_client/api_reference_client/models/post_v1_desktop_response_403.py +69 -0
  124. openapi_client/api_reference_client/models/post_v1_desktop_response_403_status.py +8 -0
  125. openapi_client/api_reference_client/models/post_v1_desktop_response_404.py +69 -0
  126. openapi_client/api_reference_client/models/post_v1_desktop_response_404_status.py +8 -0
  127. openapi_client/api_reference_client/models/post_v1_desktop_response_409.py +69 -0
  128. openapi_client/api_reference_client/models/post_v1_desktop_response_409_status.py +8 -0
  129. openapi_client/api_reference_client/models/post_v1_desktop_response_429.py +69 -0
  130. openapi_client/api_reference_client/models/post_v1_desktop_response_429_status.py +8 -0
  131. openapi_client/api_reference_client/models/post_v1_desktop_response_500.py +69 -0
  132. openapi_client/api_reference_client/models/post_v1_desktop_response_500_status.py +8 -0
  133. openapi_client/api_reference_client/models/post_v1_desktop_response_502.py +69 -0
  134. openapi_client/api_reference_client/models/post_v1_desktop_response_502_status.py +8 -0
  135. openapi_client/api_reference_client/py.typed +1 -0
  136. openapi_client/api_reference_client/types.py +46 -0
  137. cyberdesk-0.2.2.dist-info/RECORD +0 -9
  138. cyberdesk-0.2.2.dist-info/top_level.txt +0 -1
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_403_status import PostV1DesktopIdBashActionResponse403Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse403")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse403:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse403Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse403Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse403Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_403 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_403.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_403
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse403Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_404_status import PostV1DesktopIdBashActionResponse404Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse404")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse404:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse404Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse404Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse404Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_404 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_404.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_404
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse404Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_409_status import PostV1DesktopIdBashActionResponse409Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse409")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse409:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse409Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse409Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse409Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_409 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_409.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_409
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse409Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_429_status import PostV1DesktopIdBashActionResponse429Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse429")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse429:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse429Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse429Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse429Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_429 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_429.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_429
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse429Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_500_status import PostV1DesktopIdBashActionResponse500Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse500")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse500:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse500Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse500Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse500Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_500 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_500.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_500
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse500Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.post_v1_desktop_id_bash_action_response_502_status import PostV1DesktopIdBashActionResponse502Status
8
+
9
+ T = TypeVar("T", bound="PostV1DesktopIdBashActionResponse502")
10
+
11
+
12
+ @_attrs_define
13
+ class PostV1DesktopIdBashActionResponse502:
14
+ """
15
+ Attributes:
16
+ status (PostV1DesktopIdBashActionResponse502Status): Example: error.
17
+ error (str): Error message detailing what went wrong Example: Instance not found or unauthorized.
18
+ """
19
+
20
+ status: PostV1DesktopIdBashActionResponse502Status
21
+ error: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ status = self.status.value
26
+
27
+ error = self.error
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "status": status,
34
+ "error": error,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ status = PostV1DesktopIdBashActionResponse502Status(d.pop("status"))
44
+
45
+ error = d.pop("error")
46
+
47
+ post_v1_desktop_id_bash_action_response_502 = cls(
48
+ status=status,
49
+ error=error,
50
+ )
51
+
52
+ post_v1_desktop_id_bash_action_response_502.additional_properties = d
53
+ return post_v1_desktop_id_bash_action_response_502
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,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdBashActionResponse502Status(str, Enum):
5
+ ERROR = "error"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,133 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.post_v1_desktop_id_computer_action_click_mouse_action_button import (
8
+ PostV1DesktopIdComputerActionClickMouseActionButton,
9
+ )
10
+ from ..models.post_v1_desktop_id_computer_action_click_mouse_action_click_type import (
11
+ PostV1DesktopIdComputerActionClickMouseActionClickType,
12
+ )
13
+ from ..models.post_v1_desktop_id_computer_action_click_mouse_action_type import (
14
+ PostV1DesktopIdComputerActionClickMouseActionType,
15
+ )
16
+ from ..types import UNSET, Unset
17
+
18
+ T = TypeVar("T", bound="PostV1DesktopIdComputerActionClickMouseAction")
19
+
20
+
21
+ @_attrs_define
22
+ class PostV1DesktopIdComputerActionClickMouseAction:
23
+ """
24
+ Attributes:
25
+ type_ (PostV1DesktopIdComputerActionClickMouseActionType): Perform a mouse action: click, press (down), or
26
+ release (up). Defaults to a single left click at the current position. Example: click_mouse.
27
+ x (Union[Unset, int]): X coordinate for the action (optional, uses current position if omitted) Example: 500.
28
+ y (Union[Unset, int]): Y coordinate for the action (optional, uses current position if omitted) Example: 300.
29
+ button (Union[Unset, PostV1DesktopIdComputerActionClickMouseActionButton]): Mouse button to use (optional,
30
+ defaults to 'left') Example: left.
31
+ num_of_clicks (Union[Unset, int]): Number of clicks to perform (optional, defaults to 1, only applicable for
32
+ 'click' type) Example: 1.
33
+ click_type (Union[Unset, PostV1DesktopIdComputerActionClickMouseActionClickType]): Type of mouse action
34
+ (optional, defaults to 'click') Example: click.
35
+ """
36
+
37
+ type_: PostV1DesktopIdComputerActionClickMouseActionType
38
+ x: Union[Unset, int] = UNSET
39
+ y: Union[Unset, int] = UNSET
40
+ button: Union[Unset, PostV1DesktopIdComputerActionClickMouseActionButton] = UNSET
41
+ num_of_clicks: Union[Unset, int] = UNSET
42
+ click_type: Union[Unset, PostV1DesktopIdComputerActionClickMouseActionClickType] = UNSET
43
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+ def to_dict(self) -> dict[str, Any]:
46
+ type_ = self.type_.value
47
+
48
+ x = self.x
49
+
50
+ y = self.y
51
+
52
+ button: Union[Unset, str] = UNSET
53
+ if not isinstance(self.button, Unset):
54
+ button = self.button.value
55
+
56
+ num_of_clicks = self.num_of_clicks
57
+
58
+ click_type: Union[Unset, str] = UNSET
59
+ if not isinstance(self.click_type, Unset):
60
+ click_type = self.click_type.value
61
+
62
+ field_dict: dict[str, Any] = {}
63
+ field_dict.update(self.additional_properties)
64
+ field_dict.update(
65
+ {
66
+ "type": type_,
67
+ }
68
+ )
69
+ if x is not UNSET:
70
+ field_dict["x"] = x
71
+ if y is not UNSET:
72
+ field_dict["y"] = y
73
+ if button is not UNSET:
74
+ field_dict["button"] = button
75
+ if num_of_clicks is not UNSET:
76
+ field_dict["num_of_clicks"] = num_of_clicks
77
+ if click_type is not UNSET:
78
+ field_dict["click_type"] = click_type
79
+
80
+ return field_dict
81
+
82
+ @classmethod
83
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
84
+ d = dict(src_dict)
85
+ type_ = PostV1DesktopIdComputerActionClickMouseActionType(d.pop("type"))
86
+
87
+ x = d.pop("x", UNSET)
88
+
89
+ y = d.pop("y", UNSET)
90
+
91
+ _button = d.pop("button", UNSET)
92
+ button: Union[Unset, PostV1DesktopIdComputerActionClickMouseActionButton]
93
+ if isinstance(_button, Unset):
94
+ button = UNSET
95
+ else:
96
+ button = PostV1DesktopIdComputerActionClickMouseActionButton(_button)
97
+
98
+ num_of_clicks = d.pop("num_of_clicks", UNSET)
99
+
100
+ _click_type = d.pop("click_type", UNSET)
101
+ click_type: Union[Unset, PostV1DesktopIdComputerActionClickMouseActionClickType]
102
+ if isinstance(_click_type, Unset):
103
+ click_type = UNSET
104
+ else:
105
+ click_type = PostV1DesktopIdComputerActionClickMouseActionClickType(_click_type)
106
+
107
+ post_v1_desktop_id_computer_action_click_mouse_action = cls(
108
+ type_=type_,
109
+ x=x,
110
+ y=y,
111
+ button=button,
112
+ num_of_clicks=num_of_clicks,
113
+ click_type=click_type,
114
+ )
115
+
116
+ post_v1_desktop_id_computer_action_click_mouse_action.additional_properties = d
117
+ return post_v1_desktop_id_computer_action_click_mouse_action
118
+
119
+ @property
120
+ def additional_keys(self) -> list[str]:
121
+ return list(self.additional_properties.keys())
122
+
123
+ def __getitem__(self, key: str) -> Any:
124
+ return self.additional_properties[key]
125
+
126
+ def __setitem__(self, key: str, value: Any) -> None:
127
+ self.additional_properties[key] = value
128
+
129
+ def __delitem__(self, key: str) -> None:
130
+ del self.additional_properties[key]
131
+
132
+ def __contains__(self, key: str) -> bool:
133
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdComputerActionClickMouseActionButton(str, Enum):
5
+ LEFT = "left"
6
+ MIDDLE = "middle"
7
+ RIGHT = "right"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdComputerActionClickMouseActionClickType(str, Enum):
5
+ CLICK = "click"
6
+ DOWN = "down"
7
+ UP = "up"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class PostV1DesktopIdComputerActionClickMouseActionType(str, Enum):
5
+ CLICK_MOUSE = "click_mouse"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)