class_docstr: A five-way dictionary between Airflow task ids, Airflow cmds, ECS ARNs, and ECS task objects.
code: def __init__(self):
      self.key_to_arn: dict[TaskInstanceKey, str] = {}
      self.arn_to_key: dict[str, TaskInstanceKey] = {}
      self.tasks: dict[str, EcsExecutorTask] = {}
      self.key_to_failure_counts: dict[
          TaskInstanceKey, int
      ] = defaultdict(int)
      self.key_to_task_info: dict[TaskInstanceKey, EcsTaskInfo] = {}
  
imports: from __future__ import annotations
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import TYPE_CHECKING, Any, Callable, Dict, List
  from inflection import camelize
  from airflow.utils.state import State
label_desc: Use image node_id 1 to create a new EcsTaskCollection object  with example: obj = EcsTaskCollection()