
    ,                     ,   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(                   G d	 d
e	j*                                      Zy)z2`gcloud dataplex glossaries terms update` 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)UpdatezUpdates a glossary term.EXAMPLESa            To update display name, desciption and labels of glossary term
          `test-term` in glossary `test-glossary` in project `test-project`
          in location `us-central1`, run:

          $ {command} test-term --location=us-central1 --project=test-project
          --glossary=test-glossary --description='updated description'
          --display-name='updated displayName' --labels=key1=value1,key2=value2

          To update parent of glossary term `test-term` in glossary
          `test-glossary` in project `test-project` in location `us-central1`, run:

          $ {command} test-term --location=us-central1 --project=test-project
          --glossary=test-glossary --parent='projects/test-project/locations/us-central1/glossaries/updated-glossary'

          c                     t        j                  | d       | j                  ddd       | j                  ddd       | j                  ddd	       t        j                  |        y )
Nz
to update.z--descriptionFz!Description of the glossary term.)requiredhelpz--display-namez"Display name of the glossary term.z--parentz.Immediate parent of the created glossary term.)r   AddGlossaryTermResourceArgadd_argumentr   AddCreateLabelsFlags)parsers    /lib/surface/dataplex/glossaries/terms/update.pyArgszUpdate.Args3   sz    ,,V\B
0  
 1  
 =  
 $$V,    z-Status code: {status_code}. {status_message}.c           	         t        j                  |      }t        |      dk  rt        j                  d      |j
                  j                  j                         }t        j                         }|j                  j                  t        j                         j                  |j                         dj                  |      t        j                   |                  }t#        j$                  |       |S )N   zIUpdate commands must specify at least one additional parameter to change.,)name
updateMask!googleCloudDataplexV1GlossaryTerm)r   GenerateTermUpdateMasklenr   HttpExceptionCONCEPTSglossary_termParsedataplex_utilGetClientInstance#projects_locations_glossaries_termsPatchGetMessageModule4DataplexProjectsLocationsGlossariesTermsPatchRequestRelativeNamejoin$GenerateGlossaryTermForUpdateRequestr	   UpdatedResource)selfargsupdate_maskglossary_term_refdataplex_clientupdate_responses         r   Runz
Update.RunG   s     11$7K
;!$$ 
 3399;#557O%IIOO&&(]]"//1xx,.6.[.[/ 	^ 	
O )*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      sz    9 4 A F ( . = < # D%%++T->->-A-ABBT\\ B  CBr   