Виртуальная машина из образа Azure marketplace со сценарием terraform с ошибкой

#azure #terraform

Вопрос:

Я новичок в Azure . Я использую terraform для развертывания Azure виртуальных машин из образов marketplace. Я написал код, но получил ошибку.

   resource "azurerm_virtual_machine" "virtualmachine" {
  name                  = "virtualmachine01"
  location              = "centralus"
  resource_group_name   = "xyz"
  network_interface_ids = [azurerm_network_interface.nics.id]
  vm_size               = "Standard_F2"

source_image_reference {
    publisher = "cloudeteer"
    offer     = "cdt_cloud-ops"
    plan       = "cloud_pro"
    version   = "latest"
  }

 tags = module.tags.tags_output
# Creating a Virtual network interface 
esource "azurerm_network_interface" "nics01" {
   name                        = "nicsexample"
   location                    = var.location
   resource_group_name         = "rg"
   tags                        = module.tags.tags_output
   ip_configuration {
       name                          = "ipconfigexample"
       subnet_id                     = "id"
       private_ip_address_allocation = "static"
       private_ip_address            = var.vm1_private_ip_address
       
   }
}
}
 

Ошибка: Неподдерживаемый тип блока

на virtual_machine.строка tf 21, в ресурсе «azurerm_virtual_machine» «виртуальная машина»: 21: ссылка на исходное изображение {

Блоки типа «source_image_reference» здесь не ожидаются.

Может кто-нибудь, пожалуйста, помочь.

Ответ №1:

source_image_reference является частью azurerm_linux_virtual_machine, нет azurerm_virtual_machine .

Таким образом, вам придется изменить virtualmachine тип ресурса и, возможно, настроить другие атрибуты, если между ними есть различия.

Ответ №2:

Правильно, source_image_reference является частью azurerm_linux_virtual_machine, а не azurerm_virtual_machine. так что вам придется изменить истирание.

И это зависит от того, какой тип рынка вы используете. Если это связано с Windows , вы можете использовать «Справочник по образу хранилища», и под ним не требуется идентификатор плана, потому что это выдаст вам ошибку. вы можете добавить детали артикула и попытаться создать

 source_image_reference {
  publisher = "cloudeteer"
  offer     = "cdt_cloud-ops"
  sku       = "cloud_pro"
  version   = "latest"
 

}

Также добавьте блок ПЛАНА

 plan{
  name = "cloude"
  product = "cloudeteer"
  publisher = "cloudeteer"
}
 

Остальная часть кода выглядит для меня нормально.