insufficient items for attribute "sku"; must have at least 1
2020-02-12
azblob://2022/11/11/eyecatch/2020-02-12-error-handling-insufficient-items-for-attribute-sku-must-have-at-least-1-000.jpg

はじめに

この記事で構築しているときに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だけ削除すれば実行できるようになります。

  1. コード中にskuの記述があるリソースを探索
  2. terraform state listでstateを表示
  3. リソースごとのstateが表示されるので、その中から0で目星をつけていたリソースのstateをterraform state rm [resource name]で削除
  4. terraform planをやり直し

おわりに

この記事で構築しているときにTerraformで出たエラーの対処の備忘録でした。
ポータル上でインスタンス削除せずにちゃんとterraform destroyで削除すれば合わないエラーのはずなので、Terraformのコマンドマスターしていきたいですね……。

参考記事

https://github.com/terraform-providers/terraform-provider-azurerm/issue…