Ponderings
I have been thinking about it for a while, when trying to figure out the automation endpoints and comparing Fabric REST API docs and Terraform provider docs and going back and forth when testing. Would it not have been a lot easier with a simple overview over all the API endpoints and matching Terraform resources and data sources?
That was the starting point, where one thing led to another and I now have a solution that:
- Scrapes the Fabric REST API Specs for API endpoints
- Exported schema from the Terraform provider for Fabric
- Implemented call-stack tracing
- First of the Terraform provider code
- Into to teh Fabric Go SDK used by the provider
- Identifying the API endpoints called
When I was already going, why not include the FabricTools PowerShell module to see where there were overlap…and not. From start to finish I have spent quite a lot of time figuring out all the bits and pieces…and a lot of failing…unfortunately not avoiding some special cases. But all in all I can now with confidence generate an updated map when new releases have been made and probably with some adjustments publish it fairly quickly.
The end result is a complete map of all public documented Fabric REST API endpoints and whatever support they currently have in Terraform and PowerShell. This first version is based on running manually on my laptop, but next step is to have it run in a GitHub Action workflow on a regular basis. The next intervals of map generation will tell me if this is feasible or not, meaning how much manual edits I have to perform to make it correct.
There is this caveat though, even though I think it is complete and correct, it is not unlikely that an error or two have sneaked themselves in. Let me know if that is the case. Thanks!
Here it is, bookmark it and enjoy. I hope you find it useful Fabric REST API Coverage Analysis
/Rune