daytona_api_client 0.21.5a8__py3-none-any.whl → 0.22.0a5__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 daytona_api_client might be problematic. Click here for more details.

Files changed (44) hide show
  1. daytona_api_client/__init__.py +25 -0
  2. daytona_api_client/api/sandbox_api.py +29 -5
  3. daytona_api_client/api/snapshots_api.py +280 -0
  4. daytona_api_client/api/toolbox_api.py +8022 -1640
  5. daytona_api_client/models/__init__.py +25 -0
  6. daytona_api_client/models/compressed_screenshot_response.py +105 -0
  7. daytona_api_client/models/computer_use_start_response.py +103 -0
  8. daytona_api_client/models/computer_use_status_response.py +108 -0
  9. daytona_api_client/models/computer_use_stop_response.py +103 -0
  10. daytona_api_client/models/display_info_response.py +101 -0
  11. daytona_api_client/models/download_files.py +101 -0
  12. daytona_api_client/models/empty_response.py +101 -0
  13. daytona_api_client/models/keyboard_hotkey_request.py +101 -0
  14. daytona_api_client/models/keyboard_hotkey_response.py +103 -0
  15. daytona_api_client/models/keyboard_press_request.py +103 -0
  16. daytona_api_client/models/keyboard_press_response.py +105 -0
  17. daytona_api_client/models/keyboard_type_request.py +103 -0
  18. daytona_api_client/models/keyboard_type_response.py +103 -0
  19. daytona_api_client/models/mouse_click_request.py +107 -0
  20. daytona_api_client/models/mouse_click_response.py +103 -0
  21. daytona_api_client/models/mouse_drag_request.py +109 -0
  22. daytona_api_client/models/mouse_drag_response.py +103 -0
  23. daytona_api_client/models/mouse_move_request.py +103 -0
  24. daytona_api_client/models/mouse_move_response.py +103 -0
  25. daytona_api_client/models/mouse_position.py +103 -0
  26. daytona_api_client/models/mouse_scroll_request.py +107 -0
  27. daytona_api_client/models/mouse_scroll_response.py +101 -0
  28. daytona_api_client/models/port_preview_url.py +5 -3
  29. daytona_api_client/models/process_errors_response.py +103 -0
  30. daytona_api_client/models/process_logs_response.py +103 -0
  31. daytona_api_client/models/process_restart_response.py +103 -0
  32. daytona_api_client/models/process_status_response.py +103 -0
  33. daytona_api_client/models/region_screenshot_response.py +105 -0
  34. daytona_api_client/models/sandbox.py +4 -1
  35. daytona_api_client/models/sandbox_desired_state.py +41 -0
  36. daytona_api_client/models/screenshot_response.py +105 -0
  37. daytona_api_client/models/snapshot_state.py +1 -0
  38. daytona_api_client/models/windows_response.py +101 -0
  39. daytona_api_client/models/workspace.py +4 -1
  40. {daytona_api_client-0.21.5a8.dist-info → daytona_api_client-0.22.0a5.dist-info}/METADATA +1 -1
  41. {daytona_api_client-0.21.5a8.dist-info → daytona_api_client-0.22.0a5.dist-info}/RECORD +44 -14
  42. {daytona_api_client-0.21.5a8.dist-info → daytona_api_client-0.22.0a5.dist-info}/WHEEL +0 -0
  43. {daytona_api_client-0.21.5a8.dist-info → daytona_api_client-0.22.0a5.dist-info}/licenses/LICENSE +0 -0
  44. {daytona_api_client-0.21.5a8.dist-info → daytona_api_client-0.22.0a5.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,10 @@ from daytona_api_client.models.command import Command
23
23
  from daytona_api_client.models.completion_context import CompletionContext
24
24
  from daytona_api_client.models.completion_item import CompletionItem
25
25
  from daytona_api_client.models.completion_list import CompletionList
26
+ from daytona_api_client.models.compressed_screenshot_response import CompressedScreenshotResponse
27
+ from daytona_api_client.models.computer_use_start_response import ComputerUseStartResponse
28
+ from daytona_api_client.models.computer_use_status_response import ComputerUseStatusResponse
29
+ from daytona_api_client.models.computer_use_stop_response import ComputerUseStopResponse
26
30
  from daytona_api_client.models.create_api_key import CreateApiKey
27
31
  from daytona_api_client.models.create_build_info import CreateBuildInfo
28
32
  from daytona_api_client.models.create_docker_registry import CreateDockerRegistry
@@ -38,6 +42,7 @@ from daytona_api_client.models.create_snapshot import CreateSnapshot
38
42
  from daytona_api_client.models.create_user import CreateUser
39
43
  from daytona_api_client.models.create_volume import CreateVolume
40
44
  from daytona_api_client.models.create_workspace import CreateWorkspace
45
+ from daytona_api_client.models.display_info_response import DisplayInfoResponse
41
46
  from daytona_api_client.models.docker_registry import DockerRegistry
42
47
  from daytona_api_client.models.execute_request import ExecuteRequest
43
48
  from daytona_api_client.models.execute_response import ExecuteResponse
@@ -53,6 +58,9 @@ from daytona_api_client.models.git_commit_response import GitCommitResponse
53
58
  from daytona_api_client.models.git_delete_branch_request import GitDeleteBranchRequest
54
59
  from daytona_api_client.models.git_repo_request import GitRepoRequest
55
60
  from daytona_api_client.models.git_status import GitStatus
61
+ from daytona_api_client.models.keyboard_hotkey_request import KeyboardHotkeyRequest
62
+ from daytona_api_client.models.keyboard_press_request import KeyboardPressRequest
63
+ from daytona_api_client.models.keyboard_type_request import KeyboardTypeRequest
56
64
  from daytona_api_client.models.list_branch_response import ListBranchResponse
57
65
  from daytona_api_client.models.lsp_completion_params import LspCompletionParams
58
66
  from daytona_api_client.models.lsp_document_request import LspDocumentRequest
@@ -60,6 +68,15 @@ from daytona_api_client.models.lsp_location import LspLocation
60
68
  from daytona_api_client.models.lsp_server_request import LspServerRequest
61
69
  from daytona_api_client.models.lsp_symbol import LspSymbol
62
70
  from daytona_api_client.models.match import Match
71
+ from daytona_api_client.models.mouse_click_request import MouseClickRequest
72
+ from daytona_api_client.models.mouse_click_response import MouseClickResponse
73
+ from daytona_api_client.models.mouse_drag_request import MouseDragRequest
74
+ from daytona_api_client.models.mouse_drag_response import MouseDragResponse
75
+ from daytona_api_client.models.mouse_move_request import MouseMoveRequest
76
+ from daytona_api_client.models.mouse_move_response import MouseMoveResponse
77
+ from daytona_api_client.models.mouse_position import MousePosition
78
+ from daytona_api_client.models.mouse_scroll_request import MouseScrollRequest
79
+ from daytona_api_client.models.mouse_scroll_response import MouseScrollResponse
63
80
  from daytona_api_client.models.organization import Organization
64
81
  from daytona_api_client.models.organization_invitation import OrganizationInvitation
65
82
  from daytona_api_client.models.organization_role import OrganizationRole
@@ -68,8 +85,13 @@ from daytona_api_client.models.organization_user import OrganizationUser
68
85
  from daytona_api_client.models.paginated_snapshots_dto import PaginatedSnapshotsDto
69
86
  from daytona_api_client.models.port_preview_url import PortPreviewUrl
70
87
  from daytona_api_client.models.position import Position
88
+ from daytona_api_client.models.process_errors_response import ProcessErrorsResponse
89
+ from daytona_api_client.models.process_logs_response import ProcessLogsResponse
90
+ from daytona_api_client.models.process_restart_response import ProcessRestartResponse
91
+ from daytona_api_client.models.process_status_response import ProcessStatusResponse
71
92
  from daytona_api_client.models.project_dir_response import ProjectDirResponse
72
93
  from daytona_api_client.models.range import Range
94
+ from daytona_api_client.models.region_screenshot_response import RegionScreenshotResponse
73
95
  from daytona_api_client.models.registry_push_access_dto import RegistryPushAccessDto
74
96
  from daytona_api_client.models.replace_request import ReplaceRequest
75
97
  from daytona_api_client.models.replace_result import ReplaceResult
@@ -79,10 +101,12 @@ from daytona_api_client.models.runner_snapshot_dto import RunnerSnapshotDto
79
101
  from daytona_api_client.models.runner_state import RunnerState
80
102
  from daytona_api_client.models.sandbox import Sandbox
81
103
  from daytona_api_client.models.sandbox_class import SandboxClass
104
+ from daytona_api_client.models.sandbox_desired_state import SandboxDesiredState
82
105
  from daytona_api_client.models.sandbox_info import SandboxInfo
83
106
  from daytona_api_client.models.sandbox_labels import SandboxLabels
84
107
  from daytona_api_client.models.sandbox_state import SandboxState
85
108
  from daytona_api_client.models.sandbox_volume import SandboxVolume
109
+ from daytona_api_client.models.screenshot_response import ScreenshotResponse
86
110
  from daytona_api_client.models.search_files_response import SearchFilesResponse
87
111
  from daytona_api_client.models.session import Session
88
112
  from daytona_api_client.models.session_execute_request import SessionExecuteRequest
@@ -103,4 +127,5 @@ from daytona_api_client.models.user import User
103
127
  from daytona_api_client.models.user_public_key import UserPublicKey
104
128
  from daytona_api_client.models.volume_dto import VolumeDto
105
129
  from daytona_api_client.models.volume_state import VolumeState
130
+ from daytona_api_client.models.windows_response import WindowsResponse
106
131
  from daytona_api_client.models.workspace import Workspace
@@ -0,0 +1,105 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CompressedScreenshotResponse(BaseModel):
27
+ """
28
+ CompressedScreenshotResponse
29
+ """ # noqa: E501
30
+ screenshot: StrictStr = Field(description="Base64 encoded compressed screenshot image data")
31
+ cursor_position: Optional[Dict[str, Any]] = Field(default=None, description="The current cursor position when the compressed screenshot was taken", alias="cursorPosition")
32
+ size_bytes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The size of the compressed screenshot data in bytes", alias="sizeBytes")
33
+ additional_properties: Dict[str, Any] = {}
34
+ __properties: ClassVar[List[str]] = ["screenshot", "cursorPosition", "sizeBytes"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of CompressedScreenshotResponse from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ * Fields in `self.additional_properties` are added to the output dict.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ "additional_properties",
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ # puts key-value pairs in additional_properties in the top level
78
+ if self.additional_properties is not None:
79
+ for _key, _value in self.additional_properties.items():
80
+ _dict[_key] = _value
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of CompressedScreenshotResponse from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "screenshot": obj.get("screenshot"),
95
+ "cursorPosition": obj.get("cursorPosition"),
96
+ "sizeBytes": obj.get("sizeBytes")
97
+ })
98
+ # store additional fields in additional_properties
99
+ for _key in obj.keys():
100
+ if _key not in cls.__properties:
101
+ _obj.additional_properties[_key] = obj.get(_key)
102
+
103
+ return _obj
104
+
105
+
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ComputerUseStartResponse(BaseModel):
27
+ """
28
+ ComputerUseStartResponse
29
+ """ # noqa: E501
30
+ message: StrictStr = Field(description="A message indicating the result of starting computer use processes")
31
+ status: Dict[str, Any] = Field(description="Status information about all VNC desktop processes after starting")
32
+ additional_properties: Dict[str, Any] = {}
33
+ __properties: ClassVar[List[str]] = ["message", "status"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ComputerUseStartResponse from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ * Fields in `self.additional_properties` are added to the output dict.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ "additional_properties",
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # puts key-value pairs in additional_properties in the top level
77
+ if self.additional_properties is not None:
78
+ for _key, _value in self.additional_properties.items():
79
+ _dict[_key] = _value
80
+
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of ComputerUseStartResponse from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "message": obj.get("message"),
94
+ "status": obj.get("status")
95
+ })
96
+ # store additional fields in additional_properties
97
+ for _key in obj.keys():
98
+ if _key not in cls.__properties:
99
+ _obj.additional_properties[_key] = obj.get(_key)
100
+
101
+ return _obj
102
+
103
+
@@ -0,0 +1,108 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ComputerUseStatusResponse(BaseModel):
27
+ """
28
+ ComputerUseStatusResponse
29
+ """ # noqa: E501
30
+ status: StrictStr = Field(description="Status of computer use services (active, partial, inactive, error)")
31
+ additional_properties: Dict[str, Any] = {}
32
+ __properties: ClassVar[List[str]] = ["status"]
33
+
34
+ @field_validator('status')
35
+ def status_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['active', 'partial', 'inactive', 'error']):
38
+ raise ValueError("must be one of enum values ('active', 'partial', 'inactive', 'error')")
39
+ return value
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
+ return json.dumps(self.to_dict())
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of ComputerUseStatusResponse from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ * Fields in `self.additional_properties` are added to the output dict.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ "additional_properties",
75
+ ])
76
+
77
+ _dict = self.model_dump(
78
+ by_alias=True,
79
+ exclude=excluded_fields,
80
+ exclude_none=True,
81
+ )
82
+ # puts key-value pairs in additional_properties in the top level
83
+ if self.additional_properties is not None:
84
+ for _key, _value in self.additional_properties.items():
85
+ _dict[_key] = _value
86
+
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of ComputerUseStatusResponse from a dict"""
92
+ if obj is None:
93
+ return None
94
+
95
+ if not isinstance(obj, dict):
96
+ return cls.model_validate(obj)
97
+
98
+ _obj = cls.model_validate({
99
+ "status": obj.get("status")
100
+ })
101
+ # store additional fields in additional_properties
102
+ for _key in obj.keys():
103
+ if _key not in cls.__properties:
104
+ _obj.additional_properties[_key] = obj.get(_key)
105
+
106
+ return _obj
107
+
108
+
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ComputerUseStopResponse(BaseModel):
27
+ """
28
+ ComputerUseStopResponse
29
+ """ # noqa: E501
30
+ message: StrictStr = Field(description="A message indicating the result of stopping computer use processes")
31
+ status: Dict[str, Any] = Field(description="Status information about all VNC desktop processes after stopping")
32
+ additional_properties: Dict[str, Any] = {}
33
+ __properties: ClassVar[List[str]] = ["message", "status"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ComputerUseStopResponse from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ * Fields in `self.additional_properties` are added to the output dict.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ "additional_properties",
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # puts key-value pairs in additional_properties in the top level
77
+ if self.additional_properties is not None:
78
+ for _key, _value in self.additional_properties.items():
79
+ _dict[_key] = _value
80
+
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of ComputerUseStopResponse from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "message": obj.get("message"),
94
+ "status": obj.get("status")
95
+ })
96
+ # store additional fields in additional_properties
97
+ for _key in obj.keys():
98
+ if _key not in cls.__properties:
99
+ _obj.additional_properties[_key] = obj.get(_key)
100
+
101
+ return _obj
102
+
103
+
@@ -0,0 +1,101 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class DisplayInfoResponse(BaseModel):
27
+ """
28
+ DisplayInfoResponse
29
+ """ # noqa: E501
30
+ displays: List[Dict[str, Any]] = Field(description="Array of display information for all connected displays")
31
+ additional_properties: Dict[str, Any] = {}
32
+ __properties: ClassVar[List[str]] = ["displays"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of DisplayInfoResponse from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ * Fields in `self.additional_properties` are added to the output dict.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ "additional_properties",
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # puts key-value pairs in additional_properties in the top level
76
+ if self.additional_properties is not None:
77
+ for _key, _value in self.additional_properties.items():
78
+ _dict[_key] = _value
79
+
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of DisplayInfoResponse from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "displays": obj.get("displays")
93
+ })
94
+ # store additional fields in additional_properties
95
+ for _key in obj.keys():
96
+ if _key not in cls.__properties:
97
+ _obj.additional_properties[_key] = obj.get(_key)
98
+
99
+ return _obj
100
+
101
+