【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コマンドを使えばもしかしてよしなにやってくれるかもしれないです。