The provider model is fairly common. Some projects, like Pulumi (ew) even re-use terraform providers. Others, like Crossplane, have their own provider spec. A provider is basically an interface to a cloud provider API, so in theory it should be relatively easy to port one that’s already written for another tool.