
                            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(                  ej*                  j,                         G d dej.                               Zy)z1`gcloud dataplex data-taxonomies update` 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)Updatez Update a Dataplex Data Taxonomy.EXAMPLESa=  
          To update Data Taxonomy `test-taxonomy` in project `test-dataplex` at location `us-central1`,
          with description `updated description` and displayName `displayName`

            $ {command} test-taxonomy --location=us-central1 --project=test-dataplex --description='updated description'

          c                 `   t        j                  | d       | j                  dd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 update.z--descriptionFz!Description of the Data Taxonomy.)requiredhelpz--display-namez"Display Name of the Data Taxonomy.z--etagz(etag value for particular Data Taxonomy.T)mutexr   z--validate-only
store_truez:Validate the update 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/update.pyArgszUpdate.Args/   s    ,,V-9;
0  2 1  3 7  9 "" # K J	  L
 	OO,$$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                         |j                  dj                  |      t        j                   |                  }t#        |dd      }|r t$        j&                  j)                  d       y t#        |dd      }|s.t        j*                  |      }t%        j,                  |d	
       |S t$        j&                  j)                  dj/                  ||j0                               |S )N   zIUpdate commands must specify at least one additional parameter to change.,)namevalidateOnly
updateMask!googleCloudDataplexV1DataTaxonomyvalidate_onlyFzValidation complete.async_zOperation was successful.)detailsz2Updating Data Taxonomy [{0}] with operation [{1}].)r   GenerateUpdateMasklenr   HttpExceptionCONCEPTSParsedataplex_utilGetClientInstance!projects_locations_dataTaxonomiesPatchGetMessageModule3DataplexProjectsLocationsDataTaxonomiesPatchRequestRelativeNamer)   join$GenerateDataTaxonomyForUpdateRequestgetattrr   statusPrintWaitForOperationUpdatedResourceformatr%   )	selfargsupdate_masktaxonomy_refdataplex_clientupdate_req_opr)   r*   responses	            r   Runz
Update.RunJ   sW     2248K
;!$$
U  ==..446L#557O#EEKK&& 	

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