
                         n   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ dd	lmZ dd
lmZ ddlmZ ddlmZ ej$                   ej&                  ej(                  j*                  ej(                  j,                        ej.                   G d dej0                                             Zy)Run a Workflow.    )absolute_import)division)unicode_literals)client_util)waiter)arg_parsers)base)	run_flags)log)
properties)	resourcesc                   &    e Zd ZdZed        Zd Zy)Creater   c                     | j                  dd       | j                  ddt        j                         d       t        j                  |        y)	zRegister flags for this command.

    Args:
      parser: An argparse.ArgumentParser-like object. It is mocked out in order
        to capture some information, but behaves like an ArgumentParser.
    WORKFLOW_IDzThe ID of the Workflow.)helpz--paramsz	KEY=VALUEzParams to run Workflow with.)metavartyper   N)add_argumentr	   ArgDictr   AddsRegionResourceArg)parsers    #lib/surface/builds/workflows/run.pyArgszCreate.Args%   sP     ,EF
  "+	  -
 ##F+    c           	         t        j                         }t        j                         }|j                  j                  j                         }|j                         }|d|j                  }|j                         }|j                  ryg }|j                  j                         D ]S  \  }	}
|j                  |	|j                  |j                  j                  d      |
            }|j                  |       U ||_	        |j                  j!                  |j#                  ||            }|j$                  }t&        j(                  j+                  |d      }t-        j.                  t-        j0                  |j                  |j2                        |dj5                  |             |j2                  j7                  |j9                  |	            }d
}|j:                  j<                  D ](  }|j>                  dk(  s|j@                  jB                  }* tD        jF                  jI                  dj5                  |jK                         |tL        jN                  jP                  jR                  j7                  d                   |S )z9This is what gets called when the user runs this command.z/workflows/STRING)r   	stringVal)namevalue)r    runWorkflowRequestz(cloudbuild.projects.locations.operations)
collectionzRunning workflow {})r     pipelineRunIdz\View run: https://console.cloud.google.com/cloud-build/runs/{region}/{run}?project={project}T)required)regionrunproject)*r   GetClientInstanceGetMessagesModuleCONCEPTSr'   ParseRelativeNamer   RunWorkflowRequestparamsitemsParam
ParamValueTypeValueValuesEnumappendprojects_locations_workflowsRun.CloudbuildProjectsLocationsWorkflowsRunRequestr    r   REGISTRYParseRelativeNamer   WaitForCloudOperationPollerprojects_locations_operationsformatGet/CloudbuildProjectsLocationsOperationsGetRequestmetadataadditionalPropertieskeyr!   string_valuer   statusPrintNamer   VALUEScorer)   )selfargsclientmessages
region_refparentworkflow_namerun_workflow_reqr0   rC   r!   paramrun_workflow_operationrun_workflow_operation_namerun_workflow_operation_refrun_workflow_operation_donepipeline_run_idadditional_propertys                     r   r7   z
Create.Run5   sX   **,F,,.H%%++-J$$&F)/1A1ABM224 {{f))+*#u%%((<<XF &    	e , !' $@@DD??/ 	@ 	

 #9"="=!*!3!3!E!E#= "F "? NN##F$G$G$*$H$H	J"$9$@$@$OQ #)"F"F"J"J@@, 	A 	.#/
 O:CCXX		 	 O	3-33@@  Y
 JJ	^	??$%%**22666E 
 

 '&r   N)__name__
__module____qualname____doc__staticmethodr   r7    r   r   r   r      s     , ,@'r   r   N)r\   
__future__r   r   r   $googlecloudsdk.api_lib.cloudbuild.v2r   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   r
   %googlecloudsdk.command_lib.cloudbuildr   googlecloudsdk.corer   r   r   HiddenReleaseTracksReleaseTrackALPHABETAUniverseCompatibleCreateCommandr   r^   r   r   <module>rl      s     &  ' < . / ( ; # * ) D%%++T->->-C-CDS'T S'  E S'r   