AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Container for the parameters to the UpdateTaskProtection operation.
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.
Namespace: Amazon.ECS.Model
Assembly: AWSSDK.ECS.dll
Version: 3.x.y.z
public class UpdateTaskProtectionRequest : AmazonECSRequest IAmazonWebServiceRequest
The UpdateTaskProtectionRequest type exposes the following members
Name | Description | |
---|---|---|
![]() |
UpdateTaskProtectionRequest() |
Name | Type | Description | |
---|---|---|---|
![]() |
Cluster | System.String |
Gets and sets the property Cluster. The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in. |
![]() |
ExpiresInMinutes | System.Int32 |
Gets and sets the property ExpiresInMinutes.
If you set If you don’t specify the time, then the task is automatically protected for 120 minutes (2 hours). |
![]() |
ProtectionEnabled | System.Boolean |
Gets and sets the property ProtectionEnabled.
Specify |
![]() |
Tasks | System.Collections.Generic.List<System.String> |
Gets and sets the property Tasks. A list of up to 10 task IDs or full ARN entries. |
This example enables scale-in protection for a task for 60 minutes.
var client = new AmazonECSClient(); var response = client.UpdateTaskProtection(new UpdateTaskProtectionRequest { Cluster = "test-task-protection", ExpiresInMinutes = 60, ProtectionEnabled = true, Tasks = new List<string> { "b8b1cf532d0e46ba8d44a40d1de16772" } }); List<Failure> failures = response.Failures; List<ProtectedTask> protectedTasks = response.ProtectedTasks;
This example enables task scale-in protection for a task, without specifying the expiresInMinutes parameter, for the default protection period of 120 minutes.
var client = new AmazonECSClient(); var response = client.UpdateTaskProtection(new UpdateTaskProtectionRequest { Cluster = "test-task-protection", ProtectionEnabled = true, Tasks = new List<string> { "b8b1cf532d0e46ba8d44a40d1de16772" } }); List<Failure> failures = response.Failures; List<ProtectedTask> protectedTasks = response.ProtectedTasks;
This example removes scale-in protection for a task.
var client = new AmazonECSClient(); var response = client.UpdateTaskProtection(new UpdateTaskProtectionRequest { Cluster = "test-task-protection", ProtectionEnabled = false, Tasks = new List<string> { "b8b1cf532d0e46ba8d44a40d1de16772" } }); List<Failure> failures = response.Failures; List<ProtectedTask> protectedTasks = response.ProtectedTasks;
.NET:
Supported in: 8.0 and newer, Core 3.1
.NET Standard:
Supported in: 2.0
.NET Framework:
Supported in: 4.5 and newer, 3.5