0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-08-28 06:15:44 +00:00

fixes for edge cases

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2025-08-12 01:01:41 -04:00
parent ab544a57bf
commit 3c6cbd0d53
No known key found for this signature in database
GPG Key ID: 637146A2A6804C59
2 changed files with 13 additions and 8 deletions

View File

@ -195,6 +195,7 @@ func TestAccResourceContainer(t *testing.T) {
disk { disk {
datastore_id = "local-lvm" datastore_id = "local-lvm"
size = 4 size = 4
mount_options = []
} }
mount_point { mount_point {
volume = "local-lvm" volume = "local-lvm"

View File

@ -2305,11 +2305,16 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d
disk[mkDiskQuota] = containerConfig.RootFS.Quota disk[mkDiskQuota] = containerConfig.RootFS.Quota
disk[mkDiskDatastoreID] = volumeParts[0] disk[mkDiskDatastoreID] = volumeParts[0]
disk[mkDiskSize] = containerConfig.RootFS.Size.InGigabytes() 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 { } else {
// Default value of "storage" is "local" according to the API documentation. // Default value of "storage" is "local" according to the API documentation.
disk[mkDiskDatastoreID] = "local" disk[mkDiskDatastoreID] = "local"
disk[mkDiskSize] = dvDiskSize disk[mkDiskSize] = dvDiskSize
disk[mkDiskMountOptions] = []string{}
} }
currentDisk := d.Get(mkDisk).([]interface{}) currentDisk := d.Get(mkDisk).([]interface{})
@ -3001,15 +3006,14 @@ func containerUpdate(ctx context.Context, d *schema.ResourceData, m interface{})
rootFS.Replicate = &replicate rootFS.Replicate = &replicate
rootFS.Size = size rootFS.Size = size
if len(mountOptions) > 0 { mountOptionsStrings := make([]string, 0, len(mountOptions))
mountOptionsArray := make([]string, 0, len(mountOptions))
for _, option := range mountOptions { for _, option := range mountOptions {
mountOptionsArray = append(mountOptionsArray, option.(string)) mountOptionsStrings = append(mountOptionsStrings, option.(string))
} }
rootFS.MountOptions = &mountOptionsArray // Always set, including empty, to allow clearing mount options
} rootFS.MountOptions = &mountOptionsStrings
updateBody.RootFS = rootFS updateBody.RootFS = rootFS