Template format error: Each Value member must be a string. | by Teri Radichel | Biting Bugs | December 2023


Another ambiguous CloudFormation error message

I guess it has to do with the outputs of a model. However, the point of this post is that this error should be more useful.

It should tell you which value is causing the problem and which line on the model. This can at least tell you that it has to do with outputs for those less familiar with CloudFormation.

I’m waiting for my stack to throw an error as I write this so I can fix what I assume is the problem.

Model – I just changed the value of my output to reference the HostedZone logical identifier.

Because I’m looking for consistency even if AWS resources are inconsistent in the values ​​they return and which IDs and ARNs they leverage, I simply change my HostedZone Arn to return the HostedZone.Id:

Some resources have an ID, some have an ARN, and some have both. This is how I deal with the lack of consistency on the platform. I return everything available for these two consistently named outputs in my models, at least so that people referencing my stacks know what will always be available.

I really wish AWS would be more consistent across the board in its naming conventions and output.

I just write down my wishes while I wait for the pile to… go wrong again. Now I’m playing guessing games again because of an unnecessary error message.

Do I have a typo?


You need to join the values ​​of the nameservers to get a string:

Leave a comment