hashicorp / hashicorp/terraform-plugin-framework
Default values in provider functions
- Dominant language
- Go
- Stars
- 384
- Forks
- 107
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Description
### Module version
```
github.com/hashicorp/terraform-plugin-framework v1.9.0
```
### Use-cases
Omit arguments in provider functions when the default is already the correct value.
e.g. My [provider function](https://registry.terraform.io/providers/germanbrew/dotenv/latest/docs/functions/get_by_key#example-usage) has a filename argument that often is the same value: `.env`
### Attempted Solutions
Setting defaults to provider functions in the Plugin Framework does not work or I was not able to.
### Proposal
Provide a additional `Default` key to the function definition to specify a default value to a parameter:
```go
func (r ExampleFunction) Definition(_ context.Context, _ function.DefinitionRequest, resp *function.DefinitionResponse) {
resp.Definition = function.Definition{
Summary: "Example function",
MarkdownDescription: "Foo bar",
Parameters: []function.Parameter{
function.StringParameter{
Name: "filename",
MarkdownDescription: "Path to the dotenv file",
// Add this
Default: ".env",
},
},
Return: function.StringReturn{},
}
}
```
### References
Contributor guide
Assessment
This issue has not been assessed yet.