6.8.4. Пример файла конфигурации
# Указываем, что требуется провайдер cloupard из собственного реестра
terraform {
required_providers {
cloupard = {
source = "tf.cloupard.kz/cloupardkz/cloupardkz"
}
}
}
# Конфигурация провайдера cloupard: авторизация через ключ
provider "cloupard" {
key_file = "key.json"
}
# Заказ внешнего IP-адреса #1 в указанном регионе и подсети
resource "cloupard_kvm_extip" "ip1" {
region = var.region_kz2
# subnet = ""
in_test = true
}
# Заказ внешнего IP-адреса #2 в той же подсети
resource "cloupard_kvm_extip" "ip2" {
region = var.region_kz2
# subnet = ""
in_test = true
}
# Создание виртуальной сети vnet1 с NAT через внешний IP ip1
resource "cloupard_kvm_vnet" "vnet1" {
region = var.region_kz2
name = "tf_vnet1"
subnet = {
subnet_cidr = "192.168.10.0/24"
dns1 = "8.8.8.8"
dns2 = "1.1.1.1"
}
outbound_nat_ip_address = {
id = cloupard_kvm_extip.ip1.id
}
}
# Создание второй виртуальной сети vnet2 без NAT
resource "cloupard_kvm_vnet" "vnet2" {
region = var.region_kz2
name = "tf_vnet2"
subnet = {
subnet_cidr = "192.168.20.0/24"
}
}
# Создание виртуальной машины vm1 с подключением к внешнему IP и двум vnet
resource "cloupard_kvm_instance" "vm1" {
region = var.region_kz2
cod = var.cod_almaty_2
name = "tf_vm1"
description = "test vm from tf"
vm_type = var.vm_type_universal_lin
os_template = var.os_debian_12_minimal
os_admin_pass = "Qwer1234"
running = true
in_test = true
vcpu = 2
vram = 2
disks = {
"disk0" = {
name = "disk0"
type = var.disk_type_super
size = 30
description = "System"
bootable = true
},
"disk1" = {
name = "disk1"
type = var.disk_type_standard
size = 40
description = "Data1"
bootable = false
},
"disk2" = {
name = "disk2"
type = var.disk_type_archive
size = 45
description = "Data2"
bootable = false
}
}
connections = {
"net0" = {
extip_id = cloupard_kvm_extip.ip2.id
},
"net1" = {
vnet_id = cloupard_kvm_vnet.vnet1.id
},
"net2" = {
vnet_id = cloupard_kvm_vnet.vnet2.id
}
}
}
# Регионы
variable "region_kz2" {
default = "359f631d-f5fd-475c-8b7e-5ed7e03bfd2a"
}
variable "region_uz" {
default = "16391366-9831-4893-a4c4-1e59d676e54a"
}
# ЦОДы
variable "cod_tashkent" {
default = 2
}
variable "cod_almaty_2" {
default = 5
}
# Типы ВМ
variable "vm_type_basic_lin" {
default = "93c80162-c846-4dfc-8385-8909d8ab268c"
}
variable "vm_type_basic_lin_uz" {
default = "4d65f58b-03a5-428d-b974-0873fa805f3f"
}
variable "vm_type_universal_lin" {
default = "f6504307-6e4b-46cd-8a68-499342dbfdfe"
}
variable "vm_type_universal_lin_uz" {
default = "4efb18a5-1aa8-4c92-af2a-87053ca5f56f"
}
variable "vm_type_productive_lin" {
default = "5fdcac04-0ddd-43e8-bf38-a513d14f987d"
}
variable "vm_type_productive_lin_uz" {
default = "033fb032-997b-489e-8a7f-e51a3249cc96"
}
variable "vm_type_basic_win" {
default = "b6d167ef-a1d8-4652-ba6d-d5342817196e"
}
variable "vm_type_basic_win_uz" {
default = "849a131d-3a61-4f69-ab3f-38119839afae"
}
variable "vm_type_universal_win" {
default = "f665ba3b-5515-4dfc-8d45-564cc66b241a"
}
variable "vm_type_universal_win_uz" {
default = "0c4c15df-4af2-44b7-90a1-1c0db5fa1e42"
}
variable "vm_type_productive_win" {
default = "29635892-c527-4ce3-a34f-55870f260733"
}
variable "vm_type_productive_win_uz" {
default = "30878201-0dfe-4bb0-8478-b11485fda894"
}
variable "vm_type_mikrotik" {
default = "d2450b8d-22d2-4dd6-bc0c-50de37e451ef"
}
# Типы дисков
variable "disk_type_super" {
default = "1502b885-6547-451c-a4f3-809946ad31d7"
}
variable "disk_type_super_local" {
default = "d8f77248-fa55-41e0-8d52-6ebb08e6fe5f"
}
variable "disk_type_standard" {
default = "07bb4236-7ad1-4313-bddc-e26c3e370001"
}
variable "disk_type_standard_local" {
default = "b4a16d81-4fa2-44d6-a053-53cc9f48c602"
}
variable "disk_type_archive" {
default = "5021a801-e263-44e8-b2b1-791c16191869"
}
variable "disk_type_archive_local" {
default = "d4821ffe-49ef-48e4-b277-ce3b76e3a35b"
}
# Шаблоны ОС
variable "os_debian_12_minimal" {
default = "64f18305-7783-45ee-9a7e-14410d647d99"
}
variable "os_ubuntu_2404_lts_minimal" {
default = "f622b4ac-b53e-40a8-aa3a-5f8afe8d3aaf"
}
variable "os_linux_custom" {
default = "2fc7ead9-6c28-495b-9c19-660012acd6b9"
}
variable "os_windows_2022_rus_gui" {
default = "3daacc97-0625-4fd7-9693-90afc806d2e9"
}
variable "os_windows_2022_en_gui" {
default = "9ec7a283-df25-48fd-a753-40afcd0f443b"
}
variable "os_windows_2019_rus_gui" {
default = "485f1c15-7ea1-4233-a9b3-c60ff4d03e76"
}
variable "os_windows_2019_en_gui" {
default = "0498beb2-f139-4acc-af79-ec9e4b5ad966"
}
variable "os_windows_2016_en_gui" {
default = "42fe6df9-b7ea-4705-934a-8c51eab64574"
}
variable "os_windows_2022_custom_scsi" {
default = "d336adf7-4e32-4194-94c4-240637827eec"
}
variable "os_windows_2022_custom_sata" {
default = "481f0b33-f1f3-44c2-b5b3-3825dfc4d46f"
}
variable "os_windows_2019_custom_scsi" {
default = "648c97e1-5202-4789-b3f0-17e2fb47beca"
}
variable "os_windows_2019_custom_sata" {
default = "edb939e7-4bd8-4142-a1bc-13ac60c7ece1"
}
variable "os_mikrotik_chr_7" {
default = "fd3e8f0b-fb63-4feb-84fe-84b294507d87"
}
variable "os_mikrotik_chr_6" {
default = "6e4a1b05-9b82-4cbe-9c5c-6a5c60bf35ac"
}
variable "os_custom_other_scsi" {
default = "5ebd52e4-9cf7-47c1-a285-f4efbdecf440"
}
variable "os_custom_other_sata" {
default = "9a644c47-15d5-4a09-ba0f-384d86a44aaf"
}
output "vm1_out" {
value = cloupard_kvm_instance.vm1
}
|