"A device number must be provided for all block devices" : When I run the below code I get the error "SoftLayer_Exception_InvalidValue: Invalid value provided for 'blockDevices.device'. A device number must be provided for all block devices. (HTTP 200)"

What is wrong with the way I initialize the block devices?

    func verifyOrderTest(c Creds) (string, error) {
    	sess := session.New(*c.user, *c.key)
        service := services.GetVirtualGuestService(sess)
    	guestTpl := getGuestTplTest()
        guest, err := service.GenerateOrderTemplate(&guestTpl)
        if err != nil {
     		return "", err
     	}
        productOrderInstance := services.GetProductOrderService(sess)
     	_, err = productOrderInstance.VerifyOrder(guest)
     	if err != nil {
     		return "", err
     	}
     	return "success", nil
    }
    
    func getGuestTplTest() (datatypes.Virtual_Guest) {
        blockDevices := make([]datatypes.Virtual_Guest_Block_Device, 2)
        blockDevices[0] = datatypes.Virtual_Guest_Block_Device{
        	DiskImage: &datatypes.Virtual_Disk_Image{
        		Capacity: sl.Int(100),
        		LocalDiskFlag: sl.Bool(true),
        	},
        }
        blockDevices[1] = datatypes.Virtual_Guest_Block_Device{
        	DiskImage: &datatypes.Virtual_Disk_Image{
        		Capacity: sl.Int(100),
        		LocalDiskFlag: sl.Bool(true),
        	},
        }
    
        guestTpl := datatypes.Virtual_Guest{
    		BandwidthAllocation: sl.Float(10),
    	    BlockDevices: blockDevices,
    	    Datacenter: &datatypes.Location{Name: sl.String("dal13")},
    	    DedicatedAccountHostOnlyFlag: sl.Bool(true),
    	    Domain: sl.String("website.com"),
    	    Hostname: sl.String("hostname"),
    	    OperatingSystemReferenceCode: sl.String("UBUNTU_16_64"),
    	    LocalDiskFlag: sl.Bool(true),
    	    MaxMemory: sl.Int(32768),
    	    StartCpus: sl.Int(16),
    	}
    	return guestTpl
    }