mirror of
https://github.com/letic/terraform-provider-proxmox.git
synced 2024-10-04 17:51:09 +00:00
support different types for disk size
This commit is contained in:
parent
7eacef9df5
commit
414c2fc749
@ -628,22 +628,20 @@ func prepareDiskSize(
|
|||||||
diskConfMap pxapi.QemuDevices,
|
diskConfMap pxapi.QemuDevices,
|
||||||
) error {
|
) error {
|
||||||
clonedConfig, err := pxapi.NewConfigQemuFromApi(vmr, client)
|
clonedConfig, err := pxapi.NewConfigQemuFromApi(vmr, client)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
//log.Printf("%s", clonedConfig)
|
//log.Printf("%s", clonedConfig)
|
||||||
for diskID, diskConf := range diskConfMap {
|
for diskID, diskConf := range diskConfMap {
|
||||||
diskName := fmt.Sprintf("%v%v", diskConf["type"], diskID)
|
diskName := fmt.Sprintf("%v%v", diskConf["type"], diskID)
|
||||||
|
|
||||||
//diskSizeGB := diskConf["size"].(string)
|
diskSize := diskSizeGB(diskConf["size"])
|
||||||
//diskSize, _ := strconv.ParseFloat(strings.Trim(diskSizeGB, "G"), 64)
|
|
||||||
diskSize := diskConf["size"].(float64)
|
|
||||||
// if err != nil {
|
|
||||||
// return err
|
|
||||||
// }
|
|
||||||
|
|
||||||
if _, diskExists := clonedConfig.QemuDisks[diskID]; !diskExists {
|
if _, diskExists := clonedConfig.QemuDisks[diskID]; !diskExists {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
clonedDiskSizeGB := clonedConfig.QemuDisks[diskID]["size"].(string)
|
|
||||||
clonedDiskSize, _ := strconv.ParseFloat(strings.Trim(clonedDiskSizeGB, "G"), 64)
|
clonedDiskSize := diskSizeGB(clonedConfig.QemuDisks[diskID]["size"])
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -661,6 +659,19 @@ func prepareDiskSize(
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func diskSizeGB(dcSize interface{}) float64 {
|
||||||
|
var diskSize float64
|
||||||
|
// TODO support other units M/G/K
|
||||||
|
switch dcSize.(type) {
|
||||||
|
case string:
|
||||||
|
diskSizeGB := dcSize.(string)
|
||||||
|
diskSize, _ = strconv.ParseFloat(strings.Trim(diskSizeGB, "G"), 64)
|
||||||
|
case float64:
|
||||||
|
diskSize = dcSize.(float64)
|
||||||
|
}
|
||||||
|
return diskSize
|
||||||
|
}
|
||||||
|
|
||||||
// Converting from schema.TypeSet to map of id and conf for each device,
|
// Converting from schema.TypeSet to map of id and conf for each device,
|
||||||
// which will be sent to Proxmox API.
|
// which will be sent to Proxmox API.
|
||||||
func devicesSetToMap(devicesSet *schema.Set) pxapi.QemuDevices {
|
func devicesSetToMap(devicesSet *schema.Set) pxapi.QemuDevices {
|
||||||
|
Loading…
Reference in New Issue
Block a user