There are a bunch of rules on recordsets, for instance the TXT records:
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#TXTFormat
https://tools.ietf.org/html/rfc1464
These are not checked "yet". Example we hit a couple of days ago was the fact that the TXT records have to be in quotes (So in YAML this ends up as quoted string in quotes.)
Example:
- Name: !Sub "_amazonses.example.com."
Type: "TXT"
TTL: 900
ResourceRecords:
- "generatedrandomstring"
Breaks the CloudFormation deployment with the following error:
Invalid Resource Record: FATAL problem: InvalidCharacterString (Value should be enclosed in quotation marks) encountered with 'generatedrandomstring'
````
Should have been:
- Name: !Sub "_amazonses.example.com."
Type: "TXT"
TTL: 900
ResourceRecords:
- "\"generatedrandomstring\""
```
Documentation: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html
Record Types:
There are more rules like this (See documentation: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) that could/should be implemented.
More documenation urls:
Another check could be to verify that the HostedZoneName ends with a dot. Otherwise, CFN fails.
Most helpful comment
Another check could be to verify that the HostedZoneName ends with a dot. Otherwise, CFN fails.