6.8.5. Пример файла конфигурации
# Указываем, что требуется провайдер 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 = "kz_ala2"
# subnet = ""
in_test = true
}
# Заказ внешнего IP-адреса #2 в той же подсети
resource "cloupard_kvm_extip" "ip2" {
region = "kz_ala2"
# subnet = ""
in_test = true
}
# Создание виртуальной сети vnet1 с NAT через внешний IP ip1
resource "cloupard_kvm_vnet" "vnet1" {
region = "kz_ala2"
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 = "kz_ala2"
name = "tf_vnet2"
subnet = {
subnet_cidr = "192.168.20.0/24"
}
}
# Создание виртуальной машины vm1 с подключением к внешнему IP и двум vnet
resource "cloupard_kvm_instance" "vm1" {
region = "kz_ala2"
cod = "almaty2"
name = "tf_vm1"
description = "test vm from tf"
vm_type = "universal_lin"
os_template = "debian_12_minimal"
os_admin_pass = "Qwer1234"
running = true
in_test = true
vcpu = 2
vram = 2
disks = {
"disk0" = {
name = "disk0"
type = "super"
size = 30
description = "System"
bootable = true
},
"disk1" = {
name = "disk1"
type = "standard"
size = 40
description = "Data1"
bootable = false
},
"disk2" = {
name = "disk2"
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
}
}
}
# Создание второй виртуальной машины vm2 с увеличенными ресурсами
resource "cloupard_kvm_instance" "vm2" {
region = "kz_ala2"
cod = "almaty2"
name = "tf_vm1"
description = "test vm from tf"
vm_type = "universal_lin"
os_template = "debian_12_minimal"
os_admin_pass = "Qwer1234"
ssh_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJbOIrkRQapl6EGXleO0VUq0ZWZ65+YSwF6i/1TqYsIb infraaccess"
running = true
in_test = true
vcpu = 8
vram = 16
disks = {
"disk0" = {
name = "disk0"
type = "super"
size = 20
description = "System"
bootable = true
}
}
}
|