Combining and Translating Providers
Use terraform-plugin-mux to combine and translate providers. It minimizes code changes by wrapping existing provider servers.
The terraform-plugin-mux Go module is a collection of Go packages for combining (multiplexing) and translating provider servers. It helps minimize provider code changes by wrapping existing provider servers. This functionality is based on the Terraform Plugin Protocol and terraform-plugin-go
provider servers.
Use Cases
The terraform-plugin-mux
Go module enables flexibility when you develop and maintain Terraform providers. It is especially useful when you need to upgrade an existing provider to use the plugin framework SDK or the latest version of the plugin protocol. We recommend using terraform-plugin-mux
for the following use cases:
- Combine providers to reduce maintenance burden while still supporting varying Terraform requirements or multiple provider SDK implementations.
- Migrate resources and data sources from terraform-plugin-sdk/v2 to terraform-plugin-framework over time.
- Develop with terraform-plugin-sdk/v2, but require Terraform CLI 1.0 or later.
- Develop with terraform-plugin-framework, but support Terraform CLI 0.12 or later.
Combine Protocol 6 Providers
Use the tf6muxserver package to combine any number of protocol version 6 provider servers into a single server.
Combine Protocol 5 Providers
Use the tf5muxserver package to combine any number of protocol version 5 provider servers into a single server.
Translate Protocol 5 Providers to Protocol 6
Use the tf5to6server package to translate a protocol version 5 provider server into a protocol version 6 provider server.
Translate Protocol 6 Providers to Protocol 5
Use the tf6to5server package to translate a protocol version 6 provider server into a protocol version 5 provider server.