Microsoft Azure

【Azure】Terraformで”features”: required field is not set の対処方法

こんにちは、インフラエンジニアのryuです。

今回は、AzureのTerraformで”features”: required field is not setというエラーが出たときの対処方法を解説します。このエラーはTerraformのバージョンアップに伴い、設定の追加が必要です。エラーが出ないようにする方法を解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Azure】Terraformで”features”: required field is not set の対処方法

"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公式ページ↓

https://www.terraform.io/

・Microsoftドキュメント

https://docs.microsoft.com/ja-jp/azure/developer/terraform/

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST