1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package appsync
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opCreateApiCache = "CreateApiCache"
16
17// CreateApiCacheRequest generates a "aws/request.Request" representing the
18// client's request for the CreateApiCache operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateApiCache for more information on using the CreateApiCache
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateApiCacheRequest method.
33//    req, resp := client.CreateApiCacheRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache
41func (c *AppSync) CreateApiCacheRequest(input *CreateApiCacheInput) (req *request.Request, output *CreateApiCacheOutput) {
42	op := &request.Operation{
43		Name:       opCreateApiCache,
44		HTTPMethod: "POST",
45		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
46	}
47
48	if input == nil {
49		input = &CreateApiCacheInput{}
50	}
51
52	output = &CreateApiCacheOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateApiCache API operation for AWS AppSync.
58//
59// Creates a cache for the GraphQL API.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS AppSync's
66// API operation CreateApiCache for usage and error information.
67//
68// Returned Error Types:
69//   * BadRequestException
70//   The request is not well formed. For example, a value is invalid or a required
71//   field is missing. Check the field values, and then try again.
72//
73//   * ConcurrentModificationException
74//   Another modification is in progress at this time and it must complete before
75//   you can make your change.
76//
77//   * NotFoundException
78//   The resource specified in the request was not found. Check the resource,
79//   and then try again.
80//
81//   * UnauthorizedException
82//   You are not authorized to perform this operation.
83//
84//   * InternalFailureException
85//   An internal AWS AppSync error occurred. Try your request again.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache
88func (c *AppSync) CreateApiCache(input *CreateApiCacheInput) (*CreateApiCacheOutput, error) {
89	req, out := c.CreateApiCacheRequest(input)
90	return out, req.Send()
91}
92
93// CreateApiCacheWithContext is the same as CreateApiCache with the addition of
94// the ability to pass a context and additional request options.
95//
96// See CreateApiCache for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *AppSync) CreateApiCacheWithContext(ctx aws.Context, input *CreateApiCacheInput, opts ...request.Option) (*CreateApiCacheOutput, error) {
103	req, out := c.CreateApiCacheRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opCreateApiKey = "CreateApiKey"
110
111// CreateApiKeyRequest generates a "aws/request.Request" representing the
112// client's request for the CreateApiKey operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See CreateApiKey for more information on using the CreateApiKey
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the CreateApiKeyRequest method.
127//    req, resp := client.CreateApiKeyRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey
135func (c *AppSync) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *CreateApiKeyOutput) {
136	op := &request.Operation{
137		Name:       opCreateApiKey,
138		HTTPMethod: "POST",
139		HTTPPath:   "/v1/apis/{apiId}/apikeys",
140	}
141
142	if input == nil {
143		input = &CreateApiKeyInput{}
144	}
145
146	output = &CreateApiKeyOutput{}
147	req = c.newRequest(op, input, output)
148	return
149}
150
151// CreateApiKey API operation for AWS AppSync.
152//
153// Creates a unique key that you can distribute to clients who are executing
154// your API.
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for AWS AppSync's
161// API operation CreateApiKey for usage and error information.
162//
163// Returned Error Types:
164//   * BadRequestException
165//   The request is not well formed. For example, a value is invalid or a required
166//   field is missing. Check the field values, and then try again.
167//
168//   * NotFoundException
169//   The resource specified in the request was not found. Check the resource,
170//   and then try again.
171//
172//   * LimitExceededException
173//   The request exceeded a limit. Try your request again.
174//
175//   * UnauthorizedException
176//   You are not authorized to perform this operation.
177//
178//   * LimitExceededException
179//   The request exceeded a limit. Try your request again.
180//
181//   * InternalFailureException
182//   An internal AWS AppSync error occurred. Try your request again.
183//
184//   * ApiKeyLimitExceededException
185//   The API key exceeded a limit. Try your request again.
186//
187//   * ApiKeyValidityOutOfBoundsException
188//   The API key expiration must be set to a value between 1 and 365 days from
189//   creation (for CreateApiKey) or from update (for UpdateApiKey).
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey
192func (c *AppSync) CreateApiKey(input *CreateApiKeyInput) (*CreateApiKeyOutput, error) {
193	req, out := c.CreateApiKeyRequest(input)
194	return out, req.Send()
195}
196
197// CreateApiKeyWithContext is the same as CreateApiKey with the addition of
198// the ability to pass a context and additional request options.
199//
200// See CreateApiKey for details on how to use this API operation.
201//
202// The context must be non-nil and will be used for request cancellation. If
203// the context is nil a panic will occur. In the future the SDK may create
204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
205// for more information on using Contexts.
206func (c *AppSync) CreateApiKeyWithContext(ctx aws.Context, input *CreateApiKeyInput, opts ...request.Option) (*CreateApiKeyOutput, error) {
207	req, out := c.CreateApiKeyRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opCreateDataSource = "CreateDataSource"
214
215// CreateDataSourceRequest generates a "aws/request.Request" representing the
216// client's request for the CreateDataSource operation. The "output" return
217// value will be populated with the request's response once the request completes
218// successfully.
219//
220// Use "Send" method on the returned Request to send the API call to the service.
221// the "output" return value is not valid until after Send returns without error.
222//
223// See CreateDataSource for more information on using the CreateDataSource
224// API call, and error handling.
225//
226// This method is useful when you want to inject custom logic or configuration
227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
228//
229//
230//    // Example sending a request using the CreateDataSourceRequest method.
231//    req, resp := client.CreateDataSourceRequest(params)
232//
233//    err := req.Send()
234//    if err == nil { // resp is now filled
235//        fmt.Println(resp)
236//    }
237//
238// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
239func (c *AppSync) CreateDataSourceRequest(input *CreateDataSourceInput) (req *request.Request, output *CreateDataSourceOutput) {
240	op := &request.Operation{
241		Name:       opCreateDataSource,
242		HTTPMethod: "POST",
243		HTTPPath:   "/v1/apis/{apiId}/datasources",
244	}
245
246	if input == nil {
247		input = &CreateDataSourceInput{}
248	}
249
250	output = &CreateDataSourceOutput{}
251	req = c.newRequest(op, input, output)
252	return
253}
254
255// CreateDataSource API operation for AWS AppSync.
256//
257// Creates a DataSource object.
258//
259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
260// with awserr.Error's Code and Message methods to get detailed information about
261// the error.
262//
263// See the AWS API reference guide for AWS AppSync's
264// API operation CreateDataSource for usage and error information.
265//
266// Returned Error Types:
267//   * BadRequestException
268//   The request is not well formed. For example, a value is invalid or a required
269//   field is missing. Check the field values, and then try again.
270//
271//   * ConcurrentModificationException
272//   Another modification is in progress at this time and it must complete before
273//   you can make your change.
274//
275//   * NotFoundException
276//   The resource specified in the request was not found. Check the resource,
277//   and then try again.
278//
279//   * UnauthorizedException
280//   You are not authorized to perform this operation.
281//
282//   * InternalFailureException
283//   An internal AWS AppSync error occurred. Try your request again.
284//
285// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
286func (c *AppSync) CreateDataSource(input *CreateDataSourceInput) (*CreateDataSourceOutput, error) {
287	req, out := c.CreateDataSourceRequest(input)
288	return out, req.Send()
289}
290
291// CreateDataSourceWithContext is the same as CreateDataSource with the addition of
292// the ability to pass a context and additional request options.
293//
294// See CreateDataSource for details on how to use this API operation.
295//
296// The context must be non-nil and will be used for request cancellation. If
297// the context is nil a panic will occur. In the future the SDK may create
298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
299// for more information on using Contexts.
300func (c *AppSync) CreateDataSourceWithContext(ctx aws.Context, input *CreateDataSourceInput, opts ...request.Option) (*CreateDataSourceOutput, error) {
301	req, out := c.CreateDataSourceRequest(input)
302	req.SetContext(ctx)
303	req.ApplyOptions(opts...)
304	return out, req.Send()
305}
306
307const opCreateFunction = "CreateFunction"
308
309// CreateFunctionRequest generates a "aws/request.Request" representing the
310// client's request for the CreateFunction operation. The "output" return
311// value will be populated with the request's response once the request completes
312// successfully.
313//
314// Use "Send" method on the returned Request to send the API call to the service.
315// the "output" return value is not valid until after Send returns without error.
316//
317// See CreateFunction for more information on using the CreateFunction
318// API call, and error handling.
319//
320// This method is useful when you want to inject custom logic or configuration
321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
322//
323//
324//    // Example sending a request using the CreateFunctionRequest method.
325//    req, resp := client.CreateFunctionRequest(params)
326//
327//    err := req.Send()
328//    if err == nil { // resp is now filled
329//        fmt.Println(resp)
330//    }
331//
332// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction
333func (c *AppSync) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *CreateFunctionOutput) {
334	op := &request.Operation{
335		Name:       opCreateFunction,
336		HTTPMethod: "POST",
337		HTTPPath:   "/v1/apis/{apiId}/functions",
338	}
339
340	if input == nil {
341		input = &CreateFunctionInput{}
342	}
343
344	output = &CreateFunctionOutput{}
345	req = c.newRequest(op, input, output)
346	return
347}
348
349// CreateFunction API operation for AWS AppSync.
350//
351// Creates a Function object.
352//
353// A function is a reusable entity. Multiple functions can be used to compose
354// the resolver logic.
355//
356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
357// with awserr.Error's Code and Message methods to get detailed information about
358// the error.
359//
360// See the AWS API reference guide for AWS AppSync's
361// API operation CreateFunction for usage and error information.
362//
363// Returned Error Types:
364//   * ConcurrentModificationException
365//   Another modification is in progress at this time and it must complete before
366//   you can make your change.
367//
368//   * NotFoundException
369//   The resource specified in the request was not found. Check the resource,
370//   and then try again.
371//
372//   * UnauthorizedException
373//   You are not authorized to perform this operation.
374//
375//   * InternalFailureException
376//   An internal AWS AppSync error occurred. Try your request again.
377//
378// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction
379func (c *AppSync) CreateFunction(input *CreateFunctionInput) (*CreateFunctionOutput, error) {
380	req, out := c.CreateFunctionRequest(input)
381	return out, req.Send()
382}
383
384// CreateFunctionWithContext is the same as CreateFunction with the addition of
385// the ability to pass a context and additional request options.
386//
387// See CreateFunction for details on how to use this API operation.
388//
389// The context must be non-nil and will be used for request cancellation. If
390// the context is nil a panic will occur. In the future the SDK may create
391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
392// for more information on using Contexts.
393func (c *AppSync) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*CreateFunctionOutput, error) {
394	req, out := c.CreateFunctionRequest(input)
395	req.SetContext(ctx)
396	req.ApplyOptions(opts...)
397	return out, req.Send()
398}
399
400const opCreateGraphqlApi = "CreateGraphqlApi"
401
402// CreateGraphqlApiRequest generates a "aws/request.Request" representing the
403// client's request for the CreateGraphqlApi operation. The "output" return
404// value will be populated with the request's response once the request completes
405// successfully.
406//
407// Use "Send" method on the returned Request to send the API call to the service.
408// the "output" return value is not valid until after Send returns without error.
409//
410// See CreateGraphqlApi for more information on using the CreateGraphqlApi
411// API call, and error handling.
412//
413// This method is useful when you want to inject custom logic or configuration
414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
415//
416//
417//    // Example sending a request using the CreateGraphqlApiRequest method.
418//    req, resp := client.CreateGraphqlApiRequest(params)
419//
420//    err := req.Send()
421//    if err == nil { // resp is now filled
422//        fmt.Println(resp)
423//    }
424//
425// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
426func (c *AppSync) CreateGraphqlApiRequest(input *CreateGraphqlApiInput) (req *request.Request, output *CreateGraphqlApiOutput) {
427	op := &request.Operation{
428		Name:       opCreateGraphqlApi,
429		HTTPMethod: "POST",
430		HTTPPath:   "/v1/apis",
431	}
432
433	if input == nil {
434		input = &CreateGraphqlApiInput{}
435	}
436
437	output = &CreateGraphqlApiOutput{}
438	req = c.newRequest(op, input, output)
439	return
440}
441
442// CreateGraphqlApi API operation for AWS AppSync.
443//
444// Creates a GraphqlApi object.
445//
446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
447// with awserr.Error's Code and Message methods to get detailed information about
448// the error.
449//
450// See the AWS API reference guide for AWS AppSync's
451// API operation CreateGraphqlApi for usage and error information.
452//
453// Returned Error Types:
454//   * BadRequestException
455//   The request is not well formed. For example, a value is invalid or a required
456//   field is missing. Check the field values, and then try again.
457//
458//   * LimitExceededException
459//   The request exceeded a limit. Try your request again.
460//
461//   * ConcurrentModificationException
462//   Another modification is in progress at this time and it must complete before
463//   you can make your change.
464//
465//   * UnauthorizedException
466//   You are not authorized to perform this operation.
467//
468//   * InternalFailureException
469//   An internal AWS AppSync error occurred. Try your request again.
470//
471//   * ApiLimitExceededException
472//   The GraphQL API exceeded a limit. Try your request again.
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
475func (c *AppSync) CreateGraphqlApi(input *CreateGraphqlApiInput) (*CreateGraphqlApiOutput, error) {
476	req, out := c.CreateGraphqlApiRequest(input)
477	return out, req.Send()
478}
479
480// CreateGraphqlApiWithContext is the same as CreateGraphqlApi with the addition of
481// the ability to pass a context and additional request options.
482//
483// See CreateGraphqlApi for details on how to use this API operation.
484//
485// The context must be non-nil and will be used for request cancellation. If
486// the context is nil a panic will occur. In the future the SDK may create
487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
488// for more information on using Contexts.
489func (c *AppSync) CreateGraphqlApiWithContext(ctx aws.Context, input *CreateGraphqlApiInput, opts ...request.Option) (*CreateGraphqlApiOutput, error) {
490	req, out := c.CreateGraphqlApiRequest(input)
491	req.SetContext(ctx)
492	req.ApplyOptions(opts...)
493	return out, req.Send()
494}
495
496const opCreateResolver = "CreateResolver"
497
498// CreateResolverRequest generates a "aws/request.Request" representing the
499// client's request for the CreateResolver operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See CreateResolver for more information on using the CreateResolver
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the CreateResolverRequest method.
514//    req, resp := client.CreateResolverRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
522func (c *AppSync) CreateResolverRequest(input *CreateResolverInput) (req *request.Request, output *CreateResolverOutput) {
523	op := &request.Operation{
524		Name:       opCreateResolver,
525		HTTPMethod: "POST",
526		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
527	}
528
529	if input == nil {
530		input = &CreateResolverInput{}
531	}
532
533	output = &CreateResolverOutput{}
534	req = c.newRequest(op, input, output)
535	return
536}
537
538// CreateResolver API operation for AWS AppSync.
539//
540// Creates a Resolver object.
541//
542// A resolver converts incoming requests into a format that a data source can
543// understand and converts the data source's responses into GraphQL.
544//
545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
546// with awserr.Error's Code and Message methods to get detailed information about
547// the error.
548//
549// See the AWS API reference guide for AWS AppSync's
550// API operation CreateResolver for usage and error information.
551//
552// Returned Error Types:
553//   * ConcurrentModificationException
554//   Another modification is in progress at this time and it must complete before
555//   you can make your change.
556//
557//   * NotFoundException
558//   The resource specified in the request was not found. Check the resource,
559//   and then try again.
560//
561//   * UnauthorizedException
562//   You are not authorized to perform this operation.
563//
564//   * InternalFailureException
565//   An internal AWS AppSync error occurred. Try your request again.
566//
567// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
568func (c *AppSync) CreateResolver(input *CreateResolverInput) (*CreateResolverOutput, error) {
569	req, out := c.CreateResolverRequest(input)
570	return out, req.Send()
571}
572
573// CreateResolverWithContext is the same as CreateResolver with the addition of
574// the ability to pass a context and additional request options.
575//
576// See CreateResolver for details on how to use this API operation.
577//
578// The context must be non-nil and will be used for request cancellation. If
579// the context is nil a panic will occur. In the future the SDK may create
580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
581// for more information on using Contexts.
582func (c *AppSync) CreateResolverWithContext(ctx aws.Context, input *CreateResolverInput, opts ...request.Option) (*CreateResolverOutput, error) {
583	req, out := c.CreateResolverRequest(input)
584	req.SetContext(ctx)
585	req.ApplyOptions(opts...)
586	return out, req.Send()
587}
588
589const opCreateType = "CreateType"
590
591// CreateTypeRequest generates a "aws/request.Request" representing the
592// client's request for the CreateType operation. The "output" return
593// value will be populated with the request's response once the request completes
594// successfully.
595//
596// Use "Send" method on the returned Request to send the API call to the service.
597// the "output" return value is not valid until after Send returns without error.
598//
599// See CreateType for more information on using the CreateType
600// API call, and error handling.
601//
602// This method is useful when you want to inject custom logic or configuration
603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
604//
605//
606//    // Example sending a request using the CreateTypeRequest method.
607//    req, resp := client.CreateTypeRequest(params)
608//
609//    err := req.Send()
610//    if err == nil { // resp is now filled
611//        fmt.Println(resp)
612//    }
613//
614// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType
615func (c *AppSync) CreateTypeRequest(input *CreateTypeInput) (req *request.Request, output *CreateTypeOutput) {
616	op := &request.Operation{
617		Name:       opCreateType,
618		HTTPMethod: "POST",
619		HTTPPath:   "/v1/apis/{apiId}/types",
620	}
621
622	if input == nil {
623		input = &CreateTypeInput{}
624	}
625
626	output = &CreateTypeOutput{}
627	req = c.newRequest(op, input, output)
628	return
629}
630
631// CreateType API operation for AWS AppSync.
632//
633// Creates a Type object.
634//
635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
636// with awserr.Error's Code and Message methods to get detailed information about
637// the error.
638//
639// See the AWS API reference guide for AWS AppSync's
640// API operation CreateType for usage and error information.
641//
642// Returned Error Types:
643//   * BadRequestException
644//   The request is not well formed. For example, a value is invalid or a required
645//   field is missing. Check the field values, and then try again.
646//
647//   * ConcurrentModificationException
648//   Another modification is in progress at this time and it must complete before
649//   you can make your change.
650//
651//   * NotFoundException
652//   The resource specified in the request was not found. Check the resource,
653//   and then try again.
654//
655//   * UnauthorizedException
656//   You are not authorized to perform this operation.
657//
658//   * InternalFailureException
659//   An internal AWS AppSync error occurred. Try your request again.
660//
661// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType
662func (c *AppSync) CreateType(input *CreateTypeInput) (*CreateTypeOutput, error) {
663	req, out := c.CreateTypeRequest(input)
664	return out, req.Send()
665}
666
667// CreateTypeWithContext is the same as CreateType with the addition of
668// the ability to pass a context and additional request options.
669//
670// See CreateType for details on how to use this API operation.
671//
672// The context must be non-nil and will be used for request cancellation. If
673// the context is nil a panic will occur. In the future the SDK may create
674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
675// for more information on using Contexts.
676func (c *AppSync) CreateTypeWithContext(ctx aws.Context, input *CreateTypeInput, opts ...request.Option) (*CreateTypeOutput, error) {
677	req, out := c.CreateTypeRequest(input)
678	req.SetContext(ctx)
679	req.ApplyOptions(opts...)
680	return out, req.Send()
681}
682
683const opDeleteApiCache = "DeleteApiCache"
684
685// DeleteApiCacheRequest generates a "aws/request.Request" representing the
686// client's request for the DeleteApiCache operation. The "output" return
687// value will be populated with the request's response once the request completes
688// successfully.
689//
690// Use "Send" method on the returned Request to send the API call to the service.
691// the "output" return value is not valid until after Send returns without error.
692//
693// See DeleteApiCache for more information on using the DeleteApiCache
694// API call, and error handling.
695//
696// This method is useful when you want to inject custom logic or configuration
697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
698//
699//
700//    // Example sending a request using the DeleteApiCacheRequest method.
701//    req, resp := client.DeleteApiCacheRequest(params)
702//
703//    err := req.Send()
704//    if err == nil { // resp is now filled
705//        fmt.Println(resp)
706//    }
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache
709func (c *AppSync) DeleteApiCacheRequest(input *DeleteApiCacheInput) (req *request.Request, output *DeleteApiCacheOutput) {
710	op := &request.Operation{
711		Name:       opDeleteApiCache,
712		HTTPMethod: "DELETE",
713		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
714	}
715
716	if input == nil {
717		input = &DeleteApiCacheInput{}
718	}
719
720	output = &DeleteApiCacheOutput{}
721	req = c.newRequest(op, input, output)
722	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
723	return
724}
725
726// DeleteApiCache API operation for AWS AppSync.
727//
728// Deletes an ApiCache object.
729//
730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
731// with awserr.Error's Code and Message methods to get detailed information about
732// the error.
733//
734// See the AWS API reference guide for AWS AppSync's
735// API operation DeleteApiCache for usage and error information.
736//
737// Returned Error Types:
738//   * BadRequestException
739//   The request is not well formed. For example, a value is invalid or a required
740//   field is missing. Check the field values, and then try again.
741//
742//   * ConcurrentModificationException
743//   Another modification is in progress at this time and it must complete before
744//   you can make your change.
745//
746//   * NotFoundException
747//   The resource specified in the request was not found. Check the resource,
748//   and then try again.
749//
750//   * UnauthorizedException
751//   You are not authorized to perform this operation.
752//
753//   * InternalFailureException
754//   An internal AWS AppSync error occurred. Try your request again.
755//
756// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache
757func (c *AppSync) DeleteApiCache(input *DeleteApiCacheInput) (*DeleteApiCacheOutput, error) {
758	req, out := c.DeleteApiCacheRequest(input)
759	return out, req.Send()
760}
761
762// DeleteApiCacheWithContext is the same as DeleteApiCache with the addition of
763// the ability to pass a context and additional request options.
764//
765// See DeleteApiCache for details on how to use this API operation.
766//
767// The context must be non-nil and will be used for request cancellation. If
768// the context is nil a panic will occur. In the future the SDK may create
769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
770// for more information on using Contexts.
771func (c *AppSync) DeleteApiCacheWithContext(ctx aws.Context, input *DeleteApiCacheInput, opts ...request.Option) (*DeleteApiCacheOutput, error) {
772	req, out := c.DeleteApiCacheRequest(input)
773	req.SetContext(ctx)
774	req.ApplyOptions(opts...)
775	return out, req.Send()
776}
777
778const opDeleteApiKey = "DeleteApiKey"
779
780// DeleteApiKeyRequest generates a "aws/request.Request" representing the
781// client's request for the DeleteApiKey operation. The "output" return
782// value will be populated with the request's response once the request completes
783// successfully.
784//
785// Use "Send" method on the returned Request to send the API call to the service.
786// the "output" return value is not valid until after Send returns without error.
787//
788// See DeleteApiKey for more information on using the DeleteApiKey
789// API call, and error handling.
790//
791// This method is useful when you want to inject custom logic or configuration
792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
793//
794//
795//    // Example sending a request using the DeleteApiKeyRequest method.
796//    req, resp := client.DeleteApiKeyRequest(params)
797//
798//    err := req.Send()
799//    if err == nil { // resp is now filled
800//        fmt.Println(resp)
801//    }
802//
803// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey
804func (c *AppSync) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) {
805	op := &request.Operation{
806		Name:       opDeleteApiKey,
807		HTTPMethod: "DELETE",
808		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
809	}
810
811	if input == nil {
812		input = &DeleteApiKeyInput{}
813	}
814
815	output = &DeleteApiKeyOutput{}
816	req = c.newRequest(op, input, output)
817	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
818	return
819}
820
821// DeleteApiKey API operation for AWS AppSync.
822//
823// Deletes an API key.
824//
825// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
826// with awserr.Error's Code and Message methods to get detailed information about
827// the error.
828//
829// See the AWS API reference guide for AWS AppSync's
830// API operation DeleteApiKey for usage and error information.
831//
832// Returned Error Types:
833//   * BadRequestException
834//   The request is not well formed. For example, a value is invalid or a required
835//   field is missing. Check the field values, and then try again.
836//
837//   * NotFoundException
838//   The resource specified in the request was not found. Check the resource,
839//   and then try again.
840//
841//   * UnauthorizedException
842//   You are not authorized to perform this operation.
843//
844//   * InternalFailureException
845//   An internal AWS AppSync error occurred. Try your request again.
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey
848func (c *AppSync) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) {
849	req, out := c.DeleteApiKeyRequest(input)
850	return out, req.Send()
851}
852
853// DeleteApiKeyWithContext is the same as DeleteApiKey with the addition of
854// the ability to pass a context and additional request options.
855//
856// See DeleteApiKey for details on how to use this API operation.
857//
858// The context must be non-nil and will be used for request cancellation. If
859// the context is nil a panic will occur. In the future the SDK may create
860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
861// for more information on using Contexts.
862func (c *AppSync) DeleteApiKeyWithContext(ctx aws.Context, input *DeleteApiKeyInput, opts ...request.Option) (*DeleteApiKeyOutput, error) {
863	req, out := c.DeleteApiKeyRequest(input)
864	req.SetContext(ctx)
865	req.ApplyOptions(opts...)
866	return out, req.Send()
867}
868
869const opDeleteDataSource = "DeleteDataSource"
870
871// DeleteDataSourceRequest generates a "aws/request.Request" representing the
872// client's request for the DeleteDataSource operation. The "output" return
873// value will be populated with the request's response once the request completes
874// successfully.
875//
876// Use "Send" method on the returned Request to send the API call to the service.
877// the "output" return value is not valid until after Send returns without error.
878//
879// See DeleteDataSource for more information on using the DeleteDataSource
880// API call, and error handling.
881//
882// This method is useful when you want to inject custom logic or configuration
883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
884//
885//
886//    // Example sending a request using the DeleteDataSourceRequest method.
887//    req, resp := client.DeleteDataSourceRequest(params)
888//
889//    err := req.Send()
890//    if err == nil { // resp is now filled
891//        fmt.Println(resp)
892//    }
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
895func (c *AppSync) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) {
896	op := &request.Operation{
897		Name:       opDeleteDataSource,
898		HTTPMethod: "DELETE",
899		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
900	}
901
902	if input == nil {
903		input = &DeleteDataSourceInput{}
904	}
905
906	output = &DeleteDataSourceOutput{}
907	req = c.newRequest(op, input, output)
908	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
909	return
910}
911
912// DeleteDataSource API operation for AWS AppSync.
913//
914// Deletes a DataSource object.
915//
916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
917// with awserr.Error's Code and Message methods to get detailed information about
918// the error.
919//
920// See the AWS API reference guide for AWS AppSync's
921// API operation DeleteDataSource for usage and error information.
922//
923// Returned Error Types:
924//   * BadRequestException
925//   The request is not well formed. For example, a value is invalid or a required
926//   field is missing. Check the field values, and then try again.
927//
928//   * ConcurrentModificationException
929//   Another modification is in progress at this time and it must complete before
930//   you can make your change.
931//
932//   * NotFoundException
933//   The resource specified in the request was not found. Check the resource,
934//   and then try again.
935//
936//   * UnauthorizedException
937//   You are not authorized to perform this operation.
938//
939//   * InternalFailureException
940//   An internal AWS AppSync error occurred. Try your request again.
941//
942// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
943func (c *AppSync) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) {
944	req, out := c.DeleteDataSourceRequest(input)
945	return out, req.Send()
946}
947
948// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of
949// the ability to pass a context and additional request options.
950//
951// See DeleteDataSource for details on how to use this API operation.
952//
953// The context must be non-nil and will be used for request cancellation. If
954// the context is nil a panic will occur. In the future the SDK may create
955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
956// for more information on using Contexts.
957func (c *AppSync) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) {
958	req, out := c.DeleteDataSourceRequest(input)
959	req.SetContext(ctx)
960	req.ApplyOptions(opts...)
961	return out, req.Send()
962}
963
964const opDeleteFunction = "DeleteFunction"
965
966// DeleteFunctionRequest generates a "aws/request.Request" representing the
967// client's request for the DeleteFunction operation. The "output" return
968// value will be populated with the request's response once the request completes
969// successfully.
970//
971// Use "Send" method on the returned Request to send the API call to the service.
972// the "output" return value is not valid until after Send returns without error.
973//
974// See DeleteFunction for more information on using the DeleteFunction
975// API call, and error handling.
976//
977// This method is useful when you want to inject custom logic or configuration
978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
979//
980//
981//    // Example sending a request using the DeleteFunctionRequest method.
982//    req, resp := client.DeleteFunctionRequest(params)
983//
984//    err := req.Send()
985//    if err == nil { // resp is now filled
986//        fmt.Println(resp)
987//    }
988//
989// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
990func (c *AppSync) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) {
991	op := &request.Operation{
992		Name:       opDeleteFunction,
993		HTTPMethod: "DELETE",
994		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
995	}
996
997	if input == nil {
998		input = &DeleteFunctionInput{}
999	}
1000
1001	output = &DeleteFunctionOutput{}
1002	req = c.newRequest(op, input, output)
1003	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1004	return
1005}
1006
1007// DeleteFunction API operation for AWS AppSync.
1008//
1009// Deletes a Function.
1010//
1011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1012// with awserr.Error's Code and Message methods to get detailed information about
1013// the error.
1014//
1015// See the AWS API reference guide for AWS AppSync's
1016// API operation DeleteFunction for usage and error information.
1017//
1018// Returned Error Types:
1019//   * ConcurrentModificationException
1020//   Another modification is in progress at this time and it must complete before
1021//   you can make your change.
1022//
1023//   * NotFoundException
1024//   The resource specified in the request was not found. Check the resource,
1025//   and then try again.
1026//
1027//   * UnauthorizedException
1028//   You are not authorized to perform this operation.
1029//
1030//   * InternalFailureException
1031//   An internal AWS AppSync error occurred. Try your request again.
1032//
1033// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
1034func (c *AppSync) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) {
1035	req, out := c.DeleteFunctionRequest(input)
1036	return out, req.Send()
1037}
1038
1039// DeleteFunctionWithContext is the same as DeleteFunction with the addition of
1040// the ability to pass a context and additional request options.
1041//
1042// See DeleteFunction for details on how to use this API operation.
1043//
1044// The context must be non-nil and will be used for request cancellation. If
1045// the context is nil a panic will occur. In the future the SDK may create
1046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1047// for more information on using Contexts.
1048func (c *AppSync) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) {
1049	req, out := c.DeleteFunctionRequest(input)
1050	req.SetContext(ctx)
1051	req.ApplyOptions(opts...)
1052	return out, req.Send()
1053}
1054
1055const opDeleteGraphqlApi = "DeleteGraphqlApi"
1056
1057// DeleteGraphqlApiRequest generates a "aws/request.Request" representing the
1058// client's request for the DeleteGraphqlApi operation. The "output" return
1059// value will be populated with the request's response once the request completes
1060// successfully.
1061//
1062// Use "Send" method on the returned Request to send the API call to the service.
1063// the "output" return value is not valid until after Send returns without error.
1064//
1065// See DeleteGraphqlApi for more information on using the DeleteGraphqlApi
1066// API call, and error handling.
1067//
1068// This method is useful when you want to inject custom logic or configuration
1069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1070//
1071//
1072//    // Example sending a request using the DeleteGraphqlApiRequest method.
1073//    req, resp := client.DeleteGraphqlApiRequest(params)
1074//
1075//    err := req.Send()
1076//    if err == nil { // resp is now filled
1077//        fmt.Println(resp)
1078//    }
1079//
1080// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
1081func (c *AppSync) DeleteGraphqlApiRequest(input *DeleteGraphqlApiInput) (req *request.Request, output *DeleteGraphqlApiOutput) {
1082	op := &request.Operation{
1083		Name:       opDeleteGraphqlApi,
1084		HTTPMethod: "DELETE",
1085		HTTPPath:   "/v1/apis/{apiId}",
1086	}
1087
1088	if input == nil {
1089		input = &DeleteGraphqlApiInput{}
1090	}
1091
1092	output = &DeleteGraphqlApiOutput{}
1093	req = c.newRequest(op, input, output)
1094	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1095	return
1096}
1097
1098// DeleteGraphqlApi API operation for AWS AppSync.
1099//
1100// Deletes a GraphqlApi object.
1101//
1102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1103// with awserr.Error's Code and Message methods to get detailed information about
1104// the error.
1105//
1106// See the AWS API reference guide for AWS AppSync's
1107// API operation DeleteGraphqlApi for usage and error information.
1108//
1109// Returned Error Types:
1110//   * BadRequestException
1111//   The request is not well formed. For example, a value is invalid or a required
1112//   field is missing. Check the field values, and then try again.
1113//
1114//   * ConcurrentModificationException
1115//   Another modification is in progress at this time and it must complete before
1116//   you can make your change.
1117//
1118//   * NotFoundException
1119//   The resource specified in the request was not found. Check the resource,
1120//   and then try again.
1121//
1122//   * UnauthorizedException
1123//   You are not authorized to perform this operation.
1124//
1125//   * InternalFailureException
1126//   An internal AWS AppSync error occurred. Try your request again.
1127//
1128//   * AccessDeniedException
1129//   You do not have access to perform this operation on this resource.
1130//
1131// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
1132func (c *AppSync) DeleteGraphqlApi(input *DeleteGraphqlApiInput) (*DeleteGraphqlApiOutput, error) {
1133	req, out := c.DeleteGraphqlApiRequest(input)
1134	return out, req.Send()
1135}
1136
1137// DeleteGraphqlApiWithContext is the same as DeleteGraphqlApi with the addition of
1138// the ability to pass a context and additional request options.
1139//
1140// See DeleteGraphqlApi for details on how to use this API operation.
1141//
1142// The context must be non-nil and will be used for request cancellation. If
1143// the context is nil a panic will occur. In the future the SDK may create
1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1145// for more information on using Contexts.
1146func (c *AppSync) DeleteGraphqlApiWithContext(ctx aws.Context, input *DeleteGraphqlApiInput, opts ...request.Option) (*DeleteGraphqlApiOutput, error) {
1147	req, out := c.DeleteGraphqlApiRequest(input)
1148	req.SetContext(ctx)
1149	req.ApplyOptions(opts...)
1150	return out, req.Send()
1151}
1152
1153const opDeleteResolver = "DeleteResolver"
1154
1155// DeleteResolverRequest generates a "aws/request.Request" representing the
1156// client's request for the DeleteResolver operation. The "output" return
1157// value will be populated with the request's response once the request completes
1158// successfully.
1159//
1160// Use "Send" method on the returned Request to send the API call to the service.
1161// the "output" return value is not valid until after Send returns without error.
1162//
1163// See DeleteResolver for more information on using the DeleteResolver
1164// API call, and error handling.
1165//
1166// This method is useful when you want to inject custom logic or configuration
1167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1168//
1169//
1170//    // Example sending a request using the DeleteResolverRequest method.
1171//    req, resp := client.DeleteResolverRequest(params)
1172//
1173//    err := req.Send()
1174//    if err == nil { // resp is now filled
1175//        fmt.Println(resp)
1176//    }
1177//
1178// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver
1179func (c *AppSync) DeleteResolverRequest(input *DeleteResolverInput) (req *request.Request, output *DeleteResolverOutput) {
1180	op := &request.Operation{
1181		Name:       opDeleteResolver,
1182		HTTPMethod: "DELETE",
1183		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
1184	}
1185
1186	if input == nil {
1187		input = &DeleteResolverInput{}
1188	}
1189
1190	output = &DeleteResolverOutput{}
1191	req = c.newRequest(op, input, output)
1192	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1193	return
1194}
1195
1196// DeleteResolver API operation for AWS AppSync.
1197//
1198// Deletes a Resolver object.
1199//
1200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1201// with awserr.Error's Code and Message methods to get detailed information about
1202// the error.
1203//
1204// See the AWS API reference guide for AWS AppSync's
1205// API operation DeleteResolver for usage and error information.
1206//
1207// Returned Error Types:
1208//   * ConcurrentModificationException
1209//   Another modification is in progress at this time and it must complete before
1210//   you can make your change.
1211//
1212//   * NotFoundException
1213//   The resource specified in the request was not found. Check the resource,
1214//   and then try again.
1215//
1216//   * UnauthorizedException
1217//   You are not authorized to perform this operation.
1218//
1219//   * InternalFailureException
1220//   An internal AWS AppSync error occurred. Try your request again.
1221//
1222// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver
1223func (c *AppSync) DeleteResolver(input *DeleteResolverInput) (*DeleteResolverOutput, error) {
1224	req, out := c.DeleteResolverRequest(input)
1225	return out, req.Send()
1226}
1227
1228// DeleteResolverWithContext is the same as DeleteResolver with the addition of
1229// the ability to pass a context and additional request options.
1230//
1231// See DeleteResolver for details on how to use this API operation.
1232//
1233// The context must be non-nil and will be used for request cancellation. If
1234// the context is nil a panic will occur. In the future the SDK may create
1235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1236// for more information on using Contexts.
1237func (c *AppSync) DeleteResolverWithContext(ctx aws.Context, input *DeleteResolverInput, opts ...request.Option) (*DeleteResolverOutput, error) {
1238	req, out := c.DeleteResolverRequest(input)
1239	req.SetContext(ctx)
1240	req.ApplyOptions(opts...)
1241	return out, req.Send()
1242}
1243
1244const opDeleteType = "DeleteType"
1245
1246// DeleteTypeRequest generates a "aws/request.Request" representing the
1247// client's request for the DeleteType operation. The "output" return
1248// value will be populated with the request's response once the request completes
1249// successfully.
1250//
1251// Use "Send" method on the returned Request to send the API call to the service.
1252// the "output" return value is not valid until after Send returns without error.
1253//
1254// See DeleteType for more information on using the DeleteType
1255// API call, and error handling.
1256//
1257// This method is useful when you want to inject custom logic or configuration
1258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1259//
1260//
1261//    // Example sending a request using the DeleteTypeRequest method.
1262//    req, resp := client.DeleteTypeRequest(params)
1263//
1264//    err := req.Send()
1265//    if err == nil { // resp is now filled
1266//        fmt.Println(resp)
1267//    }
1268//
1269// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType
1270func (c *AppSync) DeleteTypeRequest(input *DeleteTypeInput) (req *request.Request, output *DeleteTypeOutput) {
1271	op := &request.Operation{
1272		Name:       opDeleteType,
1273		HTTPMethod: "DELETE",
1274		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
1275	}
1276
1277	if input == nil {
1278		input = &DeleteTypeInput{}
1279	}
1280
1281	output = &DeleteTypeOutput{}
1282	req = c.newRequest(op, input, output)
1283	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1284	return
1285}
1286
1287// DeleteType API operation for AWS AppSync.
1288//
1289// Deletes a Type object.
1290//
1291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1292// with awserr.Error's Code and Message methods to get detailed information about
1293// the error.
1294//
1295// See the AWS API reference guide for AWS AppSync's
1296// API operation DeleteType for usage and error information.
1297//
1298// Returned Error Types:
1299//   * BadRequestException
1300//   The request is not well formed. For example, a value is invalid or a required
1301//   field is missing. Check the field values, and then try again.
1302//
1303//   * ConcurrentModificationException
1304//   Another modification is in progress at this time and it must complete before
1305//   you can make your change.
1306//
1307//   * NotFoundException
1308//   The resource specified in the request was not found. Check the resource,
1309//   and then try again.
1310//
1311//   * UnauthorizedException
1312//   You are not authorized to perform this operation.
1313//
1314//   * InternalFailureException
1315//   An internal AWS AppSync error occurred. Try your request again.
1316//
1317// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType
1318func (c *AppSync) DeleteType(input *DeleteTypeInput) (*DeleteTypeOutput, error) {
1319	req, out := c.DeleteTypeRequest(input)
1320	return out, req.Send()
1321}
1322
1323// DeleteTypeWithContext is the same as DeleteType with the addition of
1324// the ability to pass a context and additional request options.
1325//
1326// See DeleteType for details on how to use this API operation.
1327//
1328// The context must be non-nil and will be used for request cancellation. If
1329// the context is nil a panic will occur. In the future the SDK may create
1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1331// for more information on using Contexts.
1332func (c *AppSync) DeleteTypeWithContext(ctx aws.Context, input *DeleteTypeInput, opts ...request.Option) (*DeleteTypeOutput, error) {
1333	req, out := c.DeleteTypeRequest(input)
1334	req.SetContext(ctx)
1335	req.ApplyOptions(opts...)
1336	return out, req.Send()
1337}
1338
1339const opFlushApiCache = "FlushApiCache"
1340
1341// FlushApiCacheRequest generates a "aws/request.Request" representing the
1342// client's request for the FlushApiCache operation. The "output" return
1343// value will be populated with the request's response once the request completes
1344// successfully.
1345//
1346// Use "Send" method on the returned Request to send the API call to the service.
1347// the "output" return value is not valid until after Send returns without error.
1348//
1349// See FlushApiCache for more information on using the FlushApiCache
1350// API call, and error handling.
1351//
1352// This method is useful when you want to inject custom logic or configuration
1353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1354//
1355//
1356//    // Example sending a request using the FlushApiCacheRequest method.
1357//    req, resp := client.FlushApiCacheRequest(params)
1358//
1359//    err := req.Send()
1360//    if err == nil { // resp is now filled
1361//        fmt.Println(resp)
1362//    }
1363//
1364// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache
1365func (c *AppSync) FlushApiCacheRequest(input *FlushApiCacheInput) (req *request.Request, output *FlushApiCacheOutput) {
1366	op := &request.Operation{
1367		Name:       opFlushApiCache,
1368		HTTPMethod: "DELETE",
1369		HTTPPath:   "/v1/apis/{apiId}/FlushCache",
1370	}
1371
1372	if input == nil {
1373		input = &FlushApiCacheInput{}
1374	}
1375
1376	output = &FlushApiCacheOutput{}
1377	req = c.newRequest(op, input, output)
1378	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1379	return
1380}
1381
1382// FlushApiCache API operation for AWS AppSync.
1383//
1384// Flushes an ApiCache object.
1385//
1386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1387// with awserr.Error's Code and Message methods to get detailed information about
1388// the error.
1389//
1390// See the AWS API reference guide for AWS AppSync's
1391// API operation FlushApiCache for usage and error information.
1392//
1393// Returned Error Types:
1394//   * BadRequestException
1395//   The request is not well formed. For example, a value is invalid or a required
1396//   field is missing. Check the field values, and then try again.
1397//
1398//   * ConcurrentModificationException
1399//   Another modification is in progress at this time and it must complete before
1400//   you can make your change.
1401//
1402//   * NotFoundException
1403//   The resource specified in the request was not found. Check the resource,
1404//   and then try again.
1405//
1406//   * UnauthorizedException
1407//   You are not authorized to perform this operation.
1408//
1409//   * InternalFailureException
1410//   An internal AWS AppSync error occurred. Try your request again.
1411//
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache
1413func (c *AppSync) FlushApiCache(input *FlushApiCacheInput) (*FlushApiCacheOutput, error) {
1414	req, out := c.FlushApiCacheRequest(input)
1415	return out, req.Send()
1416}
1417
1418// FlushApiCacheWithContext is the same as FlushApiCache with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See FlushApiCache for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *AppSync) FlushApiCacheWithContext(ctx aws.Context, input *FlushApiCacheInput, opts ...request.Option) (*FlushApiCacheOutput, error) {
1428	req, out := c.FlushApiCacheRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opGetApiCache = "GetApiCache"
1435
1436// GetApiCacheRequest generates a "aws/request.Request" representing the
1437// client's request for the GetApiCache operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfully.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See GetApiCache for more information on using the GetApiCache
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the GetApiCacheRequest method.
1452//    req, resp := client.GetApiCacheRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache
1460func (c *AppSync) GetApiCacheRequest(input *GetApiCacheInput) (req *request.Request, output *GetApiCacheOutput) {
1461	op := &request.Operation{
1462		Name:       opGetApiCache,
1463		HTTPMethod: "GET",
1464		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
1465	}
1466
1467	if input == nil {
1468		input = &GetApiCacheInput{}
1469	}
1470
1471	output = &GetApiCacheOutput{}
1472	req = c.newRequest(op, input, output)
1473	return
1474}
1475
1476// GetApiCache API operation for AWS AppSync.
1477//
1478// Retrieves an ApiCache object.
1479//
1480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1481// with awserr.Error's Code and Message methods to get detailed information about
1482// the error.
1483//
1484// See the AWS API reference guide for AWS AppSync's
1485// API operation GetApiCache for usage and error information.
1486//
1487// Returned Error Types:
1488//   * BadRequestException
1489//   The request is not well formed. For example, a value is invalid or a required
1490//   field is missing. Check the field values, and then try again.
1491//
1492//   * ConcurrentModificationException
1493//   Another modification is in progress at this time and it must complete before
1494//   you can make your change.
1495//
1496//   * NotFoundException
1497//   The resource specified in the request was not found. Check the resource,
1498//   and then try again.
1499//
1500//   * UnauthorizedException
1501//   You are not authorized to perform this operation.
1502//
1503//   * InternalFailureException
1504//   An internal AWS AppSync error occurred. Try your request again.
1505//
1506// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache
1507func (c *AppSync) GetApiCache(input *GetApiCacheInput) (*GetApiCacheOutput, error) {
1508	req, out := c.GetApiCacheRequest(input)
1509	return out, req.Send()
1510}
1511
1512// GetApiCacheWithContext is the same as GetApiCache with the addition of
1513// the ability to pass a context and additional request options.
1514//
1515// See GetApiCache for details on how to use this API operation.
1516//
1517// The context must be non-nil and will be used for request cancellation. If
1518// the context is nil a panic will occur. In the future the SDK may create
1519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1520// for more information on using Contexts.
1521func (c *AppSync) GetApiCacheWithContext(ctx aws.Context, input *GetApiCacheInput, opts ...request.Option) (*GetApiCacheOutput, error) {
1522	req, out := c.GetApiCacheRequest(input)
1523	req.SetContext(ctx)
1524	req.ApplyOptions(opts...)
1525	return out, req.Send()
1526}
1527
1528const opGetDataSource = "GetDataSource"
1529
1530// GetDataSourceRequest generates a "aws/request.Request" representing the
1531// client's request for the GetDataSource operation. The "output" return
1532// value will be populated with the request's response once the request completes
1533// successfully.
1534//
1535// Use "Send" method on the returned Request to send the API call to the service.
1536// the "output" return value is not valid until after Send returns without error.
1537//
1538// See GetDataSource for more information on using the GetDataSource
1539// API call, and error handling.
1540//
1541// This method is useful when you want to inject custom logic or configuration
1542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1543//
1544//
1545//    // Example sending a request using the GetDataSourceRequest method.
1546//    req, resp := client.GetDataSourceRequest(params)
1547//
1548//    err := req.Send()
1549//    if err == nil { // resp is now filled
1550//        fmt.Println(resp)
1551//    }
1552//
1553// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource
1554func (c *AppSync) GetDataSourceRequest(input *GetDataSourceInput) (req *request.Request, output *GetDataSourceOutput) {
1555	op := &request.Operation{
1556		Name:       opGetDataSource,
1557		HTTPMethod: "GET",
1558		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
1559	}
1560
1561	if input == nil {
1562		input = &GetDataSourceInput{}
1563	}
1564
1565	output = &GetDataSourceOutput{}
1566	req = c.newRequest(op, input, output)
1567	return
1568}
1569
1570// GetDataSource API operation for AWS AppSync.
1571//
1572// Retrieves a DataSource object.
1573//
1574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1575// with awserr.Error's Code and Message methods to get detailed information about
1576// the error.
1577//
1578// See the AWS API reference guide for AWS AppSync's
1579// API operation GetDataSource for usage and error information.
1580//
1581// Returned Error Types:
1582//   * BadRequestException
1583//   The request is not well formed. For example, a value is invalid or a required
1584//   field is missing. Check the field values, and then try again.
1585//
1586//   * ConcurrentModificationException
1587//   Another modification is in progress at this time and it must complete before
1588//   you can make your change.
1589//
1590//   * NotFoundException
1591//   The resource specified in the request was not found. Check the resource,
1592//   and then try again.
1593//
1594//   * UnauthorizedException
1595//   You are not authorized to perform this operation.
1596//
1597//   * InternalFailureException
1598//   An internal AWS AppSync error occurred. Try your request again.
1599//
1600// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource
1601func (c *AppSync) GetDataSource(input *GetDataSourceInput) (*GetDataSourceOutput, error) {
1602	req, out := c.GetDataSourceRequest(input)
1603	return out, req.Send()
1604}
1605
1606// GetDataSourceWithContext is the same as GetDataSource with the addition of
1607// the ability to pass a context and additional request options.
1608//
1609// See GetDataSource for details on how to use this API operation.
1610//
1611// The context must be non-nil and will be used for request cancellation. If
1612// the context is nil a panic will occur. In the future the SDK may create
1613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1614// for more information on using Contexts.
1615func (c *AppSync) GetDataSourceWithContext(ctx aws.Context, input *GetDataSourceInput, opts ...request.Option) (*GetDataSourceOutput, error) {
1616	req, out := c.GetDataSourceRequest(input)
1617	req.SetContext(ctx)
1618	req.ApplyOptions(opts...)
1619	return out, req.Send()
1620}
1621
1622const opGetFunction = "GetFunction"
1623
1624// GetFunctionRequest generates a "aws/request.Request" representing the
1625// client's request for the GetFunction operation. The "output" return
1626// value will be populated with the request's response once the request completes
1627// successfully.
1628//
1629// Use "Send" method on the returned Request to send the API call to the service.
1630// the "output" return value is not valid until after Send returns without error.
1631//
1632// See GetFunction for more information on using the GetFunction
1633// API call, and error handling.
1634//
1635// This method is useful when you want to inject custom logic or configuration
1636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1637//
1638//
1639//    // Example sending a request using the GetFunctionRequest method.
1640//    req, resp := client.GetFunctionRequest(params)
1641//
1642//    err := req.Send()
1643//    if err == nil { // resp is now filled
1644//        fmt.Println(resp)
1645//    }
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction
1648func (c *AppSync) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) {
1649	op := &request.Operation{
1650		Name:       opGetFunction,
1651		HTTPMethod: "GET",
1652		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
1653	}
1654
1655	if input == nil {
1656		input = &GetFunctionInput{}
1657	}
1658
1659	output = &GetFunctionOutput{}
1660	req = c.newRequest(op, input, output)
1661	return
1662}
1663
1664// GetFunction API operation for AWS AppSync.
1665//
1666// Get a Function.
1667//
1668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1669// with awserr.Error's Code and Message methods to get detailed information about
1670// the error.
1671//
1672// See the AWS API reference guide for AWS AppSync's
1673// API operation GetFunction for usage and error information.
1674//
1675// Returned Error Types:
1676//   * ConcurrentModificationException
1677//   Another modification is in progress at this time and it must complete before
1678//   you can make your change.
1679//
1680//   * NotFoundException
1681//   The resource specified in the request was not found. Check the resource,
1682//   and then try again.
1683//
1684//   * UnauthorizedException
1685//   You are not authorized to perform this operation.
1686//
1687// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction
1688func (c *AppSync) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) {
1689	req, out := c.GetFunctionRequest(input)
1690	return out, req.Send()
1691}
1692
1693// GetFunctionWithContext is the same as GetFunction with the addition of
1694// the ability to pass a context and additional request options.
1695//
1696// See GetFunction for details on how to use this API operation.
1697//
1698// The context must be non-nil and will be used for request cancellation. If
1699// the context is nil a panic will occur. In the future the SDK may create
1700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1701// for more information on using Contexts.
1702func (c *AppSync) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) {
1703	req, out := c.GetFunctionRequest(input)
1704	req.SetContext(ctx)
1705	req.ApplyOptions(opts...)
1706	return out, req.Send()
1707}
1708
1709const opGetGraphqlApi = "GetGraphqlApi"
1710
1711// GetGraphqlApiRequest generates a "aws/request.Request" representing the
1712// client's request for the GetGraphqlApi operation. The "output" return
1713// value will be populated with the request's response once the request completes
1714// successfully.
1715//
1716// Use "Send" method on the returned Request to send the API call to the service.
1717// the "output" return value is not valid until after Send returns without error.
1718//
1719// See GetGraphqlApi for more information on using the GetGraphqlApi
1720// API call, and error handling.
1721//
1722// This method is useful when you want to inject custom logic or configuration
1723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1724//
1725//
1726//    // Example sending a request using the GetGraphqlApiRequest method.
1727//    req, resp := client.GetGraphqlApiRequest(params)
1728//
1729//    err := req.Send()
1730//    if err == nil { // resp is now filled
1731//        fmt.Println(resp)
1732//    }
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
1735func (c *AppSync) GetGraphqlApiRequest(input *GetGraphqlApiInput) (req *request.Request, output *GetGraphqlApiOutput) {
1736	op := &request.Operation{
1737		Name:       opGetGraphqlApi,
1738		HTTPMethod: "GET",
1739		HTTPPath:   "/v1/apis/{apiId}",
1740	}
1741
1742	if input == nil {
1743		input = &GetGraphqlApiInput{}
1744	}
1745
1746	output = &GetGraphqlApiOutput{}
1747	req = c.newRequest(op, input, output)
1748	return
1749}
1750
1751// GetGraphqlApi API operation for AWS AppSync.
1752//
1753// Retrieves a GraphqlApi object.
1754//
1755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1756// with awserr.Error's Code and Message methods to get detailed information about
1757// the error.
1758//
1759// See the AWS API reference guide for AWS AppSync's
1760// API operation GetGraphqlApi for usage and error information.
1761//
1762// Returned Error Types:
1763//   * BadRequestException
1764//   The request is not well formed. For example, a value is invalid or a required
1765//   field is missing. Check the field values, and then try again.
1766//
1767//   * NotFoundException
1768//   The resource specified in the request was not found. Check the resource,
1769//   and then try again.
1770//
1771//   * UnauthorizedException
1772//   You are not authorized to perform this operation.
1773//
1774//   * InternalFailureException
1775//   An internal AWS AppSync error occurred. Try your request again.
1776//
1777//   * AccessDeniedException
1778//   You do not have access to perform this operation on this resource.
1779//
1780// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
1781func (c *AppSync) GetGraphqlApi(input *GetGraphqlApiInput) (*GetGraphqlApiOutput, error) {
1782	req, out := c.GetGraphqlApiRequest(input)
1783	return out, req.Send()
1784}
1785
1786// GetGraphqlApiWithContext is the same as GetGraphqlApi with the addition of
1787// the ability to pass a context and additional request options.
1788//
1789// See GetGraphqlApi for details on how to use this API operation.
1790//
1791// The context must be non-nil and will be used for request cancellation. If
1792// the context is nil a panic will occur. In the future the SDK may create
1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1794// for more information on using Contexts.
1795func (c *AppSync) GetGraphqlApiWithContext(ctx aws.Context, input *GetGraphqlApiInput, opts ...request.Option) (*GetGraphqlApiOutput, error) {
1796	req, out := c.GetGraphqlApiRequest(input)
1797	req.SetContext(ctx)
1798	req.ApplyOptions(opts...)
1799	return out, req.Send()
1800}
1801
1802const opGetIntrospectionSchema = "GetIntrospectionSchema"
1803
1804// GetIntrospectionSchemaRequest generates a "aws/request.Request" representing the
1805// client's request for the GetIntrospectionSchema operation. The "output" return
1806// value will be populated with the request's response once the request completes
1807// successfully.
1808//
1809// Use "Send" method on the returned Request to send the API call to the service.
1810// the "output" return value is not valid until after Send returns without error.
1811//
1812// See GetIntrospectionSchema for more information on using the GetIntrospectionSchema
1813// API call, and error handling.
1814//
1815// This method is useful when you want to inject custom logic or configuration
1816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1817//
1818//
1819//    // Example sending a request using the GetIntrospectionSchemaRequest method.
1820//    req, resp := client.GetIntrospectionSchemaRequest(params)
1821//
1822//    err := req.Send()
1823//    if err == nil { // resp is now filled
1824//        fmt.Println(resp)
1825//    }
1826//
1827// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
1828func (c *AppSync) GetIntrospectionSchemaRequest(input *GetIntrospectionSchemaInput) (req *request.Request, output *GetIntrospectionSchemaOutput) {
1829	op := &request.Operation{
1830		Name:       opGetIntrospectionSchema,
1831		HTTPMethod: "GET",
1832		HTTPPath:   "/v1/apis/{apiId}/schema",
1833	}
1834
1835	if input == nil {
1836		input = &GetIntrospectionSchemaInput{}
1837	}
1838
1839	output = &GetIntrospectionSchemaOutput{}
1840	req = c.newRequest(op, input, output)
1841	return
1842}
1843
1844// GetIntrospectionSchema API operation for AWS AppSync.
1845//
1846// Retrieves the introspection schema for a GraphQL API.
1847//
1848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1849// with awserr.Error's Code and Message methods to get detailed information about
1850// the error.
1851//
1852// See the AWS API reference guide for AWS AppSync's
1853// API operation GetIntrospectionSchema for usage and error information.
1854//
1855// Returned Error Types:
1856//   * GraphQLSchemaException
1857//   The GraphQL schema is not valid.
1858//
1859//   * NotFoundException
1860//   The resource specified in the request was not found. Check the resource,
1861//   and then try again.
1862//
1863//   * UnauthorizedException
1864//   You are not authorized to perform this operation.
1865//
1866//   * InternalFailureException
1867//   An internal AWS AppSync error occurred. Try your request again.
1868//
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
1870func (c *AppSync) GetIntrospectionSchema(input *GetIntrospectionSchemaInput) (*GetIntrospectionSchemaOutput, error) {
1871	req, out := c.GetIntrospectionSchemaRequest(input)
1872	return out, req.Send()
1873}
1874
1875// GetIntrospectionSchemaWithContext is the same as GetIntrospectionSchema with the addition of
1876// the ability to pass a context and additional request options.
1877//
1878// See GetIntrospectionSchema for details on how to use this API operation.
1879//
1880// The context must be non-nil and will be used for request cancellation. If
1881// the context is nil a panic will occur. In the future the SDK may create
1882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1883// for more information on using Contexts.
1884func (c *AppSync) GetIntrospectionSchemaWithContext(ctx aws.Context, input *GetIntrospectionSchemaInput, opts ...request.Option) (*GetIntrospectionSchemaOutput, error) {
1885	req, out := c.GetIntrospectionSchemaRequest(input)
1886	req.SetContext(ctx)
1887	req.ApplyOptions(opts...)
1888	return out, req.Send()
1889}
1890
1891const opGetResolver = "GetResolver"
1892
1893// GetResolverRequest generates a "aws/request.Request" representing the
1894// client's request for the GetResolver operation. The "output" return
1895// value will be populated with the request's response once the request completes
1896// successfully.
1897//
1898// Use "Send" method on the returned Request to send the API call to the service.
1899// the "output" return value is not valid until after Send returns without error.
1900//
1901// See GetResolver for more information on using the GetResolver
1902// API call, and error handling.
1903//
1904// This method is useful when you want to inject custom logic or configuration
1905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1906//
1907//
1908//    // Example sending a request using the GetResolverRequest method.
1909//    req, resp := client.GetResolverRequest(params)
1910//
1911//    err := req.Send()
1912//    if err == nil { // resp is now filled
1913//        fmt.Println(resp)
1914//    }
1915//
1916// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
1917func (c *AppSync) GetResolverRequest(input *GetResolverInput) (req *request.Request, output *GetResolverOutput) {
1918	op := &request.Operation{
1919		Name:       opGetResolver,
1920		HTTPMethod: "GET",
1921		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
1922	}
1923
1924	if input == nil {
1925		input = &GetResolverInput{}
1926	}
1927
1928	output = &GetResolverOutput{}
1929	req = c.newRequest(op, input, output)
1930	return
1931}
1932
1933// GetResolver API operation for AWS AppSync.
1934//
1935// Retrieves a Resolver object.
1936//
1937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1938// with awserr.Error's Code and Message methods to get detailed information about
1939// the error.
1940//
1941// See the AWS API reference guide for AWS AppSync's
1942// API operation GetResolver for usage and error information.
1943//
1944// Returned Error Types:
1945//   * ConcurrentModificationException
1946//   Another modification is in progress at this time and it must complete before
1947//   you can make your change.
1948//
1949//   * NotFoundException
1950//   The resource specified in the request was not found. Check the resource,
1951//   and then try again.
1952//
1953//   * UnauthorizedException
1954//   You are not authorized to perform this operation.
1955//
1956// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
1957func (c *AppSync) GetResolver(input *GetResolverInput) (*GetResolverOutput, error) {
1958	req, out := c.GetResolverRequest(input)
1959	return out, req.Send()
1960}
1961
1962// GetResolverWithContext is the same as GetResolver with the addition of
1963// the ability to pass a context and additional request options.
1964//
1965// See GetResolver for details on how to use this API operation.
1966//
1967// The context must be non-nil and will be used for request cancellation. If
1968// the context is nil a panic will occur. In the future the SDK may create
1969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1970// for more information on using Contexts.
1971func (c *AppSync) GetResolverWithContext(ctx aws.Context, input *GetResolverInput, opts ...request.Option) (*GetResolverOutput, error) {
1972	req, out := c.GetResolverRequest(input)
1973	req.SetContext(ctx)
1974	req.ApplyOptions(opts...)
1975	return out, req.Send()
1976}
1977
1978const opGetSchemaCreationStatus = "GetSchemaCreationStatus"
1979
1980// GetSchemaCreationStatusRequest generates a "aws/request.Request" representing the
1981// client's request for the GetSchemaCreationStatus operation. The "output" return
1982// value will be populated with the request's response once the request completes
1983// successfully.
1984//
1985// Use "Send" method on the returned Request to send the API call to the service.
1986// the "output" return value is not valid until after Send returns without error.
1987//
1988// See GetSchemaCreationStatus for more information on using the GetSchemaCreationStatus
1989// API call, and error handling.
1990//
1991// This method is useful when you want to inject custom logic or configuration
1992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1993//
1994//
1995//    // Example sending a request using the GetSchemaCreationStatusRequest method.
1996//    req, resp := client.GetSchemaCreationStatusRequest(params)
1997//
1998//    err := req.Send()
1999//    if err == nil { // resp is now filled
2000//        fmt.Println(resp)
2001//    }
2002//
2003// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
2004func (c *AppSync) GetSchemaCreationStatusRequest(input *GetSchemaCreationStatusInput) (req *request.Request, output *GetSchemaCreationStatusOutput) {
2005	op := &request.Operation{
2006		Name:       opGetSchemaCreationStatus,
2007		HTTPMethod: "GET",
2008		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
2009	}
2010
2011	if input == nil {
2012		input = &GetSchemaCreationStatusInput{}
2013	}
2014
2015	output = &GetSchemaCreationStatusOutput{}
2016	req = c.newRequest(op, input, output)
2017	return
2018}
2019
2020// GetSchemaCreationStatus API operation for AWS AppSync.
2021//
2022// Retrieves the current status of a schema creation operation.
2023//
2024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2025// with awserr.Error's Code and Message methods to get detailed information about
2026// the error.
2027//
2028// See the AWS API reference guide for AWS AppSync's
2029// API operation GetSchemaCreationStatus for usage and error information.
2030//
2031// Returned Error Types:
2032//   * BadRequestException
2033//   The request is not well formed. For example, a value is invalid or a required
2034//   field is missing. Check the field values, and then try again.
2035//
2036//   * NotFoundException
2037//   The resource specified in the request was not found. Check the resource,
2038//   and then try again.
2039//
2040//   * UnauthorizedException
2041//   You are not authorized to perform this operation.
2042//
2043//   * InternalFailureException
2044//   An internal AWS AppSync error occurred. Try your request again.
2045//
2046// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
2047func (c *AppSync) GetSchemaCreationStatus(input *GetSchemaCreationStatusInput) (*GetSchemaCreationStatusOutput, error) {
2048	req, out := c.GetSchemaCreationStatusRequest(input)
2049	return out, req.Send()
2050}
2051
2052// GetSchemaCreationStatusWithContext is the same as GetSchemaCreationStatus with the addition of
2053// the ability to pass a context and additional request options.
2054//
2055// See GetSchemaCreationStatus for details on how to use this API operation.
2056//
2057// The context must be non-nil and will be used for request cancellation. If
2058// the context is nil a panic will occur. In the future the SDK may create
2059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2060// for more information on using Contexts.
2061func (c *AppSync) GetSchemaCreationStatusWithContext(ctx aws.Context, input *GetSchemaCreationStatusInput, opts ...request.Option) (*GetSchemaCreationStatusOutput, error) {
2062	req, out := c.GetSchemaCreationStatusRequest(input)
2063	req.SetContext(ctx)
2064	req.ApplyOptions(opts...)
2065	return out, req.Send()
2066}
2067
2068const opGetType = "GetType"
2069
2070// GetTypeRequest generates a "aws/request.Request" representing the
2071// client's request for the GetType operation. The "output" return
2072// value will be populated with the request's response once the request completes
2073// successfully.
2074//
2075// Use "Send" method on the returned Request to send the API call to the service.
2076// the "output" return value is not valid until after Send returns without error.
2077//
2078// See GetType for more information on using the GetType
2079// API call, and error handling.
2080//
2081// This method is useful when you want to inject custom logic or configuration
2082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2083//
2084//
2085//    // Example sending a request using the GetTypeRequest method.
2086//    req, resp := client.GetTypeRequest(params)
2087//
2088//    err := req.Send()
2089//    if err == nil { // resp is now filled
2090//        fmt.Println(resp)
2091//    }
2092//
2093// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
2094func (c *AppSync) GetTypeRequest(input *GetTypeInput) (req *request.Request, output *GetTypeOutput) {
2095	op := &request.Operation{
2096		Name:       opGetType,
2097		HTTPMethod: "GET",
2098		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
2099	}
2100
2101	if input == nil {
2102		input = &GetTypeInput{}
2103	}
2104
2105	output = &GetTypeOutput{}
2106	req = c.newRequest(op, input, output)
2107	return
2108}
2109
2110// GetType API operation for AWS AppSync.
2111//
2112// Retrieves a Type object.
2113//
2114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2115// with awserr.Error's Code and Message methods to get detailed information about
2116// the error.
2117//
2118// See the AWS API reference guide for AWS AppSync's
2119// API operation GetType for usage and error information.
2120//
2121// Returned Error Types:
2122//   * BadRequestException
2123//   The request is not well formed. For example, a value is invalid or a required
2124//   field is missing. Check the field values, and then try again.
2125//
2126//   * ConcurrentModificationException
2127//   Another modification is in progress at this time and it must complete before
2128//   you can make your change.
2129//
2130//   * NotFoundException
2131//   The resource specified in the request was not found. Check the resource,
2132//   and then try again.
2133//
2134//   * UnauthorizedException
2135//   You are not authorized to perform this operation.
2136//
2137//   * InternalFailureException
2138//   An internal AWS AppSync error occurred. Try your request again.
2139//
2140// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
2141func (c *AppSync) GetType(input *GetTypeInput) (*GetTypeOutput, error) {
2142	req, out := c.GetTypeRequest(input)
2143	return out, req.Send()
2144}
2145
2146// GetTypeWithContext is the same as GetType with the addition of
2147// the ability to pass a context and additional request options.
2148//
2149// See GetType for details on how to use this API operation.
2150//
2151// The context must be non-nil and will be used for request cancellation. If
2152// the context is nil a panic will occur. In the future the SDK may create
2153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2154// for more information on using Contexts.
2155func (c *AppSync) GetTypeWithContext(ctx aws.Context, input *GetTypeInput, opts ...request.Option) (*GetTypeOutput, error) {
2156	req, out := c.GetTypeRequest(input)
2157	req.SetContext(ctx)
2158	req.ApplyOptions(opts...)
2159	return out, req.Send()
2160}
2161
2162const opListApiKeys = "ListApiKeys"
2163
2164// ListApiKeysRequest generates a "aws/request.Request" representing the
2165// client's request for the ListApiKeys operation. The "output" return
2166// value will be populated with the request's response once the request completes
2167// successfully.
2168//
2169// Use "Send" method on the returned Request to send the API call to the service.
2170// the "output" return value is not valid until after Send returns without error.
2171//
2172// See ListApiKeys for more information on using the ListApiKeys
2173// API call, and error handling.
2174//
2175// This method is useful when you want to inject custom logic or configuration
2176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2177//
2178//
2179//    // Example sending a request using the ListApiKeysRequest method.
2180//    req, resp := client.ListApiKeysRequest(params)
2181//
2182//    err := req.Send()
2183//    if err == nil { // resp is now filled
2184//        fmt.Println(resp)
2185//    }
2186//
2187// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
2188func (c *AppSync) ListApiKeysRequest(input *ListApiKeysInput) (req *request.Request, output *ListApiKeysOutput) {
2189	op := &request.Operation{
2190		Name:       opListApiKeys,
2191		HTTPMethod: "GET",
2192		HTTPPath:   "/v1/apis/{apiId}/apikeys",
2193	}
2194
2195	if input == nil {
2196		input = &ListApiKeysInput{}
2197	}
2198
2199	output = &ListApiKeysOutput{}
2200	req = c.newRequest(op, input, output)
2201	return
2202}
2203
2204// ListApiKeys API operation for AWS AppSync.
2205//
2206// Lists the API keys for a given API.
2207//
2208// API keys are deleted automatically sometime after they expire. However, they
2209// may still be included in the response until they have actually been deleted.
2210// You can safely call DeleteApiKey to manually delete a key before it's automatically
2211// deleted.
2212//
2213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2214// with awserr.Error's Code and Message methods to get detailed information about
2215// the error.
2216//
2217// See the AWS API reference guide for AWS AppSync's
2218// API operation ListApiKeys for usage and error information.
2219//
2220// Returned Error Types:
2221//   * BadRequestException
2222//   The request is not well formed. For example, a value is invalid or a required
2223//   field is missing. Check the field values, and then try again.
2224//
2225//   * NotFoundException
2226//   The resource specified in the request was not found. Check the resource,
2227//   and then try again.
2228//
2229//   * UnauthorizedException
2230//   You are not authorized to perform this operation.
2231//
2232//   * InternalFailureException
2233//   An internal AWS AppSync error occurred. Try your request again.
2234//
2235// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
2236func (c *AppSync) ListApiKeys(input *ListApiKeysInput) (*ListApiKeysOutput, error) {
2237	req, out := c.ListApiKeysRequest(input)
2238	return out, req.Send()
2239}
2240
2241// ListApiKeysWithContext is the same as ListApiKeys with the addition of
2242// the ability to pass a context and additional request options.
2243//
2244// See ListApiKeys for details on how to use this API operation.
2245//
2246// The context must be non-nil and will be used for request cancellation. If
2247// the context is nil a panic will occur. In the future the SDK may create
2248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2249// for more information on using Contexts.
2250func (c *AppSync) ListApiKeysWithContext(ctx aws.Context, input *ListApiKeysInput, opts ...request.Option) (*ListApiKeysOutput, error) {
2251	req, out := c.ListApiKeysRequest(input)
2252	req.SetContext(ctx)
2253	req.ApplyOptions(opts...)
2254	return out, req.Send()
2255}
2256
2257const opListDataSources = "ListDataSources"
2258
2259// ListDataSourcesRequest generates a "aws/request.Request" representing the
2260// client's request for the ListDataSources operation. The "output" return
2261// value will be populated with the request's response once the request completes
2262// successfully.
2263//
2264// Use "Send" method on the returned Request to send the API call to the service.
2265// the "output" return value is not valid until after Send returns without error.
2266//
2267// See ListDataSources for more information on using the ListDataSources
2268// API call, and error handling.
2269//
2270// This method is useful when you want to inject custom logic or configuration
2271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2272//
2273//
2274//    // Example sending a request using the ListDataSourcesRequest method.
2275//    req, resp := client.ListDataSourcesRequest(params)
2276//
2277//    err := req.Send()
2278//    if err == nil { // resp is now filled
2279//        fmt.Println(resp)
2280//    }
2281//
2282// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
2283func (c *AppSync) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) {
2284	op := &request.Operation{
2285		Name:       opListDataSources,
2286		HTTPMethod: "GET",
2287		HTTPPath:   "/v1/apis/{apiId}/datasources",
2288	}
2289
2290	if input == nil {
2291		input = &ListDataSourcesInput{}
2292	}
2293
2294	output = &ListDataSourcesOutput{}
2295	req = c.newRequest(op, input, output)
2296	return
2297}
2298
2299// ListDataSources API operation for AWS AppSync.
2300//
2301// Lists the data sources for a given API.
2302//
2303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2304// with awserr.Error's Code and Message methods to get detailed information about
2305// the error.
2306//
2307// See the AWS API reference guide for AWS AppSync's
2308// API operation ListDataSources for usage and error information.
2309//
2310// Returned Error Types:
2311//   * BadRequestException
2312//   The request is not well formed. For example, a value is invalid or a required
2313//   field is missing. Check the field values, and then try again.
2314//
2315//   * NotFoundException
2316//   The resource specified in the request was not found. Check the resource,
2317//   and then try again.
2318//
2319//   * UnauthorizedException
2320//   You are not authorized to perform this operation.
2321//
2322//   * InternalFailureException
2323//   An internal AWS AppSync error occurred. Try your request again.
2324//
2325// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
2326func (c *AppSync) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) {
2327	req, out := c.ListDataSourcesRequest(input)
2328	return out, req.Send()
2329}
2330
2331// ListDataSourcesWithContext is the same as ListDataSources with the addition of
2332// the ability to pass a context and additional request options.
2333//
2334// See ListDataSources for details on how to use this API operation.
2335//
2336// The context must be non-nil and will be used for request cancellation. If
2337// the context is nil a panic will occur. In the future the SDK may create
2338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2339// for more information on using Contexts.
2340func (c *AppSync) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) {
2341	req, out := c.ListDataSourcesRequest(input)
2342	req.SetContext(ctx)
2343	req.ApplyOptions(opts...)
2344	return out, req.Send()
2345}
2346
2347const opListFunctions = "ListFunctions"
2348
2349// ListFunctionsRequest generates a "aws/request.Request" representing the
2350// client's request for the ListFunctions operation. The "output" return
2351// value will be populated with the request's response once the request completes
2352// successfully.
2353//
2354// Use "Send" method on the returned Request to send the API call to the service.
2355// the "output" return value is not valid until after Send returns without error.
2356//
2357// See ListFunctions for more information on using the ListFunctions
2358// API call, and error handling.
2359//
2360// This method is useful when you want to inject custom logic or configuration
2361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2362//
2363//
2364//    // Example sending a request using the ListFunctionsRequest method.
2365//    req, resp := client.ListFunctionsRequest(params)
2366//
2367//    err := req.Send()
2368//    if err == nil { // resp is now filled
2369//        fmt.Println(resp)
2370//    }
2371//
2372// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
2373func (c *AppSync) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) {
2374	op := &request.Operation{
2375		Name:       opListFunctions,
2376		HTTPMethod: "GET",
2377		HTTPPath:   "/v1/apis/{apiId}/functions",
2378	}
2379
2380	if input == nil {
2381		input = &ListFunctionsInput{}
2382	}
2383
2384	output = &ListFunctionsOutput{}
2385	req = c.newRequest(op, input, output)
2386	return
2387}
2388
2389// ListFunctions API operation for AWS AppSync.
2390//
2391// List multiple functions.
2392//
2393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2394// with awserr.Error's Code and Message methods to get detailed information about
2395// the error.
2396//
2397// See the AWS API reference guide for AWS AppSync's
2398// API operation ListFunctions for usage and error information.
2399//
2400// Returned Error Types:
2401//   * BadRequestException
2402//   The request is not well formed. For example, a value is invalid or a required
2403//   field is missing. Check the field values, and then try again.
2404//
2405//   * NotFoundException
2406//   The resource specified in the request was not found. Check the resource,
2407//   and then try again.
2408//
2409//   * UnauthorizedException
2410//   You are not authorized to perform this operation.
2411//
2412//   * InternalFailureException
2413//   An internal AWS AppSync error occurred. Try your request again.
2414//
2415// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
2416func (c *AppSync) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) {
2417	req, out := c.ListFunctionsRequest(input)
2418	return out, req.Send()
2419}
2420
2421// ListFunctionsWithContext is the same as ListFunctions with the addition of
2422// the ability to pass a context and additional request options.
2423//
2424// See ListFunctions for details on how to use this API operation.
2425//
2426// The context must be non-nil and will be used for request cancellation. If
2427// the context is nil a panic will occur. In the future the SDK may create
2428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2429// for more information on using Contexts.
2430func (c *AppSync) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) {
2431	req, out := c.ListFunctionsRequest(input)
2432	req.SetContext(ctx)
2433	req.ApplyOptions(opts...)
2434	return out, req.Send()
2435}
2436
2437const opListGraphqlApis = "ListGraphqlApis"
2438
2439// ListGraphqlApisRequest generates a "aws/request.Request" representing the
2440// client's request for the ListGraphqlApis operation. The "output" return
2441// value will be populated with the request's response once the request completes
2442// successfully.
2443//
2444// Use "Send" method on the returned Request to send the API call to the service.
2445// the "output" return value is not valid until after Send returns without error.
2446//
2447// See ListGraphqlApis for more information on using the ListGraphqlApis
2448// API call, and error handling.
2449//
2450// This method is useful when you want to inject custom logic or configuration
2451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2452//
2453//
2454//    // Example sending a request using the ListGraphqlApisRequest method.
2455//    req, resp := client.ListGraphqlApisRequest(params)
2456//
2457//    err := req.Send()
2458//    if err == nil { // resp is now filled
2459//        fmt.Println(resp)
2460//    }
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
2463func (c *AppSync) ListGraphqlApisRequest(input *ListGraphqlApisInput) (req *request.Request, output *ListGraphqlApisOutput) {
2464	op := &request.Operation{
2465		Name:       opListGraphqlApis,
2466		HTTPMethod: "GET",
2467		HTTPPath:   "/v1/apis",
2468	}
2469
2470	if input == nil {
2471		input = &ListGraphqlApisInput{}
2472	}
2473
2474	output = &ListGraphqlApisOutput{}
2475	req = c.newRequest(op, input, output)
2476	return
2477}
2478
2479// ListGraphqlApis API operation for AWS AppSync.
2480//
2481// Lists your GraphQL APIs.
2482//
2483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2484// with awserr.Error's Code and Message methods to get detailed information about
2485// the error.
2486//
2487// See the AWS API reference guide for AWS AppSync's
2488// API operation ListGraphqlApis for usage and error information.
2489//
2490// Returned Error Types:
2491//   * BadRequestException
2492//   The request is not well formed. For example, a value is invalid or a required
2493//   field is missing. Check the field values, and then try again.
2494//
2495//   * UnauthorizedException
2496//   You are not authorized to perform this operation.
2497//
2498//   * InternalFailureException
2499//   An internal AWS AppSync error occurred. Try your request again.
2500//
2501// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
2502func (c *AppSync) ListGraphqlApis(input *ListGraphqlApisInput) (*ListGraphqlApisOutput, error) {
2503	req, out := c.ListGraphqlApisRequest(input)
2504	return out, req.Send()
2505}
2506
2507// ListGraphqlApisWithContext is the same as ListGraphqlApis with the addition of
2508// the ability to pass a context and additional request options.
2509//
2510// See ListGraphqlApis for details on how to use this API operation.
2511//
2512// The context must be non-nil and will be used for request cancellation. If
2513// the context is nil a panic will occur. In the future the SDK may create
2514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2515// for more information on using Contexts.
2516func (c *AppSync) ListGraphqlApisWithContext(ctx aws.Context, input *ListGraphqlApisInput, opts ...request.Option) (*ListGraphqlApisOutput, error) {
2517	req, out := c.ListGraphqlApisRequest(input)
2518	req.SetContext(ctx)
2519	req.ApplyOptions(opts...)
2520	return out, req.Send()
2521}
2522
2523const opListResolvers = "ListResolvers"
2524
2525// ListResolversRequest generates a "aws/request.Request" representing the
2526// client's request for the ListResolvers operation. The "output" return
2527// value will be populated with the request's response once the request completes
2528// successfully.
2529//
2530// Use "Send" method on the returned Request to send the API call to the service.
2531// the "output" return value is not valid until after Send returns without error.
2532//
2533// See ListResolvers for more information on using the ListResolvers
2534// API call, and error handling.
2535//
2536// This method is useful when you want to inject custom logic or configuration
2537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2538//
2539//
2540//    // Example sending a request using the ListResolversRequest method.
2541//    req, resp := client.ListResolversRequest(params)
2542//
2543//    err := req.Send()
2544//    if err == nil { // resp is now filled
2545//        fmt.Println(resp)
2546//    }
2547//
2548// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
2549func (c *AppSync) ListResolversRequest(input *ListResolversInput) (req *request.Request, output *ListResolversOutput) {
2550	op := &request.Operation{
2551		Name:       opListResolvers,
2552		HTTPMethod: "GET",
2553		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
2554	}
2555
2556	if input == nil {
2557		input = &ListResolversInput{}
2558	}
2559
2560	output = &ListResolversOutput{}
2561	req = c.newRequest(op, input, output)
2562	return
2563}
2564
2565// ListResolvers API operation for AWS AppSync.
2566//
2567// Lists the resolvers for a given API and type.
2568//
2569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2570// with awserr.Error's Code and Message methods to get detailed information about
2571// the error.
2572//
2573// See the AWS API reference guide for AWS AppSync's
2574// API operation ListResolvers for usage and error information.
2575//
2576// Returned Error Types:
2577//   * BadRequestException
2578//   The request is not well formed. For example, a value is invalid or a required
2579//   field is missing. Check the field values, and then try again.
2580//
2581//   * NotFoundException
2582//   The resource specified in the request was not found. Check the resource,
2583//   and then try again.
2584//
2585//   * UnauthorizedException
2586//   You are not authorized to perform this operation.
2587//
2588//   * InternalFailureException
2589//   An internal AWS AppSync error occurred. Try your request again.
2590//
2591// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
2592func (c *AppSync) ListResolvers(input *ListResolversInput) (*ListResolversOutput, error) {
2593	req, out := c.ListResolversRequest(input)
2594	return out, req.Send()
2595}
2596
2597// ListResolversWithContext is the same as ListResolvers with the addition of
2598// the ability to pass a context and additional request options.
2599//
2600// See ListResolvers for details on how to use this API operation.
2601//
2602// The context must be non-nil and will be used for request cancellation. If
2603// the context is nil a panic will occur. In the future the SDK may create
2604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2605// for more information on using Contexts.
2606func (c *AppSync) ListResolversWithContext(ctx aws.Context, input *ListResolversInput, opts ...request.Option) (*ListResolversOutput, error) {
2607	req, out := c.ListResolversRequest(input)
2608	req.SetContext(ctx)
2609	req.ApplyOptions(opts...)
2610	return out, req.Send()
2611}
2612
2613const opListResolversByFunction = "ListResolversByFunction"
2614
2615// ListResolversByFunctionRequest generates a "aws/request.Request" representing the
2616// client's request for the ListResolversByFunction operation. The "output" return
2617// value will be populated with the request's response once the request completes
2618// successfully.
2619//
2620// Use "Send" method on the returned Request to send the API call to the service.
2621// the "output" return value is not valid until after Send returns without error.
2622//
2623// See ListResolversByFunction for more information on using the ListResolversByFunction
2624// API call, and error handling.
2625//
2626// This method is useful when you want to inject custom logic or configuration
2627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2628//
2629//
2630//    // Example sending a request using the ListResolversByFunctionRequest method.
2631//    req, resp := client.ListResolversByFunctionRequest(params)
2632//
2633//    err := req.Send()
2634//    if err == nil { // resp is now filled
2635//        fmt.Println(resp)
2636//    }
2637//
2638// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
2639func (c *AppSync) ListResolversByFunctionRequest(input *ListResolversByFunctionInput) (req *request.Request, output *ListResolversByFunctionOutput) {
2640	op := &request.Operation{
2641		Name:       opListResolversByFunction,
2642		HTTPMethod: "GET",
2643		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}/resolvers",
2644	}
2645
2646	if input == nil {
2647		input = &ListResolversByFunctionInput{}
2648	}
2649
2650	output = &ListResolversByFunctionOutput{}
2651	req = c.newRequest(op, input, output)
2652	return
2653}
2654
2655// ListResolversByFunction API operation for AWS AppSync.
2656//
2657// List the resolvers that are associated with a specific function.
2658//
2659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2660// with awserr.Error's Code and Message methods to get detailed information about
2661// the error.
2662//
2663// See the AWS API reference guide for AWS AppSync's
2664// API operation ListResolversByFunction for usage and error information.
2665//
2666// Returned Error Types:
2667//   * BadRequestException
2668//   The request is not well formed. For example, a value is invalid or a required
2669//   field is missing. Check the field values, and then try again.
2670//
2671//   * NotFoundException
2672//   The resource specified in the request was not found. Check the resource,
2673//   and then try again.
2674//
2675//   * UnauthorizedException
2676//   You are not authorized to perform this operation.
2677//
2678//   * InternalFailureException
2679//   An internal AWS AppSync error occurred. Try your request again.
2680//
2681// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
2682func (c *AppSync) ListResolversByFunction(input *ListResolversByFunctionInput) (*ListResolversByFunctionOutput, error) {
2683	req, out := c.ListResolversByFunctionRequest(input)
2684	return out, req.Send()
2685}
2686
2687// ListResolversByFunctionWithContext is the same as ListResolversByFunction with the addition of
2688// the ability to pass a context and additional request options.
2689//
2690// See ListResolversByFunction for details on how to use this API operation.
2691//
2692// The context must be non-nil and will be used for request cancellation. If
2693// the context is nil a panic will occur. In the future the SDK may create
2694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2695// for more information on using Contexts.
2696func (c *AppSync) ListResolversByFunctionWithContext(ctx aws.Context, input *ListResolversByFunctionInput, opts ...request.Option) (*ListResolversByFunctionOutput, error) {
2697	req, out := c.ListResolversByFunctionRequest(input)
2698	req.SetContext(ctx)
2699	req.ApplyOptions(opts...)
2700	return out, req.Send()
2701}
2702
2703const opListTagsForResource = "ListTagsForResource"
2704
2705// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2706// client's request for the ListTagsForResource operation. The "output" return
2707// value will be populated with the request's response once the request completes
2708// successfully.
2709//
2710// Use "Send" method on the returned Request to send the API call to the service.
2711// the "output" return value is not valid until after Send returns without error.
2712//
2713// See ListTagsForResource for more information on using the ListTagsForResource
2714// API call, and error handling.
2715//
2716// This method is useful when you want to inject custom logic or configuration
2717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2718//
2719//
2720//    // Example sending a request using the ListTagsForResourceRequest method.
2721//    req, resp := client.ListTagsForResourceRequest(params)
2722//
2723//    err := req.Send()
2724//    if err == nil { // resp is now filled
2725//        fmt.Println(resp)
2726//    }
2727//
2728// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
2729func (c *AppSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2730	op := &request.Operation{
2731		Name:       opListTagsForResource,
2732		HTTPMethod: "GET",
2733		HTTPPath:   "/v1/tags/{resourceArn}",
2734	}
2735
2736	if input == nil {
2737		input = &ListTagsForResourceInput{}
2738	}
2739
2740	output = &ListTagsForResourceOutput{}
2741	req = c.newRequest(op, input, output)
2742	return
2743}
2744
2745// ListTagsForResource API operation for AWS AppSync.
2746//
2747// Lists the tags for a resource.
2748//
2749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2750// with awserr.Error's Code and Message methods to get detailed information about
2751// the error.
2752//
2753// See the AWS API reference guide for AWS AppSync's
2754// API operation ListTagsForResource for usage and error information.
2755//
2756// Returned Error Types:
2757//   * BadRequestException
2758//   The request is not well formed. For example, a value is invalid or a required
2759//   field is missing. Check the field values, and then try again.
2760//
2761//   * NotFoundException
2762//   The resource specified in the request was not found. Check the resource,
2763//   and then try again.
2764//
2765//   * LimitExceededException
2766//   The request exceeded a limit. Try your request again.
2767//
2768//   * UnauthorizedException
2769//   You are not authorized to perform this operation.
2770//
2771//   * InternalFailureException
2772//   An internal AWS AppSync error occurred. Try your request again.
2773//
2774//   * AccessDeniedException
2775//   You do not have access to perform this operation on this resource.
2776//
2777// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
2778func (c *AppSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2779	req, out := c.ListTagsForResourceRequest(input)
2780	return out, req.Send()
2781}
2782
2783// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2784// the ability to pass a context and additional request options.
2785//
2786// See ListTagsForResource for details on how to use this API operation.
2787//
2788// The context must be non-nil and will be used for request cancellation. If
2789// the context is nil a panic will occur. In the future the SDK may create
2790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2791// for more information on using Contexts.
2792func (c *AppSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2793	req, out := c.ListTagsForResourceRequest(input)
2794	req.SetContext(ctx)
2795	req.ApplyOptions(opts...)
2796	return out, req.Send()
2797}
2798
2799const opListTypes = "ListTypes"
2800
2801// ListTypesRequest generates a "aws/request.Request" representing the
2802// client's request for the ListTypes operation. The "output" return
2803// value will be populated with the request's response once the request completes
2804// successfully.
2805//
2806// Use "Send" method on the returned Request to send the API call to the service.
2807// the "output" return value is not valid until after Send returns without error.
2808//
2809// See ListTypes for more information on using the ListTypes
2810// API call, and error handling.
2811//
2812// This method is useful when you want to inject custom logic or configuration
2813// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2814//
2815//
2816//    // Example sending a request using the ListTypesRequest method.
2817//    req, resp := client.ListTypesRequest(params)
2818//
2819//    err := req.Send()
2820//    if err == nil { // resp is now filled
2821//        fmt.Println(resp)
2822//    }
2823//
2824// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
2825func (c *AppSync) ListTypesRequest(input *ListTypesInput) (req *request.Request, output *ListTypesOutput) {
2826	op := &request.Operation{
2827		Name:       opListTypes,
2828		HTTPMethod: "GET",
2829		HTTPPath:   "/v1/apis/{apiId}/types",
2830	}
2831
2832	if input == nil {
2833		input = &ListTypesInput{}
2834	}
2835
2836	output = &ListTypesOutput{}
2837	req = c.newRequest(op, input, output)
2838	return
2839}
2840
2841// ListTypes API operation for AWS AppSync.
2842//
2843// Lists the types for a given API.
2844//
2845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2846// with awserr.Error's Code and Message methods to get detailed information about
2847// the error.
2848//
2849// See the AWS API reference guide for AWS AppSync's
2850// API operation ListTypes for usage and error information.
2851//
2852// Returned Error Types:
2853//   * BadRequestException
2854//   The request is not well formed. For example, a value is invalid or a required
2855//   field is missing. Check the field values, and then try again.
2856//
2857//   * ConcurrentModificationException
2858//   Another modification is in progress at this time and it must complete before
2859//   you can make your change.
2860//
2861//   * NotFoundException
2862//   The resource specified in the request was not found. Check the resource,
2863//   and then try again.
2864//
2865//   * UnauthorizedException
2866//   You are not authorized to perform this operation.
2867//
2868//   * InternalFailureException
2869//   An internal AWS AppSync error occurred. Try your request again.
2870//
2871// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
2872func (c *AppSync) ListTypes(input *ListTypesInput) (*ListTypesOutput, error) {
2873	req, out := c.ListTypesRequest(input)
2874	return out, req.Send()
2875}
2876
2877// ListTypesWithContext is the same as ListTypes with the addition of
2878// the ability to pass a context and additional request options.
2879//
2880// See ListTypes for details on how to use this API operation.
2881//
2882// The context must be non-nil and will be used for request cancellation. If
2883// the context is nil a panic will occur. In the future the SDK may create
2884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2885// for more information on using Contexts.
2886func (c *AppSync) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, opts ...request.Option) (*ListTypesOutput, error) {
2887	req, out := c.ListTypesRequest(input)
2888	req.SetContext(ctx)
2889	req.ApplyOptions(opts...)
2890	return out, req.Send()
2891}
2892
2893const opStartSchemaCreation = "StartSchemaCreation"
2894
2895// StartSchemaCreationRequest generates a "aws/request.Request" representing the
2896// client's request for the StartSchemaCreation operation. The "output" return
2897// value will be populated with the request's response once the request completes
2898// successfully.
2899//
2900// Use "Send" method on the returned Request to send the API call to the service.
2901// the "output" return value is not valid until after Send returns without error.
2902//
2903// See StartSchemaCreation for more information on using the StartSchemaCreation
2904// API call, and error handling.
2905//
2906// This method is useful when you want to inject custom logic or configuration
2907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2908//
2909//
2910//    // Example sending a request using the StartSchemaCreationRequest method.
2911//    req, resp := client.StartSchemaCreationRequest(params)
2912//
2913//    err := req.Send()
2914//    if err == nil { // resp is now filled
2915//        fmt.Println(resp)
2916//    }
2917//
2918// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation
2919func (c *AppSync) StartSchemaCreationRequest(input *StartSchemaCreationInput) (req *request.Request, output *StartSchemaCreationOutput) {
2920	op := &request.Operation{
2921		Name:       opStartSchemaCreation,
2922		HTTPMethod: "POST",
2923		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
2924	}
2925
2926	if input == nil {
2927		input = &StartSchemaCreationInput{}
2928	}
2929
2930	output = &StartSchemaCreationOutput{}
2931	req = c.newRequest(op, input, output)
2932	return
2933}
2934
2935// StartSchemaCreation API operation for AWS AppSync.
2936//
2937// Adds a new schema to your GraphQL API.
2938//
2939// This operation is asynchronous. Use to determine when it has completed.
2940//
2941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2942// with awserr.Error's Code and Message methods to get detailed information about
2943// the error.
2944//
2945// See the AWS API reference guide for AWS AppSync's
2946// API operation StartSchemaCreation for usage and error information.
2947//
2948// Returned Error Types:
2949//   * BadRequestException
2950//   The request is not well formed. For example, a value is invalid or a required
2951//   field is missing. Check the field values, and then try again.
2952//
2953//   * ConcurrentModificationException
2954//   Another modification is in progress at this time and it must complete before
2955//   you can make your change.
2956//
2957//   * NotFoundException
2958//   The resource specified in the request was not found. Check the resource,
2959//   and then try again.
2960//
2961//   * UnauthorizedException
2962//   You are not authorized to perform this operation.
2963//
2964//   * InternalFailureException
2965//   An internal AWS AppSync error occurred. Try your request again.
2966//
2967// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation
2968func (c *AppSync) StartSchemaCreation(input *StartSchemaCreationInput) (*StartSchemaCreationOutput, error) {
2969	req, out := c.StartSchemaCreationRequest(input)
2970	return out, req.Send()
2971}
2972
2973// StartSchemaCreationWithContext is the same as StartSchemaCreation with the addition of
2974// the ability to pass a context and additional request options.
2975//
2976// See StartSchemaCreation for details on how to use this API operation.
2977//
2978// The context must be non-nil and will be used for request cancellation. If
2979// the context is nil a panic will occur. In the future the SDK may create
2980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2981// for more information on using Contexts.
2982func (c *AppSync) StartSchemaCreationWithContext(ctx aws.Context, input *StartSchemaCreationInput, opts ...request.Option) (*StartSchemaCreationOutput, error) {
2983	req, out := c.StartSchemaCreationRequest(input)
2984	req.SetContext(ctx)
2985	req.ApplyOptions(opts...)
2986	return out, req.Send()
2987}
2988
2989const opTagResource = "TagResource"
2990
2991// TagResourceRequest generates a "aws/request.Request" representing the
2992// client's request for the TagResource operation. The "output" return
2993// value will be populated with the request's response once the request completes
2994// successfully.
2995//
2996// Use "Send" method on the returned Request to send the API call to the service.
2997// the "output" return value is not valid until after Send returns without error.
2998//
2999// See TagResource for more information on using the TagResource
3000// API call, and error handling.
3001//
3002// This method is useful when you want to inject custom logic or configuration
3003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3004//
3005//
3006//    // Example sending a request using the TagResourceRequest method.
3007//    req, resp := client.TagResourceRequest(params)
3008//
3009//    err := req.Send()
3010//    if err == nil { // resp is now filled
3011//        fmt.Println(resp)
3012//    }
3013//
3014// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
3015func (c *AppSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3016	op := &request.Operation{
3017		Name:       opTagResource,
3018		HTTPMethod: "POST",
3019		HTTPPath:   "/v1/tags/{resourceArn}",
3020	}
3021
3022	if input == nil {
3023		input = &TagResourceInput{}
3024	}
3025
3026	output = &TagResourceOutput{}
3027	req = c.newRequest(op, input, output)
3028	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3029	return
3030}
3031
3032// TagResource API operation for AWS AppSync.
3033//
3034// Tags a resource with user-supplied tags.
3035//
3036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3037// with awserr.Error's Code and Message methods to get detailed information about
3038// the error.
3039//
3040// See the AWS API reference guide for AWS AppSync's
3041// API operation TagResource for usage and error information.
3042//
3043// Returned Error Types:
3044//   * BadRequestException
3045//   The request is not well formed. For example, a value is invalid or a required
3046//   field is missing. Check the field values, and then try again.
3047//
3048//   * NotFoundException
3049//   The resource specified in the request was not found. Check the resource,
3050//   and then try again.
3051//
3052//   * LimitExceededException
3053//   The request exceeded a limit. Try your request again.
3054//
3055//   * UnauthorizedException
3056//   You are not authorized to perform this operation.
3057//
3058//   * InternalFailureException
3059//   An internal AWS AppSync error occurred. Try your request again.
3060//
3061//   * AccessDeniedException
3062//   You do not have access to perform this operation on this resource.
3063//
3064// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
3065func (c *AppSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3066	req, out := c.TagResourceRequest(input)
3067	return out, req.Send()
3068}
3069
3070// TagResourceWithContext is the same as TagResource with the addition of
3071// the ability to pass a context and additional request options.
3072//
3073// See TagResource for details on how to use this API operation.
3074//
3075// The context must be non-nil and will be used for request cancellation. If
3076// the context is nil a panic will occur. In the future the SDK may create
3077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3078// for more information on using Contexts.
3079func (c *AppSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3080	req, out := c.TagResourceRequest(input)
3081	req.SetContext(ctx)
3082	req.ApplyOptions(opts...)
3083	return out, req.Send()
3084}
3085
3086const opUntagResource = "UntagResource"
3087
3088// UntagResourceRequest generates a "aws/request.Request" representing the
3089// client's request for the UntagResource operation. The "output" return
3090// value will be populated with the request's response once the request completes
3091// successfully.
3092//
3093// Use "Send" method on the returned Request to send the API call to the service.
3094// the "output" return value is not valid until after Send returns without error.
3095//
3096// See UntagResource for more information on using the UntagResource
3097// API call, and error handling.
3098//
3099// This method is useful when you want to inject custom logic or configuration
3100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3101//
3102//
3103//    // Example sending a request using the UntagResourceRequest method.
3104//    req, resp := client.UntagResourceRequest(params)
3105//
3106//    err := req.Send()
3107//    if err == nil { // resp is now filled
3108//        fmt.Println(resp)
3109//    }
3110//
3111// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
3112func (c *AppSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3113	op := &request.Operation{
3114		Name:       opUntagResource,
3115		HTTPMethod: "DELETE",
3116		HTTPPath:   "/v1/tags/{resourceArn}",
3117	}
3118
3119	if input == nil {
3120		input = &UntagResourceInput{}
3121	}
3122
3123	output = &UntagResourceOutput{}
3124	req = c.newRequest(op, input, output)
3125	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3126	return
3127}
3128
3129// UntagResource API operation for AWS AppSync.
3130//
3131// Untags a resource.
3132//
3133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3134// with awserr.Error's Code and Message methods to get detailed information about
3135// the error.
3136//
3137// See the AWS API reference guide for AWS AppSync's
3138// API operation UntagResource for usage and error information.
3139//
3140// Returned Error Types:
3141//   * BadRequestException
3142//   The request is not well formed. For example, a value is invalid or a required
3143//   field is missing. Check the field values, and then try again.
3144//
3145//   * NotFoundException
3146//   The resource specified in the request was not found. Check the resource,
3147//   and then try again.
3148//
3149//   * LimitExceededException
3150//   The request exceeded a limit. Try your request again.
3151//
3152//   * UnauthorizedException
3153//   You are not authorized to perform this operation.
3154//
3155//   * InternalFailureException
3156//   An internal AWS AppSync error occurred. Try your request again.
3157//
3158//   * AccessDeniedException
3159//   You do not have access to perform this operation on this resource.
3160//
3161// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
3162func (c *AppSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3163	req, out := c.UntagResourceRequest(input)
3164	return out, req.Send()
3165}
3166
3167// UntagResourceWithContext is the same as UntagResource with the addition of
3168// the ability to pass a context and additional request options.
3169//
3170// See UntagResource for details on how to use this API operation.
3171//
3172// The context must be non-nil and will be used for request cancellation. If
3173// the context is nil a panic will occur. In the future the SDK may create
3174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3175// for more information on using Contexts.
3176func (c *AppSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3177	req, out := c.UntagResourceRequest(input)
3178	req.SetContext(ctx)
3179	req.ApplyOptions(opts...)
3180	return out, req.Send()
3181}
3182
3183const opUpdateApiCache = "UpdateApiCache"
3184
3185// UpdateApiCacheRequest generates a "aws/request.Request" representing the
3186// client's request for the UpdateApiCache operation. The "output" return
3187// value will be populated with the request's response once the request completes
3188// successfully.
3189//
3190// Use "Send" method on the returned Request to send the API call to the service.
3191// the "output" return value is not valid until after Send returns without error.
3192//
3193// See UpdateApiCache for more information on using the UpdateApiCache
3194// API call, and error handling.
3195//
3196// This method is useful when you want to inject custom logic or configuration
3197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3198//
3199//
3200//    // Example sending a request using the UpdateApiCacheRequest method.
3201//    req, resp := client.UpdateApiCacheRequest(params)
3202//
3203//    err := req.Send()
3204//    if err == nil { // resp is now filled
3205//        fmt.Println(resp)
3206//    }
3207//
3208// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache
3209func (c *AppSync) UpdateApiCacheRequest(input *UpdateApiCacheInput) (req *request.Request, output *UpdateApiCacheOutput) {
3210	op := &request.Operation{
3211		Name:       opUpdateApiCache,
3212		HTTPMethod: "POST",
3213		HTTPPath:   "/v1/apis/{apiId}/ApiCaches/update",
3214	}
3215
3216	if input == nil {
3217		input = &UpdateApiCacheInput{}
3218	}
3219
3220	output = &UpdateApiCacheOutput{}
3221	req = c.newRequest(op, input, output)
3222	return
3223}
3224
3225// UpdateApiCache API operation for AWS AppSync.
3226//
3227// Updates the cache for the GraphQL API.
3228//
3229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3230// with awserr.Error's Code and Message methods to get detailed information about
3231// the error.
3232//
3233// See the AWS API reference guide for AWS AppSync's
3234// API operation UpdateApiCache for usage and error information.
3235//
3236// Returned Error Types:
3237//   * BadRequestException
3238//   The request is not well formed. For example, a value is invalid or a required
3239//   field is missing. Check the field values, and then try again.
3240//
3241//   * ConcurrentModificationException
3242//   Another modification is in progress at this time and it must complete before
3243//   you can make your change.
3244//
3245//   * NotFoundException
3246//   The resource specified in the request was not found. Check the resource,
3247//   and then try again.
3248//
3249//   * UnauthorizedException
3250//   You are not authorized to perform this operation.
3251//
3252//   * InternalFailureException
3253//   An internal AWS AppSync error occurred. Try your request again.
3254//
3255// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache
3256func (c *AppSync) UpdateApiCache(input *UpdateApiCacheInput) (*UpdateApiCacheOutput, error) {
3257	req, out := c.UpdateApiCacheRequest(input)
3258	return out, req.Send()
3259}
3260
3261// UpdateApiCacheWithContext is the same as UpdateApiCache with the addition of
3262// the ability to pass a context and additional request options.
3263//
3264// See UpdateApiCache for details on how to use this API operation.
3265//
3266// The context must be non-nil and will be used for request cancellation. If
3267// the context is nil a panic will occur. In the future the SDK may create
3268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3269// for more information on using Contexts.
3270func (c *AppSync) UpdateApiCacheWithContext(ctx aws.Context, input *UpdateApiCacheInput, opts ...request.Option) (*UpdateApiCacheOutput, error) {
3271	req, out := c.UpdateApiCacheRequest(input)
3272	req.SetContext(ctx)
3273	req.ApplyOptions(opts...)
3274	return out, req.Send()
3275}
3276
3277const opUpdateApiKey = "UpdateApiKey"
3278
3279// UpdateApiKeyRequest generates a "aws/request.Request" representing the
3280// client's request for the UpdateApiKey operation. The "output" return
3281// value will be populated with the request's response once the request completes
3282// successfully.
3283//
3284// Use "Send" method on the returned Request to send the API call to the service.
3285// the "output" return value is not valid until after Send returns without error.
3286//
3287// See UpdateApiKey for more information on using the UpdateApiKey
3288// API call, and error handling.
3289//
3290// This method is useful when you want to inject custom logic or configuration
3291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3292//
3293//
3294//    // Example sending a request using the UpdateApiKeyRequest method.
3295//    req, resp := client.UpdateApiKeyRequest(params)
3296//
3297//    err := req.Send()
3298//    if err == nil { // resp is now filled
3299//        fmt.Println(resp)
3300//    }
3301//
3302// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
3303func (c *AppSync) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *UpdateApiKeyOutput) {
3304	op := &request.Operation{
3305		Name:       opUpdateApiKey,
3306		HTTPMethod: "POST",
3307		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
3308	}
3309
3310	if input == nil {
3311		input = &UpdateApiKeyInput{}
3312	}
3313
3314	output = &UpdateApiKeyOutput{}
3315	req = c.newRequest(op, input, output)
3316	return
3317}
3318
3319// UpdateApiKey API operation for AWS AppSync.
3320//
3321// Updates an API key.
3322//
3323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3324// with awserr.Error's Code and Message methods to get detailed information about
3325// the error.
3326//
3327// See the AWS API reference guide for AWS AppSync's
3328// API operation UpdateApiKey for usage and error information.
3329//
3330// Returned Error Types:
3331//   * BadRequestException
3332//   The request is not well formed. For example, a value is invalid or a required
3333//   field is missing. Check the field values, and then try again.
3334//
3335//   * NotFoundException
3336//   The resource specified in the request was not found. Check the resource,
3337//   and then try again.
3338//
3339//   * UnauthorizedException
3340//   You are not authorized to perform this operation.
3341//
3342//   * LimitExceededException
3343//   The request exceeded a limit. Try your request again.
3344//
3345//   * InternalFailureException
3346//   An internal AWS AppSync error occurred. Try your request again.
3347//
3348//   * ApiKeyValidityOutOfBoundsException
3349//   The API key expiration must be set to a value between 1 and 365 days from
3350//   creation (for CreateApiKey) or from update (for UpdateApiKey).
3351//
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
3353func (c *AppSync) UpdateApiKey(input *UpdateApiKeyInput) (*UpdateApiKeyOutput, error) {
3354	req, out := c.UpdateApiKeyRequest(input)
3355	return out, req.Send()
3356}
3357
3358// UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
3359// the ability to pass a context and additional request options.
3360//
3361// See UpdateApiKey for details on how to use this API operation.
3362//
3363// The context must be non-nil and will be used for request cancellation. If
3364// the context is nil a panic will occur. In the future the SDK may create
3365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3366// for more information on using Contexts.
3367func (c *AppSync) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*UpdateApiKeyOutput, error) {
3368	req, out := c.UpdateApiKeyRequest(input)
3369	req.SetContext(ctx)
3370	req.ApplyOptions(opts...)
3371	return out, req.Send()
3372}
3373
3374const opUpdateDataSource = "UpdateDataSource"
3375
3376// UpdateDataSourceRequest generates a "aws/request.Request" representing the
3377// client's request for the UpdateDataSource operation. The "output" return
3378// value will be populated with the request's response once the request completes
3379// successfully.
3380//
3381// Use "Send" method on the returned Request to send the API call to the service.
3382// the "output" return value is not valid until after Send returns without error.
3383//
3384// See UpdateDataSource for more information on using the UpdateDataSource
3385// API call, and error handling.
3386//
3387// This method is useful when you want to inject custom logic or configuration
3388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3389//
3390//
3391//    // Example sending a request using the UpdateDataSourceRequest method.
3392//    req, resp := client.UpdateDataSourceRequest(params)
3393//
3394//    err := req.Send()
3395//    if err == nil { // resp is now filled
3396//        fmt.Println(resp)
3397//    }
3398//
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
3400func (c *AppSync) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) {
3401	op := &request.Operation{
3402		Name:       opUpdateDataSource,
3403		HTTPMethod: "POST",
3404		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
3405	}
3406
3407	if input == nil {
3408		input = &UpdateDataSourceInput{}
3409	}
3410
3411	output = &UpdateDataSourceOutput{}
3412	req = c.newRequest(op, input, output)
3413	return
3414}
3415
3416// UpdateDataSource API operation for AWS AppSync.
3417//
3418// Updates a DataSource object.
3419//
3420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3421// with awserr.Error's Code and Message methods to get detailed information about
3422// the error.
3423//
3424// See the AWS API reference guide for AWS AppSync's
3425// API operation UpdateDataSource for usage and error information.
3426//
3427// Returned Error Types:
3428//   * BadRequestException
3429//   The request is not well formed. For example, a value is invalid or a required
3430//   field is missing. Check the field values, and then try again.
3431//
3432//   * ConcurrentModificationException
3433//   Another modification is in progress at this time and it must complete before
3434//   you can make your change.
3435//
3436//   * NotFoundException
3437//   The resource specified in the request was not found. Check the resource,
3438//   and then try again.
3439//
3440//   * UnauthorizedException
3441//   You are not authorized to perform this operation.
3442//
3443//   * InternalFailureException
3444//   An internal AWS AppSync error occurred. Try your request again.
3445//
3446// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
3447func (c *AppSync) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) {
3448	req, out := c.UpdateDataSourceRequest(input)
3449	return out, req.Send()
3450}
3451
3452// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of
3453// the ability to pass a context and additional request options.
3454//
3455// See UpdateDataSource for details on how to use this API operation.
3456//
3457// The context must be non-nil and will be used for request cancellation. If
3458// the context is nil a panic will occur. In the future the SDK may create
3459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3460// for more information on using Contexts.
3461func (c *AppSync) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) {
3462	req, out := c.UpdateDataSourceRequest(input)
3463	req.SetContext(ctx)
3464	req.ApplyOptions(opts...)
3465	return out, req.Send()
3466}
3467
3468const opUpdateFunction = "UpdateFunction"
3469
3470// UpdateFunctionRequest generates a "aws/request.Request" representing the
3471// client's request for the UpdateFunction operation. The "output" return
3472// value will be populated with the request's response once the request completes
3473// successfully.
3474//
3475// Use "Send" method on the returned Request to send the API call to the service.
3476// the "output" return value is not valid until after Send returns without error.
3477//
3478// See UpdateFunction for more information on using the UpdateFunction
3479// API call, and error handling.
3480//
3481// This method is useful when you want to inject custom logic or configuration
3482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3483//
3484//
3485//    // Example sending a request using the UpdateFunctionRequest method.
3486//    req, resp := client.UpdateFunctionRequest(params)
3487//
3488//    err := req.Send()
3489//    if err == nil { // resp is now filled
3490//        fmt.Println(resp)
3491//    }
3492//
3493// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
3494func (c *AppSync) UpdateFunctionRequest(input *UpdateFunctionInput) (req *request.Request, output *UpdateFunctionOutput) {
3495	op := &request.Operation{
3496		Name:       opUpdateFunction,
3497		HTTPMethod: "POST",
3498		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
3499	}
3500
3501	if input == nil {
3502		input = &UpdateFunctionInput{}
3503	}
3504
3505	output = &UpdateFunctionOutput{}
3506	req = c.newRequest(op, input, output)
3507	return
3508}
3509
3510// UpdateFunction API operation for AWS AppSync.
3511//
3512// Updates a Function object.
3513//
3514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3515// with awserr.Error's Code and Message methods to get detailed information about
3516// the error.
3517//
3518// See the AWS API reference guide for AWS AppSync's
3519// API operation UpdateFunction for usage and error information.
3520//
3521// Returned Error Types:
3522//   * ConcurrentModificationException
3523//   Another modification is in progress at this time and it must complete before
3524//   you can make your change.
3525//
3526//   * NotFoundException
3527//   The resource specified in the request was not found. Check the resource,
3528//   and then try again.
3529//
3530//   * UnauthorizedException
3531//   You are not authorized to perform this operation.
3532//
3533//   * InternalFailureException
3534//   An internal AWS AppSync error occurred. Try your request again.
3535//
3536// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
3537func (c *AppSync) UpdateFunction(input *UpdateFunctionInput) (*UpdateFunctionOutput, error) {
3538	req, out := c.UpdateFunctionRequest(input)
3539	return out, req.Send()
3540}
3541
3542// UpdateFunctionWithContext is the same as UpdateFunction with the addition of
3543// the ability to pass a context and additional request options.
3544//
3545// See UpdateFunction for details on how to use this API operation.
3546//
3547// The context must be non-nil and will be used for request cancellation. If
3548// the context is nil a panic will occur. In the future the SDK may create
3549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3550// for more information on using Contexts.
3551func (c *AppSync) UpdateFunctionWithContext(ctx aws.Context, input *UpdateFunctionInput, opts ...request.Option) (*UpdateFunctionOutput, error) {
3552	req, out := c.UpdateFunctionRequest(input)
3553	req.SetContext(ctx)
3554	req.ApplyOptions(opts...)
3555	return out, req.Send()
3556}
3557
3558const opUpdateGraphqlApi = "UpdateGraphqlApi"
3559
3560// UpdateGraphqlApiRequest generates a "aws/request.Request" representing the
3561// client's request for the UpdateGraphqlApi operation. The "output" return
3562// value will be populated with the request's response once the request completes
3563// successfully.
3564//
3565// Use "Send" method on the returned Request to send the API call to the service.
3566// the "output" return value is not valid until after Send returns without error.
3567//
3568// See UpdateGraphqlApi for more information on using the UpdateGraphqlApi
3569// API call, and error handling.
3570//
3571// This method is useful when you want to inject custom logic or configuration
3572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3573//
3574//
3575//    // Example sending a request using the UpdateGraphqlApiRequest method.
3576//    req, resp := client.UpdateGraphqlApiRequest(params)
3577//
3578//    err := req.Send()
3579//    if err == nil { // resp is now filled
3580//        fmt.Println(resp)
3581//    }
3582//
3583// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi
3584func (c *AppSync) UpdateGraphqlApiRequest(input *UpdateGraphqlApiInput) (req *request.Request, output *UpdateGraphqlApiOutput) {
3585	op := &request.Operation{
3586		Name:       opUpdateGraphqlApi,
3587		HTTPMethod: "POST",
3588		HTTPPath:   "/v1/apis/{apiId}",
3589	}
3590
3591	if input == nil {
3592		input = &UpdateGraphqlApiInput{}
3593	}
3594
3595	output = &UpdateGraphqlApiOutput{}
3596	req = c.newRequest(op, input, output)
3597	return
3598}
3599
3600// UpdateGraphqlApi API operation for AWS AppSync.
3601//
3602// Updates a GraphqlApi object.
3603//
3604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3605// with awserr.Error's Code and Message methods to get detailed information about
3606// the error.
3607//
3608// See the AWS API reference guide for AWS AppSync's
3609// API operation UpdateGraphqlApi for usage and error information.
3610//
3611// Returned Error Types:
3612//   * BadRequestException
3613//   The request is not well formed. For example, a value is invalid or a required
3614//   field is missing. Check the field values, and then try again.
3615//
3616//   * ConcurrentModificationException
3617//   Another modification is in progress at this time and it must complete before
3618//   you can make your change.
3619//
3620//   * NotFoundException
3621//   The resource specified in the request was not found. Check the resource,
3622//   and then try again.
3623//
3624//   * UnauthorizedException
3625//   You are not authorized to perform this operation.
3626//
3627//   * InternalFailureException
3628//   An internal AWS AppSync error occurred. Try your request again.
3629//
3630//   * AccessDeniedException
3631//   You do not have access to perform this operation on this resource.
3632//
3633// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi
3634func (c *AppSync) UpdateGraphqlApi(input *UpdateGraphqlApiInput) (*UpdateGraphqlApiOutput, error) {
3635	req, out := c.UpdateGraphqlApiRequest(input)
3636	return out, req.Send()
3637}
3638
3639// UpdateGraphqlApiWithContext is the same as UpdateGraphqlApi with the addition of
3640// the ability to pass a context and additional request options.
3641//
3642// See UpdateGraphqlApi for details on how to use this API operation.
3643//
3644// The context must be non-nil and will be used for request cancellation. If
3645// the context is nil a panic will occur. In the future the SDK may create
3646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3647// for more information on using Contexts.
3648func (c *AppSync) UpdateGraphqlApiWithContext(ctx aws.Context, input *UpdateGraphqlApiInput, opts ...request.Option) (*UpdateGraphqlApiOutput, error) {
3649	req, out := c.UpdateGraphqlApiRequest(input)
3650	req.SetContext(ctx)
3651	req.ApplyOptions(opts...)
3652	return out, req.Send()
3653}
3654
3655const opUpdateResolver = "UpdateResolver"
3656
3657// UpdateResolverRequest generates a "aws/request.Request" representing the
3658// client's request for the UpdateResolver operation. The "output" return
3659// value will be populated with the request's response once the request completes
3660// successfully.
3661//
3662// Use "Send" method on the returned Request to send the API call to the service.
3663// the "output" return value is not valid until after Send returns without error.
3664//
3665// See UpdateResolver for more information on using the UpdateResolver
3666// API call, and error handling.
3667//
3668// This method is useful when you want to inject custom logic or configuration
3669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3670//
3671//
3672//    // Example sending a request using the UpdateResolverRequest method.
3673//    req, resp := client.UpdateResolverRequest(params)
3674//
3675//    err := req.Send()
3676//    if err == nil { // resp is now filled
3677//        fmt.Println(resp)
3678//    }
3679//
3680// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver
3681func (c *AppSync) UpdateResolverRequest(input *UpdateResolverInput) (req *request.Request, output *UpdateResolverOutput) {
3682	op := &request.Operation{
3683		Name:       opUpdateResolver,
3684		HTTPMethod: "POST",
3685		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
3686	}
3687
3688	if input == nil {
3689		input = &UpdateResolverInput{}
3690	}
3691
3692	output = &UpdateResolverOutput{}
3693	req = c.newRequest(op, input, output)
3694	return
3695}
3696
3697// UpdateResolver API operation for AWS AppSync.
3698//
3699// Updates a Resolver object.
3700//
3701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3702// with awserr.Error's Code and Message methods to get detailed information about
3703// the error.
3704//
3705// See the AWS API reference guide for AWS AppSync's
3706// API operation UpdateResolver for usage and error information.
3707//
3708// Returned Error Types:
3709//   * ConcurrentModificationException
3710//   Another modification is in progress at this time and it must complete before
3711//   you can make your change.
3712//
3713//   * NotFoundException
3714//   The resource specified in the request was not found. Check the resource,
3715//   and then try again.
3716//
3717//   * UnauthorizedException
3718//   You are not authorized to perform this operation.
3719//
3720//   * InternalFailureException
3721//   An internal AWS AppSync error occurred. Try your request again.
3722//
3723// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver
3724func (c *AppSync) UpdateResolver(input *UpdateResolverInput) (*UpdateResolverOutput, error) {
3725	req, out := c.UpdateResolverRequest(input)
3726	return out, req.Send()
3727}
3728
3729// UpdateResolverWithContext is the same as UpdateResolver with the addition of
3730// the ability to pass a context and additional request options.
3731//
3732// See UpdateResolver for details on how to use this API operation.
3733//
3734// The context must be non-nil and will be used for request cancellation. If
3735// the context is nil a panic will occur. In the future the SDK may create
3736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3737// for more information on using Contexts.
3738func (c *AppSync) UpdateResolverWithContext(ctx aws.Context, input *UpdateResolverInput, opts ...request.Option) (*UpdateResolverOutput, error) {
3739	req, out := c.UpdateResolverRequest(input)
3740	req.SetContext(ctx)
3741	req.ApplyOptions(opts...)
3742	return out, req.Send()
3743}
3744
3745const opUpdateType = "UpdateType"
3746
3747// UpdateTypeRequest generates a "aws/request.Request" representing the
3748// client's request for the UpdateType operation. The "output" return
3749// value will be populated with the request's response once the request completes
3750// successfully.
3751//
3752// Use "Send" method on the returned Request to send the API call to the service.
3753// the "output" return value is not valid until after Send returns without error.
3754//
3755// See UpdateType for more information on using the UpdateType
3756// API call, and error handling.
3757//
3758// This method is useful when you want to inject custom logic or configuration
3759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3760//
3761//
3762//    // Example sending a request using the UpdateTypeRequest method.
3763//    req, resp := client.UpdateTypeRequest(params)
3764//
3765//    err := req.Send()
3766//    if err == nil { // resp is now filled
3767//        fmt.Println(resp)
3768//    }
3769//
3770// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
3771func (c *AppSync) UpdateTypeRequest(input *UpdateTypeInput) (req *request.Request, output *UpdateTypeOutput) {
3772	op := &request.Operation{
3773		Name:       opUpdateType,
3774		HTTPMethod: "POST",
3775		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
3776	}
3777
3778	if input == nil {
3779		input = &UpdateTypeInput{}
3780	}
3781
3782	output = &UpdateTypeOutput{}
3783	req = c.newRequest(op, input, output)
3784	return
3785}
3786
3787// UpdateType API operation for AWS AppSync.
3788//
3789// Updates a Type object.
3790//
3791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3792// with awserr.Error's Code and Message methods to get detailed information about
3793// the error.
3794//
3795// See the AWS API reference guide for AWS AppSync's
3796// API operation UpdateType for usage and error information.
3797//
3798// Returned Error Types:
3799//   * BadRequestException
3800//   The request is not well formed. For example, a value is invalid or a required
3801//   field is missing. Check the field values, and then try again.
3802//
3803//   * ConcurrentModificationException
3804//   Another modification is in progress at this time and it must complete before
3805//   you can make your change.
3806//
3807//   * NotFoundException
3808//   The resource specified in the request was not found. Check the resource,
3809//   and then try again.
3810//
3811//   * UnauthorizedException
3812//   You are not authorized to perform this operation.
3813//
3814//   * InternalFailureException
3815//   An internal AWS AppSync error occurred. Try your request again.
3816//
3817// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
3818func (c *AppSync) UpdateType(input *UpdateTypeInput) (*UpdateTypeOutput, error) {
3819	req, out := c.UpdateTypeRequest(input)
3820	return out, req.Send()
3821}
3822
3823// UpdateTypeWithContext is the same as UpdateType with the addition of
3824// the ability to pass a context and additional request options.
3825//
3826// See UpdateType for details on how to use this API operation.
3827//
3828// The context must be non-nil and will be used for request cancellation. If
3829// the context is nil a panic will occur. In the future the SDK may create
3830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3831// for more information on using Contexts.
3832func (c *AppSync) UpdateTypeWithContext(ctx aws.Context, input *UpdateTypeInput, opts ...request.Option) (*UpdateTypeOutput, error) {
3833	req, out := c.UpdateTypeRequest(input)
3834	req.SetContext(ctx)
3835	req.ApplyOptions(opts...)
3836	return out, req.Send()
3837}
3838
3839// You do not have access to perform this operation on this resource.
3840type AccessDeniedException struct {
3841	_            struct{}                  `type:"structure"`
3842	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3843
3844	Message_ *string `locationName:"message" type:"string"`
3845}
3846
3847// String returns the string representation
3848func (s AccessDeniedException) String() string {
3849	return awsutil.Prettify(s)
3850}
3851
3852// GoString returns the string representation
3853func (s AccessDeniedException) GoString() string {
3854	return s.String()
3855}
3856
3857func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3858	return &AccessDeniedException{
3859		RespMetadata: v,
3860	}
3861}
3862
3863// Code returns the exception type name.
3864func (s *AccessDeniedException) Code() string {
3865	return "AccessDeniedException"
3866}
3867
3868// Message returns the exception's message.
3869func (s *AccessDeniedException) Message() string {
3870	if s.Message_ != nil {
3871		return *s.Message_
3872	}
3873	return ""
3874}
3875
3876// OrigErr always returns nil, satisfies awserr.Error interface.
3877func (s *AccessDeniedException) OrigErr() error {
3878	return nil
3879}
3880
3881func (s *AccessDeniedException) Error() string {
3882	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3883}
3884
3885// Status code returns the HTTP status code for the request's response error.
3886func (s *AccessDeniedException) StatusCode() int {
3887	return s.RespMetadata.StatusCode
3888}
3889
3890// RequestID returns the service's response RequestID for request.
3891func (s *AccessDeniedException) RequestID() string {
3892	return s.RespMetadata.RequestID
3893}
3894
3895// Describes an additional authentication provider.
3896type AdditionalAuthenticationProvider struct {
3897	_ struct{} `type:"structure"`
3898
3899	// The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
3900	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
3901
3902	// The OpenID Connect configuration.
3903	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
3904
3905	// The Amazon Cognito user pool configuration.
3906	UserPoolConfig *CognitoUserPoolConfig `locationName:"userPoolConfig" type:"structure"`
3907}
3908
3909// String returns the string representation
3910func (s AdditionalAuthenticationProvider) String() string {
3911	return awsutil.Prettify(s)
3912}
3913
3914// GoString returns the string representation
3915func (s AdditionalAuthenticationProvider) GoString() string {
3916	return s.String()
3917}
3918
3919// Validate inspects the fields of the type to determine if they are valid.
3920func (s *AdditionalAuthenticationProvider) Validate() error {
3921	invalidParams := request.ErrInvalidParams{Context: "AdditionalAuthenticationProvider"}
3922	if s.OpenIDConnectConfig != nil {
3923		if err := s.OpenIDConnectConfig.Validate(); err != nil {
3924			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
3925		}
3926	}
3927	if s.UserPoolConfig != nil {
3928		if err := s.UserPoolConfig.Validate(); err != nil {
3929			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
3930		}
3931	}
3932
3933	if invalidParams.Len() > 0 {
3934		return invalidParams
3935	}
3936	return nil
3937}
3938
3939// SetAuthenticationType sets the AuthenticationType field's value.
3940func (s *AdditionalAuthenticationProvider) SetAuthenticationType(v string) *AdditionalAuthenticationProvider {
3941	s.AuthenticationType = &v
3942	return s
3943}
3944
3945// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
3946func (s *AdditionalAuthenticationProvider) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *AdditionalAuthenticationProvider {
3947	s.OpenIDConnectConfig = v
3948	return s
3949}
3950
3951// SetUserPoolConfig sets the UserPoolConfig field's value.
3952func (s *AdditionalAuthenticationProvider) SetUserPoolConfig(v *CognitoUserPoolConfig) *AdditionalAuthenticationProvider {
3953	s.UserPoolConfig = v
3954	return s
3955}
3956
3957// The ApiCache object.
3958type ApiCache struct {
3959	_ struct{} `type:"structure"`
3960
3961	// Caching behavior.
3962	//
3963	//    * FULL_REQUEST_CACHING: All requests are fully cached.
3964	//
3965	//    * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.
3966	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" enum:"ApiCachingBehavior"`
3967
3968	// At rest encryption flag for cache. This setting cannot be updated after creation.
3969	AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"`
3970
3971	// The cache instance status.
3972	//
3973	//    * AVAILABLE: The instance is available for use.
3974	//
3975	//    * CREATING: The instance is currently creating.
3976	//
3977	//    * DELETING: The instance is currently deleting.
3978	//
3979	//    * MODIFYING: The instance is currently modifying.
3980	//
3981	//    * FAILED: The instance has failed creation.
3982	Status *string `locationName:"status" type:"string" enum:"ApiCacheStatus"`
3983
3984	// Transit encryption flag when connecting to cache. This setting cannot be
3985	// updated after creation.
3986	TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"`
3987
3988	// TTL in seconds for cache entries.
3989	//
3990	// Valid values are between 1 and 3600 seconds.
3991	Ttl *int64 `locationName:"ttl" type:"long"`
3992
3993	// The cache instance type. Valid values are
3994	//
3995	//    * SMALL
3996	//
3997	//    * MEDIUM
3998	//
3999	//    * LARGE
4000	//
4001	//    * XLARGE
4002	//
4003	//    * LARGE_2X
4004	//
4005	//    * LARGE_4X
4006	//
4007	//    * LARGE_8X (not available in all regions)
4008	//
4009	//    * LARGE_12X
4010	//
4011	// Historically, instance types were identified by an EC2-style value. As of
4012	// July 2020, this is deprecated, and the generic identifiers above should be
4013	// used.
4014	//
4015	// The following legacy instance types are avaible, but their use is discouraged:
4016	//
4017	//    * T2_SMALL: A t2.small instance type.
4018	//
4019	//    * T2_MEDIUM: A t2.medium instance type.
4020	//
4021	//    * R4_LARGE: A r4.large instance type.
4022	//
4023	//    * R4_XLARGE: A r4.xlarge instance type.
4024	//
4025	//    * R4_2XLARGE: A r4.2xlarge instance type.
4026	//
4027	//    * R4_4XLARGE: A r4.4xlarge instance type.
4028	//
4029	//    * R4_8XLARGE: A r4.8xlarge instance type.
4030	Type *string `locationName:"type" type:"string" enum:"ApiCacheType"`
4031}
4032
4033// String returns the string representation
4034func (s ApiCache) String() string {
4035	return awsutil.Prettify(s)
4036}
4037
4038// GoString returns the string representation
4039func (s ApiCache) GoString() string {
4040	return s.String()
4041}
4042
4043// SetApiCachingBehavior sets the ApiCachingBehavior field's value.
4044func (s *ApiCache) SetApiCachingBehavior(v string) *ApiCache {
4045	s.ApiCachingBehavior = &v
4046	return s
4047}
4048
4049// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
4050func (s *ApiCache) SetAtRestEncryptionEnabled(v bool) *ApiCache {
4051	s.AtRestEncryptionEnabled = &v
4052	return s
4053}
4054
4055// SetStatus sets the Status field's value.
4056func (s *ApiCache) SetStatus(v string) *ApiCache {
4057	s.Status = &v
4058	return s
4059}
4060
4061// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
4062func (s *ApiCache) SetTransitEncryptionEnabled(v bool) *ApiCache {
4063	s.TransitEncryptionEnabled = &v
4064	return s
4065}
4066
4067// SetTtl sets the Ttl field's value.
4068func (s *ApiCache) SetTtl(v int64) *ApiCache {
4069	s.Ttl = &v
4070	return s
4071}
4072
4073// SetType sets the Type field's value.
4074func (s *ApiCache) SetType(v string) *ApiCache {
4075	s.Type = &v
4076	return s
4077}
4078
4079// Describes an API key.
4080//
4081// Customers invoke AWS AppSync GraphQL API operations with API keys as an identity
4082// mechanism. There are two key versions:
4083//
4084// da1: This version was introduced at launch in November 2017. These keys always
4085// expire after 7 days. Key expiration is managed by Amazon DynamoDB TTL. The
4086// keys ceased to be valid after February 21, 2018 and should not be used after
4087// that date.
4088//
4089//    * ListApiKeys returns the expiration time in milliseconds.
4090//
4091//    * CreateApiKey returns the expiration time in milliseconds.
4092//
4093//    * UpdateApiKey is not available for this key version.
4094//
4095//    * DeleteApiKey deletes the item from the table.
4096//
4097//    * Expiration is stored in Amazon DynamoDB as milliseconds. This results
4098//    in a bug where keys are not automatically deleted because DynamoDB expects
4099//    the TTL to be stored in seconds. As a one-time action, we will delete
4100//    these keys from the table after February 21, 2018.
4101//
4102// da2: This version was introduced in February 2018 when AppSync added support
4103// to extend key expiration.
4104//
4105//    * ListApiKeys returns the expiration time in seconds.
4106//
4107//    * CreateApiKey returns the expiration time in seconds and accepts a user-provided
4108//    expiration time in seconds.
4109//
4110//    * UpdateApiKey returns the expiration time in seconds and accepts a user-provided
4111//    expiration time in seconds. Key expiration can only be updated while the
4112//    key has not expired.
4113//
4114//    * DeleteApiKey deletes the item from the table.
4115//
4116//    * Expiration is stored in Amazon DynamoDB as seconds.
4117type ApiKey struct {
4118	_ struct{} `type:"structure"`
4119
4120	// A description of the purpose of the API key.
4121	Description *string `locationName:"description" type:"string"`
4122
4123	// The time after which the API key expires. The date is represented as seconds
4124	// since the epoch, rounded down to the nearest hour.
4125	Expires *int64 `locationName:"expires" type:"long"`
4126
4127	// The API key ID.
4128	Id *string `locationName:"id" type:"string"`
4129}
4130
4131// String returns the string representation
4132func (s ApiKey) String() string {
4133	return awsutil.Prettify(s)
4134}
4135
4136// GoString returns the string representation
4137func (s ApiKey) GoString() string {
4138	return s.String()
4139}
4140
4141// SetDescription sets the Description field's value.
4142func (s *ApiKey) SetDescription(v string) *ApiKey {
4143	s.Description = &v
4144	return s
4145}
4146
4147// SetExpires sets the Expires field's value.
4148func (s *ApiKey) SetExpires(v int64) *ApiKey {
4149	s.Expires = &v
4150	return s
4151}
4152
4153// SetId sets the Id field's value.
4154func (s *ApiKey) SetId(v string) *ApiKey {
4155	s.Id = &v
4156	return s
4157}
4158
4159// The API key exceeded a limit. Try your request again.
4160type ApiKeyLimitExceededException struct {
4161	_            struct{}                  `type:"structure"`
4162	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4163
4164	Message_ *string `locationName:"message" type:"string"`
4165}
4166
4167// String returns the string representation
4168func (s ApiKeyLimitExceededException) String() string {
4169	return awsutil.Prettify(s)
4170}
4171
4172// GoString returns the string representation
4173func (s ApiKeyLimitExceededException) GoString() string {
4174	return s.String()
4175}
4176
4177func newErrorApiKeyLimitExceededException(v protocol.ResponseMetadata) error {
4178	return &ApiKeyLimitExceededException{
4179		RespMetadata: v,
4180	}
4181}
4182
4183// Code returns the exception type name.
4184func (s *ApiKeyLimitExceededException) Code() string {
4185	return "ApiKeyLimitExceededException"
4186}
4187
4188// Message returns the exception's message.
4189func (s *ApiKeyLimitExceededException) Message() string {
4190	if s.Message_ != nil {
4191		return *s.Message_
4192	}
4193	return ""
4194}
4195
4196// OrigErr always returns nil, satisfies awserr.Error interface.
4197func (s *ApiKeyLimitExceededException) OrigErr() error {
4198	return nil
4199}
4200
4201func (s *ApiKeyLimitExceededException) Error() string {
4202	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4203}
4204
4205// Status code returns the HTTP status code for the request's response error.
4206func (s *ApiKeyLimitExceededException) StatusCode() int {
4207	return s.RespMetadata.StatusCode
4208}
4209
4210// RequestID returns the service's response RequestID for request.
4211func (s *ApiKeyLimitExceededException) RequestID() string {
4212	return s.RespMetadata.RequestID
4213}
4214
4215// The API key expiration must be set to a value between 1 and 365 days from
4216// creation (for CreateApiKey) or from update (for UpdateApiKey).
4217type ApiKeyValidityOutOfBoundsException struct {
4218	_            struct{}                  `type:"structure"`
4219	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4220
4221	Message_ *string `locationName:"message" type:"string"`
4222}
4223
4224// String returns the string representation
4225func (s ApiKeyValidityOutOfBoundsException) String() string {
4226	return awsutil.Prettify(s)
4227}
4228
4229// GoString returns the string representation
4230func (s ApiKeyValidityOutOfBoundsException) GoString() string {
4231	return s.String()
4232}
4233
4234func newErrorApiKeyValidityOutOfBoundsException(v protocol.ResponseMetadata) error {
4235	return &ApiKeyValidityOutOfBoundsException{
4236		RespMetadata: v,
4237	}
4238}
4239
4240// Code returns the exception type name.
4241func (s *ApiKeyValidityOutOfBoundsException) Code() string {
4242	return "ApiKeyValidityOutOfBoundsException"
4243}
4244
4245// Message returns the exception's message.
4246func (s *ApiKeyValidityOutOfBoundsException) Message() string {
4247	if s.Message_ != nil {
4248		return *s.Message_
4249	}
4250	return ""
4251}
4252
4253// OrigErr always returns nil, satisfies awserr.Error interface.
4254func (s *ApiKeyValidityOutOfBoundsException) OrigErr() error {
4255	return nil
4256}
4257
4258func (s *ApiKeyValidityOutOfBoundsException) Error() string {
4259	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4260}
4261
4262// Status code returns the HTTP status code for the request's response error.
4263func (s *ApiKeyValidityOutOfBoundsException) StatusCode() int {
4264	return s.RespMetadata.StatusCode
4265}
4266
4267// RequestID returns the service's response RequestID for request.
4268func (s *ApiKeyValidityOutOfBoundsException) RequestID() string {
4269	return s.RespMetadata.RequestID
4270}
4271
4272// The GraphQL API exceeded a limit. Try your request again.
4273type ApiLimitExceededException struct {
4274	_            struct{}                  `type:"structure"`
4275	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4276
4277	Message_ *string `locationName:"message" type:"string"`
4278}
4279
4280// String returns the string representation
4281func (s ApiLimitExceededException) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s ApiLimitExceededException) GoString() string {
4287	return s.String()
4288}
4289
4290func newErrorApiLimitExceededException(v protocol.ResponseMetadata) error {
4291	return &ApiLimitExceededException{
4292		RespMetadata: v,
4293	}
4294}
4295
4296// Code returns the exception type name.
4297func (s *ApiLimitExceededException) Code() string {
4298	return "ApiLimitExceededException"
4299}
4300
4301// Message returns the exception's message.
4302func (s *ApiLimitExceededException) Message() string {
4303	if s.Message_ != nil {
4304		return *s.Message_
4305	}
4306	return ""
4307}
4308
4309// OrigErr always returns nil, satisfies awserr.Error interface.
4310func (s *ApiLimitExceededException) OrigErr() error {
4311	return nil
4312}
4313
4314func (s *ApiLimitExceededException) Error() string {
4315	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4316}
4317
4318// Status code returns the HTTP status code for the request's response error.
4319func (s *ApiLimitExceededException) StatusCode() int {
4320	return s.RespMetadata.StatusCode
4321}
4322
4323// RequestID returns the service's response RequestID for request.
4324func (s *ApiLimitExceededException) RequestID() string {
4325	return s.RespMetadata.RequestID
4326}
4327
4328// The authorization config in case the HTTP endpoint requires authorization.
4329type AuthorizationConfig struct {
4330	_ struct{} `type:"structure"`
4331
4332	// The authorization type required by the HTTP endpoint.
4333	//
4334	//    * AWS_IAM: The authorization type is Sigv4.
4335	//
4336	// AuthorizationType is a required field
4337	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true" enum:"AuthorizationType"`
4338
4339	// The AWS IAM settings.
4340	AwsIamConfig *AwsIamConfig `locationName:"awsIamConfig" type:"structure"`
4341}
4342
4343// String returns the string representation
4344func (s AuthorizationConfig) String() string {
4345	return awsutil.Prettify(s)
4346}
4347
4348// GoString returns the string representation
4349func (s AuthorizationConfig) GoString() string {
4350	return s.String()
4351}
4352
4353// Validate inspects the fields of the type to determine if they are valid.
4354func (s *AuthorizationConfig) Validate() error {
4355	invalidParams := request.ErrInvalidParams{Context: "AuthorizationConfig"}
4356	if s.AuthorizationType == nil {
4357		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
4358	}
4359
4360	if invalidParams.Len() > 0 {
4361		return invalidParams
4362	}
4363	return nil
4364}
4365
4366// SetAuthorizationType sets the AuthorizationType field's value.
4367func (s *AuthorizationConfig) SetAuthorizationType(v string) *AuthorizationConfig {
4368	s.AuthorizationType = &v
4369	return s
4370}
4371
4372// SetAwsIamConfig sets the AwsIamConfig field's value.
4373func (s *AuthorizationConfig) SetAwsIamConfig(v *AwsIamConfig) *AuthorizationConfig {
4374	s.AwsIamConfig = v
4375	return s
4376}
4377
4378// The AWS IAM configuration.
4379type AwsIamConfig struct {
4380	_ struct{} `type:"structure"`
4381
4382	// The signing region for AWS IAM authorization.
4383	SigningRegion *string `locationName:"signingRegion" type:"string"`
4384
4385	// The signing service name for AWS IAM authorization.
4386	SigningServiceName *string `locationName:"signingServiceName" type:"string"`
4387}
4388
4389// String returns the string representation
4390func (s AwsIamConfig) String() string {
4391	return awsutil.Prettify(s)
4392}
4393
4394// GoString returns the string representation
4395func (s AwsIamConfig) GoString() string {
4396	return s.String()
4397}
4398
4399// SetSigningRegion sets the SigningRegion field's value.
4400func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig {
4401	s.SigningRegion = &v
4402	return s
4403}
4404
4405// SetSigningServiceName sets the SigningServiceName field's value.
4406func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig {
4407	s.SigningServiceName = &v
4408	return s
4409}
4410
4411// The request is not well formed. For example, a value is invalid or a required
4412// field is missing. Check the field values, and then try again.
4413type BadRequestException struct {
4414	_            struct{}                  `type:"structure"`
4415	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4416
4417	Message_ *string `locationName:"message" type:"string"`
4418}
4419
4420// String returns the string representation
4421func (s BadRequestException) String() string {
4422	return awsutil.Prettify(s)
4423}
4424
4425// GoString returns the string representation
4426func (s BadRequestException) GoString() string {
4427	return s.String()
4428}
4429
4430func newErrorBadRequestException(v protocol.ResponseMetadata) error {
4431	return &BadRequestException{
4432		RespMetadata: v,
4433	}
4434}
4435
4436// Code returns the exception type name.
4437func (s *BadRequestException) Code() string {
4438	return "BadRequestException"
4439}
4440
4441// Message returns the exception's message.
4442func (s *BadRequestException) Message() string {
4443	if s.Message_ != nil {
4444		return *s.Message_
4445	}
4446	return ""
4447}
4448
4449// OrigErr always returns nil, satisfies awserr.Error interface.
4450func (s *BadRequestException) OrigErr() error {
4451	return nil
4452}
4453
4454func (s *BadRequestException) Error() string {
4455	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4456}
4457
4458// Status code returns the HTTP status code for the request's response error.
4459func (s *BadRequestException) StatusCode() int {
4460	return s.RespMetadata.StatusCode
4461}
4462
4463// RequestID returns the service's response RequestID for request.
4464func (s *BadRequestException) RequestID() string {
4465	return s.RespMetadata.RequestID
4466}
4467
4468// The caching configuration for a resolver that has caching enabled.
4469type CachingConfig struct {
4470	_ struct{} `type:"structure"`
4471
4472	// The caching keys for a resolver that has caching enabled.
4473	//
4474	// Valid values are entries from the $context.identity and $context.arguments
4475	// maps.
4476	CachingKeys []*string `locationName:"cachingKeys" type:"list"`
4477
4478	// The TTL in seconds for a resolver that has caching enabled.
4479	//
4480	// Valid values are between 1 and 3600 seconds.
4481	Ttl *int64 `locationName:"ttl" type:"long"`
4482}
4483
4484// String returns the string representation
4485func (s CachingConfig) String() string {
4486	return awsutil.Prettify(s)
4487}
4488
4489// GoString returns the string representation
4490func (s CachingConfig) GoString() string {
4491	return s.String()
4492}
4493
4494// SetCachingKeys sets the CachingKeys field's value.
4495func (s *CachingConfig) SetCachingKeys(v []*string) *CachingConfig {
4496	s.CachingKeys = v
4497	return s
4498}
4499
4500// SetTtl sets the Ttl field's value.
4501func (s *CachingConfig) SetTtl(v int64) *CachingConfig {
4502	s.Ttl = &v
4503	return s
4504}
4505
4506// Describes an Amazon Cognito user pool configuration.
4507type CognitoUserPoolConfig struct {
4508	_ struct{} `type:"structure"`
4509
4510	// A regular expression for validating the incoming Amazon Cognito user pool
4511	// app client ID.
4512	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
4513
4514	// The AWS Region in which the user pool was created.
4515	//
4516	// AwsRegion is a required field
4517	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
4518
4519	// The user pool ID.
4520	//
4521	// UserPoolId is a required field
4522	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
4523}
4524
4525// String returns the string representation
4526func (s CognitoUserPoolConfig) String() string {
4527	return awsutil.Prettify(s)
4528}
4529
4530// GoString returns the string representation
4531func (s CognitoUserPoolConfig) GoString() string {
4532	return s.String()
4533}
4534
4535// Validate inspects the fields of the type to determine if they are valid.
4536func (s *CognitoUserPoolConfig) Validate() error {
4537	invalidParams := request.ErrInvalidParams{Context: "CognitoUserPoolConfig"}
4538	if s.AwsRegion == nil {
4539		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
4540	}
4541	if s.UserPoolId == nil {
4542		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
4543	}
4544
4545	if invalidParams.Len() > 0 {
4546		return invalidParams
4547	}
4548	return nil
4549}
4550
4551// SetAppIdClientRegex sets the AppIdClientRegex field's value.
4552func (s *CognitoUserPoolConfig) SetAppIdClientRegex(v string) *CognitoUserPoolConfig {
4553	s.AppIdClientRegex = &v
4554	return s
4555}
4556
4557// SetAwsRegion sets the AwsRegion field's value.
4558func (s *CognitoUserPoolConfig) SetAwsRegion(v string) *CognitoUserPoolConfig {
4559	s.AwsRegion = &v
4560	return s
4561}
4562
4563// SetUserPoolId sets the UserPoolId field's value.
4564func (s *CognitoUserPoolConfig) SetUserPoolId(v string) *CognitoUserPoolConfig {
4565	s.UserPoolId = &v
4566	return s
4567}
4568
4569// Another modification is in progress at this time and it must complete before
4570// you can make your change.
4571type ConcurrentModificationException struct {
4572	_            struct{}                  `type:"structure"`
4573	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4574
4575	Message_ *string `locationName:"message" type:"string"`
4576}
4577
4578// String returns the string representation
4579func (s ConcurrentModificationException) String() string {
4580	return awsutil.Prettify(s)
4581}
4582
4583// GoString returns the string representation
4584func (s ConcurrentModificationException) GoString() string {
4585	return s.String()
4586}
4587
4588func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4589	return &ConcurrentModificationException{
4590		RespMetadata: v,
4591	}
4592}
4593
4594// Code returns the exception type name.
4595func (s *ConcurrentModificationException) Code() string {
4596	return "ConcurrentModificationException"
4597}
4598
4599// Message returns the exception's message.
4600func (s *ConcurrentModificationException) Message() string {
4601	if s.Message_ != nil {
4602		return *s.Message_
4603	}
4604	return ""
4605}
4606
4607// OrigErr always returns nil, satisfies awserr.Error interface.
4608func (s *ConcurrentModificationException) OrigErr() error {
4609	return nil
4610}
4611
4612func (s *ConcurrentModificationException) Error() string {
4613	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4614}
4615
4616// Status code returns the HTTP status code for the request's response error.
4617func (s *ConcurrentModificationException) StatusCode() int {
4618	return s.RespMetadata.StatusCode
4619}
4620
4621// RequestID returns the service's response RequestID for request.
4622func (s *ConcurrentModificationException) RequestID() string {
4623	return s.RespMetadata.RequestID
4624}
4625
4626// Represents the input of a CreateApiCache operation.
4627type CreateApiCacheInput struct {
4628	_ struct{} `type:"structure"`
4629
4630	// Caching behavior.
4631	//
4632	//    * FULL_REQUEST_CACHING: All requests are fully cached.
4633	//
4634	//    * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.
4635	//
4636	// ApiCachingBehavior is a required field
4637	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
4638
4639	// The GraphQL API Id.
4640	//
4641	// ApiId is a required field
4642	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4643
4644	// At rest encryption flag for cache. This setting cannot be updated after creation.
4645	AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"`
4646
4647	// Transit encryption flag when connecting to cache. This setting cannot be
4648	// updated after creation.
4649	TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"`
4650
4651	// TTL in seconds for cache entries.
4652	//
4653	// Valid values are between 1 and 3600 seconds.
4654	//
4655	// Ttl is a required field
4656	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
4657
4658	// The cache instance type. Valid values are
4659	//
4660	//    * SMALL
4661	//
4662	//    * MEDIUM
4663	//
4664	//    * LARGE
4665	//
4666	//    * XLARGE
4667	//
4668	//    * LARGE_2X
4669	//
4670	//    * LARGE_4X
4671	//
4672	//    * LARGE_8X (not available in all regions)
4673	//
4674	//    * LARGE_12X
4675	//
4676	// Historically, instance types were identified by an EC2-style value. As of
4677	// July 2020, this is deprecated, and the generic identifiers above should be
4678	// used.
4679	//
4680	// The following legacy instance types are avaible, but their use is discouraged:
4681	//
4682	//    * T2_SMALL: A t2.small instance type.
4683	//
4684	//    * T2_MEDIUM: A t2.medium instance type.
4685	//
4686	//    * R4_LARGE: A r4.large instance type.
4687	//
4688	//    * R4_XLARGE: A r4.xlarge instance type.
4689	//
4690	//    * R4_2XLARGE: A r4.2xlarge instance type.
4691	//
4692	//    * R4_4XLARGE: A r4.4xlarge instance type.
4693	//
4694	//    * R4_8XLARGE: A r4.8xlarge instance type.
4695	//
4696	// Type is a required field
4697	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
4698}
4699
4700// String returns the string representation
4701func (s CreateApiCacheInput) String() string {
4702	return awsutil.Prettify(s)
4703}
4704
4705// GoString returns the string representation
4706func (s CreateApiCacheInput) GoString() string {
4707	return s.String()
4708}
4709
4710// Validate inspects the fields of the type to determine if they are valid.
4711func (s *CreateApiCacheInput) Validate() error {
4712	invalidParams := request.ErrInvalidParams{Context: "CreateApiCacheInput"}
4713	if s.ApiCachingBehavior == nil {
4714		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
4715	}
4716	if s.ApiId == nil {
4717		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4718	}
4719	if s.ApiId != nil && len(*s.ApiId) < 1 {
4720		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4721	}
4722	if s.Ttl == nil {
4723		invalidParams.Add(request.NewErrParamRequired("Ttl"))
4724	}
4725	if s.Type == nil {
4726		invalidParams.Add(request.NewErrParamRequired("Type"))
4727	}
4728
4729	if invalidParams.Len() > 0 {
4730		return invalidParams
4731	}
4732	return nil
4733}
4734
4735// SetApiCachingBehavior sets the ApiCachingBehavior field's value.
4736func (s *CreateApiCacheInput) SetApiCachingBehavior(v string) *CreateApiCacheInput {
4737	s.ApiCachingBehavior = &v
4738	return s
4739}
4740
4741// SetApiId sets the ApiId field's value.
4742func (s *CreateApiCacheInput) SetApiId(v string) *CreateApiCacheInput {
4743	s.ApiId = &v
4744	return s
4745}
4746
4747// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
4748func (s *CreateApiCacheInput) SetAtRestEncryptionEnabled(v bool) *CreateApiCacheInput {
4749	s.AtRestEncryptionEnabled = &v
4750	return s
4751}
4752
4753// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
4754func (s *CreateApiCacheInput) SetTransitEncryptionEnabled(v bool) *CreateApiCacheInput {
4755	s.TransitEncryptionEnabled = &v
4756	return s
4757}
4758
4759// SetTtl sets the Ttl field's value.
4760func (s *CreateApiCacheInput) SetTtl(v int64) *CreateApiCacheInput {
4761	s.Ttl = &v
4762	return s
4763}
4764
4765// SetType sets the Type field's value.
4766func (s *CreateApiCacheInput) SetType(v string) *CreateApiCacheInput {
4767	s.Type = &v
4768	return s
4769}
4770
4771// Represents the output of a CreateApiCache operation.
4772type CreateApiCacheOutput struct {
4773	_ struct{} `type:"structure"`
4774
4775	// The ApiCache object.
4776	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
4777}
4778
4779// String returns the string representation
4780func (s CreateApiCacheOutput) String() string {
4781	return awsutil.Prettify(s)
4782}
4783
4784// GoString returns the string representation
4785func (s CreateApiCacheOutput) GoString() string {
4786	return s.String()
4787}
4788
4789// SetApiCache sets the ApiCache field's value.
4790func (s *CreateApiCacheOutput) SetApiCache(v *ApiCache) *CreateApiCacheOutput {
4791	s.ApiCache = v
4792	return s
4793}
4794
4795type CreateApiKeyInput struct {
4796	_ struct{} `type:"structure"`
4797
4798	// The ID for your GraphQL API.
4799	//
4800	// ApiId is a required field
4801	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4802
4803	// A description of the purpose of the API key.
4804	Description *string `locationName:"description" type:"string"`
4805
4806	// The time from creation time after which the API key expires. The date is
4807	// represented as seconds since the epoch, rounded down to the nearest hour.
4808	// The default value for this parameter is 7 days from creation time. For more
4809	// information, see .
4810	Expires *int64 `locationName:"expires" type:"long"`
4811}
4812
4813// String returns the string representation
4814func (s CreateApiKeyInput) String() string {
4815	return awsutil.Prettify(s)
4816}
4817
4818// GoString returns the string representation
4819func (s CreateApiKeyInput) GoString() string {
4820	return s.String()
4821}
4822
4823// Validate inspects the fields of the type to determine if they are valid.
4824func (s *CreateApiKeyInput) Validate() error {
4825	invalidParams := request.ErrInvalidParams{Context: "CreateApiKeyInput"}
4826	if s.ApiId == nil {
4827		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4828	}
4829	if s.ApiId != nil && len(*s.ApiId) < 1 {
4830		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4831	}
4832
4833	if invalidParams.Len() > 0 {
4834		return invalidParams
4835	}
4836	return nil
4837}
4838
4839// SetApiId sets the ApiId field's value.
4840func (s *CreateApiKeyInput) SetApiId(v string) *CreateApiKeyInput {
4841	s.ApiId = &v
4842	return s
4843}
4844
4845// SetDescription sets the Description field's value.
4846func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
4847	s.Description = &v
4848	return s
4849}
4850
4851// SetExpires sets the Expires field's value.
4852func (s *CreateApiKeyInput) SetExpires(v int64) *CreateApiKeyInput {
4853	s.Expires = &v
4854	return s
4855}
4856
4857type CreateApiKeyOutput struct {
4858	_ struct{} `type:"structure"`
4859
4860	// The API key.
4861	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
4862}
4863
4864// String returns the string representation
4865func (s CreateApiKeyOutput) String() string {
4866	return awsutil.Prettify(s)
4867}
4868
4869// GoString returns the string representation
4870func (s CreateApiKeyOutput) GoString() string {
4871	return s.String()
4872}
4873
4874// SetApiKey sets the ApiKey field's value.
4875func (s *CreateApiKeyOutput) SetApiKey(v *ApiKey) *CreateApiKeyOutput {
4876	s.ApiKey = v
4877	return s
4878}
4879
4880type CreateDataSourceInput struct {
4881	_ struct{} `type:"structure"`
4882
4883	// The API ID for the GraphQL API for the DataSource.
4884	//
4885	// ApiId is a required field
4886	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4887
4888	// A description of the DataSource.
4889	Description *string `locationName:"description" type:"string"`
4890
4891	// Amazon DynamoDB settings.
4892	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
4893
4894	// Amazon Elasticsearch Service settings.
4895	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
4896
4897	// HTTP endpoint settings.
4898	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
4899
4900	// AWS Lambda settings.
4901	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
4902
4903	// A user-supplied name for the DataSource.
4904	//
4905	// Name is a required field
4906	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4907
4908	// Relational database settings.
4909	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
4910
4911	// The AWS IAM service role ARN for the data source. The system assumes this
4912	// role when accessing the data source.
4913	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
4914
4915	// The type of the DataSource.
4916	//
4917	// Type is a required field
4918	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
4919}
4920
4921// String returns the string representation
4922func (s CreateDataSourceInput) String() string {
4923	return awsutil.Prettify(s)
4924}
4925
4926// GoString returns the string representation
4927func (s CreateDataSourceInput) GoString() string {
4928	return s.String()
4929}
4930
4931// Validate inspects the fields of the type to determine if they are valid.
4932func (s *CreateDataSourceInput) Validate() error {
4933	invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"}
4934	if s.ApiId == nil {
4935		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4936	}
4937	if s.ApiId != nil && len(*s.ApiId) < 1 {
4938		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4939	}
4940	if s.Name == nil {
4941		invalidParams.Add(request.NewErrParamRequired("Name"))
4942	}
4943	if s.Name != nil && len(*s.Name) < 1 {
4944		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4945	}
4946	if s.Type == nil {
4947		invalidParams.Add(request.NewErrParamRequired("Type"))
4948	}
4949	if s.DynamodbConfig != nil {
4950		if err := s.DynamodbConfig.Validate(); err != nil {
4951			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
4952		}
4953	}
4954	if s.ElasticsearchConfig != nil {
4955		if err := s.ElasticsearchConfig.Validate(); err != nil {
4956			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
4957		}
4958	}
4959	if s.HttpConfig != nil {
4960		if err := s.HttpConfig.Validate(); err != nil {
4961			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
4962		}
4963	}
4964	if s.LambdaConfig != nil {
4965		if err := s.LambdaConfig.Validate(); err != nil {
4966			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
4967		}
4968	}
4969
4970	if invalidParams.Len() > 0 {
4971		return invalidParams
4972	}
4973	return nil
4974}
4975
4976// SetApiId sets the ApiId field's value.
4977func (s *CreateDataSourceInput) SetApiId(v string) *CreateDataSourceInput {
4978	s.ApiId = &v
4979	return s
4980}
4981
4982// SetDescription sets the Description field's value.
4983func (s *CreateDataSourceInput) SetDescription(v string) *CreateDataSourceInput {
4984	s.Description = &v
4985	return s
4986}
4987
4988// SetDynamodbConfig sets the DynamodbConfig field's value.
4989func (s *CreateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *CreateDataSourceInput {
4990	s.DynamodbConfig = v
4991	return s
4992}
4993
4994// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
4995func (s *CreateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *CreateDataSourceInput {
4996	s.ElasticsearchConfig = v
4997	return s
4998}
4999
5000// SetHttpConfig sets the HttpConfig field's value.
5001func (s *CreateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *CreateDataSourceInput {
5002	s.HttpConfig = v
5003	return s
5004}
5005
5006// SetLambdaConfig sets the LambdaConfig field's value.
5007func (s *CreateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *CreateDataSourceInput {
5008	s.LambdaConfig = v
5009	return s
5010}
5011
5012// SetName sets the Name field's value.
5013func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput {
5014	s.Name = &v
5015	return s
5016}
5017
5018// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
5019func (s *CreateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *CreateDataSourceInput {
5020	s.RelationalDatabaseConfig = v
5021	return s
5022}
5023
5024// SetServiceRoleArn sets the ServiceRoleArn field's value.
5025func (s *CreateDataSourceInput) SetServiceRoleArn(v string) *CreateDataSourceInput {
5026	s.ServiceRoleArn = &v
5027	return s
5028}
5029
5030// SetType sets the Type field's value.
5031func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput {
5032	s.Type = &v
5033	return s
5034}
5035
5036type CreateDataSourceOutput struct {
5037	_ struct{} `type:"structure"`
5038
5039	// The DataSource object.
5040	DataSource *DataSource `locationName:"dataSource" type:"structure"`
5041}
5042
5043// String returns the string representation
5044func (s CreateDataSourceOutput) String() string {
5045	return awsutil.Prettify(s)
5046}
5047
5048// GoString returns the string representation
5049func (s CreateDataSourceOutput) GoString() string {
5050	return s.String()
5051}
5052
5053// SetDataSource sets the DataSource field's value.
5054func (s *CreateDataSourceOutput) SetDataSource(v *DataSource) *CreateDataSourceOutput {
5055	s.DataSource = v
5056	return s
5057}
5058
5059type CreateFunctionInput struct {
5060	_ struct{} `type:"structure"`
5061
5062	// The GraphQL API ID.
5063	//
5064	// ApiId is a required field
5065	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5066
5067	// The Function DataSource name.
5068	//
5069	// DataSourceName is a required field
5070	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
5071
5072	// The Function description.
5073	Description *string `locationName:"description" type:"string"`
5074
5075	// The version of the request mapping template. Currently the supported value
5076	// is 2018-05-29.
5077	//
5078	// FunctionVersion is a required field
5079	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
5080
5081	// The Function name. The function name does not have to be unique.
5082	//
5083	// Name is a required field
5084	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5085
5086	// The Function request mapping template. Functions support only the 2018-05-29
5087	// version of the request mapping template.
5088	//
5089	// RequestMappingTemplate is a required field
5090	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
5091
5092	// The Function response mapping template.
5093	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
5094}
5095
5096// String returns the string representation
5097func (s CreateFunctionInput) String() string {
5098	return awsutil.Prettify(s)
5099}
5100
5101// GoString returns the string representation
5102func (s CreateFunctionInput) GoString() string {
5103	return s.String()
5104}
5105
5106// Validate inspects the fields of the type to determine if they are valid.
5107func (s *CreateFunctionInput) Validate() error {
5108	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
5109	if s.ApiId == nil {
5110		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5111	}
5112	if s.ApiId != nil && len(*s.ApiId) < 1 {
5113		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5114	}
5115	if s.DataSourceName == nil {
5116		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
5117	}
5118	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
5119		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
5120	}
5121	if s.FunctionVersion == nil {
5122		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
5123	}
5124	if s.Name == nil {
5125		invalidParams.Add(request.NewErrParamRequired("Name"))
5126	}
5127	if s.Name != nil && len(*s.Name) < 1 {
5128		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5129	}
5130	if s.RequestMappingTemplate == nil {
5131		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
5132	}
5133	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
5134		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
5135	}
5136	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
5137		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
5138	}
5139
5140	if invalidParams.Len() > 0 {
5141		return invalidParams
5142	}
5143	return nil
5144}
5145
5146// SetApiId sets the ApiId field's value.
5147func (s *CreateFunctionInput) SetApiId(v string) *CreateFunctionInput {
5148	s.ApiId = &v
5149	return s
5150}
5151
5152// SetDataSourceName sets the DataSourceName field's value.
5153func (s *CreateFunctionInput) SetDataSourceName(v string) *CreateFunctionInput {
5154	s.DataSourceName = &v
5155	return s
5156}
5157
5158// SetDescription sets the Description field's value.
5159func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
5160	s.Description = &v
5161	return s
5162}
5163
5164// SetFunctionVersion sets the FunctionVersion field's value.
5165func (s *CreateFunctionInput) SetFunctionVersion(v string) *CreateFunctionInput {
5166	s.FunctionVersion = &v
5167	return s
5168}
5169
5170// SetName sets the Name field's value.
5171func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput {
5172	s.Name = &v
5173	return s
5174}
5175
5176// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
5177func (s *CreateFunctionInput) SetRequestMappingTemplate(v string) *CreateFunctionInput {
5178	s.RequestMappingTemplate = &v
5179	return s
5180}
5181
5182// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
5183func (s *CreateFunctionInput) SetResponseMappingTemplate(v string) *CreateFunctionInput {
5184	s.ResponseMappingTemplate = &v
5185	return s
5186}
5187
5188type CreateFunctionOutput struct {
5189	_ struct{} `type:"structure"`
5190
5191	// The Function object.
5192	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
5193}
5194
5195// String returns the string representation
5196func (s CreateFunctionOutput) String() string {
5197	return awsutil.Prettify(s)
5198}
5199
5200// GoString returns the string representation
5201func (s CreateFunctionOutput) GoString() string {
5202	return s.String()
5203}
5204
5205// SetFunctionConfiguration sets the FunctionConfiguration field's value.
5206func (s *CreateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *CreateFunctionOutput {
5207	s.FunctionConfiguration = v
5208	return s
5209}
5210
5211type CreateGraphqlApiInput struct {
5212	_ struct{} `type:"structure"`
5213
5214	// A list of additional authentication providers for the GraphqlApi API.
5215	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
5216
5217	// The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
5218	//
5219	// AuthenticationType is a required field
5220	AuthenticationType *string `locationName:"authenticationType" type:"string" required:"true" enum:"AuthenticationType"`
5221
5222	// The Amazon CloudWatch Logs configuration.
5223	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
5224
5225	// A user-supplied name for the GraphqlApi.
5226	//
5227	// Name is a required field
5228	Name *string `locationName:"name" type:"string" required:"true"`
5229
5230	// The OpenID Connect configuration.
5231	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
5232
5233	// A TagMap object.
5234	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5235
5236	// The Amazon Cognito user pool configuration.
5237	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
5238
5239	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
5240	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
5241}
5242
5243// String returns the string representation
5244func (s CreateGraphqlApiInput) String() string {
5245	return awsutil.Prettify(s)
5246}
5247
5248// GoString returns the string representation
5249func (s CreateGraphqlApiInput) GoString() string {
5250	return s.String()
5251}
5252
5253// Validate inspects the fields of the type to determine if they are valid.
5254func (s *CreateGraphqlApiInput) Validate() error {
5255	invalidParams := request.ErrInvalidParams{Context: "CreateGraphqlApiInput"}
5256	if s.AuthenticationType == nil {
5257		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
5258	}
5259	if s.Name == nil {
5260		invalidParams.Add(request.NewErrParamRequired("Name"))
5261	}
5262	if s.Tags != nil && len(s.Tags) < 1 {
5263		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5264	}
5265	if s.AdditionalAuthenticationProviders != nil {
5266		for i, v := range s.AdditionalAuthenticationProviders {
5267			if v == nil {
5268				continue
5269			}
5270			if err := v.Validate(); err != nil {
5271				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
5272			}
5273		}
5274	}
5275	if s.LogConfig != nil {
5276		if err := s.LogConfig.Validate(); err != nil {
5277			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
5278		}
5279	}
5280	if s.OpenIDConnectConfig != nil {
5281		if err := s.OpenIDConnectConfig.Validate(); err != nil {
5282			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
5283		}
5284	}
5285	if s.UserPoolConfig != nil {
5286		if err := s.UserPoolConfig.Validate(); err != nil {
5287			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
5288		}
5289	}
5290
5291	if invalidParams.Len() > 0 {
5292		return invalidParams
5293	}
5294	return nil
5295}
5296
5297// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
5298func (s *CreateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *CreateGraphqlApiInput {
5299	s.AdditionalAuthenticationProviders = v
5300	return s
5301}
5302
5303// SetAuthenticationType sets the AuthenticationType field's value.
5304func (s *CreateGraphqlApiInput) SetAuthenticationType(v string) *CreateGraphqlApiInput {
5305	s.AuthenticationType = &v
5306	return s
5307}
5308
5309// SetLogConfig sets the LogConfig field's value.
5310func (s *CreateGraphqlApiInput) SetLogConfig(v *LogConfig) *CreateGraphqlApiInput {
5311	s.LogConfig = v
5312	return s
5313}
5314
5315// SetName sets the Name field's value.
5316func (s *CreateGraphqlApiInput) SetName(v string) *CreateGraphqlApiInput {
5317	s.Name = &v
5318	return s
5319}
5320
5321// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
5322func (s *CreateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *CreateGraphqlApiInput {
5323	s.OpenIDConnectConfig = v
5324	return s
5325}
5326
5327// SetTags sets the Tags field's value.
5328func (s *CreateGraphqlApiInput) SetTags(v map[string]*string) *CreateGraphqlApiInput {
5329	s.Tags = v
5330	return s
5331}
5332
5333// SetUserPoolConfig sets the UserPoolConfig field's value.
5334func (s *CreateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *CreateGraphqlApiInput {
5335	s.UserPoolConfig = v
5336	return s
5337}
5338
5339// SetXrayEnabled sets the XrayEnabled field's value.
5340func (s *CreateGraphqlApiInput) SetXrayEnabled(v bool) *CreateGraphqlApiInput {
5341	s.XrayEnabled = &v
5342	return s
5343}
5344
5345type CreateGraphqlApiOutput struct {
5346	_ struct{} `type:"structure"`
5347
5348	// The GraphqlApi.
5349	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
5350}
5351
5352// String returns the string representation
5353func (s CreateGraphqlApiOutput) String() string {
5354	return awsutil.Prettify(s)
5355}
5356
5357// GoString returns the string representation
5358func (s CreateGraphqlApiOutput) GoString() string {
5359	return s.String()
5360}
5361
5362// SetGraphqlApi sets the GraphqlApi field's value.
5363func (s *CreateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *CreateGraphqlApiOutput {
5364	s.GraphqlApi = v
5365	return s
5366}
5367
5368type CreateResolverInput struct {
5369	_ struct{} `type:"structure"`
5370
5371	// The ID for the GraphQL API for which the resolver is being created.
5372	//
5373	// ApiId is a required field
5374	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5375
5376	// The caching configuration for the resolver.
5377	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
5378
5379	// The name of the data source for which the resolver is being created.
5380	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
5381
5382	// The name of the field to attach the resolver to.
5383	//
5384	// FieldName is a required field
5385	FieldName *string `locationName:"fieldName" min:"1" type:"string" required:"true"`
5386
5387	// The resolver type.
5388	//
5389	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
5390	//    type. A UNIT resolver enables you to execute a GraphQL query against a
5391	//    single data source.
5392	//
5393	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
5394	//    to execute a series of Function in a serial manner. You can use a pipeline
5395	//    resolver to execute a GraphQL query against multiple data sources.
5396	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
5397
5398	// The PipelineConfig.
5399	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
5400
5401	// The mapping template to be used for requests.
5402	//
5403	// A resolver uses a request mapping template to convert a GraphQL expression
5404	// into a format that a data source can understand. Mapping templates are written
5405	// in Apache Velocity Template Language (VTL).
5406	//
5407	// RequestMappingTemplate is a required field
5408	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
5409
5410	// The mapping template to be used for responses from the data source.
5411	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
5412
5413	// The SyncConfig for a resolver attached to a versioned datasource.
5414	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
5415
5416	// The name of the Type.
5417	//
5418	// TypeName is a required field
5419	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
5420}
5421
5422// String returns the string representation
5423func (s CreateResolverInput) String() string {
5424	return awsutil.Prettify(s)
5425}
5426
5427// GoString returns the string representation
5428func (s CreateResolverInput) GoString() string {
5429	return s.String()
5430}
5431
5432// Validate inspects the fields of the type to determine if they are valid.
5433func (s *CreateResolverInput) Validate() error {
5434	invalidParams := request.ErrInvalidParams{Context: "CreateResolverInput"}
5435	if s.ApiId == nil {
5436		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5437	}
5438	if s.ApiId != nil && len(*s.ApiId) < 1 {
5439		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5440	}
5441	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
5442		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
5443	}
5444	if s.FieldName == nil {
5445		invalidParams.Add(request.NewErrParamRequired("FieldName"))
5446	}
5447	if s.FieldName != nil && len(*s.FieldName) < 1 {
5448		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
5449	}
5450	if s.RequestMappingTemplate == nil {
5451		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
5452	}
5453	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
5454		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
5455	}
5456	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
5457		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
5458	}
5459	if s.TypeName == nil {
5460		invalidParams.Add(request.NewErrParamRequired("TypeName"))
5461	}
5462	if s.TypeName != nil && len(*s.TypeName) < 1 {
5463		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
5464	}
5465
5466	if invalidParams.Len() > 0 {
5467		return invalidParams
5468	}
5469	return nil
5470}
5471
5472// SetApiId sets the ApiId field's value.
5473func (s *CreateResolverInput) SetApiId(v string) *CreateResolverInput {
5474	s.ApiId = &v
5475	return s
5476}
5477
5478// SetCachingConfig sets the CachingConfig field's value.
5479func (s *CreateResolverInput) SetCachingConfig(v *CachingConfig) *CreateResolverInput {
5480	s.CachingConfig = v
5481	return s
5482}
5483
5484// SetDataSourceName sets the DataSourceName field's value.
5485func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput {
5486	s.DataSourceName = &v
5487	return s
5488}
5489
5490// SetFieldName sets the FieldName field's value.
5491func (s *CreateResolverInput) SetFieldName(v string) *CreateResolverInput {
5492	s.FieldName = &v
5493	return s
5494}
5495
5496// SetKind sets the Kind field's value.
5497func (s *CreateResolverInput) SetKind(v string) *CreateResolverInput {
5498	s.Kind = &v
5499	return s
5500}
5501
5502// SetPipelineConfig sets the PipelineConfig field's value.
5503func (s *CreateResolverInput) SetPipelineConfig(v *PipelineConfig) *CreateResolverInput {
5504	s.PipelineConfig = v
5505	return s
5506}
5507
5508// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
5509func (s *CreateResolverInput) SetRequestMappingTemplate(v string) *CreateResolverInput {
5510	s.RequestMappingTemplate = &v
5511	return s
5512}
5513
5514// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
5515func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolverInput {
5516	s.ResponseMappingTemplate = &v
5517	return s
5518}
5519
5520// SetSyncConfig sets the SyncConfig field's value.
5521func (s *CreateResolverInput) SetSyncConfig(v *SyncConfig) *CreateResolverInput {
5522	s.SyncConfig = v
5523	return s
5524}
5525
5526// SetTypeName sets the TypeName field's value.
5527func (s *CreateResolverInput) SetTypeName(v string) *CreateResolverInput {
5528	s.TypeName = &v
5529	return s
5530}
5531
5532type CreateResolverOutput struct {
5533	_ struct{} `type:"structure"`
5534
5535	// The Resolver object.
5536	Resolver *Resolver `locationName:"resolver" type:"structure"`
5537}
5538
5539// String returns the string representation
5540func (s CreateResolverOutput) String() string {
5541	return awsutil.Prettify(s)
5542}
5543
5544// GoString returns the string representation
5545func (s CreateResolverOutput) GoString() string {
5546	return s.String()
5547}
5548
5549// SetResolver sets the Resolver field's value.
5550func (s *CreateResolverOutput) SetResolver(v *Resolver) *CreateResolverOutput {
5551	s.Resolver = v
5552	return s
5553}
5554
5555type CreateTypeInput struct {
5556	_ struct{} `type:"structure"`
5557
5558	// The API ID.
5559	//
5560	// ApiId is a required field
5561	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5562
5563	// The type definition, in GraphQL Schema Definition Language (SDL) format.
5564	//
5565	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
5566	//
5567	// Definition is a required field
5568	Definition *string `locationName:"definition" type:"string" required:"true"`
5569
5570	// The type format: SDL or JSON.
5571	//
5572	// Format is a required field
5573	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
5574}
5575
5576// String returns the string representation
5577func (s CreateTypeInput) String() string {
5578	return awsutil.Prettify(s)
5579}
5580
5581// GoString returns the string representation
5582func (s CreateTypeInput) GoString() string {
5583	return s.String()
5584}
5585
5586// Validate inspects the fields of the type to determine if they are valid.
5587func (s *CreateTypeInput) Validate() error {
5588	invalidParams := request.ErrInvalidParams{Context: "CreateTypeInput"}
5589	if s.ApiId == nil {
5590		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5591	}
5592	if s.ApiId != nil && len(*s.ApiId) < 1 {
5593		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5594	}
5595	if s.Definition == nil {
5596		invalidParams.Add(request.NewErrParamRequired("Definition"))
5597	}
5598	if s.Format == nil {
5599		invalidParams.Add(request.NewErrParamRequired("Format"))
5600	}
5601
5602	if invalidParams.Len() > 0 {
5603		return invalidParams
5604	}
5605	return nil
5606}
5607
5608// SetApiId sets the ApiId field's value.
5609func (s *CreateTypeInput) SetApiId(v string) *CreateTypeInput {
5610	s.ApiId = &v
5611	return s
5612}
5613
5614// SetDefinition sets the Definition field's value.
5615func (s *CreateTypeInput) SetDefinition(v string) *CreateTypeInput {
5616	s.Definition = &v
5617	return s
5618}
5619
5620// SetFormat sets the Format field's value.
5621func (s *CreateTypeInput) SetFormat(v string) *CreateTypeInput {
5622	s.Format = &v
5623	return s
5624}
5625
5626type CreateTypeOutput struct {
5627	_ struct{} `type:"structure"`
5628
5629	// The Type object.
5630	Type *Type `locationName:"type" type:"structure"`
5631}
5632
5633// String returns the string representation
5634func (s CreateTypeOutput) String() string {
5635	return awsutil.Prettify(s)
5636}
5637
5638// GoString returns the string representation
5639func (s CreateTypeOutput) GoString() string {
5640	return s.String()
5641}
5642
5643// SetType sets the Type field's value.
5644func (s *CreateTypeOutput) SetType(v *Type) *CreateTypeOutput {
5645	s.Type = v
5646	return s
5647}
5648
5649// Describes a data source.
5650type DataSource struct {
5651	_ struct{} `type:"structure"`
5652
5653	// The data source ARN.
5654	DataSourceArn *string `locationName:"dataSourceArn" type:"string"`
5655
5656	// The description of the data source.
5657	Description *string `locationName:"description" type:"string"`
5658
5659	// Amazon DynamoDB settings.
5660	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
5661
5662	// Amazon Elasticsearch Service settings.
5663	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
5664
5665	// HTTP endpoint settings.
5666	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
5667
5668	// AWS Lambda settings.
5669	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
5670
5671	// The name of the data source.
5672	Name *string `locationName:"name" min:"1" type:"string"`
5673
5674	// Relational database settings.
5675	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
5676
5677	// The AWS IAM service role ARN for the data source. The system assumes this
5678	// role when accessing the data source.
5679	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
5680
5681	// The type of the data source.
5682	//
5683	//    * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
5684	//
5685	//    * AMAZON_ELASTICSEARCH: The data source is an Amazon Elasticsearch Service
5686	//    domain.
5687	//
5688	//    * AWS_LAMBDA: The data source is an AWS Lambda function.
5689	//
5690	//    * NONE: There is no data source. This type is used when you wish to invoke
5691	//    a GraphQL operation without connecting to a data source, such as performing
5692	//    data transformation with resolvers or triggering a subscription to be
5693	//    invoked from a mutation.
5694	//
5695	//    * HTTP: The data source is an HTTP endpoint.
5696	//
5697	//    * RELATIONAL_DATABASE: The data source is a relational database.
5698	Type *string `locationName:"type" type:"string" enum:"DataSourceType"`
5699}
5700
5701// String returns the string representation
5702func (s DataSource) String() string {
5703	return awsutil.Prettify(s)
5704}
5705
5706// GoString returns the string representation
5707func (s DataSource) GoString() string {
5708	return s.String()
5709}
5710
5711// SetDataSourceArn sets the DataSourceArn field's value.
5712func (s *DataSource) SetDataSourceArn(v string) *DataSource {
5713	s.DataSourceArn = &v
5714	return s
5715}
5716
5717// SetDescription sets the Description field's value.
5718func (s *DataSource) SetDescription(v string) *DataSource {
5719	s.Description = &v
5720	return s
5721}
5722
5723// SetDynamodbConfig sets the DynamodbConfig field's value.
5724func (s *DataSource) SetDynamodbConfig(v *DynamodbDataSourceConfig) *DataSource {
5725	s.DynamodbConfig = v
5726	return s
5727}
5728
5729// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
5730func (s *DataSource) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *DataSource {
5731	s.ElasticsearchConfig = v
5732	return s
5733}
5734
5735// SetHttpConfig sets the HttpConfig field's value.
5736func (s *DataSource) SetHttpConfig(v *HttpDataSourceConfig) *DataSource {
5737	s.HttpConfig = v
5738	return s
5739}
5740
5741// SetLambdaConfig sets the LambdaConfig field's value.
5742func (s *DataSource) SetLambdaConfig(v *LambdaDataSourceConfig) *DataSource {
5743	s.LambdaConfig = v
5744	return s
5745}
5746
5747// SetName sets the Name field's value.
5748func (s *DataSource) SetName(v string) *DataSource {
5749	s.Name = &v
5750	return s
5751}
5752
5753// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
5754func (s *DataSource) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *DataSource {
5755	s.RelationalDatabaseConfig = v
5756	return s
5757}
5758
5759// SetServiceRoleArn sets the ServiceRoleArn field's value.
5760func (s *DataSource) SetServiceRoleArn(v string) *DataSource {
5761	s.ServiceRoleArn = &v
5762	return s
5763}
5764
5765// SetType sets the Type field's value.
5766func (s *DataSource) SetType(v string) *DataSource {
5767	s.Type = &v
5768	return s
5769}
5770
5771// Represents the input of a DeleteApiCache operation.
5772type DeleteApiCacheInput struct {
5773	_ struct{} `type:"structure"`
5774
5775	// The API ID.
5776	//
5777	// ApiId is a required field
5778	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5779}
5780
5781// String returns the string representation
5782func (s DeleteApiCacheInput) String() string {
5783	return awsutil.Prettify(s)
5784}
5785
5786// GoString returns the string representation
5787func (s DeleteApiCacheInput) GoString() string {
5788	return s.String()
5789}
5790
5791// Validate inspects the fields of the type to determine if they are valid.
5792func (s *DeleteApiCacheInput) Validate() error {
5793	invalidParams := request.ErrInvalidParams{Context: "DeleteApiCacheInput"}
5794	if s.ApiId == nil {
5795		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5796	}
5797	if s.ApiId != nil && len(*s.ApiId) < 1 {
5798		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5799	}
5800
5801	if invalidParams.Len() > 0 {
5802		return invalidParams
5803	}
5804	return nil
5805}
5806
5807// SetApiId sets the ApiId field's value.
5808func (s *DeleteApiCacheInput) SetApiId(v string) *DeleteApiCacheInput {
5809	s.ApiId = &v
5810	return s
5811}
5812
5813// Represents the output of a DeleteApiCache operation.
5814type DeleteApiCacheOutput struct {
5815	_ struct{} `type:"structure"`
5816}
5817
5818// String returns the string representation
5819func (s DeleteApiCacheOutput) String() string {
5820	return awsutil.Prettify(s)
5821}
5822
5823// GoString returns the string representation
5824func (s DeleteApiCacheOutput) GoString() string {
5825	return s.String()
5826}
5827
5828type DeleteApiKeyInput struct {
5829	_ struct{} `type:"structure"`
5830
5831	// The API ID.
5832	//
5833	// ApiId is a required field
5834	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5835
5836	// The ID for the API key.
5837	//
5838	// Id is a required field
5839	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
5840}
5841
5842// String returns the string representation
5843func (s DeleteApiKeyInput) String() string {
5844	return awsutil.Prettify(s)
5845}
5846
5847// GoString returns the string representation
5848func (s DeleteApiKeyInput) GoString() string {
5849	return s.String()
5850}
5851
5852// Validate inspects the fields of the type to determine if they are valid.
5853func (s *DeleteApiKeyInput) Validate() error {
5854	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
5855	if s.ApiId == nil {
5856		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5857	}
5858	if s.ApiId != nil && len(*s.ApiId) < 1 {
5859		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5860	}
5861	if s.Id == nil {
5862		invalidParams.Add(request.NewErrParamRequired("Id"))
5863	}
5864	if s.Id != nil && len(*s.Id) < 1 {
5865		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5866	}
5867
5868	if invalidParams.Len() > 0 {
5869		return invalidParams
5870	}
5871	return nil
5872}
5873
5874// SetApiId sets the ApiId field's value.
5875func (s *DeleteApiKeyInput) SetApiId(v string) *DeleteApiKeyInput {
5876	s.ApiId = &v
5877	return s
5878}
5879
5880// SetId sets the Id field's value.
5881func (s *DeleteApiKeyInput) SetId(v string) *DeleteApiKeyInput {
5882	s.Id = &v
5883	return s
5884}
5885
5886type DeleteApiKeyOutput struct {
5887	_ struct{} `type:"structure"`
5888}
5889
5890// String returns the string representation
5891func (s DeleteApiKeyOutput) String() string {
5892	return awsutil.Prettify(s)
5893}
5894
5895// GoString returns the string representation
5896func (s DeleteApiKeyOutput) GoString() string {
5897	return s.String()
5898}
5899
5900type DeleteDataSourceInput struct {
5901	_ struct{} `type:"structure"`
5902
5903	// The API ID.
5904	//
5905	// ApiId is a required field
5906	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5907
5908	// The name of the data source.
5909	//
5910	// Name is a required field
5911	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
5912}
5913
5914// String returns the string representation
5915func (s DeleteDataSourceInput) String() string {
5916	return awsutil.Prettify(s)
5917}
5918
5919// GoString returns the string representation
5920func (s DeleteDataSourceInput) GoString() string {
5921	return s.String()
5922}
5923
5924// Validate inspects the fields of the type to determine if they are valid.
5925func (s *DeleteDataSourceInput) Validate() error {
5926	invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"}
5927	if s.ApiId == nil {
5928		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5929	}
5930	if s.ApiId != nil && len(*s.ApiId) < 1 {
5931		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5932	}
5933	if s.Name == nil {
5934		invalidParams.Add(request.NewErrParamRequired("Name"))
5935	}
5936	if s.Name != nil && len(*s.Name) < 1 {
5937		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5938	}
5939
5940	if invalidParams.Len() > 0 {
5941		return invalidParams
5942	}
5943	return nil
5944}
5945
5946// SetApiId sets the ApiId field's value.
5947func (s *DeleteDataSourceInput) SetApiId(v string) *DeleteDataSourceInput {
5948	s.ApiId = &v
5949	return s
5950}
5951
5952// SetName sets the Name field's value.
5953func (s *DeleteDataSourceInput) SetName(v string) *DeleteDataSourceInput {
5954	s.Name = &v
5955	return s
5956}
5957
5958type DeleteDataSourceOutput struct {
5959	_ struct{} `type:"structure"`
5960}
5961
5962// String returns the string representation
5963func (s DeleteDataSourceOutput) String() string {
5964	return awsutil.Prettify(s)
5965}
5966
5967// GoString returns the string representation
5968func (s DeleteDataSourceOutput) GoString() string {
5969	return s.String()
5970}
5971
5972type DeleteFunctionInput struct {
5973	_ struct{} `type:"structure"`
5974
5975	// The GraphQL API ID.
5976	//
5977	// ApiId is a required field
5978	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5979
5980	// The Function ID.
5981	//
5982	// FunctionId is a required field
5983	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
5984}
5985
5986// String returns the string representation
5987func (s DeleteFunctionInput) String() string {
5988	return awsutil.Prettify(s)
5989}
5990
5991// GoString returns the string representation
5992func (s DeleteFunctionInput) GoString() string {
5993	return s.String()
5994}
5995
5996// Validate inspects the fields of the type to determine if they are valid.
5997func (s *DeleteFunctionInput) Validate() error {
5998	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
5999	if s.ApiId == nil {
6000		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6001	}
6002	if s.ApiId != nil && len(*s.ApiId) < 1 {
6003		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6004	}
6005	if s.FunctionId == nil {
6006		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
6007	}
6008	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
6009		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
6010	}
6011
6012	if invalidParams.Len() > 0 {
6013		return invalidParams
6014	}
6015	return nil
6016}
6017
6018// SetApiId sets the ApiId field's value.
6019func (s *DeleteFunctionInput) SetApiId(v string) *DeleteFunctionInput {
6020	s.ApiId = &v
6021	return s
6022}
6023
6024// SetFunctionId sets the FunctionId field's value.
6025func (s *DeleteFunctionInput) SetFunctionId(v string) *DeleteFunctionInput {
6026	s.FunctionId = &v
6027	return s
6028}
6029
6030type DeleteFunctionOutput struct {
6031	_ struct{} `type:"structure"`
6032}
6033
6034// String returns the string representation
6035func (s DeleteFunctionOutput) String() string {
6036	return awsutil.Prettify(s)
6037}
6038
6039// GoString returns the string representation
6040func (s DeleteFunctionOutput) GoString() string {
6041	return s.String()
6042}
6043
6044type DeleteGraphqlApiInput struct {
6045	_ struct{} `type:"structure"`
6046
6047	// The API ID.
6048	//
6049	// ApiId is a required field
6050	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6051}
6052
6053// String returns the string representation
6054func (s DeleteGraphqlApiInput) String() string {
6055	return awsutil.Prettify(s)
6056}
6057
6058// GoString returns the string representation
6059func (s DeleteGraphqlApiInput) GoString() string {
6060	return s.String()
6061}
6062
6063// Validate inspects the fields of the type to determine if they are valid.
6064func (s *DeleteGraphqlApiInput) Validate() error {
6065	invalidParams := request.ErrInvalidParams{Context: "DeleteGraphqlApiInput"}
6066	if s.ApiId == nil {
6067		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6068	}
6069	if s.ApiId != nil && len(*s.ApiId) < 1 {
6070		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6071	}
6072
6073	if invalidParams.Len() > 0 {
6074		return invalidParams
6075	}
6076	return nil
6077}
6078
6079// SetApiId sets the ApiId field's value.
6080func (s *DeleteGraphqlApiInput) SetApiId(v string) *DeleteGraphqlApiInput {
6081	s.ApiId = &v
6082	return s
6083}
6084
6085type DeleteGraphqlApiOutput struct {
6086	_ struct{} `type:"structure"`
6087}
6088
6089// String returns the string representation
6090func (s DeleteGraphqlApiOutput) String() string {
6091	return awsutil.Prettify(s)
6092}
6093
6094// GoString returns the string representation
6095func (s DeleteGraphqlApiOutput) GoString() string {
6096	return s.String()
6097}
6098
6099type DeleteResolverInput struct {
6100	_ struct{} `type:"structure"`
6101
6102	// The API ID.
6103	//
6104	// ApiId is a required field
6105	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6106
6107	// The resolver field name.
6108	//
6109	// FieldName is a required field
6110	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
6111
6112	// The name of the resolver type.
6113	//
6114	// TypeName is a required field
6115	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
6116}
6117
6118// String returns the string representation
6119func (s DeleteResolverInput) String() string {
6120	return awsutil.Prettify(s)
6121}
6122
6123// GoString returns the string representation
6124func (s DeleteResolverInput) GoString() string {
6125	return s.String()
6126}
6127
6128// Validate inspects the fields of the type to determine if they are valid.
6129func (s *DeleteResolverInput) Validate() error {
6130	invalidParams := request.ErrInvalidParams{Context: "DeleteResolverInput"}
6131	if s.ApiId == nil {
6132		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6133	}
6134	if s.ApiId != nil && len(*s.ApiId) < 1 {
6135		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6136	}
6137	if s.FieldName == nil {
6138		invalidParams.Add(request.NewErrParamRequired("FieldName"))
6139	}
6140	if s.FieldName != nil && len(*s.FieldName) < 1 {
6141		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
6142	}
6143	if s.TypeName == nil {
6144		invalidParams.Add(request.NewErrParamRequired("TypeName"))
6145	}
6146	if s.TypeName != nil && len(*s.TypeName) < 1 {
6147		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
6148	}
6149
6150	if invalidParams.Len() > 0 {
6151		return invalidParams
6152	}
6153	return nil
6154}
6155
6156// SetApiId sets the ApiId field's value.
6157func (s *DeleteResolverInput) SetApiId(v string) *DeleteResolverInput {
6158	s.ApiId = &v
6159	return s
6160}
6161
6162// SetFieldName sets the FieldName field's value.
6163func (s *DeleteResolverInput) SetFieldName(v string) *DeleteResolverInput {
6164	s.FieldName = &v
6165	return s
6166}
6167
6168// SetTypeName sets the TypeName field's value.
6169func (s *DeleteResolverInput) SetTypeName(v string) *DeleteResolverInput {
6170	s.TypeName = &v
6171	return s
6172}
6173
6174type DeleteResolverOutput struct {
6175	_ struct{} `type:"structure"`
6176}
6177
6178// String returns the string representation
6179func (s DeleteResolverOutput) String() string {
6180	return awsutil.Prettify(s)
6181}
6182
6183// GoString returns the string representation
6184func (s DeleteResolverOutput) GoString() string {
6185	return s.String()
6186}
6187
6188type DeleteTypeInput struct {
6189	_ struct{} `type:"structure"`
6190
6191	// The API ID.
6192	//
6193	// ApiId is a required field
6194	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6195
6196	// The type name.
6197	//
6198	// TypeName is a required field
6199	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
6200}
6201
6202// String returns the string representation
6203func (s DeleteTypeInput) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation
6208func (s DeleteTypeInput) GoString() string {
6209	return s.String()
6210}
6211
6212// Validate inspects the fields of the type to determine if they are valid.
6213func (s *DeleteTypeInput) Validate() error {
6214	invalidParams := request.ErrInvalidParams{Context: "DeleteTypeInput"}
6215	if s.ApiId == nil {
6216		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6217	}
6218	if s.ApiId != nil && len(*s.ApiId) < 1 {
6219		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6220	}
6221	if s.TypeName == nil {
6222		invalidParams.Add(request.NewErrParamRequired("TypeName"))
6223	}
6224	if s.TypeName != nil && len(*s.TypeName) < 1 {
6225		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
6226	}
6227
6228	if invalidParams.Len() > 0 {
6229		return invalidParams
6230	}
6231	return nil
6232}
6233
6234// SetApiId sets the ApiId field's value.
6235func (s *DeleteTypeInput) SetApiId(v string) *DeleteTypeInput {
6236	s.ApiId = &v
6237	return s
6238}
6239
6240// SetTypeName sets the TypeName field's value.
6241func (s *DeleteTypeInput) SetTypeName(v string) *DeleteTypeInput {
6242	s.TypeName = &v
6243	return s
6244}
6245
6246type DeleteTypeOutput struct {
6247	_ struct{} `type:"structure"`
6248}
6249
6250// String returns the string representation
6251func (s DeleteTypeOutput) String() string {
6252	return awsutil.Prettify(s)
6253}
6254
6255// GoString returns the string representation
6256func (s DeleteTypeOutput) GoString() string {
6257	return s.String()
6258}
6259
6260// Describes a Delta Sync configuration.
6261type DeltaSyncConfig struct {
6262	_ struct{} `type:"structure"`
6263
6264	// The number of minutes an Item is stored in the datasource.
6265	BaseTableTTL *int64 `locationName:"baseTableTTL" type:"long"`
6266
6267	// The Delta Sync table name.
6268	DeltaSyncTableName *string `locationName:"deltaSyncTableName" type:"string"`
6269
6270	// The number of minutes a Delta Sync log entry is stored in the Delta Sync
6271	// table.
6272	DeltaSyncTableTTL *int64 `locationName:"deltaSyncTableTTL" type:"long"`
6273}
6274
6275// String returns the string representation
6276func (s DeltaSyncConfig) String() string {
6277	return awsutil.Prettify(s)
6278}
6279
6280// GoString returns the string representation
6281func (s DeltaSyncConfig) GoString() string {
6282	return s.String()
6283}
6284
6285// SetBaseTableTTL sets the BaseTableTTL field's value.
6286func (s *DeltaSyncConfig) SetBaseTableTTL(v int64) *DeltaSyncConfig {
6287	s.BaseTableTTL = &v
6288	return s
6289}
6290
6291// SetDeltaSyncTableName sets the DeltaSyncTableName field's value.
6292func (s *DeltaSyncConfig) SetDeltaSyncTableName(v string) *DeltaSyncConfig {
6293	s.DeltaSyncTableName = &v
6294	return s
6295}
6296
6297// SetDeltaSyncTableTTL sets the DeltaSyncTableTTL field's value.
6298func (s *DeltaSyncConfig) SetDeltaSyncTableTTL(v int64) *DeltaSyncConfig {
6299	s.DeltaSyncTableTTL = &v
6300	return s
6301}
6302
6303// Describes an Amazon DynamoDB data source configuration.
6304type DynamodbDataSourceConfig struct {
6305	_ struct{} `type:"structure"`
6306
6307	// The AWS Region.
6308	//
6309	// AwsRegion is a required field
6310	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
6311
6312	// The DeltaSyncConfig for a versioned datasource.
6313	DeltaSyncConfig *DeltaSyncConfig `locationName:"deltaSyncConfig" type:"structure"`
6314
6315	// The table name.
6316	//
6317	// TableName is a required field
6318	TableName *string `locationName:"tableName" type:"string" required:"true"`
6319
6320	// Set to TRUE to use Amazon Cognito credentials with this data source.
6321	UseCallerCredentials *bool `locationName:"useCallerCredentials" type:"boolean"`
6322
6323	// Set to TRUE to use Conflict Detection and Resolution with this data source.
6324	Versioned *bool `locationName:"versioned" type:"boolean"`
6325}
6326
6327// String returns the string representation
6328func (s DynamodbDataSourceConfig) String() string {
6329	return awsutil.Prettify(s)
6330}
6331
6332// GoString returns the string representation
6333func (s DynamodbDataSourceConfig) GoString() string {
6334	return s.String()
6335}
6336
6337// Validate inspects the fields of the type to determine if they are valid.
6338func (s *DynamodbDataSourceConfig) Validate() error {
6339	invalidParams := request.ErrInvalidParams{Context: "DynamodbDataSourceConfig"}
6340	if s.AwsRegion == nil {
6341		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
6342	}
6343	if s.TableName == nil {
6344		invalidParams.Add(request.NewErrParamRequired("TableName"))
6345	}
6346
6347	if invalidParams.Len() > 0 {
6348		return invalidParams
6349	}
6350	return nil
6351}
6352
6353// SetAwsRegion sets the AwsRegion field's value.
6354func (s *DynamodbDataSourceConfig) SetAwsRegion(v string) *DynamodbDataSourceConfig {
6355	s.AwsRegion = &v
6356	return s
6357}
6358
6359// SetDeltaSyncConfig sets the DeltaSyncConfig field's value.
6360func (s *DynamodbDataSourceConfig) SetDeltaSyncConfig(v *DeltaSyncConfig) *DynamodbDataSourceConfig {
6361	s.DeltaSyncConfig = v
6362	return s
6363}
6364
6365// SetTableName sets the TableName field's value.
6366func (s *DynamodbDataSourceConfig) SetTableName(v string) *DynamodbDataSourceConfig {
6367	s.TableName = &v
6368	return s
6369}
6370
6371// SetUseCallerCredentials sets the UseCallerCredentials field's value.
6372func (s *DynamodbDataSourceConfig) SetUseCallerCredentials(v bool) *DynamodbDataSourceConfig {
6373	s.UseCallerCredentials = &v
6374	return s
6375}
6376
6377// SetVersioned sets the Versioned field's value.
6378func (s *DynamodbDataSourceConfig) SetVersioned(v bool) *DynamodbDataSourceConfig {
6379	s.Versioned = &v
6380	return s
6381}
6382
6383// Describes an Elasticsearch data source configuration.
6384type ElasticsearchDataSourceConfig struct {
6385	_ struct{} `type:"structure"`
6386
6387	// The AWS Region.
6388	//
6389	// AwsRegion is a required field
6390	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
6391
6392	// The endpoint.
6393	//
6394	// Endpoint is a required field
6395	Endpoint *string `locationName:"endpoint" type:"string" required:"true"`
6396}
6397
6398// String returns the string representation
6399func (s ElasticsearchDataSourceConfig) String() string {
6400	return awsutil.Prettify(s)
6401}
6402
6403// GoString returns the string representation
6404func (s ElasticsearchDataSourceConfig) GoString() string {
6405	return s.String()
6406}
6407
6408// Validate inspects the fields of the type to determine if they are valid.
6409func (s *ElasticsearchDataSourceConfig) Validate() error {
6410	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDataSourceConfig"}
6411	if s.AwsRegion == nil {
6412		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
6413	}
6414	if s.Endpoint == nil {
6415		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
6416	}
6417
6418	if invalidParams.Len() > 0 {
6419		return invalidParams
6420	}
6421	return nil
6422}
6423
6424// SetAwsRegion sets the AwsRegion field's value.
6425func (s *ElasticsearchDataSourceConfig) SetAwsRegion(v string) *ElasticsearchDataSourceConfig {
6426	s.AwsRegion = &v
6427	return s
6428}
6429
6430// SetEndpoint sets the Endpoint field's value.
6431func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig {
6432	s.Endpoint = &v
6433	return s
6434}
6435
6436// Represents the input of a FlushApiCache operation.
6437type FlushApiCacheInput struct {
6438	_ struct{} `type:"structure"`
6439
6440	// The API ID.
6441	//
6442	// ApiId is a required field
6443	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6444}
6445
6446// String returns the string representation
6447func (s FlushApiCacheInput) String() string {
6448	return awsutil.Prettify(s)
6449}
6450
6451// GoString returns the string representation
6452func (s FlushApiCacheInput) GoString() string {
6453	return s.String()
6454}
6455
6456// Validate inspects the fields of the type to determine if they are valid.
6457func (s *FlushApiCacheInput) Validate() error {
6458	invalidParams := request.ErrInvalidParams{Context: "FlushApiCacheInput"}
6459	if s.ApiId == nil {
6460		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6461	}
6462	if s.ApiId != nil && len(*s.ApiId) < 1 {
6463		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6464	}
6465
6466	if invalidParams.Len() > 0 {
6467		return invalidParams
6468	}
6469	return nil
6470}
6471
6472// SetApiId sets the ApiId field's value.
6473func (s *FlushApiCacheInput) SetApiId(v string) *FlushApiCacheInput {
6474	s.ApiId = &v
6475	return s
6476}
6477
6478// Represents the output of a FlushApiCache operation.
6479type FlushApiCacheOutput struct {
6480	_ struct{} `type:"structure"`
6481}
6482
6483// String returns the string representation
6484func (s FlushApiCacheOutput) String() string {
6485	return awsutil.Prettify(s)
6486}
6487
6488// GoString returns the string representation
6489func (s FlushApiCacheOutput) GoString() string {
6490	return s.String()
6491}
6492
6493// A function is a reusable entity. Multiple functions can be used to compose
6494// the resolver logic.
6495type FunctionConfiguration struct {
6496	_ struct{} `type:"structure"`
6497
6498	// The name of the DataSource.
6499	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
6500
6501	// The Function description.
6502	Description *string `locationName:"description" type:"string"`
6503
6504	// The ARN of the Function object.
6505	FunctionArn *string `locationName:"functionArn" type:"string"`
6506
6507	// A unique ID representing the Function object.
6508	FunctionId *string `locationName:"functionId" type:"string"`
6509
6510	// The version of the request mapping template. Currently only the 2018-05-29
6511	// version of the template is supported.
6512	FunctionVersion *string `locationName:"functionVersion" type:"string"`
6513
6514	// The name of the Function object.
6515	Name *string `locationName:"name" min:"1" type:"string"`
6516
6517	// The Function request mapping template. Functions support only the 2018-05-29
6518	// version of the request mapping template.
6519	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
6520
6521	// The Function response mapping template.
6522	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
6523}
6524
6525// String returns the string representation
6526func (s FunctionConfiguration) String() string {
6527	return awsutil.Prettify(s)
6528}
6529
6530// GoString returns the string representation
6531func (s FunctionConfiguration) GoString() string {
6532	return s.String()
6533}
6534
6535// SetDataSourceName sets the DataSourceName field's value.
6536func (s *FunctionConfiguration) SetDataSourceName(v string) *FunctionConfiguration {
6537	s.DataSourceName = &v
6538	return s
6539}
6540
6541// SetDescription sets the Description field's value.
6542func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
6543	s.Description = &v
6544	return s
6545}
6546
6547// SetFunctionArn sets the FunctionArn field's value.
6548func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
6549	s.FunctionArn = &v
6550	return s
6551}
6552
6553// SetFunctionId sets the FunctionId field's value.
6554func (s *FunctionConfiguration) SetFunctionId(v string) *FunctionConfiguration {
6555	s.FunctionId = &v
6556	return s
6557}
6558
6559// SetFunctionVersion sets the FunctionVersion field's value.
6560func (s *FunctionConfiguration) SetFunctionVersion(v string) *FunctionConfiguration {
6561	s.FunctionVersion = &v
6562	return s
6563}
6564
6565// SetName sets the Name field's value.
6566func (s *FunctionConfiguration) SetName(v string) *FunctionConfiguration {
6567	s.Name = &v
6568	return s
6569}
6570
6571// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
6572func (s *FunctionConfiguration) SetRequestMappingTemplate(v string) *FunctionConfiguration {
6573	s.RequestMappingTemplate = &v
6574	return s
6575}
6576
6577// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
6578func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionConfiguration {
6579	s.ResponseMappingTemplate = &v
6580	return s
6581}
6582
6583// Represents the input of a GetApiCache operation.
6584type GetApiCacheInput struct {
6585	_ struct{} `type:"structure"`
6586
6587	// The API ID.
6588	//
6589	// ApiId is a required field
6590	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6591}
6592
6593// String returns the string representation
6594func (s GetApiCacheInput) String() string {
6595	return awsutil.Prettify(s)
6596}
6597
6598// GoString returns the string representation
6599func (s GetApiCacheInput) GoString() string {
6600	return s.String()
6601}
6602
6603// Validate inspects the fields of the type to determine if they are valid.
6604func (s *GetApiCacheInput) Validate() error {
6605	invalidParams := request.ErrInvalidParams{Context: "GetApiCacheInput"}
6606	if s.ApiId == nil {
6607		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6608	}
6609	if s.ApiId != nil && len(*s.ApiId) < 1 {
6610		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6611	}
6612
6613	if invalidParams.Len() > 0 {
6614		return invalidParams
6615	}
6616	return nil
6617}
6618
6619// SetApiId sets the ApiId field's value.
6620func (s *GetApiCacheInput) SetApiId(v string) *GetApiCacheInput {
6621	s.ApiId = &v
6622	return s
6623}
6624
6625// Represents the output of a GetApiCache operation.
6626type GetApiCacheOutput struct {
6627	_ struct{} `type:"structure"`
6628
6629	// The ApiCache object.
6630	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
6631}
6632
6633// String returns the string representation
6634func (s GetApiCacheOutput) String() string {
6635	return awsutil.Prettify(s)
6636}
6637
6638// GoString returns the string representation
6639func (s GetApiCacheOutput) GoString() string {
6640	return s.String()
6641}
6642
6643// SetApiCache sets the ApiCache field's value.
6644func (s *GetApiCacheOutput) SetApiCache(v *ApiCache) *GetApiCacheOutput {
6645	s.ApiCache = v
6646	return s
6647}
6648
6649type GetDataSourceInput struct {
6650	_ struct{} `type:"structure"`
6651
6652	// The API ID.
6653	//
6654	// ApiId is a required field
6655	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6656
6657	// The name of the data source.
6658	//
6659	// Name is a required field
6660	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6661}
6662
6663// String returns the string representation
6664func (s GetDataSourceInput) String() string {
6665	return awsutil.Prettify(s)
6666}
6667
6668// GoString returns the string representation
6669func (s GetDataSourceInput) GoString() string {
6670	return s.String()
6671}
6672
6673// Validate inspects the fields of the type to determine if they are valid.
6674func (s *GetDataSourceInput) Validate() error {
6675	invalidParams := request.ErrInvalidParams{Context: "GetDataSourceInput"}
6676	if s.ApiId == nil {
6677		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6678	}
6679	if s.ApiId != nil && len(*s.ApiId) < 1 {
6680		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6681	}
6682	if s.Name == nil {
6683		invalidParams.Add(request.NewErrParamRequired("Name"))
6684	}
6685	if s.Name != nil && len(*s.Name) < 1 {
6686		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6687	}
6688
6689	if invalidParams.Len() > 0 {
6690		return invalidParams
6691	}
6692	return nil
6693}
6694
6695// SetApiId sets the ApiId field's value.
6696func (s *GetDataSourceInput) SetApiId(v string) *GetDataSourceInput {
6697	s.ApiId = &v
6698	return s
6699}
6700
6701// SetName sets the Name field's value.
6702func (s *GetDataSourceInput) SetName(v string) *GetDataSourceInput {
6703	s.Name = &v
6704	return s
6705}
6706
6707type GetDataSourceOutput struct {
6708	_ struct{} `type:"structure"`
6709
6710	// The DataSource object.
6711	DataSource *DataSource `locationName:"dataSource" type:"structure"`
6712}
6713
6714// String returns the string representation
6715func (s GetDataSourceOutput) String() string {
6716	return awsutil.Prettify(s)
6717}
6718
6719// GoString returns the string representation
6720func (s GetDataSourceOutput) GoString() string {
6721	return s.String()
6722}
6723
6724// SetDataSource sets the DataSource field's value.
6725func (s *GetDataSourceOutput) SetDataSource(v *DataSource) *GetDataSourceOutput {
6726	s.DataSource = v
6727	return s
6728}
6729
6730type GetFunctionInput struct {
6731	_ struct{} `type:"structure"`
6732
6733	// The GraphQL API ID.
6734	//
6735	// ApiId is a required field
6736	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6737
6738	// The Function ID.
6739	//
6740	// FunctionId is a required field
6741	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
6742}
6743
6744// String returns the string representation
6745func (s GetFunctionInput) String() string {
6746	return awsutil.Prettify(s)
6747}
6748
6749// GoString returns the string representation
6750func (s GetFunctionInput) GoString() string {
6751	return s.String()
6752}
6753
6754// Validate inspects the fields of the type to determine if they are valid.
6755func (s *GetFunctionInput) Validate() error {
6756	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
6757	if s.ApiId == nil {
6758		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6759	}
6760	if s.ApiId != nil && len(*s.ApiId) < 1 {
6761		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6762	}
6763	if s.FunctionId == nil {
6764		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
6765	}
6766	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
6767		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
6768	}
6769
6770	if invalidParams.Len() > 0 {
6771		return invalidParams
6772	}
6773	return nil
6774}
6775
6776// SetApiId sets the ApiId field's value.
6777func (s *GetFunctionInput) SetApiId(v string) *GetFunctionInput {
6778	s.ApiId = &v
6779	return s
6780}
6781
6782// SetFunctionId sets the FunctionId field's value.
6783func (s *GetFunctionInput) SetFunctionId(v string) *GetFunctionInput {
6784	s.FunctionId = &v
6785	return s
6786}
6787
6788type GetFunctionOutput struct {
6789	_ struct{} `type:"structure"`
6790
6791	// The Function object.
6792	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
6793}
6794
6795// String returns the string representation
6796func (s GetFunctionOutput) String() string {
6797	return awsutil.Prettify(s)
6798}
6799
6800// GoString returns the string representation
6801func (s GetFunctionOutput) GoString() string {
6802	return s.String()
6803}
6804
6805// SetFunctionConfiguration sets the FunctionConfiguration field's value.
6806func (s *GetFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
6807	s.FunctionConfiguration = v
6808	return s
6809}
6810
6811type GetGraphqlApiInput struct {
6812	_ struct{} `type:"structure"`
6813
6814	// The API ID for the GraphQL API.
6815	//
6816	// ApiId is a required field
6817	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6818}
6819
6820// String returns the string representation
6821func (s GetGraphqlApiInput) String() string {
6822	return awsutil.Prettify(s)
6823}
6824
6825// GoString returns the string representation
6826func (s GetGraphqlApiInput) GoString() string {
6827	return s.String()
6828}
6829
6830// Validate inspects the fields of the type to determine if they are valid.
6831func (s *GetGraphqlApiInput) Validate() error {
6832	invalidParams := request.ErrInvalidParams{Context: "GetGraphqlApiInput"}
6833	if s.ApiId == nil {
6834		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6835	}
6836	if s.ApiId != nil && len(*s.ApiId) < 1 {
6837		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6838	}
6839
6840	if invalidParams.Len() > 0 {
6841		return invalidParams
6842	}
6843	return nil
6844}
6845
6846// SetApiId sets the ApiId field's value.
6847func (s *GetGraphqlApiInput) SetApiId(v string) *GetGraphqlApiInput {
6848	s.ApiId = &v
6849	return s
6850}
6851
6852type GetGraphqlApiOutput struct {
6853	_ struct{} `type:"structure"`
6854
6855	// The GraphqlApi object.
6856	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
6857}
6858
6859// String returns the string representation
6860func (s GetGraphqlApiOutput) String() string {
6861	return awsutil.Prettify(s)
6862}
6863
6864// GoString returns the string representation
6865func (s GetGraphqlApiOutput) GoString() string {
6866	return s.String()
6867}
6868
6869// SetGraphqlApi sets the GraphqlApi field's value.
6870func (s *GetGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *GetGraphqlApiOutput {
6871	s.GraphqlApi = v
6872	return s
6873}
6874
6875type GetIntrospectionSchemaInput struct {
6876	_ struct{} `type:"structure"`
6877
6878	// The API ID.
6879	//
6880	// ApiId is a required field
6881	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6882
6883	// The schema format: SDL or JSON.
6884	//
6885	// Format is a required field
6886	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"OutputType"`
6887
6888	// A flag that specifies whether the schema introspection should contain directives.
6889	IncludeDirectives *bool `location:"querystring" locationName:"includeDirectives" type:"boolean"`
6890}
6891
6892// String returns the string representation
6893func (s GetIntrospectionSchemaInput) String() string {
6894	return awsutil.Prettify(s)
6895}
6896
6897// GoString returns the string representation
6898func (s GetIntrospectionSchemaInput) GoString() string {
6899	return s.String()
6900}
6901
6902// Validate inspects the fields of the type to determine if they are valid.
6903func (s *GetIntrospectionSchemaInput) Validate() error {
6904	invalidParams := request.ErrInvalidParams{Context: "GetIntrospectionSchemaInput"}
6905	if s.ApiId == nil {
6906		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6907	}
6908	if s.ApiId != nil && len(*s.ApiId) < 1 {
6909		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6910	}
6911	if s.Format == nil {
6912		invalidParams.Add(request.NewErrParamRequired("Format"))
6913	}
6914
6915	if invalidParams.Len() > 0 {
6916		return invalidParams
6917	}
6918	return nil
6919}
6920
6921// SetApiId sets the ApiId field's value.
6922func (s *GetIntrospectionSchemaInput) SetApiId(v string) *GetIntrospectionSchemaInput {
6923	s.ApiId = &v
6924	return s
6925}
6926
6927// SetFormat sets the Format field's value.
6928func (s *GetIntrospectionSchemaInput) SetFormat(v string) *GetIntrospectionSchemaInput {
6929	s.Format = &v
6930	return s
6931}
6932
6933// SetIncludeDirectives sets the IncludeDirectives field's value.
6934func (s *GetIntrospectionSchemaInput) SetIncludeDirectives(v bool) *GetIntrospectionSchemaInput {
6935	s.IncludeDirectives = &v
6936	return s
6937}
6938
6939type GetIntrospectionSchemaOutput struct {
6940	_ struct{} `type:"structure" payload:"Schema"`
6941
6942	// The schema, in GraphQL Schema Definition Language (SDL) format.
6943	//
6944	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
6945	Schema []byte `locationName:"schema" type:"blob"`
6946}
6947
6948// String returns the string representation
6949func (s GetIntrospectionSchemaOutput) String() string {
6950	return awsutil.Prettify(s)
6951}
6952
6953// GoString returns the string representation
6954func (s GetIntrospectionSchemaOutput) GoString() string {
6955	return s.String()
6956}
6957
6958// SetSchema sets the Schema field's value.
6959func (s *GetIntrospectionSchemaOutput) SetSchema(v []byte) *GetIntrospectionSchemaOutput {
6960	s.Schema = v
6961	return s
6962}
6963
6964type GetResolverInput struct {
6965	_ struct{} `type:"structure"`
6966
6967	// The API ID.
6968	//
6969	// ApiId is a required field
6970	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6971
6972	// The resolver field name.
6973	//
6974	// FieldName is a required field
6975	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
6976
6977	// The resolver type name.
6978	//
6979	// TypeName is a required field
6980	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
6981}
6982
6983// String returns the string representation
6984func (s GetResolverInput) String() string {
6985	return awsutil.Prettify(s)
6986}
6987
6988// GoString returns the string representation
6989func (s GetResolverInput) GoString() string {
6990	return s.String()
6991}
6992
6993// Validate inspects the fields of the type to determine if they are valid.
6994func (s *GetResolverInput) Validate() error {
6995	invalidParams := request.ErrInvalidParams{Context: "GetResolverInput"}
6996	if s.ApiId == nil {
6997		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6998	}
6999	if s.ApiId != nil && len(*s.ApiId) < 1 {
7000		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7001	}
7002	if s.FieldName == nil {
7003		invalidParams.Add(request.NewErrParamRequired("FieldName"))
7004	}
7005	if s.FieldName != nil && len(*s.FieldName) < 1 {
7006		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
7007	}
7008	if s.TypeName == nil {
7009		invalidParams.Add(request.NewErrParamRequired("TypeName"))
7010	}
7011	if s.TypeName != nil && len(*s.TypeName) < 1 {
7012		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
7013	}
7014
7015	if invalidParams.Len() > 0 {
7016		return invalidParams
7017	}
7018	return nil
7019}
7020
7021// SetApiId sets the ApiId field's value.
7022func (s *GetResolverInput) SetApiId(v string) *GetResolverInput {
7023	s.ApiId = &v
7024	return s
7025}
7026
7027// SetFieldName sets the FieldName field's value.
7028func (s *GetResolverInput) SetFieldName(v string) *GetResolverInput {
7029	s.FieldName = &v
7030	return s
7031}
7032
7033// SetTypeName sets the TypeName field's value.
7034func (s *GetResolverInput) SetTypeName(v string) *GetResolverInput {
7035	s.TypeName = &v
7036	return s
7037}
7038
7039type GetResolverOutput struct {
7040	_ struct{} `type:"structure"`
7041
7042	// The Resolver object.
7043	Resolver *Resolver `locationName:"resolver" type:"structure"`
7044}
7045
7046// String returns the string representation
7047func (s GetResolverOutput) String() string {
7048	return awsutil.Prettify(s)
7049}
7050
7051// GoString returns the string representation
7052func (s GetResolverOutput) GoString() string {
7053	return s.String()
7054}
7055
7056// SetResolver sets the Resolver field's value.
7057func (s *GetResolverOutput) SetResolver(v *Resolver) *GetResolverOutput {
7058	s.Resolver = v
7059	return s
7060}
7061
7062type GetSchemaCreationStatusInput struct {
7063	_ struct{} `type:"structure"`
7064
7065	// The API ID.
7066	//
7067	// ApiId is a required field
7068	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7069}
7070
7071// String returns the string representation
7072func (s GetSchemaCreationStatusInput) String() string {
7073	return awsutil.Prettify(s)
7074}
7075
7076// GoString returns the string representation
7077func (s GetSchemaCreationStatusInput) GoString() string {
7078	return s.String()
7079}
7080
7081// Validate inspects the fields of the type to determine if they are valid.
7082func (s *GetSchemaCreationStatusInput) Validate() error {
7083	invalidParams := request.ErrInvalidParams{Context: "GetSchemaCreationStatusInput"}
7084	if s.ApiId == nil {
7085		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7086	}
7087	if s.ApiId != nil && len(*s.ApiId) < 1 {
7088		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7089	}
7090
7091	if invalidParams.Len() > 0 {
7092		return invalidParams
7093	}
7094	return nil
7095}
7096
7097// SetApiId sets the ApiId field's value.
7098func (s *GetSchemaCreationStatusInput) SetApiId(v string) *GetSchemaCreationStatusInput {
7099	s.ApiId = &v
7100	return s
7101}
7102
7103type GetSchemaCreationStatusOutput struct {
7104	_ struct{} `type:"structure"`
7105
7106	// Detailed information about the status of the schema creation operation.
7107	Details *string `locationName:"details" type:"string"`
7108
7109	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
7110	// When the schema is in the ACTIVE state, you can add data.
7111	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
7112}
7113
7114// String returns the string representation
7115func (s GetSchemaCreationStatusOutput) String() string {
7116	return awsutil.Prettify(s)
7117}
7118
7119// GoString returns the string representation
7120func (s GetSchemaCreationStatusOutput) GoString() string {
7121	return s.String()
7122}
7123
7124// SetDetails sets the Details field's value.
7125func (s *GetSchemaCreationStatusOutput) SetDetails(v string) *GetSchemaCreationStatusOutput {
7126	s.Details = &v
7127	return s
7128}
7129
7130// SetStatus sets the Status field's value.
7131func (s *GetSchemaCreationStatusOutput) SetStatus(v string) *GetSchemaCreationStatusOutput {
7132	s.Status = &v
7133	return s
7134}
7135
7136type GetTypeInput struct {
7137	_ struct{} `type:"structure"`
7138
7139	// The API ID.
7140	//
7141	// ApiId is a required field
7142	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7143
7144	// The type format: SDL or JSON.
7145	//
7146	// Format is a required field
7147	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
7148
7149	// The type name.
7150	//
7151	// TypeName is a required field
7152	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
7153}
7154
7155// String returns the string representation
7156func (s GetTypeInput) String() string {
7157	return awsutil.Prettify(s)
7158}
7159
7160// GoString returns the string representation
7161func (s GetTypeInput) GoString() string {
7162	return s.String()
7163}
7164
7165// Validate inspects the fields of the type to determine if they are valid.
7166func (s *GetTypeInput) Validate() error {
7167	invalidParams := request.ErrInvalidParams{Context: "GetTypeInput"}
7168	if s.ApiId == nil {
7169		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7170	}
7171	if s.ApiId != nil && len(*s.ApiId) < 1 {
7172		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7173	}
7174	if s.Format == nil {
7175		invalidParams.Add(request.NewErrParamRequired("Format"))
7176	}
7177	if s.TypeName == nil {
7178		invalidParams.Add(request.NewErrParamRequired("TypeName"))
7179	}
7180	if s.TypeName != nil && len(*s.TypeName) < 1 {
7181		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
7182	}
7183
7184	if invalidParams.Len() > 0 {
7185		return invalidParams
7186	}
7187	return nil
7188}
7189
7190// SetApiId sets the ApiId field's value.
7191func (s *GetTypeInput) SetApiId(v string) *GetTypeInput {
7192	s.ApiId = &v
7193	return s
7194}
7195
7196// SetFormat sets the Format field's value.
7197func (s *GetTypeInput) SetFormat(v string) *GetTypeInput {
7198	s.Format = &v
7199	return s
7200}
7201
7202// SetTypeName sets the TypeName field's value.
7203func (s *GetTypeInput) SetTypeName(v string) *GetTypeInput {
7204	s.TypeName = &v
7205	return s
7206}
7207
7208type GetTypeOutput struct {
7209	_ struct{} `type:"structure"`
7210
7211	// The Type object.
7212	Type *Type `locationName:"type" type:"structure"`
7213}
7214
7215// String returns the string representation
7216func (s GetTypeOutput) String() string {
7217	return awsutil.Prettify(s)
7218}
7219
7220// GoString returns the string representation
7221func (s GetTypeOutput) GoString() string {
7222	return s.String()
7223}
7224
7225// SetType sets the Type field's value.
7226func (s *GetTypeOutput) SetType(v *Type) *GetTypeOutput {
7227	s.Type = v
7228	return s
7229}
7230
7231// The GraphQL schema is not valid.
7232type GraphQLSchemaException struct {
7233	_            struct{}                  `type:"structure"`
7234	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7235
7236	Message_ *string `locationName:"message" type:"string"`
7237}
7238
7239// String returns the string representation
7240func (s GraphQLSchemaException) String() string {
7241	return awsutil.Prettify(s)
7242}
7243
7244// GoString returns the string representation
7245func (s GraphQLSchemaException) GoString() string {
7246	return s.String()
7247}
7248
7249func newErrorGraphQLSchemaException(v protocol.ResponseMetadata) error {
7250	return &GraphQLSchemaException{
7251		RespMetadata: v,
7252	}
7253}
7254
7255// Code returns the exception type name.
7256func (s *GraphQLSchemaException) Code() string {
7257	return "GraphQLSchemaException"
7258}
7259
7260// Message returns the exception's message.
7261func (s *GraphQLSchemaException) Message() string {
7262	if s.Message_ != nil {
7263		return *s.Message_
7264	}
7265	return ""
7266}
7267
7268// OrigErr always returns nil, satisfies awserr.Error interface.
7269func (s *GraphQLSchemaException) OrigErr() error {
7270	return nil
7271}
7272
7273func (s *GraphQLSchemaException) Error() string {
7274	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7275}
7276
7277// Status code returns the HTTP status code for the request's response error.
7278func (s *GraphQLSchemaException) StatusCode() int {
7279	return s.RespMetadata.StatusCode
7280}
7281
7282// RequestID returns the service's response RequestID for request.
7283func (s *GraphQLSchemaException) RequestID() string {
7284	return s.RespMetadata.RequestID
7285}
7286
7287// Describes a GraphQL API.
7288type GraphqlApi struct {
7289	_ struct{} `type:"structure"`
7290
7291	// A list of additional authentication providers for the GraphqlApi API.
7292	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
7293
7294	// The API ID.
7295	ApiId *string `locationName:"apiId" type:"string"`
7296
7297	// The ARN.
7298	Arn *string `locationName:"arn" type:"string"`
7299
7300	// The authentication type.
7301	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
7302
7303	// The Amazon CloudWatch Logs configuration.
7304	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
7305
7306	// The API name.
7307	Name *string `locationName:"name" min:"1" type:"string"`
7308
7309	// The OpenID Connect configuration.
7310	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
7311
7312	// The tags.
7313	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7314
7315	// The URIs.
7316	Uris map[string]*string `locationName:"uris" type:"map"`
7317
7318	// The Amazon Cognito user pool configuration.
7319	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
7320
7321	// A flag representing whether X-Ray tracing is enabled for this GraphqlApi.
7322	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
7323}
7324
7325// String returns the string representation
7326func (s GraphqlApi) String() string {
7327	return awsutil.Prettify(s)
7328}
7329
7330// GoString returns the string representation
7331func (s GraphqlApi) GoString() string {
7332	return s.String()
7333}
7334
7335// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
7336func (s *GraphqlApi) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *GraphqlApi {
7337	s.AdditionalAuthenticationProviders = v
7338	return s
7339}
7340
7341// SetApiId sets the ApiId field's value.
7342func (s *GraphqlApi) SetApiId(v string) *GraphqlApi {
7343	s.ApiId = &v
7344	return s
7345}
7346
7347// SetArn sets the Arn field's value.
7348func (s *GraphqlApi) SetArn(v string) *GraphqlApi {
7349	s.Arn = &v
7350	return s
7351}
7352
7353// SetAuthenticationType sets the AuthenticationType field's value.
7354func (s *GraphqlApi) SetAuthenticationType(v string) *GraphqlApi {
7355	s.AuthenticationType = &v
7356	return s
7357}
7358
7359// SetLogConfig sets the LogConfig field's value.
7360func (s *GraphqlApi) SetLogConfig(v *LogConfig) *GraphqlApi {
7361	s.LogConfig = v
7362	return s
7363}
7364
7365// SetName sets the Name field's value.
7366func (s *GraphqlApi) SetName(v string) *GraphqlApi {
7367	s.Name = &v
7368	return s
7369}
7370
7371// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
7372func (s *GraphqlApi) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *GraphqlApi {
7373	s.OpenIDConnectConfig = v
7374	return s
7375}
7376
7377// SetTags sets the Tags field's value.
7378func (s *GraphqlApi) SetTags(v map[string]*string) *GraphqlApi {
7379	s.Tags = v
7380	return s
7381}
7382
7383// SetUris sets the Uris field's value.
7384func (s *GraphqlApi) SetUris(v map[string]*string) *GraphqlApi {
7385	s.Uris = v
7386	return s
7387}
7388
7389// SetUserPoolConfig sets the UserPoolConfig field's value.
7390func (s *GraphqlApi) SetUserPoolConfig(v *UserPoolConfig) *GraphqlApi {
7391	s.UserPoolConfig = v
7392	return s
7393}
7394
7395// SetXrayEnabled sets the XrayEnabled field's value.
7396func (s *GraphqlApi) SetXrayEnabled(v bool) *GraphqlApi {
7397	s.XrayEnabled = &v
7398	return s
7399}
7400
7401// Describes an HTTP data source configuration.
7402type HttpDataSourceConfig struct {
7403	_ struct{} `type:"structure"`
7404
7405	// The authorization config in case the HTTP endpoint requires authorization.
7406	AuthorizationConfig *AuthorizationConfig `locationName:"authorizationConfig" type:"structure"`
7407
7408	// The HTTP URL endpoint. You can either specify the domain name or IP, and
7409	// port combination, and the URL scheme must be HTTP or HTTPS. If the port is
7410	// not specified, AWS AppSync uses the default port 80 for the HTTP endpoint
7411	// and port 443 for HTTPS endpoints.
7412	Endpoint *string `locationName:"endpoint" type:"string"`
7413}
7414
7415// String returns the string representation
7416func (s HttpDataSourceConfig) String() string {
7417	return awsutil.Prettify(s)
7418}
7419
7420// GoString returns the string representation
7421func (s HttpDataSourceConfig) GoString() string {
7422	return s.String()
7423}
7424
7425// Validate inspects the fields of the type to determine if they are valid.
7426func (s *HttpDataSourceConfig) Validate() error {
7427	invalidParams := request.ErrInvalidParams{Context: "HttpDataSourceConfig"}
7428	if s.AuthorizationConfig != nil {
7429		if err := s.AuthorizationConfig.Validate(); err != nil {
7430			invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams))
7431		}
7432	}
7433
7434	if invalidParams.Len() > 0 {
7435		return invalidParams
7436	}
7437	return nil
7438}
7439
7440// SetAuthorizationConfig sets the AuthorizationConfig field's value.
7441func (s *HttpDataSourceConfig) SetAuthorizationConfig(v *AuthorizationConfig) *HttpDataSourceConfig {
7442	s.AuthorizationConfig = v
7443	return s
7444}
7445
7446// SetEndpoint sets the Endpoint field's value.
7447func (s *HttpDataSourceConfig) SetEndpoint(v string) *HttpDataSourceConfig {
7448	s.Endpoint = &v
7449	return s
7450}
7451
7452// An internal AWS AppSync error occurred. Try your request again.
7453type InternalFailureException struct {
7454	_            struct{}                  `type:"structure"`
7455	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7456
7457	Message_ *string `locationName:"message" type:"string"`
7458}
7459
7460// String returns the string representation
7461func (s InternalFailureException) String() string {
7462	return awsutil.Prettify(s)
7463}
7464
7465// GoString returns the string representation
7466func (s InternalFailureException) GoString() string {
7467	return s.String()
7468}
7469
7470func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
7471	return &InternalFailureException{
7472		RespMetadata: v,
7473	}
7474}
7475
7476// Code returns the exception type name.
7477func (s *InternalFailureException) Code() string {
7478	return "InternalFailureException"
7479}
7480
7481// Message returns the exception's message.
7482func (s *InternalFailureException) Message() string {
7483	if s.Message_ != nil {
7484		return *s.Message_
7485	}
7486	return ""
7487}
7488
7489// OrigErr always returns nil, satisfies awserr.Error interface.
7490func (s *InternalFailureException) OrigErr() error {
7491	return nil
7492}
7493
7494func (s *InternalFailureException) Error() string {
7495	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7496}
7497
7498// Status code returns the HTTP status code for the request's response error.
7499func (s *InternalFailureException) StatusCode() int {
7500	return s.RespMetadata.StatusCode
7501}
7502
7503// RequestID returns the service's response RequestID for request.
7504func (s *InternalFailureException) RequestID() string {
7505	return s.RespMetadata.RequestID
7506}
7507
7508// The LambdaConflictHandlerConfig object when configuring LAMBDA as the Conflict
7509// Handler.
7510type LambdaConflictHandlerConfig struct {
7511	_ struct{} `type:"structure"`
7512
7513	// The Arn for the Lambda function to use as the Conflict Handler.
7514	LambdaConflictHandlerArn *string `locationName:"lambdaConflictHandlerArn" type:"string"`
7515}
7516
7517// String returns the string representation
7518func (s LambdaConflictHandlerConfig) String() string {
7519	return awsutil.Prettify(s)
7520}
7521
7522// GoString returns the string representation
7523func (s LambdaConflictHandlerConfig) GoString() string {
7524	return s.String()
7525}
7526
7527// SetLambdaConflictHandlerArn sets the LambdaConflictHandlerArn field's value.
7528func (s *LambdaConflictHandlerConfig) SetLambdaConflictHandlerArn(v string) *LambdaConflictHandlerConfig {
7529	s.LambdaConflictHandlerArn = &v
7530	return s
7531}
7532
7533// Describes an AWS Lambda data source configuration.
7534type LambdaDataSourceConfig struct {
7535	_ struct{} `type:"structure"`
7536
7537	// The ARN for the Lambda function.
7538	//
7539	// LambdaFunctionArn is a required field
7540	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string" required:"true"`
7541}
7542
7543// String returns the string representation
7544func (s LambdaDataSourceConfig) String() string {
7545	return awsutil.Prettify(s)
7546}
7547
7548// GoString returns the string representation
7549func (s LambdaDataSourceConfig) GoString() string {
7550	return s.String()
7551}
7552
7553// Validate inspects the fields of the type to determine if they are valid.
7554func (s *LambdaDataSourceConfig) Validate() error {
7555	invalidParams := request.ErrInvalidParams{Context: "LambdaDataSourceConfig"}
7556	if s.LambdaFunctionArn == nil {
7557		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
7558	}
7559
7560	if invalidParams.Len() > 0 {
7561		return invalidParams
7562	}
7563	return nil
7564}
7565
7566// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
7567func (s *LambdaDataSourceConfig) SetLambdaFunctionArn(v string) *LambdaDataSourceConfig {
7568	s.LambdaFunctionArn = &v
7569	return s
7570}
7571
7572// The request exceeded a limit. Try your request again.
7573type LimitExceededException struct {
7574	_            struct{}                  `type:"structure"`
7575	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7576
7577	Message_ *string `locationName:"message" type:"string"`
7578}
7579
7580// String returns the string representation
7581func (s LimitExceededException) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation
7586func (s LimitExceededException) GoString() string {
7587	return s.String()
7588}
7589
7590func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
7591	return &LimitExceededException{
7592		RespMetadata: v,
7593	}
7594}
7595
7596// Code returns the exception type name.
7597func (s *LimitExceededException) Code() string {
7598	return "LimitExceededException"
7599}
7600
7601// Message returns the exception's message.
7602func (s *LimitExceededException) Message() string {
7603	if s.Message_ != nil {
7604		return *s.Message_
7605	}
7606	return ""
7607}
7608
7609// OrigErr always returns nil, satisfies awserr.Error interface.
7610func (s *LimitExceededException) OrigErr() error {
7611	return nil
7612}
7613
7614func (s *LimitExceededException) Error() string {
7615	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7616}
7617
7618// Status code returns the HTTP status code for the request's response error.
7619func (s *LimitExceededException) StatusCode() int {
7620	return s.RespMetadata.StatusCode
7621}
7622
7623// RequestID returns the service's response RequestID for request.
7624func (s *LimitExceededException) RequestID() string {
7625	return s.RespMetadata.RequestID
7626}
7627
7628type ListApiKeysInput struct {
7629	_ struct{} `type:"structure"`
7630
7631	// The API ID.
7632	//
7633	// ApiId is a required field
7634	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7635
7636	// The maximum number of results you want the request to return.
7637	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7638
7639	// An identifier that was returned from the previous call to this operation,
7640	// which can be used to return the next set of items in the list.
7641	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7642}
7643
7644// String returns the string representation
7645func (s ListApiKeysInput) String() string {
7646	return awsutil.Prettify(s)
7647}
7648
7649// GoString returns the string representation
7650func (s ListApiKeysInput) GoString() string {
7651	return s.String()
7652}
7653
7654// Validate inspects the fields of the type to determine if they are valid.
7655func (s *ListApiKeysInput) Validate() error {
7656	invalidParams := request.ErrInvalidParams{Context: "ListApiKeysInput"}
7657	if s.ApiId == nil {
7658		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7659	}
7660	if s.ApiId != nil && len(*s.ApiId) < 1 {
7661		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7662	}
7663	if s.NextToken != nil && len(*s.NextToken) < 1 {
7664		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7665	}
7666
7667	if invalidParams.Len() > 0 {
7668		return invalidParams
7669	}
7670	return nil
7671}
7672
7673// SetApiId sets the ApiId field's value.
7674func (s *ListApiKeysInput) SetApiId(v string) *ListApiKeysInput {
7675	s.ApiId = &v
7676	return s
7677}
7678
7679// SetMaxResults sets the MaxResults field's value.
7680func (s *ListApiKeysInput) SetMaxResults(v int64) *ListApiKeysInput {
7681	s.MaxResults = &v
7682	return s
7683}
7684
7685// SetNextToken sets the NextToken field's value.
7686func (s *ListApiKeysInput) SetNextToken(v string) *ListApiKeysInput {
7687	s.NextToken = &v
7688	return s
7689}
7690
7691type ListApiKeysOutput struct {
7692	_ struct{} `type:"structure"`
7693
7694	// The ApiKey objects.
7695	ApiKeys []*ApiKey `locationName:"apiKeys" type:"list"`
7696
7697	// An identifier to be passed in the next request to this operation to return
7698	// the next set of items in the list.
7699	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7700}
7701
7702// String returns the string representation
7703func (s ListApiKeysOutput) String() string {
7704	return awsutil.Prettify(s)
7705}
7706
7707// GoString returns the string representation
7708func (s ListApiKeysOutput) GoString() string {
7709	return s.String()
7710}
7711
7712// SetApiKeys sets the ApiKeys field's value.
7713func (s *ListApiKeysOutput) SetApiKeys(v []*ApiKey) *ListApiKeysOutput {
7714	s.ApiKeys = v
7715	return s
7716}
7717
7718// SetNextToken sets the NextToken field's value.
7719func (s *ListApiKeysOutput) SetNextToken(v string) *ListApiKeysOutput {
7720	s.NextToken = &v
7721	return s
7722}
7723
7724type ListDataSourcesInput struct {
7725	_ struct{} `type:"structure"`
7726
7727	// The API ID.
7728	//
7729	// ApiId is a required field
7730	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7731
7732	// The maximum number of results you want the request to return.
7733	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7734
7735	// An identifier that was returned from the previous call to this operation,
7736	// which can be used to return the next set of items in the list.
7737	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7738}
7739
7740// String returns the string representation
7741func (s ListDataSourcesInput) String() string {
7742	return awsutil.Prettify(s)
7743}
7744
7745// GoString returns the string representation
7746func (s ListDataSourcesInput) GoString() string {
7747	return s.String()
7748}
7749
7750// Validate inspects the fields of the type to determine if they are valid.
7751func (s *ListDataSourcesInput) Validate() error {
7752	invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"}
7753	if s.ApiId == nil {
7754		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7755	}
7756	if s.ApiId != nil && len(*s.ApiId) < 1 {
7757		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7758	}
7759	if s.NextToken != nil && len(*s.NextToken) < 1 {
7760		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7761	}
7762
7763	if invalidParams.Len() > 0 {
7764		return invalidParams
7765	}
7766	return nil
7767}
7768
7769// SetApiId sets the ApiId field's value.
7770func (s *ListDataSourcesInput) SetApiId(v string) *ListDataSourcesInput {
7771	s.ApiId = &v
7772	return s
7773}
7774
7775// SetMaxResults sets the MaxResults field's value.
7776func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput {
7777	s.MaxResults = &v
7778	return s
7779}
7780
7781// SetNextToken sets the NextToken field's value.
7782func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput {
7783	s.NextToken = &v
7784	return s
7785}
7786
7787type ListDataSourcesOutput struct {
7788	_ struct{} `type:"structure"`
7789
7790	// The DataSource objects.
7791	DataSources []*DataSource `locationName:"dataSources" type:"list"`
7792
7793	// An identifier to be passed in the next request to this operation to return
7794	// the next set of items in the list.
7795	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7796}
7797
7798// String returns the string representation
7799func (s ListDataSourcesOutput) String() string {
7800	return awsutil.Prettify(s)
7801}
7802
7803// GoString returns the string representation
7804func (s ListDataSourcesOutput) GoString() string {
7805	return s.String()
7806}
7807
7808// SetDataSources sets the DataSources field's value.
7809func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput {
7810	s.DataSources = v
7811	return s
7812}
7813
7814// SetNextToken sets the NextToken field's value.
7815func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput {
7816	s.NextToken = &v
7817	return s
7818}
7819
7820type ListFunctionsInput struct {
7821	_ struct{} `type:"structure"`
7822
7823	// The GraphQL API ID.
7824	//
7825	// ApiId is a required field
7826	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7827
7828	// The maximum number of results you want the request to return.
7829	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7830
7831	// An identifier that was returned from the previous call to this operation,
7832	// which can be used to return the next set of items in the list.
7833	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7834}
7835
7836// String returns the string representation
7837func (s ListFunctionsInput) String() string {
7838	return awsutil.Prettify(s)
7839}
7840
7841// GoString returns the string representation
7842func (s ListFunctionsInput) GoString() string {
7843	return s.String()
7844}
7845
7846// Validate inspects the fields of the type to determine if they are valid.
7847func (s *ListFunctionsInput) Validate() error {
7848	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
7849	if s.ApiId == nil {
7850		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7851	}
7852	if s.ApiId != nil && len(*s.ApiId) < 1 {
7853		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7854	}
7855	if s.NextToken != nil && len(*s.NextToken) < 1 {
7856		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7857	}
7858
7859	if invalidParams.Len() > 0 {
7860		return invalidParams
7861	}
7862	return nil
7863}
7864
7865// SetApiId sets the ApiId field's value.
7866func (s *ListFunctionsInput) SetApiId(v string) *ListFunctionsInput {
7867	s.ApiId = &v
7868	return s
7869}
7870
7871// SetMaxResults sets the MaxResults field's value.
7872func (s *ListFunctionsInput) SetMaxResults(v int64) *ListFunctionsInput {
7873	s.MaxResults = &v
7874	return s
7875}
7876
7877// SetNextToken sets the NextToken field's value.
7878func (s *ListFunctionsInput) SetNextToken(v string) *ListFunctionsInput {
7879	s.NextToken = &v
7880	return s
7881}
7882
7883type ListFunctionsOutput struct {
7884	_ struct{} `type:"structure"`
7885
7886	// A list of Function objects.
7887	Functions []*FunctionConfiguration `locationName:"functions" type:"list"`
7888
7889	// An identifier that was returned from the previous call to this operation,
7890	// which can be used to return the next set of items in the list.
7891	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7892}
7893
7894// String returns the string representation
7895func (s ListFunctionsOutput) String() string {
7896	return awsutil.Prettify(s)
7897}
7898
7899// GoString returns the string representation
7900func (s ListFunctionsOutput) GoString() string {
7901	return s.String()
7902}
7903
7904// SetFunctions sets the Functions field's value.
7905func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
7906	s.Functions = v
7907	return s
7908}
7909
7910// SetNextToken sets the NextToken field's value.
7911func (s *ListFunctionsOutput) SetNextToken(v string) *ListFunctionsOutput {
7912	s.NextToken = &v
7913	return s
7914}
7915
7916type ListGraphqlApisInput struct {
7917	_ struct{} `type:"structure"`
7918
7919	// The maximum number of results you want the request to return.
7920	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7921
7922	// An identifier that was returned from the previous call to this operation,
7923	// which can be used to return the next set of items in the list.
7924	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7925}
7926
7927// String returns the string representation
7928func (s ListGraphqlApisInput) String() string {
7929	return awsutil.Prettify(s)
7930}
7931
7932// GoString returns the string representation
7933func (s ListGraphqlApisInput) GoString() string {
7934	return s.String()
7935}
7936
7937// Validate inspects the fields of the type to determine if they are valid.
7938func (s *ListGraphqlApisInput) Validate() error {
7939	invalidParams := request.ErrInvalidParams{Context: "ListGraphqlApisInput"}
7940	if s.NextToken != nil && len(*s.NextToken) < 1 {
7941		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7942	}
7943
7944	if invalidParams.Len() > 0 {
7945		return invalidParams
7946	}
7947	return nil
7948}
7949
7950// SetMaxResults sets the MaxResults field's value.
7951func (s *ListGraphqlApisInput) SetMaxResults(v int64) *ListGraphqlApisInput {
7952	s.MaxResults = &v
7953	return s
7954}
7955
7956// SetNextToken sets the NextToken field's value.
7957func (s *ListGraphqlApisInput) SetNextToken(v string) *ListGraphqlApisInput {
7958	s.NextToken = &v
7959	return s
7960}
7961
7962type ListGraphqlApisOutput struct {
7963	_ struct{} `type:"structure"`
7964
7965	// The GraphqlApi objects.
7966	GraphqlApis []*GraphqlApi `locationName:"graphqlApis" type:"list"`
7967
7968	// An identifier to be passed in the next request to this operation to return
7969	// the next set of items in the list.
7970	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7971}
7972
7973// String returns the string representation
7974func (s ListGraphqlApisOutput) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s ListGraphqlApisOutput) GoString() string {
7980	return s.String()
7981}
7982
7983// SetGraphqlApis sets the GraphqlApis field's value.
7984func (s *ListGraphqlApisOutput) SetGraphqlApis(v []*GraphqlApi) *ListGraphqlApisOutput {
7985	s.GraphqlApis = v
7986	return s
7987}
7988
7989// SetNextToken sets the NextToken field's value.
7990func (s *ListGraphqlApisOutput) SetNextToken(v string) *ListGraphqlApisOutput {
7991	s.NextToken = &v
7992	return s
7993}
7994
7995type ListResolversByFunctionInput struct {
7996	_ struct{} `type:"structure"`
7997
7998	// The API ID.
7999	//
8000	// ApiId is a required field
8001	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8002
8003	// The Function ID.
8004	//
8005	// FunctionId is a required field
8006	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
8007
8008	// The maximum number of results you want the request to return.
8009	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8010
8011	// An identifier that was returned from the previous call to this operation,
8012	// which you can use to return the next set of items in the list.
8013	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8014}
8015
8016// String returns the string representation
8017func (s ListResolversByFunctionInput) String() string {
8018	return awsutil.Prettify(s)
8019}
8020
8021// GoString returns the string representation
8022func (s ListResolversByFunctionInput) GoString() string {
8023	return s.String()
8024}
8025
8026// Validate inspects the fields of the type to determine if they are valid.
8027func (s *ListResolversByFunctionInput) Validate() error {
8028	invalidParams := request.ErrInvalidParams{Context: "ListResolversByFunctionInput"}
8029	if s.ApiId == nil {
8030		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8031	}
8032	if s.ApiId != nil && len(*s.ApiId) < 1 {
8033		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8034	}
8035	if s.FunctionId == nil {
8036		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
8037	}
8038	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
8039		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
8040	}
8041	if s.NextToken != nil && len(*s.NextToken) < 1 {
8042		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8043	}
8044
8045	if invalidParams.Len() > 0 {
8046		return invalidParams
8047	}
8048	return nil
8049}
8050
8051// SetApiId sets the ApiId field's value.
8052func (s *ListResolversByFunctionInput) SetApiId(v string) *ListResolversByFunctionInput {
8053	s.ApiId = &v
8054	return s
8055}
8056
8057// SetFunctionId sets the FunctionId field's value.
8058func (s *ListResolversByFunctionInput) SetFunctionId(v string) *ListResolversByFunctionInput {
8059	s.FunctionId = &v
8060	return s
8061}
8062
8063// SetMaxResults sets the MaxResults field's value.
8064func (s *ListResolversByFunctionInput) SetMaxResults(v int64) *ListResolversByFunctionInput {
8065	s.MaxResults = &v
8066	return s
8067}
8068
8069// SetNextToken sets the NextToken field's value.
8070func (s *ListResolversByFunctionInput) SetNextToken(v string) *ListResolversByFunctionInput {
8071	s.NextToken = &v
8072	return s
8073}
8074
8075type ListResolversByFunctionOutput struct {
8076	_ struct{} `type:"structure"`
8077
8078	// An identifier that can be used to return the next set of items in the list.
8079	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8080
8081	// The list of resolvers.
8082	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
8083}
8084
8085// String returns the string representation
8086func (s ListResolversByFunctionOutput) String() string {
8087	return awsutil.Prettify(s)
8088}
8089
8090// GoString returns the string representation
8091func (s ListResolversByFunctionOutput) GoString() string {
8092	return s.String()
8093}
8094
8095// SetNextToken sets the NextToken field's value.
8096func (s *ListResolversByFunctionOutput) SetNextToken(v string) *ListResolversByFunctionOutput {
8097	s.NextToken = &v
8098	return s
8099}
8100
8101// SetResolvers sets the Resolvers field's value.
8102func (s *ListResolversByFunctionOutput) SetResolvers(v []*Resolver) *ListResolversByFunctionOutput {
8103	s.Resolvers = v
8104	return s
8105}
8106
8107type ListResolversInput struct {
8108	_ struct{} `type:"structure"`
8109
8110	// The API ID.
8111	//
8112	// ApiId is a required field
8113	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8114
8115	// The maximum number of results you want the request to return.
8116	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8117
8118	// An identifier that was returned from the previous call to this operation,
8119	// which can be used to return the next set of items in the list.
8120	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8121
8122	// The type name.
8123	//
8124	// TypeName is a required field
8125	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
8126}
8127
8128// String returns the string representation
8129func (s ListResolversInput) String() string {
8130	return awsutil.Prettify(s)
8131}
8132
8133// GoString returns the string representation
8134func (s ListResolversInput) GoString() string {
8135	return s.String()
8136}
8137
8138// Validate inspects the fields of the type to determine if they are valid.
8139func (s *ListResolversInput) Validate() error {
8140	invalidParams := request.ErrInvalidParams{Context: "ListResolversInput"}
8141	if s.ApiId == nil {
8142		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8143	}
8144	if s.ApiId != nil && len(*s.ApiId) < 1 {
8145		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8146	}
8147	if s.NextToken != nil && len(*s.NextToken) < 1 {
8148		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8149	}
8150	if s.TypeName == nil {
8151		invalidParams.Add(request.NewErrParamRequired("TypeName"))
8152	}
8153	if s.TypeName != nil && len(*s.TypeName) < 1 {
8154		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
8155	}
8156
8157	if invalidParams.Len() > 0 {
8158		return invalidParams
8159	}
8160	return nil
8161}
8162
8163// SetApiId sets the ApiId field's value.
8164func (s *ListResolversInput) SetApiId(v string) *ListResolversInput {
8165	s.ApiId = &v
8166	return s
8167}
8168
8169// SetMaxResults sets the MaxResults field's value.
8170func (s *ListResolversInput) SetMaxResults(v int64) *ListResolversInput {
8171	s.MaxResults = &v
8172	return s
8173}
8174
8175// SetNextToken sets the NextToken field's value.
8176func (s *ListResolversInput) SetNextToken(v string) *ListResolversInput {
8177	s.NextToken = &v
8178	return s
8179}
8180
8181// SetTypeName sets the TypeName field's value.
8182func (s *ListResolversInput) SetTypeName(v string) *ListResolversInput {
8183	s.TypeName = &v
8184	return s
8185}
8186
8187type ListResolversOutput struct {
8188	_ struct{} `type:"structure"`
8189
8190	// An identifier to be passed in the next request to this operation to return
8191	// the next set of items in the list.
8192	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8193
8194	// The Resolver objects.
8195	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
8196}
8197
8198// String returns the string representation
8199func (s ListResolversOutput) String() string {
8200	return awsutil.Prettify(s)
8201}
8202
8203// GoString returns the string representation
8204func (s ListResolversOutput) GoString() string {
8205	return s.String()
8206}
8207
8208// SetNextToken sets the NextToken field's value.
8209func (s *ListResolversOutput) SetNextToken(v string) *ListResolversOutput {
8210	s.NextToken = &v
8211	return s
8212}
8213
8214// SetResolvers sets the Resolvers field's value.
8215func (s *ListResolversOutput) SetResolvers(v []*Resolver) *ListResolversOutput {
8216	s.Resolvers = v
8217	return s
8218}
8219
8220type ListTagsForResourceInput struct {
8221	_ struct{} `type:"structure"`
8222
8223	// The GraphqlApi ARN.
8224	//
8225	// ResourceArn is a required field
8226	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
8227}
8228
8229// String returns the string representation
8230func (s ListTagsForResourceInput) String() string {
8231	return awsutil.Prettify(s)
8232}
8233
8234// GoString returns the string representation
8235func (s ListTagsForResourceInput) GoString() string {
8236	return s.String()
8237}
8238
8239// Validate inspects the fields of the type to determine if they are valid.
8240func (s *ListTagsForResourceInput) Validate() error {
8241	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8242	if s.ResourceArn == nil {
8243		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8244	}
8245	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
8246		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
8247	}
8248
8249	if invalidParams.Len() > 0 {
8250		return invalidParams
8251	}
8252	return nil
8253}
8254
8255// SetResourceArn sets the ResourceArn field's value.
8256func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8257	s.ResourceArn = &v
8258	return s
8259}
8260
8261type ListTagsForResourceOutput struct {
8262	_ struct{} `type:"structure"`
8263
8264	// A TagMap object.
8265	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8266}
8267
8268// String returns the string representation
8269func (s ListTagsForResourceOutput) String() string {
8270	return awsutil.Prettify(s)
8271}
8272
8273// GoString returns the string representation
8274func (s ListTagsForResourceOutput) GoString() string {
8275	return s.String()
8276}
8277
8278// SetTags sets the Tags field's value.
8279func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
8280	s.Tags = v
8281	return s
8282}
8283
8284type ListTypesInput struct {
8285	_ struct{} `type:"structure"`
8286
8287	// The API ID.
8288	//
8289	// ApiId is a required field
8290	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8291
8292	// The type format: SDL or JSON.
8293	//
8294	// Format is a required field
8295	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
8296
8297	// The maximum number of results you want the request to return.
8298	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8299
8300	// An identifier that was returned from the previous call to this operation,
8301	// which can be used to return the next set of items in the list.
8302	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8303}
8304
8305// String returns the string representation
8306func (s ListTypesInput) String() string {
8307	return awsutil.Prettify(s)
8308}
8309
8310// GoString returns the string representation
8311func (s ListTypesInput) GoString() string {
8312	return s.String()
8313}
8314
8315// Validate inspects the fields of the type to determine if they are valid.
8316func (s *ListTypesInput) Validate() error {
8317	invalidParams := request.ErrInvalidParams{Context: "ListTypesInput"}
8318	if s.ApiId == nil {
8319		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8320	}
8321	if s.ApiId != nil && len(*s.ApiId) < 1 {
8322		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8323	}
8324	if s.Format == nil {
8325		invalidParams.Add(request.NewErrParamRequired("Format"))
8326	}
8327	if s.NextToken != nil && len(*s.NextToken) < 1 {
8328		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8329	}
8330
8331	if invalidParams.Len() > 0 {
8332		return invalidParams
8333	}
8334	return nil
8335}
8336
8337// SetApiId sets the ApiId field's value.
8338func (s *ListTypesInput) SetApiId(v string) *ListTypesInput {
8339	s.ApiId = &v
8340	return s
8341}
8342
8343// SetFormat sets the Format field's value.
8344func (s *ListTypesInput) SetFormat(v string) *ListTypesInput {
8345	s.Format = &v
8346	return s
8347}
8348
8349// SetMaxResults sets the MaxResults field's value.
8350func (s *ListTypesInput) SetMaxResults(v int64) *ListTypesInput {
8351	s.MaxResults = &v
8352	return s
8353}
8354
8355// SetNextToken sets the NextToken field's value.
8356func (s *ListTypesInput) SetNextToken(v string) *ListTypesInput {
8357	s.NextToken = &v
8358	return s
8359}
8360
8361type ListTypesOutput struct {
8362	_ struct{} `type:"structure"`
8363
8364	// An identifier to be passed in the next request to this operation to return
8365	// the next set of items in the list.
8366	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8367
8368	// The Type objects.
8369	Types []*Type `locationName:"types" type:"list"`
8370}
8371
8372// String returns the string representation
8373func (s ListTypesOutput) String() string {
8374	return awsutil.Prettify(s)
8375}
8376
8377// GoString returns the string representation
8378func (s ListTypesOutput) GoString() string {
8379	return s.String()
8380}
8381
8382// SetNextToken sets the NextToken field's value.
8383func (s *ListTypesOutput) SetNextToken(v string) *ListTypesOutput {
8384	s.NextToken = &v
8385	return s
8386}
8387
8388// SetTypes sets the Types field's value.
8389func (s *ListTypesOutput) SetTypes(v []*Type) *ListTypesOutput {
8390	s.Types = v
8391	return s
8392}
8393
8394// The CloudWatch Logs configuration.
8395type LogConfig struct {
8396	_ struct{} `type:"structure"`
8397
8398	// The service role that AWS AppSync will assume to publish to Amazon CloudWatch
8399	// logs in your account.
8400	//
8401	// CloudWatchLogsRoleArn is a required field
8402	CloudWatchLogsRoleArn *string `locationName:"cloudWatchLogsRoleArn" type:"string" required:"true"`
8403
8404	// Set to TRUE to exclude sections that contain information such as headers,
8405	// context, and evaluated mapping templates, regardless of logging level.
8406	ExcludeVerboseContent *bool `locationName:"excludeVerboseContent" type:"boolean"`
8407
8408	// The field logging level. Values can be NONE, ERROR, or ALL.
8409	//
8410	//    * NONE: No field-level logs are captured.
8411	//
8412	//    * ERROR: Logs the following information only for the fields that are in
8413	//    error: The error section in the server response. Field-level errors. The
8414	//    generated request/response functions that got resolved for error fields.
8415	//
8416	//    * ALL: The following information is logged for all fields in the query:
8417	//    Field-level tracing information. The generated request/response functions
8418	//    that got resolved for each field.
8419	//
8420	// FieldLogLevel is a required field
8421	FieldLogLevel *string `locationName:"fieldLogLevel" type:"string" required:"true" enum:"FieldLogLevel"`
8422}
8423
8424// String returns the string representation
8425func (s LogConfig) String() string {
8426	return awsutil.Prettify(s)
8427}
8428
8429// GoString returns the string representation
8430func (s LogConfig) GoString() string {
8431	return s.String()
8432}
8433
8434// Validate inspects the fields of the type to determine if they are valid.
8435func (s *LogConfig) Validate() error {
8436	invalidParams := request.ErrInvalidParams{Context: "LogConfig"}
8437	if s.CloudWatchLogsRoleArn == nil {
8438		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsRoleArn"))
8439	}
8440	if s.FieldLogLevel == nil {
8441		invalidParams.Add(request.NewErrParamRequired("FieldLogLevel"))
8442	}
8443
8444	if invalidParams.Len() > 0 {
8445		return invalidParams
8446	}
8447	return nil
8448}
8449
8450// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8451func (s *LogConfig) SetCloudWatchLogsRoleArn(v string) *LogConfig {
8452	s.CloudWatchLogsRoleArn = &v
8453	return s
8454}
8455
8456// SetExcludeVerboseContent sets the ExcludeVerboseContent field's value.
8457func (s *LogConfig) SetExcludeVerboseContent(v bool) *LogConfig {
8458	s.ExcludeVerboseContent = &v
8459	return s
8460}
8461
8462// SetFieldLogLevel sets the FieldLogLevel field's value.
8463func (s *LogConfig) SetFieldLogLevel(v string) *LogConfig {
8464	s.FieldLogLevel = &v
8465	return s
8466}
8467
8468// The resource specified in the request was not found. Check the resource,
8469// and then try again.
8470type NotFoundException struct {
8471	_            struct{}                  `type:"structure"`
8472	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8473
8474	Message_ *string `locationName:"message" type:"string"`
8475}
8476
8477// String returns the string representation
8478func (s NotFoundException) String() string {
8479	return awsutil.Prettify(s)
8480}
8481
8482// GoString returns the string representation
8483func (s NotFoundException) GoString() string {
8484	return s.String()
8485}
8486
8487func newErrorNotFoundException(v protocol.ResponseMetadata) error {
8488	return &NotFoundException{
8489		RespMetadata: v,
8490	}
8491}
8492
8493// Code returns the exception type name.
8494func (s *NotFoundException) Code() string {
8495	return "NotFoundException"
8496}
8497
8498// Message returns the exception's message.
8499func (s *NotFoundException) Message() string {
8500	if s.Message_ != nil {
8501		return *s.Message_
8502	}
8503	return ""
8504}
8505
8506// OrigErr always returns nil, satisfies awserr.Error interface.
8507func (s *NotFoundException) OrigErr() error {
8508	return nil
8509}
8510
8511func (s *NotFoundException) Error() string {
8512	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8513}
8514
8515// Status code returns the HTTP status code for the request's response error.
8516func (s *NotFoundException) StatusCode() int {
8517	return s.RespMetadata.StatusCode
8518}
8519
8520// RequestID returns the service's response RequestID for request.
8521func (s *NotFoundException) RequestID() string {
8522	return s.RespMetadata.RequestID
8523}
8524
8525// Describes an OpenID Connect configuration.
8526type OpenIDConnectConfig struct {
8527	_ struct{} `type:"structure"`
8528
8529	// The number of milliseconds a token is valid after being authenticated.
8530	AuthTTL *int64 `locationName:"authTTL" type:"long"`
8531
8532	// The client identifier of the Relying party at the OpenID identity provider.
8533	// This identifier is typically obtained when the Relying party is registered
8534	// with the OpenID identity provider. You can specify a regular expression so
8535	// the AWS AppSync can validate against multiple client identifiers at a time.
8536	ClientId *string `locationName:"clientId" type:"string"`
8537
8538	// The number of milliseconds a token is valid after being issued to a user.
8539	IatTTL *int64 `locationName:"iatTTL" type:"long"`
8540
8541	// The issuer for the OpenID Connect configuration. The issuer returned by discovery
8542	// must exactly match the value of iss in the ID token.
8543	//
8544	// Issuer is a required field
8545	Issuer *string `locationName:"issuer" type:"string" required:"true"`
8546}
8547
8548// String returns the string representation
8549func (s OpenIDConnectConfig) String() string {
8550	return awsutil.Prettify(s)
8551}
8552
8553// GoString returns the string representation
8554func (s OpenIDConnectConfig) GoString() string {
8555	return s.String()
8556}
8557
8558// Validate inspects the fields of the type to determine if they are valid.
8559func (s *OpenIDConnectConfig) Validate() error {
8560	invalidParams := request.ErrInvalidParams{Context: "OpenIDConnectConfig"}
8561	if s.Issuer == nil {
8562		invalidParams.Add(request.NewErrParamRequired("Issuer"))
8563	}
8564
8565	if invalidParams.Len() > 0 {
8566		return invalidParams
8567	}
8568	return nil
8569}
8570
8571// SetAuthTTL sets the AuthTTL field's value.
8572func (s *OpenIDConnectConfig) SetAuthTTL(v int64) *OpenIDConnectConfig {
8573	s.AuthTTL = &v
8574	return s
8575}
8576
8577// SetClientId sets the ClientId field's value.
8578func (s *OpenIDConnectConfig) SetClientId(v string) *OpenIDConnectConfig {
8579	s.ClientId = &v
8580	return s
8581}
8582
8583// SetIatTTL sets the IatTTL field's value.
8584func (s *OpenIDConnectConfig) SetIatTTL(v int64) *OpenIDConnectConfig {
8585	s.IatTTL = &v
8586	return s
8587}
8588
8589// SetIssuer sets the Issuer field's value.
8590func (s *OpenIDConnectConfig) SetIssuer(v string) *OpenIDConnectConfig {
8591	s.Issuer = &v
8592	return s
8593}
8594
8595// The pipeline configuration for a resolver of kind PIPELINE.
8596type PipelineConfig struct {
8597	_ struct{} `type:"structure"`
8598
8599	// A list of Function objects.
8600	Functions []*string `locationName:"functions" type:"list"`
8601}
8602
8603// String returns the string representation
8604func (s PipelineConfig) String() string {
8605	return awsutil.Prettify(s)
8606}
8607
8608// GoString returns the string representation
8609func (s PipelineConfig) GoString() string {
8610	return s.String()
8611}
8612
8613// SetFunctions sets the Functions field's value.
8614func (s *PipelineConfig) SetFunctions(v []*string) *PipelineConfig {
8615	s.Functions = v
8616	return s
8617}
8618
8619// The Amazon RDS HTTP endpoint configuration.
8620type RdsHttpEndpointConfig struct {
8621	_ struct{} `type:"structure"`
8622
8623	// AWS Region for RDS HTTP endpoint.
8624	AwsRegion *string `locationName:"awsRegion" type:"string"`
8625
8626	// AWS secret store ARN for database credentials.
8627	AwsSecretStoreArn *string `locationName:"awsSecretStoreArn" type:"string"`
8628
8629	// Logical database name.
8630	DatabaseName *string `locationName:"databaseName" type:"string"`
8631
8632	// Amazon RDS cluster ARN.
8633	DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"`
8634
8635	// Logical schema name.
8636	Schema *string `locationName:"schema" type:"string"`
8637}
8638
8639// String returns the string representation
8640func (s RdsHttpEndpointConfig) String() string {
8641	return awsutil.Prettify(s)
8642}
8643
8644// GoString returns the string representation
8645func (s RdsHttpEndpointConfig) GoString() string {
8646	return s.String()
8647}
8648
8649// SetAwsRegion sets the AwsRegion field's value.
8650func (s *RdsHttpEndpointConfig) SetAwsRegion(v string) *RdsHttpEndpointConfig {
8651	s.AwsRegion = &v
8652	return s
8653}
8654
8655// SetAwsSecretStoreArn sets the AwsSecretStoreArn field's value.
8656func (s *RdsHttpEndpointConfig) SetAwsSecretStoreArn(v string) *RdsHttpEndpointConfig {
8657	s.AwsSecretStoreArn = &v
8658	return s
8659}
8660
8661// SetDatabaseName sets the DatabaseName field's value.
8662func (s *RdsHttpEndpointConfig) SetDatabaseName(v string) *RdsHttpEndpointConfig {
8663	s.DatabaseName = &v
8664	return s
8665}
8666
8667// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
8668func (s *RdsHttpEndpointConfig) SetDbClusterIdentifier(v string) *RdsHttpEndpointConfig {
8669	s.DbClusterIdentifier = &v
8670	return s
8671}
8672
8673// SetSchema sets the Schema field's value.
8674func (s *RdsHttpEndpointConfig) SetSchema(v string) *RdsHttpEndpointConfig {
8675	s.Schema = &v
8676	return s
8677}
8678
8679// Describes a relational database data source configuration.
8680type RelationalDatabaseDataSourceConfig struct {
8681	_ struct{} `type:"structure"`
8682
8683	// Amazon RDS HTTP endpoint settings.
8684	RdsHttpEndpointConfig *RdsHttpEndpointConfig `locationName:"rdsHttpEndpointConfig" type:"structure"`
8685
8686	// Source type for the relational database.
8687	//
8688	//    * RDS_HTTP_ENDPOINT: The relational database source type is an Amazon
8689	//    RDS HTTP endpoint.
8690	RelationalDatabaseSourceType *string `locationName:"relationalDatabaseSourceType" type:"string" enum:"RelationalDatabaseSourceType"`
8691}
8692
8693// String returns the string representation
8694func (s RelationalDatabaseDataSourceConfig) String() string {
8695	return awsutil.Prettify(s)
8696}
8697
8698// GoString returns the string representation
8699func (s RelationalDatabaseDataSourceConfig) GoString() string {
8700	return s.String()
8701}
8702
8703// SetRdsHttpEndpointConfig sets the RdsHttpEndpointConfig field's value.
8704func (s *RelationalDatabaseDataSourceConfig) SetRdsHttpEndpointConfig(v *RdsHttpEndpointConfig) *RelationalDatabaseDataSourceConfig {
8705	s.RdsHttpEndpointConfig = v
8706	return s
8707}
8708
8709// SetRelationalDatabaseSourceType sets the RelationalDatabaseSourceType field's value.
8710func (s *RelationalDatabaseDataSourceConfig) SetRelationalDatabaseSourceType(v string) *RelationalDatabaseDataSourceConfig {
8711	s.RelationalDatabaseSourceType = &v
8712	return s
8713}
8714
8715// Describes a resolver.
8716type Resolver struct {
8717	_ struct{} `type:"structure"`
8718
8719	// The caching configuration for the resolver.
8720	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
8721
8722	// The resolver data source name.
8723	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
8724
8725	// The resolver field name.
8726	FieldName *string `locationName:"fieldName" min:"1" type:"string"`
8727
8728	// The resolver type.
8729	//
8730	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
8731	//    type. A UNIT resolver enables you to execute a GraphQL query against a
8732	//    single data source.
8733	//
8734	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
8735	//    to execute a series of Function in a serial manner. You can use a pipeline
8736	//    resolver to execute a GraphQL query against multiple data sources.
8737	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
8738
8739	// The PipelineConfig.
8740	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
8741
8742	// The request mapping template.
8743	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
8744
8745	// The resolver ARN.
8746	ResolverArn *string `locationName:"resolverArn" type:"string"`
8747
8748	// The response mapping template.
8749	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
8750
8751	// The SyncConfig for a resolver attached to a versioned datasource.
8752	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
8753
8754	// The resolver type name.
8755	TypeName *string `locationName:"typeName" min:"1" type:"string"`
8756}
8757
8758// String returns the string representation
8759func (s Resolver) String() string {
8760	return awsutil.Prettify(s)
8761}
8762
8763// GoString returns the string representation
8764func (s Resolver) GoString() string {
8765	return s.String()
8766}
8767
8768// SetCachingConfig sets the CachingConfig field's value.
8769func (s *Resolver) SetCachingConfig(v *CachingConfig) *Resolver {
8770	s.CachingConfig = v
8771	return s
8772}
8773
8774// SetDataSourceName sets the DataSourceName field's value.
8775func (s *Resolver) SetDataSourceName(v string) *Resolver {
8776	s.DataSourceName = &v
8777	return s
8778}
8779
8780// SetFieldName sets the FieldName field's value.
8781func (s *Resolver) SetFieldName(v string) *Resolver {
8782	s.FieldName = &v
8783	return s
8784}
8785
8786// SetKind sets the Kind field's value.
8787func (s *Resolver) SetKind(v string) *Resolver {
8788	s.Kind = &v
8789	return s
8790}
8791
8792// SetPipelineConfig sets the PipelineConfig field's value.
8793func (s *Resolver) SetPipelineConfig(v *PipelineConfig) *Resolver {
8794	s.PipelineConfig = v
8795	return s
8796}
8797
8798// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
8799func (s *Resolver) SetRequestMappingTemplate(v string) *Resolver {
8800	s.RequestMappingTemplate = &v
8801	return s
8802}
8803
8804// SetResolverArn sets the ResolverArn field's value.
8805func (s *Resolver) SetResolverArn(v string) *Resolver {
8806	s.ResolverArn = &v
8807	return s
8808}
8809
8810// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
8811func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver {
8812	s.ResponseMappingTemplate = &v
8813	return s
8814}
8815
8816// SetSyncConfig sets the SyncConfig field's value.
8817func (s *Resolver) SetSyncConfig(v *SyncConfig) *Resolver {
8818	s.SyncConfig = v
8819	return s
8820}
8821
8822// SetTypeName sets the TypeName field's value.
8823func (s *Resolver) SetTypeName(v string) *Resolver {
8824	s.TypeName = &v
8825	return s
8826}
8827
8828type StartSchemaCreationInput struct {
8829	_ struct{} `type:"structure"`
8830
8831	// The API ID.
8832	//
8833	// ApiId is a required field
8834	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8835
8836	// The schema definition, in GraphQL schema language format.
8837	//
8838	// Definition is automatically base64 encoded/decoded by the SDK.
8839	//
8840	// Definition is a required field
8841	Definition []byte `locationName:"definition" type:"blob" required:"true"`
8842}
8843
8844// String returns the string representation
8845func (s StartSchemaCreationInput) String() string {
8846	return awsutil.Prettify(s)
8847}
8848
8849// GoString returns the string representation
8850func (s StartSchemaCreationInput) GoString() string {
8851	return s.String()
8852}
8853
8854// Validate inspects the fields of the type to determine if they are valid.
8855func (s *StartSchemaCreationInput) Validate() error {
8856	invalidParams := request.ErrInvalidParams{Context: "StartSchemaCreationInput"}
8857	if s.ApiId == nil {
8858		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8859	}
8860	if s.ApiId != nil && len(*s.ApiId) < 1 {
8861		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8862	}
8863	if s.Definition == nil {
8864		invalidParams.Add(request.NewErrParamRequired("Definition"))
8865	}
8866
8867	if invalidParams.Len() > 0 {
8868		return invalidParams
8869	}
8870	return nil
8871}
8872
8873// SetApiId sets the ApiId field's value.
8874func (s *StartSchemaCreationInput) SetApiId(v string) *StartSchemaCreationInput {
8875	s.ApiId = &v
8876	return s
8877}
8878
8879// SetDefinition sets the Definition field's value.
8880func (s *StartSchemaCreationInput) SetDefinition(v []byte) *StartSchemaCreationInput {
8881	s.Definition = v
8882	return s
8883}
8884
8885type StartSchemaCreationOutput struct {
8886	_ struct{} `type:"structure"`
8887
8888	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
8889	// When the schema is in the ACTIVE state, you can add data.
8890	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
8891}
8892
8893// String returns the string representation
8894func (s StartSchemaCreationOutput) String() string {
8895	return awsutil.Prettify(s)
8896}
8897
8898// GoString returns the string representation
8899func (s StartSchemaCreationOutput) GoString() string {
8900	return s.String()
8901}
8902
8903// SetStatus sets the Status field's value.
8904func (s *StartSchemaCreationOutput) SetStatus(v string) *StartSchemaCreationOutput {
8905	s.Status = &v
8906	return s
8907}
8908
8909// Describes a Sync configuration for a resolver.
8910//
8911// Contains information on which Conflict Detection as well as Resolution strategy
8912// should be performed when the resolver is invoked.
8913type SyncConfig struct {
8914	_ struct{} `type:"structure"`
8915
8916	// The Conflict Detection strategy to use.
8917	//
8918	//    * VERSION: Detect conflicts based on object versions for this resolver.
8919	//
8920	//    * NONE: Do not detect conflicts when executing this resolver.
8921	ConflictDetection *string `locationName:"conflictDetection" type:"string" enum:"ConflictDetectionType"`
8922
8923	// The Conflict Resolution strategy to perform in the event of a conflict.
8924	//
8925	//    * OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when
8926	//    versions do not match the latest version at the server.
8927	//
8928	//    * AUTOMERGE: Resolve conflicts with the Automerge conflict resolution
8929	//    strategy.
8930	//
8931	//    * LAMBDA: Resolve conflicts with a Lambda function supplied in the LambdaConflictHandlerConfig.
8932	ConflictHandler *string `locationName:"conflictHandler" type:"string" enum:"ConflictHandlerType"`
8933
8934	// The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.
8935	LambdaConflictHandlerConfig *LambdaConflictHandlerConfig `locationName:"lambdaConflictHandlerConfig" type:"structure"`
8936}
8937
8938// String returns the string representation
8939func (s SyncConfig) String() string {
8940	return awsutil.Prettify(s)
8941}
8942
8943// GoString returns the string representation
8944func (s SyncConfig) GoString() string {
8945	return s.String()
8946}
8947
8948// SetConflictDetection sets the ConflictDetection field's value.
8949func (s *SyncConfig) SetConflictDetection(v string) *SyncConfig {
8950	s.ConflictDetection = &v
8951	return s
8952}
8953
8954// SetConflictHandler sets the ConflictHandler field's value.
8955func (s *SyncConfig) SetConflictHandler(v string) *SyncConfig {
8956	s.ConflictHandler = &v
8957	return s
8958}
8959
8960// SetLambdaConflictHandlerConfig sets the LambdaConflictHandlerConfig field's value.
8961func (s *SyncConfig) SetLambdaConflictHandlerConfig(v *LambdaConflictHandlerConfig) *SyncConfig {
8962	s.LambdaConflictHandlerConfig = v
8963	return s
8964}
8965
8966type TagResourceInput struct {
8967	_ struct{} `type:"structure"`
8968
8969	// The GraphqlApi ARN.
8970	//
8971	// ResourceArn is a required field
8972	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
8973
8974	// A TagMap object.
8975	//
8976	// Tags is a required field
8977	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
8978}
8979
8980// String returns the string representation
8981func (s TagResourceInput) String() string {
8982	return awsutil.Prettify(s)
8983}
8984
8985// GoString returns the string representation
8986func (s TagResourceInput) GoString() string {
8987	return s.String()
8988}
8989
8990// Validate inspects the fields of the type to determine if they are valid.
8991func (s *TagResourceInput) Validate() error {
8992	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
8993	if s.ResourceArn == nil {
8994		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8995	}
8996	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
8997		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
8998	}
8999	if s.Tags == nil {
9000		invalidParams.Add(request.NewErrParamRequired("Tags"))
9001	}
9002	if s.Tags != nil && len(s.Tags) < 1 {
9003		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9004	}
9005
9006	if invalidParams.Len() > 0 {
9007		return invalidParams
9008	}
9009	return nil
9010}
9011
9012// SetResourceArn sets the ResourceArn field's value.
9013func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9014	s.ResourceArn = &v
9015	return s
9016}
9017
9018// SetTags sets the Tags field's value.
9019func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
9020	s.Tags = v
9021	return s
9022}
9023
9024type TagResourceOutput struct {
9025	_ struct{} `type:"structure"`
9026}
9027
9028// String returns the string representation
9029func (s TagResourceOutput) String() string {
9030	return awsutil.Prettify(s)
9031}
9032
9033// GoString returns the string representation
9034func (s TagResourceOutput) GoString() string {
9035	return s.String()
9036}
9037
9038// Describes a type.
9039type Type struct {
9040	_ struct{} `type:"structure"`
9041
9042	// The type ARN.
9043	Arn *string `locationName:"arn" type:"string"`
9044
9045	// The type definition.
9046	Definition *string `locationName:"definition" type:"string"`
9047
9048	// The type description.
9049	Description *string `locationName:"description" type:"string"`
9050
9051	// The type format: SDL or JSON.
9052	Format *string `locationName:"format" type:"string" enum:"TypeDefinitionFormat"`
9053
9054	// The type name.
9055	Name *string `locationName:"name" min:"1" type:"string"`
9056}
9057
9058// String returns the string representation
9059func (s Type) String() string {
9060	return awsutil.Prettify(s)
9061}
9062
9063// GoString returns the string representation
9064func (s Type) GoString() string {
9065	return s.String()
9066}
9067
9068// SetArn sets the Arn field's value.
9069func (s *Type) SetArn(v string) *Type {
9070	s.Arn = &v
9071	return s
9072}
9073
9074// SetDefinition sets the Definition field's value.
9075func (s *Type) SetDefinition(v string) *Type {
9076	s.Definition = &v
9077	return s
9078}
9079
9080// SetDescription sets the Description field's value.
9081func (s *Type) SetDescription(v string) *Type {
9082	s.Description = &v
9083	return s
9084}
9085
9086// SetFormat sets the Format field's value.
9087func (s *Type) SetFormat(v string) *Type {
9088	s.Format = &v
9089	return s
9090}
9091
9092// SetName sets the Name field's value.
9093func (s *Type) SetName(v string) *Type {
9094	s.Name = &v
9095	return s
9096}
9097
9098// You are not authorized to perform this operation.
9099type UnauthorizedException struct {
9100	_            struct{}                  `type:"structure"`
9101	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9102
9103	Message_ *string `locationName:"message" type:"string"`
9104}
9105
9106// String returns the string representation
9107func (s UnauthorizedException) String() string {
9108	return awsutil.Prettify(s)
9109}
9110
9111// GoString returns the string representation
9112func (s UnauthorizedException) GoString() string {
9113	return s.String()
9114}
9115
9116func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
9117	return &UnauthorizedException{
9118		RespMetadata: v,
9119	}
9120}
9121
9122// Code returns the exception type name.
9123func (s *UnauthorizedException) Code() string {
9124	return "UnauthorizedException"
9125}
9126
9127// Message returns the exception's message.
9128func (s *UnauthorizedException) Message() string {
9129	if s.Message_ != nil {
9130		return *s.Message_
9131	}
9132	return ""
9133}
9134
9135// OrigErr always returns nil, satisfies awserr.Error interface.
9136func (s *UnauthorizedException) OrigErr() error {
9137	return nil
9138}
9139
9140func (s *UnauthorizedException) Error() string {
9141	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9142}
9143
9144// Status code returns the HTTP status code for the request's response error.
9145func (s *UnauthorizedException) StatusCode() int {
9146	return s.RespMetadata.StatusCode
9147}
9148
9149// RequestID returns the service's response RequestID for request.
9150func (s *UnauthorizedException) RequestID() string {
9151	return s.RespMetadata.RequestID
9152}
9153
9154type UntagResourceInput struct {
9155	_ struct{} `type:"structure"`
9156
9157	// The GraphqlApi ARN.
9158	//
9159	// ResourceArn is a required field
9160	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
9161
9162	// A list of TagKey objects.
9163	//
9164	// TagKeys is a required field
9165	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
9166}
9167
9168// String returns the string representation
9169func (s UntagResourceInput) String() string {
9170	return awsutil.Prettify(s)
9171}
9172
9173// GoString returns the string representation
9174func (s UntagResourceInput) GoString() string {
9175	return s.String()
9176}
9177
9178// Validate inspects the fields of the type to determine if they are valid.
9179func (s *UntagResourceInput) Validate() error {
9180	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
9181	if s.ResourceArn == nil {
9182		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9183	}
9184	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
9185		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
9186	}
9187	if s.TagKeys == nil {
9188		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9189	}
9190	if s.TagKeys != nil && len(s.TagKeys) < 1 {
9191		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
9192	}
9193
9194	if invalidParams.Len() > 0 {
9195		return invalidParams
9196	}
9197	return nil
9198}
9199
9200// SetResourceArn sets the ResourceArn field's value.
9201func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
9202	s.ResourceArn = &v
9203	return s
9204}
9205
9206// SetTagKeys sets the TagKeys field's value.
9207func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
9208	s.TagKeys = v
9209	return s
9210}
9211
9212type UntagResourceOutput struct {
9213	_ struct{} `type:"structure"`
9214}
9215
9216// String returns the string representation
9217func (s UntagResourceOutput) String() string {
9218	return awsutil.Prettify(s)
9219}
9220
9221// GoString returns the string representation
9222func (s UntagResourceOutput) GoString() string {
9223	return s.String()
9224}
9225
9226// Represents the input of a UpdateApiCache operation.
9227type UpdateApiCacheInput struct {
9228	_ struct{} `type:"structure"`
9229
9230	// Caching behavior.
9231	//
9232	//    * FULL_REQUEST_CACHING: All requests are fully cached.
9233	//
9234	//    * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.
9235	//
9236	// ApiCachingBehavior is a required field
9237	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
9238
9239	// The GraphQL API Id.
9240	//
9241	// ApiId is a required field
9242	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9243
9244	// TTL in seconds for cache entries.
9245	//
9246	// Valid values are between 1 and 3600 seconds.
9247	//
9248	// Ttl is a required field
9249	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
9250
9251	// The cache instance type. Valid values are
9252	//
9253	//    * SMALL
9254	//
9255	//    * MEDIUM
9256	//
9257	//    * LARGE
9258	//
9259	//    * XLARGE
9260	//
9261	//    * LARGE_2X
9262	//
9263	//    * LARGE_4X
9264	//
9265	//    * LARGE_8X (not available in all regions)
9266	//
9267	//    * LARGE_12X
9268	//
9269	// Historically, instance types were identified by an EC2-style value. As of
9270	// July 2020, this is deprecated, and the generic identifiers above should be
9271	// used.
9272	//
9273	// The following legacy instance types are avaible, but their use is discouraged:
9274	//
9275	//    * T2_SMALL: A t2.small instance type.
9276	//
9277	//    * T2_MEDIUM: A t2.medium instance type.
9278	//
9279	//    * R4_LARGE: A r4.large instance type.
9280	//
9281	//    * R4_XLARGE: A r4.xlarge instance type.
9282	//
9283	//    * R4_2XLARGE: A r4.2xlarge instance type.
9284	//
9285	//    * R4_4XLARGE: A r4.4xlarge instance type.
9286	//
9287	//    * R4_8XLARGE: A r4.8xlarge instance type.
9288	//
9289	// Type is a required field
9290	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
9291}
9292
9293// String returns the string representation
9294func (s UpdateApiCacheInput) String() string {
9295	return awsutil.Prettify(s)
9296}
9297
9298// GoString returns the string representation
9299func (s UpdateApiCacheInput) GoString() string {
9300	return s.String()
9301}
9302
9303// Validate inspects the fields of the type to determine if they are valid.
9304func (s *UpdateApiCacheInput) Validate() error {
9305	invalidParams := request.ErrInvalidParams{Context: "UpdateApiCacheInput"}
9306	if s.ApiCachingBehavior == nil {
9307		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
9308	}
9309	if s.ApiId == nil {
9310		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9311	}
9312	if s.ApiId != nil && len(*s.ApiId) < 1 {
9313		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9314	}
9315	if s.Ttl == nil {
9316		invalidParams.Add(request.NewErrParamRequired("Ttl"))
9317	}
9318	if s.Type == nil {
9319		invalidParams.Add(request.NewErrParamRequired("Type"))
9320	}
9321
9322	if invalidParams.Len() > 0 {
9323		return invalidParams
9324	}
9325	return nil
9326}
9327
9328// SetApiCachingBehavior sets the ApiCachingBehavior field's value.
9329func (s *UpdateApiCacheInput) SetApiCachingBehavior(v string) *UpdateApiCacheInput {
9330	s.ApiCachingBehavior = &v
9331	return s
9332}
9333
9334// SetApiId sets the ApiId field's value.
9335func (s *UpdateApiCacheInput) SetApiId(v string) *UpdateApiCacheInput {
9336	s.ApiId = &v
9337	return s
9338}
9339
9340// SetTtl sets the Ttl field's value.
9341func (s *UpdateApiCacheInput) SetTtl(v int64) *UpdateApiCacheInput {
9342	s.Ttl = &v
9343	return s
9344}
9345
9346// SetType sets the Type field's value.
9347func (s *UpdateApiCacheInput) SetType(v string) *UpdateApiCacheInput {
9348	s.Type = &v
9349	return s
9350}
9351
9352// Represents the output of a UpdateApiCache operation.
9353type UpdateApiCacheOutput struct {
9354	_ struct{} `type:"structure"`
9355
9356	// The ApiCache object.
9357	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
9358}
9359
9360// String returns the string representation
9361func (s UpdateApiCacheOutput) String() string {
9362	return awsutil.Prettify(s)
9363}
9364
9365// GoString returns the string representation
9366func (s UpdateApiCacheOutput) GoString() string {
9367	return s.String()
9368}
9369
9370// SetApiCache sets the ApiCache field's value.
9371func (s *UpdateApiCacheOutput) SetApiCache(v *ApiCache) *UpdateApiCacheOutput {
9372	s.ApiCache = v
9373	return s
9374}
9375
9376type UpdateApiKeyInput struct {
9377	_ struct{} `type:"structure"`
9378
9379	// The ID for the GraphQL API.
9380	//
9381	// ApiId is a required field
9382	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9383
9384	// A description of the purpose of the API key.
9385	Description *string `locationName:"description" type:"string"`
9386
9387	// The time from update time after which the API key expires. The date is represented
9388	// as seconds since the epoch. For more information, see .
9389	Expires *int64 `locationName:"expires" type:"long"`
9390
9391	// The API key ID.
9392	//
9393	// Id is a required field
9394	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
9395}
9396
9397// String returns the string representation
9398func (s UpdateApiKeyInput) String() string {
9399	return awsutil.Prettify(s)
9400}
9401
9402// GoString returns the string representation
9403func (s UpdateApiKeyInput) GoString() string {
9404	return s.String()
9405}
9406
9407// Validate inspects the fields of the type to determine if they are valid.
9408func (s *UpdateApiKeyInput) Validate() error {
9409	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
9410	if s.ApiId == nil {
9411		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9412	}
9413	if s.ApiId != nil && len(*s.ApiId) < 1 {
9414		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9415	}
9416	if s.Id == nil {
9417		invalidParams.Add(request.NewErrParamRequired("Id"))
9418	}
9419	if s.Id != nil && len(*s.Id) < 1 {
9420		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9421	}
9422
9423	if invalidParams.Len() > 0 {
9424		return invalidParams
9425	}
9426	return nil
9427}
9428
9429// SetApiId sets the ApiId field's value.
9430func (s *UpdateApiKeyInput) SetApiId(v string) *UpdateApiKeyInput {
9431	s.ApiId = &v
9432	return s
9433}
9434
9435// SetDescription sets the Description field's value.
9436func (s *UpdateApiKeyInput) SetDescription(v string) *UpdateApiKeyInput {
9437	s.Description = &v
9438	return s
9439}
9440
9441// SetExpires sets the Expires field's value.
9442func (s *UpdateApiKeyInput) SetExpires(v int64) *UpdateApiKeyInput {
9443	s.Expires = &v
9444	return s
9445}
9446
9447// SetId sets the Id field's value.
9448func (s *UpdateApiKeyInput) SetId(v string) *UpdateApiKeyInput {
9449	s.Id = &v
9450	return s
9451}
9452
9453type UpdateApiKeyOutput struct {
9454	_ struct{} `type:"structure"`
9455
9456	// The API key.
9457	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
9458}
9459
9460// String returns the string representation
9461func (s UpdateApiKeyOutput) String() string {
9462	return awsutil.Prettify(s)
9463}
9464
9465// GoString returns the string representation
9466func (s UpdateApiKeyOutput) GoString() string {
9467	return s.String()
9468}
9469
9470// SetApiKey sets the ApiKey field's value.
9471func (s *UpdateApiKeyOutput) SetApiKey(v *ApiKey) *UpdateApiKeyOutput {
9472	s.ApiKey = v
9473	return s
9474}
9475
9476type UpdateDataSourceInput struct {
9477	_ struct{} `type:"structure"`
9478
9479	// The API ID.
9480	//
9481	// ApiId is a required field
9482	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9483
9484	// The new description for the data source.
9485	Description *string `locationName:"description" type:"string"`
9486
9487	// The new Amazon DynamoDB configuration.
9488	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
9489
9490	// The new Elasticsearch Service configuration.
9491	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
9492
9493	// The new HTTP endpoint configuration.
9494	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
9495
9496	// The new AWS Lambda configuration.
9497	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
9498
9499	// The new name for the data source.
9500	//
9501	// Name is a required field
9502	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
9503
9504	// The new relational database configuration.
9505	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
9506
9507	// The new service role ARN for the data source.
9508	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
9509
9510	// The new data source type.
9511	//
9512	// Type is a required field
9513	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
9514}
9515
9516// String returns the string representation
9517func (s UpdateDataSourceInput) String() string {
9518	return awsutil.Prettify(s)
9519}
9520
9521// GoString returns the string representation
9522func (s UpdateDataSourceInput) GoString() string {
9523	return s.String()
9524}
9525
9526// Validate inspects the fields of the type to determine if they are valid.
9527func (s *UpdateDataSourceInput) Validate() error {
9528	invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"}
9529	if s.ApiId == nil {
9530		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9531	}
9532	if s.ApiId != nil && len(*s.ApiId) < 1 {
9533		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9534	}
9535	if s.Name == nil {
9536		invalidParams.Add(request.NewErrParamRequired("Name"))
9537	}
9538	if s.Name != nil && len(*s.Name) < 1 {
9539		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9540	}
9541	if s.Type == nil {
9542		invalidParams.Add(request.NewErrParamRequired("Type"))
9543	}
9544	if s.DynamodbConfig != nil {
9545		if err := s.DynamodbConfig.Validate(); err != nil {
9546			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
9547		}
9548	}
9549	if s.ElasticsearchConfig != nil {
9550		if err := s.ElasticsearchConfig.Validate(); err != nil {
9551			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
9552		}
9553	}
9554	if s.HttpConfig != nil {
9555		if err := s.HttpConfig.Validate(); err != nil {
9556			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
9557		}
9558	}
9559	if s.LambdaConfig != nil {
9560		if err := s.LambdaConfig.Validate(); err != nil {
9561			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
9562		}
9563	}
9564
9565	if invalidParams.Len() > 0 {
9566		return invalidParams
9567	}
9568	return nil
9569}
9570
9571// SetApiId sets the ApiId field's value.
9572func (s *UpdateDataSourceInput) SetApiId(v string) *UpdateDataSourceInput {
9573	s.ApiId = &v
9574	return s
9575}
9576
9577// SetDescription sets the Description field's value.
9578func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput {
9579	s.Description = &v
9580	return s
9581}
9582
9583// SetDynamodbConfig sets the DynamodbConfig field's value.
9584func (s *UpdateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *UpdateDataSourceInput {
9585	s.DynamodbConfig = v
9586	return s
9587}
9588
9589// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
9590func (s *UpdateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *UpdateDataSourceInput {
9591	s.ElasticsearchConfig = v
9592	return s
9593}
9594
9595// SetHttpConfig sets the HttpConfig field's value.
9596func (s *UpdateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *UpdateDataSourceInput {
9597	s.HttpConfig = v
9598	return s
9599}
9600
9601// SetLambdaConfig sets the LambdaConfig field's value.
9602func (s *UpdateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *UpdateDataSourceInput {
9603	s.LambdaConfig = v
9604	return s
9605}
9606
9607// SetName sets the Name field's value.
9608func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput {
9609	s.Name = &v
9610	return s
9611}
9612
9613// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
9614func (s *UpdateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *UpdateDataSourceInput {
9615	s.RelationalDatabaseConfig = v
9616	return s
9617}
9618
9619// SetServiceRoleArn sets the ServiceRoleArn field's value.
9620func (s *UpdateDataSourceInput) SetServiceRoleArn(v string) *UpdateDataSourceInput {
9621	s.ServiceRoleArn = &v
9622	return s
9623}
9624
9625// SetType sets the Type field's value.
9626func (s *UpdateDataSourceInput) SetType(v string) *UpdateDataSourceInput {
9627	s.Type = &v
9628	return s
9629}
9630
9631type UpdateDataSourceOutput struct {
9632	_ struct{} `type:"structure"`
9633
9634	// The updated DataSource object.
9635	DataSource *DataSource `locationName:"dataSource" type:"structure"`
9636}
9637
9638// String returns the string representation
9639func (s UpdateDataSourceOutput) String() string {
9640	return awsutil.Prettify(s)
9641}
9642
9643// GoString returns the string representation
9644func (s UpdateDataSourceOutput) GoString() string {
9645	return s.String()
9646}
9647
9648// SetDataSource sets the DataSource field's value.
9649func (s *UpdateDataSourceOutput) SetDataSource(v *DataSource) *UpdateDataSourceOutput {
9650	s.DataSource = v
9651	return s
9652}
9653
9654type UpdateFunctionInput struct {
9655	_ struct{} `type:"structure"`
9656
9657	// The GraphQL API ID.
9658	//
9659	// ApiId is a required field
9660	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9661
9662	// The Function DataSource name.
9663	//
9664	// DataSourceName is a required field
9665	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
9666
9667	// The Function description.
9668	Description *string `locationName:"description" type:"string"`
9669
9670	// The function ID.
9671	//
9672	// FunctionId is a required field
9673	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
9674
9675	// The version of the request mapping template. Currently the supported value
9676	// is 2018-05-29.
9677	//
9678	// FunctionVersion is a required field
9679	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
9680
9681	// The Function name.
9682	//
9683	// Name is a required field
9684	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9685
9686	// The Function request mapping template. Functions support only the 2018-05-29
9687	// version of the request mapping template.
9688	//
9689	// RequestMappingTemplate is a required field
9690	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
9691
9692	// The Function request mapping template.
9693	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
9694}
9695
9696// String returns the string representation
9697func (s UpdateFunctionInput) String() string {
9698	return awsutil.Prettify(s)
9699}
9700
9701// GoString returns the string representation
9702func (s UpdateFunctionInput) GoString() string {
9703	return s.String()
9704}
9705
9706// Validate inspects the fields of the type to determine if they are valid.
9707func (s *UpdateFunctionInput) Validate() error {
9708	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"}
9709	if s.ApiId == nil {
9710		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9711	}
9712	if s.ApiId != nil && len(*s.ApiId) < 1 {
9713		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9714	}
9715	if s.DataSourceName == nil {
9716		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
9717	}
9718	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
9719		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
9720	}
9721	if s.FunctionId == nil {
9722		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
9723	}
9724	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
9725		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
9726	}
9727	if s.FunctionVersion == nil {
9728		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
9729	}
9730	if s.Name == nil {
9731		invalidParams.Add(request.NewErrParamRequired("Name"))
9732	}
9733	if s.Name != nil && len(*s.Name) < 1 {
9734		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9735	}
9736	if s.RequestMappingTemplate == nil {
9737		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
9738	}
9739	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
9740		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
9741	}
9742	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
9743		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
9744	}
9745
9746	if invalidParams.Len() > 0 {
9747		return invalidParams
9748	}
9749	return nil
9750}
9751
9752// SetApiId sets the ApiId field's value.
9753func (s *UpdateFunctionInput) SetApiId(v string) *UpdateFunctionInput {
9754	s.ApiId = &v
9755	return s
9756}
9757
9758// SetDataSourceName sets the DataSourceName field's value.
9759func (s *UpdateFunctionInput) SetDataSourceName(v string) *UpdateFunctionInput {
9760	s.DataSourceName = &v
9761	return s
9762}
9763
9764// SetDescription sets the Description field's value.
9765func (s *UpdateFunctionInput) SetDescription(v string) *UpdateFunctionInput {
9766	s.Description = &v
9767	return s
9768}
9769
9770// SetFunctionId sets the FunctionId field's value.
9771func (s *UpdateFunctionInput) SetFunctionId(v string) *UpdateFunctionInput {
9772	s.FunctionId = &v
9773	return s
9774}
9775
9776// SetFunctionVersion sets the FunctionVersion field's value.
9777func (s *UpdateFunctionInput) SetFunctionVersion(v string) *UpdateFunctionInput {
9778	s.FunctionVersion = &v
9779	return s
9780}
9781
9782// SetName sets the Name field's value.
9783func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput {
9784	s.Name = &v
9785	return s
9786}
9787
9788// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
9789func (s *UpdateFunctionInput) SetRequestMappingTemplate(v string) *UpdateFunctionInput {
9790	s.RequestMappingTemplate = &v
9791	return s
9792}
9793
9794// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
9795func (s *UpdateFunctionInput) SetResponseMappingTemplate(v string) *UpdateFunctionInput {
9796	s.ResponseMappingTemplate = &v
9797	return s
9798}
9799
9800type UpdateFunctionOutput struct {
9801	_ struct{} `type:"structure"`
9802
9803	// The Function object.
9804	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
9805}
9806
9807// String returns the string representation
9808func (s UpdateFunctionOutput) String() string {
9809	return awsutil.Prettify(s)
9810}
9811
9812// GoString returns the string representation
9813func (s UpdateFunctionOutput) GoString() string {
9814	return s.String()
9815}
9816
9817// SetFunctionConfiguration sets the FunctionConfiguration field's value.
9818func (s *UpdateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *UpdateFunctionOutput {
9819	s.FunctionConfiguration = v
9820	return s
9821}
9822
9823type UpdateGraphqlApiInput struct {
9824	_ struct{} `type:"structure"`
9825
9826	// A list of additional authentication providers for the GraphqlApi API.
9827	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
9828
9829	// The API ID.
9830	//
9831	// ApiId is a required field
9832	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9833
9834	// The new authentication type for the GraphqlApi object.
9835	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
9836
9837	// The Amazon CloudWatch Logs configuration for the GraphqlApi object.
9838	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
9839
9840	// The new name for the GraphqlApi object.
9841	//
9842	// Name is a required field
9843	Name *string `locationName:"name" type:"string" required:"true"`
9844
9845	// The OpenID Connect configuration for the GraphqlApi object.
9846	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
9847
9848	// The new Amazon Cognito user pool configuration for the GraphqlApi object.
9849	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
9850
9851	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
9852	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
9853}
9854
9855// String returns the string representation
9856func (s UpdateGraphqlApiInput) String() string {
9857	return awsutil.Prettify(s)
9858}
9859
9860// GoString returns the string representation
9861func (s UpdateGraphqlApiInput) GoString() string {
9862	return s.String()
9863}
9864
9865// Validate inspects the fields of the type to determine if they are valid.
9866func (s *UpdateGraphqlApiInput) Validate() error {
9867	invalidParams := request.ErrInvalidParams{Context: "UpdateGraphqlApiInput"}
9868	if s.ApiId == nil {
9869		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9870	}
9871	if s.ApiId != nil && len(*s.ApiId) < 1 {
9872		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9873	}
9874	if s.Name == nil {
9875		invalidParams.Add(request.NewErrParamRequired("Name"))
9876	}
9877	if s.AdditionalAuthenticationProviders != nil {
9878		for i, v := range s.AdditionalAuthenticationProviders {
9879			if v == nil {
9880				continue
9881			}
9882			if err := v.Validate(); err != nil {
9883				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
9884			}
9885		}
9886	}
9887	if s.LogConfig != nil {
9888		if err := s.LogConfig.Validate(); err != nil {
9889			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
9890		}
9891	}
9892	if s.OpenIDConnectConfig != nil {
9893		if err := s.OpenIDConnectConfig.Validate(); err != nil {
9894			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
9895		}
9896	}
9897	if s.UserPoolConfig != nil {
9898		if err := s.UserPoolConfig.Validate(); err != nil {
9899			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
9900		}
9901	}
9902
9903	if invalidParams.Len() > 0 {
9904		return invalidParams
9905	}
9906	return nil
9907}
9908
9909// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
9910func (s *UpdateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *UpdateGraphqlApiInput {
9911	s.AdditionalAuthenticationProviders = v
9912	return s
9913}
9914
9915// SetApiId sets the ApiId field's value.
9916func (s *UpdateGraphqlApiInput) SetApiId(v string) *UpdateGraphqlApiInput {
9917	s.ApiId = &v
9918	return s
9919}
9920
9921// SetAuthenticationType sets the AuthenticationType field's value.
9922func (s *UpdateGraphqlApiInput) SetAuthenticationType(v string) *UpdateGraphqlApiInput {
9923	s.AuthenticationType = &v
9924	return s
9925}
9926
9927// SetLogConfig sets the LogConfig field's value.
9928func (s *UpdateGraphqlApiInput) SetLogConfig(v *LogConfig) *UpdateGraphqlApiInput {
9929	s.LogConfig = v
9930	return s
9931}
9932
9933// SetName sets the Name field's value.
9934func (s *UpdateGraphqlApiInput) SetName(v string) *UpdateGraphqlApiInput {
9935	s.Name = &v
9936	return s
9937}
9938
9939// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
9940func (s *UpdateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *UpdateGraphqlApiInput {
9941	s.OpenIDConnectConfig = v
9942	return s
9943}
9944
9945// SetUserPoolConfig sets the UserPoolConfig field's value.
9946func (s *UpdateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *UpdateGraphqlApiInput {
9947	s.UserPoolConfig = v
9948	return s
9949}
9950
9951// SetXrayEnabled sets the XrayEnabled field's value.
9952func (s *UpdateGraphqlApiInput) SetXrayEnabled(v bool) *UpdateGraphqlApiInput {
9953	s.XrayEnabled = &v
9954	return s
9955}
9956
9957type UpdateGraphqlApiOutput struct {
9958	_ struct{} `type:"structure"`
9959
9960	// The updated GraphqlApi object.
9961	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
9962}
9963
9964// String returns the string representation
9965func (s UpdateGraphqlApiOutput) String() string {
9966	return awsutil.Prettify(s)
9967}
9968
9969// GoString returns the string representation
9970func (s UpdateGraphqlApiOutput) GoString() string {
9971	return s.String()
9972}
9973
9974// SetGraphqlApi sets the GraphqlApi field's value.
9975func (s *UpdateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *UpdateGraphqlApiOutput {
9976	s.GraphqlApi = v
9977	return s
9978}
9979
9980type UpdateResolverInput struct {
9981	_ struct{} `type:"structure"`
9982
9983	// The API ID.
9984	//
9985	// ApiId is a required field
9986	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9987
9988	// The caching configuration for the resolver.
9989	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
9990
9991	// The new data source name.
9992	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
9993
9994	// The new field name.
9995	//
9996	// FieldName is a required field
9997	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
9998
9999	// The resolver type.
10000	//
10001	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
10002	//    type. A UNIT resolver enables you to execute a GraphQL query against a
10003	//    single data source.
10004	//
10005	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
10006	//    to execute a series of Function in a serial manner. You can use a pipeline
10007	//    resolver to execute a GraphQL query against multiple data sources.
10008	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
10009
10010	// The PipelineConfig.
10011	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
10012
10013	// The new request mapping template.
10014	//
10015	// RequestMappingTemplate is a required field
10016	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
10017
10018	// The new response mapping template.
10019	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
10020
10021	// The SyncConfig for a resolver attached to a versioned datasource.
10022	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
10023
10024	// The new type name.
10025	//
10026	// TypeName is a required field
10027	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
10028}
10029
10030// String returns the string representation
10031func (s UpdateResolverInput) String() string {
10032	return awsutil.Prettify(s)
10033}
10034
10035// GoString returns the string representation
10036func (s UpdateResolverInput) GoString() string {
10037	return s.String()
10038}
10039
10040// Validate inspects the fields of the type to determine if they are valid.
10041func (s *UpdateResolverInput) Validate() error {
10042	invalidParams := request.ErrInvalidParams{Context: "UpdateResolverInput"}
10043	if s.ApiId == nil {
10044		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10045	}
10046	if s.ApiId != nil && len(*s.ApiId) < 1 {
10047		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10048	}
10049	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
10050		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
10051	}
10052	if s.FieldName == nil {
10053		invalidParams.Add(request.NewErrParamRequired("FieldName"))
10054	}
10055	if s.FieldName != nil && len(*s.FieldName) < 1 {
10056		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
10057	}
10058	if s.RequestMappingTemplate == nil {
10059		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
10060	}
10061	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
10062		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
10063	}
10064	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
10065		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
10066	}
10067	if s.TypeName == nil {
10068		invalidParams.Add(request.NewErrParamRequired("TypeName"))
10069	}
10070	if s.TypeName != nil && len(*s.TypeName) < 1 {
10071		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
10072	}
10073
10074	if invalidParams.Len() > 0 {
10075		return invalidParams
10076	}
10077	return nil
10078}
10079
10080// SetApiId sets the ApiId field's value.
10081func (s *UpdateResolverInput) SetApiId(v string) *UpdateResolverInput {
10082	s.ApiId = &v
10083	return s
10084}
10085
10086// SetCachingConfig sets the CachingConfig field's value.
10087func (s *UpdateResolverInput) SetCachingConfig(v *CachingConfig) *UpdateResolverInput {
10088	s.CachingConfig = v
10089	return s
10090}
10091
10092// SetDataSourceName sets the DataSourceName field's value.
10093func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput {
10094	s.DataSourceName = &v
10095	return s
10096}
10097
10098// SetFieldName sets the FieldName field's value.
10099func (s *UpdateResolverInput) SetFieldName(v string) *UpdateResolverInput {
10100	s.FieldName = &v
10101	return s
10102}
10103
10104// SetKind sets the Kind field's value.
10105func (s *UpdateResolverInput) SetKind(v string) *UpdateResolverInput {
10106	s.Kind = &v
10107	return s
10108}
10109
10110// SetPipelineConfig sets the PipelineConfig field's value.
10111func (s *UpdateResolverInput) SetPipelineConfig(v *PipelineConfig) *UpdateResolverInput {
10112	s.PipelineConfig = v
10113	return s
10114}
10115
10116// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
10117func (s *UpdateResolverInput) SetRequestMappingTemplate(v string) *UpdateResolverInput {
10118	s.RequestMappingTemplate = &v
10119	return s
10120}
10121
10122// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
10123func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolverInput {
10124	s.ResponseMappingTemplate = &v
10125	return s
10126}
10127
10128// SetSyncConfig sets the SyncConfig field's value.
10129func (s *UpdateResolverInput) SetSyncConfig(v *SyncConfig) *UpdateResolverInput {
10130	s.SyncConfig = v
10131	return s
10132}
10133
10134// SetTypeName sets the TypeName field's value.
10135func (s *UpdateResolverInput) SetTypeName(v string) *UpdateResolverInput {
10136	s.TypeName = &v
10137	return s
10138}
10139
10140type UpdateResolverOutput struct {
10141	_ struct{} `type:"structure"`
10142
10143	// The updated Resolver object.
10144	Resolver *Resolver `locationName:"resolver" type:"structure"`
10145}
10146
10147// String returns the string representation
10148func (s UpdateResolverOutput) String() string {
10149	return awsutil.Prettify(s)
10150}
10151
10152// GoString returns the string representation
10153func (s UpdateResolverOutput) GoString() string {
10154	return s.String()
10155}
10156
10157// SetResolver sets the Resolver field's value.
10158func (s *UpdateResolverOutput) SetResolver(v *Resolver) *UpdateResolverOutput {
10159	s.Resolver = v
10160	return s
10161}
10162
10163type UpdateTypeInput struct {
10164	_ struct{} `type:"structure"`
10165
10166	// The API ID.
10167	//
10168	// ApiId is a required field
10169	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10170
10171	// The new definition.
10172	Definition *string `locationName:"definition" type:"string"`
10173
10174	// The new type format: SDL or JSON.
10175	//
10176	// Format is a required field
10177	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
10178
10179	// The new type name.
10180	//
10181	// TypeName is a required field
10182	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
10183}
10184
10185// String returns the string representation
10186func (s UpdateTypeInput) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s UpdateTypeInput) GoString() string {
10192	return s.String()
10193}
10194
10195// Validate inspects the fields of the type to determine if they are valid.
10196func (s *UpdateTypeInput) Validate() error {
10197	invalidParams := request.ErrInvalidParams{Context: "UpdateTypeInput"}
10198	if s.ApiId == nil {
10199		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10200	}
10201	if s.ApiId != nil && len(*s.ApiId) < 1 {
10202		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10203	}
10204	if s.Format == nil {
10205		invalidParams.Add(request.NewErrParamRequired("Format"))
10206	}
10207	if s.TypeName == nil {
10208		invalidParams.Add(request.NewErrParamRequired("TypeName"))
10209	}
10210	if s.TypeName != nil && len(*s.TypeName) < 1 {
10211		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
10212	}
10213
10214	if invalidParams.Len() > 0 {
10215		return invalidParams
10216	}
10217	return nil
10218}
10219
10220// SetApiId sets the ApiId field's value.
10221func (s *UpdateTypeInput) SetApiId(v string) *UpdateTypeInput {
10222	s.ApiId = &v
10223	return s
10224}
10225
10226// SetDefinition sets the Definition field's value.
10227func (s *UpdateTypeInput) SetDefinition(v string) *UpdateTypeInput {
10228	s.Definition = &v
10229	return s
10230}
10231
10232// SetFormat sets the Format field's value.
10233func (s *UpdateTypeInput) SetFormat(v string) *UpdateTypeInput {
10234	s.Format = &v
10235	return s
10236}
10237
10238// SetTypeName sets the TypeName field's value.
10239func (s *UpdateTypeInput) SetTypeName(v string) *UpdateTypeInput {
10240	s.TypeName = &v
10241	return s
10242}
10243
10244type UpdateTypeOutput struct {
10245	_ struct{} `type:"structure"`
10246
10247	// The updated Type object.
10248	Type *Type `locationName:"type" type:"structure"`
10249}
10250
10251// String returns the string representation
10252func (s UpdateTypeOutput) String() string {
10253	return awsutil.Prettify(s)
10254}
10255
10256// GoString returns the string representation
10257func (s UpdateTypeOutput) GoString() string {
10258	return s.String()
10259}
10260
10261// SetType sets the Type field's value.
10262func (s *UpdateTypeOutput) SetType(v *Type) *UpdateTypeOutput {
10263	s.Type = v
10264	return s
10265}
10266
10267// Describes an Amazon Cognito user pool configuration.
10268type UserPoolConfig struct {
10269	_ struct{} `type:"structure"`
10270
10271	// A regular expression for validating the incoming Amazon Cognito user pool
10272	// app client ID.
10273	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
10274
10275	// The AWS Region in which the user pool was created.
10276	//
10277	// AwsRegion is a required field
10278	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
10279
10280	// The action that you want your GraphQL API to take when a request that uses
10281	// Amazon Cognito user pool authentication doesn't match the Amazon Cognito
10282	// user pool configuration.
10283	//
10284	// DefaultAction is a required field
10285	DefaultAction *string `locationName:"defaultAction" type:"string" required:"true" enum:"DefaultAction"`
10286
10287	// The user pool ID.
10288	//
10289	// UserPoolId is a required field
10290	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
10291}
10292
10293// String returns the string representation
10294func (s UserPoolConfig) String() string {
10295	return awsutil.Prettify(s)
10296}
10297
10298// GoString returns the string representation
10299func (s UserPoolConfig) GoString() string {
10300	return s.String()
10301}
10302
10303// Validate inspects the fields of the type to determine if they are valid.
10304func (s *UserPoolConfig) Validate() error {
10305	invalidParams := request.ErrInvalidParams{Context: "UserPoolConfig"}
10306	if s.AwsRegion == nil {
10307		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
10308	}
10309	if s.DefaultAction == nil {
10310		invalidParams.Add(request.NewErrParamRequired("DefaultAction"))
10311	}
10312	if s.UserPoolId == nil {
10313		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
10314	}
10315
10316	if invalidParams.Len() > 0 {
10317		return invalidParams
10318	}
10319	return nil
10320}
10321
10322// SetAppIdClientRegex sets the AppIdClientRegex field's value.
10323func (s *UserPoolConfig) SetAppIdClientRegex(v string) *UserPoolConfig {
10324	s.AppIdClientRegex = &v
10325	return s
10326}
10327
10328// SetAwsRegion sets the AwsRegion field's value.
10329func (s *UserPoolConfig) SetAwsRegion(v string) *UserPoolConfig {
10330	s.AwsRegion = &v
10331	return s
10332}
10333
10334// SetDefaultAction sets the DefaultAction field's value.
10335func (s *UserPoolConfig) SetDefaultAction(v string) *UserPoolConfig {
10336	s.DefaultAction = &v
10337	return s
10338}
10339
10340// SetUserPoolId sets the UserPoolId field's value.
10341func (s *UserPoolConfig) SetUserPoolId(v string) *UserPoolConfig {
10342	s.UserPoolId = &v
10343	return s
10344}
10345
10346const (
10347	// ApiCacheStatusAvailable is a ApiCacheStatus enum value
10348	ApiCacheStatusAvailable = "AVAILABLE"
10349
10350	// ApiCacheStatusCreating is a ApiCacheStatus enum value
10351	ApiCacheStatusCreating = "CREATING"
10352
10353	// ApiCacheStatusDeleting is a ApiCacheStatus enum value
10354	ApiCacheStatusDeleting = "DELETING"
10355
10356	// ApiCacheStatusModifying is a ApiCacheStatus enum value
10357	ApiCacheStatusModifying = "MODIFYING"
10358
10359	// ApiCacheStatusFailed is a ApiCacheStatus enum value
10360	ApiCacheStatusFailed = "FAILED"
10361)
10362
10363const (
10364	// ApiCacheTypeT2Small is a ApiCacheType enum value
10365	ApiCacheTypeT2Small = "T2_SMALL"
10366
10367	// ApiCacheTypeT2Medium is a ApiCacheType enum value
10368	ApiCacheTypeT2Medium = "T2_MEDIUM"
10369
10370	// ApiCacheTypeR4Large is a ApiCacheType enum value
10371	ApiCacheTypeR4Large = "R4_LARGE"
10372
10373	// ApiCacheTypeR4Xlarge is a ApiCacheType enum value
10374	ApiCacheTypeR4Xlarge = "R4_XLARGE"
10375
10376	// ApiCacheTypeR42xlarge is a ApiCacheType enum value
10377	ApiCacheTypeR42xlarge = "R4_2XLARGE"
10378
10379	// ApiCacheTypeR44xlarge is a ApiCacheType enum value
10380	ApiCacheTypeR44xlarge = "R4_4XLARGE"
10381
10382	// ApiCacheTypeR48xlarge is a ApiCacheType enum value
10383	ApiCacheTypeR48xlarge = "R4_8XLARGE"
10384
10385	// ApiCacheTypeSmall is a ApiCacheType enum value
10386	ApiCacheTypeSmall = "SMALL"
10387
10388	// ApiCacheTypeMedium is a ApiCacheType enum value
10389	ApiCacheTypeMedium = "MEDIUM"
10390
10391	// ApiCacheTypeLarge is a ApiCacheType enum value
10392	ApiCacheTypeLarge = "LARGE"
10393
10394	// ApiCacheTypeXlarge is a ApiCacheType enum value
10395	ApiCacheTypeXlarge = "XLARGE"
10396
10397	// ApiCacheTypeLarge2x is a ApiCacheType enum value
10398	ApiCacheTypeLarge2x = "LARGE_2X"
10399
10400	// ApiCacheTypeLarge4x is a ApiCacheType enum value
10401	ApiCacheTypeLarge4x = "LARGE_4X"
10402
10403	// ApiCacheTypeLarge8x is a ApiCacheType enum value
10404	ApiCacheTypeLarge8x = "LARGE_8X"
10405
10406	// ApiCacheTypeLarge12x is a ApiCacheType enum value
10407	ApiCacheTypeLarge12x = "LARGE_12X"
10408)
10409
10410const (
10411	// ApiCachingBehaviorFullRequestCaching is a ApiCachingBehavior enum value
10412	ApiCachingBehaviorFullRequestCaching = "FULL_REQUEST_CACHING"
10413
10414	// ApiCachingBehaviorPerResolverCaching is a ApiCachingBehavior enum value
10415	ApiCachingBehaviorPerResolverCaching = "PER_RESOLVER_CACHING"
10416)
10417
10418const (
10419	// AuthenticationTypeApiKey is a AuthenticationType enum value
10420	AuthenticationTypeApiKey = "API_KEY"
10421
10422	// AuthenticationTypeAwsIam is a AuthenticationType enum value
10423	AuthenticationTypeAwsIam = "AWS_IAM"
10424
10425	// AuthenticationTypeAmazonCognitoUserPools is a AuthenticationType enum value
10426	AuthenticationTypeAmazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS"
10427
10428	// AuthenticationTypeOpenidConnect is a AuthenticationType enum value
10429	AuthenticationTypeOpenidConnect = "OPENID_CONNECT"
10430)
10431
10432const (
10433	// AuthorizationTypeAwsIam is a AuthorizationType enum value
10434	AuthorizationTypeAwsIam = "AWS_IAM"
10435)
10436
10437const (
10438	// ConflictDetectionTypeVersion is a ConflictDetectionType enum value
10439	ConflictDetectionTypeVersion = "VERSION"
10440
10441	// ConflictDetectionTypeNone is a ConflictDetectionType enum value
10442	ConflictDetectionTypeNone = "NONE"
10443)
10444
10445const (
10446	// ConflictHandlerTypeOptimisticConcurrency is a ConflictHandlerType enum value
10447	ConflictHandlerTypeOptimisticConcurrency = "OPTIMISTIC_CONCURRENCY"
10448
10449	// ConflictHandlerTypeLambda is a ConflictHandlerType enum value
10450	ConflictHandlerTypeLambda = "LAMBDA"
10451
10452	// ConflictHandlerTypeAutomerge is a ConflictHandlerType enum value
10453	ConflictHandlerTypeAutomerge = "AUTOMERGE"
10454
10455	// ConflictHandlerTypeNone is a ConflictHandlerType enum value
10456	ConflictHandlerTypeNone = "NONE"
10457)
10458
10459const (
10460	// DataSourceTypeAwsLambda is a DataSourceType enum value
10461	DataSourceTypeAwsLambda = "AWS_LAMBDA"
10462
10463	// DataSourceTypeAmazonDynamodb is a DataSourceType enum value
10464	DataSourceTypeAmazonDynamodb = "AMAZON_DYNAMODB"
10465
10466	// DataSourceTypeAmazonElasticsearch is a DataSourceType enum value
10467	DataSourceTypeAmazonElasticsearch = "AMAZON_ELASTICSEARCH"
10468
10469	// DataSourceTypeNone is a DataSourceType enum value
10470	DataSourceTypeNone = "NONE"
10471
10472	// DataSourceTypeHttp is a DataSourceType enum value
10473	DataSourceTypeHttp = "HTTP"
10474
10475	// DataSourceTypeRelationalDatabase is a DataSourceType enum value
10476	DataSourceTypeRelationalDatabase = "RELATIONAL_DATABASE"
10477)
10478
10479const (
10480	// DefaultActionAllow is a DefaultAction enum value
10481	DefaultActionAllow = "ALLOW"
10482
10483	// DefaultActionDeny is a DefaultAction enum value
10484	DefaultActionDeny = "DENY"
10485)
10486
10487const (
10488	// FieldLogLevelNone is a FieldLogLevel enum value
10489	FieldLogLevelNone = "NONE"
10490
10491	// FieldLogLevelError is a FieldLogLevel enum value
10492	FieldLogLevelError = "ERROR"
10493
10494	// FieldLogLevelAll is a FieldLogLevel enum value
10495	FieldLogLevelAll = "ALL"
10496)
10497
10498const (
10499	// OutputTypeSdl is a OutputType enum value
10500	OutputTypeSdl = "SDL"
10501
10502	// OutputTypeJson is a OutputType enum value
10503	OutputTypeJson = "JSON"
10504)
10505
10506const (
10507	// RelationalDatabaseSourceTypeRdsHttpEndpoint is a RelationalDatabaseSourceType enum value
10508	RelationalDatabaseSourceTypeRdsHttpEndpoint = "RDS_HTTP_ENDPOINT"
10509)
10510
10511const (
10512	// ResolverKindUnit is a ResolverKind enum value
10513	ResolverKindUnit = "UNIT"
10514
10515	// ResolverKindPipeline is a ResolverKind enum value
10516	ResolverKindPipeline = "PIPELINE"
10517)
10518
10519const (
10520	// SchemaStatusProcessing is a SchemaStatus enum value
10521	SchemaStatusProcessing = "PROCESSING"
10522
10523	// SchemaStatusActive is a SchemaStatus enum value
10524	SchemaStatusActive = "ACTIVE"
10525
10526	// SchemaStatusDeleting is a SchemaStatus enum value
10527	SchemaStatusDeleting = "DELETING"
10528
10529	// SchemaStatusFailed is a SchemaStatus enum value
10530	SchemaStatusFailed = "FAILED"
10531
10532	// SchemaStatusSuccess is a SchemaStatus enum value
10533	SchemaStatusSuccess = "SUCCESS"
10534
10535	// SchemaStatusNotApplicable is a SchemaStatus enum value
10536	SchemaStatusNotApplicable = "NOT_APPLICABLE"
10537)
10538
10539const (
10540	// TypeDefinitionFormatSdl is a TypeDefinitionFormat enum value
10541	TypeDefinitionFormatSdl = "SDL"
10542
10543	// TypeDefinitionFormatJson is a TypeDefinitionFormat enum value
10544	TypeDefinitionFormatJson = "JSON"
10545)
10546