import * as ec2 from "../../../aws-ec2";
import * as ecs from "../../../aws-ecs";
import * as sfn from "../../../aws-stepfunctions";
import { ContainerOverride } from './run-ecs-task-base-types';
/**
 * (experimental) Basic properties for ECS Tasks.
 *
 * @experimental
 */
export interface CommonEcsRunTaskProps {
    /**
     * (experimental) The topic to run the task on.
     *
     * @experimental
     */
    readonly cluster: ecs.ICluster;
    /**
     * (experimental) Task Definition used for running tasks in the service.
     *
     * Note: this must be TaskDefinition, and not ITaskDefinition,
     * as it requires properties that are not known for imported task definitions
     *
     * @experimental
     */
    readonly taskDefinition: ecs.TaskDefinition;
    /**
     * (experimental) Container setting overrides.
     *
     * Key is the name of the container to override, value is the
     * values you want to override.
     *
     * @default - No overrides
     * @experimental
     */
    readonly containerOverrides?: ContainerOverride[];
    /**
     * (experimental) The service integration pattern indicates different ways to call RunTask in ECS.
     *
     * The valid value for Lambda is FIRE_AND_FORGET, SYNC and WAIT_FOR_TASK_TOKEN.
     *
     * @default FIRE_AND_FORGET
     * @experimental
     */
    readonly integrationPattern?: sfn.ServiceIntegrationPattern;
}
