我已经手动创建了CloudSQL实例,现在我需要通过terraform来管理它们。我已经举例说明过了。
错误,创建googleapi失败:错误409:云SQL实例已经存在。, instanceAlreadyExists
我试图做地形刷新,但由于这个实例还没有在地形状态文件-它不能反映。
如何在状态文件中反映现有的基础设施?
只是为了补充machbutch答案,在导入资源之后,运行地形计划来检查差异,并在应用之前将它们添加到地形配置中。
Terraform有很多不可见的默认值这可能与您手动创建的资源不同。
可以使用Terraform CLI导入命令。这将把现有实例与Terraform文件中的资源关联起来。
确切的调用将取决于您的配置。
terraform import your_resource.name_in_terraform gcp-instance-name
这是一篇很有用的(尽管关注AWS)文章。
更新:成功运行terraform import
后,应该运行terraform plan
,看看现有实例与terrform配置中的实例之间有什么不同。如果您只想导入现有的内容,那么下一步就是更新您的配置,使其与计划输出中显示的差异相匹配。