【发布时间】:2017-12-14 23:15:36
【问题描述】:
我是 Terraform 的新手,我正在尝试创建 AWS SNS 主题和订阅。我的代码如下所示:
provider "aws" {
region = "${var.aws_region}"
}
resource "aws_sns_topic" "sns_my_topic" {
name = "${var.sns_topic_name}"
}
resource "aws_sns_topic_subscription" "code_commit_notification" {
depends_on = ["${aws_sns_topic.sns_my_topic}"]
topic_arn = "${aws_sns_topic.sns_my_topic.arn}"
protocol = "email"
endpoint = "${var.sns_subscribe_endpoint}"
}
但是,我在运行terraform apply 时得到以下错误输出:
Error: aws_sns_topic_subscription.code_commit_notification: resource depends on
non-existent resource '${aws_sns_topic.sns_my_topic}'
在添加上面的depends on 块之前,我也收到了同样的错误(并且在阅读https://github.com/hashicorp/terraform/issues/10462 之后也将其移出模块)。让 Terraform 处理这些的正确方法是什么?
【问题讨论】:
-
它应该是
depends_on = ["aws_sns_topic.sns_my_topic"](没有${}括号 -depends_on语法与其他语法略有不同)。仍然奇怪的是,当您不使用depends_on时也会出现该错误。 -
@fishi 可能值得将其发布为答案,尤其是如果您可以充实一点。
标签: amazon-web-services terraform