がじぇ

お金と家電とプログラミングのブログ

【Terraform】AWS Providerのバージョンを上げてdata could not be decoded from the state: unsupported attributeというエラーが出力されるときの対応

こんにちわ

がじぇったー (@hackmylife7) | Twitter

です。

Terraformで以下エラーが出力された際の対応方法のメモです。

data could not be decoded from the state: unsupported attribute "outpost_id".

TL;DR(要約)

  • tfstateを手動で編集して再アップロードする

AWS Providerを3.1.0から3.8.0に上げた際、data could not be decoded from the state: unsupported attributeというエラーが出力されました。

原因

原因はstateファイルが古いままaws providerのバージョンを上げたことで、state内の特定の項目が新しいバージョンに対応していない(廃止された)ためエラーが発生しております。

自分の環境だと以下の項目でエラーがでました。

outpost_id
customer_owned_ipv4_pool
allow_major_version_upgrade

対応

stateファイルから上記項目を手動で削除し、stateファイルを上げ直しました。 自分は手でtfstateを編集しましたが、terraform upgradeコマンドを使えばもしかしてよしなにやってくれるかもしれないです。