terraform/internal/lang
James Bardin eaf225a871 allow inconsistent function results for providers
Due to the inherently ephemeral nature of provider configuration,
inconsistent function results were tolerated while evaluating provider
config. This loophole was found to be used by a number of
configurations, which took advantage of it to create the equivalent of
ephemeral values before they formally existed in the language.

In order to work around this, we create a special evaluation scope just
for providers, allowing us to override the results check for filesystem
functions. I've opted to not further clutter the EvalContext interface
since this is intended to be a temporary workaround, and does not
contribute to the testing of that interface (the interface is solely for
internal unit tests anyway).
2025-10-31 13:07:04 -04:00
..
blocktoattr fix Descendants spelling 2024-10-09 11:09:02 -04:00
ephemeral write-only attributes: internal providers should set write-only attributes to null (#36824) 2025-04-02 15:58:42 +02:00
format create lang/format package 2025-02-10 15:59:55 -05:00
funcs standardize on marks.Has 2025-10-09 14:48:13 +02:00
globalref relevant attributes: strip out invalid relevant attributes from the plan (#37290) 2025-07-09 13:05:10 +02:00
langrefs langrefs: Separate package for expression reference analysis 2024-03-12 08:43:55 -07:00
marks don't add paths multiple times in PathsWithMark 2025-03-03 13:22:12 -05:00
testdata/functions-test Move lang/ to internal/lang/ 2021-05-17 14:09:07 -07:00
types Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
checks.go lang: Add Extra to avoid duplicate diagnostic in check blocks (#35944) 2024-11-04 11:16:13 +00:00
data.go Introduce 'run' keyword for referencing outputs from earlier run blocks (#33683) 2023-08-16 11:06:00 +02:00
data_test.go Introduce 'run' keyword for referencing outputs from earlier run blocks (#33683) 2023-08-16 11:06:00 +02:00
doc.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
eval.go actions: remove references to action types, linked resources (#37616) 2025-09-16 08:46:22 -04:00
eval_test.go ephemeral lang eval test 2024-09-13 09:43:06 -04:00
function_results.go don't cache unknown function results 2025-10-24 09:52:37 -04:00
function_results_test.go don't cache unknown function results 2025-10-24 09:52:37 -04:00
functions.go allow inconsistent function results for providers 2025-10-31 13:07:04 -04:00
functions_descriptions_test.go check function descriptions directly 2023-12-20 15:28:38 -05:00
functions_test.go plantimestamp can be unknown during validation 2024-10-25 09:39:00 -04:00
scope.go allow inconsistent function results for providers 2025-10-31 13:07:04 -04:00