class_docstr: 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.
  :param deferrable: Run operator in the deferrable mode.
class_docstr_tok: ["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",".",":","param","deferrable",":","Run","operator","in","the","deferrable","mode","."]
code: def execute_complete(
      self, context: Context, event: dict[str, Any] | None = None
  ) -> None:
      if event is None:
          err_msg = "Trigger error: event is None"
          self.log.error(err_msg)
          raise AirflowException(err_msg)
  
      status = event["status"]
      if status == "error":
          # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
          message = f"{event['status']}: {event['message']}"
          if self.soft_fail:
              raise AirflowSkipException(message)
          raise AirflowException(message)
      elif status == "success":
          self.log.info("%s completed successfully.", self.task_id)
          self.log.info(
              "Cluster Identifier %s is in %s state",
              self.cluster_identifier,
              self.target_status,
          )
  
file_path: airflow/airflow/providers/amazon/aws/sensors/redshift_cluster.py
imports: from __future__ import annotations
  from datetime import timedelta
  from functools import cached_property
  from typing import TYPE_CHECKING, Any, Sequence
  from deprecated import deprecated
  from airflow.configuration import conf
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning, AirflowSkipException
  from airflow.providers.amazon.aws.hooks.redshift_cluster import RedshiftHook
  from airflow.providers.amazon.aws.triggers.redshift_cluster import RedshiftClusterTrigger
  from airflow.sensors.base import BaseSensorOperator
label_desc: Use image node_id 4 for calling the RedshiftClusterSensor obj's underlying member method code with example usage: obj.execute_complete(context, event) without return types