func (a *API) UseInitMethods() bool {
	return !a.NoInitMethods
}
UseInitMethods returns if the service's init method should be rendered.
package api
import (
	"bytes"
	"fmt"
	"regexp"
	"sort"
	"strings"
	"text/template"
	"github.com/ks3sdklib/aws-sdk-go/internal/util"
)
type API struct {
	Metadata   Metadata
	Operations map[string]*Operation
	Shapes     map[string]*Shape
	NoInflections bool
	NoRemoveUnusedShapes bool
	NoInitMethods bool
	initialized       bool
	imports           map[string]bool
	name              string
	unrecognizedNames map[string]string
}
type Metadata struct {
	APIVersion          string
	EndpointPrefix      string
	SigningName         string
	ServiceAbbreviation string
	ServiceFullName     string
	SignatureVersion    string
	JSONVersion         string
	TargetPrefix        string
	Protocol            string
}
func (a *API) PackageName() string {
	return strings.ToLower(a.StructName())
}
func (a *API) InterfacePackageName() string {
	return a.PackageName() + "iface"
}
var nameRegex = regexp.MustCompile(`^Amazon|AWS\s*|\(.*|\s+|\W+`)
func (a *API) StructName() string {
	if a.name == "" {
		name := a.Metadata.ServiceAbbreviation
		if name == "" {
			name = a.Metadata.ServiceFullName
		}
		name = nameRegex.ReplaceAllString(name, "")
		switch name {
		case "ElasticLoadBalancing":
			a.name = "ELB"
		case "Config":
			a.name = "ConfigService"
		default:
			a.name = name
		}
	}
	return a.name
}