def delete_cluster()

in global-clusters-automation/failover_and_delete_global_cluster.py [0:0]


def delete_cluster(cluster_to_delete):
    try:
        cluster_to_delete_id = cluster_to_delete.split(":")[-1]
        region = cluster_to_delete.split(":")[3]
        client = session.client('docdb', region_name=region)
        response = client.describe_db_clusters(
            DBClusterIdentifier=cluster_to_delete
        )
        cluster_instances = response['DBClusters'][0]['DBClusterMembers']

        # Delete instances in a cluster
        for each_item in cluster_instances:
            instance_to_delete = each_item['DBInstanceIdentifier']
            print('Deleting instance... ', instance_to_delete, ' within cluster ', cluster_to_delete)
            delete_instance = client.delete_db_instance(
                DBInstanceIdentifier=instance_to_delete
            )
        # Disable deletion protection
        disable_deletion_protection = client.modify_db_cluster(
            DBClusterIdentifier=cluster_to_delete_id,
            ApplyImmediately=True,
            DeletionProtection=False
        )

        # Delete cluster
        deleted_cluster = client.delete_db_cluster(
            DBClusterIdentifier=cluster_to_delete_id,
            SkipFinalSnapshot=True
        )

    except ClientError as e:
        print('ERROR OCCURRED WHILE PROCESSING: ', e)
        print('PROCESSING WILL STOP')
        raise ClientError