I want to to set scale-in protection as explained here via a PUT request to $ECS_AGENT_URI/task-protection/v1/state.
$ECS_AGENT_URI/task-protection/v1/state
However, I always get the following error: Response code 400 (Bad Request) .
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
process.env.ECS_AGENT_URI
1.70.0
The code was correct. The solution was to add the ecs:UpdateTaskProtection permission to my ECS task as described here.
ecs:UpdateTaskProtection
You are not logged in. Log in to post an answer.
A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.