Search code examples
aws-cloudformationamazon-ecsecs-taskdefinition

Properties validation failed with message extraneous key is not permitted


I am getting the following error

Properties validation failed for resource mytaskdefinition with message: #/ContainerDefinitions/0: extraneous key [linuxParameters] is not permitted

Per https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html linuxParameters is a valid key.

As the error suggests, my task definition nests linuxParameters right under ContainerDefinitions.


Solution

  • Despite the docs using camel case linuxParameters, AWS has suddenly started enforcing capitalization.

    The fix is to capitalize the first letter, ie use LinuxParameters instead.

    Note that this applies to nested properties as well, eg initProcessEnabled would result in

    #/ContainerDefinitions/0/LinuxParameters: extraneous key [initProcessEnabled] is not permitted

    So you would have to use InitProcessEnabled.