:py:mod:`airflow.providers.amazon.aws.sensors.redshift_cluster`
===============================================================

.. py:module:: airflow.providers.amazon.aws.sensors.redshift_cluster


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.amazon.aws.sensors.redshift_cluster.RedshiftClusterSensor




.. py:class:: RedshiftClusterSensor(*, cluster_identifier, target_status = 'available', aws_conn_id = 'aws_default', **kwargs)

   Bases: :py:obj:`airflow.sensors.base.BaseSensorOperator`

   Waits for a Redshift cluster to reach a specific status.

   .. seealso::
       For more information on how to use this sensor, take a look at the guide:
       :ref:`howto/sensor:RedshiftClusterSensor`

   :param cluster_identifier: The identifier for the cluster being pinged.
   :param target_status: The cluster status desired.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['cluster_identifier', 'target_status']

      

   .. py:method:: poke(self, context)

      Function that the sensors defined while deriving this class should
      override.


   .. py:method:: get_hook(self)

      Create and return a RedshiftHook



