func (e Errors) Error() string {
	if len(e) == 0 {
		return ""
	}
	var details []string
	for _, err := range e {
		details = append(details, err.Error())
	}
	return fmt.Sprintf("%d error(s) occurred.\n\t%s", len(e), strings.Join(details, "\n\t"))
}
Error returns a string which summarize how many errors happened and for
each error, the region, the service and  the error message reported by
AWS original error.
package raws
import (
	"fmt"
	"strings"
)
type Error struct {
	err     error
	region  string
	service string
}
func NewError(region string, service string, e error) Error {
	return Error{
		region:  region,
		service: service,
		err:     e,
	}
}
func (e Error) Error() string {
	return fmt.Sprintf("region: %s, service: %s, Error message: %q",
		e.region,
		e.service,
		e.err.Error())
}
func (e Error) Region() string {
	return e.region
}
func (e Error) Service() string {
	return e.service
}
type Errors []Error