diff --git a/fwprovider/test/resource_container_test.go b/fwprovider/test/resource_container_test.go index 9d251fb3..93510379 100644 --- a/fwprovider/test/resource_container_test.go +++ b/fwprovider/test/resource_container_test.go @@ -195,6 +195,7 @@ func TestAccResourceContainer(t *testing.T) { disk { datastore_id = "local-lvm" size = 4 + mount_options = [] } mount_point { volume = "local-lvm" diff --git a/proxmoxtf/resource/container/container.go b/proxmoxtf/resource/container/container.go index bd424299..f6d4cff4 100644 --- a/proxmoxtf/resource/container/container.go +++ b/proxmoxtf/resource/container/container.go @@ -2305,11 +2305,16 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d disk[mkDiskQuota] = containerConfig.RootFS.Quota disk[mkDiskDatastoreID] = volumeParts[0] disk[mkDiskSize] = containerConfig.RootFS.Size.InGigabytes() - disk[mkDiskMountOptions] = containerConfig.RootFS.MountOptions + if containerConfig.RootFS.MountOptions != nil { + disk[mkDiskMountOptions] = *containerConfig.RootFS.MountOptions + } else { + disk[mkDiskMountOptions] = []string{} + } } else { // Default value of "storage" is "local" according to the API documentation. disk[mkDiskDatastoreID] = "local" disk[mkDiskSize] = dvDiskSize + disk[mkDiskMountOptions] = []string{} } currentDisk := d.Get(mkDisk).([]interface{}) @@ -3001,16 +3006,15 @@ func containerUpdate(ctx context.Context, d *schema.ResourceData, m interface{}) rootFS.Replicate = &replicate rootFS.Size = size - if len(mountOptions) > 0 { - mountOptionsArray := make([]string, 0, len(mountOptions)) + mountOptionsStrings := make([]string, 0, len(mountOptions)) - for _, option := range mountOptions { - mountOptionsArray = append(mountOptionsArray, option.(string)) - } - - rootFS.MountOptions = &mountOptionsArray + for _, option := range mountOptions { + mountOptionsStrings = append(mountOptionsStrings, option.(string)) } + // Always set, including empty, to allow clearing mount options + rootFS.MountOptions = &mountOptionsStrings + updateBody.RootFS = rootFS rebootRequired = true