diff --git a/manifest.yml b/manifest.yml index ce75e9c..c60acdf 100644 --- a/manifest.yml +++ b/manifest.yml @@ -34,6 +34,9 @@ terraform_binaries: - name: terraform-provider-template version: 2.2.0 source: https://releases.hashicorp.com/terraform-provider-template/2.2.0/terraform-provider-template_2.2.0_linux_amd64.zip +- name: terraform-provider-time + version: 0.8.0 + source: https://releases.hashicorp.com/terraform-provider-time/0.8.0/terraform-provider-time_0.8.0_linux_amd64.zip service_definitions: - solr-cloud.yml diff --git a/terraform/ecs/provision/lb-follower.tf b/terraform/ecs/provision/lb-follower.tf index 71e2806..f58c33c 100644 --- a/terraform/ecs/provision/lb-follower.tf +++ b/terraform/ecs/provision/lb-follower.tf @@ -52,6 +52,10 @@ resource "aws_lb_listener" "https_response-follower" { type = "forward" target_group_arn = aws_lb_target_group.solr-follower-target[count.index].id } + + depends_on = [ + time_sleep.cert_validate + ] } resource "aws_lb_target_group" "solr-follower-target" { @@ -96,6 +100,10 @@ resource "aws_lb_listener" "https_response-follower-individual" { type = "forward" target_group_arn = aws_lb_target_group.solr-follower-individual-target[count.index].id } + + depends_on = [ + time_sleep.cert_validate + ] } diff --git a/terraform/ecs/provision/lb-leader.tf b/terraform/ecs/provision/lb-leader.tf index 8553763..2972af5 100644 --- a/terraform/ecs/provision/lb-leader.tf +++ b/terraform/ecs/provision/lb-leader.tf @@ -49,6 +49,10 @@ resource "aws_lb_listener" "https_response" { type = "forward" target_group_arn = aws_lb_target_group.solr-target.id } + + depends_on = [ + time_sleep.cert_validate + ] } resource "aws_lb_target_group" "solr-target" { diff --git a/terraform/ecs/provision/ssl.tf b/terraform/ecs/provision/ssl.tf index eac0f09..e0e39d4 100644 --- a/terraform/ecs/provision/ssl.tf +++ b/terraform/ecs/provision/ssl.tf @@ -29,3 +29,13 @@ resource "aws_acm_certificate_validation" "cert" { certificate_arn = aws_acm_certificate.cert.arn validation_record_fqdns = [aws_route53_record.cert_validation.fqdn] } + +resource "time_sleep" "cert_validate" { + depends_on = [ + aws_acm_certificate.cert, + aws_acm_certificate_validation.cert, + aws_route53_record.cert_validation + ] + + create_duration = "15s" +}