
                         l   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dZ ej"                  ej$                  j&                  ej$                  j(                  ej$                  j*                        ej,                   G d dej.                                      Zy)zRejects a Cloud Deploy rollout.    )rollout)
exceptions)base)delivery_pipeline_util)deploy_policy_util)flags)resource_args)
console_ioz{description}z     To reject a rollout 'test-rollout' for delivery pipeline 'test-pipeline', release 'test-release' in region 'us-central1', run:

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

)DESCRIPTIONEXAMPLESc                   h    e Zd ZdZeZed        Z ej                  e
j                        d        Zy)Rejectz9Rejects a rollout having an Approval state of "Required".c                 \    t        j                  | d       t        j                  |        y )NT)
positional)r	   AddRolloutResourceArgr   AddOverrideDeployPolicies)parsers    %lib/surface/deploy/rollouts/reject.pyArgszReject.Args0   s     ''4@	##F+    c                 D   |j                   j                  j                         }|j                         j                         }t	        j
                  |j                               }dj                  |j                               }t	        j                  ||       t        j                  dj                  |j                               d       t        j                  ||j                        }t        j                         j                  |j                         d|      S )NzCannot reject rollout {}.zRejecting rollout {}.
T)messagecancel_on_noF)CONCEPTSr   ParseParentr   GetPipelineRelativeNameformatThrowIfPipelineSuspendedr
   PromptContinuer   CreateDeployPolicyNamesFromIDsoverride_deploy_policiesRolloutClientApprove)selfargsrollout_refpipeline_refpipeline_objfailed_activity_msgpoliciess          r   Runz
Reject.Run5   s     --''--/K%%'..0L)55!!#%L5<<  "$33L4GI )001I1I1KL
 "@@d33H   "**  "E8 r   N)__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptiondeploy_exceptionsHTTP_ERROR_FORMATr-    r   r   r   r   )   sJ     B -, , 544))r   r   N)r1   "googlecloudsdk.api_lib.clouddeployr   googlecloudsdk.api_lib.utilr   r5   googlecloudsdk.callioper   !googlecloudsdk.command_lib.deployr   r   r7   r   r	   googlecloudsdk.core.consoler
   r2   ReleaseTracksReleaseTrackALPHABETAGADefaultUniverseOnlyCreateCommandr   r9   r   r   <module>rF      s    & 7 F ( D @ M 3 ; 2 			
 D%%++T->->-C-C%%((*!T ! *!r   