
                         ~   d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	l
mZ ddlmZ dd
lmZ ddlmZ ddlmZ d Zd ZddZd Z e	j4                  e	j6                  j8                  e	j6                  j:                  e	j6                  j<                         G d de	j>                               Z y)z"Export target HTTPS proxy command.    )absolute_import)division)unicode_literalsN)base_classes)base)flags)scope)target_https_proxies_utils)util)filesc                      ddddS )NExport a target HTTPS proxy.z          Exports a target HTTPS proxy's configuration to a file.
          This configuration can be imported at a later time.
          z          A target HTTPS proxy can be exported by running:

            $ {command} NAME --destination=<path-to-file>
          )briefDESCRIPTIONEXAMPLES r       2lib/surface/compute/target_https_proxies/export.py_DetailedHelpr       s     )

 r   c                 |    | t         j                  j                  k(  ry| t         j                  j                  k(  ryy)z3Returns the API version based on the release track.alphabetav1)r   ReleaseTrackALPHABETA)release_tracks    r   _GetApiVersionr   2   s3    d''---d'',,,	r   c                 F    t        j                  dt        |       d|      S )z!Returns the resource schema path.computeTargetHttpsProxyfor_help)export_utilGetSchemaPathr   )r   r#   s     r   _GetSchemaPathr&   ;   s&    		"	"]#	
 r   c                    |j                   }|j                  | |j                  t        j                  j
                  t        j                  |            }t        j                  ||      }| j                  rJt        j                  | j                        5 }t        j                  ||t        |             ddd       yt        j                  |t         j"                  t        |             y# 1 sw Y   yxY w)z9Issues requests necessary to export target HTTPS proxies.)default_scopescope_lister)messagestreamschema_pathN)clientResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALcompute_flagsGetDefaultScopeListerr
   SendGetRequestdestinationr   
FileWriterr$   Exportr&   sysstdout)argsholdertarget_https_proxy_argr   r-   target_https_proxy_reftarget_https_proxyr+   s           r   _Runr@   D   s    ==&1CC
!++22 66v>	 D @ 2@@$& 
			$**	+v$$]35 
,	+ "zz"=13 
,	+s   "C33C<c                   8    e Zd ZdZ e       ZdZed        Zd Z	y)r8   r   Nc                     t        j                         | _        | j                  j                  |d       t	        j
                  |t        | j                         d             y )Nexport)operation_typeTr"   )r   TargetHttpsProxyArgumentTARGET_HTTPS_PROXY_ARGAddArgumentr$   AddExportFlagsr&   r   )clsparsers     r   ArgszExport.Argsf   sP    !&!?!?!AC**6(*Ks//1DACr   c                     t        j                  | j                               }t        ||| j                  | j                               S )N)r   ComputeApiHolderr   r@   rF   )selfr;   r<   s      r   Runz
Export.Runm   s;    **4+<+<+>?Ffd994;L;L;NOOr   )
__name__
__module____qualname____doc__r   detailed_helprF   classmethodrK   rO   r   r   r   r8   r8   ^   s.     %/-C CPr   r8   )F)!rS   
__future__r   r   r   r9   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r3   r	   r0   7googlecloudsdk.command_lib.compute.target_https_proxiesr
   !googlecloudsdk.command_lib.exportr   r$   googlecloudsdk.core.utilr   r   r   r&   r@   ReleaseTracksr   GAr   r   Commandr8   r   r   r   <module>r`      s    ) &  ' 
 7 ( E E I ^ A *$34 D%%(($*;*;*@*@%%++-PT\\ P-Pr   