ECS / Client / update_task_protection
update_task_protection#
- ECS.Client.update_task_protection(**kwargs)#
- Updates the protection status of a task. You can set - protectionEnabledto- trueto 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 unsets the - protectionEnabledproperty 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 - expiresInMinutesproperty. The- expiresInMinutesproperty is always reset when you invoke this operation for a task that already has- protectionEnabledset 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 . - Note - 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_VALIDfailure. For more information, see API failure reasons.- Warning - If you prefer to set task protection from within the container, we recommend using the Task scale-in protection endpoint. - See also: AWS API Documentation - Request Syntax - response = client.update_task_protection( cluster='string', tasks=[ 'string', ], protectionEnabled=True|False, expiresInMinutes=123 ) - Parameters:
- cluster (string) – - [REQUIRED] - The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in. 
- tasks (list) – - [REQUIRED] - A list of up to 10 task IDs or full ARN entries. - (string) – 
 
- protectionEnabled (boolean) – - [REQUIRED] - Specify - trueto mark a task for protection and- falseto unset protection, making it eligible for termination.
- expiresInMinutes (integer) – - If you set - protectionEnabledto- true, 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,- protectionEnabledwill be reset to- false.- If you don’t specify the time, then the task is automatically protected for 120 minutes (2 hours). 
 
- Return type:
- dict 
- Returns:
- Response Syntax - { 'protectedTasks': [ { 'taskArn': 'string', 'protectionEnabled': True|False, 'expirationDate': datetime(2015, 1, 1) }, ], 'failures': [ { 'arn': 'string', 'reason': 'string', 'detail': 'string' }, ] } - Response Structure - (dict) – - protectedTasks (list) – - A list of tasks with the following information. - taskArn: The task ARN.
- protectionEnabled: The protection status of the task. If scale-in protection is enabled for a task, the value is- true. Otherwise, it is- false.
- expirationDate: The epoch time when protection for the task will expire.
 - (dict) – - An object representing the protection status details for a task. You can set the protection status with the UpdateTaskProtection API and get the status of tasks with the GetTaskProtection API. - taskArn (string) – - The task ARN. 
- protectionEnabled (boolean) – - The protection status of the task. If scale-in protection is on for a task, the value is - true. Otherwise, it is- false.
- expirationDate (datetime) – - The epoch time when protection for the task will expire. 
 
 
- failures (list) – - Any failures associated with the call. - (dict) – - A failed resource. For a list of common causes, see API failure reasons in the Amazon Elastic Container Service Developer Guide . - arn (string) – - The Amazon Resource Name (ARN) of the failed resource. 
- reason (string) – - The reason for the failure. 
- detail (string) – - The details of the failure. 
 
 
 
 
 - Exceptions - ECS.Client.exceptions.AccessDeniedException
- ECS.Client.exceptions.ClientException
- ECS.Client.exceptions.ClusterNotFoundException
- ECS.Client.exceptions.InvalidParameterException
- ECS.Client.exceptions.ResourceNotFoundException
- ECS.Client.exceptions.ServerException
- ECS.Client.exceptions.UnsupportedFeatureException