
                            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 ddlmZ ddlmZ ddlmZ ej0                   ej2                  ej4                  j6                  ej4                  j8                         G d dej:                                      Zy)z,Command for deleting a worker pool revision.    )absolute_import)division)unicode_literals)apis)base)
exceptions)flags)pretty_print)resource_args)deletion)worker_pools_operations)concept_parsers)presentation_specs)log)
console_ioc                   @    e Zd ZdZdddZed        Zed        Zd Zy)	DeleteDelete a worker pool revision.z"          {description}
          z          To delete a revision `rev1` of a worker pool `worker1` in us-central1:

              $ {command} rev1 --region=us-central1 --workerpool=worker1
          )DESCRIPTIONEXAMPLESc                     t        j                  dt        j                  d      ddd      }t	        j
                  |g      j                  |        t        j                  |        y )NWORKER_POOL_REVISIONT)promptzWorker pool revision to delete.F)requiredprefixes)	r   ResourcePresentationSpecr   #GetV2WorkerPoolRevisionResourceSpecr   ConceptParserAddToParserr	   AddAsyncFlag)parserrevision_presentations     0lib/surface/run/worker_pools/revisions/delete.py
CommonArgszDelete.CommonArgs3   sZ    .GG99F) !!#8"9:FFvN	v    c                 .    t         j                  |        y )N)r   r$   )r!   s    r#   ArgszDelete.Args@   s    
fr%   c                 Z   fd}j                   j                  j                         }t        j                  |       t        j                  dj                  |j                        dd       t        j                  dd|      }t        j                  |      fd	}t        j                  |j                  |j                          j                   r/t#        j$                  d
j                  |j                               yt'        j(                  |j                  d       y)r   c                 p    j                   j                  j                         j                  }|dz   | z   S )N-)CONCEPTSworker_pool_revisionParselocationsId)endpointregionargss     r#   DeriveRegionalEndpointz*Delete.Run.<locals>.DeriveRegionalEndpointG   s0    }}11779EEfc\H$$r%   z&Revision [{revision}] will be deleted.)revisionT)messagethrow_if_unattendedcancel_on_norunv2)address_override_funcc                     j                  |       }|sEt        j                  dj                  | j                  | j
                  | j                              y )NzXCannot find revision [{revision}] under worker pool [{worker_pool}] in region [{region}])r3   worker_poolr0   )DeleteRevisionr   ArgumentErrorformatrevisionsIdworkerPoolsIdr.   )worker_pool_revision_refresponseworker_pools_clients     r#   DeleteWithExistenceCheckz,Delete.Run.<locals>.DeleteWithExistenceCheck[   s^    $334LMh&&44:F1==4BB/;; 5; 5
 	
 r%   zRevision [{}] is being deleted.r3   N)r+   r,   r-   r	   ValidateResourcer   PromptContinuer>   r?   r   GetGapicClientInstancer   WorkerPoolsOperationsr   r   GetRevisionasync_r
   Successr   DeletedResource)selfr1   r2   rA   
run_clientrD   rC   s    `    @r#   Runz
Delete.RunD   s   %  $}}AAGGI	348??-99 @ 
 ! ,,t+AJ 2GG

 OO '' 	 {{
+
2
2&22 
2>>
Kr%   N)	__name__
__module____qualname____doc__detailed_helpstaticmethodr$   r'   rO    r%   r#   r   r   #   sF     '		- 
 
  2Lr%   r   N)rS   
__future__r   r   r   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r	   r
   r   !googlecloudsdk.command_lib.run.v2r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   UniverseCompatibleReleaseTracksReleaseTrackALPHABETACommandr   rV   r%   r#   <module>re      s    3 &  ' , ( 5 0 7 8 6 E D G # 2 D%%++T->->-C-CDQLT\\ QL E QLr%   