cyberdesk 1.8.0__py3-none-any.whl → 1.10.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 cyberdesk might be problematic. Click here for more details.

Files changed (41) hide show
  1. cyberdesk/__init__.py +13 -1
  2. cyberdesk/client.py +357 -0
  3. {cyberdesk-1.8.0.dist-info → cyberdesk-1.10.0.dist-info}/METADATA +39 -17
  4. {cyberdesk-1.8.0.dist-info → cyberdesk-1.10.0.dist-info}/RECORD +41 -13
  5. openapi_client/cyberdesk_cloud_client/api/computer/fs_list_v1_computer_machine_id_fs_list_get.py +188 -0
  6. openapi_client/cyberdesk_cloud_client/api/computer/fs_read_v1_computer_machine_id_fs_read_get.py +188 -0
  7. openapi_client/cyberdesk_cloud_client/api/computer/fs_write_v1_computer_machine_id_fs_write_post.py +201 -0
  8. openapi_client/cyberdesk_cloud_client/api/computer/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py +219 -0
  9. openapi_client/cyberdesk_cloud_client/api/computer/powershell_session_v1_computer_machine_id_shell_powershell_session_post.py +219 -0
  10. openapi_client/cyberdesk_cloud_client/api/run_attachments/__init__.py +1 -0
  11. openapi_client/cyberdesk_cloud_client/api/run_attachments/create_run_attachment_v1_run_attachments_post.py +184 -0
  12. openapi_client/cyberdesk_cloud_client/api/run_attachments/delete_run_attachment_v1_run_attachments_attachment_id_delete.py +170 -0
  13. openapi_client/cyberdesk_cloud_client/api/run_attachments/download_run_attachment_v1_run_attachments_attachment_id_download_get.py +170 -0
  14. openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_download_url_v1_run_attachments_attachment_id_download_url_get.py +209 -0
  15. openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_v1_run_attachments_attachment_id_get.py +172 -0
  16. openapi_client/cyberdesk_cloud_client/api/run_attachments/list_run_attachments_v1_run_attachments_get.py +240 -0
  17. openapi_client/cyberdesk_cloud_client/api/run_attachments/update_run_attachment_v1_run_attachments_attachment_id_put.py +194 -0
  18. openapi_client/cyberdesk_cloud_client/models/__init__.py +40 -0
  19. openapi_client/cyberdesk_cloud_client/models/attachment_type.py +9 -0
  20. openapi_client/cyberdesk_cloud_client/models/file_input.py +99 -0
  21. openapi_client/cyberdesk_cloud_client/models/file_write_request.py +78 -0
  22. openapi_client/cyberdesk_cloud_client/models/fs_list_v1_computer_machine_id_fs_list_get_response_fs_list_v1_computer_machine_id_fs_list_get.py +44 -0
  23. openapi_client/cyberdesk_cloud_client/models/fs_read_v1_computer_machine_id_fs_read_get_response_fs_read_v1_computer_machine_id_fs_read_get.py +44 -0
  24. openapi_client/cyberdesk_cloud_client/models/fs_write_v1_computer_machine_id_fs_write_post_response_fs_write_v1_computer_machine_id_fs_write_post.py +44 -0
  25. openapi_client/cyberdesk_cloud_client/models/paginated_response_run_attachment_response.py +97 -0
  26. openapi_client/cyberdesk_cloud_client/models/power_shell_exec_request.py +110 -0
  27. openapi_client/cyberdesk_cloud_client/models/power_shell_session_request.py +81 -0
  28. openapi_client/cyberdesk_cloud_client/models/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py +47 -0
  29. openapi_client/cyberdesk_cloud_client/models/powershell_session_v1_computer_machine_id_shell_powershell_session_post_response_powershell_session_v1_computer_machine_id_shell_powershell_session_post.py +47 -0
  30. openapi_client/cyberdesk_cloud_client/models/run_attachment_create.py +157 -0
  31. openapi_client/cyberdesk_cloud_client/models/run_attachment_download_url_response.py +68 -0
  32. openapi_client/cyberdesk_cloud_client/models/run_attachment_response.py +189 -0
  33. openapi_client/cyberdesk_cloud_client/models/run_attachment_update.py +84 -0
  34. openapi_client/cyberdesk_cloud_client/models/run_create.py +41 -0
  35. openapi_client/cyberdesk_cloud_client/models/run_response.py +26 -0
  36. openapi_client/cyberdesk_cloud_client/models/workflow_create.py +9 -0
  37. openapi_client/cyberdesk_cloud_client/models/workflow_response.py +9 -0
  38. openapi_client/cyberdesk_cloud_client/models/workflow_update.py +20 -0
  39. {cyberdesk-1.8.0.dist-info → cyberdesk-1.10.0.dist-info}/WHEEL +0 -0
  40. {cyberdesk-1.8.0.dist-info → cyberdesk-1.10.0.dist-info}/licenses/LICENSE +0 -0
  41. {cyberdesk-1.8.0.dist-info → cyberdesk-1.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,78 @@
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 ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="FileWriteRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class FileWriteRequest:
14
+ """
15
+ Attributes:
16
+ path (str): Target file path
17
+ content (str): Base64 encoded file content
18
+ mode (Union[Unset, str]): Write mode - 'write' or 'append' Default: 'write'.
19
+ """
20
+
21
+ path: str
22
+ content: str
23
+ mode: Union[Unset, str] = "write"
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ path = self.path
28
+
29
+ content = self.content
30
+
31
+ mode = self.mode
32
+
33
+ field_dict: dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "path": path,
38
+ "content": content,
39
+ }
40
+ )
41
+ if mode is not UNSET:
42
+ field_dict["mode"] = mode
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ path = d.pop("path")
50
+
51
+ content = d.pop("content")
52
+
53
+ mode = d.pop("mode", UNSET)
54
+
55
+ file_write_request = cls(
56
+ path=path,
57
+ content=content,
58
+ mode=mode,
59
+ )
60
+
61
+ file_write_request.additional_properties = d
62
+ return file_write_request
63
+
64
+ @property
65
+ def additional_keys(self) -> list[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ 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="FsListV1ComputerMachineIdFsListGetResponseFsListV1ComputerMachineIdFsListGet")
8
+
9
+
10
+ @_attrs_define
11
+ class FsListV1ComputerMachineIdFsListGetResponseFsListV1ComputerMachineIdFsListGet:
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
+ fs_list_v1_computer_machine_id_fs_list_get_response_fs_list_v1_computer_machine_id_fs_list_get = cls()
26
+
27
+ fs_list_v1_computer_machine_id_fs_list_get_response_fs_list_v1_computer_machine_id_fs_list_get.additional_properties = d
28
+ return fs_list_v1_computer_machine_id_fs_list_get_response_fs_list_v1_computer_machine_id_fs_list_get
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="FsReadV1ComputerMachineIdFsReadGetResponseFsReadV1ComputerMachineIdFsReadGet")
8
+
9
+
10
+ @_attrs_define
11
+ class FsReadV1ComputerMachineIdFsReadGetResponseFsReadV1ComputerMachineIdFsReadGet:
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
+ fs_read_v1_computer_machine_id_fs_read_get_response_fs_read_v1_computer_machine_id_fs_read_get = cls()
26
+
27
+ fs_read_v1_computer_machine_id_fs_read_get_response_fs_read_v1_computer_machine_id_fs_read_get.additional_properties = d
28
+ return fs_read_v1_computer_machine_id_fs_read_get_response_fs_read_v1_computer_machine_id_fs_read_get
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="FsWriteV1ComputerMachineIdFsWritePostResponseFsWriteV1ComputerMachineIdFsWritePost")
8
+
9
+
10
+ @_attrs_define
11
+ class FsWriteV1ComputerMachineIdFsWritePostResponseFsWriteV1ComputerMachineIdFsWritePost:
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
+ fs_write_v1_computer_machine_id_fs_write_post_response_fs_write_v1_computer_machine_id_fs_write_post = cls()
26
+
27
+ fs_write_v1_computer_machine_id_fs_write_post_response_fs_write_v1_computer_machine_id_fs_write_post.additional_properties = d
28
+ return fs_write_v1_computer_machine_id_fs_write_post_response_fs_write_v1_computer_machine_id_fs_write_post
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,97 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.run_attachment_response import RunAttachmentResponse
9
+
10
+
11
+ T = TypeVar("T", bound="PaginatedResponseRunAttachmentResponse")
12
+
13
+
14
+ @_attrs_define
15
+ class PaginatedResponseRunAttachmentResponse:
16
+ """
17
+ Attributes:
18
+ items (list['RunAttachmentResponse']):
19
+ total (int):
20
+ skip (int):
21
+ limit (int):
22
+ """
23
+
24
+ items: list["RunAttachmentResponse"]
25
+ total: int
26
+ skip: int
27
+ limit: int
28
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
29
+
30
+ def to_dict(self) -> dict[str, Any]:
31
+ items = []
32
+ for items_item_data in self.items:
33
+ items_item = items_item_data.to_dict()
34
+ items.append(items_item)
35
+
36
+ total = self.total
37
+
38
+ skip = self.skip
39
+
40
+ limit = self.limit
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "items": items,
47
+ "total": total,
48
+ "skip": skip,
49
+ "limit": limit,
50
+ }
51
+ )
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
57
+ from ..models.run_attachment_response import RunAttachmentResponse
58
+
59
+ d = dict(src_dict)
60
+ items = []
61
+ _items = d.pop("items")
62
+ for items_item_data in _items:
63
+ items_item = RunAttachmentResponse.from_dict(items_item_data)
64
+
65
+ items.append(items_item)
66
+
67
+ total = d.pop("total")
68
+
69
+ skip = d.pop("skip")
70
+
71
+ limit = d.pop("limit")
72
+
73
+ paginated_response_run_attachment_response = cls(
74
+ items=items,
75
+ total=total,
76
+ skip=skip,
77
+ limit=limit,
78
+ )
79
+
80
+ paginated_response_run_attachment_response.additional_properties = d
81
+ return paginated_response_run_attachment_response
82
+
83
+ @property
84
+ def additional_keys(self) -> list[str]:
85
+ return list(self.additional_properties.keys())
86
+
87
+ def __getitem__(self, key: str) -> Any:
88
+ return self.additional_properties[key]
89
+
90
+ def __setitem__(self, key: str, value: Any) -> None:
91
+ self.additional_properties[key] = value
92
+
93
+ def __delitem__(self, key: str) -> None:
94
+ del self.additional_properties[key]
95
+
96
+ def __contains__(self, key: str) -> bool:
97
+ return key in self.additional_properties
@@ -0,0 +1,110 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="PowerShellExecRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PowerShellExecRequest:
14
+ """
15
+ Attributes:
16
+ command (str): PowerShell command to execute
17
+ same_session (Union[Unset, bool]): Use persistent session Default: True.
18
+ working_directory (Union[None, Unset, str]): Working directory for new session
19
+ session_id (Union[None, Unset, str]): Session ID to use
20
+ """
21
+
22
+ command: str
23
+ same_session: Union[Unset, bool] = True
24
+ working_directory: Union[None, Unset, str] = UNSET
25
+ session_id: Union[None, Unset, str] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ command = self.command
30
+
31
+ same_session = self.same_session
32
+
33
+ working_directory: Union[None, Unset, str]
34
+ if isinstance(self.working_directory, Unset):
35
+ working_directory = UNSET
36
+ else:
37
+ working_directory = self.working_directory
38
+
39
+ session_id: Union[None, Unset, str]
40
+ if isinstance(self.session_id, Unset):
41
+ session_id = UNSET
42
+ else:
43
+ session_id = self.session_id
44
+
45
+ field_dict: dict[str, Any] = {}
46
+ field_dict.update(self.additional_properties)
47
+ field_dict.update(
48
+ {
49
+ "command": command,
50
+ }
51
+ )
52
+ if same_session is not UNSET:
53
+ field_dict["same_session"] = same_session
54
+ if working_directory is not UNSET:
55
+ field_dict["working_directory"] = working_directory
56
+ if session_id is not UNSET:
57
+ field_dict["session_id"] = session_id
58
+
59
+ return field_dict
60
+
61
+ @classmethod
62
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
63
+ d = dict(src_dict)
64
+ command = d.pop("command")
65
+
66
+ same_session = d.pop("same_session", UNSET)
67
+
68
+ def _parse_working_directory(data: object) -> Union[None, Unset, str]:
69
+ if data is None:
70
+ return data
71
+ if isinstance(data, Unset):
72
+ return data
73
+ return cast(Union[None, Unset, str], data)
74
+
75
+ working_directory = _parse_working_directory(d.pop("working_directory", UNSET))
76
+
77
+ def _parse_session_id(data: object) -> Union[None, Unset, str]:
78
+ if data is None:
79
+ return data
80
+ if isinstance(data, Unset):
81
+ return data
82
+ return cast(Union[None, Unset, str], data)
83
+
84
+ session_id = _parse_session_id(d.pop("session_id", UNSET))
85
+
86
+ power_shell_exec_request = cls(
87
+ command=command,
88
+ same_session=same_session,
89
+ working_directory=working_directory,
90
+ session_id=session_id,
91
+ )
92
+
93
+ power_shell_exec_request.additional_properties = d
94
+ return power_shell_exec_request
95
+
96
+ @property
97
+ def additional_keys(self) -> list[str]:
98
+ return list(self.additional_properties.keys())
99
+
100
+ def __getitem__(self, key: str) -> Any:
101
+ return self.additional_properties[key]
102
+
103
+ def __setitem__(self, key: str, value: Any) -> None:
104
+ self.additional_properties[key] = value
105
+
106
+ def __delitem__(self, key: str) -> None:
107
+ del self.additional_properties[key]
108
+
109
+ def __contains__(self, key: str) -> bool:
110
+ return key in self.additional_properties
@@ -0,0 +1,81 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="PowerShellSessionRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PowerShellSessionRequest:
14
+ """
15
+ Attributes:
16
+ action (str): Action to perform - 'create' or 'destroy'
17
+ session_id (Union[None, Unset, str]): Session ID for destroy action
18
+ """
19
+
20
+ action: str
21
+ session_id: Union[None, Unset, str] = UNSET
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ action = self.action
26
+
27
+ session_id: Union[None, Unset, str]
28
+ if isinstance(self.session_id, Unset):
29
+ session_id = UNSET
30
+ else:
31
+ session_id = self.session_id
32
+
33
+ field_dict: dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "action": action,
38
+ }
39
+ )
40
+ if session_id is not UNSET:
41
+ field_dict["session_id"] = session_id
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
47
+ d = dict(src_dict)
48
+ action = d.pop("action")
49
+
50
+ def _parse_session_id(data: object) -> Union[None, Unset, str]:
51
+ if data is None:
52
+ return data
53
+ if isinstance(data, Unset):
54
+ return data
55
+ return cast(Union[None, Unset, str], data)
56
+
57
+ session_id = _parse_session_id(d.pop("session_id", UNSET))
58
+
59
+ power_shell_session_request = cls(
60
+ action=action,
61
+ session_id=session_id,
62
+ )
63
+
64
+ power_shell_session_request.additional_properties = d
65
+ return power_shell_session_request
66
+
67
+ @property
68
+ def additional_keys(self) -> list[str]:
69
+ return list(self.additional_properties.keys())
70
+
71
+ def __getitem__(self, key: str) -> Any:
72
+ return self.additional_properties[key]
73
+
74
+ def __setitem__(self, key: str, value: Any) -> None:
75
+ self.additional_properties[key] = value
76
+
77
+ def __delitem__(self, key: str) -> None:
78
+ del self.additional_properties[key]
79
+
80
+ def __contains__(self, key: str) -> bool:
81
+ return key in self.additional_properties
@@ -0,0 +1,47 @@
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(
8
+ "T",
9
+ bound="PowershellExecV1ComputerMachineIdShellPowershellExecPostResponsePowershellExecV1ComputerMachineIdShellPowershellExecPost",
10
+ )
11
+
12
+
13
+ @_attrs_define
14
+ class PowershellExecV1ComputerMachineIdShellPowershellExecPostResponsePowershellExecV1ComputerMachineIdShellPowershellExecPost:
15
+ """ """
16
+
17
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> dict[str, Any]:
20
+ field_dict: dict[str, Any] = {}
21
+ field_dict.update(self.additional_properties)
22
+
23
+ return field_dict
24
+
25
+ @classmethod
26
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
27
+ d = dict(src_dict)
28
+ powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post = cls()
29
+
30
+ powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.additional_properties = d
31
+ return powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post
32
+
33
+ @property
34
+ def additional_keys(self) -> list[str]:
35
+ return list(self.additional_properties.keys())
36
+
37
+ def __getitem__(self, key: str) -> Any:
38
+ return self.additional_properties[key]
39
+
40
+ def __setitem__(self, key: str, value: Any) -> None:
41
+ self.additional_properties[key] = value
42
+
43
+ def __delitem__(self, key: str) -> None:
44
+ del self.additional_properties[key]
45
+
46
+ def __contains__(self, key: str) -> bool:
47
+ return key in self.additional_properties
@@ -0,0 +1,47 @@
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(
8
+ "T",
9
+ bound="PowershellSessionV1ComputerMachineIdShellPowershellSessionPostResponsePowershellSessionV1ComputerMachineIdShellPowershellSessionPost",
10
+ )
11
+
12
+
13
+ @_attrs_define
14
+ class PowershellSessionV1ComputerMachineIdShellPowershellSessionPostResponsePowershellSessionV1ComputerMachineIdShellPowershellSessionPost:
15
+ """ """
16
+
17
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> dict[str, Any]:
20
+ field_dict: dict[str, Any] = {}
21
+ field_dict.update(self.additional_properties)
22
+
23
+ return field_dict
24
+
25
+ @classmethod
26
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
27
+ d = dict(src_dict)
28
+ powershell_session_v1_computer_machine_id_shell_powershell_session_post_response_powershell_session_v1_computer_machine_id_shell_powershell_session_post = cls()
29
+
30
+ powershell_session_v1_computer_machine_id_shell_powershell_session_post_response_powershell_session_v1_computer_machine_id_shell_powershell_session_post.additional_properties = d
31
+ return powershell_session_v1_computer_machine_id_shell_powershell_session_post_response_powershell_session_v1_computer_machine_id_shell_powershell_session_post
32
+
33
+ @property
34
+ def additional_keys(self) -> list[str]:
35
+ return list(self.additional_properties.keys())
36
+
37
+ def __getitem__(self, key: str) -> Any:
38
+ return self.additional_properties[key]
39
+
40
+ def __setitem__(self, key: str, value: Any) -> None:
41
+ self.additional_properties[key] = value
42
+
43
+ def __delitem__(self, key: str) -> None:
44
+ del self.additional_properties[key]
45
+
46
+ def __contains__(self, key: str) -> bool:
47
+ return key in self.additional_properties