cloudposse / terraform-aws-elasticache-redis

Terraform module to provision an ElastiCache Redis Cluster

Home Page:https://cloudposse.com/accelerate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Count depends on resource to be created when zone_id is used

kuczko opened this issue · comments

Describe the Bug

When i am using this module with zone_id (while zone is not created yet) it results with using terraform-aws-route53-cluster-hostname module, which fails to run as it is using count value which is actually output of another resource to be created.

It results with error:

Error: Invalid count argument

on .terraform/modules/redis.dns/main.tf line 2, in resource "aws_route53_record" "default":
2: count = module.this.enabled ? 1 : 0

The "count" value depends on resource attributes that cannot be determined
until apply, so Terraform cannot predict how many instances will be created.

Expected Behavior

The resource should be able to be created from scratch without count value being unknown at the plan time - it should be possible to create the whole infrastructure at the single run, without using --target to resolve dependencies.

Steps to Reproduce

I believe that using any configuration with this module on version 0.24.0 with zone_id, where zone is to be created will trigger an error.

Environment (please complete the following information):

  • OS:Linux
  • Terraform version 12.23
  • Version: 0.24.0
commented

This is a general and pervasive problem with Terraform. Resolving it would require breaking changes to the module inputs (in this case changing the type of zone_id from string to list and then validating that the list contains no more than 1 item). Considering that DNS Zones are generally very long lived, this does not seem like the kind of change worth breaking backward compatibility for.