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

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


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.amazon.aws.sensors.quicksight.QuickSightSensor




.. py:class:: QuickSightSensor(*, data_set_id, ingestion_id, aws_conn_id = 'aws_default', **kwargs)

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

   Watches for the status of an Amazon QuickSight Ingestion.

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

   :param data_set_id:  ID of the dataset used in the ingestion.
   :param ingestion_id: ID for the ingestion.
   :param aws_conn_id: The Airflow connection used for AWS credentials. (templated)
        If this is None or empty then the default boto3 behaviour is used. If
        running Airflow in a distributed manner and aws_conn_id is None or
        empty, then the default boto3 configuration would be used (and must be
        maintained on each worker node).

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

      Pokes until the QuickSight Ingestion has successfully finished.

      :param context: The task context during execution.
      :return: True if it COMPLETED and False if not.
      :rtype: bool


   .. py:method:: get_quicksight_hook(self)


   .. py:method:: get_sts_hook(self)



