task_protections
Creates, updates, deletes, gets or lists a task_protections resource.
Overview
| Name | task_protections |
| Type | Resource |
| Id | aws.ecs.task_protections |
Fields
The following fields are returned by SELECT queries:
- get_task_protection
| Name | Datatype | Description |
|---|---|---|
failures | array | Any failures associated with the call. |
protected_tasks | array | A list of tasks with the following information. taskArn: The task ARN. protectionEnabled: The protection status of the task. If scale-in protection is turned on for a task, the value is true. Otherwise, it is false. expirationDate: The epoch time when protection for the task will expire. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get_task_protection | select | region | Retrieves the protection status of tasks in an Amazon ECS service. | |
update_task_protection | update | region, cluster, tasks, protectionEnabled | 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. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- get_task_protection
Retrieves the protection status of tasks in an Amazon ECS service.
SELECT
failures,
protected_tasks
FROM aws.ecs.task_protections
WHERE region = '{{ region }}' -- required
;
UPDATE examples
- update_task_protection
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.
UPDATE aws.ecs.task_protections
SET
cluster = '{{ cluster }}',
tasks = '{{ tasks }}',
protectionEnabled = {{ protectionEnabled }},
expiresInMinutes = {{ expiresInMinutes }}
WHERE
region = '{{ region }}' --required
AND cluster = '{{ cluster }}' --required
AND tasks = '{{ tasks }}' --required
AND protectionEnabled = {{ protectionEnabled }} --required
RETURNING
failures,
protected_tasks;