Actually, no.
Examples for creating them in Java, Python and Node are here
https://github.com/stelligent/cloudformation-custom-resource...
Just add a few lines of code for create, update and delete for your resource.
For Node and Python, you can write them in the web console, test them, copy the code to your git repo and export the SAM CF template for your CI/CD process.