Ë
    €Ïð  ã                   óJ  — 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                  ej                   j"                  ej                   j$                  ej                   j&                  «       G d	„ d
ej(                  «      «       «       Zy)z)`gcloud dataplex entries update` command.é    )Úentry)Ú
exceptions)Úbase)Úparser_arguments)Úparser_extensions)Úflags)Úresource_argsc                   óŽ   — e Zd ZdZdddœZedej                  fd„«       Z e	j                  d«      dej                  fd	„«       Zy
)ÚUpdatezUpdate a Dataplex Entry.z2Update specified fields in a given Dataplex Entry.a>            To update fully qualified name (FQN) of an entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --fully-qualified-name='custom:a.b.c'

          To update description of an entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --entry-source-description='Updated description' --entry-source-update-time='1998-09-04T12:00:00-0700'

          To clear the description of an entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --clear-entry-source-description --entry-source-update-time='1998-09-04T12:00:00-0700'

          To add or update aspects from the YAML/JSON file, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --update-aspects=path-to-a-file-with-aspects.json

          To remove all aspects of type `test-project.us-central1.some-aspect-type` from the entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --remove-aspects='test-project.us-central1.some-aspect-type@*'

          To remove all aspects on path `Schema.column1` from the entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --remove-aspects='*@Schema.column1'

          To remove exact aspects `test-project.us-central1.some-aspect-type@Schema.column1` and `test-project.us-central1.some-aspect-type2@Schema.column2` from the entry, run:

            $ {command} entry1 --project=test-project --location=us-central1 --entry-group entry-group1 --remove-aspects=test-project.us-central1.some-aspect-type@Schema.column1,test-project.us-central2.some-aspect-type@Schema.column2

          )ÚDESCRIPTIONÚEXAMPLESÚparserc                 óô   — t        j                  | «       | j                  «       }|j                  dd¬«       |j                  ddd¬«       t	        j
                  | d¬	«       t	        j                  | «       y )
Nz--fully-qualified-namezFFQN, a name for the entry that can reference it in an external system.)Úhelpz--clear-fully-qualified-nameÚ
store_truezClear the FQN for the Entry.)Úactionr   T)Ú
for_update)r	   ÚAddEntryResourceArgÚadd_mutually_exclusive_groupÚadd_argumentr   ÚAddEntrySourceArgsÚAddAspectFlags)r   Úfully_qualified_names     ú&lib/surface/dataplex/entries/update.pyÚArgszUpdate.ArgsC   sx   € ä×%Ñ% fÔ-à!×>Ñ>Ó@ÐØ×%Ñ%Ø ðð &ô ð ×%Ñ%Ø&ØØ+ð &ô ô 
×Ñ˜V°Õ5Ü	×Ñ˜Õ ó    z-Status code: {status_code}. {status_message}.Úargsc                 ó,   — t        j                  |«      S )N)Ú	entry_apir   )Úselfr   s     r   ÚRunz
Update.RunX   s   € ô ×Ñ˜DÓ!Ð!r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Údetailed_helpÚstaticmethodr   ÚArgumentInterceptorr   Úgcloud_exceptionÚ CatchHTTPErrorRaiseHTTPExceptionr   Ú	Namespacer!   © r   r   r   r      so   „ ñ
 !ð Jðñ €-ðD ð!Ð#×7Ñ7ò !ó ð!ð( 5Ð×4Ñ4Ø5óð"Ð'×1Ñ1ò "óñ"r   r   N)r%   Úgooglecloudsdk.api_lib.dataplexr   r   Úgooglecloudsdk.api_lib.utilr   r)   Úgooglecloudsdk.callioper   r   r   Ú#googlecloudsdk.command_lib.dataplexr   r	   ÚDefaultUniverseOnlyÚReleaseTracksÚReleaseTrackÚALPHAÚBETAÚGAÚUpdateCommandr   r,   r   r   Ú<module>r8      s†   ðñ 0å >Ý FÝ (Ý 4Ý 5Ý 5Ý =ð ×ÑØ€×ÑØ×Ñ×Ñ˜T×.Ñ.×3Ñ3°T×5FÑ5F×5IÑ5Ióô>"ˆT×Ñó >"óó ñ>"r   