terraform/website/docs/commands
Martin Atkins 31a4b44d2e backend/local: treat output changes as side-effects to be applied
This is a baby-step towards an intended future where all Terraform actions
which have side-effects in either remote objects or the Terraform state
can go through the plan+apply workflow.

This initial change is focused only on allowing plan+apply for changes to
root module output values, so that these can be written into a new state
snapshot (for consumption by terraform_remote_state elsewhere) without
having to go outside of the primary workflow by running
"terraform refresh".

This is also better than "terraform refresh" because it gives an
opportunity to review the proposed changes before applying them, as we're
accustomed to with resource changes.

The downside here is that Terraform Core was not designed to produce
accurate changesets for root module outputs. Although we added a place for
it in the plan model in Terraform 0.12, Terraform Core currently produces
inaccurate changesets there which don't properly track the prior values.

We're planning to rework Terraform Core's evaluation approach in a
forthcoming release so it would itself be able to distinguish between the
prior state and the planned new state to produce an accurate changeset,
but this commit introduces a temporary stop-gap solution of implementing
the logic up in the local backend code, where we can freeze a snapshot of
the prior state before we take any other actions and then use that to
produce an accurate output changeset to decide whether the plan has
externally-visible side-effects and render any changes to output values.

This temporary approach should be replaced by a more appropriately-placed
solution in Terraform Core in a release, which should then allow further
behaviors in similar vein, such as user-visible drift detection for
resource instances.
2020-05-29 07:36:40 -07:00
..
providers docs: Minor spelling and typo fixes 2019-09-05 10:08:34 -07:00
state Merge pull request #23989 from tatsuo48/fix_sample_code 2020-05-21 15:03:52 -07:00
workspace website: Add `workspace show` command to sidebar nav (#20800) 2019-03-22 15:06:53 -07:00
0.13upgrade.html.markdown website: Add docs for 0.13upgrade 2020-05-11 15:38:16 -04:00
apply.html.markdown backend/local: treat output changes as side-effects to be applied 2020-05-29 07:36:40 -07:00
cli-config.html.markdown fixup docs 2020-04-23 10:52:01 -07:00
console.html.markdown website: fix typo on the "terraform console" command page 2019-04-10 12:17:28 -07:00
destroy.html.markdown Docs: reference resource by index, fixes #18184 2019-03-19 09:42:05 -07:00
env.html.markdown website: Reorganize nav sidebars to improve jumps between sections 2019-01-31 16:18:23 -08:00
environment-variables.html.md website: Edit text of new TF_IGNORE env var docs (#24788) 2020-05-14 13:35:27 -07:00
fmt.html.markdown website/docs: add the fmt -recursive flag. (#21963) 2019-07-05 13:32:57 -04:00
force-unlock.html.markdown website: Correct usage for force-unlock command 2017-07-18 09:02:29 -07:00
get.html.markdown website: new filesystem layout for core/provider split 2017-06-13 11:25:32 -07:00
graph.html.markdown Update docs to reflect current behavior 2020-01-08 16:51:42 -05:00
import.html.md website/docs: Fix a typo in the import command docs (#24622) 2020-04-10 08:54:19 -04:00
index.html.markdown website: Update example command list for 0.12 2019-08-16 15:55:29 -07:00
init.html.markdown website: Remove extra copy of "Running Terraform in Automation", update links 2020-02-05 14:58:30 -08:00
login.html.markdown website: Documentation for the "terraform login" command (#22727) 2020-02-04 11:30:40 -05:00
logout.html.markdown command/logout: Add terraform logout command 2020-02-06 15:00:55 -05:00
output.html.markdown Mildwonkey/docs updates (#22623) 2019-08-28 15:34:22 -04:00
plan.html.markdown backend/local: treat output changes as side-effects to be applied 2020-05-29 07:36:40 -07:00
providers.html.markdown command/providers: refactor with new provider types and functions 2020-04-10 15:08:10 -04:00
push.html.markdown website: Delete terraform push docs; replace with note about the remote backend 2019-08-16 15:55:29 -07:00
refresh.html.markdown command: New -compact-warnings option 2019-12-10 11:53:14 -08:00
show.html.markdown website: Indicate v0.12-only content 2019-03-18 12:42:21 -07:00
taint.html.markdown website: example of "terraform taint" with a grandchild module 2019-11-11 10:12:11 -08:00
untaint.html.markdown Update website/docs/commands/untaint.html.markdown 2019-08-06 21:18:20 +02:00
validate.html.markdown website / help: reconcile 'validate' command docs 2019-10-03 15:31:33 -07:00