class_docstr: Register a task definition on AWS ECS.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/operator:EcsRegisterTaskDefinitionOperator`
  
  :param family: The family name of a task definition to create.
  :param container_definitions: A list of container definitions in JSON format that describe
      the different containers that make up your task.
  :param register_task_kwargs: Extra arguments for Register Task Definition.
class_docstr_tok: ["Register","a","task","definition","on","AWS","ECS",".","..","seealso",":",":","For","more","information","on","how","to","use","this","operator",",","take","a","look","at","the","guide",":",":","ref",":","`","howto\/operator",":","EcsRegisterTaskDefinitionOperator","`",":","param","family",":","The","family","name","of","a","task","definition","to","create",".",":","param","container_definitions",":","A","list","of","container","definitions","in","JSON","format","that","describe","the","different","containers","that","make","up","your","task",".",":","param","register_task_kwargs",":","Extra","arguments","for","Register","Task","Definition","."]
code: def execute(self, context: Context):
      self.log.info(
          "Registering task definition %s using the following values: %s",
          self.family,
          self.register_task_kwargs,
      )
      self.log.info(
          "Using container definition %s", self.container_definitions
      )
      response = self.client.register_task_definition(
          family=self.family,
          containerDefinitions=self.container_definitions,
          **self.register_task_kwargs,
      )
      task_definition_details = response["taskDefinition"]
      task_definition_arn = task_definition_details["taskDefinitionArn"]
  
      self.log.info(
          "Task Definition %r in state: %r.",
          task_definition_arn,
          task_definition_details.get("status"),
      )
      context["ti"].xcom_push(
          key="task_definition_arn", value=task_definition_arn
      )
      return task_definition_arn
  
imports: from __future__ import annotations
  import re
  import warnings
  from datetime import timedelta
  from functools import cached_property
  from typing import TYPE_CHECKING, Sequence
  from airflow.configuration import conf
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.exceptions import EcsOperatorError, EcsTaskFailToStart
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
  from airflow.providers.amazon.aws.hooks.ecs import EcsClusterStates, EcsHook, should_retry_eni
  from airflow.providers.amazon.aws.hooks.logs import AwsLogsHook
  from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
  from airflow.providers.amazon.aws.triggers.ecs import ClusterActiveTrigger, ClusterInactiveTrigger, TaskDoneTrigger
  from airflow.providers.amazon.aws.utils.identifiers import generate_uuid
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
  from airflow.providers.amazon.aws.utils.task_log_fetcher import AwsTaskLogFetcher
  from airflow.utils.helpers import prune_dict
label_desc: Use image node_id 2 for calling the EcsRegisterTaskDefinitionOperator obj's underlying member method code with example usage: obj.execute(context) and returns: task_definition_arn