Источники данных Terraform
Источники данных позволяют Terraform использовать информацию, определенную вне Terraform, определенную другой отдельной конфигурацией Terraform или измененную функциями.
ovirt_cluster
data "ovirt_cluster" "cluster" {
name = var.cluster
}
Cхема
-
id(String) - идентификатор кластера в центре данных. -
name(String) - имя кластера в центре данных.
ovirt_cluster_hosts
data "ovirt_cluster_hosts" "default_cluster_hosts" {
cluster_id = data.ovirt_cluster.default_cluster.id
}
Cхема
-
cluster_id(String) - идентификатор кластера в центре данных.
-
id(String) - идентификатор кластера в центре данных. -
hosts(Set of Object) - возвращает список хостов со следующими параметрами:-
id(String) - идентификатор хоста в кластере. -
status(String) - статус хоста.
-
hosts_list = {
"cluster_id" = "6c34b98f-3aac-4f09-b37c-83b2195feb61"
"hosts" = toset([
{
"id" = "2d1b05b5-d63b-486b-bd11-5fe6a78ca302"
"status" = "up"
},
{
"id" = "5edbc335-a978-435c-85f9-9cba0d890f8f"
"status" = "up"
},
{
"id" = "e3a98789-342c-47e4-827b-687c75b72f0b"
"status" = "up"
},
])
"id" = "6c34b98f-3aac-4f09-b37c-83b2195feb61"
}
ovirt_vnic_profile
data "ovirt_vnic_profile" "vnic" {
name = var.vnic_profile
}
Cхема
-
name(String) - имя профиля VNIC. -
id(String) - идентификатор профиля VNIC.
ovirt_storage_domain
data "ovirt_storage_domain" "storage" {
name = var.data_storage_domain
}
Cхема
-
name(String) - имя домена хранения. -
id(String) - идентификатор домена хранения.
ovirt_templates
data "ovirt_templates" "template" {
name = var.template
}
Cхема
-
name(String) - имя шаблона.
-
id(String) - идентификатор шаблона. -
templates(Set of Object) - возвращает список шаблонов со следующими параметрами:-
description(String) - описание шаблона -
id(String) - идентификатор шаблона.Если при создании ВМ используется шаблон, необходимо учесть что обращение к шаблону осуществляется как к элементу списка(используется функция tolist).
Пример создания ВМ с использованием шаблона: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 = "up" 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 }
-