Skip to main content

Legend

EcsModuleDeployment

AWS ECS deployment configuration
enum
required
Deployment type discriminatorAllowed values: aws:ecs
EcsDeploymentInfrastructure
required
Infrastructure resources required by the deploymentSee: EcsDeploymentInfrastructure
EcsDeploymentStrategyConfig
Deployment strategy — rolling (default), blue_green, linear, or canary. Executed natively by the ECS deployment controller; the deploy manager passes it as deploymentConfiguration on every service update. Omit for a plain rolling deploy.See: EcsDeploymentStrategyConfig(templateable)
EcsDeployConcurrency
Concurrency policy — controls how simultaneous deploy requests are handled. Omit to use defaults: max_concurrent=1, queue_size=1, queue_overflow=oldest.See: EcsDeployConcurrency
integer
Maximum total wall-clock budget (in seconds) for a single deploy, measured from the moment the workflow starts (including time spent waiting for the deployment-manager lock). Matches the semantics of pipeline step timeout. When omitted the deploy has no explicit wall-clock limit beyond the workflow-level activity timeouts on each phase. Default: unset (no wall-clock cap).(format:int32,min:60)
InputProperty[]
required
Deployment-specific inputs shown in the deploy modal Same types as module inputs — reuses the InputProperty unionSee: InputProperty
EcsTaskDefinition
required
AWS ECS task definition — fully typed per the RegisterTaskDefinition API Templateable — supports both module.input and deploy.input referencesSee: EcsTaskDefinition(templateable)
EcsRunTaskOverrides
See: EcsRunTaskOverrides(templateable)
EcsRunTaskOverrides
See: EcsRunTaskOverrides(templateable)

EcsDeployConcurrency

Concurrency policy for ECS deployments targeting this module instance. Same shape as pipeline concurrency config with key and value omitted — the deploy manager always scopes concurrency to the module instance.
integer
Number of pending deploy requests that can wait in the queue. Default: 1 — at most one waiter behind the active deploy. A value of 0 means no queuing — excess requests are rejected immediately.(format:int32,min:0)
enum
What to do when the queue is full and a new deploy request arrives. “oldest” — evict the oldest queued request (default) “newest” — reject the incoming request “reject” — reject the incoming request with an error (alias for “newest”)Allowed values: oldest | newest | reject

EcsDeploymentInfrastructure

Infrastructure resources required for ECS deployment. Not provisioned by the deploy manager — must already exist. Target groups and listeners are auto-looked-up from the cluster and services at deploy time.
string
required
ECS cluster ARN where the service runs(minLen:1; templateable)
string
required
ECS service ARN of the service the deploy manager updates. The deploy strategy (rolling, blue/green, linear, canary) is executed natively by the ECS deployment controller on this single service — see the strategy block on the deployment config.(minLen:1; templateable)
string | null
ARN of the main (blue / production) target group attached to the ECS service. Forwarded as the UpdateService loadBalancers[].targetGroupArn when Ravion synthesizes the load-balancer advancedConfiguration required by native traffic-shift deployments. Optional — omit for non-load-balanced services or rolling-only deployments.(templateable)
string | null
ARN of the alternate (green) target group ECS shifts traffic to during native traffic-shift deployments (blue_green / linear / canary). Forwarded into the UpdateService loadBalancers[].advancedConfiguration so ECS can register the new revision in the alternate target group. Optional — omit for non-load-balanced services or rolling-only deployments.(templateable)
string | null
ARN of the production listener rule (ALB) or listener (NLB) ECS rewrites to shift production traffic during native traffic-shift deployments. Forwarded into advancedConfiguration.productionListenerRule. Optional — omit for non-load-balanced services or rolling-only deployments.(templateable)
string | null
ARN of the IAM infrastructure role ECS assumes to manage the load-balancer wiring (register/deregister targets, rewrite listener rules) during native traffic-shift deployments. Forwarded into advancedConfiguration.roleArn.(templateable)
string | null
ARN of the optional test listener rule (ALB) or listener (NLB) ECS rewrites during the TEST_TRAFFIC_SHIFT lifecycle stages to route test traffic to the green revision before the production cutover. Forwarded into advancedConfiguration.testListenerRule. Optional — omit for services without a pre-cutover test phase (the common case).(templateable)

EcsDeploymentStrategyConfig

Deployment strategy executed natively by the ECS deployment controller. Omit the block entirely for a plain rolling deploy.Non-rolling strategies require the ECS service to be provisioned with blue/green load-balancer wiring (two target groups, production listener rule, optional test listener rule, and the ECS infrastructure IAM role) — see the compute/ecs_service Terraform module’s load_balancers[].advanced_configuration.
enum
required
Deployment strategy:
  • rolling — in-place rolling update (default)
  • blue_green — full green revision, all-at-once traffic shift + bake
  • linear — traffic shifts in equal linear.step_percentage steps
  • canary — canary.canary_percent first, bake, then the rest
Allowed values: rolling | blue_green | linear | canary(templateable)
integer | null
Minutes both revisions keep running after production traffic has fully shifted, before the old revision is terminated. Rollback during the bake window is instant. Applies to blue_green, linear, and canary.(format:int32,min:0,max:1440; templateable)
EcsCanaryConfig
Canary tuning — only valid when type is canary.See: EcsCanaryConfig(templateable)
EcsLinearConfig
Linear tuning — required when type is linear.See: EcsLinearConfig(templateable)
EcsPauseStage[] | null
Native PAUSE lifecycle hooks. Each entry pauses the deployment at the given stage until continued via the dashboard or API. Max 10.See: EcsPauseStage(templateable)

EcsRunTaskOverrides

Full AWS ECS RunTask request payload — both the TaskOverride fields and the top-level RunTask parameters that aren’t part of TaskOverride (launchType, networkConfiguration, …). Flattened into one model so users can express any RunTask shape in one YAML block.Used as:• the user-authored hook config in the module YAML (under pre_deploy: / post_deploy:), • the runtime snapshot persisted onto DeploymentResource.data.runTaskOverrides so the task drawer can show operators exactly what was sent to AWS.Deploy-managed RunTask fields (cluster, taskDefinition, count, clientToken) are intentionally not exposed — the deploy step controls them.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskOverride.html
EcsContainerOverride[] | null
Per-container overrides. Each entry’s name matches a container in the task definition. AWS RunTask supports overriding any subset of containers; the array can be empty when only task-level overrides are needed.See: EcsContainerOverride(templateable)
string | null
Task-level CPU override (string for AWS compatibility — same format as task-definition cpu, e.g. "256", "1024").(templateable)
string | null
Task-level memory override (MiB, string format).(templateable)
string | null
IAM task role ARN override — what the container assumes when calling AWS APIs from inside the task.(templateable)
string | null
IAM execution role ARN override — what ECS uses to pull the image, push logs, and read secrets at task launch.(templateable)
EcsEphemeralStorage
Fargate ephemeral storage size override (20–200 GiB).See: EcsEphemeralStorage(templateable)
enum | null
Launch type: FARGATE, EC2, or EXTERNAL. When omitted the hook inherits the parent service’s launch type. Mutually exclusive with capacity_provider_strategy — set one or the other.Allowed values: FARGATE | EC2 | EXTERNAL(templateable)
EcsCapacityProviderStrategyItem[] | null
Capacity-provider strategy — overrides launch_type when set. Inherits from the parent service when omitted.See: EcsCapacityProviderStrategyItem(templateable)
string | null
Fargate platform version (e.g. "1.4.0", "LATEST"). Inherits from the parent service when omitted.(templateable)
EcsNetworkConfiguration
VPC / subnet / security-group config. Required for awsvpc network-mode task definitions; inherited from the parent service when omitted.See: EcsNetworkConfiguration(templateable)
EcsPlacementConstraint[] | null
Placement constraints — limits which container instances can run the task. EC2/EXTERNAL launch types only.See: EcsPlacementConstraint(templateable)
EcsPlacementStrategy[] | null
Placement strategy — how tasks get distributed across instances. EC2/EXTERNAL launch types only.See: EcsPlacementStrategy(templateable)
enum | null
How tags propagate from task definition / service onto the task.Allowed values: TASK_DEFINITION | SERVICE | NONE(templateable)
EcsTag[] | null
Metadata tags applied to the task.See: EcsTag(templateable)
boolean | null
Whether to enable AWS-managed aws:ecs: tags on the task.(templateable)
boolean | null
Whether to enable ECS Exec on the task (for aws ecs execute-command).(templateable)
string | null
Logical group name — used for placement constraints (memberOf(group:<group>)). Defaults to family:<task-def-family> when AWS picks.(templateable)
string | null
Caller-supplied reference id (UUID-shaped). Echoed back on the resulting Task and useful for client-side correlation.(templateable)
EcsTaskVolumeConfiguration[] | null
Per-task volume bindings — name must match a volume in the task definition. Used for Fargate-managed ephemeral EBS volumes.See: EcsTaskVolumeConfiguration(templateable)
integer | null
Wall-clock timeout in seconds before the task is stopped and the deployment fails. Only meaningful when used as a pre/post deploy hook config — ignored on the runtime snapshot.Default: 1800 (30 minutes).(format:int32,min:1; templateable)

EcsCanaryConfig

Canary traffic-shift tuning. Only valid when strategy.type is canary. Maps to the ECS deploymentConfiguration.canaryConfiguration field.
number | null
Percentage of production traffic to shift to the new service revision during the canary phase. Multiples of 0.1 from 0.1 to 100.0. Default: 5.0 (AWS default).(format:double,min:0.1,max:100; templateable)
integer | null
Minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Default: 10 (AWS default).(format:int32,min:0,max:1440; templateable)

EcsLinearConfig

Linear traffic-shift tuning. Required when strategy.type is linear. Maps to the ECS deploymentConfiguration.linearConfiguration field.
integer
required
Percentage of production traffic shifted per step.(format:int32,min:1,max:100; templateable)
integer
required
Minutes to bake between each traffic-shift step.(format:int32,min:0,max:1440; templateable)

EcsPauseStage

A native ECS PAUSE lifecycle hook. The deployment pauses at the given stage until a continue/rollback control is sent (dashboard or POST /deployments/{id}/continue), or until the timeout fires.AWS does not allow pause hooks at TEST_TRAFFIC_SHIFT or PRODUCTION_TRAFFIC_SHIFT (those stages also run during rollback). For linear/canary strategies a PRE_PRODUCTION_TRAFFIC_SHIFT pause fires before EACH traffic-shift step.
enum
required
Lifecycle stage at which the deployment pauses.Allowed values: RECONCILE_SERVICE | PRE_SCALE_UP | POST_SCALE_UP | POST_TEST_TRAFFIC_SHIFT | PRE_PRODUCTION_TRAFFIC_SHIFT | POST_PRODUCTION_TRAFFIC_SHIFT(templateable)
integer | null
Minutes to wait for a continue before AWS applies timeout_action. Default: 1440 (24 hours, AWS default). Max: 20160 (14 days).(format:int32,min:1,max:20160; templateable)
enum | null
What AWS does when the pause times out. Default: ROLLBACK.Allowed values: ROLLBACK | CONTINUE(templateable)

EcsCapacityProviderStrategyItem

Capacity-provider strategy entry. Mirrors AWS exactly.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html
string
required
Capacity provider name (e.g. FARGATE, FARGATE_SPOT, or a custom EC2 capacity provider).(templateable)
integer | null
Relative share of tasks placed onto this provider when the strategy has multiple entries.(format:int32,min:0,max:1000; templateable)
integer | null
Minimum number of tasks placed onto this provider before weighting kicks in. At most one entry in the strategy may set base.(format:int32,min:0,max:100000; templateable)

EcsContainerOverride

Per-container portion of EcsRunTaskOverrides. Mirrors the AWS ECS RunTask ContainerOverride struct field-for-field — every override AWS supports for a container is expressible here. The name ties the override to a container in the task definition.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerOverride.html
string
required
Container name from the task definition. Required.(minLen:1; templateable)
string[] | null
Replacement command — replaces the container’s CMD array.(templateable)
EcsEnvironmentVariable[] | null
Environment variables merged on top of the task definition’s.See: EcsEnvironmentVariable(templateable)
EcsEnvironmentFile[] | null
Environment files (S3 references) layered on top of environment.See: EcsEnvironmentFile(templateable)
integer | null
CPU units override for this container.(format:int32; templateable)
integer | null
Hard memory limit (MiB) override for this container.(format:int32; templateable)
integer | null
Soft memory reservation (MiB) override for this container.(format:int32; templateable)
EcsResourceRequirement[] | null
GPU / InferenceAccelerator requirements override.See: EcsResourceRequirement(templateable)

EcsEphemeralStorage

ECS ephemeral storage configuration
integer
required
Storage size in GiB (21–200 for Fargate, minimum 20)(format:int32,min:20,max:200; templateable)

EcsNetworkConfiguration

AWS ECS network configuration. Only the awsvpc shape exists on RunTask (host / bridge networking is task-definition-driven).https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html
EcsAwsVpcConfiguration
required
VPC configuration — required when set.See: EcsAwsVpcConfiguration(templateable)

EcsPlacementConstraint

AWS ECS placement constraint. EC2/EXTERNAL launch types only — Fargate ignores these.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementConstraint.html
enum
required
Constraint type. distinctInstance spreads tasks one-per-host; memberOf filters by a cluster query expression.Allowed values: distinctInstance | memberOf(templateable)
string | null
Cluster query expression — required when type is memberOf.(templateable)

EcsPlacementStrategy

AWS ECS placement strategy. EC2/EXTERNAL launch types only — Fargate ignores these.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html
enum
required
Strategy type. random ignores field; spread and binpack require field.Allowed values: random | spread | binpack(templateable)
string | null
Attribute the strategy operates on (e.g. instanceId, attribute:ecs.availability-zone, cpu, memory).(templateable)

EcsTag

AWS resource tag
string
required
Tag key(templateable)
string
required
Tag value(templateable)

EcsTaskVolumeConfiguration

Per-task volume binding for ECS-managed volumes (today: ephemeral EBS for Fargate). The name must match a volume entry in the task definition’s volumes list.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskVolumeConfiguration.html
string
required
Volume name — must match a name in the task definition.(templateable)
EcsTaskManagedEBSVolumeConfiguration
Managed-EBS volume configuration.See: EcsTaskManagedEBSVolumeConfiguration(templateable)

EcsAwsVpcConfiguration

AWS VPC configuration for awsvpc-mode tasks.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html
string[]
required
Subnet IDs the task ENI is placed into.(minItems:1; templateable)
string[] | null
Security groups attached to the task ENI.(templateable)
enum | null
Whether the task ENI gets a public IP. Required for Fargate tasks pulling images from non-VPC-routable registries (e.g. public ECR) when there’s no NAT.Allowed values: ENABLED | DISABLED(templateable)