Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for the hahicorp mux library
Hashicorp has a new "framework" for provider development that replaces SDK v2.0. We can combine "framework" provider code which can still be in separate repos with SDK v2.0 provider code using the Hashicorp "mux" library. In this PR we adapt the existing pkg/provider code to allow us to use "mux" with "legacy" provider code that uses the framework that we put together for SDK v2.0. To do this instead of creating one combined provider instance we create separate provider instances one for each service. There are a couple of restrictions on providers that are passed to the mux library: - the ProviderSchema (i.e. the schema that determines the provider stanza) must be same for each sub-provider - you cannot repeat any data-source or resource definitions in any of the sub-providers We've implemented a NewProviderMux function in pkg/provider which creates sub-providers that satisfy the above restrictions. The inputs to this function are the same as those to NewProviderFunc. SDK v2.0 provider repos that use the framework don't need any changes. However we will need to add registration.ServiceRegistration implementations for all new "framework" providers that implement just the ProviderSchemaEntry and pass those down to NewProviderMux. Signed-off-by: Eamonn O'Toole <[email protected]>
- Loading branch information