
                         d    S 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.    )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$   -   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&   9   s#    	  r   c                 F    UR                   R                  5       nXl        U$ N)messages5GoogleCloudDataprocV1WorkflowTemplateEncryptionConfigkmsKey)kms_keydataprocencryption_configs      r   GenerateEncryptionConfigr/   D   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)argsr-   ordered_jobs      r    CreateWorkflowTemplateOrderedJobr8   L   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)r6   r-   r7   templater;   r>   responses          r   AddJobToWorkflowTemplaterE   T   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   ParseCreateArgsr2   LabelsValuelabels)r)   jobr6   s      r   ConfigureOrderedJobrK   e   s%     **
++-#*r   c                 0    [          H  nX;   d  M
  X	 M     g r(   )TEMPLATE_FIELDS)rC   fields     r   FilterrO   l   s    e
/ r   N)__doc__googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr   $googlecloudsdk.command_lib.util.argsr   rM   r   r$   r&   r/   r8   rE   rK   rO    r   r   <module>rU      sF    < 0 5 < HC&	"-r   