terraform-plugin-framework icon indicating copy to clipboard operation
terraform-plugin-framework copied to clipboard

attr: Consider Dropping context.Context from Value Type() Method

Open bflad opened this issue 3 years ago • 1 comments

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

bflad avatar Oct 24 '22 13:10 bflad

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

bflad avatar Oct 24 '22 13:10 bflad