6060from ..._base_client import make_request_options
6161from ...types .devbox_view import DevboxView
6262from ...types .devbox_list_view import DevboxListView
63+ from ...types .devbox_tunnel_view import DevboxTunnelView
6364from ...types .devbox_snapshot_view import DevboxSnapshotView
6465from ...types .devbox_snapshot_list_view import DevboxSnapshotListView
6566from ...types .code_mount_parameters_param import CodeMountParametersParam
@@ -314,6 +315,39 @@ def create_ssh_key(
314315 cast_to = DevboxCreateSSHKeyResponse ,
315316 )
316317
318+ def create_tunnel (
319+ self ,
320+ id : str ,
321+ * ,
322+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
323+ # The extra values given here take precedence over values defined on the client or passed to this method.
324+ extra_headers : Headers | None = None ,
325+ extra_query : Query | None = None ,
326+ extra_body : Body | None = None ,
327+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
328+ ) -> DevboxTunnelView :
329+ """
330+ Create a tunnel to an available port on the Devbox.
331+
332+ Args:
333+ extra_headers: Send extra headers
334+
335+ extra_query: Add additional query parameters to the request
336+
337+ extra_body: Add additional JSON properties to the request
338+
339+ timeout: Override the client-level default timeout for this request, in seconds
340+ """
341+ if not id :
342+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
343+ return self ._post (
344+ f"/v1/devboxes/{ id } /create_tunnel" ,
345+ options = make_request_options (
346+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
347+ ),
348+ cast_to = DevboxTunnelView ,
349+ )
350+
317351 def disk_snapshots (
318352 self ,
319353 * ,
@@ -530,6 +564,39 @@ def read_file_contents(
530564 cast_to = str ,
531565 )
532566
567+ def resume (
568+ self ,
569+ id : str ,
570+ * ,
571+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
572+ # The extra values given here take precedence over values defined on the client or passed to this method.
573+ extra_headers : Headers | None = None ,
574+ extra_query : Query | None = None ,
575+ extra_body : Body | None = None ,
576+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
577+ ) -> DevboxView :
578+ """
579+ Resume a suspended devbox by id.
580+
581+ Args:
582+ extra_headers: Send extra headers
583+
584+ extra_query: Add additional query parameters to the request
585+
586+ extra_body: Add additional JSON properties to the request
587+
588+ timeout: Override the client-level default timeout for this request, in seconds
589+ """
590+ if not id :
591+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
592+ return self ._post (
593+ f"/v1/devboxes/{ id } /resume" ,
594+ options = make_request_options (
595+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
596+ ),
597+ cast_to = DevboxView ,
598+ )
599+
533600 def shutdown (
534601 self ,
535602 id : str ,
@@ -610,6 +677,40 @@ def snapshot_disk(
610677 cast_to = DevboxSnapshotView ,
611678 )
612679
680+ def suspend (
681+ self ,
682+ id : str ,
683+ * ,
684+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
685+ # The extra values given here take precedence over values defined on the client or passed to this method.
686+ extra_headers : Headers | None = None ,
687+ extra_query : Query | None = None ,
688+ extra_body : Body | None = None ,
689+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
690+ ) -> DevboxView :
691+ """Suspend a devbox by id.
692+
693+ This will take the devbox out of service.
694+
695+ Args:
696+ extra_headers: Send extra headers
697+
698+ extra_query: Add additional query parameters to the request
699+
700+ extra_body: Add additional JSON properties to the request
701+
702+ timeout: Override the client-level default timeout for this request, in seconds
703+ """
704+ if not id :
705+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
706+ return self ._post (
707+ f"/v1/devboxes/{ id } /suspend" ,
708+ options = make_request_options (
709+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
710+ ),
711+ cast_to = DevboxView ,
712+ )
713+
613714 def upload_file (
614715 self ,
615716 id : str ,
@@ -948,6 +1049,39 @@ async def create_ssh_key(
9481049 cast_to = DevboxCreateSSHKeyResponse ,
9491050 )
9501051
1052+ async def create_tunnel (
1053+ self ,
1054+ id : str ,
1055+ * ,
1056+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1057+ # The extra values given here take precedence over values defined on the client or passed to this method.
1058+ extra_headers : Headers | None = None ,
1059+ extra_query : Query | None = None ,
1060+ extra_body : Body | None = None ,
1061+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
1062+ ) -> DevboxTunnelView :
1063+ """
1064+ Create a tunnel to an available port on the Devbox.
1065+
1066+ Args:
1067+ extra_headers: Send extra headers
1068+
1069+ extra_query: Add additional query parameters to the request
1070+
1071+ extra_body: Add additional JSON properties to the request
1072+
1073+ timeout: Override the client-level default timeout for this request, in seconds
1074+ """
1075+ if not id :
1076+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
1077+ return await self ._post (
1078+ f"/v1/devboxes/{ id } /create_tunnel" ,
1079+ options = make_request_options (
1080+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
1081+ ),
1082+ cast_to = DevboxTunnelView ,
1083+ )
1084+
9511085 async def disk_snapshots (
9521086 self ,
9531087 * ,
@@ -1164,6 +1298,39 @@ async def read_file_contents(
11641298 cast_to = str ,
11651299 )
11661300
1301+ async def resume (
1302+ self ,
1303+ id : str ,
1304+ * ,
1305+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1306+ # The extra values given here take precedence over values defined on the client or passed to this method.
1307+ extra_headers : Headers | None = None ,
1308+ extra_query : Query | None = None ,
1309+ extra_body : Body | None = None ,
1310+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
1311+ ) -> DevboxView :
1312+ """
1313+ Resume a suspended devbox by id.
1314+
1315+ Args:
1316+ extra_headers: Send extra headers
1317+
1318+ extra_query: Add additional query parameters to the request
1319+
1320+ extra_body: Add additional JSON properties to the request
1321+
1322+ timeout: Override the client-level default timeout for this request, in seconds
1323+ """
1324+ if not id :
1325+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
1326+ return await self ._post (
1327+ f"/v1/devboxes/{ id } /resume" ,
1328+ options = make_request_options (
1329+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
1330+ ),
1331+ cast_to = DevboxView ,
1332+ )
1333+
11671334 async def shutdown (
11681335 self ,
11691336 id : str ,
@@ -1244,6 +1411,40 @@ async def snapshot_disk(
12441411 cast_to = DevboxSnapshotView ,
12451412 )
12461413
1414+ async def suspend (
1415+ self ,
1416+ id : str ,
1417+ * ,
1418+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1419+ # The extra values given here take precedence over values defined on the client or passed to this method.
1420+ extra_headers : Headers | None = None ,
1421+ extra_query : Query | None = None ,
1422+ extra_body : Body | None = None ,
1423+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
1424+ ) -> DevboxView :
1425+ """Suspend a devbox by id.
1426+
1427+ This will take the devbox out of service.
1428+
1429+ Args:
1430+ extra_headers: Send extra headers
1431+
1432+ extra_query: Add additional query parameters to the request
1433+
1434+ extra_body: Add additional JSON properties to the request
1435+
1436+ timeout: Override the client-level default timeout for this request, in seconds
1437+ """
1438+ if not id :
1439+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
1440+ return await self ._post (
1441+ f"/v1/devboxes/{ id } /suspend" ,
1442+ options = make_request_options (
1443+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
1444+ ),
1445+ cast_to = DevboxView ,
1446+ )
1447+
12471448 async def upload_file (
12481449 self ,
12491450 id : str ,
@@ -1355,6 +1556,9 @@ def __init__(self, devboxes: DevboxesResource) -> None:
13551556 self .create_ssh_key = to_raw_response_wrapper (
13561557 devboxes .create_ssh_key ,
13571558 )
1559+ self .create_tunnel = to_raw_response_wrapper (
1560+ devboxes .create_tunnel ,
1561+ )
13581562 self .disk_snapshots = to_raw_response_wrapper (
13591563 devboxes .disk_snapshots ,
13601564 )
@@ -1371,12 +1575,18 @@ def __init__(self, devboxes: DevboxesResource) -> None:
13711575 self .read_file_contents = to_raw_response_wrapper (
13721576 devboxes .read_file_contents ,
13731577 )
1578+ self .resume = to_raw_response_wrapper (
1579+ devboxes .resume ,
1580+ )
13741581 self .shutdown = to_raw_response_wrapper (
13751582 devboxes .shutdown ,
13761583 )
13771584 self .snapshot_disk = to_raw_response_wrapper (
13781585 devboxes .snapshot_disk ,
13791586 )
1587+ self .suspend = to_raw_response_wrapper (
1588+ devboxes .suspend ,
1589+ )
13801590 self .upload_file = to_raw_response_wrapper (
13811591 devboxes .upload_file ,
13821592 )
@@ -1409,6 +1619,9 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
14091619 self .create_ssh_key = async_to_raw_response_wrapper (
14101620 devboxes .create_ssh_key ,
14111621 )
1622+ self .create_tunnel = async_to_raw_response_wrapper (
1623+ devboxes .create_tunnel ,
1624+ )
14121625 self .disk_snapshots = async_to_raw_response_wrapper (
14131626 devboxes .disk_snapshots ,
14141627 )
@@ -1425,12 +1638,18 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
14251638 self .read_file_contents = async_to_raw_response_wrapper (
14261639 devboxes .read_file_contents ,
14271640 )
1641+ self .resume = async_to_raw_response_wrapper (
1642+ devboxes .resume ,
1643+ )
14281644 self .shutdown = async_to_raw_response_wrapper (
14291645 devboxes .shutdown ,
14301646 )
14311647 self .snapshot_disk = async_to_raw_response_wrapper (
14321648 devboxes .snapshot_disk ,
14331649 )
1650+ self .suspend = async_to_raw_response_wrapper (
1651+ devboxes .suspend ,
1652+ )
14341653 self .upload_file = async_to_raw_response_wrapper (
14351654 devboxes .upload_file ,
14361655 )
@@ -1463,6 +1682,9 @@ def __init__(self, devboxes: DevboxesResource) -> None:
14631682 self .create_ssh_key = to_streamed_response_wrapper (
14641683 devboxes .create_ssh_key ,
14651684 )
1685+ self .create_tunnel = to_streamed_response_wrapper (
1686+ devboxes .create_tunnel ,
1687+ )
14661688 self .disk_snapshots = to_streamed_response_wrapper (
14671689 devboxes .disk_snapshots ,
14681690 )
@@ -1479,12 +1701,18 @@ def __init__(self, devboxes: DevboxesResource) -> None:
14791701 self .read_file_contents = to_streamed_response_wrapper (
14801702 devboxes .read_file_contents ,
14811703 )
1704+ self .resume = to_streamed_response_wrapper (
1705+ devboxes .resume ,
1706+ )
14821707 self .shutdown = to_streamed_response_wrapper (
14831708 devboxes .shutdown ,
14841709 )
14851710 self .snapshot_disk = to_streamed_response_wrapper (
14861711 devboxes .snapshot_disk ,
14871712 )
1713+ self .suspend = to_streamed_response_wrapper (
1714+ devboxes .suspend ,
1715+ )
14881716 self .upload_file = to_streamed_response_wrapper (
14891717 devboxes .upload_file ,
14901718 )
@@ -1517,6 +1745,9 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
15171745 self .create_ssh_key = async_to_streamed_response_wrapper (
15181746 devboxes .create_ssh_key ,
15191747 )
1748+ self .create_tunnel = async_to_streamed_response_wrapper (
1749+ devboxes .create_tunnel ,
1750+ )
15201751 self .disk_snapshots = async_to_streamed_response_wrapper (
15211752 devboxes .disk_snapshots ,
15221753 )
@@ -1533,12 +1764,18 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
15331764 self .read_file_contents = async_to_streamed_response_wrapper (
15341765 devboxes .read_file_contents ,
15351766 )
1767+ self .resume = async_to_streamed_response_wrapper (
1768+ devboxes .resume ,
1769+ )
15361770 self .shutdown = async_to_streamed_response_wrapper (
15371771 devboxes .shutdown ,
15381772 )
15391773 self .snapshot_disk = async_to_streamed_response_wrapper (
15401774 devboxes .snapshot_disk ,
15411775 )
1776+ self .suspend = async_to_streamed_response_wrapper (
1777+ devboxes .suspend ,
1778+ )
15421779 self .upload_file = async_to_streamed_response_wrapper (
15431780 devboxes .upload_file ,
15441781 )
0 commit comments