terraform/configs/testdata
Martin Atkins 0bbbb9c64b configs: Experimental support for optional object type attributes
This builds on an experimental feature in the underlying cty library which
allows marking specific attribtues of an object type constraint as
optional, which in turn modifies how the cty conversion package handles
missing attributes in a source value: it will silently substitute a null
value of the appropriate type rather than returning an error.

In order to implement the experiment this commit temporarily forks the
HCL typeexpr extension package into a local internal/typeexpr package,
where I've extended the type constraint syntax to allow annotating object
type attributes as being optional using the HCL function call syntax.
If the experiment is successful -- both at the Terraform layer and in
the underlying cty library -- we'll likely send these modifications to
upstream HCL so that other HCL-based languages can potentially benefit
from this new capability.

Because it's experimental, the optional attribute modifier is allowed only
with an explicit opt-in to the module_variable_optional_attrs experiment.
2020-10-12 10:12:28 -07:00
..
config-build Standardise directory name for test data 2019-06-30 10:16:15 +02:00
dir-empty move IsEmptyDir to configs package 2019-07-18 13:07:10 -04:00
error-files addrs: Disallow provider source addresses starting with terraform- 2020-07-08 10:18:55 -07:00
experiments experiments: a mechanism for opt-in experimental language features 2019-12-10 09:27:05 -08:00
invalid-files Remove sensitive_variables experiment 2020-10-08 11:22:20 -04:00
invalid-modules configs: Experimental support for optional object type attributes 2020-10-12 10:12:28 -07:00
nested-errors ensure we record diagnostics from nested modules 2019-07-16 19:06:48 -04:00
provider-reqs configs: Fix nested provider requirements bug 2020-06-22 12:16:22 -04:00
providers-explicit-fqn addrs: ImpliedProviderForUnqualifiedType function 2020-04-06 09:24:23 -07:00
valid-files Add JSON test case for variable sensitive flag 2020-10-08 13:13:32 -04:00
valid-modules Remove sensitive_variables experiment 2020-10-08 11:22:20 -04:00
warning-files configs: Experimental support for optional object type attributes 2020-10-12 10:12:28 -07:00