
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r  SSKJr  SS	KJr  SSKJr  S
 r " S S\R$                  5      rg)z)Command for creating target gRPC proxies.    )absolute_import)division)unicode_literals)base_classes)base)scope)flags)target_grpc_proxies_utilsc                      SSSS.$ )NCreate a target gRPC proxy.aU        *{command}* is used to create target gRPC proxies. A target gRPC proxy is
      a component of load balancers intended for load balancing gRPC traffic.
      Global forwarding rules reference a target gRPC proxy. The Target gRPC
      proxy references a URL map which specifies how traffic routes to gRPC
      backend services.
      aO        If there is an already-created URL map with the name URL_MAP, create a
      global target gRPC proxy pointing to this map by running:

        $ {command} PROXY_NAME --url-map=URL_MAP

      To create a proxy with a textual description, run:

        $ {command} PROXY_NAME --url-map=URL_MAP --description="default proxy"
      )briefDESCRIPTIONEXAMPLES r       1lib/surface/compute/target_grpc_proxies/create.py_DetailedHelpr      s     (
	

 r   c                   D    \ rS rSrSrSrSr\" 5       r\	S 5       r
S rSrg)Create7   r   Nc                    [         R                  " 5       U l        U R                  R                  USS9  [        R
                  " SS9U l        U R                  R                  U5        UR                  R                  [         R                  5        UR                  R                  [         R                  5        [         R                  " U5        [         R                  " U5        g )Ncreate)operation_typegRPC)
proxy_type)r	   TargetGrpcProxyArgumentTARGET_GRPC_PROXY_ARGAddArgumenturl_map_flagsUrlMapArgumentForTargetProxyURL_MAP_ARGdisplay_info	AddFormatDEFAULT_LIST_FORMATAddCacheUpdaterTargetGrpcProxiesCompleterAddDescriptionAddValidateForProxyless)clsparsers     r   ArgsCreate.Args>   s     % = = ?C))&)J#@@COOO'
!!%";";<
''(H(HI	 	!!&)r   c                 f   [         R                  " U R                  5       5      nU R                  R	                  XR
                  [        R                  R                  S9n[        R                  " XR                  X2R
                  5      nUR                  nUR                  R                  UR                  UR!                  5       UR#                  5       UR$                  S9nUR                  R'                  UR(                  US9nUR*                  R,                  nUR/                  USU4/5      $ )z)Issue a Target gRPC Proxy Insert request.)default_scope)descriptionnameurlMapvalidateForProxyless)projecttargetGrpcProxyInsert)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr
   ResolveTargetGrpcProxyUrlMapr!   clientmessagesTargetGrpcProxyr/   NameSelfLinkvalidate_for_proxyless%ComputeTargetGrpcProxiesInsertRequestr3   apitools_clienttargetGrpcProxiesMakeRequests)	selfargsholdertarget_grpc_proxy_refurl_map_refr>   target_grpc_proxyrequest
collections	            r   Run
Create.RunL   s   **4+<+<+>?F 66HHm.E.E.L.L I N+HH 57G7GIK ]]F77$$"'')##%!88	 8 :
 ooCC%--) D +G ''99JXw ?@AAr   r   )__name__
__module____qualname____firstlineno____doc__r!   r   r   detailed_helpclassmethodr+   rP   __static_attributes__r   r   r   r   r   7   s/    #+/-* *Br   r   N)rV   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r:   6googlecloudsdk.command_lib.compute.target_grpc_proxiesr	   r
   +googlecloudsdk.command_lib.compute.url_mapsr   r   CreateCommandr   r   r   r   <module>ra      s>    0 &  ' 7 ( E H \ N4'BT 'Br   