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 60 days 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. The key can be updated while it is not deleted.
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 resolvers 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 available, 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 and deletion time in seconds.
4106//
4107//    * CreateApiKey returns the expiration time and deletion time in seconds
4108//    and accepts a user-provided expiration time in seconds.
4109//
4110//    * UpdateApiKey returns the expiration time and and deletion time in seconds
4111//    and accepts a user-provided expiration time in seconds. Expired API keys
4112//    are kept for 60 days after the expiration time. Key expiration time can
4113//    be updated while the key is not deleted.
4114//
4115//    * DeleteApiKey deletes the item from the table.
4116//
4117//    * Expiration is stored in Amazon DynamoDB as seconds. After the expiration
4118//    time, using the key to authenticate will fail. But the key can be reinstated
4119//    before deletion.
4120//
4121//    * Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted
4122//    after deletion time.
4123type ApiKey struct {
4124	_ struct{} `type:"structure"`
4125
4126	// The time after which the API key is deleted. The date is represented as seconds
4127	// since the epoch, rounded down to the nearest hour.
4128	Deletes *int64 `locationName:"deletes" type:"long"`
4129
4130	// A description of the purpose of the API key.
4131	Description *string `locationName:"description" type:"string"`
4132
4133	// The time after which the API key expires. The date is represented as seconds
4134	// since the epoch, rounded down to the nearest hour.
4135	Expires *int64 `locationName:"expires" type:"long"`
4136
4137	// The API key ID.
4138	Id *string `locationName:"id" type:"string"`
4139}
4140
4141// String returns the string representation
4142func (s ApiKey) String() string {
4143	return awsutil.Prettify(s)
4144}
4145
4146// GoString returns the string representation
4147func (s ApiKey) GoString() string {
4148	return s.String()
4149}
4150
4151// SetDeletes sets the Deletes field's value.
4152func (s *ApiKey) SetDeletes(v int64) *ApiKey {
4153	s.Deletes = &v
4154	return s
4155}
4156
4157// SetDescription sets the Description field's value.
4158func (s *ApiKey) SetDescription(v string) *ApiKey {
4159	s.Description = &v
4160	return s
4161}
4162
4163// SetExpires sets the Expires field's value.
4164func (s *ApiKey) SetExpires(v int64) *ApiKey {
4165	s.Expires = &v
4166	return s
4167}
4168
4169// SetId sets the Id field's value.
4170func (s *ApiKey) SetId(v string) *ApiKey {
4171	s.Id = &v
4172	return s
4173}
4174
4175// The API key exceeded a limit. Try your request again.
4176type ApiKeyLimitExceededException struct {
4177	_            struct{}                  `type:"structure"`
4178	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4179
4180	Message_ *string `locationName:"message" type:"string"`
4181}
4182
4183// String returns the string representation
4184func (s ApiKeyLimitExceededException) String() string {
4185	return awsutil.Prettify(s)
4186}
4187
4188// GoString returns the string representation
4189func (s ApiKeyLimitExceededException) GoString() string {
4190	return s.String()
4191}
4192
4193func newErrorApiKeyLimitExceededException(v protocol.ResponseMetadata) error {
4194	return &ApiKeyLimitExceededException{
4195		RespMetadata: v,
4196	}
4197}
4198
4199// Code returns the exception type name.
4200func (s *ApiKeyLimitExceededException) Code() string {
4201	return "ApiKeyLimitExceededException"
4202}
4203
4204// Message returns the exception's message.
4205func (s *ApiKeyLimitExceededException) Message() string {
4206	if s.Message_ != nil {
4207		return *s.Message_
4208	}
4209	return ""
4210}
4211
4212// OrigErr always returns nil, satisfies awserr.Error interface.
4213func (s *ApiKeyLimitExceededException) OrigErr() error {
4214	return nil
4215}
4216
4217func (s *ApiKeyLimitExceededException) Error() string {
4218	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4219}
4220
4221// Status code returns the HTTP status code for the request's response error.
4222func (s *ApiKeyLimitExceededException) StatusCode() int {
4223	return s.RespMetadata.StatusCode
4224}
4225
4226// RequestID returns the service's response RequestID for request.
4227func (s *ApiKeyLimitExceededException) RequestID() string {
4228	return s.RespMetadata.RequestID
4229}
4230
4231// The API key expiration must be set to a value between 1 and 365 days from
4232// creation (for CreateApiKey) or from update (for UpdateApiKey).
4233type ApiKeyValidityOutOfBoundsException struct {
4234	_            struct{}                  `type:"structure"`
4235	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4236
4237	Message_ *string `locationName:"message" type:"string"`
4238}
4239
4240// String returns the string representation
4241func (s ApiKeyValidityOutOfBoundsException) String() string {
4242	return awsutil.Prettify(s)
4243}
4244
4245// GoString returns the string representation
4246func (s ApiKeyValidityOutOfBoundsException) GoString() string {
4247	return s.String()
4248}
4249
4250func newErrorApiKeyValidityOutOfBoundsException(v protocol.ResponseMetadata) error {
4251	return &ApiKeyValidityOutOfBoundsException{
4252		RespMetadata: v,
4253	}
4254}
4255
4256// Code returns the exception type name.
4257func (s *ApiKeyValidityOutOfBoundsException) Code() string {
4258	return "ApiKeyValidityOutOfBoundsException"
4259}
4260
4261// Message returns the exception's message.
4262func (s *ApiKeyValidityOutOfBoundsException) Message() string {
4263	if s.Message_ != nil {
4264		return *s.Message_
4265	}
4266	return ""
4267}
4268
4269// OrigErr always returns nil, satisfies awserr.Error interface.
4270func (s *ApiKeyValidityOutOfBoundsException) OrigErr() error {
4271	return nil
4272}
4273
4274func (s *ApiKeyValidityOutOfBoundsException) Error() string {
4275	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4276}
4277
4278// Status code returns the HTTP status code for the request's response error.
4279func (s *ApiKeyValidityOutOfBoundsException) StatusCode() int {
4280	return s.RespMetadata.StatusCode
4281}
4282
4283// RequestID returns the service's response RequestID for request.
4284func (s *ApiKeyValidityOutOfBoundsException) RequestID() string {
4285	return s.RespMetadata.RequestID
4286}
4287
4288// The GraphQL API exceeded a limit. Try your request again.
4289type ApiLimitExceededException struct {
4290	_            struct{}                  `type:"structure"`
4291	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4292
4293	Message_ *string `locationName:"message" type:"string"`
4294}
4295
4296// String returns the string representation
4297func (s ApiLimitExceededException) String() string {
4298	return awsutil.Prettify(s)
4299}
4300
4301// GoString returns the string representation
4302func (s ApiLimitExceededException) GoString() string {
4303	return s.String()
4304}
4305
4306func newErrorApiLimitExceededException(v protocol.ResponseMetadata) error {
4307	return &ApiLimitExceededException{
4308		RespMetadata: v,
4309	}
4310}
4311
4312// Code returns the exception type name.
4313func (s *ApiLimitExceededException) Code() string {
4314	return "ApiLimitExceededException"
4315}
4316
4317// Message returns the exception's message.
4318func (s *ApiLimitExceededException) Message() string {
4319	if s.Message_ != nil {
4320		return *s.Message_
4321	}
4322	return ""
4323}
4324
4325// OrigErr always returns nil, satisfies awserr.Error interface.
4326func (s *ApiLimitExceededException) OrigErr() error {
4327	return nil
4328}
4329
4330func (s *ApiLimitExceededException) Error() string {
4331	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4332}
4333
4334// Status code returns the HTTP status code for the request's response error.
4335func (s *ApiLimitExceededException) StatusCode() int {
4336	return s.RespMetadata.StatusCode
4337}
4338
4339// RequestID returns the service's response RequestID for request.
4340func (s *ApiLimitExceededException) RequestID() string {
4341	return s.RespMetadata.RequestID
4342}
4343
4344// The authorization config in case the HTTP endpoint requires authorization.
4345type AuthorizationConfig struct {
4346	_ struct{} `type:"structure"`
4347
4348	// The authorization type required by the HTTP endpoint.
4349	//
4350	//    * AWS_IAM: The authorization type is Sigv4.
4351	//
4352	// AuthorizationType is a required field
4353	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true" enum:"AuthorizationType"`
4354
4355	// The AWS IAM settings.
4356	AwsIamConfig *AwsIamConfig `locationName:"awsIamConfig" type:"structure"`
4357}
4358
4359// String returns the string representation
4360func (s AuthorizationConfig) String() string {
4361	return awsutil.Prettify(s)
4362}
4363
4364// GoString returns the string representation
4365func (s AuthorizationConfig) GoString() string {
4366	return s.String()
4367}
4368
4369// Validate inspects the fields of the type to determine if they are valid.
4370func (s *AuthorizationConfig) Validate() error {
4371	invalidParams := request.ErrInvalidParams{Context: "AuthorizationConfig"}
4372	if s.AuthorizationType == nil {
4373		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
4374	}
4375
4376	if invalidParams.Len() > 0 {
4377		return invalidParams
4378	}
4379	return nil
4380}
4381
4382// SetAuthorizationType sets the AuthorizationType field's value.
4383func (s *AuthorizationConfig) SetAuthorizationType(v string) *AuthorizationConfig {
4384	s.AuthorizationType = &v
4385	return s
4386}
4387
4388// SetAwsIamConfig sets the AwsIamConfig field's value.
4389func (s *AuthorizationConfig) SetAwsIamConfig(v *AwsIamConfig) *AuthorizationConfig {
4390	s.AwsIamConfig = v
4391	return s
4392}
4393
4394// The AWS IAM configuration.
4395type AwsIamConfig struct {
4396	_ struct{} `type:"structure"`
4397
4398	// The signing region for AWS IAM authorization.
4399	SigningRegion *string `locationName:"signingRegion" type:"string"`
4400
4401	// The signing service name for AWS IAM authorization.
4402	SigningServiceName *string `locationName:"signingServiceName" type:"string"`
4403}
4404
4405// String returns the string representation
4406func (s AwsIamConfig) String() string {
4407	return awsutil.Prettify(s)
4408}
4409
4410// GoString returns the string representation
4411func (s AwsIamConfig) GoString() string {
4412	return s.String()
4413}
4414
4415// SetSigningRegion sets the SigningRegion field's value.
4416func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig {
4417	s.SigningRegion = &v
4418	return s
4419}
4420
4421// SetSigningServiceName sets the SigningServiceName field's value.
4422func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig {
4423	s.SigningServiceName = &v
4424	return s
4425}
4426
4427// The request is not well formed. For example, a value is invalid or a required
4428// field is missing. Check the field values, and then try again.
4429type BadRequestException struct {
4430	_            struct{}                  `type:"structure"`
4431	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4432
4433	Message_ *string `locationName:"message" type:"string"`
4434}
4435
4436// String returns the string representation
4437func (s BadRequestException) String() string {
4438	return awsutil.Prettify(s)
4439}
4440
4441// GoString returns the string representation
4442func (s BadRequestException) GoString() string {
4443	return s.String()
4444}
4445
4446func newErrorBadRequestException(v protocol.ResponseMetadata) error {
4447	return &BadRequestException{
4448		RespMetadata: v,
4449	}
4450}
4451
4452// Code returns the exception type name.
4453func (s *BadRequestException) Code() string {
4454	return "BadRequestException"
4455}
4456
4457// Message returns the exception's message.
4458func (s *BadRequestException) Message() string {
4459	if s.Message_ != nil {
4460		return *s.Message_
4461	}
4462	return ""
4463}
4464
4465// OrigErr always returns nil, satisfies awserr.Error interface.
4466func (s *BadRequestException) OrigErr() error {
4467	return nil
4468}
4469
4470func (s *BadRequestException) Error() string {
4471	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4472}
4473
4474// Status code returns the HTTP status code for the request's response error.
4475func (s *BadRequestException) StatusCode() int {
4476	return s.RespMetadata.StatusCode
4477}
4478
4479// RequestID returns the service's response RequestID for request.
4480func (s *BadRequestException) RequestID() string {
4481	return s.RespMetadata.RequestID
4482}
4483
4484// The caching configuration for a resolver that has caching enabled.
4485type CachingConfig struct {
4486	_ struct{} `type:"structure"`
4487
4488	// The caching keys for a resolver that has caching enabled.
4489	//
4490	// Valid values are entries from the $context.arguments, $context.source, and
4491	// $context.identity maps.
4492	CachingKeys []*string `locationName:"cachingKeys" type:"list"`
4493
4494	// The TTL in seconds for a resolver that has caching enabled.
4495	//
4496	// Valid values are between 1 and 3600 seconds.
4497	Ttl *int64 `locationName:"ttl" type:"long"`
4498}
4499
4500// String returns the string representation
4501func (s CachingConfig) String() string {
4502	return awsutil.Prettify(s)
4503}
4504
4505// GoString returns the string representation
4506func (s CachingConfig) GoString() string {
4507	return s.String()
4508}
4509
4510// SetCachingKeys sets the CachingKeys field's value.
4511func (s *CachingConfig) SetCachingKeys(v []*string) *CachingConfig {
4512	s.CachingKeys = v
4513	return s
4514}
4515
4516// SetTtl sets the Ttl field's value.
4517func (s *CachingConfig) SetTtl(v int64) *CachingConfig {
4518	s.Ttl = &v
4519	return s
4520}
4521
4522// Describes an Amazon Cognito user pool configuration.
4523type CognitoUserPoolConfig struct {
4524	_ struct{} `type:"structure"`
4525
4526	// A regular expression for validating the incoming Amazon Cognito user pool
4527	// app client ID.
4528	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
4529
4530	// The AWS Region in which the user pool was created.
4531	//
4532	// AwsRegion is a required field
4533	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
4534
4535	// The user pool ID.
4536	//
4537	// UserPoolId is a required field
4538	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
4539}
4540
4541// String returns the string representation
4542func (s CognitoUserPoolConfig) String() string {
4543	return awsutil.Prettify(s)
4544}
4545
4546// GoString returns the string representation
4547func (s CognitoUserPoolConfig) GoString() string {
4548	return s.String()
4549}
4550
4551// Validate inspects the fields of the type to determine if they are valid.
4552func (s *CognitoUserPoolConfig) Validate() error {
4553	invalidParams := request.ErrInvalidParams{Context: "CognitoUserPoolConfig"}
4554	if s.AwsRegion == nil {
4555		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
4556	}
4557	if s.UserPoolId == nil {
4558		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
4559	}
4560
4561	if invalidParams.Len() > 0 {
4562		return invalidParams
4563	}
4564	return nil
4565}
4566
4567// SetAppIdClientRegex sets the AppIdClientRegex field's value.
4568func (s *CognitoUserPoolConfig) SetAppIdClientRegex(v string) *CognitoUserPoolConfig {
4569	s.AppIdClientRegex = &v
4570	return s
4571}
4572
4573// SetAwsRegion sets the AwsRegion field's value.
4574func (s *CognitoUserPoolConfig) SetAwsRegion(v string) *CognitoUserPoolConfig {
4575	s.AwsRegion = &v
4576	return s
4577}
4578
4579// SetUserPoolId sets the UserPoolId field's value.
4580func (s *CognitoUserPoolConfig) SetUserPoolId(v string) *CognitoUserPoolConfig {
4581	s.UserPoolId = &v
4582	return s
4583}
4584
4585// Another modification is in progress at this time and it must complete before
4586// you can make your change.
4587type ConcurrentModificationException struct {
4588	_            struct{}                  `type:"structure"`
4589	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4590
4591	Message_ *string `locationName:"message" type:"string"`
4592}
4593
4594// String returns the string representation
4595func (s ConcurrentModificationException) String() string {
4596	return awsutil.Prettify(s)
4597}
4598
4599// GoString returns the string representation
4600func (s ConcurrentModificationException) GoString() string {
4601	return s.String()
4602}
4603
4604func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4605	return &ConcurrentModificationException{
4606		RespMetadata: v,
4607	}
4608}
4609
4610// Code returns the exception type name.
4611func (s *ConcurrentModificationException) Code() string {
4612	return "ConcurrentModificationException"
4613}
4614
4615// Message returns the exception's message.
4616func (s *ConcurrentModificationException) Message() string {
4617	if s.Message_ != nil {
4618		return *s.Message_
4619	}
4620	return ""
4621}
4622
4623// OrigErr always returns nil, satisfies awserr.Error interface.
4624func (s *ConcurrentModificationException) OrigErr() error {
4625	return nil
4626}
4627
4628func (s *ConcurrentModificationException) Error() string {
4629	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4630}
4631
4632// Status code returns the HTTP status code for the request's response error.
4633func (s *ConcurrentModificationException) StatusCode() int {
4634	return s.RespMetadata.StatusCode
4635}
4636
4637// RequestID returns the service's response RequestID for request.
4638func (s *ConcurrentModificationException) RequestID() string {
4639	return s.RespMetadata.RequestID
4640}
4641
4642// Represents the input of a CreateApiCache operation.
4643type CreateApiCacheInput struct {
4644	_ struct{} `type:"structure"`
4645
4646	// Caching behavior.
4647	//
4648	//    * FULL_REQUEST_CACHING: All requests are fully cached.
4649	//
4650	//    * PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
4651	//
4652	// ApiCachingBehavior is a required field
4653	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
4654
4655	// The GraphQL API Id.
4656	//
4657	// ApiId is a required field
4658	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4659
4660	// At rest encryption flag for cache. This setting cannot be updated after creation.
4661	AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"`
4662
4663	// Transit encryption flag when connecting to cache. This setting cannot be
4664	// updated after creation.
4665	TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"`
4666
4667	// TTL in seconds for cache entries.
4668	//
4669	// Valid values are between 1 and 3600 seconds.
4670	//
4671	// Ttl is a required field
4672	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
4673
4674	// The cache instance type. Valid values are
4675	//
4676	//    * SMALL
4677	//
4678	//    * MEDIUM
4679	//
4680	//    * LARGE
4681	//
4682	//    * XLARGE
4683	//
4684	//    * LARGE_2X
4685	//
4686	//    * LARGE_4X
4687	//
4688	//    * LARGE_8X (not available in all regions)
4689	//
4690	//    * LARGE_12X
4691	//
4692	// Historically, instance types were identified by an EC2-style value. As of
4693	// July 2020, this is deprecated, and the generic identifiers above should be
4694	// used.
4695	//
4696	// The following legacy instance types are available, but their use is discouraged:
4697	//
4698	//    * T2_SMALL: A t2.small instance type.
4699	//
4700	//    * T2_MEDIUM: A t2.medium instance type.
4701	//
4702	//    * R4_LARGE: A r4.large instance type.
4703	//
4704	//    * R4_XLARGE: A r4.xlarge instance type.
4705	//
4706	//    * R4_2XLARGE: A r4.2xlarge instance type.
4707	//
4708	//    * R4_4XLARGE: A r4.4xlarge instance type.
4709	//
4710	//    * R4_8XLARGE: A r4.8xlarge instance type.
4711	//
4712	// Type is a required field
4713	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
4714}
4715
4716// String returns the string representation
4717func (s CreateApiCacheInput) String() string {
4718	return awsutil.Prettify(s)
4719}
4720
4721// GoString returns the string representation
4722func (s CreateApiCacheInput) GoString() string {
4723	return s.String()
4724}
4725
4726// Validate inspects the fields of the type to determine if they are valid.
4727func (s *CreateApiCacheInput) Validate() error {
4728	invalidParams := request.ErrInvalidParams{Context: "CreateApiCacheInput"}
4729	if s.ApiCachingBehavior == nil {
4730		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
4731	}
4732	if s.ApiId == nil {
4733		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4734	}
4735	if s.ApiId != nil && len(*s.ApiId) < 1 {
4736		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4737	}
4738	if s.Ttl == nil {
4739		invalidParams.Add(request.NewErrParamRequired("Ttl"))
4740	}
4741	if s.Type == nil {
4742		invalidParams.Add(request.NewErrParamRequired("Type"))
4743	}
4744
4745	if invalidParams.Len() > 0 {
4746		return invalidParams
4747	}
4748	return nil
4749}
4750
4751// SetApiCachingBehavior sets the ApiCachingBehavior field's value.
4752func (s *CreateApiCacheInput) SetApiCachingBehavior(v string) *CreateApiCacheInput {
4753	s.ApiCachingBehavior = &v
4754	return s
4755}
4756
4757// SetApiId sets the ApiId field's value.
4758func (s *CreateApiCacheInput) SetApiId(v string) *CreateApiCacheInput {
4759	s.ApiId = &v
4760	return s
4761}
4762
4763// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
4764func (s *CreateApiCacheInput) SetAtRestEncryptionEnabled(v bool) *CreateApiCacheInput {
4765	s.AtRestEncryptionEnabled = &v
4766	return s
4767}
4768
4769// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
4770func (s *CreateApiCacheInput) SetTransitEncryptionEnabled(v bool) *CreateApiCacheInput {
4771	s.TransitEncryptionEnabled = &v
4772	return s
4773}
4774
4775// SetTtl sets the Ttl field's value.
4776func (s *CreateApiCacheInput) SetTtl(v int64) *CreateApiCacheInput {
4777	s.Ttl = &v
4778	return s
4779}
4780
4781// SetType sets the Type field's value.
4782func (s *CreateApiCacheInput) SetType(v string) *CreateApiCacheInput {
4783	s.Type = &v
4784	return s
4785}
4786
4787// Represents the output of a CreateApiCache operation.
4788type CreateApiCacheOutput struct {
4789	_ struct{} `type:"structure"`
4790
4791	// The ApiCache object.
4792	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
4793}
4794
4795// String returns the string representation
4796func (s CreateApiCacheOutput) String() string {
4797	return awsutil.Prettify(s)
4798}
4799
4800// GoString returns the string representation
4801func (s CreateApiCacheOutput) GoString() string {
4802	return s.String()
4803}
4804
4805// SetApiCache sets the ApiCache field's value.
4806func (s *CreateApiCacheOutput) SetApiCache(v *ApiCache) *CreateApiCacheOutput {
4807	s.ApiCache = v
4808	return s
4809}
4810
4811type CreateApiKeyInput struct {
4812	_ struct{} `type:"structure"`
4813
4814	// The ID for your GraphQL API.
4815	//
4816	// ApiId is a required field
4817	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4818
4819	// A description of the purpose of the API key.
4820	Description *string `locationName:"description" type:"string"`
4821
4822	// The time from creation time after which the API key expires. The date is
4823	// represented as seconds since the epoch, rounded down to the nearest hour.
4824	// The default value for this parameter is 7 days from creation time. For more
4825	// information, see .
4826	Expires *int64 `locationName:"expires" type:"long"`
4827}
4828
4829// String returns the string representation
4830func (s CreateApiKeyInput) String() string {
4831	return awsutil.Prettify(s)
4832}
4833
4834// GoString returns the string representation
4835func (s CreateApiKeyInput) GoString() string {
4836	return s.String()
4837}
4838
4839// Validate inspects the fields of the type to determine if they are valid.
4840func (s *CreateApiKeyInput) Validate() error {
4841	invalidParams := request.ErrInvalidParams{Context: "CreateApiKeyInput"}
4842	if s.ApiId == nil {
4843		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4844	}
4845	if s.ApiId != nil && len(*s.ApiId) < 1 {
4846		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4847	}
4848
4849	if invalidParams.Len() > 0 {
4850		return invalidParams
4851	}
4852	return nil
4853}
4854
4855// SetApiId sets the ApiId field's value.
4856func (s *CreateApiKeyInput) SetApiId(v string) *CreateApiKeyInput {
4857	s.ApiId = &v
4858	return s
4859}
4860
4861// SetDescription sets the Description field's value.
4862func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
4863	s.Description = &v
4864	return s
4865}
4866
4867// SetExpires sets the Expires field's value.
4868func (s *CreateApiKeyInput) SetExpires(v int64) *CreateApiKeyInput {
4869	s.Expires = &v
4870	return s
4871}
4872
4873type CreateApiKeyOutput struct {
4874	_ struct{} `type:"structure"`
4875
4876	// The API key.
4877	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
4878}
4879
4880// String returns the string representation
4881func (s CreateApiKeyOutput) String() string {
4882	return awsutil.Prettify(s)
4883}
4884
4885// GoString returns the string representation
4886func (s CreateApiKeyOutput) GoString() string {
4887	return s.String()
4888}
4889
4890// SetApiKey sets the ApiKey field's value.
4891func (s *CreateApiKeyOutput) SetApiKey(v *ApiKey) *CreateApiKeyOutput {
4892	s.ApiKey = v
4893	return s
4894}
4895
4896type CreateDataSourceInput struct {
4897	_ struct{} `type:"structure"`
4898
4899	// The API ID for the GraphQL API for the DataSource.
4900	//
4901	// ApiId is a required field
4902	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4903
4904	// A description of the DataSource.
4905	Description *string `locationName:"description" type:"string"`
4906
4907	// Amazon DynamoDB settings.
4908	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
4909
4910	// Amazon Elasticsearch Service settings.
4911	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
4912
4913	// HTTP endpoint settings.
4914	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
4915
4916	// AWS Lambda settings.
4917	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
4918
4919	// A user-supplied name for the DataSource.
4920	//
4921	// Name is a required field
4922	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4923
4924	// Relational database settings.
4925	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
4926
4927	// The AWS IAM service role ARN for the data source. The system assumes this
4928	// role when accessing the data source.
4929	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
4930
4931	// The type of the DataSource.
4932	//
4933	// Type is a required field
4934	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
4935}
4936
4937// String returns the string representation
4938func (s CreateDataSourceInput) String() string {
4939	return awsutil.Prettify(s)
4940}
4941
4942// GoString returns the string representation
4943func (s CreateDataSourceInput) GoString() string {
4944	return s.String()
4945}
4946
4947// Validate inspects the fields of the type to determine if they are valid.
4948func (s *CreateDataSourceInput) Validate() error {
4949	invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"}
4950	if s.ApiId == nil {
4951		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4952	}
4953	if s.ApiId != nil && len(*s.ApiId) < 1 {
4954		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4955	}
4956	if s.Name == nil {
4957		invalidParams.Add(request.NewErrParamRequired("Name"))
4958	}
4959	if s.Name != nil && len(*s.Name) < 1 {
4960		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4961	}
4962	if s.Type == nil {
4963		invalidParams.Add(request.NewErrParamRequired("Type"))
4964	}
4965	if s.DynamodbConfig != nil {
4966		if err := s.DynamodbConfig.Validate(); err != nil {
4967			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
4968		}
4969	}
4970	if s.ElasticsearchConfig != nil {
4971		if err := s.ElasticsearchConfig.Validate(); err != nil {
4972			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
4973		}
4974	}
4975	if s.HttpConfig != nil {
4976		if err := s.HttpConfig.Validate(); err != nil {
4977			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
4978		}
4979	}
4980	if s.LambdaConfig != nil {
4981		if err := s.LambdaConfig.Validate(); err != nil {
4982			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
4983		}
4984	}
4985
4986	if invalidParams.Len() > 0 {
4987		return invalidParams
4988	}
4989	return nil
4990}
4991
4992// SetApiId sets the ApiId field's value.
4993func (s *CreateDataSourceInput) SetApiId(v string) *CreateDataSourceInput {
4994	s.ApiId = &v
4995	return s
4996}
4997
4998// SetDescription sets the Description field's value.
4999func (s *CreateDataSourceInput) SetDescription(v string) *CreateDataSourceInput {
5000	s.Description = &v
5001	return s
5002}
5003
5004// SetDynamodbConfig sets the DynamodbConfig field's value.
5005func (s *CreateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *CreateDataSourceInput {
5006	s.DynamodbConfig = v
5007	return s
5008}
5009
5010// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
5011func (s *CreateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *CreateDataSourceInput {
5012	s.ElasticsearchConfig = v
5013	return s
5014}
5015
5016// SetHttpConfig sets the HttpConfig field's value.
5017func (s *CreateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *CreateDataSourceInput {
5018	s.HttpConfig = v
5019	return s
5020}
5021
5022// SetLambdaConfig sets the LambdaConfig field's value.
5023func (s *CreateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *CreateDataSourceInput {
5024	s.LambdaConfig = v
5025	return s
5026}
5027
5028// SetName sets the Name field's value.
5029func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput {
5030	s.Name = &v
5031	return s
5032}
5033
5034// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
5035func (s *CreateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *CreateDataSourceInput {
5036	s.RelationalDatabaseConfig = v
5037	return s
5038}
5039
5040// SetServiceRoleArn sets the ServiceRoleArn field's value.
5041func (s *CreateDataSourceInput) SetServiceRoleArn(v string) *CreateDataSourceInput {
5042	s.ServiceRoleArn = &v
5043	return s
5044}
5045
5046// SetType sets the Type field's value.
5047func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput {
5048	s.Type = &v
5049	return s
5050}
5051
5052type CreateDataSourceOutput struct {
5053	_ struct{} `type:"structure"`
5054
5055	// The DataSource object.
5056	DataSource *DataSource `locationName:"dataSource" type:"structure"`
5057}
5058
5059// String returns the string representation
5060func (s CreateDataSourceOutput) String() string {
5061	return awsutil.Prettify(s)
5062}
5063
5064// GoString returns the string representation
5065func (s CreateDataSourceOutput) GoString() string {
5066	return s.String()
5067}
5068
5069// SetDataSource sets the DataSource field's value.
5070func (s *CreateDataSourceOutput) SetDataSource(v *DataSource) *CreateDataSourceOutput {
5071	s.DataSource = v
5072	return s
5073}
5074
5075type CreateFunctionInput struct {
5076	_ struct{} `type:"structure"`
5077
5078	// The GraphQL API ID.
5079	//
5080	// ApiId is a required field
5081	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5082
5083	// The Function DataSource name.
5084	//
5085	// DataSourceName is a required field
5086	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
5087
5088	// The Function description.
5089	Description *string `locationName:"description" type:"string"`
5090
5091	// The version of the request mapping template. Currently the supported value
5092	// is 2018-05-29.
5093	//
5094	// FunctionVersion is a required field
5095	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
5096
5097	// The Function name. The function name does not have to be unique.
5098	//
5099	// Name is a required field
5100	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5101
5102	// The Function request mapping template. Functions support only the 2018-05-29
5103	// version of the request mapping template.
5104	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
5105
5106	// The Function response mapping template.
5107	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
5108
5109	// Describes a Sync configuration for a resolver.
5110	//
5111	// Contains information on which Conflict Detection as well as Resolution strategy
5112	// should be performed when the resolver is invoked.
5113	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
5114}
5115
5116// String returns the string representation
5117func (s CreateFunctionInput) String() string {
5118	return awsutil.Prettify(s)
5119}
5120
5121// GoString returns the string representation
5122func (s CreateFunctionInput) GoString() string {
5123	return s.String()
5124}
5125
5126// Validate inspects the fields of the type to determine if they are valid.
5127func (s *CreateFunctionInput) Validate() error {
5128	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
5129	if s.ApiId == nil {
5130		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5131	}
5132	if s.ApiId != nil && len(*s.ApiId) < 1 {
5133		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5134	}
5135	if s.DataSourceName == nil {
5136		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
5137	}
5138	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
5139		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
5140	}
5141	if s.FunctionVersion == nil {
5142		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
5143	}
5144	if s.Name == nil {
5145		invalidParams.Add(request.NewErrParamRequired("Name"))
5146	}
5147	if s.Name != nil && len(*s.Name) < 1 {
5148		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5149	}
5150	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
5151		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
5152	}
5153	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
5154		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
5155	}
5156
5157	if invalidParams.Len() > 0 {
5158		return invalidParams
5159	}
5160	return nil
5161}
5162
5163// SetApiId sets the ApiId field's value.
5164func (s *CreateFunctionInput) SetApiId(v string) *CreateFunctionInput {
5165	s.ApiId = &v
5166	return s
5167}
5168
5169// SetDataSourceName sets the DataSourceName field's value.
5170func (s *CreateFunctionInput) SetDataSourceName(v string) *CreateFunctionInput {
5171	s.DataSourceName = &v
5172	return s
5173}
5174
5175// SetDescription sets the Description field's value.
5176func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
5177	s.Description = &v
5178	return s
5179}
5180
5181// SetFunctionVersion sets the FunctionVersion field's value.
5182func (s *CreateFunctionInput) SetFunctionVersion(v string) *CreateFunctionInput {
5183	s.FunctionVersion = &v
5184	return s
5185}
5186
5187// SetName sets the Name field's value.
5188func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput {
5189	s.Name = &v
5190	return s
5191}
5192
5193// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
5194func (s *CreateFunctionInput) SetRequestMappingTemplate(v string) *CreateFunctionInput {
5195	s.RequestMappingTemplate = &v
5196	return s
5197}
5198
5199// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
5200func (s *CreateFunctionInput) SetResponseMappingTemplate(v string) *CreateFunctionInput {
5201	s.ResponseMappingTemplate = &v
5202	return s
5203}
5204
5205// SetSyncConfig sets the SyncConfig field's value.
5206func (s *CreateFunctionInput) SetSyncConfig(v *SyncConfig) *CreateFunctionInput {
5207	s.SyncConfig = v
5208	return s
5209}
5210
5211type CreateFunctionOutput struct {
5212	_ struct{} `type:"structure"`
5213
5214	// The Function object.
5215	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
5216}
5217
5218// String returns the string representation
5219func (s CreateFunctionOutput) String() string {
5220	return awsutil.Prettify(s)
5221}
5222
5223// GoString returns the string representation
5224func (s CreateFunctionOutput) GoString() string {
5225	return s.String()
5226}
5227
5228// SetFunctionConfiguration sets the FunctionConfiguration field's value.
5229func (s *CreateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *CreateFunctionOutput {
5230	s.FunctionConfiguration = v
5231	return s
5232}
5233
5234type CreateGraphqlApiInput struct {
5235	_ struct{} `type:"structure"`
5236
5237	// A list of additional authentication providers for the GraphqlApi API.
5238	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
5239
5240	// The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
5241	//
5242	// AuthenticationType is a required field
5243	AuthenticationType *string `locationName:"authenticationType" type:"string" required:"true" enum:"AuthenticationType"`
5244
5245	// The Amazon CloudWatch Logs configuration.
5246	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
5247
5248	// A user-supplied name for the GraphqlApi.
5249	//
5250	// Name is a required field
5251	Name *string `locationName:"name" type:"string" required:"true"`
5252
5253	// The OpenID Connect configuration.
5254	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
5255
5256	// A TagMap object.
5257	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5258
5259	// The Amazon Cognito user pool configuration.
5260	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
5261
5262	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
5263	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
5264}
5265
5266// String returns the string representation
5267func (s CreateGraphqlApiInput) String() string {
5268	return awsutil.Prettify(s)
5269}
5270
5271// GoString returns the string representation
5272func (s CreateGraphqlApiInput) GoString() string {
5273	return s.String()
5274}
5275
5276// Validate inspects the fields of the type to determine if they are valid.
5277func (s *CreateGraphqlApiInput) Validate() error {
5278	invalidParams := request.ErrInvalidParams{Context: "CreateGraphqlApiInput"}
5279	if s.AuthenticationType == nil {
5280		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
5281	}
5282	if s.Name == nil {
5283		invalidParams.Add(request.NewErrParamRequired("Name"))
5284	}
5285	if s.Tags != nil && len(s.Tags) < 1 {
5286		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5287	}
5288	if s.AdditionalAuthenticationProviders != nil {
5289		for i, v := range s.AdditionalAuthenticationProviders {
5290			if v == nil {
5291				continue
5292			}
5293			if err := v.Validate(); err != nil {
5294				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
5295			}
5296		}
5297	}
5298	if s.LogConfig != nil {
5299		if err := s.LogConfig.Validate(); err != nil {
5300			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
5301		}
5302	}
5303	if s.OpenIDConnectConfig != nil {
5304		if err := s.OpenIDConnectConfig.Validate(); err != nil {
5305			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
5306		}
5307	}
5308	if s.UserPoolConfig != nil {
5309		if err := s.UserPoolConfig.Validate(); err != nil {
5310			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
5311		}
5312	}
5313
5314	if invalidParams.Len() > 0 {
5315		return invalidParams
5316	}
5317	return nil
5318}
5319
5320// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
5321func (s *CreateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *CreateGraphqlApiInput {
5322	s.AdditionalAuthenticationProviders = v
5323	return s
5324}
5325
5326// SetAuthenticationType sets the AuthenticationType field's value.
5327func (s *CreateGraphqlApiInput) SetAuthenticationType(v string) *CreateGraphqlApiInput {
5328	s.AuthenticationType = &v
5329	return s
5330}
5331
5332// SetLogConfig sets the LogConfig field's value.
5333func (s *CreateGraphqlApiInput) SetLogConfig(v *LogConfig) *CreateGraphqlApiInput {
5334	s.LogConfig = v
5335	return s
5336}
5337
5338// SetName sets the Name field's value.
5339func (s *CreateGraphqlApiInput) SetName(v string) *CreateGraphqlApiInput {
5340	s.Name = &v
5341	return s
5342}
5343
5344// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
5345func (s *CreateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *CreateGraphqlApiInput {
5346	s.OpenIDConnectConfig = v
5347	return s
5348}
5349
5350// SetTags sets the Tags field's value.
5351func (s *CreateGraphqlApiInput) SetTags(v map[string]*string) *CreateGraphqlApiInput {
5352	s.Tags = v
5353	return s
5354}
5355
5356// SetUserPoolConfig sets the UserPoolConfig field's value.
5357func (s *CreateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *CreateGraphqlApiInput {
5358	s.UserPoolConfig = v
5359	return s
5360}
5361
5362// SetXrayEnabled sets the XrayEnabled field's value.
5363func (s *CreateGraphqlApiInput) SetXrayEnabled(v bool) *CreateGraphqlApiInput {
5364	s.XrayEnabled = &v
5365	return s
5366}
5367
5368type CreateGraphqlApiOutput struct {
5369	_ struct{} `type:"structure"`
5370
5371	// The GraphqlApi.
5372	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
5373}
5374
5375// String returns the string representation
5376func (s CreateGraphqlApiOutput) String() string {
5377	return awsutil.Prettify(s)
5378}
5379
5380// GoString returns the string representation
5381func (s CreateGraphqlApiOutput) GoString() string {
5382	return s.String()
5383}
5384
5385// SetGraphqlApi sets the GraphqlApi field's value.
5386func (s *CreateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *CreateGraphqlApiOutput {
5387	s.GraphqlApi = v
5388	return s
5389}
5390
5391type CreateResolverInput struct {
5392	_ struct{} `type:"structure"`
5393
5394	// The ID for the GraphQL API for which the resolver is being created.
5395	//
5396	// ApiId is a required field
5397	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5398
5399	// The caching configuration for the resolver.
5400	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
5401
5402	// The name of the data source for which the resolver is being created.
5403	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
5404
5405	// The name of the field to attach the resolver to.
5406	//
5407	// FieldName is a required field
5408	FieldName *string `locationName:"fieldName" min:"1" type:"string" required:"true"`
5409
5410	// The resolver type.
5411	//
5412	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
5413	//    type. A UNIT resolver enables you to execute a GraphQL query against a
5414	//    single data source.
5415	//
5416	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
5417	//    to execute a series of Function in a serial manner. You can use a pipeline
5418	//    resolver to execute a GraphQL query against multiple data sources.
5419	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
5420
5421	// The PipelineConfig.
5422	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
5423
5424	// The mapping template to be used for requests.
5425	//
5426	// A resolver uses a request mapping template to convert a GraphQL expression
5427	// into a format that a data source can understand. Mapping templates are written
5428	// in Apache Velocity Template Language (VTL).
5429	//
5430	// VTL request mapping templates are optional when using a Lambda data source.
5431	// For all other data sources, VTL request and response mapping templates are
5432	// required.
5433	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
5434
5435	// The mapping template to be used for responses from the data source.
5436	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
5437
5438	// The SyncConfig for a resolver attached to a versioned datasource.
5439	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
5440
5441	// The name of the Type.
5442	//
5443	// TypeName is a required field
5444	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
5445}
5446
5447// String returns the string representation
5448func (s CreateResolverInput) String() string {
5449	return awsutil.Prettify(s)
5450}
5451
5452// GoString returns the string representation
5453func (s CreateResolverInput) GoString() string {
5454	return s.String()
5455}
5456
5457// Validate inspects the fields of the type to determine if they are valid.
5458func (s *CreateResolverInput) Validate() error {
5459	invalidParams := request.ErrInvalidParams{Context: "CreateResolverInput"}
5460	if s.ApiId == nil {
5461		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5462	}
5463	if s.ApiId != nil && len(*s.ApiId) < 1 {
5464		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5465	}
5466	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
5467		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
5468	}
5469	if s.FieldName == nil {
5470		invalidParams.Add(request.NewErrParamRequired("FieldName"))
5471	}
5472	if s.FieldName != nil && len(*s.FieldName) < 1 {
5473		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
5474	}
5475	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
5476		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
5477	}
5478	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
5479		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
5480	}
5481	if s.TypeName == nil {
5482		invalidParams.Add(request.NewErrParamRequired("TypeName"))
5483	}
5484	if s.TypeName != nil && len(*s.TypeName) < 1 {
5485		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
5486	}
5487
5488	if invalidParams.Len() > 0 {
5489		return invalidParams
5490	}
5491	return nil
5492}
5493
5494// SetApiId sets the ApiId field's value.
5495func (s *CreateResolverInput) SetApiId(v string) *CreateResolverInput {
5496	s.ApiId = &v
5497	return s
5498}
5499
5500// SetCachingConfig sets the CachingConfig field's value.
5501func (s *CreateResolverInput) SetCachingConfig(v *CachingConfig) *CreateResolverInput {
5502	s.CachingConfig = v
5503	return s
5504}
5505
5506// SetDataSourceName sets the DataSourceName field's value.
5507func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput {
5508	s.DataSourceName = &v
5509	return s
5510}
5511
5512// SetFieldName sets the FieldName field's value.
5513func (s *CreateResolverInput) SetFieldName(v string) *CreateResolverInput {
5514	s.FieldName = &v
5515	return s
5516}
5517
5518// SetKind sets the Kind field's value.
5519func (s *CreateResolverInput) SetKind(v string) *CreateResolverInput {
5520	s.Kind = &v
5521	return s
5522}
5523
5524// SetPipelineConfig sets the PipelineConfig field's value.
5525func (s *CreateResolverInput) SetPipelineConfig(v *PipelineConfig) *CreateResolverInput {
5526	s.PipelineConfig = v
5527	return s
5528}
5529
5530// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
5531func (s *CreateResolverInput) SetRequestMappingTemplate(v string) *CreateResolverInput {
5532	s.RequestMappingTemplate = &v
5533	return s
5534}
5535
5536// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
5537func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolverInput {
5538	s.ResponseMappingTemplate = &v
5539	return s
5540}
5541
5542// SetSyncConfig sets the SyncConfig field's value.
5543func (s *CreateResolverInput) SetSyncConfig(v *SyncConfig) *CreateResolverInput {
5544	s.SyncConfig = v
5545	return s
5546}
5547
5548// SetTypeName sets the TypeName field's value.
5549func (s *CreateResolverInput) SetTypeName(v string) *CreateResolverInput {
5550	s.TypeName = &v
5551	return s
5552}
5553
5554type CreateResolverOutput struct {
5555	_ struct{} `type:"structure"`
5556
5557	// The Resolver object.
5558	Resolver *Resolver `locationName:"resolver" type:"structure"`
5559}
5560
5561// String returns the string representation
5562func (s CreateResolverOutput) String() string {
5563	return awsutil.Prettify(s)
5564}
5565
5566// GoString returns the string representation
5567func (s CreateResolverOutput) GoString() string {
5568	return s.String()
5569}
5570
5571// SetResolver sets the Resolver field's value.
5572func (s *CreateResolverOutput) SetResolver(v *Resolver) *CreateResolverOutput {
5573	s.Resolver = v
5574	return s
5575}
5576
5577type CreateTypeInput struct {
5578	_ struct{} `type:"structure"`
5579
5580	// The API ID.
5581	//
5582	// ApiId is a required field
5583	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5584
5585	// The type definition, in GraphQL Schema Definition Language (SDL) format.
5586	//
5587	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
5588	//
5589	// Definition is a required field
5590	Definition *string `locationName:"definition" type:"string" required:"true"`
5591
5592	// The type format: SDL or JSON.
5593	//
5594	// Format is a required field
5595	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
5596}
5597
5598// String returns the string representation
5599func (s CreateTypeInput) String() string {
5600	return awsutil.Prettify(s)
5601}
5602
5603// GoString returns the string representation
5604func (s CreateTypeInput) GoString() string {
5605	return s.String()
5606}
5607
5608// Validate inspects the fields of the type to determine if they are valid.
5609func (s *CreateTypeInput) Validate() error {
5610	invalidParams := request.ErrInvalidParams{Context: "CreateTypeInput"}
5611	if s.ApiId == nil {
5612		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5613	}
5614	if s.ApiId != nil && len(*s.ApiId) < 1 {
5615		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5616	}
5617	if s.Definition == nil {
5618		invalidParams.Add(request.NewErrParamRequired("Definition"))
5619	}
5620	if s.Format == nil {
5621		invalidParams.Add(request.NewErrParamRequired("Format"))
5622	}
5623
5624	if invalidParams.Len() > 0 {
5625		return invalidParams
5626	}
5627	return nil
5628}
5629
5630// SetApiId sets the ApiId field's value.
5631func (s *CreateTypeInput) SetApiId(v string) *CreateTypeInput {
5632	s.ApiId = &v
5633	return s
5634}
5635
5636// SetDefinition sets the Definition field's value.
5637func (s *CreateTypeInput) SetDefinition(v string) *CreateTypeInput {
5638	s.Definition = &v
5639	return s
5640}
5641
5642// SetFormat sets the Format field's value.
5643func (s *CreateTypeInput) SetFormat(v string) *CreateTypeInput {
5644	s.Format = &v
5645	return s
5646}
5647
5648type CreateTypeOutput struct {
5649	_ struct{} `type:"structure"`
5650
5651	// The Type object.
5652	Type *Type `locationName:"type" type:"structure"`
5653}
5654
5655// String returns the string representation
5656func (s CreateTypeOutput) String() string {
5657	return awsutil.Prettify(s)
5658}
5659
5660// GoString returns the string representation
5661func (s CreateTypeOutput) GoString() string {
5662	return s.String()
5663}
5664
5665// SetType sets the Type field's value.
5666func (s *CreateTypeOutput) SetType(v *Type) *CreateTypeOutput {
5667	s.Type = v
5668	return s
5669}
5670
5671// Describes a data source.
5672type DataSource struct {
5673	_ struct{} `type:"structure"`
5674
5675	// The data source ARN.
5676	DataSourceArn *string `locationName:"dataSourceArn" type:"string"`
5677
5678	// The description of the data source.
5679	Description *string `locationName:"description" type:"string"`
5680
5681	// Amazon DynamoDB settings.
5682	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
5683
5684	// Amazon Elasticsearch Service settings.
5685	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
5686
5687	// HTTP endpoint settings.
5688	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
5689
5690	// AWS Lambda settings.
5691	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
5692
5693	// The name of the data source.
5694	Name *string `locationName:"name" min:"1" type:"string"`
5695
5696	// Relational database settings.
5697	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
5698
5699	// The AWS IAM service role ARN for the data source. The system assumes this
5700	// role when accessing the data source.
5701	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
5702
5703	// The type of the data source.
5704	//
5705	//    * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
5706	//
5707	//    * AMAZON_ELASTICSEARCH: The data source is an Amazon Elasticsearch Service
5708	//    domain.
5709	//
5710	//    * AWS_LAMBDA: The data source is an AWS Lambda function.
5711	//
5712	//    * NONE: There is no data source. This type is used when you wish to invoke
5713	//    a GraphQL operation without connecting to a data source, such as performing
5714	//    data transformation with resolvers or triggering a subscription to be
5715	//    invoked from a mutation.
5716	//
5717	//    * HTTP: The data source is an HTTP endpoint.
5718	//
5719	//    * RELATIONAL_DATABASE: The data source is a relational database.
5720	Type *string `locationName:"type" type:"string" enum:"DataSourceType"`
5721}
5722
5723// String returns the string representation
5724func (s DataSource) String() string {
5725	return awsutil.Prettify(s)
5726}
5727
5728// GoString returns the string representation
5729func (s DataSource) GoString() string {
5730	return s.String()
5731}
5732
5733// SetDataSourceArn sets the DataSourceArn field's value.
5734func (s *DataSource) SetDataSourceArn(v string) *DataSource {
5735	s.DataSourceArn = &v
5736	return s
5737}
5738
5739// SetDescription sets the Description field's value.
5740func (s *DataSource) SetDescription(v string) *DataSource {
5741	s.Description = &v
5742	return s
5743}
5744
5745// SetDynamodbConfig sets the DynamodbConfig field's value.
5746func (s *DataSource) SetDynamodbConfig(v *DynamodbDataSourceConfig) *DataSource {
5747	s.DynamodbConfig = v
5748	return s
5749}
5750
5751// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
5752func (s *DataSource) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *DataSource {
5753	s.ElasticsearchConfig = v
5754	return s
5755}
5756
5757// SetHttpConfig sets the HttpConfig field's value.
5758func (s *DataSource) SetHttpConfig(v *HttpDataSourceConfig) *DataSource {
5759	s.HttpConfig = v
5760	return s
5761}
5762
5763// SetLambdaConfig sets the LambdaConfig field's value.
5764func (s *DataSource) SetLambdaConfig(v *LambdaDataSourceConfig) *DataSource {
5765	s.LambdaConfig = v
5766	return s
5767}
5768
5769// SetName sets the Name field's value.
5770func (s *DataSource) SetName(v string) *DataSource {
5771	s.Name = &v
5772	return s
5773}
5774
5775// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
5776func (s *DataSource) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *DataSource {
5777	s.RelationalDatabaseConfig = v
5778	return s
5779}
5780
5781// SetServiceRoleArn sets the ServiceRoleArn field's value.
5782func (s *DataSource) SetServiceRoleArn(v string) *DataSource {
5783	s.ServiceRoleArn = &v
5784	return s
5785}
5786
5787// SetType sets the Type field's value.
5788func (s *DataSource) SetType(v string) *DataSource {
5789	s.Type = &v
5790	return s
5791}
5792
5793// Represents the input of a DeleteApiCache operation.
5794type DeleteApiCacheInput struct {
5795	_ struct{} `type:"structure"`
5796
5797	// The API ID.
5798	//
5799	// ApiId is a required field
5800	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5801}
5802
5803// String returns the string representation
5804func (s DeleteApiCacheInput) String() string {
5805	return awsutil.Prettify(s)
5806}
5807
5808// GoString returns the string representation
5809func (s DeleteApiCacheInput) GoString() string {
5810	return s.String()
5811}
5812
5813// Validate inspects the fields of the type to determine if they are valid.
5814func (s *DeleteApiCacheInput) Validate() error {
5815	invalidParams := request.ErrInvalidParams{Context: "DeleteApiCacheInput"}
5816	if s.ApiId == nil {
5817		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5818	}
5819	if s.ApiId != nil && len(*s.ApiId) < 1 {
5820		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5821	}
5822
5823	if invalidParams.Len() > 0 {
5824		return invalidParams
5825	}
5826	return nil
5827}
5828
5829// SetApiId sets the ApiId field's value.
5830func (s *DeleteApiCacheInput) SetApiId(v string) *DeleteApiCacheInput {
5831	s.ApiId = &v
5832	return s
5833}
5834
5835// Represents the output of a DeleteApiCache operation.
5836type DeleteApiCacheOutput struct {
5837	_ struct{} `type:"structure"`
5838}
5839
5840// String returns the string representation
5841func (s DeleteApiCacheOutput) String() string {
5842	return awsutil.Prettify(s)
5843}
5844
5845// GoString returns the string representation
5846func (s DeleteApiCacheOutput) GoString() string {
5847	return s.String()
5848}
5849
5850type DeleteApiKeyInput struct {
5851	_ struct{} `type:"structure"`
5852
5853	// The API ID.
5854	//
5855	// ApiId is a required field
5856	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5857
5858	// The ID for the API key.
5859	//
5860	// Id is a required field
5861	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
5862}
5863
5864// String returns the string representation
5865func (s DeleteApiKeyInput) String() string {
5866	return awsutil.Prettify(s)
5867}
5868
5869// GoString returns the string representation
5870func (s DeleteApiKeyInput) GoString() string {
5871	return s.String()
5872}
5873
5874// Validate inspects the fields of the type to determine if they are valid.
5875func (s *DeleteApiKeyInput) Validate() error {
5876	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
5877	if s.ApiId == nil {
5878		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5879	}
5880	if s.ApiId != nil && len(*s.ApiId) < 1 {
5881		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5882	}
5883	if s.Id == nil {
5884		invalidParams.Add(request.NewErrParamRequired("Id"))
5885	}
5886	if s.Id != nil && len(*s.Id) < 1 {
5887		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5888	}
5889
5890	if invalidParams.Len() > 0 {
5891		return invalidParams
5892	}
5893	return nil
5894}
5895
5896// SetApiId sets the ApiId field's value.
5897func (s *DeleteApiKeyInput) SetApiId(v string) *DeleteApiKeyInput {
5898	s.ApiId = &v
5899	return s
5900}
5901
5902// SetId sets the Id field's value.
5903func (s *DeleteApiKeyInput) SetId(v string) *DeleteApiKeyInput {
5904	s.Id = &v
5905	return s
5906}
5907
5908type DeleteApiKeyOutput struct {
5909	_ struct{} `type:"structure"`
5910}
5911
5912// String returns the string representation
5913func (s DeleteApiKeyOutput) String() string {
5914	return awsutil.Prettify(s)
5915}
5916
5917// GoString returns the string representation
5918func (s DeleteApiKeyOutput) GoString() string {
5919	return s.String()
5920}
5921
5922type DeleteDataSourceInput struct {
5923	_ struct{} `type:"structure"`
5924
5925	// The API ID.
5926	//
5927	// ApiId is a required field
5928	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5929
5930	// The name of the data source.
5931	//
5932	// Name is a required field
5933	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
5934}
5935
5936// String returns the string representation
5937func (s DeleteDataSourceInput) String() string {
5938	return awsutil.Prettify(s)
5939}
5940
5941// GoString returns the string representation
5942func (s DeleteDataSourceInput) GoString() string {
5943	return s.String()
5944}
5945
5946// Validate inspects the fields of the type to determine if they are valid.
5947func (s *DeleteDataSourceInput) Validate() error {
5948	invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"}
5949	if s.ApiId == nil {
5950		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5951	}
5952	if s.ApiId != nil && len(*s.ApiId) < 1 {
5953		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5954	}
5955	if s.Name == nil {
5956		invalidParams.Add(request.NewErrParamRequired("Name"))
5957	}
5958	if s.Name != nil && len(*s.Name) < 1 {
5959		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5960	}
5961
5962	if invalidParams.Len() > 0 {
5963		return invalidParams
5964	}
5965	return nil
5966}
5967
5968// SetApiId sets the ApiId field's value.
5969func (s *DeleteDataSourceInput) SetApiId(v string) *DeleteDataSourceInput {
5970	s.ApiId = &v
5971	return s
5972}
5973
5974// SetName sets the Name field's value.
5975func (s *DeleteDataSourceInput) SetName(v string) *DeleteDataSourceInput {
5976	s.Name = &v
5977	return s
5978}
5979
5980type DeleteDataSourceOutput struct {
5981	_ struct{} `type:"structure"`
5982}
5983
5984// String returns the string representation
5985func (s DeleteDataSourceOutput) String() string {
5986	return awsutil.Prettify(s)
5987}
5988
5989// GoString returns the string representation
5990func (s DeleteDataSourceOutput) GoString() string {
5991	return s.String()
5992}
5993
5994type DeleteFunctionInput struct {
5995	_ struct{} `type:"structure"`
5996
5997	// The GraphQL API ID.
5998	//
5999	// ApiId is a required field
6000	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6001
6002	// The Function ID.
6003	//
6004	// FunctionId is a required field
6005	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
6006}
6007
6008// String returns the string representation
6009func (s DeleteFunctionInput) String() string {
6010	return awsutil.Prettify(s)
6011}
6012
6013// GoString returns the string representation
6014func (s DeleteFunctionInput) GoString() string {
6015	return s.String()
6016}
6017
6018// Validate inspects the fields of the type to determine if they are valid.
6019func (s *DeleteFunctionInput) Validate() error {
6020	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
6021	if s.ApiId == nil {
6022		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6023	}
6024	if s.ApiId != nil && len(*s.ApiId) < 1 {
6025		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6026	}
6027	if s.FunctionId == nil {
6028		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
6029	}
6030	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
6031		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
6032	}
6033
6034	if invalidParams.Len() > 0 {
6035		return invalidParams
6036	}
6037	return nil
6038}
6039
6040// SetApiId sets the ApiId field's value.
6041func (s *DeleteFunctionInput) SetApiId(v string) *DeleteFunctionInput {
6042	s.ApiId = &v
6043	return s
6044}
6045
6046// SetFunctionId sets the FunctionId field's value.
6047func (s *DeleteFunctionInput) SetFunctionId(v string) *DeleteFunctionInput {
6048	s.FunctionId = &v
6049	return s
6050}
6051
6052type DeleteFunctionOutput struct {
6053	_ struct{} `type:"structure"`
6054}
6055
6056// String returns the string representation
6057func (s DeleteFunctionOutput) String() string {
6058	return awsutil.Prettify(s)
6059}
6060
6061// GoString returns the string representation
6062func (s DeleteFunctionOutput) GoString() string {
6063	return s.String()
6064}
6065
6066type DeleteGraphqlApiInput struct {
6067	_ struct{} `type:"structure"`
6068
6069	// The API ID.
6070	//
6071	// ApiId is a required field
6072	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6073}
6074
6075// String returns the string representation
6076func (s DeleteGraphqlApiInput) String() string {
6077	return awsutil.Prettify(s)
6078}
6079
6080// GoString returns the string representation
6081func (s DeleteGraphqlApiInput) GoString() string {
6082	return s.String()
6083}
6084
6085// Validate inspects the fields of the type to determine if they are valid.
6086func (s *DeleteGraphqlApiInput) Validate() error {
6087	invalidParams := request.ErrInvalidParams{Context: "DeleteGraphqlApiInput"}
6088	if s.ApiId == nil {
6089		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6090	}
6091	if s.ApiId != nil && len(*s.ApiId) < 1 {
6092		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6093	}
6094
6095	if invalidParams.Len() > 0 {
6096		return invalidParams
6097	}
6098	return nil
6099}
6100
6101// SetApiId sets the ApiId field's value.
6102func (s *DeleteGraphqlApiInput) SetApiId(v string) *DeleteGraphqlApiInput {
6103	s.ApiId = &v
6104	return s
6105}
6106
6107type DeleteGraphqlApiOutput struct {
6108	_ struct{} `type:"structure"`
6109}
6110
6111// String returns the string representation
6112func (s DeleteGraphqlApiOutput) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s DeleteGraphqlApiOutput) GoString() string {
6118	return s.String()
6119}
6120
6121type DeleteResolverInput struct {
6122	_ struct{} `type:"structure"`
6123
6124	// The API ID.
6125	//
6126	// ApiId is a required field
6127	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6128
6129	// The resolver field name.
6130	//
6131	// FieldName is a required field
6132	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
6133
6134	// The name of the resolver type.
6135	//
6136	// TypeName is a required field
6137	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
6138}
6139
6140// String returns the string representation
6141func (s DeleteResolverInput) String() string {
6142	return awsutil.Prettify(s)
6143}
6144
6145// GoString returns the string representation
6146func (s DeleteResolverInput) GoString() string {
6147	return s.String()
6148}
6149
6150// Validate inspects the fields of the type to determine if they are valid.
6151func (s *DeleteResolverInput) Validate() error {
6152	invalidParams := request.ErrInvalidParams{Context: "DeleteResolverInput"}
6153	if s.ApiId == nil {
6154		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6155	}
6156	if s.ApiId != nil && len(*s.ApiId) < 1 {
6157		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6158	}
6159	if s.FieldName == nil {
6160		invalidParams.Add(request.NewErrParamRequired("FieldName"))
6161	}
6162	if s.FieldName != nil && len(*s.FieldName) < 1 {
6163		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
6164	}
6165	if s.TypeName == nil {
6166		invalidParams.Add(request.NewErrParamRequired("TypeName"))
6167	}
6168	if s.TypeName != nil && len(*s.TypeName) < 1 {
6169		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
6170	}
6171
6172	if invalidParams.Len() > 0 {
6173		return invalidParams
6174	}
6175	return nil
6176}
6177
6178// SetApiId sets the ApiId field's value.
6179func (s *DeleteResolverInput) SetApiId(v string) *DeleteResolverInput {
6180	s.ApiId = &v
6181	return s
6182}
6183
6184// SetFieldName sets the FieldName field's value.
6185func (s *DeleteResolverInput) SetFieldName(v string) *DeleteResolverInput {
6186	s.FieldName = &v
6187	return s
6188}
6189
6190// SetTypeName sets the TypeName field's value.
6191func (s *DeleteResolverInput) SetTypeName(v string) *DeleteResolverInput {
6192	s.TypeName = &v
6193	return s
6194}
6195
6196type DeleteResolverOutput struct {
6197	_ struct{} `type:"structure"`
6198}
6199
6200// String returns the string representation
6201func (s DeleteResolverOutput) String() string {
6202	return awsutil.Prettify(s)
6203}
6204
6205// GoString returns the string representation
6206func (s DeleteResolverOutput) GoString() string {
6207	return s.String()
6208}
6209
6210type DeleteTypeInput struct {
6211	_ struct{} `type:"structure"`
6212
6213	// The API ID.
6214	//
6215	// ApiId is a required field
6216	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6217
6218	// The type name.
6219	//
6220	// TypeName is a required field
6221	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
6222}
6223
6224// String returns the string representation
6225func (s DeleteTypeInput) String() string {
6226	return awsutil.Prettify(s)
6227}
6228
6229// GoString returns the string representation
6230func (s DeleteTypeInput) GoString() string {
6231	return s.String()
6232}
6233
6234// Validate inspects the fields of the type to determine if they are valid.
6235func (s *DeleteTypeInput) Validate() error {
6236	invalidParams := request.ErrInvalidParams{Context: "DeleteTypeInput"}
6237	if s.ApiId == nil {
6238		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6239	}
6240	if s.ApiId != nil && len(*s.ApiId) < 1 {
6241		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6242	}
6243	if s.TypeName == nil {
6244		invalidParams.Add(request.NewErrParamRequired("TypeName"))
6245	}
6246	if s.TypeName != nil && len(*s.TypeName) < 1 {
6247		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
6248	}
6249
6250	if invalidParams.Len() > 0 {
6251		return invalidParams
6252	}
6253	return nil
6254}
6255
6256// SetApiId sets the ApiId field's value.
6257func (s *DeleteTypeInput) SetApiId(v string) *DeleteTypeInput {
6258	s.ApiId = &v
6259	return s
6260}
6261
6262// SetTypeName sets the TypeName field's value.
6263func (s *DeleteTypeInput) SetTypeName(v string) *DeleteTypeInput {
6264	s.TypeName = &v
6265	return s
6266}
6267
6268type DeleteTypeOutput struct {
6269	_ struct{} `type:"structure"`
6270}
6271
6272// String returns the string representation
6273func (s DeleteTypeOutput) String() string {
6274	return awsutil.Prettify(s)
6275}
6276
6277// GoString returns the string representation
6278func (s DeleteTypeOutput) GoString() string {
6279	return s.String()
6280}
6281
6282// Describes a Delta Sync configuration.
6283type DeltaSyncConfig struct {
6284	_ struct{} `type:"structure"`
6285
6286	// The number of minutes an Item is stored in the datasource.
6287	BaseTableTTL *int64 `locationName:"baseTableTTL" type:"long"`
6288
6289	// The Delta Sync table name.
6290	DeltaSyncTableName *string `locationName:"deltaSyncTableName" type:"string"`
6291
6292	// The number of minutes a Delta Sync log entry is stored in the Delta Sync
6293	// table.
6294	DeltaSyncTableTTL *int64 `locationName:"deltaSyncTableTTL" type:"long"`
6295}
6296
6297// String returns the string representation
6298func (s DeltaSyncConfig) String() string {
6299	return awsutil.Prettify(s)
6300}
6301
6302// GoString returns the string representation
6303func (s DeltaSyncConfig) GoString() string {
6304	return s.String()
6305}
6306
6307// SetBaseTableTTL sets the BaseTableTTL field's value.
6308func (s *DeltaSyncConfig) SetBaseTableTTL(v int64) *DeltaSyncConfig {
6309	s.BaseTableTTL = &v
6310	return s
6311}
6312
6313// SetDeltaSyncTableName sets the DeltaSyncTableName field's value.
6314func (s *DeltaSyncConfig) SetDeltaSyncTableName(v string) *DeltaSyncConfig {
6315	s.DeltaSyncTableName = &v
6316	return s
6317}
6318
6319// SetDeltaSyncTableTTL sets the DeltaSyncTableTTL field's value.
6320func (s *DeltaSyncConfig) SetDeltaSyncTableTTL(v int64) *DeltaSyncConfig {
6321	s.DeltaSyncTableTTL = &v
6322	return s
6323}
6324
6325// Describes an Amazon DynamoDB data source configuration.
6326type DynamodbDataSourceConfig struct {
6327	_ struct{} `type:"structure"`
6328
6329	// The AWS Region.
6330	//
6331	// AwsRegion is a required field
6332	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
6333
6334	// The DeltaSyncConfig for a versioned datasource.
6335	DeltaSyncConfig *DeltaSyncConfig `locationName:"deltaSyncConfig" type:"structure"`
6336
6337	// The table name.
6338	//
6339	// TableName is a required field
6340	TableName *string `locationName:"tableName" type:"string" required:"true"`
6341
6342	// Set to TRUE to use Amazon Cognito credentials with this data source.
6343	UseCallerCredentials *bool `locationName:"useCallerCredentials" type:"boolean"`
6344
6345	// Set to TRUE to use Conflict Detection and Resolution with this data source.
6346	Versioned *bool `locationName:"versioned" type:"boolean"`
6347}
6348
6349// String returns the string representation
6350func (s DynamodbDataSourceConfig) String() string {
6351	return awsutil.Prettify(s)
6352}
6353
6354// GoString returns the string representation
6355func (s DynamodbDataSourceConfig) GoString() string {
6356	return s.String()
6357}
6358
6359// Validate inspects the fields of the type to determine if they are valid.
6360func (s *DynamodbDataSourceConfig) Validate() error {
6361	invalidParams := request.ErrInvalidParams{Context: "DynamodbDataSourceConfig"}
6362	if s.AwsRegion == nil {
6363		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
6364	}
6365	if s.TableName == nil {
6366		invalidParams.Add(request.NewErrParamRequired("TableName"))
6367	}
6368
6369	if invalidParams.Len() > 0 {
6370		return invalidParams
6371	}
6372	return nil
6373}
6374
6375// SetAwsRegion sets the AwsRegion field's value.
6376func (s *DynamodbDataSourceConfig) SetAwsRegion(v string) *DynamodbDataSourceConfig {
6377	s.AwsRegion = &v
6378	return s
6379}
6380
6381// SetDeltaSyncConfig sets the DeltaSyncConfig field's value.
6382func (s *DynamodbDataSourceConfig) SetDeltaSyncConfig(v *DeltaSyncConfig) *DynamodbDataSourceConfig {
6383	s.DeltaSyncConfig = v
6384	return s
6385}
6386
6387// SetTableName sets the TableName field's value.
6388func (s *DynamodbDataSourceConfig) SetTableName(v string) *DynamodbDataSourceConfig {
6389	s.TableName = &v
6390	return s
6391}
6392
6393// SetUseCallerCredentials sets the UseCallerCredentials field's value.
6394func (s *DynamodbDataSourceConfig) SetUseCallerCredentials(v bool) *DynamodbDataSourceConfig {
6395	s.UseCallerCredentials = &v
6396	return s
6397}
6398
6399// SetVersioned sets the Versioned field's value.
6400func (s *DynamodbDataSourceConfig) SetVersioned(v bool) *DynamodbDataSourceConfig {
6401	s.Versioned = &v
6402	return s
6403}
6404
6405// Describes an Elasticsearch data source configuration.
6406type ElasticsearchDataSourceConfig struct {
6407	_ struct{} `type:"structure"`
6408
6409	// The AWS Region.
6410	//
6411	// AwsRegion is a required field
6412	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
6413
6414	// The endpoint.
6415	//
6416	// Endpoint is a required field
6417	Endpoint *string `locationName:"endpoint" type:"string" required:"true"`
6418}
6419
6420// String returns the string representation
6421func (s ElasticsearchDataSourceConfig) String() string {
6422	return awsutil.Prettify(s)
6423}
6424
6425// GoString returns the string representation
6426func (s ElasticsearchDataSourceConfig) GoString() string {
6427	return s.String()
6428}
6429
6430// Validate inspects the fields of the type to determine if they are valid.
6431func (s *ElasticsearchDataSourceConfig) Validate() error {
6432	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDataSourceConfig"}
6433	if s.AwsRegion == nil {
6434		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
6435	}
6436	if s.Endpoint == nil {
6437		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
6438	}
6439
6440	if invalidParams.Len() > 0 {
6441		return invalidParams
6442	}
6443	return nil
6444}
6445
6446// SetAwsRegion sets the AwsRegion field's value.
6447func (s *ElasticsearchDataSourceConfig) SetAwsRegion(v string) *ElasticsearchDataSourceConfig {
6448	s.AwsRegion = &v
6449	return s
6450}
6451
6452// SetEndpoint sets the Endpoint field's value.
6453func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig {
6454	s.Endpoint = &v
6455	return s
6456}
6457
6458// Represents the input of a FlushApiCache operation.
6459type FlushApiCacheInput struct {
6460	_ struct{} `type:"structure"`
6461
6462	// The API ID.
6463	//
6464	// ApiId is a required field
6465	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6466}
6467
6468// String returns the string representation
6469func (s FlushApiCacheInput) String() string {
6470	return awsutil.Prettify(s)
6471}
6472
6473// GoString returns the string representation
6474func (s FlushApiCacheInput) GoString() string {
6475	return s.String()
6476}
6477
6478// Validate inspects the fields of the type to determine if they are valid.
6479func (s *FlushApiCacheInput) Validate() error {
6480	invalidParams := request.ErrInvalidParams{Context: "FlushApiCacheInput"}
6481	if s.ApiId == nil {
6482		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6483	}
6484	if s.ApiId != nil && len(*s.ApiId) < 1 {
6485		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6486	}
6487
6488	if invalidParams.Len() > 0 {
6489		return invalidParams
6490	}
6491	return nil
6492}
6493
6494// SetApiId sets the ApiId field's value.
6495func (s *FlushApiCacheInput) SetApiId(v string) *FlushApiCacheInput {
6496	s.ApiId = &v
6497	return s
6498}
6499
6500// Represents the output of a FlushApiCache operation.
6501type FlushApiCacheOutput struct {
6502	_ struct{} `type:"structure"`
6503}
6504
6505// String returns the string representation
6506func (s FlushApiCacheOutput) String() string {
6507	return awsutil.Prettify(s)
6508}
6509
6510// GoString returns the string representation
6511func (s FlushApiCacheOutput) GoString() string {
6512	return s.String()
6513}
6514
6515// A function is a reusable entity. Multiple functions can be used to compose
6516// the resolver logic.
6517type FunctionConfiguration struct {
6518	_ struct{} `type:"structure"`
6519
6520	// The name of the DataSource.
6521	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
6522
6523	// The Function description.
6524	Description *string `locationName:"description" type:"string"`
6525
6526	// The ARN of the Function object.
6527	FunctionArn *string `locationName:"functionArn" type:"string"`
6528
6529	// A unique ID representing the Function object.
6530	FunctionId *string `locationName:"functionId" type:"string"`
6531
6532	// The version of the request mapping template. Currently only the 2018-05-29
6533	// version of the template is supported.
6534	FunctionVersion *string `locationName:"functionVersion" type:"string"`
6535
6536	// The name of the Function object.
6537	Name *string `locationName:"name" min:"1" type:"string"`
6538
6539	// The Function request mapping template. Functions support only the 2018-05-29
6540	// version of the request mapping template.
6541	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
6542
6543	// The Function response mapping template.
6544	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
6545
6546	// Describes a Sync configuration for a resolver.
6547	//
6548	// Contains information on which Conflict Detection as well as Resolution strategy
6549	// should be performed when the resolver is invoked.
6550	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
6551}
6552
6553// String returns the string representation
6554func (s FunctionConfiguration) String() string {
6555	return awsutil.Prettify(s)
6556}
6557
6558// GoString returns the string representation
6559func (s FunctionConfiguration) GoString() string {
6560	return s.String()
6561}
6562
6563// SetDataSourceName sets the DataSourceName field's value.
6564func (s *FunctionConfiguration) SetDataSourceName(v string) *FunctionConfiguration {
6565	s.DataSourceName = &v
6566	return s
6567}
6568
6569// SetDescription sets the Description field's value.
6570func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
6571	s.Description = &v
6572	return s
6573}
6574
6575// SetFunctionArn sets the FunctionArn field's value.
6576func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
6577	s.FunctionArn = &v
6578	return s
6579}
6580
6581// SetFunctionId sets the FunctionId field's value.
6582func (s *FunctionConfiguration) SetFunctionId(v string) *FunctionConfiguration {
6583	s.FunctionId = &v
6584	return s
6585}
6586
6587// SetFunctionVersion sets the FunctionVersion field's value.
6588func (s *FunctionConfiguration) SetFunctionVersion(v string) *FunctionConfiguration {
6589	s.FunctionVersion = &v
6590	return s
6591}
6592
6593// SetName sets the Name field's value.
6594func (s *FunctionConfiguration) SetName(v string) *FunctionConfiguration {
6595	s.Name = &v
6596	return s
6597}
6598
6599// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
6600func (s *FunctionConfiguration) SetRequestMappingTemplate(v string) *FunctionConfiguration {
6601	s.RequestMappingTemplate = &v
6602	return s
6603}
6604
6605// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
6606func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionConfiguration {
6607	s.ResponseMappingTemplate = &v
6608	return s
6609}
6610
6611// SetSyncConfig sets the SyncConfig field's value.
6612func (s *FunctionConfiguration) SetSyncConfig(v *SyncConfig) *FunctionConfiguration {
6613	s.SyncConfig = v
6614	return s
6615}
6616
6617// Represents the input of a GetApiCache operation.
6618type GetApiCacheInput struct {
6619	_ struct{} `type:"structure"`
6620
6621	// The API ID.
6622	//
6623	// ApiId is a required field
6624	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6625}
6626
6627// String returns the string representation
6628func (s GetApiCacheInput) String() string {
6629	return awsutil.Prettify(s)
6630}
6631
6632// GoString returns the string representation
6633func (s GetApiCacheInput) GoString() string {
6634	return s.String()
6635}
6636
6637// Validate inspects the fields of the type to determine if they are valid.
6638func (s *GetApiCacheInput) Validate() error {
6639	invalidParams := request.ErrInvalidParams{Context: "GetApiCacheInput"}
6640	if s.ApiId == nil {
6641		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6642	}
6643	if s.ApiId != nil && len(*s.ApiId) < 1 {
6644		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6645	}
6646
6647	if invalidParams.Len() > 0 {
6648		return invalidParams
6649	}
6650	return nil
6651}
6652
6653// SetApiId sets the ApiId field's value.
6654func (s *GetApiCacheInput) SetApiId(v string) *GetApiCacheInput {
6655	s.ApiId = &v
6656	return s
6657}
6658
6659// Represents the output of a GetApiCache operation.
6660type GetApiCacheOutput struct {
6661	_ struct{} `type:"structure"`
6662
6663	// The ApiCache object.
6664	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
6665}
6666
6667// String returns the string representation
6668func (s GetApiCacheOutput) String() string {
6669	return awsutil.Prettify(s)
6670}
6671
6672// GoString returns the string representation
6673func (s GetApiCacheOutput) GoString() string {
6674	return s.String()
6675}
6676
6677// SetApiCache sets the ApiCache field's value.
6678func (s *GetApiCacheOutput) SetApiCache(v *ApiCache) *GetApiCacheOutput {
6679	s.ApiCache = v
6680	return s
6681}
6682
6683type GetDataSourceInput struct {
6684	_ struct{} `type:"structure"`
6685
6686	// The API ID.
6687	//
6688	// ApiId is a required field
6689	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6690
6691	// The name of the data source.
6692	//
6693	// Name is a required field
6694	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6695}
6696
6697// String returns the string representation
6698func (s GetDataSourceInput) String() string {
6699	return awsutil.Prettify(s)
6700}
6701
6702// GoString returns the string representation
6703func (s GetDataSourceInput) GoString() string {
6704	return s.String()
6705}
6706
6707// Validate inspects the fields of the type to determine if they are valid.
6708func (s *GetDataSourceInput) Validate() error {
6709	invalidParams := request.ErrInvalidParams{Context: "GetDataSourceInput"}
6710	if s.ApiId == nil {
6711		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6712	}
6713	if s.ApiId != nil && len(*s.ApiId) < 1 {
6714		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6715	}
6716	if s.Name == nil {
6717		invalidParams.Add(request.NewErrParamRequired("Name"))
6718	}
6719	if s.Name != nil && len(*s.Name) < 1 {
6720		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6721	}
6722
6723	if invalidParams.Len() > 0 {
6724		return invalidParams
6725	}
6726	return nil
6727}
6728
6729// SetApiId sets the ApiId field's value.
6730func (s *GetDataSourceInput) SetApiId(v string) *GetDataSourceInput {
6731	s.ApiId = &v
6732	return s
6733}
6734
6735// SetName sets the Name field's value.
6736func (s *GetDataSourceInput) SetName(v string) *GetDataSourceInput {
6737	s.Name = &v
6738	return s
6739}
6740
6741type GetDataSourceOutput struct {
6742	_ struct{} `type:"structure"`
6743
6744	// The DataSource object.
6745	DataSource *DataSource `locationName:"dataSource" type:"structure"`
6746}
6747
6748// String returns the string representation
6749func (s GetDataSourceOutput) String() string {
6750	return awsutil.Prettify(s)
6751}
6752
6753// GoString returns the string representation
6754func (s GetDataSourceOutput) GoString() string {
6755	return s.String()
6756}
6757
6758// SetDataSource sets the DataSource field's value.
6759func (s *GetDataSourceOutput) SetDataSource(v *DataSource) *GetDataSourceOutput {
6760	s.DataSource = v
6761	return s
6762}
6763
6764type GetFunctionInput struct {
6765	_ struct{} `type:"structure"`
6766
6767	// The GraphQL API ID.
6768	//
6769	// ApiId is a required field
6770	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6771
6772	// The Function ID.
6773	//
6774	// FunctionId is a required field
6775	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
6776}
6777
6778// String returns the string representation
6779func (s GetFunctionInput) String() string {
6780	return awsutil.Prettify(s)
6781}
6782
6783// GoString returns the string representation
6784func (s GetFunctionInput) GoString() string {
6785	return s.String()
6786}
6787
6788// Validate inspects the fields of the type to determine if they are valid.
6789func (s *GetFunctionInput) Validate() error {
6790	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
6791	if s.ApiId == nil {
6792		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6793	}
6794	if s.ApiId != nil && len(*s.ApiId) < 1 {
6795		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6796	}
6797	if s.FunctionId == nil {
6798		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
6799	}
6800	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
6801		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
6802	}
6803
6804	if invalidParams.Len() > 0 {
6805		return invalidParams
6806	}
6807	return nil
6808}
6809
6810// SetApiId sets the ApiId field's value.
6811func (s *GetFunctionInput) SetApiId(v string) *GetFunctionInput {
6812	s.ApiId = &v
6813	return s
6814}
6815
6816// SetFunctionId sets the FunctionId field's value.
6817func (s *GetFunctionInput) SetFunctionId(v string) *GetFunctionInput {
6818	s.FunctionId = &v
6819	return s
6820}
6821
6822type GetFunctionOutput struct {
6823	_ struct{} `type:"structure"`
6824
6825	// The Function object.
6826	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
6827}
6828
6829// String returns the string representation
6830func (s GetFunctionOutput) String() string {
6831	return awsutil.Prettify(s)
6832}
6833
6834// GoString returns the string representation
6835func (s GetFunctionOutput) GoString() string {
6836	return s.String()
6837}
6838
6839// SetFunctionConfiguration sets the FunctionConfiguration field's value.
6840func (s *GetFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
6841	s.FunctionConfiguration = v
6842	return s
6843}
6844
6845type GetGraphqlApiInput struct {
6846	_ struct{} `type:"structure"`
6847
6848	// The API ID for the GraphQL API.
6849	//
6850	// ApiId is a required field
6851	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6852}
6853
6854// String returns the string representation
6855func (s GetGraphqlApiInput) String() string {
6856	return awsutil.Prettify(s)
6857}
6858
6859// GoString returns the string representation
6860func (s GetGraphqlApiInput) GoString() string {
6861	return s.String()
6862}
6863
6864// Validate inspects the fields of the type to determine if they are valid.
6865func (s *GetGraphqlApiInput) Validate() error {
6866	invalidParams := request.ErrInvalidParams{Context: "GetGraphqlApiInput"}
6867	if s.ApiId == nil {
6868		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6869	}
6870	if s.ApiId != nil && len(*s.ApiId) < 1 {
6871		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6872	}
6873
6874	if invalidParams.Len() > 0 {
6875		return invalidParams
6876	}
6877	return nil
6878}
6879
6880// SetApiId sets the ApiId field's value.
6881func (s *GetGraphqlApiInput) SetApiId(v string) *GetGraphqlApiInput {
6882	s.ApiId = &v
6883	return s
6884}
6885
6886type GetGraphqlApiOutput struct {
6887	_ struct{} `type:"structure"`
6888
6889	// The GraphqlApi object.
6890	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
6891}
6892
6893// String returns the string representation
6894func (s GetGraphqlApiOutput) String() string {
6895	return awsutil.Prettify(s)
6896}
6897
6898// GoString returns the string representation
6899func (s GetGraphqlApiOutput) GoString() string {
6900	return s.String()
6901}
6902
6903// SetGraphqlApi sets the GraphqlApi field's value.
6904func (s *GetGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *GetGraphqlApiOutput {
6905	s.GraphqlApi = v
6906	return s
6907}
6908
6909type GetIntrospectionSchemaInput struct {
6910	_ struct{} `type:"structure"`
6911
6912	// The API ID.
6913	//
6914	// ApiId is a required field
6915	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6916
6917	// The schema format: SDL or JSON.
6918	//
6919	// Format is a required field
6920	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"OutputType"`
6921
6922	// A flag that specifies whether the schema introspection should contain directives.
6923	IncludeDirectives *bool `location:"querystring" locationName:"includeDirectives" type:"boolean"`
6924}
6925
6926// String returns the string representation
6927func (s GetIntrospectionSchemaInput) String() string {
6928	return awsutil.Prettify(s)
6929}
6930
6931// GoString returns the string representation
6932func (s GetIntrospectionSchemaInput) GoString() string {
6933	return s.String()
6934}
6935
6936// Validate inspects the fields of the type to determine if they are valid.
6937func (s *GetIntrospectionSchemaInput) Validate() error {
6938	invalidParams := request.ErrInvalidParams{Context: "GetIntrospectionSchemaInput"}
6939	if s.ApiId == nil {
6940		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6941	}
6942	if s.ApiId != nil && len(*s.ApiId) < 1 {
6943		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6944	}
6945	if s.Format == nil {
6946		invalidParams.Add(request.NewErrParamRequired("Format"))
6947	}
6948
6949	if invalidParams.Len() > 0 {
6950		return invalidParams
6951	}
6952	return nil
6953}
6954
6955// SetApiId sets the ApiId field's value.
6956func (s *GetIntrospectionSchemaInput) SetApiId(v string) *GetIntrospectionSchemaInput {
6957	s.ApiId = &v
6958	return s
6959}
6960
6961// SetFormat sets the Format field's value.
6962func (s *GetIntrospectionSchemaInput) SetFormat(v string) *GetIntrospectionSchemaInput {
6963	s.Format = &v
6964	return s
6965}
6966
6967// SetIncludeDirectives sets the IncludeDirectives field's value.
6968func (s *GetIntrospectionSchemaInput) SetIncludeDirectives(v bool) *GetIntrospectionSchemaInput {
6969	s.IncludeDirectives = &v
6970	return s
6971}
6972
6973type GetIntrospectionSchemaOutput struct {
6974	_ struct{} `type:"structure" payload:"Schema"`
6975
6976	// The schema, in GraphQL Schema Definition Language (SDL) format.
6977	//
6978	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
6979	Schema []byte `locationName:"schema" type:"blob"`
6980}
6981
6982// String returns the string representation
6983func (s GetIntrospectionSchemaOutput) String() string {
6984	return awsutil.Prettify(s)
6985}
6986
6987// GoString returns the string representation
6988func (s GetIntrospectionSchemaOutput) GoString() string {
6989	return s.String()
6990}
6991
6992// SetSchema sets the Schema field's value.
6993func (s *GetIntrospectionSchemaOutput) SetSchema(v []byte) *GetIntrospectionSchemaOutput {
6994	s.Schema = v
6995	return s
6996}
6997
6998type GetResolverInput struct {
6999	_ struct{} `type:"structure"`
7000
7001	// The API ID.
7002	//
7003	// ApiId is a required field
7004	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7005
7006	// The resolver field name.
7007	//
7008	// FieldName is a required field
7009	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
7010
7011	// The resolver type name.
7012	//
7013	// TypeName is a required field
7014	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
7015}
7016
7017// String returns the string representation
7018func (s GetResolverInput) String() string {
7019	return awsutil.Prettify(s)
7020}
7021
7022// GoString returns the string representation
7023func (s GetResolverInput) GoString() string {
7024	return s.String()
7025}
7026
7027// Validate inspects the fields of the type to determine if they are valid.
7028func (s *GetResolverInput) Validate() error {
7029	invalidParams := request.ErrInvalidParams{Context: "GetResolverInput"}
7030	if s.ApiId == nil {
7031		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7032	}
7033	if s.ApiId != nil && len(*s.ApiId) < 1 {
7034		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7035	}
7036	if s.FieldName == nil {
7037		invalidParams.Add(request.NewErrParamRequired("FieldName"))
7038	}
7039	if s.FieldName != nil && len(*s.FieldName) < 1 {
7040		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
7041	}
7042	if s.TypeName == nil {
7043		invalidParams.Add(request.NewErrParamRequired("TypeName"))
7044	}
7045	if s.TypeName != nil && len(*s.TypeName) < 1 {
7046		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
7047	}
7048
7049	if invalidParams.Len() > 0 {
7050		return invalidParams
7051	}
7052	return nil
7053}
7054
7055// SetApiId sets the ApiId field's value.
7056func (s *GetResolverInput) SetApiId(v string) *GetResolverInput {
7057	s.ApiId = &v
7058	return s
7059}
7060
7061// SetFieldName sets the FieldName field's value.
7062func (s *GetResolverInput) SetFieldName(v string) *GetResolverInput {
7063	s.FieldName = &v
7064	return s
7065}
7066
7067// SetTypeName sets the TypeName field's value.
7068func (s *GetResolverInput) SetTypeName(v string) *GetResolverInput {
7069	s.TypeName = &v
7070	return s
7071}
7072
7073type GetResolverOutput struct {
7074	_ struct{} `type:"structure"`
7075
7076	// The Resolver object.
7077	Resolver *Resolver `locationName:"resolver" type:"structure"`
7078}
7079
7080// String returns the string representation
7081func (s GetResolverOutput) String() string {
7082	return awsutil.Prettify(s)
7083}
7084
7085// GoString returns the string representation
7086func (s GetResolverOutput) GoString() string {
7087	return s.String()
7088}
7089
7090// SetResolver sets the Resolver field's value.
7091func (s *GetResolverOutput) SetResolver(v *Resolver) *GetResolverOutput {
7092	s.Resolver = v
7093	return s
7094}
7095
7096type GetSchemaCreationStatusInput struct {
7097	_ struct{} `type:"structure"`
7098
7099	// The API ID.
7100	//
7101	// ApiId is a required field
7102	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7103}
7104
7105// String returns the string representation
7106func (s GetSchemaCreationStatusInput) String() string {
7107	return awsutil.Prettify(s)
7108}
7109
7110// GoString returns the string representation
7111func (s GetSchemaCreationStatusInput) GoString() string {
7112	return s.String()
7113}
7114
7115// Validate inspects the fields of the type to determine if they are valid.
7116func (s *GetSchemaCreationStatusInput) Validate() error {
7117	invalidParams := request.ErrInvalidParams{Context: "GetSchemaCreationStatusInput"}
7118	if s.ApiId == nil {
7119		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7120	}
7121	if s.ApiId != nil && len(*s.ApiId) < 1 {
7122		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7123	}
7124
7125	if invalidParams.Len() > 0 {
7126		return invalidParams
7127	}
7128	return nil
7129}
7130
7131// SetApiId sets the ApiId field's value.
7132func (s *GetSchemaCreationStatusInput) SetApiId(v string) *GetSchemaCreationStatusInput {
7133	s.ApiId = &v
7134	return s
7135}
7136
7137type GetSchemaCreationStatusOutput struct {
7138	_ struct{} `type:"structure"`
7139
7140	// Detailed information about the status of the schema creation operation.
7141	Details *string `locationName:"details" type:"string"`
7142
7143	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
7144	// When the schema is in the ACTIVE state, you can add data.
7145	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
7146}
7147
7148// String returns the string representation
7149func (s GetSchemaCreationStatusOutput) String() string {
7150	return awsutil.Prettify(s)
7151}
7152
7153// GoString returns the string representation
7154func (s GetSchemaCreationStatusOutput) GoString() string {
7155	return s.String()
7156}
7157
7158// SetDetails sets the Details field's value.
7159func (s *GetSchemaCreationStatusOutput) SetDetails(v string) *GetSchemaCreationStatusOutput {
7160	s.Details = &v
7161	return s
7162}
7163
7164// SetStatus sets the Status field's value.
7165func (s *GetSchemaCreationStatusOutput) SetStatus(v string) *GetSchemaCreationStatusOutput {
7166	s.Status = &v
7167	return s
7168}
7169
7170type GetTypeInput struct {
7171	_ struct{} `type:"structure"`
7172
7173	// The API ID.
7174	//
7175	// ApiId is a required field
7176	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7177
7178	// The type format: SDL or JSON.
7179	//
7180	// Format is a required field
7181	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
7182
7183	// The type name.
7184	//
7185	// TypeName is a required field
7186	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
7187}
7188
7189// String returns the string representation
7190func (s GetTypeInput) String() string {
7191	return awsutil.Prettify(s)
7192}
7193
7194// GoString returns the string representation
7195func (s GetTypeInput) GoString() string {
7196	return s.String()
7197}
7198
7199// Validate inspects the fields of the type to determine if they are valid.
7200func (s *GetTypeInput) Validate() error {
7201	invalidParams := request.ErrInvalidParams{Context: "GetTypeInput"}
7202	if s.ApiId == nil {
7203		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7204	}
7205	if s.ApiId != nil && len(*s.ApiId) < 1 {
7206		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7207	}
7208	if s.Format == nil {
7209		invalidParams.Add(request.NewErrParamRequired("Format"))
7210	}
7211	if s.TypeName == nil {
7212		invalidParams.Add(request.NewErrParamRequired("TypeName"))
7213	}
7214	if s.TypeName != nil && len(*s.TypeName) < 1 {
7215		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
7216	}
7217
7218	if invalidParams.Len() > 0 {
7219		return invalidParams
7220	}
7221	return nil
7222}
7223
7224// SetApiId sets the ApiId field's value.
7225func (s *GetTypeInput) SetApiId(v string) *GetTypeInput {
7226	s.ApiId = &v
7227	return s
7228}
7229
7230// SetFormat sets the Format field's value.
7231func (s *GetTypeInput) SetFormat(v string) *GetTypeInput {
7232	s.Format = &v
7233	return s
7234}
7235
7236// SetTypeName sets the TypeName field's value.
7237func (s *GetTypeInput) SetTypeName(v string) *GetTypeInput {
7238	s.TypeName = &v
7239	return s
7240}
7241
7242type GetTypeOutput struct {
7243	_ struct{} `type:"structure"`
7244
7245	// The Type object.
7246	Type *Type `locationName:"type" type:"structure"`
7247}
7248
7249// String returns the string representation
7250func (s GetTypeOutput) String() string {
7251	return awsutil.Prettify(s)
7252}
7253
7254// GoString returns the string representation
7255func (s GetTypeOutput) GoString() string {
7256	return s.String()
7257}
7258
7259// SetType sets the Type field's value.
7260func (s *GetTypeOutput) SetType(v *Type) *GetTypeOutput {
7261	s.Type = v
7262	return s
7263}
7264
7265// The GraphQL schema is not valid.
7266type GraphQLSchemaException struct {
7267	_            struct{}                  `type:"structure"`
7268	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7269
7270	Message_ *string `locationName:"message" type:"string"`
7271}
7272
7273// String returns the string representation
7274func (s GraphQLSchemaException) String() string {
7275	return awsutil.Prettify(s)
7276}
7277
7278// GoString returns the string representation
7279func (s GraphQLSchemaException) GoString() string {
7280	return s.String()
7281}
7282
7283func newErrorGraphQLSchemaException(v protocol.ResponseMetadata) error {
7284	return &GraphQLSchemaException{
7285		RespMetadata: v,
7286	}
7287}
7288
7289// Code returns the exception type name.
7290func (s *GraphQLSchemaException) Code() string {
7291	return "GraphQLSchemaException"
7292}
7293
7294// Message returns the exception's message.
7295func (s *GraphQLSchemaException) Message() string {
7296	if s.Message_ != nil {
7297		return *s.Message_
7298	}
7299	return ""
7300}
7301
7302// OrigErr always returns nil, satisfies awserr.Error interface.
7303func (s *GraphQLSchemaException) OrigErr() error {
7304	return nil
7305}
7306
7307func (s *GraphQLSchemaException) Error() string {
7308	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7309}
7310
7311// Status code returns the HTTP status code for the request's response error.
7312func (s *GraphQLSchemaException) StatusCode() int {
7313	return s.RespMetadata.StatusCode
7314}
7315
7316// RequestID returns the service's response RequestID for request.
7317func (s *GraphQLSchemaException) RequestID() string {
7318	return s.RespMetadata.RequestID
7319}
7320
7321// Describes a GraphQL API.
7322type GraphqlApi struct {
7323	_ struct{} `type:"structure"`
7324
7325	// A list of additional authentication providers for the GraphqlApi API.
7326	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
7327
7328	// The API ID.
7329	ApiId *string `locationName:"apiId" type:"string"`
7330
7331	// The ARN.
7332	Arn *string `locationName:"arn" type:"string"`
7333
7334	// The authentication type.
7335	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
7336
7337	// The Amazon CloudWatch Logs configuration.
7338	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
7339
7340	// The API name.
7341	Name *string `locationName:"name" min:"1" type:"string"`
7342
7343	// The OpenID Connect configuration.
7344	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
7345
7346	// The tags.
7347	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7348
7349	// The URIs.
7350	Uris map[string]*string `locationName:"uris" type:"map"`
7351
7352	// The Amazon Cognito user pool configuration.
7353	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
7354
7355	// The ARN of the AWS Web Application Firewall (WAF) ACL associated with this
7356	// GraphqlApi, if one exists.
7357	WafWebAclArn *string `locationName:"wafWebAclArn" type:"string"`
7358
7359	// A flag representing whether X-Ray tracing is enabled for this GraphqlApi.
7360	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
7361}
7362
7363// String returns the string representation
7364func (s GraphqlApi) String() string {
7365	return awsutil.Prettify(s)
7366}
7367
7368// GoString returns the string representation
7369func (s GraphqlApi) GoString() string {
7370	return s.String()
7371}
7372
7373// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
7374func (s *GraphqlApi) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *GraphqlApi {
7375	s.AdditionalAuthenticationProviders = v
7376	return s
7377}
7378
7379// SetApiId sets the ApiId field's value.
7380func (s *GraphqlApi) SetApiId(v string) *GraphqlApi {
7381	s.ApiId = &v
7382	return s
7383}
7384
7385// SetArn sets the Arn field's value.
7386func (s *GraphqlApi) SetArn(v string) *GraphqlApi {
7387	s.Arn = &v
7388	return s
7389}
7390
7391// SetAuthenticationType sets the AuthenticationType field's value.
7392func (s *GraphqlApi) SetAuthenticationType(v string) *GraphqlApi {
7393	s.AuthenticationType = &v
7394	return s
7395}
7396
7397// SetLogConfig sets the LogConfig field's value.
7398func (s *GraphqlApi) SetLogConfig(v *LogConfig) *GraphqlApi {
7399	s.LogConfig = v
7400	return s
7401}
7402
7403// SetName sets the Name field's value.
7404func (s *GraphqlApi) SetName(v string) *GraphqlApi {
7405	s.Name = &v
7406	return s
7407}
7408
7409// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
7410func (s *GraphqlApi) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *GraphqlApi {
7411	s.OpenIDConnectConfig = v
7412	return s
7413}
7414
7415// SetTags sets the Tags field's value.
7416func (s *GraphqlApi) SetTags(v map[string]*string) *GraphqlApi {
7417	s.Tags = v
7418	return s
7419}
7420
7421// SetUris sets the Uris field's value.
7422func (s *GraphqlApi) SetUris(v map[string]*string) *GraphqlApi {
7423	s.Uris = v
7424	return s
7425}
7426
7427// SetUserPoolConfig sets the UserPoolConfig field's value.
7428func (s *GraphqlApi) SetUserPoolConfig(v *UserPoolConfig) *GraphqlApi {
7429	s.UserPoolConfig = v
7430	return s
7431}
7432
7433// SetWafWebAclArn sets the WafWebAclArn field's value.
7434func (s *GraphqlApi) SetWafWebAclArn(v string) *GraphqlApi {
7435	s.WafWebAclArn = &v
7436	return s
7437}
7438
7439// SetXrayEnabled sets the XrayEnabled field's value.
7440func (s *GraphqlApi) SetXrayEnabled(v bool) *GraphqlApi {
7441	s.XrayEnabled = &v
7442	return s
7443}
7444
7445// Describes an HTTP data source configuration.
7446type HttpDataSourceConfig struct {
7447	_ struct{} `type:"structure"`
7448
7449	// The authorization config in case the HTTP endpoint requires authorization.
7450	AuthorizationConfig *AuthorizationConfig `locationName:"authorizationConfig" type:"structure"`
7451
7452	// The HTTP URL endpoint. You can either specify the domain name or IP, and
7453	// port combination, and the URL scheme must be HTTP or HTTPS. If the port is
7454	// not specified, AWS AppSync uses the default port 80 for the HTTP endpoint
7455	// and port 443 for HTTPS endpoints.
7456	Endpoint *string `locationName:"endpoint" type:"string"`
7457}
7458
7459// String returns the string representation
7460func (s HttpDataSourceConfig) String() string {
7461	return awsutil.Prettify(s)
7462}
7463
7464// GoString returns the string representation
7465func (s HttpDataSourceConfig) GoString() string {
7466	return s.String()
7467}
7468
7469// Validate inspects the fields of the type to determine if they are valid.
7470func (s *HttpDataSourceConfig) Validate() error {
7471	invalidParams := request.ErrInvalidParams{Context: "HttpDataSourceConfig"}
7472	if s.AuthorizationConfig != nil {
7473		if err := s.AuthorizationConfig.Validate(); err != nil {
7474			invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams))
7475		}
7476	}
7477
7478	if invalidParams.Len() > 0 {
7479		return invalidParams
7480	}
7481	return nil
7482}
7483
7484// SetAuthorizationConfig sets the AuthorizationConfig field's value.
7485func (s *HttpDataSourceConfig) SetAuthorizationConfig(v *AuthorizationConfig) *HttpDataSourceConfig {
7486	s.AuthorizationConfig = v
7487	return s
7488}
7489
7490// SetEndpoint sets the Endpoint field's value.
7491func (s *HttpDataSourceConfig) SetEndpoint(v string) *HttpDataSourceConfig {
7492	s.Endpoint = &v
7493	return s
7494}
7495
7496// An internal AWS AppSync error occurred. Try your request again.
7497type InternalFailureException struct {
7498	_            struct{}                  `type:"structure"`
7499	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7500
7501	Message_ *string `locationName:"message" type:"string"`
7502}
7503
7504// String returns the string representation
7505func (s InternalFailureException) String() string {
7506	return awsutil.Prettify(s)
7507}
7508
7509// GoString returns the string representation
7510func (s InternalFailureException) GoString() string {
7511	return s.String()
7512}
7513
7514func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
7515	return &InternalFailureException{
7516		RespMetadata: v,
7517	}
7518}
7519
7520// Code returns the exception type name.
7521func (s *InternalFailureException) Code() string {
7522	return "InternalFailureException"
7523}
7524
7525// Message returns the exception's message.
7526func (s *InternalFailureException) Message() string {
7527	if s.Message_ != nil {
7528		return *s.Message_
7529	}
7530	return ""
7531}
7532
7533// OrigErr always returns nil, satisfies awserr.Error interface.
7534func (s *InternalFailureException) OrigErr() error {
7535	return nil
7536}
7537
7538func (s *InternalFailureException) Error() string {
7539	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7540}
7541
7542// Status code returns the HTTP status code for the request's response error.
7543func (s *InternalFailureException) StatusCode() int {
7544	return s.RespMetadata.StatusCode
7545}
7546
7547// RequestID returns the service's response RequestID for request.
7548func (s *InternalFailureException) RequestID() string {
7549	return s.RespMetadata.RequestID
7550}
7551
7552// The LambdaConflictHandlerConfig object when configuring LAMBDA as the Conflict
7553// Handler.
7554type LambdaConflictHandlerConfig struct {
7555	_ struct{} `type:"structure"`
7556
7557	// The Arn for the Lambda function to use as the Conflict Handler.
7558	LambdaConflictHandlerArn *string `locationName:"lambdaConflictHandlerArn" type:"string"`
7559}
7560
7561// String returns the string representation
7562func (s LambdaConflictHandlerConfig) String() string {
7563	return awsutil.Prettify(s)
7564}
7565
7566// GoString returns the string representation
7567func (s LambdaConflictHandlerConfig) GoString() string {
7568	return s.String()
7569}
7570
7571// SetLambdaConflictHandlerArn sets the LambdaConflictHandlerArn field's value.
7572func (s *LambdaConflictHandlerConfig) SetLambdaConflictHandlerArn(v string) *LambdaConflictHandlerConfig {
7573	s.LambdaConflictHandlerArn = &v
7574	return s
7575}
7576
7577// Describes an AWS Lambda data source configuration.
7578type LambdaDataSourceConfig struct {
7579	_ struct{} `type:"structure"`
7580
7581	// The ARN for the Lambda function.
7582	//
7583	// LambdaFunctionArn is a required field
7584	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string" required:"true"`
7585}
7586
7587// String returns the string representation
7588func (s LambdaDataSourceConfig) String() string {
7589	return awsutil.Prettify(s)
7590}
7591
7592// GoString returns the string representation
7593func (s LambdaDataSourceConfig) GoString() string {
7594	return s.String()
7595}
7596
7597// Validate inspects the fields of the type to determine if they are valid.
7598func (s *LambdaDataSourceConfig) Validate() error {
7599	invalidParams := request.ErrInvalidParams{Context: "LambdaDataSourceConfig"}
7600	if s.LambdaFunctionArn == nil {
7601		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
7602	}
7603
7604	if invalidParams.Len() > 0 {
7605		return invalidParams
7606	}
7607	return nil
7608}
7609
7610// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
7611func (s *LambdaDataSourceConfig) SetLambdaFunctionArn(v string) *LambdaDataSourceConfig {
7612	s.LambdaFunctionArn = &v
7613	return s
7614}
7615
7616// The request exceeded a limit. Try your request again.
7617type LimitExceededException struct {
7618	_            struct{}                  `type:"structure"`
7619	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7620
7621	Message_ *string `locationName:"message" type:"string"`
7622}
7623
7624// String returns the string representation
7625func (s LimitExceededException) String() string {
7626	return awsutil.Prettify(s)
7627}
7628
7629// GoString returns the string representation
7630func (s LimitExceededException) GoString() string {
7631	return s.String()
7632}
7633
7634func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
7635	return &LimitExceededException{
7636		RespMetadata: v,
7637	}
7638}
7639
7640// Code returns the exception type name.
7641func (s *LimitExceededException) Code() string {
7642	return "LimitExceededException"
7643}
7644
7645// Message returns the exception's message.
7646func (s *LimitExceededException) Message() string {
7647	if s.Message_ != nil {
7648		return *s.Message_
7649	}
7650	return ""
7651}
7652
7653// OrigErr always returns nil, satisfies awserr.Error interface.
7654func (s *LimitExceededException) OrigErr() error {
7655	return nil
7656}
7657
7658func (s *LimitExceededException) Error() string {
7659	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7660}
7661
7662// Status code returns the HTTP status code for the request's response error.
7663func (s *LimitExceededException) StatusCode() int {
7664	return s.RespMetadata.StatusCode
7665}
7666
7667// RequestID returns the service's response RequestID for request.
7668func (s *LimitExceededException) RequestID() string {
7669	return s.RespMetadata.RequestID
7670}
7671
7672type ListApiKeysInput struct {
7673	_ struct{} `type:"structure"`
7674
7675	// The API ID.
7676	//
7677	// ApiId is a required field
7678	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7679
7680	// The maximum number of results you want the request to return.
7681	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7682
7683	// An identifier that was returned from the previous call to this operation,
7684	// which can be used to return the next set of items in the list.
7685	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7686}
7687
7688// String returns the string representation
7689func (s ListApiKeysInput) String() string {
7690	return awsutil.Prettify(s)
7691}
7692
7693// GoString returns the string representation
7694func (s ListApiKeysInput) GoString() string {
7695	return s.String()
7696}
7697
7698// Validate inspects the fields of the type to determine if they are valid.
7699func (s *ListApiKeysInput) Validate() error {
7700	invalidParams := request.ErrInvalidParams{Context: "ListApiKeysInput"}
7701	if s.ApiId == nil {
7702		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7703	}
7704	if s.ApiId != nil && len(*s.ApiId) < 1 {
7705		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7706	}
7707	if s.NextToken != nil && len(*s.NextToken) < 1 {
7708		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7709	}
7710
7711	if invalidParams.Len() > 0 {
7712		return invalidParams
7713	}
7714	return nil
7715}
7716
7717// SetApiId sets the ApiId field's value.
7718func (s *ListApiKeysInput) SetApiId(v string) *ListApiKeysInput {
7719	s.ApiId = &v
7720	return s
7721}
7722
7723// SetMaxResults sets the MaxResults field's value.
7724func (s *ListApiKeysInput) SetMaxResults(v int64) *ListApiKeysInput {
7725	s.MaxResults = &v
7726	return s
7727}
7728
7729// SetNextToken sets the NextToken field's value.
7730func (s *ListApiKeysInput) SetNextToken(v string) *ListApiKeysInput {
7731	s.NextToken = &v
7732	return s
7733}
7734
7735type ListApiKeysOutput struct {
7736	_ struct{} `type:"structure"`
7737
7738	// The ApiKey objects.
7739	ApiKeys []*ApiKey `locationName:"apiKeys" type:"list"`
7740
7741	// An identifier to be passed in the next request to this operation to return
7742	// the next set of items in the list.
7743	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7744}
7745
7746// String returns the string representation
7747func (s ListApiKeysOutput) String() string {
7748	return awsutil.Prettify(s)
7749}
7750
7751// GoString returns the string representation
7752func (s ListApiKeysOutput) GoString() string {
7753	return s.String()
7754}
7755
7756// SetApiKeys sets the ApiKeys field's value.
7757func (s *ListApiKeysOutput) SetApiKeys(v []*ApiKey) *ListApiKeysOutput {
7758	s.ApiKeys = v
7759	return s
7760}
7761
7762// SetNextToken sets the NextToken field's value.
7763func (s *ListApiKeysOutput) SetNextToken(v string) *ListApiKeysOutput {
7764	s.NextToken = &v
7765	return s
7766}
7767
7768type ListDataSourcesInput struct {
7769	_ struct{} `type:"structure"`
7770
7771	// The API ID.
7772	//
7773	// ApiId is a required field
7774	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7775
7776	// The maximum number of results you want the request to return.
7777	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7778
7779	// An identifier that was returned from the previous call to this operation,
7780	// which can be used to return the next set of items in the list.
7781	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7782}
7783
7784// String returns the string representation
7785func (s ListDataSourcesInput) String() string {
7786	return awsutil.Prettify(s)
7787}
7788
7789// GoString returns the string representation
7790func (s ListDataSourcesInput) GoString() string {
7791	return s.String()
7792}
7793
7794// Validate inspects the fields of the type to determine if they are valid.
7795func (s *ListDataSourcesInput) Validate() error {
7796	invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"}
7797	if s.ApiId == nil {
7798		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7799	}
7800	if s.ApiId != nil && len(*s.ApiId) < 1 {
7801		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7802	}
7803	if s.NextToken != nil && len(*s.NextToken) < 1 {
7804		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7805	}
7806
7807	if invalidParams.Len() > 0 {
7808		return invalidParams
7809	}
7810	return nil
7811}
7812
7813// SetApiId sets the ApiId field's value.
7814func (s *ListDataSourcesInput) SetApiId(v string) *ListDataSourcesInput {
7815	s.ApiId = &v
7816	return s
7817}
7818
7819// SetMaxResults sets the MaxResults field's value.
7820func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput {
7821	s.MaxResults = &v
7822	return s
7823}
7824
7825// SetNextToken sets the NextToken field's value.
7826func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput {
7827	s.NextToken = &v
7828	return s
7829}
7830
7831type ListDataSourcesOutput struct {
7832	_ struct{} `type:"structure"`
7833
7834	// The DataSource objects.
7835	DataSources []*DataSource `locationName:"dataSources" type:"list"`
7836
7837	// An identifier to be passed in the next request to this operation to return
7838	// the next set of items in the list.
7839	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7840}
7841
7842// String returns the string representation
7843func (s ListDataSourcesOutput) String() string {
7844	return awsutil.Prettify(s)
7845}
7846
7847// GoString returns the string representation
7848func (s ListDataSourcesOutput) GoString() string {
7849	return s.String()
7850}
7851
7852// SetDataSources sets the DataSources field's value.
7853func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput {
7854	s.DataSources = v
7855	return s
7856}
7857
7858// SetNextToken sets the NextToken field's value.
7859func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput {
7860	s.NextToken = &v
7861	return s
7862}
7863
7864type ListFunctionsInput struct {
7865	_ struct{} `type:"structure"`
7866
7867	// The GraphQL API ID.
7868	//
7869	// ApiId is a required field
7870	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7871
7872	// The maximum number of results you want the request to return.
7873	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7874
7875	// An identifier that was returned from the previous call to this operation,
7876	// which can be used to return the next set of items in the list.
7877	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7878}
7879
7880// String returns the string representation
7881func (s ListFunctionsInput) String() string {
7882	return awsutil.Prettify(s)
7883}
7884
7885// GoString returns the string representation
7886func (s ListFunctionsInput) GoString() string {
7887	return s.String()
7888}
7889
7890// Validate inspects the fields of the type to determine if they are valid.
7891func (s *ListFunctionsInput) Validate() error {
7892	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
7893	if s.ApiId == nil {
7894		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7895	}
7896	if s.ApiId != nil && len(*s.ApiId) < 1 {
7897		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7898	}
7899	if s.NextToken != nil && len(*s.NextToken) < 1 {
7900		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7901	}
7902
7903	if invalidParams.Len() > 0 {
7904		return invalidParams
7905	}
7906	return nil
7907}
7908
7909// SetApiId sets the ApiId field's value.
7910func (s *ListFunctionsInput) SetApiId(v string) *ListFunctionsInput {
7911	s.ApiId = &v
7912	return s
7913}
7914
7915// SetMaxResults sets the MaxResults field's value.
7916func (s *ListFunctionsInput) SetMaxResults(v int64) *ListFunctionsInput {
7917	s.MaxResults = &v
7918	return s
7919}
7920
7921// SetNextToken sets the NextToken field's value.
7922func (s *ListFunctionsInput) SetNextToken(v string) *ListFunctionsInput {
7923	s.NextToken = &v
7924	return s
7925}
7926
7927type ListFunctionsOutput struct {
7928	_ struct{} `type:"structure"`
7929
7930	// A list of Function objects.
7931	Functions []*FunctionConfiguration `locationName:"functions" type:"list"`
7932
7933	// An identifier that was returned from the previous call to this operation,
7934	// which can be used to return the next set of items in the list.
7935	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7936}
7937
7938// String returns the string representation
7939func (s ListFunctionsOutput) String() string {
7940	return awsutil.Prettify(s)
7941}
7942
7943// GoString returns the string representation
7944func (s ListFunctionsOutput) GoString() string {
7945	return s.String()
7946}
7947
7948// SetFunctions sets the Functions field's value.
7949func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
7950	s.Functions = v
7951	return s
7952}
7953
7954// SetNextToken sets the NextToken field's value.
7955func (s *ListFunctionsOutput) SetNextToken(v string) *ListFunctionsOutput {
7956	s.NextToken = &v
7957	return s
7958}
7959
7960type ListGraphqlApisInput struct {
7961	_ struct{} `type:"structure"`
7962
7963	// The maximum number of results you want the request to return.
7964	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7965
7966	// An identifier that was returned from the previous call to this operation,
7967	// which can be used to return the next set of items in the list.
7968	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
7969}
7970
7971// String returns the string representation
7972func (s ListGraphqlApisInput) String() string {
7973	return awsutil.Prettify(s)
7974}
7975
7976// GoString returns the string representation
7977func (s ListGraphqlApisInput) GoString() string {
7978	return s.String()
7979}
7980
7981// Validate inspects the fields of the type to determine if they are valid.
7982func (s *ListGraphqlApisInput) Validate() error {
7983	invalidParams := request.ErrInvalidParams{Context: "ListGraphqlApisInput"}
7984	if s.NextToken != nil && len(*s.NextToken) < 1 {
7985		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7986	}
7987
7988	if invalidParams.Len() > 0 {
7989		return invalidParams
7990	}
7991	return nil
7992}
7993
7994// SetMaxResults sets the MaxResults field's value.
7995func (s *ListGraphqlApisInput) SetMaxResults(v int64) *ListGraphqlApisInput {
7996	s.MaxResults = &v
7997	return s
7998}
7999
8000// SetNextToken sets the NextToken field's value.
8001func (s *ListGraphqlApisInput) SetNextToken(v string) *ListGraphqlApisInput {
8002	s.NextToken = &v
8003	return s
8004}
8005
8006type ListGraphqlApisOutput struct {
8007	_ struct{} `type:"structure"`
8008
8009	// The GraphqlApi objects.
8010	GraphqlApis []*GraphqlApi `locationName:"graphqlApis" type:"list"`
8011
8012	// An identifier to be passed in the next request to this operation to return
8013	// the next set of items in the list.
8014	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8015}
8016
8017// String returns the string representation
8018func (s ListGraphqlApisOutput) String() string {
8019	return awsutil.Prettify(s)
8020}
8021
8022// GoString returns the string representation
8023func (s ListGraphqlApisOutput) GoString() string {
8024	return s.String()
8025}
8026
8027// SetGraphqlApis sets the GraphqlApis field's value.
8028func (s *ListGraphqlApisOutput) SetGraphqlApis(v []*GraphqlApi) *ListGraphqlApisOutput {
8029	s.GraphqlApis = v
8030	return s
8031}
8032
8033// SetNextToken sets the NextToken field's value.
8034func (s *ListGraphqlApisOutput) SetNextToken(v string) *ListGraphqlApisOutput {
8035	s.NextToken = &v
8036	return s
8037}
8038
8039type ListResolversByFunctionInput struct {
8040	_ struct{} `type:"structure"`
8041
8042	// The API ID.
8043	//
8044	// ApiId is a required field
8045	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8046
8047	// The Function ID.
8048	//
8049	// FunctionId is a required field
8050	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
8051
8052	// The maximum number of results you want the request to return.
8053	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8054
8055	// An identifier that was returned from the previous call to this operation,
8056	// which you can use to return the next set of items in the list.
8057	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8058}
8059
8060// String returns the string representation
8061func (s ListResolversByFunctionInput) String() string {
8062	return awsutil.Prettify(s)
8063}
8064
8065// GoString returns the string representation
8066func (s ListResolversByFunctionInput) GoString() string {
8067	return s.String()
8068}
8069
8070// Validate inspects the fields of the type to determine if they are valid.
8071func (s *ListResolversByFunctionInput) Validate() error {
8072	invalidParams := request.ErrInvalidParams{Context: "ListResolversByFunctionInput"}
8073	if s.ApiId == nil {
8074		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8075	}
8076	if s.ApiId != nil && len(*s.ApiId) < 1 {
8077		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8078	}
8079	if s.FunctionId == nil {
8080		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
8081	}
8082	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
8083		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
8084	}
8085	if s.NextToken != nil && len(*s.NextToken) < 1 {
8086		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8087	}
8088
8089	if invalidParams.Len() > 0 {
8090		return invalidParams
8091	}
8092	return nil
8093}
8094
8095// SetApiId sets the ApiId field's value.
8096func (s *ListResolversByFunctionInput) SetApiId(v string) *ListResolversByFunctionInput {
8097	s.ApiId = &v
8098	return s
8099}
8100
8101// SetFunctionId sets the FunctionId field's value.
8102func (s *ListResolversByFunctionInput) SetFunctionId(v string) *ListResolversByFunctionInput {
8103	s.FunctionId = &v
8104	return s
8105}
8106
8107// SetMaxResults sets the MaxResults field's value.
8108func (s *ListResolversByFunctionInput) SetMaxResults(v int64) *ListResolversByFunctionInput {
8109	s.MaxResults = &v
8110	return s
8111}
8112
8113// SetNextToken sets the NextToken field's value.
8114func (s *ListResolversByFunctionInput) SetNextToken(v string) *ListResolversByFunctionInput {
8115	s.NextToken = &v
8116	return s
8117}
8118
8119type ListResolversByFunctionOutput struct {
8120	_ struct{} `type:"structure"`
8121
8122	// An identifier that can be used to return the next set of items in the list.
8123	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8124
8125	// The list of resolvers.
8126	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
8127}
8128
8129// String returns the string representation
8130func (s ListResolversByFunctionOutput) String() string {
8131	return awsutil.Prettify(s)
8132}
8133
8134// GoString returns the string representation
8135func (s ListResolversByFunctionOutput) GoString() string {
8136	return s.String()
8137}
8138
8139// SetNextToken sets the NextToken field's value.
8140func (s *ListResolversByFunctionOutput) SetNextToken(v string) *ListResolversByFunctionOutput {
8141	s.NextToken = &v
8142	return s
8143}
8144
8145// SetResolvers sets the Resolvers field's value.
8146func (s *ListResolversByFunctionOutput) SetResolvers(v []*Resolver) *ListResolversByFunctionOutput {
8147	s.Resolvers = v
8148	return s
8149}
8150
8151type ListResolversInput struct {
8152	_ struct{} `type:"structure"`
8153
8154	// The API ID.
8155	//
8156	// ApiId is a required field
8157	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8158
8159	// The maximum number of results you want the request to return.
8160	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8161
8162	// An identifier that was returned from the previous call to this operation,
8163	// which can be used to return the next set of items in the list.
8164	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8165
8166	// The type name.
8167	//
8168	// TypeName is a required field
8169	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
8170}
8171
8172// String returns the string representation
8173func (s ListResolversInput) String() string {
8174	return awsutil.Prettify(s)
8175}
8176
8177// GoString returns the string representation
8178func (s ListResolversInput) GoString() string {
8179	return s.String()
8180}
8181
8182// Validate inspects the fields of the type to determine if they are valid.
8183func (s *ListResolversInput) Validate() error {
8184	invalidParams := request.ErrInvalidParams{Context: "ListResolversInput"}
8185	if s.ApiId == nil {
8186		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8187	}
8188	if s.ApiId != nil && len(*s.ApiId) < 1 {
8189		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8190	}
8191	if s.NextToken != nil && len(*s.NextToken) < 1 {
8192		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8193	}
8194	if s.TypeName == nil {
8195		invalidParams.Add(request.NewErrParamRequired("TypeName"))
8196	}
8197	if s.TypeName != nil && len(*s.TypeName) < 1 {
8198		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
8199	}
8200
8201	if invalidParams.Len() > 0 {
8202		return invalidParams
8203	}
8204	return nil
8205}
8206
8207// SetApiId sets the ApiId field's value.
8208func (s *ListResolversInput) SetApiId(v string) *ListResolversInput {
8209	s.ApiId = &v
8210	return s
8211}
8212
8213// SetMaxResults sets the MaxResults field's value.
8214func (s *ListResolversInput) SetMaxResults(v int64) *ListResolversInput {
8215	s.MaxResults = &v
8216	return s
8217}
8218
8219// SetNextToken sets the NextToken field's value.
8220func (s *ListResolversInput) SetNextToken(v string) *ListResolversInput {
8221	s.NextToken = &v
8222	return s
8223}
8224
8225// SetTypeName sets the TypeName field's value.
8226func (s *ListResolversInput) SetTypeName(v string) *ListResolversInput {
8227	s.TypeName = &v
8228	return s
8229}
8230
8231type ListResolversOutput struct {
8232	_ struct{} `type:"structure"`
8233
8234	// An identifier to be passed in the next request to this operation to return
8235	// the next set of items in the list.
8236	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8237
8238	// The Resolver objects.
8239	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
8240}
8241
8242// String returns the string representation
8243func (s ListResolversOutput) String() string {
8244	return awsutil.Prettify(s)
8245}
8246
8247// GoString returns the string representation
8248func (s ListResolversOutput) GoString() string {
8249	return s.String()
8250}
8251
8252// SetNextToken sets the NextToken field's value.
8253func (s *ListResolversOutput) SetNextToken(v string) *ListResolversOutput {
8254	s.NextToken = &v
8255	return s
8256}
8257
8258// SetResolvers sets the Resolvers field's value.
8259func (s *ListResolversOutput) SetResolvers(v []*Resolver) *ListResolversOutput {
8260	s.Resolvers = v
8261	return s
8262}
8263
8264type ListTagsForResourceInput struct {
8265	_ struct{} `type:"structure"`
8266
8267	// The GraphqlApi ARN.
8268	//
8269	// ResourceArn is a required field
8270	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
8271}
8272
8273// String returns the string representation
8274func (s ListTagsForResourceInput) String() string {
8275	return awsutil.Prettify(s)
8276}
8277
8278// GoString returns the string representation
8279func (s ListTagsForResourceInput) GoString() string {
8280	return s.String()
8281}
8282
8283// Validate inspects the fields of the type to determine if they are valid.
8284func (s *ListTagsForResourceInput) Validate() error {
8285	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8286	if s.ResourceArn == nil {
8287		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8288	}
8289	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
8290		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
8291	}
8292
8293	if invalidParams.Len() > 0 {
8294		return invalidParams
8295	}
8296	return nil
8297}
8298
8299// SetResourceArn sets the ResourceArn field's value.
8300func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8301	s.ResourceArn = &v
8302	return s
8303}
8304
8305type ListTagsForResourceOutput struct {
8306	_ struct{} `type:"structure"`
8307
8308	// A TagMap object.
8309	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8310}
8311
8312// String returns the string representation
8313func (s ListTagsForResourceOutput) String() string {
8314	return awsutil.Prettify(s)
8315}
8316
8317// GoString returns the string representation
8318func (s ListTagsForResourceOutput) GoString() string {
8319	return s.String()
8320}
8321
8322// SetTags sets the Tags field's value.
8323func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
8324	s.Tags = v
8325	return s
8326}
8327
8328type ListTypesInput struct {
8329	_ struct{} `type:"structure"`
8330
8331	// The API ID.
8332	//
8333	// ApiId is a required field
8334	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8335
8336	// The type format: SDL or JSON.
8337	//
8338	// Format is a required field
8339	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
8340
8341	// The maximum number of results you want the request to return.
8342	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8343
8344	// An identifier that was returned from the previous call to this operation,
8345	// which can be used to return the next set of items in the list.
8346	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8347}
8348
8349// String returns the string representation
8350func (s ListTypesInput) String() string {
8351	return awsutil.Prettify(s)
8352}
8353
8354// GoString returns the string representation
8355func (s ListTypesInput) GoString() string {
8356	return s.String()
8357}
8358
8359// Validate inspects the fields of the type to determine if they are valid.
8360func (s *ListTypesInput) Validate() error {
8361	invalidParams := request.ErrInvalidParams{Context: "ListTypesInput"}
8362	if s.ApiId == nil {
8363		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8364	}
8365	if s.ApiId != nil && len(*s.ApiId) < 1 {
8366		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8367	}
8368	if s.Format == nil {
8369		invalidParams.Add(request.NewErrParamRequired("Format"))
8370	}
8371	if s.NextToken != nil && len(*s.NextToken) < 1 {
8372		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8373	}
8374
8375	if invalidParams.Len() > 0 {
8376		return invalidParams
8377	}
8378	return nil
8379}
8380
8381// SetApiId sets the ApiId field's value.
8382func (s *ListTypesInput) SetApiId(v string) *ListTypesInput {
8383	s.ApiId = &v
8384	return s
8385}
8386
8387// SetFormat sets the Format field's value.
8388func (s *ListTypesInput) SetFormat(v string) *ListTypesInput {
8389	s.Format = &v
8390	return s
8391}
8392
8393// SetMaxResults sets the MaxResults field's value.
8394func (s *ListTypesInput) SetMaxResults(v int64) *ListTypesInput {
8395	s.MaxResults = &v
8396	return s
8397}
8398
8399// SetNextToken sets the NextToken field's value.
8400func (s *ListTypesInput) SetNextToken(v string) *ListTypesInput {
8401	s.NextToken = &v
8402	return s
8403}
8404
8405type ListTypesOutput struct {
8406	_ struct{} `type:"structure"`
8407
8408	// An identifier to be passed in the next request to this operation to return
8409	// the next set of items in the list.
8410	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8411
8412	// The Type objects.
8413	Types []*Type `locationName:"types" type:"list"`
8414}
8415
8416// String returns the string representation
8417func (s ListTypesOutput) String() string {
8418	return awsutil.Prettify(s)
8419}
8420
8421// GoString returns the string representation
8422func (s ListTypesOutput) GoString() string {
8423	return s.String()
8424}
8425
8426// SetNextToken sets the NextToken field's value.
8427func (s *ListTypesOutput) SetNextToken(v string) *ListTypesOutput {
8428	s.NextToken = &v
8429	return s
8430}
8431
8432// SetTypes sets the Types field's value.
8433func (s *ListTypesOutput) SetTypes(v []*Type) *ListTypesOutput {
8434	s.Types = v
8435	return s
8436}
8437
8438// The CloudWatch Logs configuration.
8439type LogConfig struct {
8440	_ struct{} `type:"structure"`
8441
8442	// The service role that AWS AppSync will assume to publish to Amazon CloudWatch
8443	// logs in your account.
8444	//
8445	// CloudWatchLogsRoleArn is a required field
8446	CloudWatchLogsRoleArn *string `locationName:"cloudWatchLogsRoleArn" type:"string" required:"true"`
8447
8448	// Set to TRUE to exclude sections that contain information such as headers,
8449	// context, and evaluated mapping templates, regardless of logging level.
8450	ExcludeVerboseContent *bool `locationName:"excludeVerboseContent" type:"boolean"`
8451
8452	// The field logging level. Values can be NONE, ERROR, or ALL.
8453	//
8454	//    * NONE: No field-level logs are captured.
8455	//
8456	//    * ERROR: Logs the following information only for the fields that are in
8457	//    error: The error section in the server response. Field-level errors. The
8458	//    generated request/response functions that got resolved for error fields.
8459	//
8460	//    * ALL: The following information is logged for all fields in the query:
8461	//    Field-level tracing information. The generated request/response functions
8462	//    that got resolved for each field.
8463	//
8464	// FieldLogLevel is a required field
8465	FieldLogLevel *string `locationName:"fieldLogLevel" type:"string" required:"true" enum:"FieldLogLevel"`
8466}
8467
8468// String returns the string representation
8469func (s LogConfig) String() string {
8470	return awsutil.Prettify(s)
8471}
8472
8473// GoString returns the string representation
8474func (s LogConfig) GoString() string {
8475	return s.String()
8476}
8477
8478// Validate inspects the fields of the type to determine if they are valid.
8479func (s *LogConfig) Validate() error {
8480	invalidParams := request.ErrInvalidParams{Context: "LogConfig"}
8481	if s.CloudWatchLogsRoleArn == nil {
8482		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsRoleArn"))
8483	}
8484	if s.FieldLogLevel == nil {
8485		invalidParams.Add(request.NewErrParamRequired("FieldLogLevel"))
8486	}
8487
8488	if invalidParams.Len() > 0 {
8489		return invalidParams
8490	}
8491	return nil
8492}
8493
8494// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8495func (s *LogConfig) SetCloudWatchLogsRoleArn(v string) *LogConfig {
8496	s.CloudWatchLogsRoleArn = &v
8497	return s
8498}
8499
8500// SetExcludeVerboseContent sets the ExcludeVerboseContent field's value.
8501func (s *LogConfig) SetExcludeVerboseContent(v bool) *LogConfig {
8502	s.ExcludeVerboseContent = &v
8503	return s
8504}
8505
8506// SetFieldLogLevel sets the FieldLogLevel field's value.
8507func (s *LogConfig) SetFieldLogLevel(v string) *LogConfig {
8508	s.FieldLogLevel = &v
8509	return s
8510}
8511
8512// The resource specified in the request was not found. Check the resource,
8513// and then try again.
8514type NotFoundException struct {
8515	_            struct{}                  `type:"structure"`
8516	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8517
8518	Message_ *string `locationName:"message" type:"string"`
8519}
8520
8521// String returns the string representation
8522func (s NotFoundException) String() string {
8523	return awsutil.Prettify(s)
8524}
8525
8526// GoString returns the string representation
8527func (s NotFoundException) GoString() string {
8528	return s.String()
8529}
8530
8531func newErrorNotFoundException(v protocol.ResponseMetadata) error {
8532	return &NotFoundException{
8533		RespMetadata: v,
8534	}
8535}
8536
8537// Code returns the exception type name.
8538func (s *NotFoundException) Code() string {
8539	return "NotFoundException"
8540}
8541
8542// Message returns the exception's message.
8543func (s *NotFoundException) Message() string {
8544	if s.Message_ != nil {
8545		return *s.Message_
8546	}
8547	return ""
8548}
8549
8550// OrigErr always returns nil, satisfies awserr.Error interface.
8551func (s *NotFoundException) OrigErr() error {
8552	return nil
8553}
8554
8555func (s *NotFoundException) Error() string {
8556	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8557}
8558
8559// Status code returns the HTTP status code for the request's response error.
8560func (s *NotFoundException) StatusCode() int {
8561	return s.RespMetadata.StatusCode
8562}
8563
8564// RequestID returns the service's response RequestID for request.
8565func (s *NotFoundException) RequestID() string {
8566	return s.RespMetadata.RequestID
8567}
8568
8569// Describes an OpenID Connect configuration.
8570type OpenIDConnectConfig struct {
8571	_ struct{} `type:"structure"`
8572
8573	// The number of milliseconds a token is valid after being authenticated.
8574	AuthTTL *int64 `locationName:"authTTL" type:"long"`
8575
8576	// The client identifier of the Relying party at the OpenID identity provider.
8577	// This identifier is typically obtained when the Relying party is registered
8578	// with the OpenID identity provider. You can specify a regular expression so
8579	// the AWS AppSync can validate against multiple client identifiers at a time.
8580	ClientId *string `locationName:"clientId" type:"string"`
8581
8582	// The number of milliseconds a token is valid after being issued to a user.
8583	IatTTL *int64 `locationName:"iatTTL" type:"long"`
8584
8585	// The issuer for the OpenID Connect configuration. The issuer returned by discovery
8586	// must exactly match the value of iss in the ID token.
8587	//
8588	// Issuer is a required field
8589	Issuer *string `locationName:"issuer" type:"string" required:"true"`
8590}
8591
8592// String returns the string representation
8593func (s OpenIDConnectConfig) String() string {
8594	return awsutil.Prettify(s)
8595}
8596
8597// GoString returns the string representation
8598func (s OpenIDConnectConfig) GoString() string {
8599	return s.String()
8600}
8601
8602// Validate inspects the fields of the type to determine if they are valid.
8603func (s *OpenIDConnectConfig) Validate() error {
8604	invalidParams := request.ErrInvalidParams{Context: "OpenIDConnectConfig"}
8605	if s.Issuer == nil {
8606		invalidParams.Add(request.NewErrParamRequired("Issuer"))
8607	}
8608
8609	if invalidParams.Len() > 0 {
8610		return invalidParams
8611	}
8612	return nil
8613}
8614
8615// SetAuthTTL sets the AuthTTL field's value.
8616func (s *OpenIDConnectConfig) SetAuthTTL(v int64) *OpenIDConnectConfig {
8617	s.AuthTTL = &v
8618	return s
8619}
8620
8621// SetClientId sets the ClientId field's value.
8622func (s *OpenIDConnectConfig) SetClientId(v string) *OpenIDConnectConfig {
8623	s.ClientId = &v
8624	return s
8625}
8626
8627// SetIatTTL sets the IatTTL field's value.
8628func (s *OpenIDConnectConfig) SetIatTTL(v int64) *OpenIDConnectConfig {
8629	s.IatTTL = &v
8630	return s
8631}
8632
8633// SetIssuer sets the Issuer field's value.
8634func (s *OpenIDConnectConfig) SetIssuer(v string) *OpenIDConnectConfig {
8635	s.Issuer = &v
8636	return s
8637}
8638
8639// The pipeline configuration for a resolver of kind PIPELINE.
8640type PipelineConfig struct {
8641	_ struct{} `type:"structure"`
8642
8643	// A list of Function objects.
8644	Functions []*string `locationName:"functions" type:"list"`
8645}
8646
8647// String returns the string representation
8648func (s PipelineConfig) String() string {
8649	return awsutil.Prettify(s)
8650}
8651
8652// GoString returns the string representation
8653func (s PipelineConfig) GoString() string {
8654	return s.String()
8655}
8656
8657// SetFunctions sets the Functions field's value.
8658func (s *PipelineConfig) SetFunctions(v []*string) *PipelineConfig {
8659	s.Functions = v
8660	return s
8661}
8662
8663// The Amazon RDS HTTP endpoint configuration.
8664type RdsHttpEndpointConfig struct {
8665	_ struct{} `type:"structure"`
8666
8667	// AWS Region for RDS HTTP endpoint.
8668	AwsRegion *string `locationName:"awsRegion" type:"string"`
8669
8670	// AWS secret store ARN for database credentials.
8671	AwsSecretStoreArn *string `locationName:"awsSecretStoreArn" type:"string"`
8672
8673	// Logical database name.
8674	DatabaseName *string `locationName:"databaseName" type:"string"`
8675
8676	// Amazon RDS cluster ARN.
8677	DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"`
8678
8679	// Logical schema name.
8680	Schema *string `locationName:"schema" type:"string"`
8681}
8682
8683// String returns the string representation
8684func (s RdsHttpEndpointConfig) String() string {
8685	return awsutil.Prettify(s)
8686}
8687
8688// GoString returns the string representation
8689func (s RdsHttpEndpointConfig) GoString() string {
8690	return s.String()
8691}
8692
8693// SetAwsRegion sets the AwsRegion field's value.
8694func (s *RdsHttpEndpointConfig) SetAwsRegion(v string) *RdsHttpEndpointConfig {
8695	s.AwsRegion = &v
8696	return s
8697}
8698
8699// SetAwsSecretStoreArn sets the AwsSecretStoreArn field's value.
8700func (s *RdsHttpEndpointConfig) SetAwsSecretStoreArn(v string) *RdsHttpEndpointConfig {
8701	s.AwsSecretStoreArn = &v
8702	return s
8703}
8704
8705// SetDatabaseName sets the DatabaseName field's value.
8706func (s *RdsHttpEndpointConfig) SetDatabaseName(v string) *RdsHttpEndpointConfig {
8707	s.DatabaseName = &v
8708	return s
8709}
8710
8711// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
8712func (s *RdsHttpEndpointConfig) SetDbClusterIdentifier(v string) *RdsHttpEndpointConfig {
8713	s.DbClusterIdentifier = &v
8714	return s
8715}
8716
8717// SetSchema sets the Schema field's value.
8718func (s *RdsHttpEndpointConfig) SetSchema(v string) *RdsHttpEndpointConfig {
8719	s.Schema = &v
8720	return s
8721}
8722
8723// Describes a relational database data source configuration.
8724type RelationalDatabaseDataSourceConfig struct {
8725	_ struct{} `type:"structure"`
8726
8727	// Amazon RDS HTTP endpoint settings.
8728	RdsHttpEndpointConfig *RdsHttpEndpointConfig `locationName:"rdsHttpEndpointConfig" type:"structure"`
8729
8730	// Source type for the relational database.
8731	//
8732	//    * RDS_HTTP_ENDPOINT: The relational database source type is an Amazon
8733	//    RDS HTTP endpoint.
8734	RelationalDatabaseSourceType *string `locationName:"relationalDatabaseSourceType" type:"string" enum:"RelationalDatabaseSourceType"`
8735}
8736
8737// String returns the string representation
8738func (s RelationalDatabaseDataSourceConfig) String() string {
8739	return awsutil.Prettify(s)
8740}
8741
8742// GoString returns the string representation
8743func (s RelationalDatabaseDataSourceConfig) GoString() string {
8744	return s.String()
8745}
8746
8747// SetRdsHttpEndpointConfig sets the RdsHttpEndpointConfig field's value.
8748func (s *RelationalDatabaseDataSourceConfig) SetRdsHttpEndpointConfig(v *RdsHttpEndpointConfig) *RelationalDatabaseDataSourceConfig {
8749	s.RdsHttpEndpointConfig = v
8750	return s
8751}
8752
8753// SetRelationalDatabaseSourceType sets the RelationalDatabaseSourceType field's value.
8754func (s *RelationalDatabaseDataSourceConfig) SetRelationalDatabaseSourceType(v string) *RelationalDatabaseDataSourceConfig {
8755	s.RelationalDatabaseSourceType = &v
8756	return s
8757}
8758
8759// Describes a resolver.
8760type Resolver struct {
8761	_ struct{} `type:"structure"`
8762
8763	// The caching configuration for the resolver.
8764	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
8765
8766	// The resolver data source name.
8767	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
8768
8769	// The resolver field name.
8770	FieldName *string `locationName:"fieldName" min:"1" type:"string"`
8771
8772	// The resolver type.
8773	//
8774	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
8775	//    type. A UNIT resolver enables you to execute a GraphQL query against a
8776	//    single data source.
8777	//
8778	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
8779	//    to execute a series of Function in a serial manner. You can use a pipeline
8780	//    resolver to execute a GraphQL query against multiple data sources.
8781	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
8782
8783	// The PipelineConfig.
8784	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
8785
8786	// The request mapping template.
8787	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
8788
8789	// The resolver ARN.
8790	ResolverArn *string `locationName:"resolverArn" type:"string"`
8791
8792	// The response mapping template.
8793	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
8794
8795	// The SyncConfig for a resolver attached to a versioned datasource.
8796	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
8797
8798	// The resolver type name.
8799	TypeName *string `locationName:"typeName" min:"1" type:"string"`
8800}
8801
8802// String returns the string representation
8803func (s Resolver) String() string {
8804	return awsutil.Prettify(s)
8805}
8806
8807// GoString returns the string representation
8808func (s Resolver) GoString() string {
8809	return s.String()
8810}
8811
8812// SetCachingConfig sets the CachingConfig field's value.
8813func (s *Resolver) SetCachingConfig(v *CachingConfig) *Resolver {
8814	s.CachingConfig = v
8815	return s
8816}
8817
8818// SetDataSourceName sets the DataSourceName field's value.
8819func (s *Resolver) SetDataSourceName(v string) *Resolver {
8820	s.DataSourceName = &v
8821	return s
8822}
8823
8824// SetFieldName sets the FieldName field's value.
8825func (s *Resolver) SetFieldName(v string) *Resolver {
8826	s.FieldName = &v
8827	return s
8828}
8829
8830// SetKind sets the Kind field's value.
8831func (s *Resolver) SetKind(v string) *Resolver {
8832	s.Kind = &v
8833	return s
8834}
8835
8836// SetPipelineConfig sets the PipelineConfig field's value.
8837func (s *Resolver) SetPipelineConfig(v *PipelineConfig) *Resolver {
8838	s.PipelineConfig = v
8839	return s
8840}
8841
8842// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
8843func (s *Resolver) SetRequestMappingTemplate(v string) *Resolver {
8844	s.RequestMappingTemplate = &v
8845	return s
8846}
8847
8848// SetResolverArn sets the ResolverArn field's value.
8849func (s *Resolver) SetResolverArn(v string) *Resolver {
8850	s.ResolverArn = &v
8851	return s
8852}
8853
8854// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
8855func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver {
8856	s.ResponseMappingTemplate = &v
8857	return s
8858}
8859
8860// SetSyncConfig sets the SyncConfig field's value.
8861func (s *Resolver) SetSyncConfig(v *SyncConfig) *Resolver {
8862	s.SyncConfig = v
8863	return s
8864}
8865
8866// SetTypeName sets the TypeName field's value.
8867func (s *Resolver) SetTypeName(v string) *Resolver {
8868	s.TypeName = &v
8869	return s
8870}
8871
8872type StartSchemaCreationInput struct {
8873	_ struct{} `type:"structure"`
8874
8875	// The API ID.
8876	//
8877	// ApiId is a required field
8878	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8879
8880	// The schema definition, in GraphQL schema language format.
8881	//
8882	// Definition is automatically base64 encoded/decoded by the SDK.
8883	//
8884	// Definition is a required field
8885	Definition []byte `locationName:"definition" type:"blob" required:"true"`
8886}
8887
8888// String returns the string representation
8889func (s StartSchemaCreationInput) String() string {
8890	return awsutil.Prettify(s)
8891}
8892
8893// GoString returns the string representation
8894func (s StartSchemaCreationInput) GoString() string {
8895	return s.String()
8896}
8897
8898// Validate inspects the fields of the type to determine if they are valid.
8899func (s *StartSchemaCreationInput) Validate() error {
8900	invalidParams := request.ErrInvalidParams{Context: "StartSchemaCreationInput"}
8901	if s.ApiId == nil {
8902		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8903	}
8904	if s.ApiId != nil && len(*s.ApiId) < 1 {
8905		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8906	}
8907	if s.Definition == nil {
8908		invalidParams.Add(request.NewErrParamRequired("Definition"))
8909	}
8910
8911	if invalidParams.Len() > 0 {
8912		return invalidParams
8913	}
8914	return nil
8915}
8916
8917// SetApiId sets the ApiId field's value.
8918func (s *StartSchemaCreationInput) SetApiId(v string) *StartSchemaCreationInput {
8919	s.ApiId = &v
8920	return s
8921}
8922
8923// SetDefinition sets the Definition field's value.
8924func (s *StartSchemaCreationInput) SetDefinition(v []byte) *StartSchemaCreationInput {
8925	s.Definition = v
8926	return s
8927}
8928
8929type StartSchemaCreationOutput struct {
8930	_ struct{} `type:"structure"`
8931
8932	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
8933	// When the schema is in the ACTIVE state, you can add data.
8934	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
8935}
8936
8937// String returns the string representation
8938func (s StartSchemaCreationOutput) String() string {
8939	return awsutil.Prettify(s)
8940}
8941
8942// GoString returns the string representation
8943func (s StartSchemaCreationOutput) GoString() string {
8944	return s.String()
8945}
8946
8947// SetStatus sets the Status field's value.
8948func (s *StartSchemaCreationOutput) SetStatus(v string) *StartSchemaCreationOutput {
8949	s.Status = &v
8950	return s
8951}
8952
8953// Describes a Sync configuration for a resolver.
8954//
8955// Contains information on which Conflict Detection as well as Resolution strategy
8956// should be performed when the resolver is invoked.
8957type SyncConfig struct {
8958	_ struct{} `type:"structure"`
8959
8960	// The Conflict Detection strategy to use.
8961	//
8962	//    * VERSION: Detect conflicts based on object versions for this resolver.
8963	//
8964	//    * NONE: Do not detect conflicts when executing this resolver.
8965	ConflictDetection *string `locationName:"conflictDetection" type:"string" enum:"ConflictDetectionType"`
8966
8967	// The Conflict Resolution strategy to perform in the event of a conflict.
8968	//
8969	//    * OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when
8970	//    versions do not match the latest version at the server.
8971	//
8972	//    * AUTOMERGE: Resolve conflicts with the Automerge conflict resolution
8973	//    strategy.
8974	//
8975	//    * LAMBDA: Resolve conflicts with a Lambda function supplied in the LambdaConflictHandlerConfig.
8976	ConflictHandler *string `locationName:"conflictHandler" type:"string" enum:"ConflictHandlerType"`
8977
8978	// The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.
8979	LambdaConflictHandlerConfig *LambdaConflictHandlerConfig `locationName:"lambdaConflictHandlerConfig" type:"structure"`
8980}
8981
8982// String returns the string representation
8983func (s SyncConfig) String() string {
8984	return awsutil.Prettify(s)
8985}
8986
8987// GoString returns the string representation
8988func (s SyncConfig) GoString() string {
8989	return s.String()
8990}
8991
8992// SetConflictDetection sets the ConflictDetection field's value.
8993func (s *SyncConfig) SetConflictDetection(v string) *SyncConfig {
8994	s.ConflictDetection = &v
8995	return s
8996}
8997
8998// SetConflictHandler sets the ConflictHandler field's value.
8999func (s *SyncConfig) SetConflictHandler(v string) *SyncConfig {
9000	s.ConflictHandler = &v
9001	return s
9002}
9003
9004// SetLambdaConflictHandlerConfig sets the LambdaConflictHandlerConfig field's value.
9005func (s *SyncConfig) SetLambdaConflictHandlerConfig(v *LambdaConflictHandlerConfig) *SyncConfig {
9006	s.LambdaConflictHandlerConfig = v
9007	return s
9008}
9009
9010type TagResourceInput struct {
9011	_ struct{} `type:"structure"`
9012
9013	// The GraphqlApi ARN.
9014	//
9015	// ResourceArn is a required field
9016	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
9017
9018	// A TagMap object.
9019	//
9020	// Tags is a required field
9021	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
9022}
9023
9024// String returns the string representation
9025func (s TagResourceInput) String() string {
9026	return awsutil.Prettify(s)
9027}
9028
9029// GoString returns the string representation
9030func (s TagResourceInput) GoString() string {
9031	return s.String()
9032}
9033
9034// Validate inspects the fields of the type to determine if they are valid.
9035func (s *TagResourceInput) Validate() error {
9036	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9037	if s.ResourceArn == nil {
9038		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9039	}
9040	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
9041		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
9042	}
9043	if s.Tags == nil {
9044		invalidParams.Add(request.NewErrParamRequired("Tags"))
9045	}
9046	if s.Tags != nil && len(s.Tags) < 1 {
9047		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9048	}
9049
9050	if invalidParams.Len() > 0 {
9051		return invalidParams
9052	}
9053	return nil
9054}
9055
9056// SetResourceArn sets the ResourceArn field's value.
9057func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9058	s.ResourceArn = &v
9059	return s
9060}
9061
9062// SetTags sets the Tags field's value.
9063func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
9064	s.Tags = v
9065	return s
9066}
9067
9068type TagResourceOutput struct {
9069	_ struct{} `type:"structure"`
9070}
9071
9072// String returns the string representation
9073func (s TagResourceOutput) String() string {
9074	return awsutil.Prettify(s)
9075}
9076
9077// GoString returns the string representation
9078func (s TagResourceOutput) GoString() string {
9079	return s.String()
9080}
9081
9082// Describes a type.
9083type Type struct {
9084	_ struct{} `type:"structure"`
9085
9086	// The type ARN.
9087	Arn *string `locationName:"arn" type:"string"`
9088
9089	// The type definition.
9090	Definition *string `locationName:"definition" type:"string"`
9091
9092	// The type description.
9093	Description *string `locationName:"description" type:"string"`
9094
9095	// The type format: SDL or JSON.
9096	Format *string `locationName:"format" type:"string" enum:"TypeDefinitionFormat"`
9097
9098	// The type name.
9099	Name *string `locationName:"name" min:"1" type:"string"`
9100}
9101
9102// String returns the string representation
9103func (s Type) String() string {
9104	return awsutil.Prettify(s)
9105}
9106
9107// GoString returns the string representation
9108func (s Type) GoString() string {
9109	return s.String()
9110}
9111
9112// SetArn sets the Arn field's value.
9113func (s *Type) SetArn(v string) *Type {
9114	s.Arn = &v
9115	return s
9116}
9117
9118// SetDefinition sets the Definition field's value.
9119func (s *Type) SetDefinition(v string) *Type {
9120	s.Definition = &v
9121	return s
9122}
9123
9124// SetDescription sets the Description field's value.
9125func (s *Type) SetDescription(v string) *Type {
9126	s.Description = &v
9127	return s
9128}
9129
9130// SetFormat sets the Format field's value.
9131func (s *Type) SetFormat(v string) *Type {
9132	s.Format = &v
9133	return s
9134}
9135
9136// SetName sets the Name field's value.
9137func (s *Type) SetName(v string) *Type {
9138	s.Name = &v
9139	return s
9140}
9141
9142// You are not authorized to perform this operation.
9143type UnauthorizedException struct {
9144	_            struct{}                  `type:"structure"`
9145	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9146
9147	Message_ *string `locationName:"message" type:"string"`
9148}
9149
9150// String returns the string representation
9151func (s UnauthorizedException) String() string {
9152	return awsutil.Prettify(s)
9153}
9154
9155// GoString returns the string representation
9156func (s UnauthorizedException) GoString() string {
9157	return s.String()
9158}
9159
9160func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
9161	return &UnauthorizedException{
9162		RespMetadata: v,
9163	}
9164}
9165
9166// Code returns the exception type name.
9167func (s *UnauthorizedException) Code() string {
9168	return "UnauthorizedException"
9169}
9170
9171// Message returns the exception's message.
9172func (s *UnauthorizedException) Message() string {
9173	if s.Message_ != nil {
9174		return *s.Message_
9175	}
9176	return ""
9177}
9178
9179// OrigErr always returns nil, satisfies awserr.Error interface.
9180func (s *UnauthorizedException) OrigErr() error {
9181	return nil
9182}
9183
9184func (s *UnauthorizedException) Error() string {
9185	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9186}
9187
9188// Status code returns the HTTP status code for the request's response error.
9189func (s *UnauthorizedException) StatusCode() int {
9190	return s.RespMetadata.StatusCode
9191}
9192
9193// RequestID returns the service's response RequestID for request.
9194func (s *UnauthorizedException) RequestID() string {
9195	return s.RespMetadata.RequestID
9196}
9197
9198type UntagResourceInput struct {
9199	_ struct{} `type:"structure"`
9200
9201	// The GraphqlApi ARN.
9202	//
9203	// ResourceArn is a required field
9204	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
9205
9206	// A list of TagKey objects.
9207	//
9208	// TagKeys is a required field
9209	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
9210}
9211
9212// String returns the string representation
9213func (s UntagResourceInput) String() string {
9214	return awsutil.Prettify(s)
9215}
9216
9217// GoString returns the string representation
9218func (s UntagResourceInput) GoString() string {
9219	return s.String()
9220}
9221
9222// Validate inspects the fields of the type to determine if they are valid.
9223func (s *UntagResourceInput) Validate() error {
9224	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
9225	if s.ResourceArn == nil {
9226		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9227	}
9228	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
9229		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
9230	}
9231	if s.TagKeys == nil {
9232		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9233	}
9234	if s.TagKeys != nil && len(s.TagKeys) < 1 {
9235		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
9236	}
9237
9238	if invalidParams.Len() > 0 {
9239		return invalidParams
9240	}
9241	return nil
9242}
9243
9244// SetResourceArn sets the ResourceArn field's value.
9245func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
9246	s.ResourceArn = &v
9247	return s
9248}
9249
9250// SetTagKeys sets the TagKeys field's value.
9251func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
9252	s.TagKeys = v
9253	return s
9254}
9255
9256type UntagResourceOutput struct {
9257	_ struct{} `type:"structure"`
9258}
9259
9260// String returns the string representation
9261func (s UntagResourceOutput) String() string {
9262	return awsutil.Prettify(s)
9263}
9264
9265// GoString returns the string representation
9266func (s UntagResourceOutput) GoString() string {
9267	return s.String()
9268}
9269
9270// Represents the input of a UpdateApiCache operation.
9271type UpdateApiCacheInput struct {
9272	_ struct{} `type:"structure"`
9273
9274	// Caching behavior.
9275	//
9276	//    * FULL_REQUEST_CACHING: All requests are fully cached.
9277	//
9278	//    * PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
9279	//
9280	// ApiCachingBehavior is a required field
9281	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
9282
9283	// The GraphQL API Id.
9284	//
9285	// ApiId is a required field
9286	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9287
9288	// TTL in seconds for cache entries.
9289	//
9290	// Valid values are between 1 and 3600 seconds.
9291	//
9292	// Ttl is a required field
9293	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
9294
9295	// The cache instance type. Valid values are
9296	//
9297	//    * SMALL
9298	//
9299	//    * MEDIUM
9300	//
9301	//    * LARGE
9302	//
9303	//    * XLARGE
9304	//
9305	//    * LARGE_2X
9306	//
9307	//    * LARGE_4X
9308	//
9309	//    * LARGE_8X (not available in all regions)
9310	//
9311	//    * LARGE_12X
9312	//
9313	// Historically, instance types were identified by an EC2-style value. As of
9314	// July 2020, this is deprecated, and the generic identifiers above should be
9315	// used.
9316	//
9317	// The following legacy instance types are available, but their use is discouraged:
9318	//
9319	//    * T2_SMALL: A t2.small instance type.
9320	//
9321	//    * T2_MEDIUM: A t2.medium instance type.
9322	//
9323	//    * R4_LARGE: A r4.large instance type.
9324	//
9325	//    * R4_XLARGE: A r4.xlarge instance type.
9326	//
9327	//    * R4_2XLARGE: A r4.2xlarge instance type.
9328	//
9329	//    * R4_4XLARGE: A r4.4xlarge instance type.
9330	//
9331	//    * R4_8XLARGE: A r4.8xlarge instance type.
9332	//
9333	// Type is a required field
9334	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
9335}
9336
9337// String returns the string representation
9338func (s UpdateApiCacheInput) String() string {
9339	return awsutil.Prettify(s)
9340}
9341
9342// GoString returns the string representation
9343func (s UpdateApiCacheInput) GoString() string {
9344	return s.String()
9345}
9346
9347// Validate inspects the fields of the type to determine if they are valid.
9348func (s *UpdateApiCacheInput) Validate() error {
9349	invalidParams := request.ErrInvalidParams{Context: "UpdateApiCacheInput"}
9350	if s.ApiCachingBehavior == nil {
9351		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
9352	}
9353	if s.ApiId == nil {
9354		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9355	}
9356	if s.ApiId != nil && len(*s.ApiId) < 1 {
9357		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9358	}
9359	if s.Ttl == nil {
9360		invalidParams.Add(request.NewErrParamRequired("Ttl"))
9361	}
9362	if s.Type == nil {
9363		invalidParams.Add(request.NewErrParamRequired("Type"))
9364	}
9365
9366	if invalidParams.Len() > 0 {
9367		return invalidParams
9368	}
9369	return nil
9370}
9371
9372// SetApiCachingBehavior sets the ApiCachingBehavior field's value.
9373func (s *UpdateApiCacheInput) SetApiCachingBehavior(v string) *UpdateApiCacheInput {
9374	s.ApiCachingBehavior = &v
9375	return s
9376}
9377
9378// SetApiId sets the ApiId field's value.
9379func (s *UpdateApiCacheInput) SetApiId(v string) *UpdateApiCacheInput {
9380	s.ApiId = &v
9381	return s
9382}
9383
9384// SetTtl sets the Ttl field's value.
9385func (s *UpdateApiCacheInput) SetTtl(v int64) *UpdateApiCacheInput {
9386	s.Ttl = &v
9387	return s
9388}
9389
9390// SetType sets the Type field's value.
9391func (s *UpdateApiCacheInput) SetType(v string) *UpdateApiCacheInput {
9392	s.Type = &v
9393	return s
9394}
9395
9396// Represents the output of a UpdateApiCache operation.
9397type UpdateApiCacheOutput struct {
9398	_ struct{} `type:"structure"`
9399
9400	// The ApiCache object.
9401	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
9402}
9403
9404// String returns the string representation
9405func (s UpdateApiCacheOutput) String() string {
9406	return awsutil.Prettify(s)
9407}
9408
9409// GoString returns the string representation
9410func (s UpdateApiCacheOutput) GoString() string {
9411	return s.String()
9412}
9413
9414// SetApiCache sets the ApiCache field's value.
9415func (s *UpdateApiCacheOutput) SetApiCache(v *ApiCache) *UpdateApiCacheOutput {
9416	s.ApiCache = v
9417	return s
9418}
9419
9420type UpdateApiKeyInput struct {
9421	_ struct{} `type:"structure"`
9422
9423	// The ID for the GraphQL API.
9424	//
9425	// ApiId is a required field
9426	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9427
9428	// A description of the purpose of the API key.
9429	Description *string `locationName:"description" type:"string"`
9430
9431	// The time from update time after which the API key expires. The date is represented
9432	// as seconds since the epoch. For more information, see .
9433	Expires *int64 `locationName:"expires" type:"long"`
9434
9435	// The API key ID.
9436	//
9437	// Id is a required field
9438	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
9439}
9440
9441// String returns the string representation
9442func (s UpdateApiKeyInput) String() string {
9443	return awsutil.Prettify(s)
9444}
9445
9446// GoString returns the string representation
9447func (s UpdateApiKeyInput) GoString() string {
9448	return s.String()
9449}
9450
9451// Validate inspects the fields of the type to determine if they are valid.
9452func (s *UpdateApiKeyInput) Validate() error {
9453	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
9454	if s.ApiId == nil {
9455		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9456	}
9457	if s.ApiId != nil && len(*s.ApiId) < 1 {
9458		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9459	}
9460	if s.Id == nil {
9461		invalidParams.Add(request.NewErrParamRequired("Id"))
9462	}
9463	if s.Id != nil && len(*s.Id) < 1 {
9464		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9465	}
9466
9467	if invalidParams.Len() > 0 {
9468		return invalidParams
9469	}
9470	return nil
9471}
9472
9473// SetApiId sets the ApiId field's value.
9474func (s *UpdateApiKeyInput) SetApiId(v string) *UpdateApiKeyInput {
9475	s.ApiId = &v
9476	return s
9477}
9478
9479// SetDescription sets the Description field's value.
9480func (s *UpdateApiKeyInput) SetDescription(v string) *UpdateApiKeyInput {
9481	s.Description = &v
9482	return s
9483}
9484
9485// SetExpires sets the Expires field's value.
9486func (s *UpdateApiKeyInput) SetExpires(v int64) *UpdateApiKeyInput {
9487	s.Expires = &v
9488	return s
9489}
9490
9491// SetId sets the Id field's value.
9492func (s *UpdateApiKeyInput) SetId(v string) *UpdateApiKeyInput {
9493	s.Id = &v
9494	return s
9495}
9496
9497type UpdateApiKeyOutput struct {
9498	_ struct{} `type:"structure"`
9499
9500	// The API key.
9501	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
9502}
9503
9504// String returns the string representation
9505func (s UpdateApiKeyOutput) String() string {
9506	return awsutil.Prettify(s)
9507}
9508
9509// GoString returns the string representation
9510func (s UpdateApiKeyOutput) GoString() string {
9511	return s.String()
9512}
9513
9514// SetApiKey sets the ApiKey field's value.
9515func (s *UpdateApiKeyOutput) SetApiKey(v *ApiKey) *UpdateApiKeyOutput {
9516	s.ApiKey = v
9517	return s
9518}
9519
9520type UpdateDataSourceInput struct {
9521	_ struct{} `type:"structure"`
9522
9523	// The API ID.
9524	//
9525	// ApiId is a required field
9526	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9527
9528	// The new description for the data source.
9529	Description *string `locationName:"description" type:"string"`
9530
9531	// The new Amazon DynamoDB configuration.
9532	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
9533
9534	// The new Elasticsearch Service configuration.
9535	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
9536
9537	// The new HTTP endpoint configuration.
9538	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
9539
9540	// The new AWS Lambda configuration.
9541	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
9542
9543	// The new name for the data source.
9544	//
9545	// Name is a required field
9546	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
9547
9548	// The new relational database configuration.
9549	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
9550
9551	// The new service role ARN for the data source.
9552	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
9553
9554	// The new data source type.
9555	//
9556	// Type is a required field
9557	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
9558}
9559
9560// String returns the string representation
9561func (s UpdateDataSourceInput) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s UpdateDataSourceInput) GoString() string {
9567	return s.String()
9568}
9569
9570// Validate inspects the fields of the type to determine if they are valid.
9571func (s *UpdateDataSourceInput) Validate() error {
9572	invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"}
9573	if s.ApiId == nil {
9574		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9575	}
9576	if s.ApiId != nil && len(*s.ApiId) < 1 {
9577		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9578	}
9579	if s.Name == nil {
9580		invalidParams.Add(request.NewErrParamRequired("Name"))
9581	}
9582	if s.Name != nil && len(*s.Name) < 1 {
9583		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9584	}
9585	if s.Type == nil {
9586		invalidParams.Add(request.NewErrParamRequired("Type"))
9587	}
9588	if s.DynamodbConfig != nil {
9589		if err := s.DynamodbConfig.Validate(); err != nil {
9590			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
9591		}
9592	}
9593	if s.ElasticsearchConfig != nil {
9594		if err := s.ElasticsearchConfig.Validate(); err != nil {
9595			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
9596		}
9597	}
9598	if s.HttpConfig != nil {
9599		if err := s.HttpConfig.Validate(); err != nil {
9600			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
9601		}
9602	}
9603	if s.LambdaConfig != nil {
9604		if err := s.LambdaConfig.Validate(); err != nil {
9605			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
9606		}
9607	}
9608
9609	if invalidParams.Len() > 0 {
9610		return invalidParams
9611	}
9612	return nil
9613}
9614
9615// SetApiId sets the ApiId field's value.
9616func (s *UpdateDataSourceInput) SetApiId(v string) *UpdateDataSourceInput {
9617	s.ApiId = &v
9618	return s
9619}
9620
9621// SetDescription sets the Description field's value.
9622func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput {
9623	s.Description = &v
9624	return s
9625}
9626
9627// SetDynamodbConfig sets the DynamodbConfig field's value.
9628func (s *UpdateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *UpdateDataSourceInput {
9629	s.DynamodbConfig = v
9630	return s
9631}
9632
9633// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
9634func (s *UpdateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *UpdateDataSourceInput {
9635	s.ElasticsearchConfig = v
9636	return s
9637}
9638
9639// SetHttpConfig sets the HttpConfig field's value.
9640func (s *UpdateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *UpdateDataSourceInput {
9641	s.HttpConfig = v
9642	return s
9643}
9644
9645// SetLambdaConfig sets the LambdaConfig field's value.
9646func (s *UpdateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *UpdateDataSourceInput {
9647	s.LambdaConfig = v
9648	return s
9649}
9650
9651// SetName sets the Name field's value.
9652func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput {
9653	s.Name = &v
9654	return s
9655}
9656
9657// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
9658func (s *UpdateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *UpdateDataSourceInput {
9659	s.RelationalDatabaseConfig = v
9660	return s
9661}
9662
9663// SetServiceRoleArn sets the ServiceRoleArn field's value.
9664func (s *UpdateDataSourceInput) SetServiceRoleArn(v string) *UpdateDataSourceInput {
9665	s.ServiceRoleArn = &v
9666	return s
9667}
9668
9669// SetType sets the Type field's value.
9670func (s *UpdateDataSourceInput) SetType(v string) *UpdateDataSourceInput {
9671	s.Type = &v
9672	return s
9673}
9674
9675type UpdateDataSourceOutput struct {
9676	_ struct{} `type:"structure"`
9677
9678	// The updated DataSource object.
9679	DataSource *DataSource `locationName:"dataSource" type:"structure"`
9680}
9681
9682// String returns the string representation
9683func (s UpdateDataSourceOutput) String() string {
9684	return awsutil.Prettify(s)
9685}
9686
9687// GoString returns the string representation
9688func (s UpdateDataSourceOutput) GoString() string {
9689	return s.String()
9690}
9691
9692// SetDataSource sets the DataSource field's value.
9693func (s *UpdateDataSourceOutput) SetDataSource(v *DataSource) *UpdateDataSourceOutput {
9694	s.DataSource = v
9695	return s
9696}
9697
9698type UpdateFunctionInput struct {
9699	_ struct{} `type:"structure"`
9700
9701	// The GraphQL API ID.
9702	//
9703	// ApiId is a required field
9704	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9705
9706	// The Function DataSource name.
9707	//
9708	// DataSourceName is a required field
9709	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
9710
9711	// The Function description.
9712	Description *string `locationName:"description" type:"string"`
9713
9714	// The function ID.
9715	//
9716	// FunctionId is a required field
9717	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
9718
9719	// The version of the request mapping template. Currently the supported value
9720	// is 2018-05-29.
9721	//
9722	// FunctionVersion is a required field
9723	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
9724
9725	// The Function name.
9726	//
9727	// Name is a required field
9728	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9729
9730	// The Function request mapping template. Functions support only the 2018-05-29
9731	// version of the request mapping template.
9732	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
9733
9734	// The Function request mapping template.
9735	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
9736
9737	// Describes a Sync configuration for a resolver.
9738	//
9739	// Contains information on which Conflict Detection as well as Resolution strategy
9740	// should be performed when the resolver is invoked.
9741	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
9742}
9743
9744// String returns the string representation
9745func (s UpdateFunctionInput) String() string {
9746	return awsutil.Prettify(s)
9747}
9748
9749// GoString returns the string representation
9750func (s UpdateFunctionInput) GoString() string {
9751	return s.String()
9752}
9753
9754// Validate inspects the fields of the type to determine if they are valid.
9755func (s *UpdateFunctionInput) Validate() error {
9756	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"}
9757	if s.ApiId == nil {
9758		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9759	}
9760	if s.ApiId != nil && len(*s.ApiId) < 1 {
9761		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9762	}
9763	if s.DataSourceName == nil {
9764		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
9765	}
9766	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
9767		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
9768	}
9769	if s.FunctionId == nil {
9770		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
9771	}
9772	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
9773		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
9774	}
9775	if s.FunctionVersion == nil {
9776		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
9777	}
9778	if s.Name == nil {
9779		invalidParams.Add(request.NewErrParamRequired("Name"))
9780	}
9781	if s.Name != nil && len(*s.Name) < 1 {
9782		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9783	}
9784	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
9785		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
9786	}
9787	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
9788		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
9789	}
9790
9791	if invalidParams.Len() > 0 {
9792		return invalidParams
9793	}
9794	return nil
9795}
9796
9797// SetApiId sets the ApiId field's value.
9798func (s *UpdateFunctionInput) SetApiId(v string) *UpdateFunctionInput {
9799	s.ApiId = &v
9800	return s
9801}
9802
9803// SetDataSourceName sets the DataSourceName field's value.
9804func (s *UpdateFunctionInput) SetDataSourceName(v string) *UpdateFunctionInput {
9805	s.DataSourceName = &v
9806	return s
9807}
9808
9809// SetDescription sets the Description field's value.
9810func (s *UpdateFunctionInput) SetDescription(v string) *UpdateFunctionInput {
9811	s.Description = &v
9812	return s
9813}
9814
9815// SetFunctionId sets the FunctionId field's value.
9816func (s *UpdateFunctionInput) SetFunctionId(v string) *UpdateFunctionInput {
9817	s.FunctionId = &v
9818	return s
9819}
9820
9821// SetFunctionVersion sets the FunctionVersion field's value.
9822func (s *UpdateFunctionInput) SetFunctionVersion(v string) *UpdateFunctionInput {
9823	s.FunctionVersion = &v
9824	return s
9825}
9826
9827// SetName sets the Name field's value.
9828func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput {
9829	s.Name = &v
9830	return s
9831}
9832
9833// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
9834func (s *UpdateFunctionInput) SetRequestMappingTemplate(v string) *UpdateFunctionInput {
9835	s.RequestMappingTemplate = &v
9836	return s
9837}
9838
9839// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
9840func (s *UpdateFunctionInput) SetResponseMappingTemplate(v string) *UpdateFunctionInput {
9841	s.ResponseMappingTemplate = &v
9842	return s
9843}
9844
9845// SetSyncConfig sets the SyncConfig field's value.
9846func (s *UpdateFunctionInput) SetSyncConfig(v *SyncConfig) *UpdateFunctionInput {
9847	s.SyncConfig = v
9848	return s
9849}
9850
9851type UpdateFunctionOutput struct {
9852	_ struct{} `type:"structure"`
9853
9854	// The Function object.
9855	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
9856}
9857
9858// String returns the string representation
9859func (s UpdateFunctionOutput) String() string {
9860	return awsutil.Prettify(s)
9861}
9862
9863// GoString returns the string representation
9864func (s UpdateFunctionOutput) GoString() string {
9865	return s.String()
9866}
9867
9868// SetFunctionConfiguration sets the FunctionConfiguration field's value.
9869func (s *UpdateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *UpdateFunctionOutput {
9870	s.FunctionConfiguration = v
9871	return s
9872}
9873
9874type UpdateGraphqlApiInput struct {
9875	_ struct{} `type:"structure"`
9876
9877	// A list of additional authentication providers for the GraphqlApi API.
9878	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
9879
9880	// The API ID.
9881	//
9882	// ApiId is a required field
9883	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9884
9885	// The new authentication type for the GraphqlApi object.
9886	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
9887
9888	// The Amazon CloudWatch Logs configuration for the GraphqlApi object.
9889	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
9890
9891	// The new name for the GraphqlApi object.
9892	//
9893	// Name is a required field
9894	Name *string `locationName:"name" type:"string" required:"true"`
9895
9896	// The OpenID Connect configuration for the GraphqlApi object.
9897	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
9898
9899	// The new Amazon Cognito user pool configuration for the GraphqlApi object.
9900	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
9901
9902	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
9903	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
9904}
9905
9906// String returns the string representation
9907func (s UpdateGraphqlApiInput) String() string {
9908	return awsutil.Prettify(s)
9909}
9910
9911// GoString returns the string representation
9912func (s UpdateGraphqlApiInput) GoString() string {
9913	return s.String()
9914}
9915
9916// Validate inspects the fields of the type to determine if they are valid.
9917func (s *UpdateGraphqlApiInput) Validate() error {
9918	invalidParams := request.ErrInvalidParams{Context: "UpdateGraphqlApiInput"}
9919	if s.ApiId == nil {
9920		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9921	}
9922	if s.ApiId != nil && len(*s.ApiId) < 1 {
9923		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9924	}
9925	if s.Name == nil {
9926		invalidParams.Add(request.NewErrParamRequired("Name"))
9927	}
9928	if s.AdditionalAuthenticationProviders != nil {
9929		for i, v := range s.AdditionalAuthenticationProviders {
9930			if v == nil {
9931				continue
9932			}
9933			if err := v.Validate(); err != nil {
9934				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
9935			}
9936		}
9937	}
9938	if s.LogConfig != nil {
9939		if err := s.LogConfig.Validate(); err != nil {
9940			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
9941		}
9942	}
9943	if s.OpenIDConnectConfig != nil {
9944		if err := s.OpenIDConnectConfig.Validate(); err != nil {
9945			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
9946		}
9947	}
9948	if s.UserPoolConfig != nil {
9949		if err := s.UserPoolConfig.Validate(); err != nil {
9950			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
9951		}
9952	}
9953
9954	if invalidParams.Len() > 0 {
9955		return invalidParams
9956	}
9957	return nil
9958}
9959
9960// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
9961func (s *UpdateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *UpdateGraphqlApiInput {
9962	s.AdditionalAuthenticationProviders = v
9963	return s
9964}
9965
9966// SetApiId sets the ApiId field's value.
9967func (s *UpdateGraphqlApiInput) SetApiId(v string) *UpdateGraphqlApiInput {
9968	s.ApiId = &v
9969	return s
9970}
9971
9972// SetAuthenticationType sets the AuthenticationType field's value.
9973func (s *UpdateGraphqlApiInput) SetAuthenticationType(v string) *UpdateGraphqlApiInput {
9974	s.AuthenticationType = &v
9975	return s
9976}
9977
9978// SetLogConfig sets the LogConfig field's value.
9979func (s *UpdateGraphqlApiInput) SetLogConfig(v *LogConfig) *UpdateGraphqlApiInput {
9980	s.LogConfig = v
9981	return s
9982}
9983
9984// SetName sets the Name field's value.
9985func (s *UpdateGraphqlApiInput) SetName(v string) *UpdateGraphqlApiInput {
9986	s.Name = &v
9987	return s
9988}
9989
9990// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
9991func (s *UpdateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *UpdateGraphqlApiInput {
9992	s.OpenIDConnectConfig = v
9993	return s
9994}
9995
9996// SetUserPoolConfig sets the UserPoolConfig field's value.
9997func (s *UpdateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *UpdateGraphqlApiInput {
9998	s.UserPoolConfig = v
9999	return s
10000}
10001
10002// SetXrayEnabled sets the XrayEnabled field's value.
10003func (s *UpdateGraphqlApiInput) SetXrayEnabled(v bool) *UpdateGraphqlApiInput {
10004	s.XrayEnabled = &v
10005	return s
10006}
10007
10008type UpdateGraphqlApiOutput struct {
10009	_ struct{} `type:"structure"`
10010
10011	// The updated GraphqlApi object.
10012	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
10013}
10014
10015// String returns the string representation
10016func (s UpdateGraphqlApiOutput) String() string {
10017	return awsutil.Prettify(s)
10018}
10019
10020// GoString returns the string representation
10021func (s UpdateGraphqlApiOutput) GoString() string {
10022	return s.String()
10023}
10024
10025// SetGraphqlApi sets the GraphqlApi field's value.
10026func (s *UpdateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *UpdateGraphqlApiOutput {
10027	s.GraphqlApi = v
10028	return s
10029}
10030
10031type UpdateResolverInput struct {
10032	_ struct{} `type:"structure"`
10033
10034	// The API ID.
10035	//
10036	// ApiId is a required field
10037	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10038
10039	// The caching configuration for the resolver.
10040	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
10041
10042	// The new data source name.
10043	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
10044
10045	// The new field name.
10046	//
10047	// FieldName is a required field
10048	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
10049
10050	// The resolver type.
10051	//
10052	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
10053	//    type. A UNIT resolver enables you to execute a GraphQL query against a
10054	//    single data source.
10055	//
10056	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
10057	//    to execute a series of Function in a serial manner. You can use a pipeline
10058	//    resolver to execute a GraphQL query against multiple data sources.
10059	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
10060
10061	// The PipelineConfig.
10062	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
10063
10064	// The new request mapping template.
10065	//
10066	// A resolver uses a request mapping template to convert a GraphQL expression
10067	// into a format that a data source can understand. Mapping templates are written
10068	// in Apache Velocity Template Language (VTL).
10069	//
10070	// VTL request mapping templates are optional when using a Lambda data source.
10071	// For all other data sources, VTL request and response mapping templates are
10072	// required.
10073	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
10074
10075	// The new response mapping template.
10076	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
10077
10078	// The SyncConfig for a resolver attached to a versioned datasource.
10079	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
10080
10081	// The new type name.
10082	//
10083	// TypeName is a required field
10084	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
10085}
10086
10087// String returns the string representation
10088func (s UpdateResolverInput) String() string {
10089	return awsutil.Prettify(s)
10090}
10091
10092// GoString returns the string representation
10093func (s UpdateResolverInput) GoString() string {
10094	return s.String()
10095}
10096
10097// Validate inspects the fields of the type to determine if they are valid.
10098func (s *UpdateResolverInput) Validate() error {
10099	invalidParams := request.ErrInvalidParams{Context: "UpdateResolverInput"}
10100	if s.ApiId == nil {
10101		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10102	}
10103	if s.ApiId != nil && len(*s.ApiId) < 1 {
10104		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10105	}
10106	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
10107		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
10108	}
10109	if s.FieldName == nil {
10110		invalidParams.Add(request.NewErrParamRequired("FieldName"))
10111	}
10112	if s.FieldName != nil && len(*s.FieldName) < 1 {
10113		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
10114	}
10115	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
10116		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
10117	}
10118	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
10119		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
10120	}
10121	if s.TypeName == nil {
10122		invalidParams.Add(request.NewErrParamRequired("TypeName"))
10123	}
10124	if s.TypeName != nil && len(*s.TypeName) < 1 {
10125		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
10126	}
10127
10128	if invalidParams.Len() > 0 {
10129		return invalidParams
10130	}
10131	return nil
10132}
10133
10134// SetApiId sets the ApiId field's value.
10135func (s *UpdateResolverInput) SetApiId(v string) *UpdateResolverInput {
10136	s.ApiId = &v
10137	return s
10138}
10139
10140// SetCachingConfig sets the CachingConfig field's value.
10141func (s *UpdateResolverInput) SetCachingConfig(v *CachingConfig) *UpdateResolverInput {
10142	s.CachingConfig = v
10143	return s
10144}
10145
10146// SetDataSourceName sets the DataSourceName field's value.
10147func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput {
10148	s.DataSourceName = &v
10149	return s
10150}
10151
10152// SetFieldName sets the FieldName field's value.
10153func (s *UpdateResolverInput) SetFieldName(v string) *UpdateResolverInput {
10154	s.FieldName = &v
10155	return s
10156}
10157
10158// SetKind sets the Kind field's value.
10159func (s *UpdateResolverInput) SetKind(v string) *UpdateResolverInput {
10160	s.Kind = &v
10161	return s
10162}
10163
10164// SetPipelineConfig sets the PipelineConfig field's value.
10165func (s *UpdateResolverInput) SetPipelineConfig(v *PipelineConfig) *UpdateResolverInput {
10166	s.PipelineConfig = v
10167	return s
10168}
10169
10170// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
10171func (s *UpdateResolverInput) SetRequestMappingTemplate(v string) *UpdateResolverInput {
10172	s.RequestMappingTemplate = &v
10173	return s
10174}
10175
10176// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
10177func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolverInput {
10178	s.ResponseMappingTemplate = &v
10179	return s
10180}
10181
10182// SetSyncConfig sets the SyncConfig field's value.
10183func (s *UpdateResolverInput) SetSyncConfig(v *SyncConfig) *UpdateResolverInput {
10184	s.SyncConfig = v
10185	return s
10186}
10187
10188// SetTypeName sets the TypeName field's value.
10189func (s *UpdateResolverInput) SetTypeName(v string) *UpdateResolverInput {
10190	s.TypeName = &v
10191	return s
10192}
10193
10194type UpdateResolverOutput struct {
10195	_ struct{} `type:"structure"`
10196
10197	// The updated Resolver object.
10198	Resolver *Resolver `locationName:"resolver" type:"structure"`
10199}
10200
10201// String returns the string representation
10202func (s UpdateResolverOutput) String() string {
10203	return awsutil.Prettify(s)
10204}
10205
10206// GoString returns the string representation
10207func (s UpdateResolverOutput) GoString() string {
10208	return s.String()
10209}
10210
10211// SetResolver sets the Resolver field's value.
10212func (s *UpdateResolverOutput) SetResolver(v *Resolver) *UpdateResolverOutput {
10213	s.Resolver = v
10214	return s
10215}
10216
10217type UpdateTypeInput struct {
10218	_ struct{} `type:"structure"`
10219
10220	// The API ID.
10221	//
10222	// ApiId is a required field
10223	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10224
10225	// The new definition.
10226	Definition *string `locationName:"definition" type:"string"`
10227
10228	// The new type format: SDL or JSON.
10229	//
10230	// Format is a required field
10231	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
10232
10233	// The new type name.
10234	//
10235	// TypeName is a required field
10236	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
10237}
10238
10239// String returns the string representation
10240func (s UpdateTypeInput) String() string {
10241	return awsutil.Prettify(s)
10242}
10243
10244// GoString returns the string representation
10245func (s UpdateTypeInput) GoString() string {
10246	return s.String()
10247}
10248
10249// Validate inspects the fields of the type to determine if they are valid.
10250func (s *UpdateTypeInput) Validate() error {
10251	invalidParams := request.ErrInvalidParams{Context: "UpdateTypeInput"}
10252	if s.ApiId == nil {
10253		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10254	}
10255	if s.ApiId != nil && len(*s.ApiId) < 1 {
10256		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10257	}
10258	if s.Format == nil {
10259		invalidParams.Add(request.NewErrParamRequired("Format"))
10260	}
10261	if s.TypeName == nil {
10262		invalidParams.Add(request.NewErrParamRequired("TypeName"))
10263	}
10264	if s.TypeName != nil && len(*s.TypeName) < 1 {
10265		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
10266	}
10267
10268	if invalidParams.Len() > 0 {
10269		return invalidParams
10270	}
10271	return nil
10272}
10273
10274// SetApiId sets the ApiId field's value.
10275func (s *UpdateTypeInput) SetApiId(v string) *UpdateTypeInput {
10276	s.ApiId = &v
10277	return s
10278}
10279
10280// SetDefinition sets the Definition field's value.
10281func (s *UpdateTypeInput) SetDefinition(v string) *UpdateTypeInput {
10282	s.Definition = &v
10283	return s
10284}
10285
10286// SetFormat sets the Format field's value.
10287func (s *UpdateTypeInput) SetFormat(v string) *UpdateTypeInput {
10288	s.Format = &v
10289	return s
10290}
10291
10292// SetTypeName sets the TypeName field's value.
10293func (s *UpdateTypeInput) SetTypeName(v string) *UpdateTypeInput {
10294	s.TypeName = &v
10295	return s
10296}
10297
10298type UpdateTypeOutput struct {
10299	_ struct{} `type:"structure"`
10300
10301	// The updated Type object.
10302	Type *Type `locationName:"type" type:"structure"`
10303}
10304
10305// String returns the string representation
10306func (s UpdateTypeOutput) String() string {
10307	return awsutil.Prettify(s)
10308}
10309
10310// GoString returns the string representation
10311func (s UpdateTypeOutput) GoString() string {
10312	return s.String()
10313}
10314
10315// SetType sets the Type field's value.
10316func (s *UpdateTypeOutput) SetType(v *Type) *UpdateTypeOutput {
10317	s.Type = v
10318	return s
10319}
10320
10321// Describes an Amazon Cognito user pool configuration.
10322type UserPoolConfig struct {
10323	_ struct{} `type:"structure"`
10324
10325	// A regular expression for validating the incoming Amazon Cognito user pool
10326	// app client ID.
10327	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
10328
10329	// The AWS Region in which the user pool was created.
10330	//
10331	// AwsRegion is a required field
10332	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
10333
10334	// The action that you want your GraphQL API to take when a request that uses
10335	// Amazon Cognito user pool authentication doesn't match the Amazon Cognito
10336	// user pool configuration.
10337	//
10338	// DefaultAction is a required field
10339	DefaultAction *string `locationName:"defaultAction" type:"string" required:"true" enum:"DefaultAction"`
10340
10341	// The user pool ID.
10342	//
10343	// UserPoolId is a required field
10344	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
10345}
10346
10347// String returns the string representation
10348func (s UserPoolConfig) String() string {
10349	return awsutil.Prettify(s)
10350}
10351
10352// GoString returns the string representation
10353func (s UserPoolConfig) GoString() string {
10354	return s.String()
10355}
10356
10357// Validate inspects the fields of the type to determine if they are valid.
10358func (s *UserPoolConfig) Validate() error {
10359	invalidParams := request.ErrInvalidParams{Context: "UserPoolConfig"}
10360	if s.AwsRegion == nil {
10361		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
10362	}
10363	if s.DefaultAction == nil {
10364		invalidParams.Add(request.NewErrParamRequired("DefaultAction"))
10365	}
10366	if s.UserPoolId == nil {
10367		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
10368	}
10369
10370	if invalidParams.Len() > 0 {
10371		return invalidParams
10372	}
10373	return nil
10374}
10375
10376// SetAppIdClientRegex sets the AppIdClientRegex field's value.
10377func (s *UserPoolConfig) SetAppIdClientRegex(v string) *UserPoolConfig {
10378	s.AppIdClientRegex = &v
10379	return s
10380}
10381
10382// SetAwsRegion sets the AwsRegion field's value.
10383func (s *UserPoolConfig) SetAwsRegion(v string) *UserPoolConfig {
10384	s.AwsRegion = &v
10385	return s
10386}
10387
10388// SetDefaultAction sets the DefaultAction field's value.
10389func (s *UserPoolConfig) SetDefaultAction(v string) *UserPoolConfig {
10390	s.DefaultAction = &v
10391	return s
10392}
10393
10394// SetUserPoolId sets the UserPoolId field's value.
10395func (s *UserPoolConfig) SetUserPoolId(v string) *UserPoolConfig {
10396	s.UserPoolId = &v
10397	return s
10398}
10399
10400const (
10401	// ApiCacheStatusAvailable is a ApiCacheStatus enum value
10402	ApiCacheStatusAvailable = "AVAILABLE"
10403
10404	// ApiCacheStatusCreating is a ApiCacheStatus enum value
10405	ApiCacheStatusCreating = "CREATING"
10406
10407	// ApiCacheStatusDeleting is a ApiCacheStatus enum value
10408	ApiCacheStatusDeleting = "DELETING"
10409
10410	// ApiCacheStatusModifying is a ApiCacheStatus enum value
10411	ApiCacheStatusModifying = "MODIFYING"
10412
10413	// ApiCacheStatusFailed is a ApiCacheStatus enum value
10414	ApiCacheStatusFailed = "FAILED"
10415)
10416
10417// ApiCacheStatus_Values returns all elements of the ApiCacheStatus enum
10418func ApiCacheStatus_Values() []string {
10419	return []string{
10420		ApiCacheStatusAvailable,
10421		ApiCacheStatusCreating,
10422		ApiCacheStatusDeleting,
10423		ApiCacheStatusModifying,
10424		ApiCacheStatusFailed,
10425	}
10426}
10427
10428const (
10429	// ApiCacheTypeT2Small is a ApiCacheType enum value
10430	ApiCacheTypeT2Small = "T2_SMALL"
10431
10432	// ApiCacheTypeT2Medium is a ApiCacheType enum value
10433	ApiCacheTypeT2Medium = "T2_MEDIUM"
10434
10435	// ApiCacheTypeR4Large is a ApiCacheType enum value
10436	ApiCacheTypeR4Large = "R4_LARGE"
10437
10438	// ApiCacheTypeR4Xlarge is a ApiCacheType enum value
10439	ApiCacheTypeR4Xlarge = "R4_XLARGE"
10440
10441	// ApiCacheTypeR42xlarge is a ApiCacheType enum value
10442	ApiCacheTypeR42xlarge = "R4_2XLARGE"
10443
10444	// ApiCacheTypeR44xlarge is a ApiCacheType enum value
10445	ApiCacheTypeR44xlarge = "R4_4XLARGE"
10446
10447	// ApiCacheTypeR48xlarge is a ApiCacheType enum value
10448	ApiCacheTypeR48xlarge = "R4_8XLARGE"
10449
10450	// ApiCacheTypeSmall is a ApiCacheType enum value
10451	ApiCacheTypeSmall = "SMALL"
10452
10453	// ApiCacheTypeMedium is a ApiCacheType enum value
10454	ApiCacheTypeMedium = "MEDIUM"
10455
10456	// ApiCacheTypeLarge is a ApiCacheType enum value
10457	ApiCacheTypeLarge = "LARGE"
10458
10459	// ApiCacheTypeXlarge is a ApiCacheType enum value
10460	ApiCacheTypeXlarge = "XLARGE"
10461
10462	// ApiCacheTypeLarge2x is a ApiCacheType enum value
10463	ApiCacheTypeLarge2x = "LARGE_2X"
10464
10465	// ApiCacheTypeLarge4x is a ApiCacheType enum value
10466	ApiCacheTypeLarge4x = "LARGE_4X"
10467
10468	// ApiCacheTypeLarge8x is a ApiCacheType enum value
10469	ApiCacheTypeLarge8x = "LARGE_8X"
10470
10471	// ApiCacheTypeLarge12x is a ApiCacheType enum value
10472	ApiCacheTypeLarge12x = "LARGE_12X"
10473)
10474
10475// ApiCacheType_Values returns all elements of the ApiCacheType enum
10476func ApiCacheType_Values() []string {
10477	return []string{
10478		ApiCacheTypeT2Small,
10479		ApiCacheTypeT2Medium,
10480		ApiCacheTypeR4Large,
10481		ApiCacheTypeR4Xlarge,
10482		ApiCacheTypeR42xlarge,
10483		ApiCacheTypeR44xlarge,
10484		ApiCacheTypeR48xlarge,
10485		ApiCacheTypeSmall,
10486		ApiCacheTypeMedium,
10487		ApiCacheTypeLarge,
10488		ApiCacheTypeXlarge,
10489		ApiCacheTypeLarge2x,
10490		ApiCacheTypeLarge4x,
10491		ApiCacheTypeLarge8x,
10492		ApiCacheTypeLarge12x,
10493	}
10494}
10495
10496const (
10497	// ApiCachingBehaviorFullRequestCaching is a ApiCachingBehavior enum value
10498	ApiCachingBehaviorFullRequestCaching = "FULL_REQUEST_CACHING"
10499
10500	// ApiCachingBehaviorPerResolverCaching is a ApiCachingBehavior enum value
10501	ApiCachingBehaviorPerResolverCaching = "PER_RESOLVER_CACHING"
10502)
10503
10504// ApiCachingBehavior_Values returns all elements of the ApiCachingBehavior enum
10505func ApiCachingBehavior_Values() []string {
10506	return []string{
10507		ApiCachingBehaviorFullRequestCaching,
10508		ApiCachingBehaviorPerResolverCaching,
10509	}
10510}
10511
10512const (
10513	// AuthenticationTypeApiKey is a AuthenticationType enum value
10514	AuthenticationTypeApiKey = "API_KEY"
10515
10516	// AuthenticationTypeAwsIam is a AuthenticationType enum value
10517	AuthenticationTypeAwsIam = "AWS_IAM"
10518
10519	// AuthenticationTypeAmazonCognitoUserPools is a AuthenticationType enum value
10520	AuthenticationTypeAmazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS"
10521
10522	// AuthenticationTypeOpenidConnect is a AuthenticationType enum value
10523	AuthenticationTypeOpenidConnect = "OPENID_CONNECT"
10524)
10525
10526// AuthenticationType_Values returns all elements of the AuthenticationType enum
10527func AuthenticationType_Values() []string {
10528	return []string{
10529		AuthenticationTypeApiKey,
10530		AuthenticationTypeAwsIam,
10531		AuthenticationTypeAmazonCognitoUserPools,
10532		AuthenticationTypeOpenidConnect,
10533	}
10534}
10535
10536const (
10537	// AuthorizationTypeAwsIam is a AuthorizationType enum value
10538	AuthorizationTypeAwsIam = "AWS_IAM"
10539)
10540
10541// AuthorizationType_Values returns all elements of the AuthorizationType enum
10542func AuthorizationType_Values() []string {
10543	return []string{
10544		AuthorizationTypeAwsIam,
10545	}
10546}
10547
10548const (
10549	// ConflictDetectionTypeVersion is a ConflictDetectionType enum value
10550	ConflictDetectionTypeVersion = "VERSION"
10551
10552	// ConflictDetectionTypeNone is a ConflictDetectionType enum value
10553	ConflictDetectionTypeNone = "NONE"
10554)
10555
10556// ConflictDetectionType_Values returns all elements of the ConflictDetectionType enum
10557func ConflictDetectionType_Values() []string {
10558	return []string{
10559		ConflictDetectionTypeVersion,
10560		ConflictDetectionTypeNone,
10561	}
10562}
10563
10564const (
10565	// ConflictHandlerTypeOptimisticConcurrency is a ConflictHandlerType enum value
10566	ConflictHandlerTypeOptimisticConcurrency = "OPTIMISTIC_CONCURRENCY"
10567
10568	// ConflictHandlerTypeLambda is a ConflictHandlerType enum value
10569	ConflictHandlerTypeLambda = "LAMBDA"
10570
10571	// ConflictHandlerTypeAutomerge is a ConflictHandlerType enum value
10572	ConflictHandlerTypeAutomerge = "AUTOMERGE"
10573
10574	// ConflictHandlerTypeNone is a ConflictHandlerType enum value
10575	ConflictHandlerTypeNone = "NONE"
10576)
10577
10578// ConflictHandlerType_Values returns all elements of the ConflictHandlerType enum
10579func ConflictHandlerType_Values() []string {
10580	return []string{
10581		ConflictHandlerTypeOptimisticConcurrency,
10582		ConflictHandlerTypeLambda,
10583		ConflictHandlerTypeAutomerge,
10584		ConflictHandlerTypeNone,
10585	}
10586}
10587
10588const (
10589	// DataSourceTypeAwsLambda is a DataSourceType enum value
10590	DataSourceTypeAwsLambda = "AWS_LAMBDA"
10591
10592	// DataSourceTypeAmazonDynamodb is a DataSourceType enum value
10593	DataSourceTypeAmazonDynamodb = "AMAZON_DYNAMODB"
10594
10595	// DataSourceTypeAmazonElasticsearch is a DataSourceType enum value
10596	DataSourceTypeAmazonElasticsearch = "AMAZON_ELASTICSEARCH"
10597
10598	// DataSourceTypeNone is a DataSourceType enum value
10599	DataSourceTypeNone = "NONE"
10600
10601	// DataSourceTypeHttp is a DataSourceType enum value
10602	DataSourceTypeHttp = "HTTP"
10603
10604	// DataSourceTypeRelationalDatabase is a DataSourceType enum value
10605	DataSourceTypeRelationalDatabase = "RELATIONAL_DATABASE"
10606)
10607
10608// DataSourceType_Values returns all elements of the DataSourceType enum
10609func DataSourceType_Values() []string {
10610	return []string{
10611		DataSourceTypeAwsLambda,
10612		DataSourceTypeAmazonDynamodb,
10613		DataSourceTypeAmazonElasticsearch,
10614		DataSourceTypeNone,
10615		DataSourceTypeHttp,
10616		DataSourceTypeRelationalDatabase,
10617	}
10618}
10619
10620const (
10621	// DefaultActionAllow is a DefaultAction enum value
10622	DefaultActionAllow = "ALLOW"
10623
10624	// DefaultActionDeny is a DefaultAction enum value
10625	DefaultActionDeny = "DENY"
10626)
10627
10628// DefaultAction_Values returns all elements of the DefaultAction enum
10629func DefaultAction_Values() []string {
10630	return []string{
10631		DefaultActionAllow,
10632		DefaultActionDeny,
10633	}
10634}
10635
10636const (
10637	// FieldLogLevelNone is a FieldLogLevel enum value
10638	FieldLogLevelNone = "NONE"
10639
10640	// FieldLogLevelError is a FieldLogLevel enum value
10641	FieldLogLevelError = "ERROR"
10642
10643	// FieldLogLevelAll is a FieldLogLevel enum value
10644	FieldLogLevelAll = "ALL"
10645)
10646
10647// FieldLogLevel_Values returns all elements of the FieldLogLevel enum
10648func FieldLogLevel_Values() []string {
10649	return []string{
10650		FieldLogLevelNone,
10651		FieldLogLevelError,
10652		FieldLogLevelAll,
10653	}
10654}
10655
10656const (
10657	// OutputTypeSdl is a OutputType enum value
10658	OutputTypeSdl = "SDL"
10659
10660	// OutputTypeJson is a OutputType enum value
10661	OutputTypeJson = "JSON"
10662)
10663
10664// OutputType_Values returns all elements of the OutputType enum
10665func OutputType_Values() []string {
10666	return []string{
10667		OutputTypeSdl,
10668		OutputTypeJson,
10669	}
10670}
10671
10672const (
10673	// RelationalDatabaseSourceTypeRdsHttpEndpoint is a RelationalDatabaseSourceType enum value
10674	RelationalDatabaseSourceTypeRdsHttpEndpoint = "RDS_HTTP_ENDPOINT"
10675)
10676
10677// RelationalDatabaseSourceType_Values returns all elements of the RelationalDatabaseSourceType enum
10678func RelationalDatabaseSourceType_Values() []string {
10679	return []string{
10680		RelationalDatabaseSourceTypeRdsHttpEndpoint,
10681	}
10682}
10683
10684const (
10685	// ResolverKindUnit is a ResolverKind enum value
10686	ResolverKindUnit = "UNIT"
10687
10688	// ResolverKindPipeline is a ResolverKind enum value
10689	ResolverKindPipeline = "PIPELINE"
10690)
10691
10692// ResolverKind_Values returns all elements of the ResolverKind enum
10693func ResolverKind_Values() []string {
10694	return []string{
10695		ResolverKindUnit,
10696		ResolverKindPipeline,
10697	}
10698}
10699
10700const (
10701	// SchemaStatusProcessing is a SchemaStatus enum value
10702	SchemaStatusProcessing = "PROCESSING"
10703
10704	// SchemaStatusActive is a SchemaStatus enum value
10705	SchemaStatusActive = "ACTIVE"
10706
10707	// SchemaStatusDeleting is a SchemaStatus enum value
10708	SchemaStatusDeleting = "DELETING"
10709
10710	// SchemaStatusFailed is a SchemaStatus enum value
10711	SchemaStatusFailed = "FAILED"
10712
10713	// SchemaStatusSuccess is a SchemaStatus enum value
10714	SchemaStatusSuccess = "SUCCESS"
10715
10716	// SchemaStatusNotApplicable is a SchemaStatus enum value
10717	SchemaStatusNotApplicable = "NOT_APPLICABLE"
10718)
10719
10720// SchemaStatus_Values returns all elements of the SchemaStatus enum
10721func SchemaStatus_Values() []string {
10722	return []string{
10723		SchemaStatusProcessing,
10724		SchemaStatusActive,
10725		SchemaStatusDeleting,
10726		SchemaStatusFailed,
10727		SchemaStatusSuccess,
10728		SchemaStatusNotApplicable,
10729	}
10730}
10731
10732const (
10733	// TypeDefinitionFormatSdl is a TypeDefinitionFormat enum value
10734	TypeDefinitionFormatSdl = "SDL"
10735
10736	// TypeDefinitionFormatJson is a TypeDefinitionFormat enum value
10737	TypeDefinitionFormatJson = "JSON"
10738)
10739
10740// TypeDefinitionFormat_Values returns all elements of the TypeDefinitionFormat enum
10741func TypeDefinitionFormat_Values() []string {
10742	return []string{
10743		TypeDefinitionFormatSdl,
10744		TypeDefinitionFormatJson,
10745	}
10746}
10747