gpt4 book ai didi

amazon-web-services - 解决 Terraform 中的资源依赖性

转载 作者:行者123 更新时间:2023-12-04 22:40:09 25 4
gpt4 key购买 nike

我是 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 之前,我收到了同样的错误上面的 block (并且在阅读 https://github.com/hashicorp/terraform/issues/10462 后也将其移出模块)。让 Terraform 处理这些的正确方法是什么?

最佳答案

正如评论中提到的,这看起来像是一个语法问题。

它应该是:

resource "aws_sns_topic_subscription" "code_commit_notification" {
depends_on = ["aws_sns_topic.sns_my_topic"]

...
}
depends_on语法与其他语法略有不同,不需要 ${}引用的资源变量的括号。在没有 depends_on 的情况下收到同样的错误对我来说还是有点奇怪。 .

关于amazon-web-services - 解决 Terraform 中的资源依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com