cloudtools / troposphere

troposphere - Python library to create AWS CloudFormation descriptions
BSD 2-Clause "Simplified" License
4.93k stars 1.45k forks source link

TypeError() return the expected Class as last exception argument #2147

Closed JohnPreston closed 1 year ago

JohnPreston commented 1 year ago

When the validator is used instead of the AWSProperty class (i.e. in WAFv2 for Statement), the TypeError() will return the expected AWSProperty SubClass as the last argument. This enables other libraries to identify the expected class and perform manipulations to import the resource property class.

For simpler class types (int, str, etc.) the validators only validate that the input is of that exact type and is simpler to catch.

Went over all the validators, these are the only two with an AWSProperty type validation, for due diligence. Although only need this today with WAFv2

markpeek commented 1 year ago

Thank you for the PR and sorry for the delay in merging.