pulumi/pkg/backend/display
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
..
internal/terminal Add vim shortcuts and Home and End Keys to terminal (#15418) 2024-02-24 08:31:36 +00:00
testdata Don't rewrite step operations following failure (#16292) 2024-05-31 10:48:07 +00:00
wasm [display] Enable WASM compilation (#16246) 2024-05-24 20:27:56 +00:00
diff.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
diff_test.go Fix JSON/YAML diffs (#15171) 2024-01-18 14:19:54 +00:00
display.go display: only hide replacement steps in diff (#16065) 2024-04-26 14:54:21 +00:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
events.go be consistent in the way we round seconds (#16070) 2024-04-29 08:46:36 +00:00
events_test.go Don't omit an empty detailedDiff (#15213) 2024-01-23 00:00:14 +00:00
json.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
jsonmessage.go Decouple persist and display events (#15709) 2024-03-18 16:53:13 +00:00
object_diff.go Fix mangled diffs of strings containing url-encoded chars (#16147) 2024-05-08 08:23:40 +00:00
object_diff_test.go Fix a panic in diff display when parsing YAML strings (#14710) 2023-12-02 01:24:13 +00:00
options.go Add display to the engine tests (#16050) 2024-05-13 07:18:25 +00:00
progress.go Don't re-delete resources that are `PendingReplacement` (#16510) 2024-06-28 23:16:20 +00:00
progress_test.go Display `[retain]` in all cases of delete retention (#16506) 2024-06-28 23:19:26 +00:00
query.go Add `--suppress-progresss` flag to CLI (#14690) 2024-02-05 11:48:10 +00:00
rows.go Display `[retain]` in all cases of delete retention (#16506) 2024-06-28 23:19:26 +00:00
sigint_unix.go [cli] Reimplement the interactive renderer 2022-11-07 22:02:44 -08:00
sigint_windows.go [cli] Reimplement the interactive renderer 2022-11-07 22:02:44 -08:00
tableutil.go [color] Use graphemes to measure strings. 2022-11-09 08:23:00 -08:00
tree.go Add display to the engine tests (#16050) 2024-05-13 07:18:25 +00:00
tree_test.go fix deadlock in stopwatch mutex (#16129) 2024-05-06 16:28:18 +00:00
watch.go turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00