daytona_api_client_async 0.25.6__py3-none-any.whl → 0.26.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 daytona_api_client_async might be problematic. Click here for more details.

Files changed (43) hide show
  1. daytona_api_client_async/__init__.py +11 -0
  2. daytona_api_client_async/api/__init__.py +2 -0
  3. daytona_api_client_async/api/{images_api.py → default_api.py} +258 -724
  4. daytona_api_client_async/api/health_api.py +282 -0
  5. daytona_api_client_async/api/sandbox_api.py +855 -2
  6. daytona_api_client_async/api/webhooks_api.py +1704 -0
  7. daytona_api_client_async/models/__init__.py +9 -0
  8. daytona_api_client_async/models/create_audit_log.py +2 -2
  9. daytona_api_client_async/models/health_controller_check200_response.py +154 -0
  10. daytona_api_client_async/models/{set_image_general_status.py → health_controller_check200_response_info_value.py} +8 -8
  11. daytona_api_client_async/models/health_controller_check503_response.py +154 -0
  12. daytona_api_client_async/models/{build_image.py → sandbox_created_post_request.py} +18 -15
  13. daytona_api_client_async/models/sandbox_created_post_request_data.py +152 -0
  14. daytona_api_client_async/models/sandbox_state_updated_post_request.py +110 -0
  15. daytona_api_client_async/models/sandbox_state_updated_post_request_data.py +129 -0
  16. daytona_api_client_async/models/sandbox_state_updated_post_request_data_sandbox.py +115 -0
  17. daytona_api_client_async/models/{workspace_info.py → send_webhook_dto.py} +11 -11
  18. daytona_api_client_async/models/snapshot_created_post_request.py +110 -0
  19. daytona_api_client_async/models/{image_dto.py → snapshot_created_post_request_data.py} +34 -43
  20. daytona_api_client_async/models/{workspace_volume.py → snapshot_removed_post_request.py} +13 -10
  21. daytona_api_client_async/models/snapshot_state_updated_post_request.py +110 -0
  22. daytona_api_client_async/models/snapshot_state_updated_post_request_data.py +129 -0
  23. daytona_api_client_async/models/snapshot_state_updated_post_request_data_snapshot.py +115 -0
  24. daytona_api_client_async/models/ssh_access_dto.py +112 -0
  25. daytona_api_client_async/models/ssh_access_validation_dto.py +107 -0
  26. daytona_api_client_async/models/{create_image.py → volume_created_post_request.py} +17 -12
  27. daytona_api_client_async/models/{build_snapshot.py → volume_created_post_request_data.py} +32 -21
  28. daytona_api_client_async/models/volume_state_updated_post_request.py +110 -0
  29. daytona_api_client_async/models/{create_node.py → volume_state_updated_post_request_data.py} +31 -37
  30. daytona_api_client_async/models/{paginated_images_dto.py → volume_state_updated_post_request_data_volume.py} +23 -23
  31. daytona_api_client_async/models/{workspace_labels.py → webhook_app_portal_access.py} +7 -7
  32. daytona_api_client_async/models/{download_files.py → webhook_controller_get_app_portal_access200_response.py} +8 -8
  33. daytona_api_client_async/models/{usage_overview.py → webhook_controller_get_initialization_status200_response.py} +26 -21
  34. daytona_api_client_async/models/{toggle_state.py → webhook_controller_get_status200_response.py} +7 -7
  35. daytona_api_client_async/models/webhook_initialization_status.py +121 -0
  36. {daytona_api_client_async-0.25.6.dist-info → daytona_api_client_async-0.26.0.dist-info}/METADATA +1 -1
  37. {daytona_api_client_async-0.25.6.dist-info → daytona_api_client_async-0.26.0.dist-info}/RECORD +40 -27
  38. daytona_api_client_async/api/nodes_api.py +0 -792
  39. daytona_api_client_async/models/image_state.py +0 -45
  40. daytona_api_client_async/models/workspace_state.py +0 -51
  41. {daytona_api_client_async-0.25.6.dist-info → daytona_api_client_async-0.26.0.dist-info}/WHEEL +0 -0
  42. {daytona_api_client_async-0.25.6.dist-info → daytona_api_client_async-0.26.0.dist-info}/licenses/LICENSE +0 -0
  43. {daytona_api_client_async-0.25.6.dist-info → daytona_api_client_async-0.26.0.dist-info}/top_level.txt +0 -0
@@ -60,6 +60,9 @@ from daytona_api_client_async.models.git_commit_response import GitCommitRespons
60
60
  from daytona_api_client_async.models.git_delete_branch_request import GitDeleteBranchRequest
61
61
  from daytona_api_client_async.models.git_repo_request import GitRepoRequest
62
62
  from daytona_api_client_async.models.git_status import GitStatus
63
+ from daytona_api_client_async.models.health_controller_check200_response import HealthControllerCheck200Response
64
+ from daytona_api_client_async.models.health_controller_check200_response_info_value import HealthControllerCheck200ResponseInfoValue
65
+ from daytona_api_client_async.models.health_controller_check503_response import HealthControllerCheck503Response
63
66
  from daytona_api_client_async.models.keyboard_hotkey_request import KeyboardHotkeyRequest
64
67
  from daytona_api_client_async.models.keyboard_press_request import KeyboardPressRequest
65
68
  from daytona_api_client_async.models.keyboard_type_request import KeyboardTypeRequest
@@ -111,12 +114,15 @@ from daytona_api_client_async.models.sandbox_state import SandboxState
111
114
  from daytona_api_client_async.models.sandbox_volume import SandboxVolume
112
115
  from daytona_api_client_async.models.screenshot_response import ScreenshotResponse
113
116
  from daytona_api_client_async.models.search_files_response import SearchFilesResponse
117
+ from daytona_api_client_async.models.send_webhook_dto import SendWebhookDto
114
118
  from daytona_api_client_async.models.session import Session
115
119
  from daytona_api_client_async.models.session_execute_request import SessionExecuteRequest
116
120
  from daytona_api_client_async.models.session_execute_response import SessionExecuteResponse
117
121
  from daytona_api_client_async.models.set_snapshot_general_status_dto import SetSnapshotGeneralStatusDto
118
122
  from daytona_api_client_async.models.snapshot_dto import SnapshotDto
119
123
  from daytona_api_client_async.models.snapshot_state import SnapshotState
124
+ from daytona_api_client_async.models.ssh_access_dto import SshAccessDto
125
+ from daytona_api_client_async.models.ssh_access_validation_dto import SshAccessValidationDto
120
126
  from daytona_api_client_async.models.storage_access_dto import StorageAccessDto
121
127
  from daytona_api_client_async.models.update_assigned_organization_roles import UpdateAssignedOrganizationRoles
122
128
  from daytona_api_client_async.models.update_docker_registry import UpdateDockerRegistry
@@ -128,5 +134,8 @@ from daytona_api_client_async.models.user import User
128
134
  from daytona_api_client_async.models.user_public_key import UserPublicKey
129
135
  from daytona_api_client_async.models.volume_dto import VolumeDto
130
136
  from daytona_api_client_async.models.volume_state import VolumeState
137
+ from daytona_api_client_async.models.webhook_app_portal_access import WebhookAppPortalAccess
138
+ from daytona_api_client_async.models.webhook_controller_get_status200_response import WebhookControllerGetStatus200Response
139
+ from daytona_api_client_async.models.webhook_initialization_status import WebhookInitializationStatus
131
140
  from daytona_api_client_async.models.windows_response import WindowsResponse
132
141
  from daytona_api_client_async.models.workspace import Workspace
@@ -39,8 +39,8 @@ class CreateAuditLog(BaseModel):
39
39
  @field_validator('action')
40
40
  def action_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
- if value not in set(['create', 'read', 'update', 'delete', 'login', 'set_default', 'update_role', 'update_assigned_roles', 'update_quota', 'suspend', 'unsuspend', 'accept', 'decline', 'link_account', 'unlink_account', 'leave_organization', 'regenerate_key_pair', 'update_scheduling', 'start', 'stop', 'replace_labels', 'create_backup', 'update_public_status', 'set_auto_stop_interval', 'set_auto_archive_interval', 'set_auto_delete_interval', 'archive', 'get_port_preview_url', 'set_general_status', 'activate', 'deactivate', 'update_network_settings', 'toolbox_delete_file', 'toolbox_download_file', 'toolbox_create_folder', 'toolbox_move_file', 'toolbox_set_file_permissions', 'toolbox_replace_in_files', 'toolbox_upload_file', 'toolbox_bulk_upload_files', 'toolbox_git_add_files', 'toolbox_git_create_branch', 'toolbox_git_delete_branch', 'toolbox_git_clone_repository', 'toolbox_git_commit_changes', 'toolbox_git_pull_changes', 'toolbox_git_push_changes', 'toolbox_git_checkout_branch', 'toolbox_execute_command', 'toolbox_create_session', 'toolbox_session_execute_command', 'toolbox_delete_session', 'toolbox_computer_use_start', 'toolbox_computer_use_stop', 'toolbox_computer_use_restart_process']):
43
- raise ValueError("must be one of enum values ('create', 'read', 'update', 'delete', 'login', 'set_default', 'update_role', 'update_assigned_roles', 'update_quota', 'suspend', 'unsuspend', 'accept', 'decline', 'link_account', 'unlink_account', 'leave_organization', 'regenerate_key_pair', 'update_scheduling', 'start', 'stop', 'replace_labels', 'create_backup', 'update_public_status', 'set_auto_stop_interval', 'set_auto_archive_interval', 'set_auto_delete_interval', 'archive', 'get_port_preview_url', 'set_general_status', 'activate', 'deactivate', 'update_network_settings', 'toolbox_delete_file', 'toolbox_download_file', 'toolbox_create_folder', 'toolbox_move_file', 'toolbox_set_file_permissions', 'toolbox_replace_in_files', 'toolbox_upload_file', 'toolbox_bulk_upload_files', 'toolbox_git_add_files', 'toolbox_git_create_branch', 'toolbox_git_delete_branch', 'toolbox_git_clone_repository', 'toolbox_git_commit_changes', 'toolbox_git_pull_changes', 'toolbox_git_push_changes', 'toolbox_git_checkout_branch', 'toolbox_execute_command', 'toolbox_create_session', 'toolbox_session_execute_command', 'toolbox_delete_session', 'toolbox_computer_use_start', 'toolbox_computer_use_stop', 'toolbox_computer_use_restart_process')")
42
+ if value not in set(['create', 'read', 'update', 'delete', 'login', 'set_default', 'update_role', 'update_assigned_roles', 'update_quota', 'suspend', 'unsuspend', 'accept', 'decline', 'link_account', 'unlink_account', 'leave_organization', 'regenerate_key_pair', 'update_scheduling', 'start', 'stop', 'replace_labels', 'create_backup', 'update_public_status', 'set_auto_stop_interval', 'set_auto_archive_interval', 'set_auto_delete_interval', 'archive', 'get_port_preview_url', 'set_general_status', 'activate', 'deactivate', 'update_network_settings', 'get_webhook_app_portal_access', 'send_webhook_message', 'initialize_webhooks', 'toolbox_delete_file', 'toolbox_download_file', 'toolbox_create_folder', 'toolbox_move_file', 'toolbox_set_file_permissions', 'toolbox_replace_in_files', 'toolbox_upload_file', 'toolbox_bulk_upload_files', 'toolbox_git_add_files', 'toolbox_git_create_branch', 'toolbox_git_delete_branch', 'toolbox_git_clone_repository', 'toolbox_git_commit_changes', 'toolbox_git_pull_changes', 'toolbox_git_push_changes', 'toolbox_git_checkout_branch', 'toolbox_execute_command', 'toolbox_create_session', 'toolbox_session_execute_command', 'toolbox_delete_session', 'toolbox_computer_use_start', 'toolbox_computer_use_stop', 'toolbox_computer_use_restart_process']):
43
+ raise ValueError("must be one of enum values ('create', 'read', 'update', 'delete', 'login', 'set_default', 'update_role', 'update_assigned_roles', 'update_quota', 'suspend', 'unsuspend', 'accept', 'decline', 'link_account', 'unlink_account', 'leave_organization', 'regenerate_key_pair', 'update_scheduling', 'start', 'stop', 'replace_labels', 'create_backup', 'update_public_status', 'set_auto_stop_interval', 'set_auto_archive_interval', 'set_auto_delete_interval', 'archive', 'get_port_preview_url', 'set_general_status', 'activate', 'deactivate', 'update_network_settings', 'get_webhook_app_portal_access', 'send_webhook_message', 'initialize_webhooks', 'toolbox_delete_file', 'toolbox_download_file', 'toolbox_create_folder', 'toolbox_move_file', 'toolbox_set_file_permissions', 'toolbox_replace_in_files', 'toolbox_upload_file', 'toolbox_bulk_upload_files', 'toolbox_git_add_files', 'toolbox_git_create_branch', 'toolbox_git_delete_branch', 'toolbox_git_clone_repository', 'toolbox_git_commit_changes', 'toolbox_git_pull_changes', 'toolbox_git_push_changes', 'toolbox_git_checkout_branch', 'toolbox_execute_command', 'toolbox_create_session', 'toolbox_session_execute_command', 'toolbox_delete_session', 'toolbox_computer_use_start', 'toolbox_computer_use_stop', 'toolbox_computer_use_restart_process')")
44
44
  return value
45
45
 
46
46
  @field_validator('target_type')
@@ -0,0 +1,154 @@
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, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from daytona_api_client_async.models.health_controller_check200_response_info_value import HealthControllerCheck200ResponseInfoValue
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class HealthControllerCheck200Response(BaseModel):
28
+ """
29
+ HealthControllerCheck200Response
30
+ """ # noqa: E501
31
+ status: Optional[StrictStr] = None
32
+ info: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
33
+ error: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
34
+ details: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties: ClassVar[List[str]] = ["status", "info", "error", "details"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of HealthControllerCheck200Response from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ * Fields in `self.additional_properties` are added to the output dict.
69
+ """
70
+ excluded_fields: Set[str] = set([
71
+ "additional_properties",
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of each value in info (dict)
80
+ _field_dict = {}
81
+ if self.info:
82
+ for _key_info in self.info:
83
+ if self.info[_key_info]:
84
+ _field_dict[_key_info] = self.info[_key_info].to_dict()
85
+ _dict['info'] = _field_dict
86
+ # override the default output from pydantic by calling `to_dict()` of each value in error (dict)
87
+ _field_dict = {}
88
+ if self.error:
89
+ for _key_error in self.error:
90
+ if self.error[_key_error]:
91
+ _field_dict[_key_error] = self.error[_key_error].to_dict()
92
+ _dict['error'] = _field_dict
93
+ # override the default output from pydantic by calling `to_dict()` of each value in details (dict)
94
+ _field_dict = {}
95
+ if self.details:
96
+ for _key_details in self.details:
97
+ if self.details[_key_details]:
98
+ _field_dict[_key_details] = self.details[_key_details].to_dict()
99
+ _dict['details'] = _field_dict
100
+ # puts key-value pairs in additional_properties in the top level
101
+ if self.additional_properties is not None:
102
+ for _key, _value in self.additional_properties.items():
103
+ _dict[_key] = _value
104
+
105
+ # set to None if info (nullable) is None
106
+ # and model_fields_set contains the field
107
+ if self.info is None and "info" in self.model_fields_set:
108
+ _dict['info'] = None
109
+
110
+ # set to None if error (nullable) is None
111
+ # and model_fields_set contains the field
112
+ if self.error is None and "error" in self.model_fields_set:
113
+ _dict['error'] = None
114
+
115
+ return _dict
116
+
117
+ @classmethod
118
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
119
+ """Create an instance of HealthControllerCheck200Response from a dict"""
120
+ if obj is None:
121
+ return None
122
+
123
+ if not isinstance(obj, dict):
124
+ return cls.model_validate(obj)
125
+
126
+ _obj = cls.model_validate({
127
+ "status": obj.get("status"),
128
+ "info": dict(
129
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
130
+ for _k, _v in obj["info"].items()
131
+ )
132
+ if obj.get("info") is not None
133
+ else None,
134
+ "error": dict(
135
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
136
+ for _k, _v in obj["error"].items()
137
+ )
138
+ if obj.get("error") is not None
139
+ else None,
140
+ "details": dict(
141
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
142
+ for _k, _v in obj["details"].items()
143
+ )
144
+ if obj.get("details") is not None
145
+ else None
146
+ })
147
+ # store additional fields in additional_properties
148
+ for _key in obj.keys():
149
+ if _key not in cls.__properties:
150
+ _obj.additional_properties[_key] = obj.get(_key)
151
+
152
+ return _obj
153
+
154
+
@@ -18,18 +18,18 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictBool
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class SetImageGeneralStatus(BaseModel):
26
+ class HealthControllerCheck200ResponseInfoValue(BaseModel):
27
27
  """
28
- SetImageGeneralStatus
28
+ HealthControllerCheck200ResponseInfoValue
29
29
  """ # noqa: E501
30
- general: StrictBool = Field(description="Whether the image is general")
30
+ status: StrictStr
31
31
  additional_properties: Dict[str, Any] = {}
32
- __properties: ClassVar[List[str]] = ["general"]
32
+ __properties: ClassVar[List[str]] = ["status"]
33
33
 
34
34
  model_config = ConfigDict(
35
35
  populate_by_name=True,
@@ -49,7 +49,7 @@ class SetImageGeneralStatus(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of SetImageGeneralStatus from a JSON string"""
52
+ """Create an instance of HealthControllerCheck200ResponseInfoValue from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -81,7 +81,7 @@ class SetImageGeneralStatus(BaseModel):
81
81
 
82
82
  @classmethod
83
83
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
- """Create an instance of SetImageGeneralStatus from a dict"""
84
+ """Create an instance of HealthControllerCheck200ResponseInfoValue from a dict"""
85
85
  if obj is None:
86
86
  return None
87
87
 
@@ -89,7 +89,7 @@ class SetImageGeneralStatus(BaseModel):
89
89
  return cls.model_validate(obj)
90
90
 
91
91
  _obj = cls.model_validate({
92
- "general": obj.get("general")
92
+ "status": obj.get("status")
93
93
  })
94
94
  # store additional fields in additional_properties
95
95
  for _key in obj.keys():
@@ -0,0 +1,154 @@
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, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from daytona_api_client_async.models.health_controller_check200_response_info_value import HealthControllerCheck200ResponseInfoValue
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class HealthControllerCheck503Response(BaseModel):
28
+ """
29
+ HealthControllerCheck503Response
30
+ """ # noqa: E501
31
+ status: Optional[StrictStr] = None
32
+ info: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
33
+ error: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
34
+ details: Optional[Dict[str, HealthControllerCheck200ResponseInfoValue]] = None
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties: ClassVar[List[str]] = ["status", "info", "error", "details"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of HealthControllerCheck503Response from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ * Fields in `self.additional_properties` are added to the output dict.
69
+ """
70
+ excluded_fields: Set[str] = set([
71
+ "additional_properties",
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of each value in info (dict)
80
+ _field_dict = {}
81
+ if self.info:
82
+ for _key_info in self.info:
83
+ if self.info[_key_info]:
84
+ _field_dict[_key_info] = self.info[_key_info].to_dict()
85
+ _dict['info'] = _field_dict
86
+ # override the default output from pydantic by calling `to_dict()` of each value in error (dict)
87
+ _field_dict = {}
88
+ if self.error:
89
+ for _key_error in self.error:
90
+ if self.error[_key_error]:
91
+ _field_dict[_key_error] = self.error[_key_error].to_dict()
92
+ _dict['error'] = _field_dict
93
+ # override the default output from pydantic by calling `to_dict()` of each value in details (dict)
94
+ _field_dict = {}
95
+ if self.details:
96
+ for _key_details in self.details:
97
+ if self.details[_key_details]:
98
+ _field_dict[_key_details] = self.details[_key_details].to_dict()
99
+ _dict['details'] = _field_dict
100
+ # puts key-value pairs in additional_properties in the top level
101
+ if self.additional_properties is not None:
102
+ for _key, _value in self.additional_properties.items():
103
+ _dict[_key] = _value
104
+
105
+ # set to None if info (nullable) is None
106
+ # and model_fields_set contains the field
107
+ if self.info is None and "info" in self.model_fields_set:
108
+ _dict['info'] = None
109
+
110
+ # set to None if error (nullable) is None
111
+ # and model_fields_set contains the field
112
+ if self.error is None and "error" in self.model_fields_set:
113
+ _dict['error'] = None
114
+
115
+ return _dict
116
+
117
+ @classmethod
118
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
119
+ """Create an instance of HealthControllerCheck503Response from a dict"""
120
+ if obj is None:
121
+ return None
122
+
123
+ if not isinstance(obj, dict):
124
+ return cls.model_validate(obj)
125
+
126
+ _obj = cls.model_validate({
127
+ "status": obj.get("status"),
128
+ "info": dict(
129
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
130
+ for _k, _v in obj["info"].items()
131
+ )
132
+ if obj.get("info") is not None
133
+ else None,
134
+ "error": dict(
135
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
136
+ for _k, _v in obj["error"].items()
137
+ )
138
+ if obj.get("error") is not None
139
+ else None,
140
+ "details": dict(
141
+ (_k, HealthControllerCheck200ResponseInfoValue.from_dict(_v))
142
+ for _k, _v in obj["details"].items()
143
+ )
144
+ if obj.get("details") is not None
145
+ else None
146
+ })
147
+ # store additional fields in additional_properties
148
+ for _key in obj.keys():
149
+ if _key not in cls.__properties:
150
+ _obj.additional_properties[_key] = obj.get(_key)
151
+
152
+ return _obj
153
+
154
+
@@ -18,20 +18,22 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
- from typing import Any, ClassVar, Dict, List
23
- from daytona_api_client_async.models.create_build_info import CreateBuildInfo
21
+ from datetime import datetime
22
+ from pydantic import BaseModel, ConfigDict, StrictStr
23
+ from typing import Any, ClassVar, Dict, List, Optional
24
+ from daytona_api_client_async.models.sandbox_created_post_request_data import SandboxCreatedPostRequestData
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
26
27
 
27
- class BuildImage(BaseModel):
28
+ class SandboxCreatedPostRequest(BaseModel):
28
29
  """
29
- BuildImage
30
+ SandboxCreatedPostRequest
30
31
  """ # noqa: E501
31
- name: StrictStr = Field(description="The name of the image to build")
32
- build_info: CreateBuildInfo = Field(description="Build information for the image", alias="buildInfo")
32
+ event: Optional[StrictStr] = None
33
+ timestamp: Optional[datetime] = None
34
+ data: Optional[SandboxCreatedPostRequestData] = None
33
35
  additional_properties: Dict[str, Any] = {}
34
- __properties: ClassVar[List[str]] = ["name", "buildInfo"]
36
+ __properties: ClassVar[List[str]] = ["event", "timestamp", "data"]
35
37
 
36
38
  model_config = ConfigDict(
37
39
  populate_by_name=True,
@@ -51,7 +53,7 @@ class BuildImage(BaseModel):
51
53
 
52
54
  @classmethod
53
55
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of BuildImage from a JSON string"""
56
+ """Create an instance of SandboxCreatedPostRequest from a JSON string"""
55
57
  return cls.from_dict(json.loads(json_str))
56
58
 
57
59
  def to_dict(self) -> Dict[str, Any]:
@@ -74,9 +76,9 @@ class BuildImage(BaseModel):
74
76
  exclude=excluded_fields,
75
77
  exclude_none=True,
76
78
  )
77
- # override the default output from pydantic by calling `to_dict()` of build_info
78
- if self.build_info:
79
- _dict['buildInfo'] = self.build_info.to_dict()
79
+ # override the default output from pydantic by calling `to_dict()` of data
80
+ if self.data:
81
+ _dict['data'] = self.data.to_dict()
80
82
  # puts key-value pairs in additional_properties in the top level
81
83
  if self.additional_properties is not None:
82
84
  for _key, _value in self.additional_properties.items():
@@ -86,7 +88,7 @@ class BuildImage(BaseModel):
86
88
 
87
89
  @classmethod
88
90
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
89
- """Create an instance of BuildImage from a dict"""
91
+ """Create an instance of SandboxCreatedPostRequest from a dict"""
90
92
  if obj is None:
91
93
  return None
92
94
 
@@ -94,8 +96,9 @@ class BuildImage(BaseModel):
94
96
  return cls.model_validate(obj)
95
97
 
96
98
  _obj = cls.model_validate({
97
- "name": obj.get("name"),
98
- "buildInfo": CreateBuildInfo.from_dict(obj["buildInfo"]) if obj.get("buildInfo") is not None else None
99
+ "event": obj.get("event"),
100
+ "timestamp": obj.get("timestamp"),
101
+ "data": SandboxCreatedPostRequestData.from_dict(obj["data"]) if obj.get("data") is not None else None
99
102
  })
100
103
  # store additional fields in additional_properties
101
104
  for _key in obj.keys():
@@ -0,0 +1,152 @@
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 datetime import datetime
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
23
+ from typing import Any, ClassVar, Dict, List, Optional, Union
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class SandboxCreatedPostRequestData(BaseModel):
28
+ """
29
+ SandboxCreatedPostRequestData
30
+ """ # noqa: E501
31
+ id: Optional[StrictStr] = None
32
+ organization_id: Optional[StrictStr] = Field(default=None, alias="organizationId")
33
+ target: Optional[StrictStr] = None
34
+ snapshot: Optional[StrictStr] = None
35
+ user: Optional[StrictStr] = None
36
+ env: Optional[Dict[str, StrictStr]] = None
37
+ cpu: Optional[Union[StrictFloat, StrictInt]] = None
38
+ gpu: Optional[Union[StrictFloat, StrictInt]] = None
39
+ memory: Optional[Union[StrictFloat, StrictInt]] = None
40
+ disk: Optional[Union[StrictFloat, StrictInt]] = None
41
+ public: Optional[StrictBool] = None
42
+ labels: Optional[Dict[str, StrictStr]] = None
43
+ state: Optional[StrictStr] = None
44
+ desired_state: Optional[StrictStr] = Field(default=None, alias="desiredState")
45
+ created_at: Optional[datetime] = Field(default=None, alias="createdAt")
46
+ updated_at: Optional[datetime] = Field(default=None, alias="updatedAt")
47
+ additional_properties: Dict[str, Any] = {}
48
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "target", "snapshot", "user", "env", "cpu", "gpu", "memory", "disk", "public", "labels", "state", "desiredState", "createdAt", "updatedAt"]
49
+
50
+ @field_validator('state')
51
+ def state_validate_enum(cls, value):
52
+ """Validates the enum"""
53
+ if value is None:
54
+ return value
55
+
56
+ if value not in set(['creating', 'restoring', 'destroyed', 'destroying', 'started', 'stopped', 'starting', 'stopping', 'error', 'build_failed', 'pending_build', 'building_snapshot', 'unknown', 'pulling_snapshot', 'archived', 'archiving']):
57
+ raise ValueError("must be one of enum values ('creating', 'restoring', 'destroyed', 'destroying', 'started', 'stopped', 'starting', 'stopping', 'error', 'build_failed', 'pending_build', 'building_snapshot', 'unknown', 'pulling_snapshot', 'archived', 'archiving')")
58
+ return value
59
+
60
+ @field_validator('desired_state')
61
+ def desired_state_validate_enum(cls, value):
62
+ """Validates the enum"""
63
+ if value is None:
64
+ return value
65
+
66
+ if value not in set(['destroyed', 'started', 'stopped', 'resized', 'archived']):
67
+ raise ValueError("must be one of enum values ('destroyed', 'started', 'stopped', 'resized', 'archived')")
68
+ return value
69
+
70
+ model_config = ConfigDict(
71
+ populate_by_name=True,
72
+ validate_assignment=True,
73
+ protected_namespaces=(),
74
+ )
75
+
76
+
77
+ def to_str(self) -> str:
78
+ """Returns the string representation of the model using alias"""
79
+ return pprint.pformat(self.model_dump(by_alias=True))
80
+
81
+ def to_json(self) -> str:
82
+ """Returns the JSON representation of the model using alias"""
83
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
84
+ return json.dumps(self.to_dict())
85
+
86
+ @classmethod
87
+ def from_json(cls, json_str: str) -> Optional[Self]:
88
+ """Create an instance of SandboxCreatedPostRequestData from a JSON string"""
89
+ return cls.from_dict(json.loads(json_str))
90
+
91
+ def to_dict(self) -> Dict[str, Any]:
92
+ """Return the dictionary representation of the model using alias.
93
+
94
+ This has the following differences from calling pydantic's
95
+ `self.model_dump(by_alias=True)`:
96
+
97
+ * `None` is only added to the output dict for nullable fields that
98
+ were set at model initialization. Other fields with value `None`
99
+ are ignored.
100
+ * Fields in `self.additional_properties` are added to the output dict.
101
+ """
102
+ excluded_fields: Set[str] = set([
103
+ "additional_properties",
104
+ ])
105
+
106
+ _dict = self.model_dump(
107
+ by_alias=True,
108
+ exclude=excluded_fields,
109
+ exclude_none=True,
110
+ )
111
+ # puts key-value pairs in additional_properties in the top level
112
+ if self.additional_properties is not None:
113
+ for _key, _value in self.additional_properties.items():
114
+ _dict[_key] = _value
115
+
116
+ return _dict
117
+
118
+ @classmethod
119
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
120
+ """Create an instance of SandboxCreatedPostRequestData from a dict"""
121
+ if obj is None:
122
+ return None
123
+
124
+ if not isinstance(obj, dict):
125
+ return cls.model_validate(obj)
126
+
127
+ _obj = cls.model_validate({
128
+ "id": obj.get("id"),
129
+ "organizationId": obj.get("organizationId"),
130
+ "target": obj.get("target"),
131
+ "snapshot": obj.get("snapshot"),
132
+ "user": obj.get("user"),
133
+ "env": obj.get("env"),
134
+ "cpu": obj.get("cpu"),
135
+ "gpu": obj.get("gpu"),
136
+ "memory": obj.get("memory"),
137
+ "disk": obj.get("disk"),
138
+ "public": obj.get("public"),
139
+ "labels": obj.get("labels"),
140
+ "state": obj.get("state"),
141
+ "desiredState": obj.get("desiredState"),
142
+ "createdAt": obj.get("createdAt"),
143
+ "updatedAt": obj.get("updatedAt")
144
+ })
145
+ # store additional fields in additional_properties
146
+ for _key in obj.keys():
147
+ if _key not in cls.__properties:
148
+ _obj.additional_properties[_key] = obj.get(_key)
149
+
150
+ return _obj
151
+
152
+