1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package route53domains 4 5import ( 6 "github.com/aws/aws-sdk-go/aws" 7 "github.com/aws/aws-sdk-go/aws/client" 8 "github.com/aws/aws-sdk-go/aws/client/metadata" 9 "github.com/aws/aws-sdk-go/aws/request" 10 "github.com/aws/aws-sdk-go/aws/signer/v4" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 13) 14 15// Route53Domains provides the API operation methods for making requests to 16// Amazon Route 53 Domains. See this package's package overview docs 17// for details on the service. 18// 19// Route53Domains methods are safe to use concurrently. It is not safe to 20// modify mutate any of the struct's properties though. 21type Route53Domains struct { 22 *client.Client 23} 24 25// Used for custom client initialization logic 26var initClient func(*client.Client) 27 28// Used for custom request initialization logic 29var initRequest func(*request.Request) 30 31// Service information constants 32const ( 33 ServiceName = "route53domains" // Name of service. 34 EndpointsID = ServiceName // ID to lookup a service endpoint with. 35 ServiceID = "Route 53 Domains" // ServiceID is a unique identifier of a specific service. 36) 37 38// New creates a new instance of the Route53Domains client with a session. 39// If additional configuration is needed for the client instance use the optional 40// aws.Config parameter to add your extra config. 41// 42// Example: 43// mySession := session.Must(session.NewSession()) 44// 45// // Create a Route53Domains client from just a session. 46// svc := route53domains.New(mySession) 47// 48// // Create a Route53Domains client with additional configuration 49// svc := route53domains.New(mySession, aws.NewConfig().WithRegion("us-west-2")) 50func New(p client.ConfigProvider, cfgs ...*aws.Config) *Route53Domains { 51 c := p.ClientConfig(EndpointsID, cfgs...) 52 return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) 53} 54 55// newClient creates, initializes and returns a new service client instance. 56func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *Route53Domains { 57 svc := &Route53Domains{ 58 Client: client.New( 59 cfg, 60 metadata.ClientInfo{ 61 ServiceName: ServiceName, 62 ServiceID: ServiceID, 63 SigningName: signingName, 64 SigningRegion: signingRegion, 65 PartitionID: partitionID, 66 Endpoint: endpoint, 67 APIVersion: "2014-05-15", 68 ResolvedRegion: resolvedRegion, 69 JSONVersion: "1.1", 70 TargetPrefix: "Route53Domains_v20140515", 71 }, 72 handlers, 73 ), 74 } 75 76 // Handlers 77 svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) 78 svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) 79 svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) 80 svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) 81 svc.Handlers.UnmarshalError.PushBackNamed( 82 protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), 83 ) 84 85 // Run custom client initialization if present 86 if initClient != nil { 87 initClient(svc.Client) 88 } 89 90 return svc 91} 92 93// newRequest creates a new request for a Route53Domains operation and runs any 94// custom request initialization. 95func (c *Route53Domains) newRequest(op *request.Operation, params, data interface{}) *request.Request { 96 req := c.NewRequest(op, params, data) 97 98 // Run custom request initialization if present 99 if initRequest != nil { 100 initRequest(req) 101 } 102 103 return req 104} 105