Вопросы о «Плане» виртуальной машины в Azure (Terraform) - PullRequest
0 голосов
/ 30 октября 2018

Я новичок в Azure и Terraform, но я унаследовал набор конфигов и модулей Terraform от того, кто покинул мою организацию. Передо мной была поставлена ​​задача изменить виртуальные машины проекта на версии с усиленной поддержкой CIS, что потребовало от меня добавить блок «план» в один из наших модулей подготовки виртуальных машин:

resource "azurerm_virtual_machine" "vm-windows" {
  count                         = "${(((var.vm_os_id != "" && var.is_windows_image == "true") || contains(list("${var.vm_os_simple}","${var.vm_os_offer}"), "WindowsServer")) && var.data_disk == "false") ? var.nb_instances : 0}"
  name                          = "${var.vm_hostname}${count.index}"
  location                      = "${var.location}"
  resource_group_name           = "${var.resource_group_name}"
  availability_set_id           = "${azurerm_availability_set.vm.id}"
  vm_size                       = "${var.vm_size}"
  network_interface_ids         = ["${element(azurerm_network_interface.vm.*.id, count.index)}"]
  delete_os_disk_on_termination = "${var.delete_os_disk_on_termination}"

  storage_image_reference {
    id        = "${var.vm_os_id}"
    publisher = "${var.vm_os_id == "" ? coalesce(var.vm_os_publisher, module.os.calculated_value_os_publisher) : ""}"
    offer     = "${var.vm_os_id == "" ? coalesce(var.vm_os_offer, module.os.calculated_value_os_offer) : ""}"
    sku       = "${var.vm_os_id == "" ? coalesce(var.vm_os_sku, module.os.calculated_value_os_sku) : ""}"
    version   = "${var.vm_os_id == "" ? var.vm_os_version : ""}"
  }
  # this is what I added
  plan {
    name       = "${var.vm_os_id == "" ? coalesce(var.vm_os_sku, module.os.calculated_value_os_sku) : ""}"
    publisher  = "${var.vm_os_id == "" ? coalesce(var.vm_os_publisher, module.os.calculated_value_os_publisher) : ""}"
    product    = "${var.vm_os_id == "" ? coalesce(var.vm_os_offer, module.os.calculated_value_os_offer) : ""}"
  }

  ...
}

Поскольку модуль должен быть универсальным (т.е. использоваться для проектов, в которых есть виртуальные машины без плана и для плана), мне нужно больше узнать об этом блоке "плана".

  • Что это такое и где я могу прочитать больше об этом? (Похоже, Google трудно справиться с задачей; например, «план виртуальной машины Azure» дает информацию о ценах.)
  • Уместно ли оставить блок на месте для виртуальных машин, которые не обязательно нуждаются в нем?

Единственная документация, которую я видел до сих пор, это Скудная информация Терраформа о блоке . Он не дает много информации (даже имена аргументов), и я не знаю, как сделать перекрестную ссылку на конструкции Terraform с Azure.

1 Ответ

0 голосов
/ 30 октября 2018
  1. Этот блок необходим при создании настраиваемого видеомонтажа рынка (например, межсетевых экранов Barracuda, серверов Trendmicro и т. Д.). в основном все, что не предоставляется Microsoft (по большей части). (https://alexandrebrisebois.wordpress.com/2016/06/30/deploying-azure-marketplace-vms-via-arm-templates/ или это: https://azure.microsoft.com/en-us/marketplace/faq/)
  2. нет, делать это неуместно, вам нужно какое-то условие, чтобы включить этот блок. или просто 2 шаблона: один с блоком, а другой без него.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...