
    	                     Z    S r SSKJr  SSKJr  SSKJr  Sr " S S\R                  5      r	g)	z7Tunnel TCP traffic over Cloud IAP WebSocket connection.    )iap_tunnel_websocket_utils)
iap_tunnel)
http_proxy   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ ) CloudRunIAPWebsocketTunnelHelper   z5Helper for starting a Cloud Run IAP WebSocket tunnel.c                 (  > S Ul         [        R                  " UR                  UR                  UR
                  [        USS 5      [        USS 5      S9U l        SU l        [        [        U ]/  UUR                  S S S [        UR                  S S S S9
  g )Ninstance	container)project_numberworkload_typedeployment_nameinstance_idcontainer_idF)	projectzoner   	interfaceportregionnetworkhost
dest_group)0iap_tunnel_insecure_disable_websocket_cert_checkr   CloudRunArgsr   r   r   getattr_cloud_run_args_ignore_certssuperr   __init__
project_idDEFAULT_PORTr   )selfargs	__class__s     0lib/googlecloudsdk/command_lib/run/iap_tunnel.pyr    )CloudRunIAPWebsocketTunnelHelper.__init__   s    <@D95BB**((,,D*d3T;5D D	
*D:{{ ;     c                 r   [         R                  " 5       n[        U5      (       a  U" SS9n[        R                  " U R
                  U R                  U R                  U R                  U R                  UU R                  U R                  U R                  U R                  U R                  U R                  S9$ )z<Overrides the parent method to build a target for Cloud Run.https)method)cloud_run_argsr   r   r   url_override
proxy_infor   r   r   r   r   r   )r   GetHttpProxyInfocallabler   IapTunnelTargetInfor   _project_region_port_iap_tunnel_url_override_zone	_instance
_interface_network_host_dest_group)r#   r.   s     r&   _GetTunnelTargetInfo5CloudRunIAPWebsocketTunnelHelper._GetTunnelTargetInfo5   s    ,,.J
W-j%99++||ZZ22ZZ//ZZ## r(   )r   r   )	__name__
__module____qualname____firstlineno____doc__r    r<   __static_attributes____classcell__)r%   s   @r&   r   r      s    =. r(   r   N)
rB   googlecloudsdk.api_lib.computer   "googlecloudsdk.command_lib.computer   googlecloudsdk.corer   r"   IAPWebsocketTunnelHelperr    r(   r&   <module>rJ      s,     > E 9 * ,z'J'J ,r(   