terraform/configs
Martin Atkins 966eb39427 configs/configupgrade: Default arguments in "connection" blocks
Prior to Terraform v0.12 it was possible for a provider to secretly set
some default arguments for the "connection" block, which most commonly
included a hard-coded type of "ssh" and a value from "host".

In the interests of "explicit is better than implicit", Terraform 0.12 no
longer has this feature and instead requires connection settings to be
written explicitly in terms of the resource's exported attributes. For
compatibility though, the upgrade tool will insert expressions that are
as close as possible to the logic the provider formerly implemented, or
in a few rare cases a TF-UPGRADE-TODO comment to fix it up manually.

Some of the existing resource type implementations have incredibly
complicated implementations of selecting a single host IP address to use
and don't expose the result of that as an attribute, so for now we handle
those via a complicated Terraform language expression achieving the same
result. Ideally these providers would introduce a new attribute that
exports the same address formerly exported as the hostname before their
initial v0.12-compatible release, in which case we can simplify these to
just reference the attribute in question. That would be preferable also
because it would allow use of that exported attribute in other contexts,
such as in a null_resource provisioner somewhere else or in an output
to allow a caller to deal with the SSH part itself.
2019-02-22 12:32:56 -08:00
..
configload command: "terraform init" can partially initialize for 0.12upgrade 2019-01-14 11:33:21 -08:00
configschema plans/objchange: Hide sensitive attribute values in error messages 2019-02-11 17:26:50 -08:00
configupgrade configs/configupgrade: Default arguments in "connection" blocks 2019-02-22 12:32:56 -08:00
test-fixtures configs: New test cases for invalid interpolations in block labels 2018-12-19 15:54:33 -08:00
backend.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
compat_shim.go configs: Handle object constructor keys when shimming traversals 2018-10-16 18:49:20 -07:00
config.go various: helpers for collecting necessary provider types 2018-10-16 18:50:29 -07:00
config_build.go configs: use addrs.Module for module path, rather than []string 2018-10-16 18:46:46 -07:00
config_build_test.go configs/configload: package for loading configurations 2018-02-15 15:56:38 -08:00
config_test.go various: helpers for collecting necessary provider types 2018-10-16 18:50:29 -07:00
depends_on.go configs: quoted keywords/references are warnings, not errors 2018-02-15 15:56:39 -08:00
doc.go configs: Additional guidance in doc.go 2018-02-15 15:56:39 -08:00
module.go configs: Allow looking up resources by resource addresses. 2018-10-16 18:46:46 -07:00
module_call.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
module_call_test.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
module_merge.go configs: Re-unify the ManagedResource and DataResource types 2018-10-16 18:44:26 -07:00
module_merge_body.go configs: Export MergeBodies and new SynthBody function 2018-10-16 18:24:47 -07:00
module_merge_test.go configs: allow full type constraints for variables 2018-03-08 16:23:35 -08:00
named_values.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
parser.go command: 0.12upgrade command 2018-10-16 18:50:29 -07:00
parser_config.go configs: allow full type constraints for variables 2018-03-08 16:23:35 -08:00
parser_config_dir.go configload: Configuration snapshots 2018-10-16 18:50:29 -07:00
parser_config_dir_test.go configs: record the source directory for modules 2018-10-16 18:46:46 -07:00
parser_config_test.go Fix tests after upgrading hcl 2018-11-26 23:38:37 +00:00
parser_test.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
parser_values.go configs: Parser.LoadValuesFile 2018-02-15 15:56:37 -08:00
parser_values_test.go configs: update values file invalid syntax test for new HCL behavior 2018-03-08 11:17:39 -08:00
provider.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
provider_test.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
provisioner.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
provisioneronfailure_string.go configs: stub out main configuration structs 2018-02-15 15:56:37 -08:00
provisionerwhen_string.go configs: stub out main configuration structs 2018-02-15 15:56:37 -08:00
resource.go configs: Reserve various names for future use 2018-11-26 08:25:03 -08:00
synth_body.go configs: Export MergeBodies and new SynthBody function 2018-10-16 18:24:47 -07:00
synth_body_test.go configs: Export MergeBodies and new SynthBody function 2018-10-16 18:24:47 -07:00
util.go configs: allow overrides files to omit args that primary files can't 2018-02-15 15:56:38 -08:00
variable_type_hint.go configs: stub out main configuration structs 2018-02-15 15:56:37 -08:00
variabletypehint_string.go configs: stub out main configuration structs 2018-02-15 15:56:37 -08:00
version_constraint.go configs: Parser.LoadConfigFile 2018-02-15 15:56:37 -08:00