terraform-plugin-mux

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2023 License: MPL-2.0

README

PkgGoDev

terraform-plugin-mux

terraform-plugin-mux provides a method for combining Terraform providers built in multiple different SDKs and frameworks to be combined into a single logical provider for Terraform to work with. It is designed to allow provider developers to implement resources and data sources at the level of abstraction that is most suitable for that specific resource or data source, and to allow provider developers to upgrade between SDKs or frameworks on a resource-by-resource basis instead of all at once.

Status

terraform-plugin-mux is a Go module versioned using semantic versioning.

The module is currently on a v0 major version, indicating our lack of confidence in the stability of its exported API. Developers depending on it should do so with an explicit understanding that the API may change and shift until we hit v1.0.0, as we learn more about the needs and expectations of developers working with the module.

We are confident in the correctness of the code and it is safe to build on so long as the developer understands that the API may change in backwards incompatible ways and they are expected to be tracking these changes.

Compatibility

Providers built on terraform-plugin-mux will only be usable with Terraform v0.12.0 and later. Developing providers for versions of Terraform below 0.12.0 is unsupported by the Terraform Plugin SDK team.

Providers built on the Terraform Plugin SDK must be using version 2.2.0 of the Plugin SDK or higher to be able to be used with terraform-plugin-mux.

Go Compatibility

This project follows the support policy of Go as its support policy. The two latest major releases of Go are supported by the project.

Currently, that means Go 1.19 or later must be used when including this project as a dependency.

Documentation

  • Website Documentation: Getting started, usage, and testing information: terraform.io.
  • Go Documentation: Go language types, functions, and method implementation information: pkg.go.dev.
  • Documentation Requests: Open a GitHub issue.

Contributing

Refer to .github/CONTRIBUTING.md. The website directory README contains details about how to contribute to the documentation on terraform.io.

License

This module is licensed under the Mozilla Public License v2.0.

Directories

Path Synopsis
internal
logging
Package logging contains shared environment variable and log functionality.
Package logging contains shared environment variable and log functionality.
tf5dynamicvalue
Package tf5dynamicvalue contains shared *tfprotov5.DynamicValue functions.
Package tf5dynamicvalue contains shared *tfprotov5.DynamicValue functions.
tf6dynamicvalue
Package tf6dynamicvalue contains shared *tfprotov6.DynamicValue functions.
Package tf6dynamicvalue contains shared *tfprotov6.DynamicValue functions.
Package tf5muxserver combines multiple provider servers that implement protocol version 5, into a single server.
Package tf5muxserver combines multiple provider servers that implement protocol version 5, into a single server.
Package tf5to6server translates a provider that implements protocol version 5, into one that implements protocol version 6.
Package tf5to6server translates a provider that implements protocol version 5, into one that implements protocol version 6.
Package tf6muxserver combines multiple provider servers that implement protocol version 6, into a single server.
Package tf6muxserver combines multiple provider servers that implement protocol version 6, into a single server.
Package tf6to5server translates a provider that implements protocol version 6, into one that implements protocol version 5.
Package tf6to5server translates a provider that implements protocol version 6, into one that implements protocol version 5.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL