问题描述
我想从我的terraform脚本中获取现有资源的数据,例如现有DynamoDB表的ARN以及现有S3存储桶的存储桶ID。我曾尝试在S3上使用 terraform_remote_state ,但是它不符合我的要求,因为它需要一个键,而且我还没有找到任何适用于Dynamo的东西。
是否有一个既适用于这两种解决方案的解决方案,又有两个单独的解决方案?
非常感谢。
解决方法
远程状态不是您需要的概念-用于存储tfstate文件。您需要的是一个“数据源”:
- https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/s3_bucket
- https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/dynamodb_table
在Terraform中,您可以使用“资源”声明需要创建的内容(如果不存在),并使用“数据源”从已经存在但不由Terraform管理的事物中读取信息。