Add working provisioning and configuration for MS SQL data warehouse
This commit is contained in:
103
provisioning/modules/vm/main.tf
Normal file
103
provisioning/modules/vm/main.tf
Normal file
@@ -0,0 +1,103 @@
|
||||
resource "proxmox_virtual_environment_vm" "this" {
|
||||
node_name = var.node_name
|
||||
vm_id = var.vm_id
|
||||
name = var.name
|
||||
description = var.description
|
||||
tags = var.tags
|
||||
on_boot = var.on_boot
|
||||
bios = var.bios
|
||||
machine = var.machine
|
||||
|
||||
dynamic "clone" {
|
||||
for_each = var.clone_vm_id != null ? [1] : []
|
||||
content {
|
||||
vm_id = var.clone_vm_id
|
||||
full = var.clone_full
|
||||
datastore_id = var.clone_datastore_id
|
||||
}
|
||||
}
|
||||
|
||||
operating_system {
|
||||
type = var.os_type
|
||||
}
|
||||
|
||||
cpu {
|
||||
cores = var.cpu_cores
|
||||
sockets = var.cpu_sockets
|
||||
type = var.cpu_type
|
||||
numa = true
|
||||
}
|
||||
|
||||
memory {
|
||||
dedicated = var.memory_dedicated
|
||||
}
|
||||
|
||||
disk {
|
||||
datastore_id = var.disk_datastore
|
||||
interface = var.disk_interface
|
||||
size = var.disk_size
|
||||
file_id = var.clone_vm_id == null ? var.disk_file_id : null
|
||||
discard = "on"
|
||||
file_format = "raw"
|
||||
}
|
||||
|
||||
dynamic "disk" {
|
||||
for_each = var.data_disk_size != null ? [1] : []
|
||||
content {
|
||||
datastore_id = var.data_disk_datastore
|
||||
interface = var.data_disk_interface
|
||||
size = var.data_disk_size
|
||||
discard = "on"
|
||||
file_format = "raw"
|
||||
}
|
||||
}
|
||||
|
||||
dynamic "efi_disk" {
|
||||
for_each = var.bios == "ovmf" ? [1] : []
|
||||
content {
|
||||
datastore_id = var.disk_datastore
|
||||
file_format = "raw"
|
||||
type = "4m"
|
||||
}
|
||||
}
|
||||
|
||||
network_device {
|
||||
bridge = var.network_bridge
|
||||
model = "virtio"
|
||||
vlan_id = var.network_vlan_id
|
||||
}
|
||||
|
||||
agent {
|
||||
enabled = true
|
||||
trim = true
|
||||
}
|
||||
|
||||
initialization {
|
||||
datastore_id = var.cloud_init_datastore
|
||||
|
||||
dynamic "dns" {
|
||||
for_each = length(var.init_dns_servers) > 0 ? [1] : []
|
||||
content {
|
||||
servers = var.init_dns_servers
|
||||
}
|
||||
}
|
||||
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = var.init_ipv4_address
|
||||
gateway = var.init_ipv4_gateway
|
||||
}
|
||||
}
|
||||
|
||||
user_account {
|
||||
username = var.init_username
|
||||
password = var.admin_password
|
||||
}
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
disk[0].file_id,
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user