func (b *SettableBool) GoString() string {
	return fmt.Sprintf("Bool{value:%t, set:%t}", b.value, b.set)
}
GoString returns the string representation of the SettableBool value and state
package aws
import (
	"fmt"
	"io"
	"time"
)
func String(v string) *string {
	return &v
}
func Boolean(v bool) *bool {
	return &v
}
func Long(v int64) *int64 {
	return &v
}
func Double(v float64) *float64 {
	return &v
}
func Time(t time.Time) *time.Time {
	return &t
}
func ReadSeekCloser(r io.Reader) ReaderSeekerCloser {
	return ReaderSeekerCloser{r}
}
type ReaderSeekerCloser struct {
	r io.Reader
}
func (r ReaderSeekerCloser) Read(p []byte) (int, error) {
	switch t := r.r.(type) {
	case io.Reader:
		return t.Read(p)
	}
	return 0, nil
}
func (r ReaderSeekerCloser) Seek(offset int64, whence int) (int64, error) {
	switch t := r.r.(type) {
	case io.Seeker:
		return t.Seek(offset, whence)
	}
	return int64(0), nil
}
func (r ReaderSeekerCloser) Close() error {
	switch t := r.r.(type) {
	case io.Closer:
		return t.Close()
	}
	return nil
}
type SettableBool struct {
	value bool
	set   bool
}
func SetBool(value bool) SettableBool {
	return SettableBool{value: value, set: true}
}
func (b *SettableBool) Get() bool {
	if !b.set {
		return false
	}
	return b.value
}
func (b *SettableBool) Set(value bool) {
	b.value = value
	b.set = true
}
func (b *SettableBool) IsSet() bool {
	return b.set
}
func (b *SettableBool) Reset() {
	b.value = false
	b.set = false
}
func (b *SettableBool) String() string {
	return fmt.Sprintf("%t", b.Get())
}