# Auto generated by 'inv collect-airflow'
from airfly._vendor.airflow.providers.amazon.aws.operators.base_aws import (
    AwsBaseOperator,
)


class EcsBaseOperator(AwsBaseOperator):
    aws_conn_id: "str | None"
    region_name: "str | None"
    verify: "bool | str | None"
    botocore_config: "dict | None"
    region: "str | None | ArgNotSet"


class EcsCreateClusterOperator(EcsBaseOperator):
    cluster_name: "str"
    create_cluster_kwargs: "dict | None"
    wait_for_completion: "bool"
    waiter_delay: "int"
    waiter_max_attempts: "int"
    deferrable: "bool"


class EcsDeleteClusterOperator(EcsBaseOperator):
    cluster_name: "str"
    wait_for_completion: "bool"
    waiter_delay: "int"
    waiter_max_attempts: "int"
    deferrable: "bool"


class EcsDeregisterTaskDefinitionOperator(EcsBaseOperator):
    task_definition: "str"
    wait_for_completion: "_empty"
    waiter_delay: "_empty"
    waiter_max_attempts: "_empty"


class EcsRegisterTaskDefinitionOperator(EcsBaseOperator):
    family: "str"
    container_definitions: "list[dict]"
    register_task_kwargs: "dict | None"
    wait_for_completion: "_empty"
    waiter_delay: "_empty"
    waiter_max_attempts: "_empty"


class EcsRunTaskOperator(EcsBaseOperator):
    task_definition: "str"
    cluster: "str"
    overrides: "dict"
    launch_type: "str"
    capacity_provider_strategy: "list | None"
    group: "str | None"
    placement_constraints: "list | None"
    placement_strategy: "list | None"
    platform_version: "str | None"
    network_configuration: "dict | None"
    tags: "dict | None"
    awslogs_group: "str | None"
    awslogs_region: "str | None"
    awslogs_stream_prefix: "str | None"
    awslogs_fetch_interval: "timedelta"
    propagate_tags: "str | None"
    quota_retry: "dict | None"
    reattach: "bool"
    number_logs_exception: "int"
    wait_for_completion: "bool"
    waiter_delay: "int"
    waiter_max_attempts: "int"
    deferrable: "bool"
