I want to to set scale-in protection as explained here via a PUT request to $ECS_AGENT_URI/task-protection/v1/state
.
However, I always get the following error: Response code 400 (Bad Request)
.
This is my code:
const got = require("got");
const SCALE_IN_PROTECTION_DURATION_MINUTES = 15;
const TASK_PROTECTION_URI = `${process.env.ECS_AGENT_URI}/task-protection/v1/state`;
try {
const minutes = SCALE_IN_PROTECTION_DURATION_MINUTES;
await got(TASK_PROTECTION_URI, {
method: "PUT",
json: { ProtectionEnabled: true, ExpiresInMinutes: minutes },
});
} catch (error) {
logger.error(error);
}
process.env.ECS_AGENT_URI
is set properly and the instance agent version is 1.70.0
The code was correct. The solution was to add the ecs:UpdateTaskProtection
permission to my ECS task as described here.