@@ -193,6 +193,7 @@ def create(
193193 repo_connection_id : Optional [str ] | Omit = omit ,
194194 secrets : Optional [Dict [str , str ]] | Omit = omit ,
195195 snapshot_id : Optional [str ] | Omit = omit ,
196+ tunnel : Optional [devbox_create_params .Tunnel ] | Omit = omit ,
196197 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
197198 # The extra values given here take precedence over values defined on the client or passed to this method.
198199 extra_headers : Headers | None = None ,
@@ -252,6 +253,10 @@ def create(
252253 snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID,
253254 Blueprint name) should be specified.
254255
256+ tunnel: (Optional) Configuration for creating a V2 tunnel at Devbox launch time. When
257+ specified, a tunnel will be automatically provisioned and the tunnel details
258+ will be included in the Devbox response.
259+
255260 extra_headers: Send extra headers
256261
257262 extra_query: Add additional query parameters to the request
@@ -280,6 +285,7 @@ def create(
280285 "repo_connection_id" : repo_connection_id ,
281286 "secrets" : secrets ,
282287 "snapshot_id" : snapshot_id ,
288+ "tunnel" : tunnel ,
283289 },
284290 devbox_create_params .DevboxCreateParams ,
285291 ),
@@ -640,6 +646,7 @@ def create_ssh_key(
640646 cast_to = DevboxCreateSSHKeyResponse ,
641647 )
642648
649+ @typing_extensions .deprecated ("deprecated" )
643650 def create_tunnel (
644651 self ,
645652 id : str ,
@@ -653,8 +660,11 @@ def create_tunnel(
653660 timeout : float | httpx .Timeout | None | NotGiven = not_given ,
654661 idempotency_key : str | None = None ,
655662 ) -> DevboxTunnelView :
656- """
657- Create a live tunnel to an available port on the Devbox.
663+ """[Deprecated] Use POST /v1/devboxes/{id}/enable_tunnel instead.
664+
665+ This endpoint
666+ creates a legacy tunnel. The new enable_tunnel endpoint provides improved tunnel
667+ functionality with authentication options.
658668
659669 Args:
660670 port: Devbox port that tunnel will expose.
@@ -1739,6 +1749,7 @@ async def create(
17391749 repo_connection_id : Optional [str ] | Omit = omit ,
17401750 secrets : Optional [Dict [str , str ]] | Omit = omit ,
17411751 snapshot_id : Optional [str ] | Omit = omit ,
1752+ tunnel : Optional [devbox_create_params .Tunnel ] | Omit = omit ,
17421753 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
17431754 # The extra values given here take precedence over values defined on the client or passed to this method.
17441755 extra_headers : Headers | None = None ,
@@ -1798,6 +1809,10 @@ async def create(
17981809 snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID,
17991810 Blueprint name) should be specified.
18001811
1812+ tunnel: (Optional) Configuration for creating a V2 tunnel at Devbox launch time. When
1813+ specified, a tunnel will be automatically provisioned and the tunnel details
1814+ will be included in the Devbox response.
1815+
18011816 extra_headers: Send extra headers
18021817
18031818 extra_query: Add additional query parameters to the request
@@ -1826,6 +1841,7 @@ async def create(
18261841 "repo_connection_id" : repo_connection_id ,
18271842 "secrets" : secrets ,
18281843 "snapshot_id" : snapshot_id ,
1844+ "tunnel" : tunnel ,
18291845 },
18301846 devbox_create_params .DevboxCreateParams ,
18311847 ),
@@ -2183,6 +2199,7 @@ async def create_ssh_key(
21832199 cast_to = DevboxCreateSSHKeyResponse ,
21842200 )
21852201
2202+ @typing_extensions .deprecated ("deprecated" )
21862203 async def create_tunnel (
21872204 self ,
21882205 id : str ,
@@ -2196,8 +2213,11 @@ async def create_tunnel(
21962213 timeout : float | httpx .Timeout | None | NotGiven = not_given ,
21972214 idempotency_key : str | None = None ,
21982215 ) -> DevboxTunnelView :
2199- """
2200- Create a live tunnel to an available port on the Devbox.
2216+ """[Deprecated] Use POST /v1/devboxes/{id}/enable_tunnel instead.
2217+
2218+ This endpoint
2219+ creates a legacy tunnel. The new enable_tunnel endpoint provides improved tunnel
2220+ functionality with authentication options.
22012221
22022222 Args:
22032223 port: Devbox port that tunnel will expose.
@@ -3247,8 +3267,10 @@ def __init__(self, devboxes: DevboxesResource) -> None:
32473267 self .create_ssh_key = to_raw_response_wrapper (
32483268 devboxes .create_ssh_key ,
32493269 )
3250- self .create_tunnel = to_raw_response_wrapper (
3251- devboxes .create_tunnel ,
3270+ self .create_tunnel = ( # pyright: ignore[reportDeprecated]
3271+ to_raw_response_wrapper (
3272+ devboxes .create_tunnel , # pyright: ignore[reportDeprecated],
3273+ )
32523274 )
32533275 self .delete_disk_snapshot = to_raw_response_wrapper (
32543276 devboxes .delete_disk_snapshot ,
@@ -3345,8 +3367,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
33453367 self .create_ssh_key = async_to_raw_response_wrapper (
33463368 devboxes .create_ssh_key ,
33473369 )
3348- self .create_tunnel = async_to_raw_response_wrapper (
3349- devboxes .create_tunnel ,
3370+ self .create_tunnel = ( # pyright: ignore[reportDeprecated]
3371+ async_to_raw_response_wrapper (
3372+ devboxes .create_tunnel , # pyright: ignore[reportDeprecated],
3373+ )
33503374 )
33513375 self .delete_disk_snapshot = async_to_raw_response_wrapper (
33523376 devboxes .delete_disk_snapshot ,
@@ -3443,8 +3467,10 @@ def __init__(self, devboxes: DevboxesResource) -> None:
34433467 self .create_ssh_key = to_streamed_response_wrapper (
34443468 devboxes .create_ssh_key ,
34453469 )
3446- self .create_tunnel = to_streamed_response_wrapper (
3447- devboxes .create_tunnel ,
3470+ self .create_tunnel = ( # pyright: ignore[reportDeprecated]
3471+ to_streamed_response_wrapper (
3472+ devboxes .create_tunnel , # pyright: ignore[reportDeprecated],
3473+ )
34483474 )
34493475 self .delete_disk_snapshot = to_streamed_response_wrapper (
34503476 devboxes .delete_disk_snapshot ,
@@ -3541,8 +3567,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
35413567 self .create_ssh_key = async_to_streamed_response_wrapper (
35423568 devboxes .create_ssh_key ,
35433569 )
3544- self .create_tunnel = async_to_streamed_response_wrapper (
3545- devboxes .create_tunnel ,
3570+ self .create_tunnel = ( # pyright: ignore[reportDeprecated]
3571+ async_to_streamed_response_wrapper (
3572+ devboxes .create_tunnel , # pyright: ignore[reportDeprecated],
3573+ )
35463574 )
35473575 self .delete_disk_snapshot = async_to_streamed_response_wrapper (
35483576 devboxes .delete_disk_snapshot ,
0 commit comments