
    
                     ,   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  \R                  " \R                   R"                  \R                   R$                  5      \R&                   " S
 S\R(                  5      5       5       rg)z7Implementation of gcloud dataflow jobs archive command.    )absolute_import)division)unicode_literals)apis)base)	job_utils)log)
console_ioc                   .    \ rS rSrSr\S 5       rS rSrg)Archive   a#  Archives a job.

Archives a single job. The job must be in a terminal state, otherwise the
request will be rejected.

This command will require confirmation to run.

## EXAMPLES

To archive job `2025-03-15_14_23_56-1234567890123456`, run:

  $ {command} 2025-03-15_14_23_56-1234567890123456
c                 0    [         R                  " U 5        g )N)r   ArgsForJobRef)parsers    $lib/surface/dataflow/jobs/archive.pyArgsArchive.Args-   s    F#    c                    [         R                  " U5      nUR                  n[        R                  " SR                  U5      SS9  [        R                  " 5       nUR                  UR                  UR                  R                  UR                  R                  R                  SSS9/S9S9S	9nUR                  UR                  UR                  UR                  US
S9n[        R                  R!                  5       R#                  U5      n[$        R&                  R)                  SR                  U5      5        U$ )zyRuns the command.

Args:
  args: The arguments that were provided to this command invocation.

Returns:
  A Job message.
zJob [{}] will be archived.T)messagecancel_on_noarchivedtrue)keyvalue)additionalProperties)userDisplayProperties)jobMetadataz-job_metadata.user_display_properties.archived)jobIdlocation	projectIdjob
updateMaskzArchived job [{}].)r   ExtractJobRefr   r
   PromptContinueformatr   GetMessagesModuleJobJobMetadataUserDisplayPropertiesValueAdditionalProperty*DataflowProjectsLocationsJobsUpdateRequestr    r!   Jobs
GetServiceUpdater	   statusPrint)selfargsjob_refjob_idmessagesr"   requestresults           r   RunArchive.Run1   s.    %%d+G]]F,33F;$ %%'H
,,(("*"6"6"Q"Q((CCVV&f W & #R # ) 
  
C AAmm!!##B B G YY!!#**73FJJ)0089Mr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r9   __static_attributes__r;   r   r   r   r      s      $ $'r   r   N)r@   
__future__r   r   r   googlecloudsdk.api_lib.dataflowr   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataflowr   googlecloudsdk.corer	   googlecloudsdk.core.consoler
   ReleaseTracksReleaseTrackGABETADefaultUniverseOnlyCommandr   r;   r   r   <module>rO      su    > &  ' 0 ( 9 # 2 D%%(($*;*;*@*@A:dll :  B:r   