
                             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 Z e	j*                  e	j,                  j.                         G d de	j0                               Zy)zExport ssl policies command.    )absolute_import)division)unicode_literalsN)base_classes)base)scope)flags)util)filesc                     | j                   } |j                  j                  di |j                         }|j                  j
                  }|j                  |d|fg      d   S )NGetr    )clientmessages"ComputeTargetGrpcProxiesGetRequestAsDictapitools_clienttargetGrpcProxiesMakeRequests)holdertarget_grpc_proxy_refr   request
collections        1lib/surface/compute/target_grpc_proxies/export.py	_Describer      sc    ==&>FOO>> ($$&('%%77*			z5':;	<Q	??    c                   L    e Zd ZdZdZed        Zedd       Zed        Zd Z	y)ExportzExport a target gRPC proxy.Nc                     | j                         t        j                   j                  k(  ry| j                         t        j                   j                  k(  ryy)z3Returns the API version based on the release track.alphabetav1)ReleaseTrackr   ALPHABETA)clss    r   GetApiVersionzExport.GetApiVersion,   sG     T..444				t0055	5r   c                 P    t        j                  d| j                         d|      S )z!Returns the resource schema path.computeTargetGrpcProxyfor_help)export_utilGetSchemaPathr'   )r&   r,   s     r   r.   zExport.GetSchemaPath5   s,     $$3$$&(9HN Nr   c                     t        j                         | _        | j                  j                  |d       t	        j
                  || j                  d             y )Nexport)operation_typeTr+   )r	   TargetGrpcProxyArgumentTARGET_GRPC_PROXY_ARGAddArgumentr-   AddExportFlagsr.   )r&   parsers     r   ArgszExport.Args;   sJ     % = = ?C))&)Jvs'8'8$'8'GHr   c                    t        j                  | j                               }| j                  j	                  ||j
                  t        j                  j                        }t        ||      }|j                  rOt        j                  |j                        5 }t        j                  ||| j                                d d d        y t        j                  |t         j"                  | j                                y # 1 sw Y   y xY w)N)default_scope)messagestreamschema_path)r   ComputeApiHolderr#   r3   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr   destinationr   
FileWriterr-   r   r.   sysstdout)selfargsr   r   target_grpc_proxyr;   s         r   Runz
Export.RunA   s    **4+<+<+>?F 66HHfm.E.E.L.L I N "&*?@D,,-%**,	. .- #((*, .-s   'D  D	)F)
__name__
__module____qualname____doc__r3   classmethodr'   r.   r7   rJ   r   r   r   r   r   &   sN    #  N N
 I I
,r   r   )rN   
__future__r   r   r   rE   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r@   6googlecloudsdk.command_lib.compute.target_grpc_proxiesr	   !googlecloudsdk.command_lib.exportr
   r-   googlecloudsdk.core.utilr   r   ReleaseTracksr#   r$   Commandr   r   r   r   <module>rY      sf    # &  ' 
 7 ( E H A *@ D%%++,-,T\\ -, --,r   