
                         x   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	S
.rS r\	R$                  " \	R&                  R(                  \	R&                  R*                  \	R&                  R,                  5      \	R.                   " S S\	R0                  5      5       5       rS rg)zAbandons Cloud Deploy release.    )
exceptions)release)base)release_util)resource_args)
console_ioz{description}z   To abandon a release called `test-release` for delivery pipeline `test-pipeline` in region `us-central1`, run:

  $ {command} test-release --delivery-pipeline=test-pipeline --region=us-central1


)DESCRIPTIONEXAMPLESc                 0    [         R                  " U SSS9  g)zRegister flags for this command.

Args:
  parser: An argparse.ArgumentParser-like object. It is mocked out in order to
    capture some information, but behaves like an ArgumentParser.
T)
positionalrequiredN)r   AddReleaseResourceArgparsers    &lib/surface/deploy/releases/abandon.py_CommonArgsr   *   s     %%fM    c                   p    \ rS rSrSr\r\S 5       r\	R                  " \R                  5      S 5       rSrg)Abandon4   zAbandons a release.

After a release is abandoned, no new rollouts can be created from it.

Rollouts of abandoned releases can't be rolled back to.

Existing rollouts of abandoned releases will be unaffected.
c                     [        U 5        g )N)r   r   s    r   ArgsAbandon.ArgsC   s
    r   c                    UR                   R                  R                  5       n [        R                  " 5       R	                  UR                  5       5      n[        R                  " X#R                  5      n[        U5      n[        R                  " USR!                  UR#                  5       5      SS9  [        R                  " 5       R%                  UR&                  5        [        R(                  R+                  SR!                  UR                  5       5      5        g ! [        R                   a  n[        R                  " U5      eS nAff = f)Nz,Are you sure you want to abandon release {}.T)messageprompt_stringcancel_on_nozAbandoned release {})CONCEPTSr   ParseReleaseClientGetRelativeNameapitools_exceptions	HttpErrorr   HttpExceptionr   ListCurrentDeployedTargetstargetSnapshots_GetAbandonReleaseMessageStringr   PromptContinueformatNamer   namelogPrint)selfargsrelease_refrelease_objerrordeployed_targetsconsole_messages          r   RunAbandon.RunG   s    --''--/K,))+//0H0H0JKk $>>002 66FGODKK 	
 ##K$4$45NN/66  "$ % (( ,$$U++,s   2D! !E5EE N)__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptiondeploy_exceptionsHTTP_ERROR_FORMATr6   __static_attributes__r8   r   r   r   r   4   sH     !-  44))%%r   r   c                     U (       aX  SR                  [        U 5      SR                  U  Vs/ s H"  nSR                  UR                  5       5      PM$     sn5      5      $ g s  snf )Nz/This release is the latest in {} target(s):
{}

z- {})r*   lenjoinr"   )r4   
target_refs     r   r(   r(   ^   sc    >EEtyy.*
.
 MM*1134.*
   
 
	*
s   )A!N)r=   apitools.base.pyr   r#   "googlecloudsdk.api_lib.clouddeployr   googlecloudsdk.api_lib.utilrA   googlecloudsdk.callioper   !googlecloudsdk.command_lib.deployrC   r   r   googlecloudsdk.core.consoler   r>   r   ReleaseTracksReleaseTrackALPHABETAGADefaultUniverseOnlyCreateCommandr   r(   r8   r   r   <module>rX      s    % ? 6 F ( . M : ; 2 			N D%%++T->->-C-C%%((*$%d   $% *$%Nr   