opentofu/internal
James Bardin 60d6e52021 a new method of ProposedNew set comparison
The existing set comparison method uses the prior elements with the computed
portions nulled out to find candidates to match the configuration. This
has the shortcoming of always removing optional+computed attributes,
because we have not yet found the configuration to know if attribute was
set or not.

Rather than having to take the most pessimistic value before comparison
to precompute the nulled values, we can compare each candidate directly,
walking the values in tandem. Each prior value is compared against the
config and checked to see if it could have been derived from that
configuration value, which allows us to treat optional+computed as
optional if there is config and computed if there is not.

This removes the ambiguity from having optional+computed attributes
within sets, giving us consistent plans when all values are known.
Unknown values of course are still undecidable, as are edge cases were
providers refresh with altered values or retained changed prior values
plan that were deemed not functionally significant.
2023-01-24 14:05:57 -05:00
..
addrs addrs: ModuleSourceRemote.String correctly handles query string in URL 2022-08-31 09:13:24 -07:00
backend Merge pull request #32395 from hashicorp/jbardin/plan-output-on-error 2023-01-04 12:44:52 -05:00
builtin s/trigger/triggers_replace/ 2022-12-05 15:23:57 -05:00
checks core: Propagate check results accurately from plan to apply 2022-08-26 15:47:29 -07:00
cloud Merge pull request #32261 from sivchari/fix-prealloc 2022-11-22 09:18:47 -05:00
command Structured plan renderer: Implement the main functionality for the renderer (#32496) 2023-01-12 17:59:07 +01:00
communicator fix typo in upload size check 2022-11-11 14:25:34 -05:00
configs Do not apply type defaults to null values 2022-09-15 15:32:36 -04:00
copy test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
dag Clarify some comments in internal/dag 2022-10-06 15:10:33 -07:00
depsfile Ignore existing package hashes for providers lock command (#31389) 2022-07-20 13:27:24 +01:00
didyoumean
e2e fix: pre allocate for composite literal 2022-11-22 02:20:54 +09:00
earlyconfig tfdiags: Expose the "extra information" concept from HCL 2022-06-23 13:52:23 -07:00
experiments build: Use Go 1.19 2022-08-22 10:59:12 -07:00
getmodules add XTerraformGetLimit to prevent redirect loops 2022-06-01 12:46:22 -04:00
getproviders build: Use Go 1.19 2022-08-22 10:59:12 -07:00
grpcwrap s/Capabilities/ServerCapabilities/ 2022-07-06 13:47:35 -04:00
helper/slowmessage remove wrapped streams and readline 2021-10-28 11:51:39 -04:00
httpclient backend/azurerm: removing ADAL support 2022-05-18 16:56:10 +02:00
initwd Use the apparentlymart/go-versions library to parse module constraints (#32377) 2022-12-14 17:02:11 +01:00
instances InstancesForModule should not panic 2021-12-17 13:31:41 -05:00
ipaddr build: Use Go 1.19 2022-08-22 10:59:12 -07:00
lang go get github.com/zclconf/go-cty-yaml@v1.0.3 2022-11-29 17:45:45 -08:00
legacy build: Use Go 1.19 2022-08-22 10:59:12 -07:00
logging cleanup panic output 2021-12-17 11:57:52 -05:00
modsdir Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
moduledeps
moduletest fixup broken test fixtures 2022-07-06 13:47:35 -04:00
plans a new method of ProposedNew set comparison 2023-01-24 14:05:57 -05:00
plugin s/Capabilities/ServerCapabilities/ 2022-07-06 13:47:35 -04:00
plugin6 fix: pre allocate for composite literal 2022-11-22 02:20:54 +09:00
provider-simple s/Capabilities/ServerCapabilities/ 2022-07-06 13:47:35 -04:00
provider-simple-v6 s/Capabilities/ServerCapabilities/ 2022-07-06 13:47:35 -04:00
provider-terraform/main
providercache providercache: Ignore lock-mismatching global cache entries 2022-11-04 16:18:15 -07:00
providers s/Capabilities/ServerCapabilities/ 2022-07-06 13:47:35 -04:00
provisioner-local-exec/main
provisioners
refactoring allow cross-package move statements (#31556) 2022-08-16 16:52:57 +02:00
registry revert "run goimports" 2022-08-01 16:26:26 -05:00
repl Unify all sensitive value plan output as "(sensitive value)" 2022-10-24 12:50:46 -06:00
replacefile Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
states normalize empty CheckResults fields in stateV4 2022-11-01 16:18:38 -04:00
terminal remove the use of panicwrap 2021-10-28 11:51:39 -04:00
terraform test references only from output preconditions 2023-01-05 10:01:25 -05:00
tfdiags build: Use Go 1.19 2022-08-22 10:59:12 -07:00
tfplugin5 go get cloud.google.com/go/storage@v1.28.0 (#32203) 2022-11-21 13:14:55 +00:00
tfplugin6 go get cloud.google.com/go/storage@v1.28.0 (#32203) 2022-11-21 13:14:55 +00:00