terraform/command
Martin Atkins c6a7d080d9 core: Generalize the idea of a "plan mode", vs just destroy flag
Previously there were only two planning modes: normal mode and destroy
mode. In that context it made sense for these to be distinguished only by
a boolean flag.

We're now getting ready to add our third mode, "refresh only". This
establishes the idea that planning can be done in one of a number of
mutually-exclusive "modes", which are related to but separate from the
various other options that serve as modifiers for the plan operation.

This commit only introduces the new plans.Mode type and replaces the
existing "destroy" flag with a variable of that type. This doesn't cause
any change in effective behavior because Terraform Core still supports
only NormalMode and DestroyMode, with NewContext rejecting an attempt to
create a RefreshMode context for now.

It is in retrospect a little odd that the "destroy" flag was part of
ContextOpts rather than just an argument to the Plan method, but
refactoring that would be too invasive a change for right now so we'll
leave this as a field of the context for now and save revisiting that for
another day.
2021-04-27 08:23:54 -07:00
..
arguments cli: Migrate validate command to views 2021-03-18 15:56:28 -04:00
cliconfig Grammar nit: "setup" as a verb should be spelled "set up" 2021-01-26 20:39:11 +01:00
clistate clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
e2etest Give suggestions & remind users to use required_providers when provider not in registry (#28014) 2021-03-11 08:54:18 -05:00
format "with" formatting 2021-04-06 15:50:30 -04:00
jsonconfig command/jsonconfig: Add variable sensitive flag 2021-03-26 19:26:11 -04:00
jsonplan command/jsonplan: Fix sensitive/unknown crash 2021-03-31 14:29:15 -04:00
jsonprovider command/jsonprovider: bump format version (#28115) 2021-03-22 11:45:36 -04:00
jsonstate don't marshal state with the wrong schema 2021-02-23 10:19:24 -05:00
testdata Add customized login success output for TFC/E 2021-04-21 21:23:42 -05:00
views cli: Diagnostics can include collections with sensitive elements 2021-04-19 11:58:49 -07:00
webbrowser command: Revert local patch for pkg/browser 2020-12-10 09:27:02 -05:00
apply.go backend/remote: Add IsLocalOperations 2021-04-16 11:43:57 -04:00
apply_destroy_test.go cli: Migrate apply to command views 2021-02-22 11:47:40 -05:00
apply_test.go cli: Migrate apply to command views 2021-02-22 11:47:40 -05:00
autocomplete.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
autocomplete_test.go command: use newer version of "complete" library 2017-12-05 10:24:04 -08:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
command.go cli: Remove legacy positional path arguments 2021-02-02 13:21:26 -05:00
command_test.go cli: Add initial command views abstraction 2021-02-11 15:06:39 -05:00
console.go lang/funcs: add (console-only) TypeFunction (#28501) 2021-04-23 10:29:50 -04:00
console_interactive.go move remaining helper packages to internal 2021-01-20 13:54:00 -05:00
console_interactive_solaris.go command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
console_test.go Mildwonkey/providers interface renaming (#27805) 2021-02-18 10:13:43 -05:00
flag_kv.go cli: Improve error for invalid -target flags 2021-02-08 13:48:04 -05:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
fmt.go cli: Fix fmt output for multi-line value exprs 2021-03-25 15:40:54 -04:00
fmt_test.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
get.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
get_test.go cli: Remove legacy positional path arguments 2021-02-02 13:21:26 -05:00
graph.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
graph_test.go cli: Remove positional plan argument from graph 2021-02-02 13:21:26 -05:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
import.go command: Reorganize docs of the local backend's legacy CLI options 2021-03-25 13:56:48 -07:00
import_test.go Mildwonkey/providers interface renaming (#27805) 2021-02-18 10:13:43 -05:00
init.go cli: Only rewrite provider locks file if changed 2021-03-29 16:09:07 -04:00
init_test.go cli: Only rewrite provider locks file if changed 2021-03-29 16:09:07 -04:00
login.go Split off error MOTD error logging 2021-04-22 09:05:57 -05:00
login_test.go Add customized login success output for TFC/E 2021-04-21 21:23:42 -05:00
logout.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
logout_test.go command/logout: Add terraform logout command 2020-02-06 15:00:55 -05:00
meta.go Add purple to the list of colorstring codes 2021-04-21 21:35:45 -05:00
meta_backend.go call the InConfigBody with addresses 2021-04-06 15:15:52 -04:00
meta_backend_migrate.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
meta_backend_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
meta_config.go cli: Add initial command views abstraction 2021-02-11 15:06:39 -05:00
meta_dependencies.go command/init: Read, respect, and update provider dependency locks 2020-10-09 09:26:23 -07:00
meta_new.go prune dead code from command/meta 2019-07-18 16:11:41 -04:00
meta_providers.go command: Experimental "terraform test" command 2021-02-22 14:21:45 -08:00
meta_test.go command staticcheck 2020-12-02 13:59:19 -05:00
meta_vars.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
output.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
output_test.go views: Expand test coverage for views.Output 2021-02-16 08:48:31 -05:00
plan.go cli: Fix remote backend UI issues 2021-04-16 08:28:33 -04:00
plan_test.go Fix broken test 2021-03-22 16:38:56 -04:00
plugins.go run built-in provisioners in-process 2020-12-02 12:45:00 -05:00
plugins_lock.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
plugins_lock_test.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
plugins_test.go Mildwonkey/providers interface renaming (#27805) 2021-02-18 10:13:43 -05:00
providers.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
providers_lock.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
providers_mirror.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
providers_schema.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
providers_schema_test.go add support for attributes with nested types in providers schema (#28055) 2021-03-12 08:28:22 -05:00
providers_test.go internal: Fix lockfile constraint output for 1.2.* 2020-10-20 10:14:03 -04:00
push.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
refresh.go command: Reorganize docs of the local backend's legacy CLI options 2021-03-25 13:56:48 -07:00
refresh_test.go cli: Migrate refresh to command views 2021-02-22 11:58:52 -05:00
show.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
show_test.go backend/local: Replace CLI with view instance 2021-02-18 12:08:08 -05:00
state_command.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_list.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_list_test.go command/state list: list resources in nested and expanded modules (#27268) 2020-12-14 11:07:15 -05:00
state_meta.go command/state list: list resources in nested and expanded modules (#27268) 2020-12-14 11:07:15 -05:00
state_mv.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_mv_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
state_pull.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_pull_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
state_push.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_push_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
state_replace_provider.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_replace_provider_test.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_rm.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_rm_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
state_show.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
state_show_test.go Mildwonkey/providers interface renaming (#27805) 2021-02-18 10:13:43 -05:00
state_test.go command: Allow tests to run to completion without panics or hangs 2018-10-16 19:14:11 -07:00
taint.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
taint_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
test.go core: Generalize the idea of a "plan mode", vs just destroy flag 2021-04-27 08:23:54 -07:00
test_test.go command: Experimental "terraform test" command 2021-02-22 14:21:45 -08:00
ui_input.go Exit with error if UI input scan fails (#26509) 2020-10-21 14:10:06 -04:00
ui_input_test.go Exit with error if UI input scan fails (#26509) 2020-10-21 14:10:06 -04:00
unlock.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
unlock_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
untaint.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
untaint_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
validate.go cli: Migrate validate command to views 2021-03-18 15:56:28 -04:00
validate_test.go cli: Migrate validate command to views 2021-03-18 15:56:28 -04:00
version.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
version_test.go Remove revision from version command 2021-01-12 16:35:30 -05:00
workspace_command.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
workspace_command_test.go clistate: Update clistate.Locker for command views 2021-02-16 07:19:22 -05:00
workspace_delete.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
workspace_list.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
workspace_new.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
workspace_select.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00
workspace_show.go cli: Add reference to global options to help text 2021-02-22 09:25:56 -05:00