terraform/backend
Martin Atkins 9a62ab3014 command: "terraform show" renders plans like "terraform plan"
During the Terraform 0.12 work we briefly had a partial update of the old
Terraform 0.11 (and prior) diff renderer that could work with the new
plan structure, but could produce only partial results.

We switched to the new plan implementation prior to release, but the
"terraform show" command was left calling into the old partial
implementation, and thus produced incomplete results when rendering a
saved plan.

Here we instead use the plan rendering logic from the "terraform plan"
command, making the output of both identical.

Unfortunately, due to the current backend architecture that logic lives
inside the local backend package, and it contains some business logic
around state and schema wrangling that would make it inappropriate to move
wholesale into the command/format package. To allow for a low-risk fix to
the "terraform show" output, here we avoid some more severe refactoring by
just exporting the rendering functionality in a way that allows the
"terraform show" command to call into it.

In future we'd like to move all of the code that actually writes to the
output into the "command" package so that the roles of these components
are better segregated, but that is too big a change to block fixing this
issue.
2019-11-06 06:53:32 -08:00
..
atlas Change backend.ValidateConfig to PrepareConfig 2019-02-25 18:37:20 -05:00
init Replace import paths & set UA string where necessary 2019-10-11 22:40:54 +01:00
local command: "terraform show" renders plans like "terraform plan" 2019-11-06 06:53:32 -08:00
remote backend/remote: Support HCL variable values in local operations 2019-10-31 09:45:50 -07:00
remote-state add a new field ecs_role_name to support more scenario 2019-11-02 00:09:46 +08:00
backend.go backend: Allow certain commands to opt out of required variable checks 2019-10-10 10:07:01 -07:00
cli.go backend: Update interface and implementations for new config loader 2018-10-16 18:39:12 -07:00
nil.go Change backend.ValidateConfig to PrepareConfig 2019-02-25 18:37:20 -05:00
nil_test.go backend: introduce the backend set of interfaces 2017-01-26 14:33:49 -08:00
operation_type.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
operationtype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
testing.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
unparsed_value.go backend/remote: Report invalid variables only remotely 2019-10-18 11:31:19 -07:00
unparsed_value_test.go backend/local: Handle interactive prompts for variables in UI layer 2019-10-10 10:07:01 -07:00