こんにちは、インフラエンジニアのryuです。
今回は、AzureのTerraformで”features”: required field is not setというエラーが出たときの対処方法を解説します。このエラーはTerraformのバージョンアップに伴い、設定の追加が必要です。エラーが出ないようにする方法を解説します。
目次
【Azure】Terraformで”features”: required field is not set の対処方法
Terraformで”features”: required field is not setというエラーが発生して対処できない・・・
設定ファイルの先頭にとある設定をすれば大丈夫です!
今回の記事では、エラーの対処方法と原因を解説したいと思います!
対処方法はこれ!
対処方法は以下の通りです。ファイルの先頭に追加しましょう。
provider "azurerm" {
features {}
}
設定ファイルの全体はこのような中身になります。このファイルをTerraformでAzureのリソースグループを作成するコードです。
provider "azurerm" {
features {}
}
###リソースグループ作成
resource "azurerm_resource_group" "example" {
name = "example"
location = "West Europe"
}
エラーが対処できているか確認してみましょう
設定ファイルの修正ができたら、Terraformを使ってリソースグループを作成してみましょう。
>terraform plan
エラーが出ていないことが確認できました。
それでは、以下のコマンドを入力してAzureのリソースグループを作成しましょう。
>terraform apply
これで完成です。
Terraformでエラーが出る原因は?
今回の対処するために設定した設定はAzureプロバイダーの設定です。
Azureプロバイダーは、Azure Resource Manager APIを使用してMicrosoft Azureのインフラストラクチャを構成するために使用します。
以前は指定しなくても動作しましたが、AzureRM provider v2.0.0から必要になりました。
また、Azure providerの設定では、”features
”のオプションが必須のため、provider “azurerm” {features {}}の設定が必要です。
Terraformで”required field is not set” というメッセージが出たら
Terraformで”required field is not set” というメッセージが出たら、設定の必須項目が設定されていません。
公式ホームページを確認して、どのような設定が必要なのか確認してみましょう。
・Terraform公式ページ↓
・Microsoftドキュメント