
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SS	KJr  S
 r\
R                   " S S\
R                   5      5       rg)z Command to update transfer jobs.    )absolute_import)division)unicode_literals)	jobs_util)apis)base)jobs_apitools_util)jobs_flag_utilc                    U R                   (       a  SUl        U R                  (       a  [        UR                  SS5      (       a6  SUR                  R
                  l        SUR                  R
                  l        [        UR                  SS5      (       a  SUR                  R                  l	        U R                  (       a#  UR                  (       a  [        S5      eSUl        U R                  (       a  SUl        U R                   (       a  SUR                  l        U R$                  (       a  SUR                  l        U R(                  (       a  SUR                  l        U R,                  (       a  SUR                  l        [        UR                  SS5      (       a-  [        U SS5      (       a  SUR                  R
                  l        Su  p4UR                  (       a/  [        UR                  SS5      n[        UR                  SS5      nO?UR                  (       a.  [        UR                  SS5      n[        UR                  SS5      nU(       a  U R2                  (       a  / Ul        U R6                  (       a  / Ul        U R:                  (       a  SUl        U R>                  (       a  SUl         U RB                  (       a  SUl"        U RF                  (       a  SUl$        X1RK                  5       :X  a4  UR                  (       a  SUR                  l&        OSUR                  l&        U(       Ga=  U RN                  (       a  SUl(        SUl)        U RN                  (       a  SUl(        SUl)        URT                  (       a  URT                  nUnU RV                  (       aO  URY                  5       nURZ                  URX                  R\                  R^                  :w  a  URZ                  Ul-        U R`                  (       a  SUl-        XaRY                  5       :X  a  SUl*        OXdl*        XARc                  5       :X  a4  UR                  (       a  SUR                  l2        OSUR                  l2        U Rf                  (       a  SUl4        U Rj                  (       a  / URh                  l6        U Rn                  (       a  SUl8        [        UR                  S	S5      (       Ga  U Rr                  (       a  SUR                  Rt                  l;        U Rx                  (       a  SUR                  Rt                  l=        [        UR                  Rt                  S
S5      nU(       a`  U R|                  (       a  SUl?        U R                  (       a  SUlA        U R                  (       a  SUlC        U R                  (       a  SUlE        XqR                  5       :X  a  SUR                  Rt                  lG        ggg)z5Removes fields from TransferJob based on clear flags.NawsS3DataSourceazureBlobStorageDataSourcez.Cannot clear event stream for replication job.clear_s3_cloudfront_domain)NNobjectConditionstransferOptionsawsS3CompatibleDataSource
s3Metadata)Hclear_descriptiondescriptionclear_source_creds_filegetattrtransferSpecr   awsAccessKeyroleArnr   azureCredentialsclear_event_streamreplicationSpec
ValueErroreventStreamclear_schedulescheduleclear_source_agent_poolsourceAgentPoolNameclear_destination_agent_poolsinkAgentPoolNameclear_intermediate_storage_pathgcsIntermediateDataLocationclear_manifest_filetransferManifestcloudfrontDomainclear_include_prefixesincludePrefixesclear_exclude_prefixesexcludePrefixes&clear_include_modified_before_absolutelastModifiedBefore%clear_include_modified_after_absolutelastModifiedSince&clear_include_modified_before_relative#minTimeElapsedSinceLastModification%clear_include_modified_after_relative#maxTimeElapsedSinceLastModificationObjectConditionsr   clear_delete_from$deleteObjectsFromSourceAfterTransferdeleteObjectsUniqueInSinkmetadataOptionsclear_preserve_metadataMetadataOptionsstorageClassStorageClassValueValuesEnumSTORAGE_CLASS_PRESERVEclear_custom_storage_classTransferOptionsr   clear_notification_confignotificationConfigclear_notification_event_types
eventTypesclear_log_configloggingConfigclear_source_endpointr   endpointclear_source_signing_regionregionclear_source_auth_method
authMethodclear_source_list_apilistApiclear_source_network_protocolprotocolclear_source_request_modelrequestModelS3CompatibleMetadatar   )argsmessagesjobobject_conditionstransfer_optionsexisting_metadata_optionsnew_metadata_optionss3_compatible_metadatas           #lib/surface/transfer/jobs/update.py_clear_fieldsr^      s   	CO	!!s!2D996:c&&315c&&.s!=tDDEIc11B	
GHHCO	CL	!!+/C(	&&)-C&	))37C0	(,C%S0$77t1488:>c&&7(2% 0 02DdKs//1BDI
 3 35GNs224EtL""*,'""*,'22-1*11,0)22>B;11>B;5577			,0)/3,>B;370>B;370''"2"B"B6		%	%'779%22h6N6N(()?)?@ (44 
+ 
	(	(,0)	!9!9!;	;+/(+?(3355			+/(.2+	##!C	(((*C%	CS:DAA!!<@c009'':>c007$S%5%5%O%O%149		&	&,0)		#	#)-&		+	+*.'		(	(.2+!>!>!@@>Bc00; A% B    c                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g	)
Update   z'Update a Transfer Service transfer job.z4      Update a Transfer Service transfer job.
      a        To disable transfer job 'foo', run:

        $ {command} foo --status=disabled

      To remove the schedule for transfer job 'foo' so that it will only run
      when you manually start it, run:

        $ {command} foo --clear-schedule

      To clear the values from the `include=prefixes` object condition in
      transfer job 'foo', run:

        $ {command} foo --clear-include-prefixes
      )DESCRIPTIONEXAMPLESc                 L    [         R                  " USU R                  5       S9  g )NT)	is_updaterelease_track)r
   setup_parserReleaseTrack)clsparsers     r]   ArgsUpdate.Args   s     $c.>.>.@r_   c                    [         R                  " SS5      n[         R                  " SS5      n[        R                  " UR
                  5      n[        XU5        UR                  R                  [        R                  " XUS95      $ )Ntransferv1)existing_job)r   GetClientInstanceGetMessagesModuler   api_getnamer^   transferJobsPatchr	   generate_transfer_job_message)selfrU   clientrV   rq   s        r]   Run
Update.Run   sp    ##J5F%%j$7H$$TYY/L$,/$$88	78 8r_    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodrl   r{   __static_attributes__r}   r_   r]   ra   ra      s/    /


-.  
	8r_   ra   N)r   
__future__r   r   r   googlecloudsdk.api_lib.transferr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   #googlecloudsdk.command_lib.transferr	   r
   r^   UniverseCompatibleCommandra   r}   r_   r]   <module>r      sO    ' &  ' 5 , ( B >xCv *8T\\ *8 *8r_   