diff --git a/fwprovider/tests/resource_vm_test.go b/fwprovider/tests/resource_vm_test.go index 55d0e5f9..3ccd8ec0 100644 --- a/fwprovider/tests/resource_vm_test.go +++ b/fwprovider/tests/resource_vm_test.go @@ -639,6 +639,28 @@ func TestAccResourceVMDisks(t *testing.T) { RefreshState: true, }, }}, + + {"cdrom", []resource.TestStep{ + { + Config: te.renderConfig(` + resource "proxmox_virtual_environment_vm" "test_cdrom" { + node_name = "{{.NodeName}}" + started = false + name = "test-cdrom" + cdrom { + enabled = true + } + }`), + Check: resource.ComposeTestCheckFunc( + testResourceAttributes("proxmox_virtual_environment_vm.test_cdrom", map[string]string{ + "cdrom.0.enabled": "true", + }), + ), + }, + { + RefreshState: true, + }, + }}, {"efi disk", []resource.TestStep{ { Config: te.renderConfig(` diff --git a/proxmoxtf/resource/vm/vm.go b/proxmoxtf/resource/vm/vm.go index f6e12a60..5fd93496 100644 --- a/proxmoxtf/resource/vm/vm.go +++ b/proxmoxtf/resource/vm/vm.go @@ -17,13 +17,8 @@ import ( "strings" "time" - "github.com/bpg/terraform-provider-proxmox/proxmox/helpers/ptr" "golang.org/x/exp/maps" - "github.com/bpg/terraform-provider-proxmox/proxmoxtf/resource/vm/disk" - "github.com/bpg/terraform-provider-proxmox/proxmoxtf/resource/vm/network" - "github.com/bpg/terraform-provider-proxmox/utils" - "github.com/google/go-cmp/cmp" "github.com/google/uuid" "github.com/hashicorp/terraform-plugin-log/tflog" @@ -34,12 +29,16 @@ import ( "github.com/bpg/terraform-provider-proxmox/proxmox/api" "github.com/bpg/terraform-provider-proxmox/proxmox/cluster" + "github.com/bpg/terraform-provider-proxmox/proxmox/helpers/ptr" "github.com/bpg/terraform-provider-proxmox/proxmox/nodes/vms" "github.com/bpg/terraform-provider-proxmox/proxmox/pools" "github.com/bpg/terraform-provider-proxmox/proxmox/types" "github.com/bpg/terraform-provider-proxmox/proxmoxtf" "github.com/bpg/terraform-provider-proxmox/proxmoxtf/resource/validators" + "github.com/bpg/terraform-provider-proxmox/proxmoxtf/resource/vm/disk" + "github.com/bpg/terraform-provider-proxmox/proxmoxtf/resource/vm/network" "github.com/bpg/terraform-provider-proxmox/proxmoxtf/structure" + "github.com/bpg/terraform-provider-proxmox/utils" ) const ( @@ -2609,12 +2608,15 @@ func vmCreateCustom(ctx context.Context, d *schema.ResourceData, m interface{}) ideDevice2Media := "cdrom" ideDevices := vms.CustomStorageDevices{} - if cdromCloudInitEnabled { + if cdromCloudInitInterface != "" { ideDevices[cdromCloudInitInterface] = &vms.CustomStorageDevice{ Enabled: cdromCloudInitEnabled, FileVolume: cdromCloudInitFileID, Media: &ideDevice2Media, } + } + + if cdromInterface != "" { ideDevices[cdromInterface] = &vms.CustomStorageDevice{ Enabled: cdromEnabled, FileVolume: cdromFileID,