Skip to main content

Legend

EcsTaskDefinition

AWS ECS task definition — models the RegisterTaskDefinition API input.
string
required
Task definition family name(templateable)
EcsContainerDefinition[]
required
Container definitions — at least one requiredSee: EcsContainerDefinition(minItems:1; templateable)
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
Runtime platform (Fargate only)See: EcsRuntimePlatform(templateable)
EcsEphemeralStorage
Ephemeral storage (Fargate only, >20 GiB)See: EcsEphemeralStorage(templateable)
EcsVolume[] | null
Volumes available to containersSee: EcsVolume(templateable)
EcsTag[] | null
AWS resource tagsSee: EcsTag(templateable)
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
App Mesh proxy configurationSee: EcsProxyConfiguration(templateable)
EcsInferenceAccelerator[] | null
Inference accelerators (EC2 only)See: EcsInferenceAccelerator(templateable)

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
Port mappingsSee: EcsPortMapping(templateable)
EcsEnvironmentVariable[] | null
Environment variablesSee: EcsEnvironmentVariable(templateable)
EcsSecret[] | null
Secrets from Parameter Store or Secrets ManagerSee: EcsSecret(templateable)
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
Container health checkSee: EcsHealthCheck(templateable)
EcsLogConfiguration
Log configurationSee: EcsLogConfiguration(templateable)
EcsLinuxParameters
Linux-specific parametersSee: EcsLinuxParameters(templateable)
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
GPU and inference accelerator requirementsSee: EcsResourceRequirement(templateable)
EcsMountPoint[] | null
Volume mount pointsSee: EcsMountPoint(templateable)
EcsVolumeFrom[] | null
Volumes to inherit from other containersSee: EcsVolumeFrom(templateable)
EcsContainerDependency[] | null
Container startup dependenciesSee: EcsContainerDependency(templateable)
EcsRepositoryCredentials
Private registry credentialsSee: EcsRepositoryCredentials(templateable)
EcsFirelensConfiguration
Firelens log routing configurationSee: EcsFirelensConfiguration(templateable)
EcsSystemControl[] | null
System controls — kernel parameter overridesSee: EcsSystemControl(templateable)
EcsEnvironmentFile[] | null
Files containing environment variablesSee: EcsEnvironmentFile(templateable)
boolean | null
Read-only root filesystem(templateable)
boolean | null
Interactive mode (stdin)(templateable)
boolean | null
Pseudo-terminal allocation(templateable)

EcsInferenceAccelerator

Inference accelerator for ML workloads
string
required
Accelerator name(templateable)
string
required
Accelerator type(templateable)

EcsProxyConfiguration

App Mesh proxy configuration
enum | null
Proxy typeAllowed values: APPMESH(templateable)
string
required
Container name for the proxy(templateable)
EcsProxyConfigurationProperty[] | null
Proxy configuration propertiesSee: EcsProxyConfigurationProperty(templateable)

EcsRuntimePlatform

ECS runtime platform configuration
enum | 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 volume
string
required
Volume name — referenced by container mount points(templateable)
string | null
Host path for bind mounts (EC2 only)(templateable)
EcsEfsVolumeConfiguration
EFS volume configurationSee: EcsEfsVolumeConfiguration(templateable)

EcsEnvironmentFile

Environment file from S3
string
required
S3 ARN of the environment file(templateable)
enum
required
File typeAllowed values: s3(templateable)

EcsEnvironmentVariable

Environment variable as name-value pair
string
required
Variable name(templateable)
string
required
Variable value(templateable)

EcsResourceRequirement

GPU or other resource requirement
enum
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
Tag specifications applied to the EBS volume.See: EcsEBSTagSpecification(templateable)
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 order
string
required
Name of the dependency container(templateable)
enum
required
Condition to wait forAllowed values: START | COMPLETE | SUCCESS | HEALTHY(templateable)

EcsFirelensConfiguration

Firelens log routing configuration
enum
required
Router typeAllowed values: fluentbit | fluentd(templateable)
map<string,string> | null
Router options(templateable)

EcsHealthCheck

Container health check configuration
string[]
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 settings
boolean | null
Run an init process inside the container(templateable)
EcsLinuxCapabilities
Linux capabilities to add or dropSee: EcsLinuxCapabilities(templateable)
integer | null
Shared memory size in MiB(format:int32; templateable)
EcsTmpfs[] | null
Tmpfs mountsSee: EcsTmpfs(templateable)

EcsLogConfiguration

Log configuration for a container
enum
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)
EcsSecret[] | null
Secret log options (ARN references)See: EcsSecret(templateable)

EcsMountPoint

Container mount point referencing a volume
string
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 container
integer
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 credentials
string
required
ARN of the Secrets Manager secret containing registry credentials(templateable)

EcsSecret

Secret injected from Parameter Store or Secrets Manager
string
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 override
string
required
Namespace (e.g., net.core.somaxconn)(templateable)
string
required
Value to set(templateable)

EcsVolumeFrom

Volume-from reference — mount volumes from another container
string
required
Source container name(templateable)
boolean | null
Whether the mount is read-only(templateable)

EcsProxyConfigurationProperty

Proxy configuration key-value property
string
required
Property name(templateable)
string
required
Property value(templateable)

EcsEfsVolumeConfiguration

EFS volume configuration for ECS tasks
string
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
EFS access point IDSee: EcsEfsAuthorizationConfig(templateable)

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)
EcsTag[] | null
Explicit tags.See: EcsTag(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 capabilities
string[] | null
Capabilities to add(templateable)
string[] | null
Capabilities to drop(templateable)

EcsTmpfs

Tmpfs mount configuration
string
required
Mount path in the container(templateable)
integer
required
Maximum size in MiB(format:int32; templateable)
string[] | null
Mount options(templateable)

EcsEfsAuthorizationConfig

EFS authorization config
string | null
EFS access point ID(templateable)
enum | null
Whether to use the task execution role for EFSAllowed values: ENABLED | DISABLED(templateable)