ashb commented on a change in pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#discussion_r353918334
 
 

 ##########
 File path: airflow/contrib/operators/emr_add_steps_operator.py
 ##########
 @@ -28,33 +28,58 @@ class EmrAddStepsOperator(BaseOperator):
 
     :param job_flow_id: id of the JobFlow to add steps to. (templated)
     :type job_flow_id: str
+    :param job_flow_name: name of the JobFlow to add steps to. Use as an 
alternative to passing
+        job_flow_id. will search for id of JobFlow with matching name in one 
of the states in
+        param cluster_states. Exactly one cluster like this should exist or 
will fail. (templated)
+    :type job_flow_name: str
+    :param cluster_states: Acceptable cluster states when searching for 
JobFlow id by job_flow_name.
+        (templated)
+    :type cluster_states: list
     :param aws_conn_id: aws connection to uses
     :type aws_conn_id: str
     :param steps: boto3 style steps to be added to the jobflow. (templated)
     :type steps: list
+    :param do_xcom_push: if True, job_flow_id is pushed to XCom with key 
job_flow_id.
+    :type do_xcom_push: bool
     """
-    template_fields = ['job_flow_id', 'steps']
+    template_fields = ['job_flow_id', 'job_flow_name', 'cluster_states', 
'steps']
     template_ext = ()
     ui_color = '#f9c915'
 
     @apply_defaults
     def __init__(
             self,
-            job_flow_id,
-            aws_conn_id='aws_default',
+            job_flow_id=None,
+            job_flow_name=None,
+            cluster_states=None,
+            aws_conn_id='s3_default',
             steps=None,
             *args, **kwargs):
+        if kwargs.get('xcom_push') is not None:
+            raise AirflowException("'xcom_push' was deprecated, use 
'do_xcom_push' instead")
+        if (job_flow_id is None) + (job_flow_name is None) != 1:
 
 Review comment:
   This is a slightly odd way of expressing this. Either use logcial XOR:
   
   ```suggestion
           if (job_flow_id is None) ^ (job_flow_name is None):
   ```
   
   Or do it as
   
   ```suggestion
           if job_flow_id is None or job_flow_name is None or (job_flow_name 
and job_flow_id):
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to