mirror of
https://github.com/opentofu/opentofu.git
synced 2026-06-10 17:10:27 -04:00
|
Some checks failed
build / Build for freebsd_386 (push) Has been cancelled
build / Build for linux_386 (push) Has been cancelled
build / Build for openbsd_386 (push) Has been cancelled
build / Build for windows_386 (push) Has been cancelled
build / Build for freebsd_amd64 (push) Has been cancelled
build / Build for linux_amd64 (push) Has been cancelled
build / Build for openbsd_amd64 (push) Has been cancelled
build / Build for solaris_amd64 (push) Has been cancelled
build / Build for windows_amd64 (push) Has been cancelled
build / Build for freebsd_arm (push) Has been cancelled
build / Build for linux_arm (push) Has been cancelled
build / Build for linux_arm64 (push) Has been cancelled
build / Build for darwin_amd64 (push) Has been cancelled
build / Build for darwin_arm64 (push) Has been cancelled
build / End-to-end Tests for linux_386 (push) Has been cancelled
build / End-to-end Tests for windows_386 (push) Has been cancelled
build / End-to-end Tests for darwin_amd64 (push) Has been cancelled
build / End-to-end Tests for linux_amd64 (push) Has been cancelled
build / End-to-end Tests for windows_amd64 (push) Has been cancelled
Quick Checks / List files changed for pull request (push) Has been cancelled
Quick Checks / License Checks (push) Has been cancelled
Website checks / List files changed for pull request (push) Has been cancelled
Quick Checks / Unit tests for linux_386 (push) Has been cancelled
Quick Checks / Unit tests for linux_amd64 (push) Has been cancelled
Quick Checks / Unit tests for windows_amd64 (push) Has been cancelled
Quick Checks / Unit tests for linux_arm (push) Has been cancelled
Quick Checks / Unit tests for darwin_arm64 (push) Has been cancelled
Quick Checks / Unit tests for linux_arm64 (push) Has been cancelled
Quick Checks / Race Tests (push) Has been cancelled
Quick Checks / End-to-end Tests (push) Has been cancelled
Quick Checks / Code Consistency Checks (push) Has been cancelled
Website checks / Build (push) Has been cancelled
Website checks / Test Installation Instructions (push) Has been cancelled
Our new language runtime uses a set of new methods on SyncState to work with its preferred "full" representation of resource instance objects, but those are implemented in terms of methods that already existed for the old runtime's benefit and so we need to deal with some quirks of those existing methods. One such quirk is that the operations to write or remove objects also want to update some resource-level and instance-level metadata as a side-effect, and we need to carry through that metadata even when we're intending to completely remove a resource instance object. To preserve our goal of leaving the existing codepaths untouched for now, this pushes a little complexity back up into the main caller in the apply engine, forcing it to call a different method when it knows it has deleted an object. That new method then only takes the metadata we need and not an actual resource instance object, so it gels better with the underlying ModuleState methods it's implemented in terms of. Hopefully in the long run we'll rethink the state models to not rely on these hidden side-effects, but that's beyond the scope of our current phase of work on the new language runtime. Signed-off-by: Martin Atkins <mart@degeneration.co.uk> |
||
|---|---|---|
| .. | ||
| apply.go | ||
| operations.go | ||
| operations_provider.go | ||
| operations_resource.go | ||
| operations_resource_data.go | ||
| operations_resource_ephemeral.go | ||
| operations_resource_managed.go | ||
| request_tracker.go | ||