class_docstr: Interact with Amazon Redshift.
  
  This is a thin wrapper around
  :external+boto3:py:class:`boto3.client("redshift") <Redshift.Client>`.
  
  Additional arguments (such as ``aws_conn_id``) may be specified and
  are passed down to the underlying AwsBaseHook.
  
  .. seealso::
      - :class:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
class_docstr_tok: ["Interact","with","Amazon","Redshift",".","This","is","a","thin","wrapper","around",":","external+boto3",":","py",":","class",":","`","boto3.client","(","``","redshift","''",")","<","Redshift.Client",">","`",".","Additional","arguments","(","such","as","``","aws_conn_id","``",")","may","be","specified","and","are","passed","down","to","the","underlying","AwsBaseHook",".","..","seealso",":",":","-",":","class",":","`","airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook","`"]
docstr: Delete a cluster and optionally create a snapshot.
  
  .. seealso::
      - :external+boto3:py:meth:`Redshift.Client.delete_cluster`
  
  :param cluster_identifier: unique identifier of a cluster
  :param skip_final_cluster_snapshot: determines cluster snapshot creation
  :param final_cluster_snapshot_identifier: name of final cluster snapshot
docstr_tok: ["Delete","a","cluster","and","optionally","create","a","snapshot",".","..","seealso",":",":","-",":","external+boto3",":","py",":","meth",":","`","Redshift.Client.delete_cluster","`",":","param","cluster_identifier",":","unique","identifier","of","a","cluster",":","param","skip_final_cluster_snapshot",":","determines","cluster","snapshot","creation",":","param","final_cluster_snapshot_identifier",":","name","of","final","cluster","snapshot"]
code: def delete_cluster(
      self,
      cluster_identifier: str,
      skip_final_cluster_snapshot: bool = True,
      final_cluster_snapshot_identifier: str | None = None,
  ):
      """Delete a cluster and optionally create a snapshot.
  
      .. seealso::
          - :external+boto3:py:meth:`Redshift.Client.delete_cluster`
  
      :param cluster_identifier: unique identifier of a cluster
      :param skip_final_cluster_snapshot: determines cluster snapshot creation
      :param final_cluster_snapshot_identifier: name of final cluster snapshot
      """
      final_cluster_snapshot_identifier = (
          final_cluster_snapshot_identifier or ""
      )
  
      response = self.get_conn().delete_cluster(
          ClusterIdentifier=cluster_identifier,
          SkipFinalClusterSnapshot=skip_final_cluster_snapshot,
          FinalClusterSnapshotIdentifier=final_cluster_snapshot_identifier,
      )
      return response["Cluster"] if response["Cluster"] else None
  
file_path: airflow/airflow/providers/amazon/aws/hooks/redshift_cluster.py
imports: from __future__ import annotations
  import asyncio
  import warnings
  from typing import Any, Sequence
  import botocore.exceptions
  from airflow.exceptions import AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseAsyncHook, AwsBaseHook
label_desc: Use image node_id 4 for calling the RedshiftHook obj's underlying member method code with example usage: obj.delete_cluster(cluster_identifier, skip_final_cluster_snapshot, final_cluster_snapshot_identifier) and returns: unknown