Terraform
Float32 return values
Tip
Use Int32 Return for 32-bit integer numbers. Use Number Return for arbitrary precision numbers.
Float32 function return expects a 32-bit floating point number value from function logic. Set values in function logic with the Go built-in float32 type, Go built-in *float32 type, or the framework float32 type.
Function Definition
Use the function.Float32Return type in the function definition.
In this example, a function definition includes a float32 return:
func (f ExampleFunction) Definition(ctx context.Context, req function.DefinitionRequest, resp *function.DefinitionResponse) {
resp.Definition = function.Definition{
// ... other Definition fields ...
Return: function.Float32Return{
// ... potentially other Float32Return fields ...
},
}
}
Custom Types
You may want to build your own data value and type implementations to allow your provider to combine validation and other behaviors into a reusable bundle. This helps avoid duplication and ensures consistency. These implementations use the CustomType field in the return type.
Refer to Custom Types for further details on creating provider-defined types and values.
Documentation
Return documentation is expected in the top-level function documentation. Refer to function documentation for information about the Summary, Description, and MarkdownDescription fields available.
Setting Return Data
The function implementation documentation covers the general methods for setting function return data in function logic.
When setting the value for this return:
- If
CustomTypeis set, use its associated value type. - Otherwise, use the Go built-in
float32type, Go built-in*float32type, or framework float32 type.
In this example, a function defines a float32 return and sets its value:
func (f ExampleFunction) Definition(ctx context.Context, req function.DefinitionRequest, resp *function.DefinitionResponse) {
resp.Definition = function.Definition{
// ... other Definition fields ...
Return: function.Float32Return{},
}
}
func (f ExampleFunction) Run(ctx context.Context, req function.RunRequest, resp *function.RunResponse) {
// ... other logic ...
// hardcoded value for example brevity
var result float32 = 1.23
resp.Error = function.ConcatFuncErrors(resp.Error, resp.Result.Set(ctx, &result))
}