
    #                         S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr   " S
 S\R                  5      rg)zBase class for Flink Job.    )absolute_import)division)unicode_literalsN)encoding)arg_parsers)base)utilc                   H    \ rS rSrSr\S 5       r\S 5       r\S 5       rSr	g)	FlinkBase   z.Submit a Java or Scala Flink job to a cluster.c                 ~   U R                  SSS9  U R                  S[        R                  " 5       S/ SS9  U R                  S[        R                  S	S
9  U R                  S[        R
                  " 5       SSS9  U R                  S[        R                  S9  U R                  S[        R
                  " 5       SSS9  g)z@Parses command-line arguments specific to submitting Flink jobs.z--savepointzHCFS URI of the savepoint that is used to refer to the state of the previously stopped job. The new job will resume previous state from there.)helpz--jarsJARzLComma-separated list of jar files to provide to the task manager classpaths.)typemetavardefaultr   job_argszThe job arguments to pass.)nargsr   z--propertieszPROPERTY=VALUEzList of key=value pairs to configure Flink. For a list of available properties, see: https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/.)r   r   r   z--properties-filez--driver-log-levelszPACKAGE=LEVELzoList of package to log4j log level pairs to configure driver logging. For example: root=FATAL,com.example=INFO.N)add_argumentr   ArgListargparse	REMAINDERArgDictjob_utilPROPERTIES_FILE_HELP_TEXT)parsers    5lib/googlecloudsdk/command_lib/dataproc/jobs/flink.pyArgsFlinkBase.Args"   s           "'  	   )  
   " \  	 ("D"D     "A      c                 4    U R                   U R                  S.$ )z=Returns a dict of files by their type (main_jar, jars, etc.).main_jarjarsr"   )argss    r   GetFilesByTypeFlinkBase.GetFilesByTypeS   s     tyy99r    c           	      R   U R                  UR                  =(       d    / UR                  US   US   UUR                  S9n[        R
                  " UR                  UR                  5      nU(       a.  [        R                  " X`R                   R                  SS9Ul        XQl        g)z/Populates the flinkJob member of the given job.r#   r$   )r%   	mainClassmainJarFileUrijarFileUrisloggingConfigsavepointUriT)
sort_itemsN)FlinkJobr   
main_class	savepointr   BuildJobProperties
propertiesproperties_filer   DictToAdditionalPropertyMessagePropertiesValueflinkJob)messagesjobfiles_by_typelogging_configr%   	flink_jobjob_propertiess          r   ConfigureJobFlinkBase.ConfigureJobX   s     !!]] b//$Z0!&)$^^ " I 00--N %EE
++;;i Lr     N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r&   r>   __static_attributes__r@   r    r   r   r      s@    6. .` : :  r    r   )rE   
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   r@   r    r   <module>rN      s6       &  '  % / E EO   Or    