Closed5
Terraform provider更新とstateのschema更新
発端
- Renovateがterraform-provider-awsを更新するMerge Requestを作った
- 5.12.0 -> 5.14.0
- CIでそのMRに対する
terraform plan
が実行されて成功した - その他のMerge Requestで
terraform plan
が成功しなくなったError: Resource instance managed by newer provider version
-
The current state of xxx was created by a newer provider version than is currently selected. Upgrade the aws provider to work with this state.
- xxxの部分は
aws_batch_job_queue
resourceだった
- xxxの部分は
問題のエラー
upgradeResourceState
内にて出る
ResourceWithUpgradeStateの説明
UpgradeResourceState RPC に対するプロバイダーの制御を可能にするリソース上のオプションのインターフェイス。 この RPC は、現在の
Schema
型のVersion
フィールドが保存されたstateよりも大きい場合に、Terraform によって自動的に呼び出されます。
Terraform は以前のSchema
情報を保存しないため、stateデータ型に対する重大な変更はプロバイダーによって処理される必要があります。
「Terraform によって自動的に呼び出されます」
5.14.0のaws providerでplanした時点でstateのschemaに不可逆な更新が入ったため、他のMRではstateのschamaより手元の方が古いことになりエラーになった
このスクラップは2023/08/28にクローズされました