deevnet_workload

deevnet_workload (Resource) #

A VM in the tenant’s network. Its name is published in the tenant’s zone.

Example Usage #

resource "deevnet_workload" "web" {
  tenant    = deevnet_tenant.this.name
  name      = "web"
  cores     = 2
  memory_mb = 2048

  # The public half; the private key never leaves you.
  ssh_keys = [file("~/.ssh/id_ed25519.pub")]
}

output "login" {
  value = "ssh ${deevnet_workload.web.login_user}@${deevnet_workload.web.fqdn}"
}

Schema #

Required #

  • name (String) A DNS label under the tenant’s zone, 1-20 lowercase alphanumerics or dashes.
  • tenant (String) The tenant this workload belongs to.

Optional #

  • cores (Number) Virtual CPU cores. Defaults to 2.
  • disk_gb (Number) Grows the template’s disk. It is never shrunk.
  • memory_mb (Number) Memory in MiB. Defaults to 2048.
  • ssh_keys (List of String) Public keys that may log in as login_user. Only the public half: the private key stays on your machine. Written when the workload is built; to change them, replace the workload (terraform apply -replace=...).

Read-Only #

  • address (String) Address in the tenant’s subnet.
  • fqdn (String) The name published for it.
  • login_user (String) The account ssh_keys land on: ssh <login_user>@<fqdn>.
  • mac (String) MAC, derived from the VMID.
  • ordinal (Number) The workload’s number within its tenant; the VMID and address derive from it.
  • present (Boolean) Whether the API still holds this workload.
  • status (String) provisioning or ready.
  • vmid (Number) Proxmox VMID.
Page last modified: October 8, 2026