terraform/configs/configupgrade/test-fixtures/valid
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
..
argument-commas configs/configupgrade: Test for removing commas between block arguments 2019-02-20 16:11:14 -08:00
block-as-list-attr configs/configupgrade: Upgrading of simple nested blocks 2018-12-04 11:37:39 -08:00
block-as-list-dynamic configs/configupgrade: Convert block-as-attr to dynamic blocks 2018-12-04 11:37:39 -08:00
block-as-list-dynamic-item configs/configupgrade: Convert block-as-attr to dynamic blocks 2018-12-04 11:37:39 -08:00
block-as-list-dynamic-nested configs/configupgrade: Convert block-as-attr to dynamic blocks 2018-12-04 11:37:39 -08:00
block-as-map-attr configs/configupgrade: Upgrading of simple nested blocks 2018-12-04 11:37:39 -08:00
depends-on configs/configupgrade: Upgrade depends_on in resources and outputs 2018-12-05 10:25:01 -08:00
element-of-set configs/configupgrade: Detect and fix element(...) usage with sets 2019-02-21 09:39:55 -08:00
funcs-replaced configs/configupgrade: Fix up internal HIL conversion functions 2019-02-20 14:01:53 -08:00
hash-of-file lang: New file-hashing functions 2019-01-25 10:18:44 -08:00
heredoc-flush configs/configupgrade: upgrade expressions inside heredocs 2019-02-20 12:56:44 -08:00
heredoc-no-interp configs/configupgrade: upgrade expressions inside heredocs 2019-02-20 12:56:44 -08:00
heredoc-sameline configs/configupgrade: upgrade expressions inside heredocs 2019-02-20 12:56:44 -08:00
heredoc-standard configs/configupgrade: upgrade expressions inside heredocs 2019-02-20 12:56:44 -08:00
ignore-changes-flatmap-colls configs/configupgrade: Silently ignore and trim .% .# in ignore_changes 2019-02-20 15:58:44 -08:00
interp-naked configupgrade: Basic expression formatting 2018-10-16 18:50:29 -07:00
lifecycle configs/configupgrade: Upgrade the resource "lifecycle" nested block 2018-12-05 10:25:01 -08:00
map-attr-as-block configs/configupgrade: Test that map attrs as blocks are fixed 2018-12-04 11:37:39 -08:00
nested-exprs-in-hcl configs/configupgrade: Upgrade expressions nested in HCL list/object 2018-12-04 11:37:39 -08:00
noop configs/configupgrade: Upgrade the bodies of "provisioner" blocks 2019-02-22 12:32:56 -08:00
noop-exprs configupgrade: Basic expression formatting 2018-10-16 18:50:29 -07:00
provider-addrs configs/configupgrade: Upgrade provider addresses 2018-12-05 10:25:01 -08:00
provisioner configs/configupgrade: Default arguments in "connection" blocks 2019-02-22 12:32:56 -08:00
redundant-list configs/configupgrade: Remove redundant list brackets 2018-12-07 17:05:36 -08:00
rename-json configupgrade: Basic expression formatting 2018-10-16 18:50:29 -07:00
rename-json-conflict configupgrade: Basic expression formatting 2018-10-16 18:50:29 -07:00
resource-count-ref configs/configupgrade: Fix up uses of the .count pseudo-attribute 2019-02-22 16:18:53 -08:00
traversals configs/configupgrade: Fix up references to counted/uncounted resources 2018-12-04 11:37:39 -08:00
variable-type configupgrade: Basic expression formatting 2018-10-16 18:50:29 -07:00