
                             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QrS	 rS
 rS rS rS rS rS rS rg)z5Utilities for dataproc workflow template add-job CLI.    )absolute_import)division)unicode_literals)arg_parsers)flags)labels_util)idnameversion
createTime
updateTimec           	          [         R                  " U 5        [        R                  " U SUSS9  U R	                  SS[
        SS9  U R	                  SS	[        R                  " [
        S
S9SS9  g)z Register flags for this command.z
add job toF)
positionalz	--step-idTz0The step ID of the job in the workflow template.)requiredtypehelpz--start-afterSTEP_ID   )element_type
min_lengthz4(Optional) List of step IDs to start this job after.)metavarr   r   N)r   AddCreateLabelsFlagsr   AddTemplateResourceArgadd_argumentstrr   ArgList)parserapi_versions     =lib/googlecloudsdk/command_lib/dataproc/workflow_templates.pyAddWorkflowTemplatesArgsr       sw    ""6*lKE; 	=	  ? 	CA>A	  C    c                 N    U R                  S[        R                  " 5       USS9  g )Nz--dag-timeoutz          The duration for which a DAG of jobs can run before being
          auto-cancelled, such as "10m" or "16h".
          See $ gcloud topic datetimes for information on duration formats.
          r   r   r   )r   r   Durationr   is_requireds     r   AddDagTimeoutFlagr'   0   s,    !	  r!   c                 0    U R                  S[        USS9  g )Nz	--kms-keyzY          The KMS key used to encrypt sensitive data in the workflow template.
          r#   )r   r   r%   s     r   AddKmsKeyFlagr)   <   s#    	  r!   c                 F    UR                   R                  5       nXl        U$ N)messages5GoogleCloudDataprocV1WorkflowTemplateEncryptionConfigkmsKey)kms_keydataprocencryption_configs      r   GenerateEncryptionConfigr2   G   s'    MMO  %	r!   c                     UR                   R                  U R                  S9nU R                  (       a  U R                  Ul        U$ )z,Create an ordered job for workflow template.)stepId)r,   
OrderedJobstep_idstart_afterprerequisiteStepIds)argsr0   ordered_jobs      r    CreateWorkflowTemplateOrderedJobr;   O   s<    !!,,DLL,A+	&*&6&6K#	r!   c                 2   U R                   R                  R                  5       nUR                  X0R                  5      nUR
                  b  UR
                  O/ nUR                  U5        XTl        UR                  R                  R                  U5      nU$ )z,Add an ordered job to the workflow template.)
CONCEPTSworkflow_templateParseGetRegionsWorkflowTemplater   jobsappendclient"projects_regions_workflowTemplatesUpdate)r9   r0   r:   templater>   rA   responses          r   AddJobToWorkflowTemplaterH   W   s    ]],,224(99 $5#9#9#E			2$++k__??FF(	/r!   c                 b    [         R                  " X R                  R                  5      Ul        g)z3Add type-specific job configuration to job message.N)r   ParseCreateArgsr5   LabelsValuelabels)r,   jobr9   s      r   ConfigureOrderedJobrN   h   s%     **
++-#*r!   c                 0    [          H  nX;   d  M
  X	 M     g r+   )TEMPLATE_FIELDS)rF   fields     r   FilterrR   o   s    e
/ r!   N)__doc__
__future__r   r   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr   $googlecloudsdk.command_lib.util.argsr   rP   r    r'   r)   r2   r;   rH   rN   rR    r!   r   <module>rY      sM    < &  ' / 5 < HC&	"-r!   