0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-08 06:45:00 +00:00
terraform-provider-proxmox/examples/guides/cloud-init/native/main.tf
Marco Attia ddc4118b08
feat(vm): Import Disk via API. (#2012)
* feat(vm): Import Disk via API.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* lint(vm): fix Linter Issues.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* fix(vm): import_from update issues.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* fix: store `import_from` in the state, add acc test for `import_from`

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: update examples and docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: re-gen docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-06 12:00:38 -04:00

48 lines
1.2 KiB
HCL

data "local_file" "ssh_public_key" {
filename = "./id_rsa.pub"
}
resource "proxmox_virtual_environment_vm" "ubuntu_vm" {
name = "test-ubuntu"
node_name = "pve"
# should be true if qemu agent is not installed / enabled on the VM
stop_on_destroy = true
initialization {
ip_config {
ipv4 {
address = "192.168.3.233/24"
gateway = "192.168.3.1"
}
}
user_account {
username = "ubuntu"
keys = [trimspace(data.local_file.ssh_public_key.content)]
}
}
disk {
datastore_id = "local-lvm"
import_from = proxmox_virtual_environment_download_file.ubuntu_cloud_image.id
interface = "virtio0"
iothread = true
discard = "on"
size = 20
}
network_device {
bridge = "vmbr0"
}
}
resource "proxmox_virtual_environment_download_file" "ubuntu_cloud_image" {
content_type = "import"
datastore_id = "local"
node_name = "pve"
url = "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"
# need to rename the file to *.qcow2 to indicate the actual file format for import
file_name = "jammy-server-cloudimg-amd64.qcow2"
}