
    ]                         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
\R                  5      rg)zBase class for the Trino job.    )absolute_import)division)unicode_literals)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)	TrinoBase   z Submit a Trino job to a cluster.c           
         U R                  SS9nUR                  SSSSS/ SS	9  UR                  S
S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  U R                  SSSS9  U R                  SSS9  U R                  S[        R                  " 5       SSS9  g) z@Parses command line arguments specific to submitting Trino jobs.T)requiredz	--executez-eQUERYqueriesappendzA Trino query to execute.)metavardestactiondefaulthelpz--filez-fz8HCFS URI of file containing the Trino script to execute.)r   z--propertieszPARAM=VALUEz:A list of key value pairs to set Trino session properties.)typer   r   z--properties-filez--driver-log-levelszPACKAGE=LEVELzpA list of package-to-log4j log level pairs to configure driver logging. For example: root=FATAL,com.example=INFOz--continue-on-failure
store_truez%Whether to continue if a query fails.)r   r   z--query-output-formatzZThe query output display format. See the Trino documentation for supported output formats.z--client-tags
CLIENT_TAGz4A list of Trino client tags to attach to this query.N)add_mutually_exclusive_groupadd_argumentr   ArgDictjob_utilPROPERTIES_FILE_HELP_TEXTArgList)parserdrivers     5lib/googlecloudsdk/command_lib/dataproc/jobs/trino.pyArgsTrinoBase.Args   s>    00$0?F
(  * G  I   "I	  K
 //  1   "B	  D 4  6 .  0   "C	  E    c                     SU R                   0$ )Nfile)r'   )argss    r"   GetFilesByTypeTrinoBase.GetFilesByTypeK   s    DIIr%   c                    U R                  UR                  US   US9nUR                  (       a  U R                  UR                  S9Ul        UR
                  (       a  UR
                  Ul        UR                  (       a  UR                  Ul        [        R                  " UR                  UR                  5      nU(       a.  [        R                  " X`R                   R                  SS9Ul        XQl        g)z/Populates the trinoJob member of the given job.r'   )continueOnFailurequeryFileUriloggingConfig)r   T)
sort_itemsN)TrinoJobcontinue_on_failurer   	QueryList	queryListquery_output_formatoutputFormatclient_tags
clientTagsr   BuildJobProperties
propertiesproperties_filer   DictToAdditionalPropertyMessagePropertiesValuetrinoJob)messagesjobfiles_by_typelogging_configr(   	trino_jobjob_propertiess          r"   ConfigureJobTrinoBase.ConfigureJobO   s     !!22"6*$ " &I
 ||$..t||.Di#77i!--i00--/N%EE
++;;Ni Lr%    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr#   r)   rD   __static_attributes__rF   r%   r"   r   r      sB    ()E )EV    r%   r   N)rK   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   rF   r%   r"   <module>rT      s3    $ &  ' % / E EJ   Jr%   