
    	                     V   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 Z ej&                  ej(                  j*                  ej(                  j,                  ej(                  j.                         G d dej0                               Zy)z1Cloud Pub/Sub topics detach-subscription command.    )absolute_import)division)unicode_literals)
exceptions)topics)base)resource_args)util)logc           	   #     K   t        j                         }g }| j                  j                  j	                         D ]g  }	 |j                  |      }|j&                  j)                  |j                               }t        j                  |j                         d       | i |rt        j*                  |d      y# t        j                  $ r}t        j                  |      }t        j                  |j                         dt        j                  |j                  j                                |j#                  |j$                         Y d}~d}~ww xY ww)z#Detaches one or more subscriptions.subscription)kindfailedN)name)r   detach)r   TopicsClientCONCEPTSr   ParseDetachSubscriptionapi_ex	HttpErrorr   HttpExceptionr   DetachedResourceRelativeNamer
   CreateFailureErrorMessagepayloadstatus_messageappendsubscriptionsIdmessagesSubscriptionRequestsFailedError)argsclientr   subscription_refresulterrorexcr   s           0lib/surface/pubsub/topics/detach_subscription.py_Runr*      s&     &&--44::<
(()9:f ??//**, 0 .L )668~N
L# =& 

"
"68
44 !  $$U+c	

'
'
)//0J0JK
 mm$445s1   >EC A.E EA=EEEEc                   .    e Zd ZdZddiZed        Zd Zy)r   z1Detaches one or more Cloud Pub/Sub subscriptions.EXAMPLESz`          To detach a Cloud Pub/Sub subscription, run:

              $ {command} mysubscriptionc                 4    t        j                  | dd       y )Nz
to detach.T)plural)r	   AddSubscriptionResourceArg)parsers    r)   ArgszDetachSubscription.ArgsG   s    ,,V\$O    c                     t        |      S )N)r*   )selfr#   s     r)   RunzDetachSubscription.RunK   s    :r2   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr1   r5    r2   r)   r   r   :   s3     : ,- P Pr2   r   N)r9   
__future__r   r   r   apitools.base.pyr   r   googlecloudsdk.api_lib.pubsubr   googlecloudsdk.api_lib.utilgooglecloudsdk.callioper   !googlecloudsdk.command_lib.pubsubr	   r
   googlecloudsdk.corer   r*   ReleaseTracksReleaseTrackALPHABETAGAUpdateCommandr   r<   r2   r)   <module>rJ      s    8 &  ' 1 0 2 ( ; 2 #58 D%%++T->->-C-C%%((*++ *r2   