
    d
                     8   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  e	j                  e	j                  j                   e	j                  j"                  e	j                  j$                         G d
 de	j&                               Zy)zCommand to create a new folder.    )absolute_import)division)unicode_literals)folders)
operations)base)flags)logc                   &    e Zd ZdZed        Zd Zy)Createa  Create a new folder.

  Creates a new folder in the given parent folder or organization.

  ## EXAMPLES

  The following command creates a folder with the name `abc` into a
  folder with the ID `2345`:

    $ {command} --display-name=abc --folder=2345

  The following command creates a folder with the name `abc` into an
  organization with ID `1234`:

    $ {command} --display-name=abc --organization=1234
  c                    t        j                  |        t        j                         j                  |        t	        j
                  ddd      j                  |        t        j                         j                  |        y )Nz--display-nameTz0Friendly display name to use for the new folder.)requiredhelp)r	   AddParentFlagsToParserOperationAsyncFlagAddToParserr   ArgumentTagsFlag)parsers    .lib/surface/resource_manager/folders/create.pyArgszCreate.Args0   s]    	  (	**62MM? k&	NN  (    c           	          t        j                  |       t        j                         }t        j                  ||j
                  j                        }t        j                         j                  |j                  t        j                  |      |j                  |j                  |                  }|j                  r|S t        j                  |      }t        j                  ||j
                        }t!        j"                  |       |S )N)displayNametags)parentfolder)r	   CheckParentFlagsr   FoldersMessagesGetTagsFromFlagsFolder	TagsValueFoldersServicer   (CloudresourcemanagerFoldersCreateRequestGetParentFromFlagsdisplay_nameasync_r   WaitForOperationExtractOperationResponser
   CreatedResource)selfargsmessagesr   	operationfinished_operationresults          r   Runz
Create.Run;   s    	4 &&(H!!$(A(ABD&&(//99++D1??t/@/@t?L 	: 	
I {{%66yA223E3;??Df	&!mr   N)__name__
__module____qualname____doc__staticmethodr   r1    r   r   r   r      s     " ) )r   r   N)r5   
__future__r   r   r   'googlecloudsdk.api_lib.resource_managerr   r   googlecloudsdk.callioper   +googlecloudsdk.command_lib.resource_managerr	   googlecloudsdk.corer
   ReleaseTracksReleaseTrackALPHABETAGACreateCommandr   r7   r   r   <module>rC      s{    & &  ' ; > ( = # D%%++T->->-C-C%%((*.T .*.r   