Legend
EcsContainerDefinition
ECS container definition — models a single container within a task. All string fields are templateable.string
required
Container name — must be unique within the task(templateable)
string
required
Docker image URI(templateable)
integer | null
Container-level CPU units(format:int32; templateable)
integer | null
Hard memory limit in MiB — container is killed if it exceeds this(format:int32; templateable)
integer | null
Soft memory limit in MiB — used for memory reservation(format:int32; templateable)
boolean | null
Whether the task should stop if this container exits(templateable)
EcsPortMapping[] | null
EcsEnvironmentVariable[] | null
string[] | null
Startup command — overrides the Docker CMD(templateable)
string[] | null
Entrypoint — overrides the Docker ENTRYPOINT(templateable)
string | null
Working directory inside the container(templateable)
EcsHealthCheck
EcsLogConfiguration
EcsLinuxParameters
map<string,string> | null
Docker labels(templateable)
boolean | null
Run as privileged (EC2 only)(templateable)
string | null
User to run as (uid or uid:gid)(templateable)
integer | null
Stop timeout in seconds before SIGKILL(format:int32; templateable)
boolean | null
Disable networking for this container(templateable)
EcsResourceRequirement[] | null
EcsMountPoint[] | null
EcsVolumeFrom[] | null
EcsContainerDependency[] | null
EcsRepositoryCredentials
EcsFirelensConfiguration
EcsSystemControl[] | null
EcsEnvironmentFile[] | null
boolean | null
Read-only root filesystem(templateable)
boolean | null
Interactive mode (stdin)(templateable)
boolean | null
Pseudo-terminal allocation(templateable)
EcsEnvironmentFile
Environment file from S3string
required
S3 ARN of the environment file(templateable)
enum
required
File typeAllowed values:
s3(templateable)EcsEnvironmentVariable
Environment variable as name-value pairstring
required
Variable name(templateable)
string
required
Variable value(templateable)
EcsResourceRequirement
GPU or other resource requirementenum
required
Resource type — currently only GPUAllowed values:
GPU | InferenceAccelerator(templateable)string
required
Number of resources(templateable)
EcsContainerDependency
Container dependency — controls startup orderstring
required
Name of the dependency container(templateable)
enum
required
Condition to wait forAllowed values:
START | COMPLETE | SUCCESS | HEALTHY(templateable)EcsFirelensConfiguration
Firelens log routing configurationenum
required
Router typeAllowed values:
fluentbit | fluentd(templateable)map<string,string> | null
Router options(templateable)
EcsHealthCheck
Container health check configurationstring[]
required
Command to run — prefix with CMD or CMD-SHELL(templateable)
integer | null
Interval between checks in seconds(format:int32; templateable)
integer | null
Timeout for each check in seconds(format:int32; templateable)
integer | null
Number of retries before marking unhealthy(format:int32; templateable)
integer | null
Grace period before health checks start in seconds(format:int32; templateable)
EcsLinuxParameters
Linux-specific container settingsboolean | null
Run an init process inside the container(templateable)
EcsLinuxCapabilities
Shared memory size in MiB(format:int32; templateable)
EcsLogConfiguration
Log configuration for a containerenum
required
Log driver — awslogs for CloudWatch, awsfirelens for FirelensAllowed values:
awslogs | awsfirelens | json-file | syslog | fluentd | splunk(templateable)map<string,string> | null
Driver-specific options(templateable)
EcsMountPoint
Container mount point referencing a volumestring
required
Name of the volume (must match a volume in the task definition)(templateable)
string
required
Path inside the container to mount(templateable)
boolean | null
Whether the mount is read-only(templateable)
EcsPortMapping
Port mapping for a containerinteger
required
Port on the container(format:int32; templateable)
integer | null
Port on the host (EC2) or omit for awsvpc(format:int32; templateable)
enum | null
Transport protocolAllowed values:
tcp | udp(templateable)enum | null
Application protocol for service connectAllowed values:
http | http2 | grpc(templateable)EcsRepositoryCredentials
Private registry credentialsstring
required
ARN of the Secrets Manager secret containing registry credentials(templateable)
EcsSecret
Secret injected from Parameter Store or Secrets Managerstring
required
Environment variable name in the container(templateable)
string
required
Full ARN of the secret in Parameter Store or Secrets Manager(templateable)
EcsSystemControl
System control — kernel parameter overridestring
required
Namespace (e.g., net.core.somaxconn)(templateable)
string
required
Value to set(templateable)
EcsVolumeFrom
Volume-from reference — mount volumes from another containerstring
required
Source container name(templateable)
boolean | null
Whether the mount is read-only(templateable)
EcsLinuxCapabilities
Linux kernel capabilitiesstring[] | null
Capabilities to add(templateable)
string[] | null
Capabilities to drop(templateable)
EcsTmpfs
Tmpfs mount configurationstring
required
Mount path in the container(templateable)
integer
required
Maximum size in MiB(format:int32; templateable)
string[] | null
Mount options(templateable)