Пример файла конфигурации
# Указываем, что требуется провайдер cloupard из собственного реестра
terraform {
required_providers {
cloupard = {
source = "tf.cloupard.uz/clouparduz/clouparduz"
}
}
}
# Конфигурация провайдера cloupard: авторизация через ключ
provider "cloupard" {
key_file = "key.json"
}
# Заказ внешнего IP-адреса #1 в указанном регионе и подсети
resource "cloupard_kvm_extip" "ip1" {
region = var.region_uz2
# subnet = ""
in_test = true
}
# Заказ внешнего IP-адреса #2 в той же подсети
resource "cloupard_kvm_extip" "ip2" {
region = var.region_uz2
# subnet = ""
in_test = true
}
# Создание виртуальной сети vnet1 с NAT через внешний IP ip1
resource "cloupard_kvm_vnet" "vnet1" {
region = var.region_uz2
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_uz2
name = "tf_vnet2"
subnet = {
subnet_cidr = "192.168.20.0/24"
}
}
# Создание виртуальной машины vm1 с подключением к внешнему IP и двум vnet
resource "cloupard_kvm_instance" "vm1" {
region = var.region_uz2
cod = var.cod_tashkent_2
name = "tf_vm1"
description = "test vm from tf"
vm_type = var.vm_type_universal_lin_uz2
os_template = var.os_debian_12_minimal_uz2
os_admin_pass = "Qwer1234"
running = true
in_test = true
vcpu = 2
vram = 2
disks = {
"disk0" = {
name = "disk0"
type = var.disk_type_super
size = 25
description = "System"
bootable = true
},
"disk1" = {
name = "disk1"
type = var.disk_type_standard
size = 35
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_uz" {
default = "babca45c-bc43-4bce-baea-2fee0e73c135"
}
variable "region_uz2" {
default = "67e0588e-61a2-4188-8f13-b262579aff69"
}
# ЦОДы
variable "cod_tashkent" {
default = 1
}
variable "cod_tashkent_2" {
default = 5
}
# Типы ВМ
variable "vm_type_basic_lin_uz" {
default = "6c9c44de-1f0d-48cc-a9fd-b285f236076b"
}
variable "vm_type_basic_lin_uz2" {
default = "214f9269-9c77-4742-a19e-68424f4e15b5"
}
variable "vm_type_universal_lin_uz" {
default = "f578f3c5-176a-4bc5-b011-a5bdeefce6c0"
}
variable "vm_type_universal_lin_uz2" {
default = "ee2d8380-186a-4257-8c38-060fceee5ae2"
}
variable "vm_type_productive_lin_uz" {
default = "01fca0c6-5750-4379-b2f0-1f623dc73fd4"
}
variable "vm_type_productive_lin_uz2" {
default = "14dfc6c6-8285-4cd8-999b-5825c2594ada"
}
variable "vm_type_basic_win_uz" {
default = "18d30c40-2752-42ef-8154-ea06eeb93c1a"
}
variable "vm_type_basic_win_uz2" {
default = "fe85a4ee-3b56-4be8-8c8b-9bbf80dab46c"
}
variable "vm_type_universal_win_uz" {
default = "6b866676-d1e6-4775-b969-5c4d26ff8c98"
}
variable "vm_type_universal_win_uz2" {
default = "e8057dac-4307-4f09-a3d3-c33012b083c4"
}
variable "vm_type_productive_win_uz" {
default = "46a551cf-7ddf-494f-95ed-1e3ab7e6283e"
}
variable "vm_type_productive_win_uz2" {
default = "f9c0e1b0-bca4-444d-839a-d079d6a90829"
}
variable "vm_type_mikrotik_uz2" {
default = "10303369-e74c-4658-a37e-af3126c9242a"
}
# Типы дисков
variable "disk_type_super" {
default = "6348578a-a753-44c5-b350-cd0df8aca3ad"
}
variable "disk_type_super_local" {
default = "0c885848-c22b-4b70-8da9-ac6d85aa8d02"
}
variable "disk_type_standard" {
default = "94de6c3d-f6d7-4bd9-b18a-f0c134ca922a"
}
variable "disk_type_standard_local" {
default = "f15237aa-c1db-4c11-911e-5c4ea4488642"
}
variable "disk_type_archive" {
default = "f577ccd8-be8d-44a4-9c9a-91a9470c9106"
}
variable "disk_type_archive_local" {
default = "dfbeea33-10b8-48f4-9a04-4690d8ecbaf6"
}
# Операционные системы (Шаблоны)
variable "os_debian_12_minimal" {
default = "7464e643-0a60-4ba2-bdb7-75a19bb7bfc7"
}
variable "os_debian_12_minimal_uz2" {
default = "4e64f00e-ee1d-4eb4-9f8e-4ff70b628d0c"
}
variable "os_ubuntu_2404_lts_minimal" {
default = "5d2141c6-a19a-4909-986b-24155253b25c"
}
variable "os_ubuntu_2404_lts_minimal_uz2" {
default = "ca4392a0-1730-4676-bfbe-be6aedca6539"
}
variable "os_linux_custom" {
default = "06160c7a-111e-4efa-8c5c-c3d61fd7f36c"
}
variable "os_linux_custom_uz2" {
default = "5a8c5ada-7bf3-4269-9ba9-583a68a059f7"
}
variable "os_windows_2022_rus_gui" {
default = "d0ff9228-109b-40d8-a0be-b30c4c1bfff1"
}
variable "os_windows_2022_rus_gui_uz2" {
default = "a7c86af3-95fd-4b05-848d-550bfcfbbe59"
}
variable "os_windows_2022_en_gui" {
default = "64db00d8-8792-4c0b-b531-e35389b2fb00"
}
variable "os_windows_2022_en_gui_uz2" {
default = "72e5f047-9182-422c-a9b2-9a88d1746f78"
}
variable "os_windows_2019_rus_gui" {
default = "51499caf-fca0-4718-81d0-0d00a8c0cf09"
}
variable "os_windows_2019_rus_gui_uz2" {
default = "29e64920-0028-42b9-a338-ad6d9a83ad73"
}
variable "os_windows_2019_en_gui" {
default = "fe64eed6-3c72-43c2-b050-bb8f09491efb"
}
variable "os_windows_2019_en_gui_uz2" {
default = "e261c1ed-caab-4ceb-81c4-6ca16c948080"
}
variable "os_windows_2016_en_gui" {
default = "ed75a21c-05df-4d8f-b3c7-d2d29855305a"
}
variable "os_windows_2016_en_gui_uz2" {
default = "d64c148c-27a6-4029-b966-6329b09464e1"
}
variable "os_windows_2022_custom_scsi" {
default = "84a17a3f-2dc2-43b1-8c27-5fb6337c4f76"
}
variable "os_windows_2022_custom_scsi_uz2" {
default = "7ea6dcbc-e5c2-4ac2-bcdf-69c94d20b340"
}
variable "os_windows_2022_custom_sata" {
default = "228a22ef-f9e6-4bb4-ba7e-7866a823a816"
}
variable "os_windows_2022_custom_sata_uz2" {
default = "eed1be83-70dd-4511-8cbd-014612ffb338"
}
variable "os_windows_2019_custom_scsi" {
default = "2b9b2fd5-03d7-4ba5-8fbd-7f2f1ef8649e"
}
variable "os_windows_2019_custom_scsi_uz2" {
default = "6276d2bc-0138-4317-a2a0-13e198fba0f3"
}
variable "os_windows_2019_custom_sata" {
default = "98fb8156-ec72-4218-b586-3314a9f9fbbb"
}
variable "os_windows_2019_custom_sata_uz2" {
default = "bf1096ce-dda3-40d5-b7fe-ca9b2e2f51ea"
}
variable "os_mikrotik_chr_7" {
default = "16296da8-1fe8-4b98-b3c5-6c2807e28f0a"
}
variable "os_mikrotik_chr_7_uz2" {
default = "bbbdb3b8-b669-4c31-8805-bfead09b8223"
}
variable "os_mikrotik_chr_6" {
default = "63b5130c-8a0f-4869-b717-1a093728502a"
}
variable "os_mikrotik_chr_6_uz2" {
default = "2c0196cb-f049-4b08-b0a9-07a2e4ae96f6"
}
variable "os_custom_other_scsi" {
default = "58556421-6b6f-4716-9346-f1ae80ba4f06"
}
variable "os_custom_other_scsi_uz2" {
default = "d1087c32-4e0a-4af3-a592-a5323250dab1"
}
variable "os_custom_other_sata" {
default = "97971468-9a4f-4090-8f44-2116a541f1ee"
}
variable "os_custom_other_sata_uz2" {
default = "517bf5b2-2dd7-4212-9eb1-8b966b811ee4"
}
output "vm1_out" {
value = cloupard_kvm_instance.vm1
}
|