v1

latestOpenAPI 3.0.0Apache 2.0 License2026-07-1456373564.1 KB

Updates the protection status of a task. You can set protectionEnabled to true to protect your task from termination during scale-in events from Service Autoscaling or deployments.

Task-protection, by default, expires after 2 hours at which point Amazon ECS clears the protectionEnabled property making the task eligible for termination by a subsequent scale-in event.

You can specify a custom expiration period for task protection from 1 minute to up to 2,880 minutes (48 hours). To specify the custom expiration period, set the expiresInMinutes property. The expiresInMinutes property is always reset when you invoke this operation for a task that already has protectionEnabled set to true. You can keep extending the protection expiration period of a task by invoking this operation repeatedly.

To learn more about Amazon ECS task protection, see Task scale-in protection in the Amazon Elastic Container Service Developer Guide .

This operation is only supported for tasks belonging to an Amazon ECS service. Invoking this operation for a standalone task will result in an TASK_NOT_VALID failure. For more information, see API failure reasons.

If you prefer to set task protection from within the container, we recommend using the Task scale-in protection endpoint.

post/#X-Amz-Target=AmazonEC2ContainerServiceV20141113.UpdateTaskProtection

Headers

X-Amz-Target'AmazonEC2ContainerServiceV20141113.UpdateTaskProtection' required

Request body

clusterstring required

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in.

tasksString[] required

A list of up to 10 task IDs or full ARN entries.

protectionEnabledboolean required

Specify <code>true</code> to mark a task for protection and <code>false</code> to unset protection, making it eligible for termination.

expiresInMinutesinteger
<p>If you set <code>protectionEnabled</code> to <code>true</code>, you can specify the duration for task protection in minutes. You can specify a value from 1 minute to up to 2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in events from Service Auto Scaling or deployments. After this time period lapses, <code>protectionEnabled</code> will be reset to <code>false</code>.</p> <p>If you don’t specify the time, then the task is automatically protected for 120 minutes (2 hours).</p>

Response

Success

Example response

{
  "failures": [],
  "protectedTasks": [
    {
      "protectionEnabled": false,
      "taskArn": "arn:aws:ecs:us-west-2:012345678910:task/b8b1cf532d0e46ba8d44a40d1de16772"
    }
  ]
}