
    O                        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ZdZ ej"                  ej$                  j&                         G d dej(                               Z ej"                  ej$                  j,                  ej$                  j.                         G d dej(                               Zy)z4`gcloud service-directory endpoints update` command.    )absolute_import)division)unicode_literals)	endpoints)base)flags)resource_args)util)logendpointi   c                   .    e Zd ZdZddiZed        Zd Zy)UpdateUpdates an endpoint.EXAMPLESz          To update a Service Directory endpoint, run:

            $ {command} my-endpoint --service=my-service --namespace=my-namespace --location=us-east1 --address=1.2.3.4 --port=5 --annotations=a=b,c=d
          c                     t        j                  | d       t        j                  |        t        j                  |        t        j
                  | t        t               y Nz
to update.)r	   AddEndpointResourceArgr   AddAddressFlagAddPortFlagAddAnnotationsFlag_RESOURCE_TYPE_ENDPOINT_LIMITparsers    1lib/surface/service_directory/endpoints/update.pyArgszUpdate.Args-   s@    ((>	 	f	V^_E    c                 V   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||j                  |j                  |      }t        j                  |j                  t               |S N)r   EndpointsClientCONCEPTSr   Parser
   ParseAnnotationsArgannotationsr   r   addressportr   UpdatedResourceendpointsId)selfargsclientendpoint_refr$   results         r   Runz
Update.Run4   sw    &&(F==))//1L**4+;+;^LK]]<tyy+NF00.AMr   N__name__
__module____qualname____doc__detailed_helpstaticmethodr   r.    r   r   r   r       s1     - F Fr   r   c                   .    e Zd ZdZddiZed        Zd Zy)
UpdateBetar   r   z          To update a Service Directory endpoint, run:

            $ {command} my-endpoint --service=my-service --namespace=my-namespace --location=us-east1 --address=1.2.3.4 --port=5 --metadata=a=b,c=d
          c                     t        j                  | d       t        j                  |        t        j                  |        t        j
                  | t        t               y r   )r	   r   r   r   r   AddMetadataFlagr   r   r   s    r   r   zUpdateBeta.ArgsL   s@    ((>	 	f	&./Br   c                 V   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||j                  |j                  |      }t        j                  |j                  t               |S r   )r   EndpointsClientBetar!   r   r"   r
   ParseMetadataArgmetadatar   r   r%   r&   r   r'   r(   )r)   r*   r+   r,   r>   r-   s         r   r.   zUpdateBeta.RunS   su    **,F==))//1L$$T]]NCH]]<tyy(KF00.AMr   Nr/   r6   r   r   r8   r8   ?   s1     - C Cr   r8   N)r3   
__future__r   r   r   (googlecloudsdk.api_lib.service_directoryr   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.service_directoryr   r	   r
   googlecloudsdk.corer   r   r   ReleaseTracksReleaseTrackGAUpdateCommandr   ALPHABETAr8   r6   r   r   <module>rJ      s    ; &  ' > ( > F = # D%%(()T  *< D%%++T->->-C-CD##  Er   