func (cfg Config) GetPFlagSet(prefix string) *pflag.FlagSet {
	cmdFlags := pflag.NewFlagSet("Config", pflag.ExitOnError)
	cmdFlags.String(fmt.Sprintf("%v%v", prefix, "region"), defaultConfig.Region, "AWS Region to connect to.")
	cmdFlags.String(fmt.Sprintf("%v%v", prefix, "accountId"), defaultConfig.AccountID, "AWS Account Identifier.")
	cmdFlags.Int(fmt.Sprintf("%v%v", prefix, "retries"), defaultConfig.Retries, "Number of retries.")
	return cmdFlags
}
GetPFlagSet will return strongly types pflags for all fields in Config and its nested types. The format of the
flags is json-name.json-sub-name... etc.
package aws
import (
	"encoding/json"
	"reflect"
	"fmt"
	"github.com/spf13/pflag"
)
func (Config) elemValueOrNil(v interface{}) interface{} {
	if t := reflect.TypeOf(v); t.Kind() == reflect.Ptr {
		if reflect.ValueOf(v).IsNil() {
			return reflect.Zero(t.Elem()).Interface()
		} else {
			return reflect.ValueOf(v).Interface()
		}
	} else if v == nil {
		return reflect.Zero(t).Interface()
	}
	return v
}
func (Config) mustJsonMarshal(v interface{}) string {
	raw, err := json.Marshal(v)
	if err != nil {
		panic(err)
	}
	return string(raw)
}
func (Config) mustMarshalJSON(v json.Marshaler) string {
	raw, err := v.MarshalJSON()
	if err != nil {
		panic(err)
	}
	return string(raw)
}