
    _                     h   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  ej(                  ej*                  j,                  ej*                  j.                  ej*                  j0                         G d dej2                               Zy)z9`gcloud certificate-manager maps entries update` command.    )absolute_import)division)unicode_literals)certificate_map_entries)base)flags)resource_args)util)labels_util)
exceptions)log)
console_ioc                   &    e Zd ZdZed        Zd Zy)Updatea.  Update a certificate map entry.

  This command updates existing certificate map entry.

  ## EXAMPLES

  To update a certificate map entry with name simple-entry, run:

    $ {command} simple-entry --map="simple-map" --description="desc"
    --update-labels="key=value" --certificates="simple-cert"
  c                     t        j                  | d       t        j                  |        t	        j
                  | d       t	        j                  |        y )Nz	to update)
entry_verbcertificate map entry)r	   1AddCertificateMapEntryAndCertificatesResourceArgsr   AddUpdateLabelsFlagsr   AddDescriptionFlagToParserAddAsyncFlagToParser)parsers    6lib/surface/certificate_manager/maps/entries/update.pyArgszUpdate.Args/   sB    CC;($$V,	$$V-DE	v&    c                    t        j                         }|j                  j                  j	                         }d }|j                  d      r|j                  }d }|j                  d      rU|j                  j                  j	                         }t        j                  dj                  |j                        dd       d }t        j                  j                  |      }|j                         rY|j!                  |      }|j#                  |j$                  j&                  j(                  |j*                        j-                         }|||t/        j0                  d      |j3                  ||||      }	t5        j6                  |	|j8                        }	t;        j<                  |j?                         d	|j8                         |	S )
Ndescriptioncertificatesz;You are about to overwrite certificates from map entry '{}'T)throw_if_unattendedcancel_on_nozNothing to update.)labelsr   	cert_refs)is_asyncr   ) r   CertificateMapEntryClientCONCEPTSentryParseIsSpecifiedr   r   r   PromptContinueformatcertificateMapEntriesIdr   DiffFromUpdateArgsMayHaveUpdatesGetApplymessagesCertificateMapEntryLabelsValuer!   	GetOrNoner   ErrorPatchr
   WaitForOperationasync_r   UpdatedResourceName)
selfargsclient	entry_refnew_description	new_certslabels_updatelabels_difforig_resourceresponses
             r   Runz
Update.Run7   s   $>>@F##))+IO&((oI'--,,224i
I6)334"	 M""11$7K!!#jj+m!''
//
-
-
9
9


  )	  =#8Y=N122||#	  H
 $$XDH1DKKIOr   N)__name__
__module____qualname____doc__staticmethodr   rE    r   r   r   r       s     
 ' '#r   r   N)rI   
__future__r   r   r   *googlecloudsdk.api_lib.certificate_managerr   googlecloudsdk.callioper   .googlecloudsdk.command_lib.certificate_managerr   r	   r
   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   r   googlecloudsdk.core.consoler   ReleaseTracksReleaseTrackALPHABETAGAUpdateCommandr   rK   r   r   <module>rY      s    @ &  ' N ( @ H ? < * # 2 D%%++T->->-C-C%%((*8T 8*8r   