Amazon web services terraform中的Dependes\u可以设置为文件路径吗?

Amazon web services terraform中的Dependes\u可以设置为文件路径吗?,amazon-web-services,terraform,terraform-provider-aws,iaas,aws-config,Amazon Web Services,Terraform,Terraform Provider Aws,Iaas,Aws Config,我正在尝试分解main.tf文件。因此,我通过terraform设置了aws配置,创建了配置记录器,并将交付通道设置为在同一main.tf文件中创建的s3 bucket。现在,对于AWS配置规则,我创建了一个单独的文件,即config-rule.tf。众所周知,我们创建的每个aws_config_config_规则都有一个dependens_on子句,其中我们调用依赖资源,在本例中,它是aws_config_configuration_recorder。所以我的问题是,我是否可以将depens_

我正在尝试分解main.tf文件。因此,我通过terraform设置了aws配置,创建了配置记录器,并将交付通道设置为在同一main.tf文件中创建的s3 bucket。现在,对于AWS配置规则,我创建了一个单独的文件,即config-rule.tf。众所周知,我们创建的每个aws_config_config_规则都有一个dependens_on子句,其中我们调用依赖资源,在本例中,它是aws_config_configuration_recorder。所以我的问题是,我是否可以将depens_on子句插入如下内容:

    resource "aws_config_config_rule" "s3_bucket_server_side_encryption_enabled" {
    name = "s3_bucket_server_side_encryption_enabled"

    source {
    owner             = "AWS"
    source_identifier = "S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED"
    }

    depends_on = ["${file("aws-config-setup.tf")}"]
    }

考虑到我将aws配置设置从main.tf文件移动到一个名为aws config setup.tf的新文件中。

如果我正确阅读了您的问题,您不需要进行任何更改即可使其正常工作,假设您没有将代码移动到单独的目录中

当terraform在一个特定的目录中执行时,它会考虑所有文件,基本上将它们都视为一个terraform文件

一般来说,如果你有一个main.tf,它如下所示

resource "some_resource" "resource_1" {
  # ...
}

resource "some_resource" "resource_2" {
  # ...

  depends_on = [some_resource.resource_1]
}
您决定将这些文件拆分为以下文件

file1.tf

file2.tf


如果terraform在同一目录下运行,它将对main.tf场景的评估与多文件场景完全相同。

为什么不让它依赖于资源?
resource "some_resource" "resource_1" {
  # ...
}
resource "some_resource" "resource_2" {
  # ...

  depends_on = [some_resource.resource_1]
}