为什么在使用模板文件设置 S3 存储桶策略时会出现循环错误?

Why am I getting a cycle error when setting a S3 bucket policy with a template file?

我有以下内容,当我尝试 运行 一个 "terraform plan" 它失败了。

data "template_file" "s3_bucket_policy" {
  template = "${file("${path.module}/templates/s3_bucket_policy.json")}"

  vars = {
    bucket_arn            = aws_s3_bucket.app_bucket.arn
    vpc_endpoint_id       = var.vpc_endpoint_id
    vpc_tools_endpoint_id = var.vpc_tools_endpoint_id
  }
} 

输出显示 Error: Cycle: data.template_file.s3_bucket_policy, aws_s3_bucket.app_bucket - aws_s3_bucket.app_bucket.arn 之前已成功创建。

我很乐意提供有关如何解决问题的建议!

如果您的 aws_s3_bucket.app_bucket 资源引用 data.template_file.s3_bucket_policy,就会发生这种情况。

共享整个 .tf 文件会有所帮助。