
    
                         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  G d	 d
e	j                        Zd Zd Zy)z<Wrapper around serverless_operations DeleteFoo for surfaces.    )absolute_import)division)unicode_literals)
exceptions)waiter)	platforms)progress_trackerc                   .    e Zd ZdZd Zd Zd Zd Zd Zy)DeletionPollerz!Polls for deletion of a resource.c                      || _         d| _        y)z%Supply getter as the resource getter.N)_getter_ret)selfgetters     .lib/googlecloudsdk/command_lib/run/deletion.py__init__zDeletionPoller.__init__   s    DLDI    c                 B    |d u xs |j                   j                         S N)
conditionsIsFailedr   objs     r   IsDonezDeletionPoller.IsDone$   s    $;3#..1133r   c                     	 | j                  |      | _        | j                  S # t        j                  $ r d | _        Y | j                  S w xY wr   )r   r   api_exceptionsHttpNotFoundError)r   refs     r   PollzDeletionPoller.Poll'   sK    ,,s#di 99 ++ di99s   $ AAc                     | j                   rb| j                   j                  rL| j                   j                  j                         s(| j                   j                  j                         xs dS y)N )r   r   IsReadyDescriptiveMessage)r   s    r   
GetMessagezDeletionPoller.GetMessage.   sL    		dii**II  ((*YY!!446<"<r   c                     |S r    r   s     r   	GetResultzDeletionPoller.GetResult4   s    Jr   N)	__name__
__module____qualname____doc__r   r   r   r$   r'   r&   r   r   r   r      s    )
4r   r   c                 0   t        |      r	 ||        yt        |      }t        j                  dj	                  | j                               |j                        5   ||        t        j                  ||       }|r|j                         rAt        j                  dj	                  | j                         |j                                     t        j                  dj	                  | j                                     	 ddd       y# 1 sw Y   yxY w)zFDeletes a resource for a surface, including a pretty progress tracker.NzDeleting [{}])messagedetail_message_callbackzFailed to delete [{}]: {}.zFailed to delete [{}].)AsyncOrDefaultr   r	   ProgressTrackerformatNamer$   r   PollUntilDoneserverless_exceptionsDeletionFailedError)r   r   deleterasync_pollerress         r   Deleter:   8   s    FCL
&!&''$$SXXZ0$//1 CL


vs
+C
				#77(//
060A0A0CEF 	F $77$++CHHJ79 	9 1 1 1s   B$DDc                 T    | %t        j                         t         j                  k7  S | S r   )r   GetPlatformPLATFORM_MANAGED)r7   s    r   r/   r/   M   s&    ^  "i&@&@@@	-r   N)r+   
__future__r   r   r   apitools.base.pyr   r   googlecloudsdk.api_lib.utilr   googlecloudsdk.command_lib.runr4   r   googlecloudsdk.core.consoler	   OperationPollerr   r:   r/   r&   r   r   <module>rD      s?    C &  ' 9 . N 4 8V++ 89*r   