
                         \   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SKJr  SSKJr  \R$                  " \R&                  R(                  \R&                  R*                  \R&                  R,                  5       " S S\R.                  5      5       rg)z9`gcloud certificate-manager certificates update` command.    )absolute_import)division)unicode_literals)certificates)base)flags)resource_args)util)labels_util)
exceptions)logc                   .    \ rS rSrSr\S 5       rS rSrg)Update   a  Update a certificate.

This command updates existing certificate.

## EXAMPLES

To update a certificate with name simple-cert, run:

  $ {command} simple-cert --description="desc" --update-labels="key=value"
      --certificate-file=cert.pem --private-key-file=key.pem
c                     [         R                  " U S5        [        R                  " U 5        [        R
                  " U S5        [        R                  " U SS9  [        R                  " U 5        g )Nz	to updatecertificateF)is_required)r	   AddCertificateResourceArgr   AddUpdateLabelsFlagsr   AddDescriptionFlagToParser*AddSelfManagedCertificateDataFlagsToParserAddAsyncFlagToParser)parsers    6lib/surface/certificate_manager/certificates/update.pyArgsUpdate.Args.   sN    ++FK@$$V,	$$V];	44VO	v&    c                    [         R                  " 5       nUR                  R                  R	                  5       nS nUR                  S5      (       ab  UR                  S5      (       aL  UR                  R                  UR                  R                  S5      UR                  R                  S5      S9nS nUR                  S5      (       a  UR                  nS n[        R                  R                  U5      nUR                  5       (       aY  UR!                  U5      nUR#                  UR                  R$                  R&                  UR(                  5      R+                  5       nUc  Uc  Uc  [,        R.                  " S5      eUR1                  UUUUS9n	[2        R4                  " XR6                  S9n	[8        R:                  " UR=                  5       S	UR6                  S9  U	$ )
Ncertificate_fileprivate_key_filezutf-8)pemCertificatepemPrivateKeydescriptionzNothing to update.)self_managed_cert_datalabelsr#   )is_asyncr   )r   CertificateClientCONCEPTSr   ParseIsSpecifiedmessagesSelfManagedCertificater   encoder    r#   r   DiffFromUpdateArgsMayHaveUpdatesGetApplyCertificateLabelsValuer%   	GetOrNoner   ErrorPatchr
   WaitForOperationasync_r   UpdatedResourceName)
selfargsclientcert_refnew_self_managed_cert_datanew_descriptionlabels_updatelabels_difforig_resourceresponses
             r   Run
Update.Run9   s   ++-F}}((..0H!% *++0@0@1 1#)??#I#I..55g>--44W= $J $ 
 O&&((oM""11$7K!!##jj*m!''(C(C(O(O(5(<(<>>Gik  =#8=W=_122||9#	  %H
 $$XDHMOr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rF   __static_attributes__rH   r   r   r   r      s     
 ' '#r   r   N)rM   
__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   ReleaseTracksReleaseTrackALPHABETAGAUpdateCommandr   rH   r   r   <module>r\      s    @ &  ' C ( @ H ? < * # D%%++T->->-C-C%%((*;T ;*;r   