Ресурсы TF
ovirt_znic_attachment
|
Пример использования
Перед сменой типа подключения диска необходимо проверить, что данная архитектура шаблона допускает такую возможность. Рекомендуется придерживаться virtio-вариантов.
|
resource "ovirt_znic_attachment" "nic"{
vnic_profile_id = data.ovirt_vnic_profile.vnic.id
vm_id = ovirt_zvm.vm.id
name = "nic10"
}
-
name(String) - имя сетевой карты. -
vm_id(String) - идентификатор виртуальной машины, к которой нужно подключить эту сетевую карту -
vnic_profile_id(String) - идентификатор профиля VNIC, который нужно связать с этой сетевой картой
ovirt_zdisk_attachment
| Доступность запрашиваемого объема дискового пространства в выбранном хранилище не проверяется сразу. Проверка выполняется только в момент создания диска, когда происходит исполнение манифеста. |
resource "ovirt_zdisk_attachment" "disk_attach" {
vm_id = ovirt_zvm.vm.id
disk_id = ovirt_zdisk.disk.id
disk_interface = "virtio_scsi"
}
Ресурс ovirt_disk_attachment` прикрепляет один диск к одной ВМ. Для управления несколькими прикреплениями используйте ovirt_disk_attachments.
|
-
vm_id(String) - идентификатор ВМ, к которой должен быть подключен диск. -
disk_id(String) - идентификатор диска, который необходимо присоединить. Этот диск должен быть либо общим, либо не должен быть прикрепленным к другой ВМ. -
disk_interface(String) - тип интерфейса, который будет использоваться для подключения диска. Доступны следующие типы интерфейсов - ide, sata, spapr_vscsi, virtio, virtio_scsi. -
active(Boolean) - определяет, является ли диск активным в виртуальной машине, к которой он подключен. -
bootable(Boolean) - определяет, является ли диск загружаемым.
ovirt_zdisk
resource "ovirt_zdisk" "disk" {
storage_domain_id = data.ovirt_storage_domain.storage.id
format = "cow"
size = 3 * 1024 * 1024
alias = "terraform_disk"
sparse = true
}
-
storage_domain_id(String) - идентификатор домена хранения, в котором будет создан диск. -
format(String) - формат диска, доступны два варианта .cow и .raw. -
size(Number) - размер диска в байтах. -
alias(String) - человекочитаемый псевдоним для диска. -
sparse(Boolean) - использовать распределение ресурсов для диска.
ovirt_disk_attachments
Использование данного ресурса позволяет добавить несколько ранее созданных дисков к ВМ.
resource "ovirt_zdisk" "disk1" {
alias = "disk1"
size = 1 * pow(1024, 3)
sparse = true
format = "cow"
storage_domain_id = data.ovirt_storage_domain.storage.id
}
resource "ovirt_zdisk" "disk2" {
alias = "disk2"
size = 1 * pow(1024, 3)
sparse = true
format = "cow"
storage_domain_id = data.ovirt_storage_domain.storage.id
}
resource "ovirt_zvm" "nexus_vm" {
name = var.nexus_name
cluster_id = data.ovirt_cluster.cluster.id
template_id = tolist(data.ovirt_templates.template.templates)[0].id
state = "down"
cpu_sockets = var.nexus_cpu_sockets
cpu_cores = var.nexus_cpu_cores
cpu_threads = var.nexus_cpu_threads
memory = var.nexus_ram * pow(1024, 3)
maximum_memory = var.nexus_ram * pow(1024, 3)
boot_disk_size = var.nexus_boot_disk * pow(1024, 3)
placement_policy_host_ids = []
os_type = var.nexus_os_type
}
resource "ovirt_disk_attachments" "disk_attachs" {
vm_id = ovirt_zvm.nexus_vm.id
attachment {
disk_id = ovirt_zdisk.disk1.id
disk_interface = "virtio_scsi"
}
attachment {
disk_id = ovirt_zdisk.disk2.id
disk_interface = "sata"
}
}
-
vm_id(String) - идентификатор ВМ, к которой должен быть подключен диск. -
attachment(Set of Object) - содержит параметры, добавляемых дисков.-
disk_id(String) - идентификатор диска, который необходимо присоединить. Этот диск должен быть либо общим, либо не должен быть прикрепленным к другой ВМ. -
disk_interface(String) - тип интерфейса, который будет использоваться для подключения диска. Доступны следующие типы интерфейсов - ide, sata, spapr_vscsi, virtio, virtio_scsi.
-
ovirt_zvm
|
resource "ovirt_zvm" "vm" {
cluster_id = data.ovirt_cluster.cluster.id
name = "terraform_vm"
template_id = tolist(data.ovirt_templates.template.templates)[0].id
state = "run_on_create"
os_type = "znode"
boot_disk_size = 1 * 1024 * 1024 * 1024
maximum_memory = 2 * 1024 * 1024 * 1024
memory = 1 * 1024 * 1024 * 1024
cpu_cores = 1
description = "desc"
comment = "comment"
initialization {
hostname = var.vm_count > 1 ? "example1-vm-${count.index}" : "example1-vm"
dns_servers = "8.8.8.8 8.8.4.4"
nic_configuration {
name = "enp1s0"
boot_protocol = "static"
ip {
address = "192.168.0.1"
mask = "255.255.255.0"
gateway = "192.168.0.254"
version = "v4"
}
}
}
}
-
cluster_id(String)- идентификатор кластер, на котором будет создана эта ВМ. -
name(String)- имя ВМ, заданное пользователем. Должно состоять только из строчных и прописных букв, цифр, тире, подчеркивания и точки. -
template_id(String)- идентификатор базового шаблон для этой ВМ. -
cpu_cores(Number) - количество ядер процессора, выделяемых для ВМ. -
maximum_memory(Number) - максимальный объем памяти, выделяемый ВМ в байтах. -
memory(Number) - память, выделяемая ВМ в байтах. -
os_type(String) - тип операционной системы. -
comment(String) - пользовательский комментарий для ВМ.