terraform-plugin-framework
terraform-plugin-framework copied to clipboard
A next-generation framework for building Terraform providers.
incidentally I was using HEAD of this repository in the course of debugging a very confusing issue with a non-null `int64` value getting nulled out on the way through parsing...
### Module version ``` v0.5.0 ``` ### Use-cases When attempting to setup a provider with [`terraform-plugin-log/tflog`](https://github.com/hashicorp/terraform-plugin-log/tflog), trying to add variables via [`tflog.With()`](https://github.com/hashicorp/terraform-plugin-log/tflog#With) or use subsystems requires each logging context to...
### terraform-plugin-go version ``` v0.4.0 ``` ### Use cases Consider the following type 👇🏼 ``` type Port struct { FromPort int `json:"fromPort" tfsdk:"from_port"` ToPort int `json:"toPort" tfsdk:"to_port"` } type Source...
### Version ``` v0.5.0 ``` ### Use-cases Providers can be running a variety of SDK packages and versions. Similar to the Terraform CLI: ```text 2021-12-23T16:20:04.565-0500 [INFO] Terraform version: 1.1.2 ```...
Currently, the framework is following a model of keeping everything as a `tftypes.Value` all the way through the framework, until the config, state, or plan tries to retrieve it, then...
### Module version ``` v0.3.0 ``` ### Use-cases There are sometimes occasions in which provider developers want to use unstructured output or input. See, for example, the [`kubernetes_manifest`](https://github.com/hashicorp/terraform-provider-kubernetes/tree/3cf97d066d26f29744a980a8354d673d68c1a12a/manifest) implementation, or...
### Module version ``` v0.4.2 ``` ### Use-cases Diagnostics can be generated at many logical layers of the framework or a provider. As diagnostics are elevated through a stack, it...
### Use-cases When Terraform outputs a provider schema, it only recognizes the built-in Terraform types, such as `String`, `Number`, `Bool` plus the collection types. The Terraform Plugin Framework overrides `Number`...
There are a few behaviors that `attr.Type` and `attr.Value` implementations must adhere to that aren't enforced through the compiler but can be trivially unit tested for. We should consider adding...
We keep using `Description` and `MarkdownDescription` everywhere. We should just capture them as a `Describer` interface we can include in other interfaces, so if we add or change things, it's...