diff --git a/internal/service/cloudapi/kvmvm/data_source_compute.go b/internal/service/cloudapi/kvmvm/data_source_compute.go index 4622b2b..652191c 100644 --- a/internal/service/cloudapi/kvmvm/data_source_compute.go +++ b/internal/service/cloudapi/kvmvm/data_source_compute.go @@ -34,7 +34,6 @@ package kvmvm import ( "context" "encoding/json" - "errors" "fmt" // "net/url" @@ -107,14 +106,15 @@ func parseBootDiskId(disks []DiskRecord) uint { return 0 } -func findBootDisk(disks []DiskRecord) (*DiskRecord, error) { +func findBootDisk(disks []DiskRecord) *DiskRecord { for _, d := range disks { if d.Type == "B" { - return &d, nil + return &d } } - return nil, errors.New("boot disk not found") + // some computes don't have a boot disk, so... + return &DiskRecord{} } // Parse the list of interfaces from compute/get response into a list of networks @@ -181,10 +181,7 @@ func flattenCompute(d *schema.ResourceData, compFacts string) error { d.Set("started", false) } - bootDisk, err := findBootDisk(model.Disks) - if err != nil { - return err - } + bootDisk := findBootDisk(model.Disks) d.Set("boot_disk_size", bootDisk.SizeMax) d.Set("boot_disk_id", bootDisk.ID) // we may need boot disk ID in resize operations