mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-04 21:14:05 +00:00
chore(vm): fix linter errors (#506)
fix: linter error in ambush * This commit fixes a linter error that somehow doesn't manifest unless some other, unrelated changes trigger it (see #501 and #505). * In addition it fixes a similar issue that had so far gone undetected by the linter. * Refactored the code in question into a function, since it was mostly duplicated. * Simplified a pair of conditionals that had the same code in both branches.
This commit is contained in:
parent
e02c52b8c6
commit
1896ea08f0
@ -3433,6 +3433,27 @@ func vmRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Dia
|
||||
return vmReadCustom(ctx, d, m, vmID, vmConfig, vmStatus)
|
||||
}
|
||||
|
||||
// orderedListFromMap generates a list from a map's values. The values are sorted based on the map's keys.
|
||||
func orderedListFromMap(inputMap map[string]interface{}) []interface{} {
|
||||
itemCount := len(inputMap)
|
||||
keyList := make([]string, itemCount)
|
||||
i := 0
|
||||
|
||||
for key := range inputMap {
|
||||
keyList[i] = key
|
||||
i++
|
||||
}
|
||||
|
||||
sort.Strings(keyList)
|
||||
|
||||
orderedList := make([]interface{}, itemCount)
|
||||
for i, k := range keyList {
|
||||
orderedList[i] = inputMap[k]
|
||||
}
|
||||
|
||||
return orderedList
|
||||
}
|
||||
|
||||
func vmReadCustom(
|
||||
ctx context.Context,
|
||||
d *schema.ResourceData,
|
||||
@ -3705,7 +3726,6 @@ func vmReadCustom(
|
||||
currentDiskList := d.Get(mkResourceVirtualEnvironmentVMDisk).([]interface{})
|
||||
diskMap := map[string]interface{}{}
|
||||
diskObjects := getDiskInfo(vmConfig, d)
|
||||
var orderedDiskList []interface{}
|
||||
|
||||
for di, dd := range diskObjects {
|
||||
disk := map[string]interface{}{}
|
||||
@ -3807,24 +3827,8 @@ func vmReadCustom(
|
||||
diskMap[di] = disk
|
||||
}
|
||||
|
||||
var keyList []string
|
||||
|
||||
for key := range diskMap {
|
||||
keyList = append(keyList, key)
|
||||
}
|
||||
|
||||
sort.Strings(keyList)
|
||||
|
||||
for _, k := range keyList {
|
||||
orderedDiskList = append(orderedDiskList, diskMap[k])
|
||||
}
|
||||
|
||||
if len(clone) > 0 {
|
||||
if len(currentDiskList) > 0 {
|
||||
err := d.Set(mkResourceVirtualEnvironmentVMDisk, orderedDiskList)
|
||||
diags = append(diags, diag.FromErr(err)...)
|
||||
}
|
||||
} else if len(currentDiskList) > 0 {
|
||||
if len(currentDiskList) > 0 {
|
||||
orderedDiskList := orderedListFromMap(diskMap)
|
||||
err := d.Set(mkResourceVirtualEnvironmentVMDisk, orderedDiskList)
|
||||
diags = append(diags, diag.FromErr(err)...)
|
||||
}
|
||||
@ -3887,7 +3891,6 @@ func vmReadCustom(
|
||||
|
||||
currentPCIList := d.Get(mkResourceVirtualEnvironmentVMHostPCI).([]interface{})
|
||||
pciMap := map[string]interface{}{}
|
||||
var orderedPCIList []interface{}
|
||||
|
||||
pciDevices := getPCIInfo(vmConfig, d)
|
||||
for pi, pp := range pciDevices {
|
||||
@ -3933,23 +3936,9 @@ func vmReadCustom(
|
||||
pciMap[pi] = pci
|
||||
}
|
||||
|
||||
keyList = []string{}
|
||||
for key := range pciMap {
|
||||
keyList = append(keyList, key)
|
||||
}
|
||||
sort.Strings(keyList)
|
||||
|
||||
for _, k := range keyList {
|
||||
orderedPCIList = append(orderedPCIList, pciMap[k])
|
||||
}
|
||||
|
||||
if len(clone) > 0 {
|
||||
if len(currentPCIList) > 0 {
|
||||
err := d.Set(mkResourceVirtualEnvironmentVMHostPCI, orderedPCIList)
|
||||
diags = append(diags, diag.FromErr(err)...)
|
||||
}
|
||||
} else if len(currentPCIList) > 0 {
|
||||
if len(currentPCIList) > 0 {
|
||||
// todo: reordering of devices by PVE may cause an issue here
|
||||
orderedPCIList := orderedListFromMap(pciMap)
|
||||
err := d.Set(mkResourceVirtualEnvironmentVMHostPCI, orderedPCIList)
|
||||
diags = append(diags, diag.FromErr(err)...)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user