unsupported attribute "app_engine"

最近增加一些GCP资源, 出现了一些奇怪的错误, unsupported attribute "app_engine"。   我当时搜索了一下运行文件夹, 没看到关键字 "app_engine", 又整个项目里边搜素了一下, 还是没有发现。  

当时猜测可能是因为GCP Provider版本更新了之后, 原来的state 文件不能很好的读取了。   terraform state pull 下来查看state。 果然就是这个问题!   原来是从2.X 升级到3.X 版本后,有些字段不需要了。而Terraform又不能很好的去兼容。 

解决的办法很简单,就是把这些不要字段删除掉, 包括:app_enginepolicy_data & policy_etag, 然后再terraform state push 回去

当然, 你也可以采取另外一种方案, 就是把对应的 2.X 的state删除掉, 然后重新import 进来(按照3.X 的format)

(note: 记得更新 serial number: 也就是state文件的版本信息,每推一次 +1 就可以。)

原文地址:https://www.cnblogs.com/move-on/p/14374981.html