
    M                         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  e	j                   e	j"                  j$                  e	j"                  j&                        e	j(                   G d	 d
e	j*                                      Zy)z2`gcloud dataplex glossaries terms create` command.    )glossary)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)CreatezCreates a glossary term.

  A glossary term holds a rich text description that can be attached to entries
  or specific columns to enrich them.
  EXAMPLESa  
          To create a glossary term `test-term` in glossary `test-glossary` in project `test-project` in
          location `us-central1`, with description `test description`,
          displayName `displayName` and parent `projects/test-project/locations/us-central1/glossaries/test-glossary/categories/test-category` , run:

            $ {command} test-term --glossary=test-glossary
            --location=us-central1 --project=test-project
            --parent='projects/test-project/locations/us-central1/glossaries/test-glossary/categories/test-category'
            --description='test description' --display-name='displayName'

          c                     t        j                  | d       | j                  ddd       | j                  ddd       | j                  dd	d
       t        j                  |        y )Nz
to create.z--display-nameFz"Display name of the glossary term.)requiredhelpz--descriptionz!Description of the glossary term.z--parentTz.Immediate parent of the created glossary term.)r   AddGlossaryTermResourceArgadd_argumentr   AddCreateLabelsFlags)parsers    /lib/surface/dataplex/glossaries/terms/create.pyArgszCreate.Args1   sz    ,,V\B
1  
 0  
 =  
 $$V,    z-Status code: {status_code}. {status_message}.c           	         |j                   j                  j                         }t        j                         }|j
                  j                  t        j                         j                  |j                         |j                         j                         t        j                  |                  }t        j                  |j                   dj#                  |j$                  |j&                  |j(                               |S )N)termIdparent!googleCloudDataplexV1GlossaryTermzJGlossary term created in project [{0}] in location [{1}] in glossary [{2}])details)CONCEPTSglossary_termParsedataplex_utilGetClientInstance#projects_locations_glossaries_termsr   GetMessageModule5DataplexProjectsLocationsGlossariesTermsCreateRequestNameParentRelativeNamer   $GenerateGlossaryTermForCreateRequestr	   CreatedResourcenameformat
projectsIdlocationsIdglossariesId)selfargsglossary_term_refdataplex_clientcreate_responses        r   Runz
Create.RunE   s     3399;#557O%IIPP&&(^^$))+$++-::<.6.[.[/ 	_ 	
O $f!,,!--!..	
 r   N)
__name__
__module____qualname____doc__detailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptionr3    r   r   r   r      sQ      - - -& 5445r   r   N)r7   googlecloudsdk.api_lib.dataplexr   r   r   googlecloudsdk.api_lib.utilr   r:   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataplexr   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer	   ReleaseTracksReleaseTrackALPHAGADefaultUniverseOnlyCommandr   r<   r   r   <module>rI      sw    9 4 A F ( = < # D%%++T->->-A-ABET\\ E  CEr   