Legend
EcsTaskDefinition
AWS ECS task definition — models the RegisterTaskDefinition API input.string
required
Task definition family name(templateable)
EcsContainerDefinition[]
required
string | null
Task-level CPU units (required for Fargate) Valid values: “256”, “512”, “1024”, “2048”, “4096” etc.(templateable)
string | null
Task-level memory in MiB (required for Fargate)(templateable)
enum | null
Network mode — “awsvpc” required for FargateAllowed values:
awsvpc | bridge | host | none(templateable)enum[FARGATE,EC2][] | null
Launch type compatibility(templateable)
string | null
IAM role ARN for task permissions (containers assume this role)(templateable)
string | null
IAM role ARN for ECS agent to pull images and write logs(templateable)
EcsRuntimePlatform
EcsEphemeralStorage
enum | null
IPC mode for containers (EC2 only)Allowed values:
host | task | none(templateable)enum | null
PID mode for containers (EC2 only)Allowed values:
host | task(templateable)EcsProxyConfiguration
EcsInferenceAccelerator[] | null
EcsContainerDefinition
ECS container definition — models a single container within a task.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)
EcsInferenceAccelerator
Inference accelerator for ML workloadsstring
required
Accelerator name(templateable)
string
required
Accelerator type(templateable)
EcsProxyConfiguration
App Mesh proxy configurationenum | null
Proxy typeAllowed values:
APPMESH(templateable)string
required
Container name for the proxy(templateable)
EcsProxyConfigurationProperty[] | null
EcsRuntimePlatform
ECS runtime platform configurationenum | null
CPU architecture — X86_64 or ARM64Allowed values:
X86_64 | ARM64(templateable)enum | null
Operating system familyAllowed values:
LINUX | WINDOWS_SERVER_2019_FULL | WINDOWS_SERVER_2019_CORE | WINDOWS_SERVER_2022_FULL | WINDOWS_SERVER_2022_CORE(templateable)EcsVolume
ECS volume — host path or Docker volumestring
required
Volume name — referenced by container mount points(templateable)
string | null
Host path for bind mounts (EC2 only)(templateable)
EcsEfsVolumeConfiguration
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)
EcsTaskManagedEBSVolumeConfiguration
AWS-managed Fargate ephemeral EBS volume configuration.string
required
IAM role ARN AWS uses to provision the EBS volume on the customer’s behalf. Required.(templateable)
string | null
EBS volume type (
gp3, gp2, io2, io1, sc1, st1, standard).(templateable)integer | null
Volume size (GiB). Range depends on
volume_type.(format:int32; templateable)string | null
Snapshot id to restore from.(templateable)
integer | null
Provisioned IOPS — required for
io1/io2, optional for gp3.(format:int32; templateable)integer | null
Provisioned throughput (MiB/s) —
gp3 only.(format:int32; templateable)string | null
Filesystem type to format the volume with (
ext3, ext4, xfs, ntfs). Defaults per OS family.(templateable)string | null
KMS key id (alias or ARN) for at-rest encryption.(templateable)
boolean | null
Whether the volume is encrypted at rest.(templateable)
EcsEBSTagSpecification[] | null
EcsTaskManagedEBSVolumeTerminationPolicy
Termination policy — controls whether the volume is deleted when the task stops.See: EcsTaskManagedEBSVolumeTerminationPolicy(templateable)
integer | null
Initialization rate (MiB/s) for snapshot-restored volumes — controls how fast blocks are pre-warmed.(format:int32; 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)
EcsProxyConfigurationProperty
Proxy configuration key-value propertystring
required
Property name(templateable)
string
required
Property value(templateable)
EcsEfsVolumeConfiguration
EFS volume configuration for ECS tasksstring
required
EFS file system ID(templateable)
string | null
Root directory on the EFS file system(templateable)
enum | null
Whether to enable IAM authorizationAllowed values:
ENABLED | DISABLED(templateable)integer | null
Port for transit encryption (default 2049)(format:int32; templateable)
EcsEfsAuthorizationConfig
EcsEBSTagSpecification
Tag specification for an ECS-managed EBS volume.enum
required
Resource type the tags apply to. Currently only
volume is supported.Allowed values: volume(templateable)enum | null
Where the tags come from — explicit list, propagated from the task definition, or none.Allowed values:
TASK_DEFINITION | SERVICE | NONE(templateable)EcsTaskManagedEBSVolumeTerminationPolicy
Termination policy for an ECS-managed EBS volume.boolean
required
Whether to delete the volume when the task stops.(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)
EcsEfsAuthorizationConfig
EFS authorization configstring | null
EFS access point ID(templateable)
enum | null
Whether to use the task execution role for EFSAllowed values:
ENABLED | DISABLED(templateable)