
                         &   d 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d	lmZ dd
lmZ ddlmZ ddlmZ d Zd Zd Z ej8                  ej:                  j<                         G d dej>                               Z y)zImport target command.    )absolute_import)division)unicode_literals)
exceptions)base_classes)base)scope)flags)util)yaml_validator)
console_ioc                     | 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/import.py	_Describer       sc    ==&>FOO>> ($$&('%%77*			z5':;	<Q	??    c                     | j                   }|j                  j                  |j                  |      }|j                  j
                  }|j                  |d|fg      d   S )N)projecttargetGrpcProxyInsertr   )r   r   %ComputeTargetGrpcProxiesInsertRequestr    r   r   r   )r   target_grpc_proxyr   r   r   r   s         r   _Creater%   (   sc    ==&OOAA#++=N B P'%%77*			z8W=>	?	BBr   c                     | j                   j                  |j                  |j                         |      }| j                  j
                  }| j                  |d|fg      d   S )z%Make target gRPC proxy patch request.)r    r!   targetGrpcProxyResourcePatchr   )r   $ComputeTargetGrpcProxiesPatchRequestr    Namer   r   r   )r   r   r$   r   r   s        r   _Patchr+   0   sg    OO@@#+++002/ A 1' %%77*			z7G<=	>q	AAr   c                   L    e Zd ZdZdZed        Zedd       Zed        Zd Z	y)ImportzImport 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Import.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GetSchemaPathr6   )r5   r;   s     r   r=   zImport.GetSchemaPathI   s,     $$3$$&(9HN Nr   c                     t        j                         | _        | j                  j                  |d       t	        j
                  || j                  d             y )Nimport)operation_typeTr:   )r
   TargetGrpcProxyArgumentTARGET_GRPC_PROXY_ARGAddArgumentr<   AddImportFlagsr=   )r5   parsers     r   ArgszImport.ArgsO   sJ     % = = ?C))&)Jvs'8'8$'8'GHr   c                 z   t        j                  | j                               }|j                  }| j                  j                  ||j                  t        j                  j                        }t        j                  |j                  xs dd      }	 t        j                  |j                  j                   || j#                               }	 t-        ||      }||k(  ry t        j6                  dj9                  |j;                               d	       |j<                  |_        |j>                  |_        tA        |||      S # t$        j&                  $ r#}t)        j&                  t+        |            d }~ww xY w# t.        j0                  $ r(}	|	j2                  dk7  r|	t5        |||      cY d }	~	S d }	~	ww xY w)
N)default_scope-F)binary)message_typestreamschema_pathi  z,Target Grpc Proxy [{0}] will be overwritten.T)messagecancel_on_no)!r   ComputeApiHolderr2   r   rB   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr   ReadFromFileOrStdinsourcer<   r-   r   r9   r=   r   ValidationErrorcompute_exceptionsstrr   apitools_exceptions	HttpErrorstatus_coder%   PromptContinueformatr*   idfingerprintr+   )
selfargsr   r   r   datar$   etarget_grpc_proxy_olderrors
             r   Runz
Import.RunU   s   **4+<+<+>?F]]F 66HHfm.E.E.L.L I N ))$++*<UKD7%,,66((*,G'0EF  11?GG!&&(* 133$9$E$E!&/1BCC3 )) 7..s1v667 (( G			c	!V.0EFF	Gs6   :E E? E<E77E<?F:F5/F:5F:)F)
__name__
__module____qualname____doc__rB   classmethodr6   r=   rF   rh   r   r   r   r-   r-   :   sO    #  N N
 I I
'Dr   r-   N)!rl   
__future__r   r   r   apitools.base.pyr   r[   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computerY   r	   rS   6googlecloudsdk.command_lib.compute.target_grpc_proxiesr
   !googlecloudsdk.command_lib.exportr   r<   googlecloudsdk.corer   googlecloudsdk.core.consoler   r   r%   r+   ReleaseTracksr2   r3   UpdateCommandr-   r   r   r   <module>ry      s     &  ' > 7 ( O E H A . 2@CB D%%++,ADT AD -ADr   