terraform/configs
Martin Atkins dd43926761 configs/configupgrade: Fix up uses of the .count pseudo-attribute
Terraform 0.11 and prior had an odd special case where a resource
attribute access for "count" would be resolved as the count for the
whole resource, rather than as an attribute of an individual instance as
for all other attributes.

Because Terraform 0.12 makes test_instance.foo appear as a list when count
is set (so it can be used in other expressions), it's no longer possible
to have an attribute in that position: lists don't have attributes.
Fortunately we don't really need that special case anymore since it
doesn't do anything we can't now do with the length(...) function.

This upgrade rule, then, detects references like test_instance.foo.count
and rewrites to length(test_instance.foo). As a special case, if
test_instance.foo doesn't have "count" set then it just rewrites as the
constant 1, which mimics what would've happened in that case in Terraform
0.11.
2019-02-22 16:18:53 -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: Fix up uses of the .count pseudo-attribute 2019-02-22 16:18:53 -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