terraform { backend "s3" { bucket = "terraform" key = "/terraform.tfstate" region = "us-east-1" #encrypt = true use_lock_file = true # Use S3 native locking (Terraform 1.9.0+) skip_region_validation = true skip_credentials_validation = true skip_requesting_account_id = true use_path_style = true skip_s3_checksum = true skip_metadata_api_check = true endpoints = { s3 = "https://misamisa.duckdns.org:9000" } } required_providers { proxmox = { source = "bpg/proxmox" version = "0.97.1" } } } # ------------------------------------------------------------------ # Optional second disk – create it only when the flag is true. # ------------------------------------------------------------------ resource "proxmox_virtual_environment_container" "example_template" { description = "Managed by Terraform" start_on_boot = var.start_on_boot unprivileged = var.unprivileged features { nesting = var.nesting_enabled } wait_for_ip { ipv4 = true } # ---- Disk(s) ---------------------------------------------------- disk { datastore_id = var.datastore_id # <- primary disk size = var.disk_size_gb # in GB } # ---- Initialization ------------------------------------------------- initialization { dns { servers = ["1.1.1.1", "8.8.8.8"] } hostname = var.hostname ip_config { ipv4 { address = var.ip_address gateway = var.gateway } } user_account { password = var.password # keys = [trimspace(tls_private_key.example.public_key_openssh)] } } # ---- Network ---------------------------------------------------- network_interface { name = "veth0" mtu = 1450 } node_name = var.node_name operating_system { template_file_id = var.template_file_id type = "debian" } tags = [ "deb13", "terraform", ] cpu { cores = var.cores } startup { order = "3" up_delay = "60" down_delay = "60" } }