Terraform 使い始めてしばらくになるのに知らなかったのでメモを残しておきます。
Terraform 定義
plan block がマストです。
resource "azurerm_virtual_machine" "main" {
...
plan {
name = "{Name}"
publisher = "{publisher}"
product = "{product}"
}
}
storage_image_reference で記載する値と同じようなものを入れることになります。
詳細は Azure Provider のドキュメントを参照ください。
Azure Resource Manager: azurerm_virtual_machine - Terraform by HashiCorp
デプロイ前に実行すること
利用許諾に承諾する必要があります。
Azure ポータルでデプロイするときに画面に表示されるアレですね。
それぞれ以下のコマンドで実行します。
Azure CLI: az vm image | Microsoft Docs
PowerShell: AzureRM.MarketplaceOrdering Module | Microsoft Docs
もちろん該当のサブスクリプションに対して行う必要があるので、そこは注意ですね。