A configuração padrão para "wait_for_ready_timeout" é de 20 minutos. Dentro do recurso "aws_elastic_beanstalk_application_version" eu configurei isso para 40m com a esperança de substituir o padrão. Só funcionará 20 minutos e tempo limite.
Eu entrei no console da AWS e fiz isso manualmente. Eu vi fazendo isso manualmente no console da AWS que essa etapa leva um pouco mais de 20 minutos. Eu não entendo porque é o tempo limite aos 20 anos, deve ser executado por 40.
Nada de especial, o código abaixo usa alguns vars em outro arquivo e é isso. O comando é apenas - terraform apply
#Provider
provider "aws" {
#version = "~> 1.5"
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "${var.region}"
}
#S3 Bucket
resource "aws_s3_bucket" "eb_staging" {
bucket_prefix = "a_prefix-automate-eb1"
}
#S3 Bucket Object
#take zipped folder from working directory and upload it to S3 as etag hashed file
resource "aws_s3_bucket_object" "eb_staging" {
bucket = "${aws_s3_bucket.eb_staging.id}"
key = "v003"
source = "${var.eb_source_stage_path}"
etag = "${md5(file("${var.eb_source_stage_path}"))}"
}
#Application
resource "aws_elastic_beanstalk_application" "mvc-site" {
name = "mvc-site"
description = "mvc-site-desc"
}
#Application Version
resource "aws_elastic_beanstalk_application_version" "mvc_staging" {
name = "v003-mvc-site"
application = "mvc-site"
description = "app version staging mvc staging"
bucket = "${aws_s3_bucket.eb_staging.id}"
key = "${aws_s3_bucket_object.eb_staging.id}"
}
#Environment
resource "aws_elastic_beanstalk_environment" "mvc-staging" {
#still timeout at 20....==========================================
wait_for_ready_timeout = "40m"
name = "mvc-staging"
application = "${aws_elastic_beanstalk_application.mvc-site.name}"
solution_stack_name = "${var.eb_solution_stack}"
version_label = "${aws_elastic_beanstalk_application_version.mvc_staging.name}"
}