mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-20 10:19:27 -05:00
The JSON object describing an input variable can now include two additional properties: - "type" provides a JSON representation of the variable's type constraint, if one is set. Omitted if either there is no constraint declared at all or if it's set to "any", which are equivalent and both mean that the type is completely unconstrained. This uses the standard cty representation of a type constraint, which matches how OpenTofu already describes types in the provider protocol, in state snapshots, and in saved plan files. - "required" directly represents whether callers are required to provide a value for the variable. This is technically redundant since it is set to true unless "default" is also set, but this avoids the need for consuming software to reimplement this rule and potentially allows us to make this rule more complicated/subtle in future if needed. For some reason the documentation about the JSON configuration representation did not previously mention the "variables" property at all, so this adds documentation for both the new properties and the pre-existing properties. Signed-off-by: Martin Atkins <mart@degeneration.co.uk>