daytona_api_client_async 0.26.0a12__py3-none-any.whl → 0.26.0rc2__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 (45) hide show
  1. daytona_api_client_async/__init__.py +8 -1
  2. daytona_api_client_async/api/__init__.py +1 -0
  3. daytona_api_client_async/api/{images_api.py → default_api.py} +258 -724
  4. daytona_api_client_async/api/organizations_api.py +6 -6
  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 +7 -1
  8. daytona_api_client_async/models/create_audit_log.py +2 -2
  9. daytona_api_client_async/models/create_sandbox.py +5 -1
  10. daytona_api_client_async/models/{usage_overview.py → organization_usage_overview.py} +14 -8
  11. daytona_api_client_async/models/sandbox.py +5 -1
  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.py +1 -1
  15. daytona_api_client_async/models/sandbox_state_updated_post_request.py +110 -0
  16. daytona_api_client_async/models/sandbox_state_updated_post_request_data.py +129 -0
  17. daytona_api_client_async/models/sandbox_state_updated_post_request_data_sandbox.py +115 -0
  18. daytona_api_client_async/models/{workspace_info.py → send_webhook_dto.py} +11 -11
  19. daytona_api_client_async/models/snapshot_created_post_request.py +110 -0
  20. daytona_api_client_async/models/{image_dto.py → snapshot_created_post_request_data.py} +34 -43
  21. daytona_api_client_async/models/{workspace_volume.py → snapshot_removed_post_request.py} +13 -10
  22. daytona_api_client_async/models/snapshot_state_updated_post_request.py +110 -0
  23. daytona_api_client_async/models/snapshot_state_updated_post_request_data.py +129 -0
  24. daytona_api_client_async/models/snapshot_state_updated_post_request_data_snapshot.py +115 -0
  25. daytona_api_client_async/models/ssh_access_dto.py +112 -0
  26. daytona_api_client_async/models/{set_image_general_status.py → ssh_access_validation_dto.py} +15 -9
  27. daytona_api_client_async/models/{create_image.py → volume_created_post_request.py} +17 -12
  28. daytona_api_client_async/models/{build_snapshot.py → volume_created_post_request_data.py} +32 -21
  29. daytona_api_client_async/models/volume_state_updated_post_request.py +110 -0
  30. daytona_api_client_async/models/{create_node.py → volume_state_updated_post_request_data.py} +31 -37
  31. daytona_api_client_async/models/{paginated_images_dto.py → volume_state_updated_post_request_data_volume.py} +23 -23
  32. daytona_api_client_async/models/{workspace_labels.py → webhook_app_portal_access.py} +7 -7
  33. daytona_api_client_async/models/{download_files.py → webhook_controller_get_app_portal_access200_response.py} +8 -8
  34. daytona_api_client_async/models/webhook_controller_get_initialization_status200_response.py +118 -0
  35. daytona_api_client_async/models/{toggle_state.py → webhook_controller_get_status200_response.py} +7 -7
  36. daytona_api_client_async/models/webhook_initialization_status.py +121 -0
  37. daytona_api_client_async/models/workspace.py +5 -1
  38. {daytona_api_client_async-0.26.0a12.dist-info → daytona_api_client_async-0.26.0rc2.dist-info}/METADATA +1 -1
  39. {daytona_api_client_async-0.26.0a12.dist-info → daytona_api_client_async-0.26.0rc2.dist-info}/RECORD +42 -32
  40. daytona_api_client_async/api/nodes_api.py +0 -792
  41. daytona_api_client_async/models/image_state.py +0 -45
  42. daytona_api_client_async/models/workspace_state.py +0 -51
  43. {daytona_api_client_async-0.26.0a12.dist-info → daytona_api_client_async-0.26.0rc2.dist-info}/WHEEL +0 -0
  44. {daytona_api_client_async-0.26.0a12.dist-info → daytona_api_client_async-0.26.0rc2.dist-info}/licenses/LICENSE +0 -0
  45. {daytona_api_client_async-0.26.0a12.dist-info → daytona_api_client_async-0.26.0rc2.dist-info}/top_level.txt +0 -0
@@ -83,6 +83,7 @@ from daytona_api_client_async.models.organization import Organization
83
83
  from daytona_api_client_async.models.organization_invitation import OrganizationInvitation
84
84
  from daytona_api_client_async.models.organization_role import OrganizationRole
85
85
  from daytona_api_client_async.models.organization_suspension import OrganizationSuspension
86
+ from daytona_api_client_async.models.organization_usage_overview import OrganizationUsageOverview
86
87
  from daytona_api_client_async.models.organization_user import OrganizationUser
87
88
  from daytona_api_client_async.models.paginated_audit_logs import PaginatedAuditLogs
88
89
  from daytona_api_client_async.models.paginated_snapshots_dto import PaginatedSnapshotsDto
@@ -110,6 +111,7 @@ from daytona_api_client_async.models.sandbox_state import SandboxState
110
111
  from daytona_api_client_async.models.sandbox_volume import SandboxVolume
111
112
  from daytona_api_client_async.models.screenshot_response import ScreenshotResponse
112
113
  from daytona_api_client_async.models.search_files_response import SearchFilesResponse
114
+ from daytona_api_client_async.models.send_webhook_dto import SendWebhookDto
113
115
  from daytona_api_client_async.models.session import Session
114
116
  from daytona_api_client_async.models.session_command_logs_response import SessionCommandLogsResponse
115
117
  from daytona_api_client_async.models.session_execute_request import SessionExecuteRequest
@@ -117,6 +119,8 @@ from daytona_api_client_async.models.session_execute_response import SessionExec
117
119
  from daytona_api_client_async.models.set_snapshot_general_status_dto import SetSnapshotGeneralStatusDto
118
120
  from daytona_api_client_async.models.snapshot_dto import SnapshotDto
119
121
  from daytona_api_client_async.models.snapshot_state import SnapshotState
122
+ from daytona_api_client_async.models.ssh_access_dto import SshAccessDto
123
+ from daytona_api_client_async.models.ssh_access_validation_dto import SshAccessValidationDto
120
124
  from daytona_api_client_async.models.storage_access_dto import StorageAccessDto
121
125
  from daytona_api_client_async.models.update_assigned_organization_roles import UpdateAssignedOrganizationRoles
122
126
  from daytona_api_client_async.models.update_docker_registry import UpdateDockerRegistry
@@ -124,10 +128,12 @@ from daytona_api_client_async.models.update_organization_invitation import Updat
124
128
  from daytona_api_client_async.models.update_organization_member_role import UpdateOrganizationMemberRole
125
129
  from daytona_api_client_async.models.update_organization_quota import UpdateOrganizationQuota
126
130
  from daytona_api_client_async.models.update_organization_role import UpdateOrganizationRole
127
- from daytona_api_client_async.models.usage_overview import UsageOverview
128
131
  from daytona_api_client_async.models.user import User
129
132
  from daytona_api_client_async.models.user_public_key import UserPublicKey
130
133
  from daytona_api_client_async.models.volume_dto import VolumeDto
131
134
  from daytona_api_client_async.models.volume_state import VolumeState
135
+ from daytona_api_client_async.models.webhook_app_portal_access import WebhookAppPortalAccess
136
+ from daytona_api_client_async.models.webhook_controller_get_status200_response import WebhookControllerGetStatus200Response
137
+ from daytona_api_client_async.models.webhook_initialization_status import WebhookInitializationStatus
132
138
  from daytona_api_client_async.models.windows_response import WindowsResponse
133
139
  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', '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', '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')
@@ -34,6 +34,8 @@ class CreateSandbox(BaseModel):
34
34
  env: Optional[Dict[str, StrictStr]] = Field(default=None, description="Environment variables for the sandbox")
35
35
  labels: Optional[Dict[str, StrictStr]] = Field(default=None, description="Labels for the sandbox")
36
36
  public: Optional[StrictBool] = Field(default=None, description="Whether the sandbox http preview is publicly accessible")
37
+ network_block_all: Optional[StrictBool] = Field(default=None, description="Whether to block all network access for the sandbox", alias="networkBlockAll")
38
+ network_allow_list: Optional[StrictStr] = Field(default=None, description="Comma-separated list of allowed CIDR network addresses for the sandbox", alias="networkAllowList")
37
39
  var_class: Optional[StrictStr] = Field(default=None, description="The sandbox class type", alias="class")
38
40
  target: Optional[StrictStr] = Field(default=None, description="The target (region) where the sandbox will be created")
39
41
  cpu: Optional[StrictInt] = Field(default=None, description="CPU cores allocated to the sandbox")
@@ -46,7 +48,7 @@ class CreateSandbox(BaseModel):
46
48
  volumes: Optional[List[SandboxVolume]] = Field(default=None, description="Array of volumes to attach to the sandbox")
47
49
  build_info: Optional[CreateBuildInfo] = Field(default=None, description="Build information for the sandbox", alias="buildInfo")
48
50
  additional_properties: Dict[str, Any] = {}
49
- __properties: ClassVar[List[str]] = ["snapshot", "user", "env", "labels", "public", "class", "target", "cpu", "gpu", "memory", "disk", "autoStopInterval", "autoArchiveInterval", "autoDeleteInterval", "volumes", "buildInfo"]
51
+ __properties: ClassVar[List[str]] = ["snapshot", "user", "env", "labels", "public", "networkBlockAll", "networkAllowList", "class", "target", "cpu", "gpu", "memory", "disk", "autoStopInterval", "autoArchiveInterval", "autoDeleteInterval", "volumes", "buildInfo"]
50
52
 
51
53
  @field_validator('var_class')
52
54
  def var_class_validate_enum(cls, value):
@@ -131,6 +133,8 @@ class CreateSandbox(BaseModel):
131
133
  "env": obj.get("env"),
132
134
  "labels": obj.get("labels"),
133
135
  "public": obj.get("public"),
136
+ "networkBlockAll": obj.get("networkBlockAll"),
137
+ "networkAllowList": obj.get("networkAllowList"),
134
138
  "class": obj.get("class"),
135
139
  "target": obj.get("target"),
136
140
  "cpu": obj.get("cpu"),
@@ -23,19 +23,22 @@ from typing import Any, ClassVar, Dict, List, Union
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class UsageOverview(BaseModel):
26
+ class OrganizationUsageOverview(BaseModel):
27
27
  """
28
- UsageOverview
28
+ OrganizationUsageOverview
29
29
  """ # noqa: E501
30
30
  total_cpu_quota: Union[StrictFloat, StrictInt] = Field(alias="totalCpuQuota")
31
- total_gpu_quota: Union[StrictFloat, StrictInt] = Field(alias="totalGpuQuota")
32
31
  total_memory_quota: Union[StrictFloat, StrictInt] = Field(alias="totalMemoryQuota")
33
32
  total_disk_quota: Union[StrictFloat, StrictInt] = Field(alias="totalDiskQuota")
34
33
  current_cpu_usage: Union[StrictFloat, StrictInt] = Field(alias="currentCpuUsage")
35
34
  current_memory_usage: Union[StrictFloat, StrictInt] = Field(alias="currentMemoryUsage")
36
35
  current_disk_usage: Union[StrictFloat, StrictInt] = Field(alias="currentDiskUsage")
36
+ total_snapshot_quota: Union[StrictFloat, StrictInt] = Field(alias="totalSnapshotQuota")
37
+ current_snapshot_usage: Union[StrictFloat, StrictInt] = Field(alias="currentSnapshotUsage")
38
+ total_volume_quota: Union[StrictFloat, StrictInt] = Field(alias="totalVolumeQuota")
39
+ current_volume_usage: Union[StrictFloat, StrictInt] = Field(alias="currentVolumeUsage")
37
40
  additional_properties: Dict[str, Any] = {}
38
- __properties: ClassVar[List[str]] = ["totalCpuQuota", "totalGpuQuota", "totalMemoryQuota", "totalDiskQuota", "currentCpuUsage", "currentMemoryUsage", "currentDiskUsage"]
41
+ __properties: ClassVar[List[str]] = ["totalCpuQuota", "totalMemoryQuota", "totalDiskQuota", "currentCpuUsage", "currentMemoryUsage", "currentDiskUsage", "totalSnapshotQuota", "currentSnapshotUsage", "totalVolumeQuota", "currentVolumeUsage"]
39
42
 
40
43
  model_config = ConfigDict(
41
44
  populate_by_name=True,
@@ -55,7 +58,7 @@ class UsageOverview(BaseModel):
55
58
 
56
59
  @classmethod
57
60
  def from_json(cls, json_str: str) -> Optional[Self]:
58
- """Create an instance of UsageOverview from a JSON string"""
61
+ """Create an instance of OrganizationUsageOverview from a JSON string"""
59
62
  return cls.from_dict(json.loads(json_str))
60
63
 
61
64
  def to_dict(self) -> Dict[str, Any]:
@@ -87,7 +90,7 @@ class UsageOverview(BaseModel):
87
90
 
88
91
  @classmethod
89
92
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90
- """Create an instance of UsageOverview from a dict"""
93
+ """Create an instance of OrganizationUsageOverview from a dict"""
91
94
  if obj is None:
92
95
  return None
93
96
 
@@ -96,12 +99,15 @@ class UsageOverview(BaseModel):
96
99
 
97
100
  _obj = cls.model_validate({
98
101
  "totalCpuQuota": obj.get("totalCpuQuota"),
99
- "totalGpuQuota": obj.get("totalGpuQuota"),
100
102
  "totalMemoryQuota": obj.get("totalMemoryQuota"),
101
103
  "totalDiskQuota": obj.get("totalDiskQuota"),
102
104
  "currentCpuUsage": obj.get("currentCpuUsage"),
103
105
  "currentMemoryUsage": obj.get("currentMemoryUsage"),
104
- "currentDiskUsage": obj.get("currentDiskUsage")
106
+ "currentDiskUsage": obj.get("currentDiskUsage"),
107
+ "totalSnapshotQuota": obj.get("totalSnapshotQuota"),
108
+ "currentSnapshotUsage": obj.get("currentSnapshotUsage"),
109
+ "totalVolumeQuota": obj.get("totalVolumeQuota"),
110
+ "currentVolumeUsage": obj.get("currentVolumeUsage")
105
111
  })
106
112
  # store additional fields in additional_properties
107
113
  for _key in obj.keys():
@@ -38,6 +38,8 @@ class Sandbox(BaseModel):
38
38
  env: Dict[str, StrictStr] = Field(description="Environment variables for the sandbox")
39
39
  labels: Dict[str, StrictStr] = Field(description="Labels for the sandbox")
40
40
  public: StrictBool = Field(description="Whether the sandbox http preview is public")
41
+ network_block_all: StrictBool = Field(description="Whether to block all network access for the sandbox", alias="networkBlockAll")
42
+ network_allow_list: Optional[StrictStr] = Field(default=None, description="Comma-separated list of allowed CIDR network addresses for the sandbox", alias="networkAllowList")
41
43
  target: StrictStr = Field(description="The target environment for the sandbox")
42
44
  cpu: Union[StrictFloat, StrictInt] = Field(description="The CPU quota for the sandbox")
43
45
  gpu: Union[StrictFloat, StrictInt] = Field(description="The GPU quota for the sandbox")
@@ -59,7 +61,7 @@ class Sandbox(BaseModel):
59
61
  var_class: Optional[StrictStr] = Field(default=None, description="The class of the sandbox", alias="class")
60
62
  daemon_version: Optional[StrictStr] = Field(default=None, description="The version of the daemon running in the sandbox", alias="daemonVersion")
61
63
  additional_properties: Dict[str, Any] = {}
62
- __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "target", "cpu", "gpu", "memory", "disk", "state", "desiredState", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "autoDeleteInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion"]
64
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "networkBlockAll", "networkAllowList", "target", "cpu", "gpu", "memory", "disk", "state", "desiredState", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "autoDeleteInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion"]
63
65
 
64
66
  @field_validator('backup_state')
65
67
  def backup_state_validate_enum(cls, value):
@@ -156,6 +158,8 @@ class Sandbox(BaseModel):
156
158
  "env": obj.get("env"),
157
159
  "labels": obj.get("labels"),
158
160
  "public": obj.get("public"),
161
+ "networkBlockAll": obj.get("networkBlockAll"),
162
+ "networkAllowList": obj.get("networkAllowList"),
159
163
  "target": obj.get("target"),
160
164
  "cpu": obj.get("cpu"),
161
165
  "gpu": obj.get("gpu"),
@@ -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
+
@@ -41,8 +41,8 @@ class SandboxState(str, Enum):
41
41
  BUILDING_SNAPSHOT = 'building_snapshot'
42
42
  UNKNOWN = 'unknown'
43
43
  PULLING_SNAPSHOT = 'pulling_snapshot'
44
- ARCHIVING = 'archiving'
45
44
  ARCHIVED = 'archived'
45
+ ARCHIVING = 'archiving'
46
46
 
47
47
  @classmethod
48
48
  def from_json(cls, json_str: str) -> Self:
@@ -0,0 +1,110 @@
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, StrictStr
23
+ from typing import Any, ClassVar, Dict, List, Optional
24
+ from daytona_api_client_async.models.sandbox_state_updated_post_request_data import SandboxStateUpdatedPostRequestData
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class SandboxStateUpdatedPostRequest(BaseModel):
29
+ """
30
+ SandboxStateUpdatedPostRequest
31
+ """ # noqa: E501
32
+ event: Optional[StrictStr] = None
33
+ timestamp: Optional[datetime] = None
34
+ data: Optional[SandboxStateUpdatedPostRequestData] = None
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties: ClassVar[List[str]] = ["event", "timestamp", "data"]
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 SandboxStateUpdatedPostRequest 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 data
80
+ if self.data:
81
+ _dict['data'] = self.data.to_dict()
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 SandboxStateUpdatedPostRequest 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
+ "event": obj.get("event"),
100
+ "timestamp": obj.get("timestamp"),
101
+ "data": SandboxStateUpdatedPostRequestData.from_dict(obj["data"]) if obj.get("data") is not None else None
102
+ })
103
+ # store additional fields in additional_properties
104
+ for _key in obj.keys():
105
+ if _key not in cls.__properties:
106
+ _obj.additional_properties[_key] = obj.get(_key)
107
+
108
+ return _obj
109
+
110
+