1010
1111from ..types import (
1212 DevboxView ,
13+ TunnelView ,
1314 DevboxTunnelView ,
1415 DevboxExecutionDetailView ,
1516 DevboxCreateSSHKeyResponse ,
2526 SDKDevboxUploadFileParams ,
2627 SDKDevboxCreateTunnelParams ,
2728 SDKDevboxDownloadFileParams ,
29+ SDKDevboxEnableTunnelParams ,
2830 SDKDevboxExecuteAsyncParams ,
2931 SDKDevboxRemoveTunnelParams ,
3032 SDKDevboxSnapshotDiskParams ,
@@ -734,7 +736,9 @@ def create_tunnel(
734736 self ,
735737 ** params : Unpack [SDKDevboxCreateTunnelParams ],
736738 ) -> DevboxTunnelView :
737- """Create a network tunnel to expose a devbox port publicly.
739+ """[Deprecated] Create a legacy tunnel to expose a devbox port publicly.
740+
741+ Use :meth:`enable_tunnel` instead for the V2 tunnel API.
738742
739743 :param params: See :typeddict:`~runloop_api_client.sdk._types.SDKDevboxCreateTunnelParams` for available parameters
740744 :return: Details about the public endpoint
@@ -751,6 +755,30 @@ def create_tunnel(
751755 ** params ,
752756 )
753757
758+ def enable_tunnel (
759+ self ,
760+ ** params : Unpack [SDKDevboxEnableTunnelParams ],
761+ ) -> TunnelView :
762+ """Enable a V2 tunnel for secure HTTP access to the devbox.
763+
764+ V2 tunnels provide encrypted URL-based access without exposing internal IDs.
765+ Each devbox can have one tunnel. The tunnel URL format is:
766+ ``https://{port}-{tunnel_key}.tunnel.runloop.ai``
767+
768+ :param params: See :typeddict:`~runloop_api_client.sdk._types.SDKDevboxEnableTunnelParams` for available parameters
769+ :return: Tunnel details including the tunnel key for constructing URLs
770+ :rtype: :class:`~runloop_api_client.types.tunnel_view.TunnelView`
771+
772+ Example:
773+ >>> tunnel = devbox.net.enable_tunnel(auth_mode="open")
774+ >>> print(f"Tunnel key: {tunnel.tunnel_key}")
775+ >>> # Access via: https://8080-{tunnel.tunnel_key}.tunnel.runloop.ai
776+ """
777+ return self ._devbox ._client .devboxes .enable_tunnel (
778+ self ._devbox .id ,
779+ ** params ,
780+ )
781+
754782 def remove_tunnel (
755783 self ,
756784 ** params : Unpack [SDKDevboxRemoveTunnelParams ],
0 commit comments