
    	                         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 ej                    G d dej"                               Zy)z7Implementation of command for deleting managed folders.    )absolute_import)division)unicode_literals)base)errors_util)flags)folder_util)name_expansion)rm_command_util)storage_url)task_graph_executorc                   0    e Zd ZdZdddZed        Zd Zy)DeletezDelete managed folders.z
      The following command deletes a managed folder named `folder` in a bucket
      called `my-bucket`:

        $ {command} gs://my-bucket/folder/
      )DESCRIPTIONEXAMPLESc                     | j                  dt        dd       t        j                  |        t        j                  |        y )Nurl+z*The URLs of the managed folders to delete.)typenargshelp)add_argumentstrr   add_additional_headers_flagadd_continue_on_error_flag)parsers    -lib/surface/storage/managed_folders/delete.pyArgszDelete.Args-   s?    
9	   
%%f-	$$V,    c                 x   |j                   D ]7  }t        j                  |      }t        j                  |j
                  |       9 t        j                  |j                   t        j                  j                  d      }t        j                  ||t        j                  j                         d      | _        y )NT)managed_folder_settingraise_error_for_unmatched_urls)task_status_queuer"   )r   r   storage_url_from_stringr   "raise_error_if_not_gcs_folder_typecommand_pathr
   NameExpansionIteratorr	   ManagedFolderSettingLIST_WITHOUT_OBJECTSr   remove_managed_foldersr   multiprocessing_contextQueue	exit_code)selfargs
url_stringr   !managed_folder_expansion_iterators        r   Runz
Delete.Run8   s    hh
//
;c44T5F5FL  )7(L(L*??TT'+)%
 %;;)-EEKKM'+	DNr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r2    r   r   r   r      s/     3
- - -r   r   N)r6   
__future__r   r   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.storager   r   r	   r
   r   r   (googlecloudsdk.command_lib.storage.tasksr   UniverseCompatibleCommandr   r9   r   r   <module>r@      sP    > &  ' ( : 4 : = > : H 'T\\ ' 'r   