Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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 unsets 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.
Synopsis
- data UpdateTaskProtection = UpdateTaskProtection' {
- expiresInMinutes :: Maybe Int
- cluster :: Text
- tasks :: [Text]
- protectionEnabled :: Bool
- newUpdateTaskProtection :: Text -> Bool -> UpdateTaskProtection
- updateTaskProtection_expiresInMinutes :: Lens' UpdateTaskProtection (Maybe Int)
- updateTaskProtection_cluster :: Lens' UpdateTaskProtection Text
- updateTaskProtection_tasks :: Lens' UpdateTaskProtection [Text]
- updateTaskProtection_protectionEnabled :: Lens' UpdateTaskProtection Bool
- data UpdateTaskProtectionResponse = UpdateTaskProtectionResponse' {
- failures :: Maybe [Failure]
- protectedTasks :: Maybe [ProtectedTask]
- httpStatus :: Int
- newUpdateTaskProtectionResponse :: Int -> UpdateTaskProtectionResponse
- updateTaskProtectionResponse_failures :: Lens' UpdateTaskProtectionResponse (Maybe [Failure])
- updateTaskProtectionResponse_protectedTasks :: Lens' UpdateTaskProtectionResponse (Maybe [ProtectedTask])
- updateTaskProtectionResponse_httpStatus :: Lens' UpdateTaskProtectionResponse Int
Creating a Request
data UpdateTaskProtection Source #
See: newUpdateTaskProtection
smart constructor.
UpdateTaskProtection' | |
|
Instances
newUpdateTaskProtection Source #
Create a value of UpdateTaskProtection
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:expiresInMinutes:UpdateTaskProtection'
, updateTaskProtection_expiresInMinutes
- If you set protectionEnabled
to 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, protectionEnabled
will be reset to
false
.
If you don’t specify the time, then the task is automatically protected for 120 minutes (2 hours).
$sel:cluster:UpdateTaskProtection'
, updateTaskProtection_cluster
- The short name or full Amazon Resource Name (ARN) of the cluster that
hosts the service that the task sets exist in.
$sel:tasks:UpdateTaskProtection'
, updateTaskProtection_tasks
- A list of up to 10 task IDs or full ARN entries.
UpdateTaskProtection
, updateTaskProtection_protectionEnabled
- Specify true
to mark a task for protection and false
to unset
protection, making it eligible for termination.
Request Lenses
updateTaskProtection_expiresInMinutes :: Lens' UpdateTaskProtection (Maybe Int) Source #
If you set protectionEnabled
to 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, protectionEnabled
will be reset to
false
.
If you don’t specify the time, then the task is automatically protected for 120 minutes (2 hours).
updateTaskProtection_cluster :: Lens' UpdateTaskProtection Text Source #
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in.
updateTaskProtection_tasks :: Lens' UpdateTaskProtection [Text] Source #
A list of up to 10 task IDs or full ARN entries.
updateTaskProtection_protectionEnabled :: Lens' UpdateTaskProtection Bool Source #
Specify true
to mark a task for protection and false
to unset
protection, making it eligible for termination.
Destructuring the Response
data UpdateTaskProtectionResponse Source #
See: newUpdateTaskProtectionResponse
smart constructor.
UpdateTaskProtectionResponse' | |
|
Instances
newUpdateTaskProtectionResponse Source #
Create a value of UpdateTaskProtectionResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:failures:UpdateTaskProtectionResponse'
, updateTaskProtectionResponse_failures
- Any failures associated with the call.
$sel:protectedTasks:UpdateTaskProtectionResponse'
, updateTaskProtectionResponse_protectedTasks
- 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 istrue
. Otherwise, it isfalse
.expirationDate
: The epoch time when protection for the task will expire.
$sel:httpStatus:UpdateTaskProtectionResponse'
, updateTaskProtectionResponse_httpStatus
- The response's http status code.
Response Lenses
updateTaskProtectionResponse_failures :: Lens' UpdateTaskProtectionResponse (Maybe [Failure]) Source #
Any failures associated with the call.
updateTaskProtectionResponse_protectedTasks :: Lens' UpdateTaskProtectionResponse (Maybe [ProtectedTask]) Source #
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 istrue
. Otherwise, it isfalse
.expirationDate
: The epoch time when protection for the task will expire.
updateTaskProtectionResponse_httpStatus :: Lens' UpdateTaskProtectionResponse Int Source #
The response's http status code.