insufficient items for attribute "sku"; must have at least 1
はじめに
この記事で構築しているときにTerraformで出たエラーの対処の備忘録です。
前提
- Terraform v0.12.1
- provider.azurerm v1.28.0
構築に含まれているリソースは以下です。
- App Service
- App Service plan
- Container registry
- Resource group
- SQL database
- SQL Server
- Traffic manager
フォルダ構成などの詳細はこの記事に書きました。
エラー文
terraform plan
を実行した時に以下のようなエラーが出ました。
Error: insufficient items for attribute "sku"; must have at least 1
対処
このエラーはterraform destroy
でインスタンスを削除せずにポータル上で削除したときにローカルのtsftateと実態が一致しないため起こるエラーのようです。
そのため、以下の方法で問題のあるstateだけ削除すれば実行できるようになります。
- コード中にskuの記述があるリソースを探索
terraform state list
でstateを表示- リソースごとのstateが表示されるので、その中から0で目星をつけていたリソースのstateを
terraform state rm [resource name]
で削除 terraform plan
をやり直し
おわりに
この記事で構築しているときにTerraformで出たエラーの対処の備忘録でした。
ポータル上でインスタンス削除せずにちゃんとterraform destroy
で削除すれば合わないエラーのはずなので、Terraformのコマンドマスターしていきたいですね……。
参考記事
https://github.com/terraform-providers/terraform-provider-azurerm/issue…