opentofu/command
Martin Atkins b0a43cab84 command: "terraform fmt" must fail if file has invalid syntax
Since the HCL formatter only works with tokens, it can in principle be
called with any input and produce some output. However, when given invalid
syntax it will tend to produce nonsensical results that may drastically
change the input file and be hard for the user to undo.

Since there's no strong reason to try to format an invalid or incomplete
file, we'll instead try parsing first and fail if parsing does not
complete successfully.

Since we talk directly to the HCL API here this is only a _syntax_ check,
and so it can be applied to files that are invalid in other ways as far
as Terraform is concerned, such as using unsupported top-level block types,
resource types that don't exist, etc.
2019-01-17 14:21:18 -08:00
..
clistate terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
e2etest command/e2etest: Temporarily disable tests that access network 2018-11-19 09:02:35 -08:00
format command/format: Render empty object as {} 2019-01-15 14:34:49 +00:00
jsonconfig command/show: tests for -json output (#19980) 2019-01-11 15:13:55 -08:00
jsonplan command/show: tests for -json output (#19980) 2019-01-11 15:13:55 -08:00
jsonstate command/show: tests for -json output (#19980) 2019-01-11 15:13:55 -08:00
test-fixtures command: "terraform init" can partially initialize for 0.12upgrade 2019-01-14 11:33:21 -08:00
testdata Have backend operations properly unlock state 2017-02-15 14:41:55 -05:00
012_config_upgrade.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
apply_destroy_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
apply_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
apply.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
autocomplete_test.go command: use newer version of "complete" library 2017-12-05 10:24:04 -08:00
autocomplete.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
command_test.go command: "terraform init" can partially initialize for 0.12upgrade 2019-01-14 11:33:21 -08:00
command.go Implement the Enterprise enhanced remote backend 2018-08-03 22:22:55 +02: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_interactive.go command: update "terraform console" for HCL2 2018-10-16 18:46:46 -07:00
console_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
console.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
debug_command.go Add debug command with json2dot 2016-11-21 11:59:20 -05:00
debug_json2dot_test.go cleanup temp files from command tests 2018-03-28 13:08:38 -04:00
debug_json2dot.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
flag_kv.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
fmt_test.go command: "terraform fmt" must fail if file has invalid syntax 2019-01-17 14:21:18 -08:00
fmt.go command: "terraform fmt" must fail if file has invalid syntax 2019-01-17 14:21:18 -08:00
get_test.go update tests for updated output 2017-11-03 11:13:31 -04:00
get.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
graph_test.go command: Fix TestGraph_plan 2018-10-16 19:14:11 -07:00
graph.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
hook_ui_test.go command: Reinstate object ids in the UIHook progress logs 2018-10-16 19:14:11 -07:00
hook_ui.go command: go fmt 2018-10-16 19:14:11 -07:00
import_test.go Bump installer protocol version to 5 and separate client and server protocol references 2019-01-16 15:07:57 -06:00
import.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
init_test.go command: "terraform init" can partially initialize for 0.12upgrade 2019-01-14 11:33:21 -08:00
init.go Bump installer protocol version to 5 and separate client and server protocol references 2019-01-16 15:07:57 -06:00
internal_plugin_list.go v0.11.2 2018-01-09 23:13:33 +00:00
internal_plugin_test.go create a new InternalProviders test 2018-01-05 10:59:30 -05:00
internal_plugin.go create a new InternalProviders test 2018-01-05 10:59:30 -05:00
meta_backend_migrate.go command: More logging during migration 2018-11-19 09:02:35 -08:00
meta_backend_test.go missing commits from 19688 2018-12-18 16:54:09 -08:00
meta_backend.go decode backend hash as uint64 2018-12-18 17:57:44 -05:00
meta_config.go command: "terraform init" can partially initialize for 0.12upgrade 2019-01-14 11:33:21 -08:00
meta_new.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
meta_test.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
meta_vars.go Add a VariableSourceType for names .tfvars files 2018-11-05 19:29:34 +01:00
meta.go command: Always normalize config path before operations 2018-12-19 13:47:42 -08:00
output_test.go command: Restore the "terraform output" functionality 2018-10-16 19:14:11 -07:00
output.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
plan_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
plan.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
plugins_lock_test.go cleanup temp files from command tests 2018-03-28 13:08:38 -04:00
plugins_lock.go Standardize on log level "WARN" rather than "WARNING" 2018-01-16 18:05:26 -08:00
plugins_test.go command: Update plugins_test.go for new provider types 2018-10-16 19:14:11 -07:00
plugins.go update provisioners for multiple processes 2018-10-16 19:14:11 -07:00
providers_test.go command: Fix tests for "terraform providers" 2018-10-16 19:14:11 -07:00
providers.go command: allow -no-color option on "providers" command 2018-12-17 10:55:16 -08:00
push.go command: remove "terraform push" 2018-10-16 18:24:47 -07:00
refresh_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
refresh.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
show_test.go command/show: tests for -json output (#19980) 2019-01-11 15:13:55 -08:00
show.go json output of terraform plan (#19687) 2018-12-19 11:08:25 -08:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list_test.go command/state: update and fix the state list command 2018-10-19 16:31:12 +02:00
state_list.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
state_meta.go Implement the remote enhanced backend 2018-11-06 16:29:46 +01:00
state_mv_test.go command/state: update and fix the state mv command 2018-10-27 15:01:07 +02:00
state_mv.go command/state: add proper locking 2019-01-08 14:57:52 +01:00
state_pull_test.go command: Use statemgr.Import and statemgr.Export for state push and pull 2018-11-19 09:02:35 -08:00
state_pull.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
state_push_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
state_push.go command/state: add proper locking 2019-01-08 14:57:52 +01:00
state_rm_test.go command/state: update and fix the state mv command 2018-10-27 15:01:07 +02:00
state_rm.go command/state: add proper locking 2019-01-08 14:57:52 +01:00
state_show_test.go command/state: update and fix the state show command 2018-10-27 15:15:25 +02:00
state_show.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
state_test.go command: Allow tests to run to completion without panics or hangs 2018-10-16 19:14:11 -07:00
taint_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
taint.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
ui_input_test.go command: use bufio.ReadString instead of scanning to get spaces 2016-08-22 12:59:48 -07:00
ui_input.go command: initial work on migrating envs, basic cases first 2017-03-01 10:59:17 -08:00
unlock_test.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
unlock.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
untaint_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
untaint.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
validate_test.go Fix tests after upgrading hcl 2018-11-26 23:38:37 +00:00
validate.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
version_test.go Implement CLI, version command 2014-05-24 12:04:43 -07:00
version.go command: Include provider versions in "terraform version" 2017-10-25 17:36:24 -07:00
workspace_command_test.go command: Fix TestWorkspace_createWithState 2018-11-08 08:57:11 -08:00
workspace_command.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
workspace_delete.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
workspace_list.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
workspace_new.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
workspace_select.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
workspace_show.go commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00