我目前正在尝试工作,为什么Terraform不会破坏Elastic Beanstalk环境以及它所包含的云形成堆栈。
module "beanstalk_app" {
source = "../../modules/compute/beanstalk"
stack_name = "${var.stack_name}"
env_name = "${var.env_name}"
app_version = "${var.app_version}"
build_number = "${var.build_number}"
bundle_name = "${var.bundle_name}"
bundle_source = "${var.bundle_name}"
}
resource "aws_elastic_beanstalk_environment" "default" {
name = "${var.stack_name}-${var.env_name}-app"
application = "${data.terraform_remote_state.hailer.hailer_app}"
solution_stack_name = "${var.solution_stack}"
version_label = "${module.beanstalk_app.version}"}
}
当我运行terraform destroy
命令时,该资源甚至在输出中都没有提及。
data.terraform_remote_state.db: Refreshing state...
data.terraform_remote_state.matcher: Refreshing state...
data.terraform_remote_state.hailer: Refreshing state...
data.terraform_remote_state.hailer: Refreshing state...
data.aws_route53_zone.public: Refreshing state...
data.aws_iam_policy_document.default: Refreshing state...
data.aws_acm_certificate.default: Refreshing state...
data.aws_iam_policy_document.assume: Refreshing state...
Destroy complete! Resources: 0 destroyed.
Beanstalk应用程序和CloudFormation堆栈仍保留在AWS控制台中。因此,如果我尝试重新创建堆栈,那么我只会得到错误,指出诸如安全组之类的资源仍然存在。
与模块和云形成相关的Terraform的预期行为是否被破坏?因为它真的不可用。
注意: