terraform-plugin-framework
terraform-plugin-framework copied to clipboard
attr: Consider Dropping context.Context from Value Type() Method
Module version
v0.14.0
Use-cases
attr.Value in the framework type system must be able to return their associated attr.Type. This is handled via the Type(context.Context) attr.Type method today. While the appropriate context.Context is generally available, there are places where it may not be, such as types package value creation functions.
Attempted Solutions
Either adding context.Context to all potential callers that may eventually call Type() or working around it via:
ctx := context.Background()
// ... Type(ctx) ...
Proposal
Type information should be very static and not require special logic where the context.Context is especially helpful (e.g. logging). Therefore, we may be able to drop the parameter to remove this awkwardness.
References
- https://github.com/hashicorp/terraform-plugin-framework/pull/502#discussion_r1002972093
Upstream terraform-plugin-go's (tftypes.Value).Type() does not require the context: https://pkg.go.dev/github.com/hashicorp/[email protected]/tftypes#Value.Type