code: func (c *Cloud) ResizeDisk(
  	diskName KubernetesVolumeID,
  	oldSize resource.Quantity,
  	newSize resource.Quantity) (resource.Quantity, error) {
  	awsDisk, err := newAWSDisk(c, diskName)
  	if err != nil {
  		return oldSize, err
  	}
  
  	volumeInfo, err := awsDisk.describeVolume()
  	if err != nil {
  		descErr := fmt.Errorf("AWS.ResizeDisk Error describing volume %s with %v", diskName, err)
  		return oldSize, descErr
  	}
  	// AWS resizes in chunks of GiB (not GB)
  	requestGiB := volumehelpers.RoundUpToGiB(newSize)
  	newSizeQuant := resource.MustParse(fmt.Sprintf("%dGi", requestGiB))
  
  	// If disk already if of greater or equal size than requested we return
  	if aws.Int64Value(volumeInfo.Size) >= requestGiB {
  		return newSizeQuant, nil
  	}
  	_, err = awsDisk.modifyVolume(requestGiB)
  
  	if err != nil {
  		return oldSize, err
  	}
  	return newSizeQuant, nil
  }
docs: // ResizeDisk resizes an EBS volume in GiB increments, it will round up to the
  // next GiB if arguments are not provided in even GiB increments