pulumi/pkg/engine
Will Jones b4ee9680a0
Display `[retain]` in all cases of delete retention (#16506)
When the `RetainOnDelete` resource option is set, the console should
display `[retain]` next to resources which are being deleted from the
Pulumi program to indicate that, while the Pulumi state for those
resources will be deleted, the provider will not be instructed to
actually `Delete` the resource (effectively leaving the resource
unmanaged).

Currently, Pulumi decides whether or not to add the `[retain]` text by
inspecting resource state attached to a display step. However, there are
two places in which a display step is constructed:

* As part of normal/"in-memory" execution, whereby resource state is
inherently available and attached to the display step.
* As part of deserializing an existing JSON event stream (e.g. from a
Pulumi REST API call), whereby resource state is _not_ available and so
absent (`nil`) from the display step. This is also the codepath taken by
display tests.

The absence of the state in the latter codepath means that `[retain]` is
not displayed. This needn't be the case however. The `RetainOnDelete`
option is explicitly persisted in our JSON events and copied on to the
display step, so we can just use that instead. This commit makes this
change. Additionally, the single test we have for `RetainOnDelete` is
pulled out into its own file and display testing is now enabled for that
test.
2024-06-28 23:19:26 +00:00
..
lifecycletest Display `[retain]` in all cases of delete retention (#16506) 2024-06-28 23:19:26 +00:00
combinedManager.go Test SnapshotManager and Journal in engine tests (#15871) 2024-04-11 22:54:08 +00:00
deployment.go Change `pulumi refresh` to report diff relative to desired state instead of relative to only output changes (#16146) 2024-06-12 16:17:05 +00:00
deployment_test.go Clean up deployment options (#16357) 2024-06-11 13:37:57 +00:00
destroy.go Clean up deployment options (#16357) 2024-06-11 13:37:57 +00:00
detailedDiff.go Change `pulumi refresh` to report diff relative to desired state instead of relative to only output changes (#16146) 2024-06-12 16:17:05 +00:00
detailedDiff_test.go Change `pulumi refresh` to report diff relative to desired state instead of relative to only output changes (#16146) 2024-06-12 16:17:05 +00:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
engine.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
errors.go Clean up uses of .Error() (#14965) 2023-12-20 15:54:06 +00:00
events.go Move assets and archives to their own package (#15157) 2024-01-25 20:39:31 +00:00
events_test.go Do not panic when sending events to closed emitter (#10489) 2022-08-25 12:43:10 -04:00
eventsink.go turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00
import.go Clean up deployment options (#16357) 2024-06-11 13:37:57 +00:00
journal.go turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00
plugin_host.go [conformance tests] Fix run root and use program info everywhere (#15191) 2024-01-25 23:28:58 +00:00
plugins.go Refactor: move plugin kind to apitype (#15946) 2024-04-25 17:30:30 +00:00
plugins_test.go Refactor: move plugin kind to apitype (#15946) 2024-04-25 17:30:30 +00:00
project.go Update error handling (#8406) 2021-11-12 18:37:17 -08:00
query.go [conformance tests] Fix run root and use program info everywhere (#15191) 2024-01-25 23:28:58 +00:00
refresh.go Clean up deployment options (#16357) 2024-06-11 13:37:57 +00:00
snapshot.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
update.go Change `pulumi refresh` to report diff relative to desired state instead of relative to only output changes (#16146) 2024-06-12 16:17:05 +00:00
update_test.go turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00