class_docstr: Poll the cluster state until it reaches a terminal state; raises AirflowException with the failure reason.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/sensor:EcsClusterStateSensor`
  
  :param cluster_name: The name of your cluster.
  :param target_state: Success state to watch for. (Default: "ACTIVE")
  :param failure_states: Fail if any of these states are reached before the
       Success State. (Default: "FAILED" or "INACTIVE")
code: def __init__(
      self,
      *,
      cluster_name: str,
      target_state: EcsClusterStates | None = EcsClusterStates.ACTIVE,
      failure_states: set[EcsClusterStates] | None = None,
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.cluster_name = cluster_name
      self.target_state = target_state
      self.failure_states = failure_states or {
          EcsClusterStates.FAILED,
          EcsClusterStates.INACTIVE,
      }
  
imports: from __future__ import annotations
  from functools import cached_property
  from typing import TYPE_CHECKING, Sequence
  from airflow.exceptions import AirflowException, AirflowSkipException
  from airflow.providers.amazon.aws.hooks.ecs import EcsClusterStates, EcsHook, EcsTaskDefinitionStates, EcsTaskStates
  from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
label_desc: Use image node_id 1 to create a new EcsClusterStateSensor object from inherited base classes: EcsBaseSensor with example: obj = EcsClusterStateSensor()