问题描述
已经使用 Terraform 创建了一个名为 foo-name
的 S3 存储桶,并希望修改该存储桶的策略。但是在修改时,似乎会创建一个新的 S3 存储桶,而不是修改现有的存储桶。用户猜测 resource "aws_s3_bucket" "s3_bucket"
中的 s3_website
可能是错误的。但是由于 S3 存储桶的创建方式,用户不知道应该使用什么来替代它。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
如果你已经在 Terraform 中识别了你的 S3 存储桶,并且它是由你粘贴的代码创建的,那么如果操作可以在原地完成,你就不应该遇到任何困难。
关于 Terraform 如何处理资源,有一些重要的必须了解的事情。这些事情必须了解,因为最终它是基础设施 :) 一些参数是不可变的,尽管可能不太直观,但更改资源标识符将触发删除/创建的情况。
你可以粘贴你的 Terraform 计划输出吗?
方案2
你需要修改底层模块来进行更改。
请确保你清楚这将对使用你的 s3_website
模块的其他模块产生的影响。你可能需要开始使用模块源版本控制。
正文完