我正在尝试使用 Terraform 在 AWS 上创建Cloudwatch 日志组和相应的Cloudwatch 日志流。看起来很简单,但是我的代码ResourceNotFoundException: The specified log group does not exist
在计划的日志组方面抛出了错误。
我的地形:
variable "firehose_stream_name" {
default = "streamName"
}
resource "aws_cloudwatch_log_group" "firehose_log_group" {
name = "/aws/kinesisfirehose/${var.firehose_stream_name}"
}
resource "aws_cloudwatch_log_stream" "firehose_log_stream" {
name = "S3Delivery"
log_group_name = "${aws_cloudwatch_log_group.firehose_log_group.name}"
depends_on = ["aws_cloudwatch_log_group.firehose_log_group"]
}
现在,人们会假设 Terraform会name
根据firehose_log_group
. 这没有发生。使用该引用和显式块,此代码在 Plan 上引发错误。好像它无法计算 和 之间的依赖关系。在任何其他情况下,这种依赖关系将由 Terraform 计算。log_group_name
aws_cloudwatch_log_stream
depends_on
ResourceNotFoundException: The specified log group does not exist
aws_cloudwatch_log_group
aws_cloudwatch_log_stream
这里发生了什么?我没有看到的代码中是否存在某种错误?在这两者之间是否存在某种 Terraform 无法计算的依赖关系?
更新:事实证明这在 Linux 的 TF 版本 0.11.3 的 Ubuntu 服务器上运行良好,但在 Windows 的版本 0.11.3 上会出现错误。情节变厚了。
此代码基于 TF 文档:https ://www.terraform.io/docs/providers/aws/r/cloudwatch_log_stream.html
编辑:明确包括流名称变量