|
|
@ -36,7 +36,6 @@ import (
|
|
|
|
"encoding/json"
|
|
|
|
"encoding/json"
|
|
|
|
"sort"
|
|
|
|
"sort"
|
|
|
|
"strconv"
|
|
|
|
"strconv"
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
|
|
|
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
@ -237,10 +236,10 @@ func flattenBootDisk(bootDisk *compute.ItemComputeDisk) []map[string]interface{}
|
|
|
|
return res
|
|
|
|
return res
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func flattenComputeDisksDemo(disksList compute.ListComputeDisks, extraDisks []interface{}) []map[string]interface{} {
|
|
|
|
func flattenComputeDisksDemo(disksList compute.ListComputeDisks, extraDisks []interface{}, bootDiskId uint64) []map[string]interface{} {
|
|
|
|
res := make([]map[string]interface{}, 0, len(disksList))
|
|
|
|
res := make([]map[string]interface{}, 0, len(disksList))
|
|
|
|
for _, disk := range disksList {
|
|
|
|
for _, disk := range disksList {
|
|
|
|
if strings.Contains(disk.Name, "bootdisk") || findInExtraDisks(uint(disk.ID), extraDisks) { //skip main bootdisk and extraDisks
|
|
|
|
if disk.ID == bootDiskId || findInExtraDisks(uint(disk.ID), extraDisks) { //skip main bootdisk and extraDisks
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
temp := map[string]interface{}{
|
|
|
|
temp := map[string]interface{}{
|
|
|
@ -281,7 +280,7 @@ func flattenNetwork(interfaces compute.ListInterfaces) []map[string]interface{}
|
|
|
|
|
|
|
|
|
|
|
|
func findBootDisk(disks compute.ListComputeDisks) *compute.ItemComputeDisk {
|
|
|
|
func findBootDisk(disks compute.ListComputeDisks) *compute.ItemComputeDisk {
|
|
|
|
for _, disk := range disks {
|
|
|
|
for _, disk := range disks {
|
|
|
|
if strings.Contains(disk.Name, "bootdisk") {
|
|
|
|
if disk.Type == "B" {
|
|
|
|
return &disk
|
|
|
|
return &disk
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -321,7 +320,7 @@ func flattenCompute(d *schema.ResourceData, computeRec compute.RecordCompute) er
|
|
|
|
d.Set("deleted_time", computeRec.DeletedTime)
|
|
|
|
d.Set("deleted_time", computeRec.DeletedTime)
|
|
|
|
d.Set("description", computeRec.Description)
|
|
|
|
d.Set("description", computeRec.Description)
|
|
|
|
d.Set("devices", string(devices))
|
|
|
|
d.Set("devices", string(devices))
|
|
|
|
err := d.Set("disks", flattenComputeDisksDemo(computeRec.Disks, d.Get("extra_disks").(*schema.Set).List()))
|
|
|
|
err := d.Set("disks", flattenComputeDisksDemo(computeRec.Disks, d.Get("extra_disks").(*schema.Set).List(), bootDisk.ID))
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|