
    H                         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  ej(                  ej*                  j,                         G d dej.                               Zy)z1`gcloud dataplex data-taxonomies create` command.    )absolute_import)division)unicode_literals)data_taxonomy)util)
exceptions)base)resource_args)labels_util)logc                   X    e Zd ZdZddiZed        Z ej                  d      d        Z	y)CreatezpCreate a Dataplex Data Taxonomy.

     A Data Taxonomy represents a logical group of related Data Attributes.
  EXAMPLESa[  
          To create Data Taxonomy `test-taxonomy` in project `test-dataplex` at location `us-central1`,
          with description `test description` and displayName `displayName` , run:

            $ {command} test-taxonomy --location=us-central1 --project=test-dataplex --description='test description' --display-name='displayName'

          c                 8   t        j                  | d       | j                  ddd       | j                  ddd       | j                  dd	      }|j                  d
ddd       t        j
                  j                  |       t        j                  |        y )Nz
to create.z--descriptionFz!Description of the Data Taxonomy.)requiredhelpz--display-namez"Display Name of the Data Taxonomy.T)mutexr   z--validate-only
store_truez:Validate the create action, but don't actually perform it.)actiondefaultr   )	r
   AddDataTaxonomyResourceArgadd_argument	add_groupr	   
ASYNC_FLAGAddToParserr   AddCreateLabelsFlags)parserasync_groups     .lib/surface/dataplex/data_taxonomies/create.pyArgszCreate.Args1   s    ,,V-9;
0  2 1  3 "" # K J	  L
 	OO,$$V,    z-Status code: {status_code}. {status_message}.c           
      *   |j                   j                  j                         }t        j                         }|j
                  j                  t        j                         j                  |j                         |j                         j                         |j                  t        j                  |                  }t        |dd      }|r t        j                   j#                  d       y t        |dd      }|s\t        j$                  |      }t        j&                  |j(                  dj+                  |j,                  |j.                               |S t        j                   j#                  dj+                  ||j(                               |S )	N)dataTaxonomyIdparentvalidateOnly!googleCloudDataplexV1DataTaxonomyvalidate_onlyFzValidation complete.async_z:Data Taxonomy created in project [{0}] with location [{1}])detailsz2Creating Data Taxonomy [{0}] with operation [{1}].)CONCEPTSr   Parsedataplex_utilGetClientInstance!projects_locations_dataTaxonomiesr   GetMessageModule4DataplexProjectsLocationsDataTaxonomiesCreateRequestNameParentRelativeNamer'   $GenerateDataTaxonomyForCreateRequestgetattrr   statusPrintWaitForOperationCreatedResourcenameformat
projectsIdlocationsId)selfargstaxonomy_refdataplex_clientcreate_req_opr'   r(   responses           r   Runz
Create.RunH   sO    ==..446L#557O#EELL&& 	

>
>',,.&&(557++.;11$/8	 ? 9:M D/59M	jj-.T8U+F//>h	
--N6,))**,-
 oJJ<CC-,,	./ r!   N)
__name__
__module____qualname____doc__detailed_helpstaticmethodr    gcloud_exception CatchHTTPErrorRaiseHTTPExceptionrD    r!   r   r   r      sQ     
- - -, 544577r!   r   N)rH   
__future__r   r   r   googlecloudsdk.api_lib.dataplexr   r   r,   googlecloudsdk.api_lib.utilr   rK   googlecloudsdk.callioper	   #googlecloudsdk.command_lib.dataplexr
   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   ReleaseTracksReleaseTrackALPHACommandr   rM   r!   r   <module>rY      sc    8 &  ' 9 A F ( = < # D%%++,IT\\ I -Ir!   