:mod:`airflow.contrib.sensors.sagemaker_tuning_sensor`
======================================================

.. py:module:: airflow.contrib.sensors.sagemaker_tuning_sensor


Module Contents
---------------

.. py:class:: SageMakerTuningSensor(job_name, *args, **kwargs)

   Bases: :class:`airflow.contrib.sensors.sagemaker_base_sensor.SageMakerBaseSensor`

   Asks for the state of the tuning state until it reaches a terminal state.
   The sensor will error if the job errors, throwing a AirflowException
   containing the failure reason.

   :param job_name: job_name of the tuning instance to check the state of
   :type job_name: str

   .. attribute:: template_fields
      :annotation: = ['job_name']

      

   .. attribute:: template_ext
      :annotation: = []

      

   
   .. method:: non_terminal_states(self)



   
   .. method:: failed_states(self)



   
   .. method:: get_sagemaker_response(self)



   
   .. method:: get_failed_reason_from_response(self, response)



   
   .. method:: state_from_response(self, response)




