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 opCreateApiKey = "CreateApiKey"
16
17// CreateApiKeyRequest generates a "aws/request.Request" representing the
18// client's request for the CreateApiKey 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 CreateApiKey for more information on using the CreateApiKey
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 CreateApiKeyRequest method.
33//    req, resp := client.CreateApiKeyRequest(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/CreateApiKey
41func (c *AppSync) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *CreateApiKeyOutput) {
42	op := &request.Operation{
43		Name:       opCreateApiKey,
44		HTTPMethod: "POST",
45		HTTPPath:   "/v1/apis/{apiId}/apikeys",
46	}
47
48	if input == nil {
49		input = &CreateApiKeyInput{}
50	}
51
52	output = &CreateApiKeyOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateApiKey API operation for AWS AppSync.
58//
59// Creates a unique key that you can distribute to clients who are executing
60// your API.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS AppSync's
67// API operation CreateApiKey for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeBadRequestException "BadRequestException"
71//   The request is not well formed. For example, a value is invalid or a required
72//   field is missing. Check the field values, and then try again.
73//
74//   * ErrCodeNotFoundException "NotFoundException"
75//   The resource specified in the request was not found. Check the resource,
76//   and then try again.
77//
78//   * ErrCodeLimitExceededException "LimitExceededException"
79//   The request exceeded a limit. Try your request again.
80//
81//   * ErrCodeUnauthorizedException "UnauthorizedException"
82//   You are not authorized to perform this operation.
83//
84//   * ErrCodeLimitExceededException "LimitExceededException"
85//   The request exceeded a limit. Try your request again.
86//
87//   * ErrCodeInternalFailureException "InternalFailureException"
88//   An internal AWS AppSync error occurred. Try your request again.
89//
90//   * ErrCodeApiKeyLimitExceededException "ApiKeyLimitExceededException"
91//   The API key exceeded a limit. Try your request again.
92//
93//   * ErrCodeApiKeyValidityOutOfBoundsException "ApiKeyValidityOutOfBoundsException"
94//   The API key expiration must be set to a value between 1 and 365 days from
95//   creation (for CreateApiKey) or from update (for UpdateApiKey).
96//
97// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey
98func (c *AppSync) CreateApiKey(input *CreateApiKeyInput) (*CreateApiKeyOutput, error) {
99	req, out := c.CreateApiKeyRequest(input)
100	return out, req.Send()
101}
102
103// CreateApiKeyWithContext is the same as CreateApiKey with the addition of
104// the ability to pass a context and additional request options.
105//
106// See CreateApiKey for details on how to use this API operation.
107//
108// The context must be non-nil and will be used for request cancellation. If
109// the context is nil a panic will occur. In the future the SDK may create
110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
111// for more information on using Contexts.
112func (c *AppSync) CreateApiKeyWithContext(ctx aws.Context, input *CreateApiKeyInput, opts ...request.Option) (*CreateApiKeyOutput, error) {
113	req, out := c.CreateApiKeyRequest(input)
114	req.SetContext(ctx)
115	req.ApplyOptions(opts...)
116	return out, req.Send()
117}
118
119const opCreateDataSource = "CreateDataSource"
120
121// CreateDataSourceRequest generates a "aws/request.Request" representing the
122// client's request for the CreateDataSource operation. The "output" return
123// value will be populated with the request's response once the request completes
124// successfully.
125//
126// Use "Send" method on the returned Request to send the API call to the service.
127// the "output" return value is not valid until after Send returns without error.
128//
129// See CreateDataSource for more information on using the CreateDataSource
130// API call, and error handling.
131//
132// This method is useful when you want to inject custom logic or configuration
133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
134//
135//
136//    // Example sending a request using the CreateDataSourceRequest method.
137//    req, resp := client.CreateDataSourceRequest(params)
138//
139//    err := req.Send()
140//    if err == nil { // resp is now filled
141//        fmt.Println(resp)
142//    }
143//
144// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
145func (c *AppSync) CreateDataSourceRequest(input *CreateDataSourceInput) (req *request.Request, output *CreateDataSourceOutput) {
146	op := &request.Operation{
147		Name:       opCreateDataSource,
148		HTTPMethod: "POST",
149		HTTPPath:   "/v1/apis/{apiId}/datasources",
150	}
151
152	if input == nil {
153		input = &CreateDataSourceInput{}
154	}
155
156	output = &CreateDataSourceOutput{}
157	req = c.newRequest(op, input, output)
158	return
159}
160
161// CreateDataSource API operation for AWS AppSync.
162//
163// Creates a DataSource object.
164//
165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
166// with awserr.Error's Code and Message methods to get detailed information about
167// the error.
168//
169// See the AWS API reference guide for AWS AppSync's
170// API operation CreateDataSource for usage and error information.
171//
172// Returned Error Codes:
173//   * ErrCodeBadRequestException "BadRequestException"
174//   The request is not well formed. For example, a value is invalid or a required
175//   field is missing. Check the field values, and then try again.
176//
177//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
178//   Another modification is in progress at this time and it must complete before
179//   you can make your change.
180//
181//   * ErrCodeNotFoundException "NotFoundException"
182//   The resource specified in the request was not found. Check the resource,
183//   and then try again.
184//
185//   * ErrCodeUnauthorizedException "UnauthorizedException"
186//   You are not authorized to perform this operation.
187//
188//   * ErrCodeInternalFailureException "InternalFailureException"
189//   An internal AWS AppSync error occurred. Try your request again.
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
192func (c *AppSync) CreateDataSource(input *CreateDataSourceInput) (*CreateDataSourceOutput, error) {
193	req, out := c.CreateDataSourceRequest(input)
194	return out, req.Send()
195}
196
197// CreateDataSourceWithContext is the same as CreateDataSource with the addition of
198// the ability to pass a context and additional request options.
199//
200// See CreateDataSource 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) CreateDataSourceWithContext(ctx aws.Context, input *CreateDataSourceInput, opts ...request.Option) (*CreateDataSourceOutput, error) {
207	req, out := c.CreateDataSourceRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opCreateFunction = "CreateFunction"
214
215// CreateFunctionRequest generates a "aws/request.Request" representing the
216// client's request for the CreateFunction 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 CreateFunction for more information on using the CreateFunction
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 CreateFunctionRequest method.
231//    req, resp := client.CreateFunctionRequest(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/CreateFunction
239func (c *AppSync) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *CreateFunctionOutput) {
240	op := &request.Operation{
241		Name:       opCreateFunction,
242		HTTPMethod: "POST",
243		HTTPPath:   "/v1/apis/{apiId}/functions",
244	}
245
246	if input == nil {
247		input = &CreateFunctionInput{}
248	}
249
250	output = &CreateFunctionOutput{}
251	req = c.newRequest(op, input, output)
252	return
253}
254
255// CreateFunction API operation for AWS AppSync.
256//
257// Creates a Function object.
258//
259// A function is a reusable entity. Multiple functions can be used to compose
260// the resolver logic.
261//
262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
263// with awserr.Error's Code and Message methods to get detailed information about
264// the error.
265//
266// See the AWS API reference guide for AWS AppSync's
267// API operation CreateFunction for usage and error information.
268//
269// Returned Error Codes:
270//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
271//   Another modification is in progress at this time and it must complete before
272//   you can make your change.
273//
274//   * ErrCodeNotFoundException "NotFoundException"
275//   The resource specified in the request was not found. Check the resource,
276//   and then try again.
277//
278//   * ErrCodeUnauthorizedException "UnauthorizedException"
279//   You are not authorized to perform this operation.
280//
281//   * ErrCodeInternalFailureException "InternalFailureException"
282//   An internal AWS AppSync error occurred. Try your request again.
283//
284// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction
285func (c *AppSync) CreateFunction(input *CreateFunctionInput) (*CreateFunctionOutput, error) {
286	req, out := c.CreateFunctionRequest(input)
287	return out, req.Send()
288}
289
290// CreateFunctionWithContext is the same as CreateFunction with the addition of
291// the ability to pass a context and additional request options.
292//
293// See CreateFunction for details on how to use this API operation.
294//
295// The context must be non-nil and will be used for request cancellation. If
296// the context is nil a panic will occur. In the future the SDK may create
297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
298// for more information on using Contexts.
299func (c *AppSync) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*CreateFunctionOutput, error) {
300	req, out := c.CreateFunctionRequest(input)
301	req.SetContext(ctx)
302	req.ApplyOptions(opts...)
303	return out, req.Send()
304}
305
306const opCreateGraphqlApi = "CreateGraphqlApi"
307
308// CreateGraphqlApiRequest generates a "aws/request.Request" representing the
309// client's request for the CreateGraphqlApi operation. The "output" return
310// value will be populated with the request's response once the request completes
311// successfully.
312//
313// Use "Send" method on the returned Request to send the API call to the service.
314// the "output" return value is not valid until after Send returns without error.
315//
316// See CreateGraphqlApi for more information on using the CreateGraphqlApi
317// API call, and error handling.
318//
319// This method is useful when you want to inject custom logic or configuration
320// into the SDK's request lifecycle. Such as custom headers, or retry logic.
321//
322//
323//    // Example sending a request using the CreateGraphqlApiRequest method.
324//    req, resp := client.CreateGraphqlApiRequest(params)
325//
326//    err := req.Send()
327//    if err == nil { // resp is now filled
328//        fmt.Println(resp)
329//    }
330//
331// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
332func (c *AppSync) CreateGraphqlApiRequest(input *CreateGraphqlApiInput) (req *request.Request, output *CreateGraphqlApiOutput) {
333	op := &request.Operation{
334		Name:       opCreateGraphqlApi,
335		HTTPMethod: "POST",
336		HTTPPath:   "/v1/apis",
337	}
338
339	if input == nil {
340		input = &CreateGraphqlApiInput{}
341	}
342
343	output = &CreateGraphqlApiOutput{}
344	req = c.newRequest(op, input, output)
345	return
346}
347
348// CreateGraphqlApi API operation for AWS AppSync.
349//
350// Creates a GraphqlApi object.
351//
352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
353// with awserr.Error's Code and Message methods to get detailed information about
354// the error.
355//
356// See the AWS API reference guide for AWS AppSync's
357// API operation CreateGraphqlApi for usage and error information.
358//
359// Returned Error Codes:
360//   * ErrCodeBadRequestException "BadRequestException"
361//   The request is not well formed. For example, a value is invalid or a required
362//   field is missing. Check the field values, and then try again.
363//
364//   * ErrCodeLimitExceededException "LimitExceededException"
365//   The request exceeded a limit. Try your request again.
366//
367//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
368//   Another modification is in progress at this time and it must complete before
369//   you can make your change.
370//
371//   * ErrCodeUnauthorizedException "UnauthorizedException"
372//   You are not authorized to perform this operation.
373//
374//   * ErrCodeInternalFailureException "InternalFailureException"
375//   An internal AWS AppSync error occurred. Try your request again.
376//
377//   * ErrCodeApiLimitExceededException "ApiLimitExceededException"
378//   The GraphQL API exceeded a limit. Try your request again.
379//
380// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
381func (c *AppSync) CreateGraphqlApi(input *CreateGraphqlApiInput) (*CreateGraphqlApiOutput, error) {
382	req, out := c.CreateGraphqlApiRequest(input)
383	return out, req.Send()
384}
385
386// CreateGraphqlApiWithContext is the same as CreateGraphqlApi with the addition of
387// the ability to pass a context and additional request options.
388//
389// See CreateGraphqlApi for details on how to use this API operation.
390//
391// The context must be non-nil and will be used for request cancellation. If
392// the context is nil a panic will occur. In the future the SDK may create
393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
394// for more information on using Contexts.
395func (c *AppSync) CreateGraphqlApiWithContext(ctx aws.Context, input *CreateGraphqlApiInput, opts ...request.Option) (*CreateGraphqlApiOutput, error) {
396	req, out := c.CreateGraphqlApiRequest(input)
397	req.SetContext(ctx)
398	req.ApplyOptions(opts...)
399	return out, req.Send()
400}
401
402const opCreateResolver = "CreateResolver"
403
404// CreateResolverRequest generates a "aws/request.Request" representing the
405// client's request for the CreateResolver operation. The "output" return
406// value will be populated with the request's response once the request completes
407// successfully.
408//
409// Use "Send" method on the returned Request to send the API call to the service.
410// the "output" return value is not valid until after Send returns without error.
411//
412// See CreateResolver for more information on using the CreateResolver
413// API call, and error handling.
414//
415// This method is useful when you want to inject custom logic or configuration
416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
417//
418//
419//    // Example sending a request using the CreateResolverRequest method.
420//    req, resp := client.CreateResolverRequest(params)
421//
422//    err := req.Send()
423//    if err == nil { // resp is now filled
424//        fmt.Println(resp)
425//    }
426//
427// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
428func (c *AppSync) CreateResolverRequest(input *CreateResolverInput) (req *request.Request, output *CreateResolverOutput) {
429	op := &request.Operation{
430		Name:       opCreateResolver,
431		HTTPMethod: "POST",
432		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
433	}
434
435	if input == nil {
436		input = &CreateResolverInput{}
437	}
438
439	output = &CreateResolverOutput{}
440	req = c.newRequest(op, input, output)
441	return
442}
443
444// CreateResolver API operation for AWS AppSync.
445//
446// Creates a Resolver object.
447//
448// A resolver converts incoming requests into a format that a data source can
449// understand and converts the data source's responses into GraphQL.
450//
451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
452// with awserr.Error's Code and Message methods to get detailed information about
453// the error.
454//
455// See the AWS API reference guide for AWS AppSync's
456// API operation CreateResolver for usage and error information.
457//
458// Returned Error Codes:
459//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
460//   Another modification is in progress at this time and it must complete before
461//   you can make your change.
462//
463//   * ErrCodeNotFoundException "NotFoundException"
464//   The resource specified in the request was not found. Check the resource,
465//   and then try again.
466//
467//   * ErrCodeUnauthorizedException "UnauthorizedException"
468//   You are not authorized to perform this operation.
469//
470//   * ErrCodeInternalFailureException "InternalFailureException"
471//   An internal AWS AppSync error occurred. Try your request again.
472//
473// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
474func (c *AppSync) CreateResolver(input *CreateResolverInput) (*CreateResolverOutput, error) {
475	req, out := c.CreateResolverRequest(input)
476	return out, req.Send()
477}
478
479// CreateResolverWithContext is the same as CreateResolver with the addition of
480// the ability to pass a context and additional request options.
481//
482// See CreateResolver for details on how to use this API operation.
483//
484// The context must be non-nil and will be used for request cancellation. If
485// the context is nil a panic will occur. In the future the SDK may create
486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
487// for more information on using Contexts.
488func (c *AppSync) CreateResolverWithContext(ctx aws.Context, input *CreateResolverInput, opts ...request.Option) (*CreateResolverOutput, error) {
489	req, out := c.CreateResolverRequest(input)
490	req.SetContext(ctx)
491	req.ApplyOptions(opts...)
492	return out, req.Send()
493}
494
495const opCreateType = "CreateType"
496
497// CreateTypeRequest generates a "aws/request.Request" representing the
498// client's request for the CreateType operation. The "output" return
499// value will be populated with the request's response once the request completes
500// successfully.
501//
502// Use "Send" method on the returned Request to send the API call to the service.
503// the "output" return value is not valid until after Send returns without error.
504//
505// See CreateType for more information on using the CreateType
506// API call, and error handling.
507//
508// This method is useful when you want to inject custom logic or configuration
509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
510//
511//
512//    // Example sending a request using the CreateTypeRequest method.
513//    req, resp := client.CreateTypeRequest(params)
514//
515//    err := req.Send()
516//    if err == nil { // resp is now filled
517//        fmt.Println(resp)
518//    }
519//
520// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType
521func (c *AppSync) CreateTypeRequest(input *CreateTypeInput) (req *request.Request, output *CreateTypeOutput) {
522	op := &request.Operation{
523		Name:       opCreateType,
524		HTTPMethod: "POST",
525		HTTPPath:   "/v1/apis/{apiId}/types",
526	}
527
528	if input == nil {
529		input = &CreateTypeInput{}
530	}
531
532	output = &CreateTypeOutput{}
533	req = c.newRequest(op, input, output)
534	return
535}
536
537// CreateType API operation for AWS AppSync.
538//
539// Creates a Type object.
540//
541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
542// with awserr.Error's Code and Message methods to get detailed information about
543// the error.
544//
545// See the AWS API reference guide for AWS AppSync's
546// API operation CreateType for usage and error information.
547//
548// Returned Error Codes:
549//   * ErrCodeBadRequestException "BadRequestException"
550//   The request is not well formed. For example, a value is invalid or a required
551//   field is missing. Check the field values, and then try again.
552//
553//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
554//   Another modification is in progress at this time and it must complete before
555//   you can make your change.
556//
557//   * ErrCodeNotFoundException "NotFoundException"
558//   The resource specified in the request was not found. Check the resource,
559//   and then try again.
560//
561//   * ErrCodeUnauthorizedException "UnauthorizedException"
562//   You are not authorized to perform this operation.
563//
564//   * ErrCodeInternalFailureException "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/CreateType
568func (c *AppSync) CreateType(input *CreateTypeInput) (*CreateTypeOutput, error) {
569	req, out := c.CreateTypeRequest(input)
570	return out, req.Send()
571}
572
573// CreateTypeWithContext is the same as CreateType with the addition of
574// the ability to pass a context and additional request options.
575//
576// See CreateType 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) CreateTypeWithContext(ctx aws.Context, input *CreateTypeInput, opts ...request.Option) (*CreateTypeOutput, error) {
583	req, out := c.CreateTypeRequest(input)
584	req.SetContext(ctx)
585	req.ApplyOptions(opts...)
586	return out, req.Send()
587}
588
589const opDeleteApiKey = "DeleteApiKey"
590
591// DeleteApiKeyRequest generates a "aws/request.Request" representing the
592// client's request for the DeleteApiKey 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 DeleteApiKey for more information on using the DeleteApiKey
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 DeleteApiKeyRequest method.
607//    req, resp := client.DeleteApiKeyRequest(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/DeleteApiKey
615func (c *AppSync) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) {
616	op := &request.Operation{
617		Name:       opDeleteApiKey,
618		HTTPMethod: "DELETE",
619		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
620	}
621
622	if input == nil {
623		input = &DeleteApiKeyInput{}
624	}
625
626	output = &DeleteApiKeyOutput{}
627	req = c.newRequest(op, input, output)
628	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
629	return
630}
631
632// DeleteApiKey API operation for AWS AppSync.
633//
634// Deletes an API key.
635//
636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
637// with awserr.Error's Code and Message methods to get detailed information about
638// the error.
639//
640// See the AWS API reference guide for AWS AppSync's
641// API operation DeleteApiKey for usage and error information.
642//
643// Returned Error Codes:
644//   * ErrCodeBadRequestException "BadRequestException"
645//   The request is not well formed. For example, a value is invalid or a required
646//   field is missing. Check the field values, and then try again.
647//
648//   * ErrCodeNotFoundException "NotFoundException"
649//   The resource specified in the request was not found. Check the resource,
650//   and then try again.
651//
652//   * ErrCodeUnauthorizedException "UnauthorizedException"
653//   You are not authorized to perform this operation.
654//
655//   * ErrCodeInternalFailureException "InternalFailureException"
656//   An internal AWS AppSync error occurred. Try your request again.
657//
658// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey
659func (c *AppSync) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) {
660	req, out := c.DeleteApiKeyRequest(input)
661	return out, req.Send()
662}
663
664// DeleteApiKeyWithContext is the same as DeleteApiKey with the addition of
665// the ability to pass a context and additional request options.
666//
667// See DeleteApiKey for details on how to use this API operation.
668//
669// The context must be non-nil and will be used for request cancellation. If
670// the context is nil a panic will occur. In the future the SDK may create
671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
672// for more information on using Contexts.
673func (c *AppSync) DeleteApiKeyWithContext(ctx aws.Context, input *DeleteApiKeyInput, opts ...request.Option) (*DeleteApiKeyOutput, error) {
674	req, out := c.DeleteApiKeyRequest(input)
675	req.SetContext(ctx)
676	req.ApplyOptions(opts...)
677	return out, req.Send()
678}
679
680const opDeleteDataSource = "DeleteDataSource"
681
682// DeleteDataSourceRequest generates a "aws/request.Request" representing the
683// client's request for the DeleteDataSource operation. The "output" return
684// value will be populated with the request's response once the request completes
685// successfully.
686//
687// Use "Send" method on the returned Request to send the API call to the service.
688// the "output" return value is not valid until after Send returns without error.
689//
690// See DeleteDataSource for more information on using the DeleteDataSource
691// API call, and error handling.
692//
693// This method is useful when you want to inject custom logic or configuration
694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
695//
696//
697//    // Example sending a request using the DeleteDataSourceRequest method.
698//    req, resp := client.DeleteDataSourceRequest(params)
699//
700//    err := req.Send()
701//    if err == nil { // resp is now filled
702//        fmt.Println(resp)
703//    }
704//
705// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
706func (c *AppSync) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) {
707	op := &request.Operation{
708		Name:       opDeleteDataSource,
709		HTTPMethod: "DELETE",
710		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
711	}
712
713	if input == nil {
714		input = &DeleteDataSourceInput{}
715	}
716
717	output = &DeleteDataSourceOutput{}
718	req = c.newRequest(op, input, output)
719	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
720	return
721}
722
723// DeleteDataSource API operation for AWS AppSync.
724//
725// Deletes a DataSource object.
726//
727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
728// with awserr.Error's Code and Message methods to get detailed information about
729// the error.
730//
731// See the AWS API reference guide for AWS AppSync's
732// API operation DeleteDataSource for usage and error information.
733//
734// Returned Error Codes:
735//   * ErrCodeBadRequestException "BadRequestException"
736//   The request is not well formed. For example, a value is invalid or a required
737//   field is missing. Check the field values, and then try again.
738//
739//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
740//   Another modification is in progress at this time and it must complete before
741//   you can make your change.
742//
743//   * ErrCodeNotFoundException "NotFoundException"
744//   The resource specified in the request was not found. Check the resource,
745//   and then try again.
746//
747//   * ErrCodeUnauthorizedException "UnauthorizedException"
748//   You are not authorized to perform this operation.
749//
750//   * ErrCodeInternalFailureException "InternalFailureException"
751//   An internal AWS AppSync error occurred. Try your request again.
752//
753// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
754func (c *AppSync) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) {
755	req, out := c.DeleteDataSourceRequest(input)
756	return out, req.Send()
757}
758
759// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of
760// the ability to pass a context and additional request options.
761//
762// See DeleteDataSource for details on how to use this API operation.
763//
764// The context must be non-nil and will be used for request cancellation. If
765// the context is nil a panic will occur. In the future the SDK may create
766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
767// for more information on using Contexts.
768func (c *AppSync) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) {
769	req, out := c.DeleteDataSourceRequest(input)
770	req.SetContext(ctx)
771	req.ApplyOptions(opts...)
772	return out, req.Send()
773}
774
775const opDeleteFunction = "DeleteFunction"
776
777// DeleteFunctionRequest generates a "aws/request.Request" representing the
778// client's request for the DeleteFunction operation. The "output" return
779// value will be populated with the request's response once the request completes
780// successfully.
781//
782// Use "Send" method on the returned Request to send the API call to the service.
783// the "output" return value is not valid until after Send returns without error.
784//
785// See DeleteFunction for more information on using the DeleteFunction
786// API call, and error handling.
787//
788// This method is useful when you want to inject custom logic or configuration
789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
790//
791//
792//    // Example sending a request using the DeleteFunctionRequest method.
793//    req, resp := client.DeleteFunctionRequest(params)
794//
795//    err := req.Send()
796//    if err == nil { // resp is now filled
797//        fmt.Println(resp)
798//    }
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
801func (c *AppSync) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) {
802	op := &request.Operation{
803		Name:       opDeleteFunction,
804		HTTPMethod: "DELETE",
805		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
806	}
807
808	if input == nil {
809		input = &DeleteFunctionInput{}
810	}
811
812	output = &DeleteFunctionOutput{}
813	req = c.newRequest(op, input, output)
814	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
815	return
816}
817
818// DeleteFunction API operation for AWS AppSync.
819//
820// Deletes a Function.
821//
822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
823// with awserr.Error's Code and Message methods to get detailed information about
824// the error.
825//
826// See the AWS API reference guide for AWS AppSync's
827// API operation DeleteFunction for usage and error information.
828//
829// Returned Error Codes:
830//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
831//   Another modification is in progress at this time and it must complete before
832//   you can make your change.
833//
834//   * ErrCodeNotFoundException "NotFoundException"
835//   The resource specified in the request was not found. Check the resource,
836//   and then try again.
837//
838//   * ErrCodeUnauthorizedException "UnauthorizedException"
839//   You are not authorized to perform this operation.
840//
841//   * ErrCodeInternalFailureException "InternalFailureException"
842//   An internal AWS AppSync error occurred. Try your request again.
843//
844// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
845func (c *AppSync) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) {
846	req, out := c.DeleteFunctionRequest(input)
847	return out, req.Send()
848}
849
850// DeleteFunctionWithContext is the same as DeleteFunction with the addition of
851// the ability to pass a context and additional request options.
852//
853// See DeleteFunction for details on how to use this API operation.
854//
855// The context must be non-nil and will be used for request cancellation. If
856// the context is nil a panic will occur. In the future the SDK may create
857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
858// for more information on using Contexts.
859func (c *AppSync) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) {
860	req, out := c.DeleteFunctionRequest(input)
861	req.SetContext(ctx)
862	req.ApplyOptions(opts...)
863	return out, req.Send()
864}
865
866const opDeleteGraphqlApi = "DeleteGraphqlApi"
867
868// DeleteGraphqlApiRequest generates a "aws/request.Request" representing the
869// client's request for the DeleteGraphqlApi operation. The "output" return
870// value will be populated with the request's response once the request completes
871// successfully.
872//
873// Use "Send" method on the returned Request to send the API call to the service.
874// the "output" return value is not valid until after Send returns without error.
875//
876// See DeleteGraphqlApi for more information on using the DeleteGraphqlApi
877// API call, and error handling.
878//
879// This method is useful when you want to inject custom logic or configuration
880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
881//
882//
883//    // Example sending a request using the DeleteGraphqlApiRequest method.
884//    req, resp := client.DeleteGraphqlApiRequest(params)
885//
886//    err := req.Send()
887//    if err == nil { // resp is now filled
888//        fmt.Println(resp)
889//    }
890//
891// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
892func (c *AppSync) DeleteGraphqlApiRequest(input *DeleteGraphqlApiInput) (req *request.Request, output *DeleteGraphqlApiOutput) {
893	op := &request.Operation{
894		Name:       opDeleteGraphqlApi,
895		HTTPMethod: "DELETE",
896		HTTPPath:   "/v1/apis/{apiId}",
897	}
898
899	if input == nil {
900		input = &DeleteGraphqlApiInput{}
901	}
902
903	output = &DeleteGraphqlApiOutput{}
904	req = c.newRequest(op, input, output)
905	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
906	return
907}
908
909// DeleteGraphqlApi API operation for AWS AppSync.
910//
911// Deletes a GraphqlApi object.
912//
913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
914// with awserr.Error's Code and Message methods to get detailed information about
915// the error.
916//
917// See the AWS API reference guide for AWS AppSync's
918// API operation DeleteGraphqlApi for usage and error information.
919//
920// Returned Error Codes:
921//   * ErrCodeBadRequestException "BadRequestException"
922//   The request is not well formed. For example, a value is invalid or a required
923//   field is missing. Check the field values, and then try again.
924//
925//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
926//   Another modification is in progress at this time and it must complete before
927//   you can make your change.
928//
929//   * ErrCodeNotFoundException "NotFoundException"
930//   The resource specified in the request was not found. Check the resource,
931//   and then try again.
932//
933//   * ErrCodeUnauthorizedException "UnauthorizedException"
934//   You are not authorized to perform this operation.
935//
936//   * ErrCodeInternalFailureException "InternalFailureException"
937//   An internal AWS AppSync error occurred. Try your request again.
938//
939//   * ErrCodeAccessDeniedException "AccessDeniedException"
940//   You do not have access to perform this operation on this resource.
941//
942// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
943func (c *AppSync) DeleteGraphqlApi(input *DeleteGraphqlApiInput) (*DeleteGraphqlApiOutput, error) {
944	req, out := c.DeleteGraphqlApiRequest(input)
945	return out, req.Send()
946}
947
948// DeleteGraphqlApiWithContext is the same as DeleteGraphqlApi with the addition of
949// the ability to pass a context and additional request options.
950//
951// See DeleteGraphqlApi 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) DeleteGraphqlApiWithContext(ctx aws.Context, input *DeleteGraphqlApiInput, opts ...request.Option) (*DeleteGraphqlApiOutput, error) {
958	req, out := c.DeleteGraphqlApiRequest(input)
959	req.SetContext(ctx)
960	req.ApplyOptions(opts...)
961	return out, req.Send()
962}
963
964const opDeleteResolver = "DeleteResolver"
965
966// DeleteResolverRequest generates a "aws/request.Request" representing the
967// client's request for the DeleteResolver 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 DeleteResolver for more information on using the DeleteResolver
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 DeleteResolverRequest method.
982//    req, resp := client.DeleteResolverRequest(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/DeleteResolver
990func (c *AppSync) DeleteResolverRequest(input *DeleteResolverInput) (req *request.Request, output *DeleteResolverOutput) {
991	op := &request.Operation{
992		Name:       opDeleteResolver,
993		HTTPMethod: "DELETE",
994		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
995	}
996
997	if input == nil {
998		input = &DeleteResolverInput{}
999	}
1000
1001	output = &DeleteResolverOutput{}
1002	req = c.newRequest(op, input, output)
1003	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1004	return
1005}
1006
1007// DeleteResolver API operation for AWS AppSync.
1008//
1009// Deletes a Resolver object.
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 DeleteResolver for usage and error information.
1017//
1018// Returned Error Codes:
1019//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1020//   Another modification is in progress at this time and it must complete before
1021//   you can make your change.
1022//
1023//   * ErrCodeNotFoundException "NotFoundException"
1024//   The resource specified in the request was not found. Check the resource,
1025//   and then try again.
1026//
1027//   * ErrCodeUnauthorizedException "UnauthorizedException"
1028//   You are not authorized to perform this operation.
1029//
1030//   * ErrCodeInternalFailureException "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/DeleteResolver
1034func (c *AppSync) DeleteResolver(input *DeleteResolverInput) (*DeleteResolverOutput, error) {
1035	req, out := c.DeleteResolverRequest(input)
1036	return out, req.Send()
1037}
1038
1039// DeleteResolverWithContext is the same as DeleteResolver with the addition of
1040// the ability to pass a context and additional request options.
1041//
1042// See DeleteResolver 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) DeleteResolverWithContext(ctx aws.Context, input *DeleteResolverInput, opts ...request.Option) (*DeleteResolverOutput, error) {
1049	req, out := c.DeleteResolverRequest(input)
1050	req.SetContext(ctx)
1051	req.ApplyOptions(opts...)
1052	return out, req.Send()
1053}
1054
1055const opDeleteType = "DeleteType"
1056
1057// DeleteTypeRequest generates a "aws/request.Request" representing the
1058// client's request for the DeleteType 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 DeleteType for more information on using the DeleteType
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 DeleteTypeRequest method.
1073//    req, resp := client.DeleteTypeRequest(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/DeleteType
1081func (c *AppSync) DeleteTypeRequest(input *DeleteTypeInput) (req *request.Request, output *DeleteTypeOutput) {
1082	op := &request.Operation{
1083		Name:       opDeleteType,
1084		HTTPMethod: "DELETE",
1085		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
1086	}
1087
1088	if input == nil {
1089		input = &DeleteTypeInput{}
1090	}
1091
1092	output = &DeleteTypeOutput{}
1093	req = c.newRequest(op, input, output)
1094	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1095	return
1096}
1097
1098// DeleteType API operation for AWS AppSync.
1099//
1100// Deletes a Type 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 DeleteType for usage and error information.
1108//
1109// Returned Error Codes:
1110//   * ErrCodeBadRequestException "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//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1115//   Another modification is in progress at this time and it must complete before
1116//   you can make your change.
1117//
1118//   * ErrCodeNotFoundException "NotFoundException"
1119//   The resource specified in the request was not found. Check the resource,
1120//   and then try again.
1121//
1122//   * ErrCodeUnauthorizedException "UnauthorizedException"
1123//   You are not authorized to perform this operation.
1124//
1125//   * ErrCodeInternalFailureException "InternalFailureException"
1126//   An internal AWS AppSync error occurred. Try your request again.
1127//
1128// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType
1129func (c *AppSync) DeleteType(input *DeleteTypeInput) (*DeleteTypeOutput, error) {
1130	req, out := c.DeleteTypeRequest(input)
1131	return out, req.Send()
1132}
1133
1134// DeleteTypeWithContext is the same as DeleteType with the addition of
1135// the ability to pass a context and additional request options.
1136//
1137// See DeleteType for details on how to use this API operation.
1138//
1139// The context must be non-nil and will be used for request cancellation. If
1140// the context is nil a panic will occur. In the future the SDK may create
1141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1142// for more information on using Contexts.
1143func (c *AppSync) DeleteTypeWithContext(ctx aws.Context, input *DeleteTypeInput, opts ...request.Option) (*DeleteTypeOutput, error) {
1144	req, out := c.DeleteTypeRequest(input)
1145	req.SetContext(ctx)
1146	req.ApplyOptions(opts...)
1147	return out, req.Send()
1148}
1149
1150const opGetDataSource = "GetDataSource"
1151
1152// GetDataSourceRequest generates a "aws/request.Request" representing the
1153// client's request for the GetDataSource operation. The "output" return
1154// value will be populated with the request's response once the request completes
1155// successfully.
1156//
1157// Use "Send" method on the returned Request to send the API call to the service.
1158// the "output" return value is not valid until after Send returns without error.
1159//
1160// See GetDataSource for more information on using the GetDataSource
1161// API call, and error handling.
1162//
1163// This method is useful when you want to inject custom logic or configuration
1164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1165//
1166//
1167//    // Example sending a request using the GetDataSourceRequest method.
1168//    req, resp := client.GetDataSourceRequest(params)
1169//
1170//    err := req.Send()
1171//    if err == nil { // resp is now filled
1172//        fmt.Println(resp)
1173//    }
1174//
1175// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource
1176func (c *AppSync) GetDataSourceRequest(input *GetDataSourceInput) (req *request.Request, output *GetDataSourceOutput) {
1177	op := &request.Operation{
1178		Name:       opGetDataSource,
1179		HTTPMethod: "GET",
1180		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
1181	}
1182
1183	if input == nil {
1184		input = &GetDataSourceInput{}
1185	}
1186
1187	output = &GetDataSourceOutput{}
1188	req = c.newRequest(op, input, output)
1189	return
1190}
1191
1192// GetDataSource API operation for AWS AppSync.
1193//
1194// Retrieves a DataSource object.
1195//
1196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1197// with awserr.Error's Code and Message methods to get detailed information about
1198// the error.
1199//
1200// See the AWS API reference guide for AWS AppSync's
1201// API operation GetDataSource for usage and error information.
1202//
1203// Returned Error Codes:
1204//   * ErrCodeBadRequestException "BadRequestException"
1205//   The request is not well formed. For example, a value is invalid or a required
1206//   field is missing. Check the field values, and then try again.
1207//
1208//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1209//   Another modification is in progress at this time and it must complete before
1210//   you can make your change.
1211//
1212//   * ErrCodeNotFoundException "NotFoundException"
1213//   The resource specified in the request was not found. Check the resource,
1214//   and then try again.
1215//
1216//   * ErrCodeUnauthorizedException "UnauthorizedException"
1217//   You are not authorized to perform this operation.
1218//
1219//   * ErrCodeInternalFailureException "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/GetDataSource
1223func (c *AppSync) GetDataSource(input *GetDataSourceInput) (*GetDataSourceOutput, error) {
1224	req, out := c.GetDataSourceRequest(input)
1225	return out, req.Send()
1226}
1227
1228// GetDataSourceWithContext is the same as GetDataSource with the addition of
1229// the ability to pass a context and additional request options.
1230//
1231// See GetDataSource 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) GetDataSourceWithContext(ctx aws.Context, input *GetDataSourceInput, opts ...request.Option) (*GetDataSourceOutput, error) {
1238	req, out := c.GetDataSourceRequest(input)
1239	req.SetContext(ctx)
1240	req.ApplyOptions(opts...)
1241	return out, req.Send()
1242}
1243
1244const opGetFunction = "GetFunction"
1245
1246// GetFunctionRequest generates a "aws/request.Request" representing the
1247// client's request for the GetFunction 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 GetFunction for more information on using the GetFunction
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 GetFunctionRequest method.
1262//    req, resp := client.GetFunctionRequest(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/GetFunction
1270func (c *AppSync) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) {
1271	op := &request.Operation{
1272		Name:       opGetFunction,
1273		HTTPMethod: "GET",
1274		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
1275	}
1276
1277	if input == nil {
1278		input = &GetFunctionInput{}
1279	}
1280
1281	output = &GetFunctionOutput{}
1282	req = c.newRequest(op, input, output)
1283	return
1284}
1285
1286// GetFunction API operation for AWS AppSync.
1287//
1288// Get a Function.
1289//
1290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1291// with awserr.Error's Code and Message methods to get detailed information about
1292// the error.
1293//
1294// See the AWS API reference guide for AWS AppSync's
1295// API operation GetFunction for usage and error information.
1296//
1297// Returned Error Codes:
1298//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1299//   Another modification is in progress at this time and it must complete before
1300//   you can make your change.
1301//
1302//   * ErrCodeNotFoundException "NotFoundException"
1303//   The resource specified in the request was not found. Check the resource,
1304//   and then try again.
1305//
1306//   * ErrCodeUnauthorizedException "UnauthorizedException"
1307//   You are not authorized to perform this operation.
1308//
1309// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction
1310func (c *AppSync) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) {
1311	req, out := c.GetFunctionRequest(input)
1312	return out, req.Send()
1313}
1314
1315// GetFunctionWithContext is the same as GetFunction with the addition of
1316// the ability to pass a context and additional request options.
1317//
1318// See GetFunction for details on how to use this API operation.
1319//
1320// The context must be non-nil and will be used for request cancellation. If
1321// the context is nil a panic will occur. In the future the SDK may create
1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1323// for more information on using Contexts.
1324func (c *AppSync) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) {
1325	req, out := c.GetFunctionRequest(input)
1326	req.SetContext(ctx)
1327	req.ApplyOptions(opts...)
1328	return out, req.Send()
1329}
1330
1331const opGetGraphqlApi = "GetGraphqlApi"
1332
1333// GetGraphqlApiRequest generates a "aws/request.Request" representing the
1334// client's request for the GetGraphqlApi operation. The "output" return
1335// value will be populated with the request's response once the request completes
1336// successfully.
1337//
1338// Use "Send" method on the returned Request to send the API call to the service.
1339// the "output" return value is not valid until after Send returns without error.
1340//
1341// See GetGraphqlApi for more information on using the GetGraphqlApi
1342// API call, and error handling.
1343//
1344// This method is useful when you want to inject custom logic or configuration
1345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1346//
1347//
1348//    // Example sending a request using the GetGraphqlApiRequest method.
1349//    req, resp := client.GetGraphqlApiRequest(params)
1350//
1351//    err := req.Send()
1352//    if err == nil { // resp is now filled
1353//        fmt.Println(resp)
1354//    }
1355//
1356// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
1357func (c *AppSync) GetGraphqlApiRequest(input *GetGraphqlApiInput) (req *request.Request, output *GetGraphqlApiOutput) {
1358	op := &request.Operation{
1359		Name:       opGetGraphqlApi,
1360		HTTPMethod: "GET",
1361		HTTPPath:   "/v1/apis/{apiId}",
1362	}
1363
1364	if input == nil {
1365		input = &GetGraphqlApiInput{}
1366	}
1367
1368	output = &GetGraphqlApiOutput{}
1369	req = c.newRequest(op, input, output)
1370	return
1371}
1372
1373// GetGraphqlApi API operation for AWS AppSync.
1374//
1375// Retrieves a GraphqlApi object.
1376//
1377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1378// with awserr.Error's Code and Message methods to get detailed information about
1379// the error.
1380//
1381// See the AWS API reference guide for AWS AppSync's
1382// API operation GetGraphqlApi for usage and error information.
1383//
1384// Returned Error Codes:
1385//   * ErrCodeBadRequestException "BadRequestException"
1386//   The request is not well formed. For example, a value is invalid or a required
1387//   field is missing. Check the field values, and then try again.
1388//
1389//   * ErrCodeNotFoundException "NotFoundException"
1390//   The resource specified in the request was not found. Check the resource,
1391//   and then try again.
1392//
1393//   * ErrCodeUnauthorizedException "UnauthorizedException"
1394//   You are not authorized to perform this operation.
1395//
1396//   * ErrCodeInternalFailureException "InternalFailureException"
1397//   An internal AWS AppSync error occurred. Try your request again.
1398//
1399//   * ErrCodeAccessDeniedException "AccessDeniedException"
1400//   You do not have access to perform this operation on this resource.
1401//
1402// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
1403func (c *AppSync) GetGraphqlApi(input *GetGraphqlApiInput) (*GetGraphqlApiOutput, error) {
1404	req, out := c.GetGraphqlApiRequest(input)
1405	return out, req.Send()
1406}
1407
1408// GetGraphqlApiWithContext is the same as GetGraphqlApi with the addition of
1409// the ability to pass a context and additional request options.
1410//
1411// See GetGraphqlApi for details on how to use this API operation.
1412//
1413// The context must be non-nil and will be used for request cancellation. If
1414// the context is nil a panic will occur. In the future the SDK may create
1415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1416// for more information on using Contexts.
1417func (c *AppSync) GetGraphqlApiWithContext(ctx aws.Context, input *GetGraphqlApiInput, opts ...request.Option) (*GetGraphqlApiOutput, error) {
1418	req, out := c.GetGraphqlApiRequest(input)
1419	req.SetContext(ctx)
1420	req.ApplyOptions(opts...)
1421	return out, req.Send()
1422}
1423
1424const opGetIntrospectionSchema = "GetIntrospectionSchema"
1425
1426// GetIntrospectionSchemaRequest generates a "aws/request.Request" representing the
1427// client's request for the GetIntrospectionSchema operation. The "output" return
1428// value will be populated with the request's response once the request completes
1429// successfully.
1430//
1431// Use "Send" method on the returned Request to send the API call to the service.
1432// the "output" return value is not valid until after Send returns without error.
1433//
1434// See GetIntrospectionSchema for more information on using the GetIntrospectionSchema
1435// API call, and error handling.
1436//
1437// This method is useful when you want to inject custom logic or configuration
1438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1439//
1440//
1441//    // Example sending a request using the GetIntrospectionSchemaRequest method.
1442//    req, resp := client.GetIntrospectionSchemaRequest(params)
1443//
1444//    err := req.Send()
1445//    if err == nil { // resp is now filled
1446//        fmt.Println(resp)
1447//    }
1448//
1449// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
1450func (c *AppSync) GetIntrospectionSchemaRequest(input *GetIntrospectionSchemaInput) (req *request.Request, output *GetIntrospectionSchemaOutput) {
1451	op := &request.Operation{
1452		Name:       opGetIntrospectionSchema,
1453		HTTPMethod: "GET",
1454		HTTPPath:   "/v1/apis/{apiId}/schema",
1455	}
1456
1457	if input == nil {
1458		input = &GetIntrospectionSchemaInput{}
1459	}
1460
1461	output = &GetIntrospectionSchemaOutput{}
1462	req = c.newRequest(op, input, output)
1463	return
1464}
1465
1466// GetIntrospectionSchema API operation for AWS AppSync.
1467//
1468// Retrieves the introspection schema for a GraphQL API.
1469//
1470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1471// with awserr.Error's Code and Message methods to get detailed information about
1472// the error.
1473//
1474// See the AWS API reference guide for AWS AppSync's
1475// API operation GetIntrospectionSchema for usage and error information.
1476//
1477// Returned Error Codes:
1478//   * ErrCodeGraphQLSchemaException "GraphQLSchemaException"
1479//   The GraphQL schema is not valid.
1480//
1481//   * ErrCodeNotFoundException "NotFoundException"
1482//   The resource specified in the request was not found. Check the resource,
1483//   and then try again.
1484//
1485//   * ErrCodeUnauthorizedException "UnauthorizedException"
1486//   You are not authorized to perform this operation.
1487//
1488//   * ErrCodeInternalFailureException "InternalFailureException"
1489//   An internal AWS AppSync error occurred. Try your request again.
1490//
1491// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
1492func (c *AppSync) GetIntrospectionSchema(input *GetIntrospectionSchemaInput) (*GetIntrospectionSchemaOutput, error) {
1493	req, out := c.GetIntrospectionSchemaRequest(input)
1494	return out, req.Send()
1495}
1496
1497// GetIntrospectionSchemaWithContext is the same as GetIntrospectionSchema with the addition of
1498// the ability to pass a context and additional request options.
1499//
1500// See GetIntrospectionSchema for details on how to use this API operation.
1501//
1502// The context must be non-nil and will be used for request cancellation. If
1503// the context is nil a panic will occur. In the future the SDK may create
1504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1505// for more information on using Contexts.
1506func (c *AppSync) GetIntrospectionSchemaWithContext(ctx aws.Context, input *GetIntrospectionSchemaInput, opts ...request.Option) (*GetIntrospectionSchemaOutput, error) {
1507	req, out := c.GetIntrospectionSchemaRequest(input)
1508	req.SetContext(ctx)
1509	req.ApplyOptions(opts...)
1510	return out, req.Send()
1511}
1512
1513const opGetResolver = "GetResolver"
1514
1515// GetResolverRequest generates a "aws/request.Request" representing the
1516// client's request for the GetResolver operation. The "output" return
1517// value will be populated with the request's response once the request completes
1518// successfully.
1519//
1520// Use "Send" method on the returned Request to send the API call to the service.
1521// the "output" return value is not valid until after Send returns without error.
1522//
1523// See GetResolver for more information on using the GetResolver
1524// API call, and error handling.
1525//
1526// This method is useful when you want to inject custom logic or configuration
1527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1528//
1529//
1530//    // Example sending a request using the GetResolverRequest method.
1531//    req, resp := client.GetResolverRequest(params)
1532//
1533//    err := req.Send()
1534//    if err == nil { // resp is now filled
1535//        fmt.Println(resp)
1536//    }
1537//
1538// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
1539func (c *AppSync) GetResolverRequest(input *GetResolverInput) (req *request.Request, output *GetResolverOutput) {
1540	op := &request.Operation{
1541		Name:       opGetResolver,
1542		HTTPMethod: "GET",
1543		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
1544	}
1545
1546	if input == nil {
1547		input = &GetResolverInput{}
1548	}
1549
1550	output = &GetResolverOutput{}
1551	req = c.newRequest(op, input, output)
1552	return
1553}
1554
1555// GetResolver API operation for AWS AppSync.
1556//
1557// Retrieves a Resolver object.
1558//
1559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1560// with awserr.Error's Code and Message methods to get detailed information about
1561// the error.
1562//
1563// See the AWS API reference guide for AWS AppSync's
1564// API operation GetResolver for usage and error information.
1565//
1566// Returned Error Codes:
1567//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1568//   Another modification is in progress at this time and it must complete before
1569//   you can make your change.
1570//
1571//   * ErrCodeNotFoundException "NotFoundException"
1572//   The resource specified in the request was not found. Check the resource,
1573//   and then try again.
1574//
1575//   * ErrCodeUnauthorizedException "UnauthorizedException"
1576//   You are not authorized to perform this operation.
1577//
1578// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
1579func (c *AppSync) GetResolver(input *GetResolverInput) (*GetResolverOutput, error) {
1580	req, out := c.GetResolverRequest(input)
1581	return out, req.Send()
1582}
1583
1584// GetResolverWithContext is the same as GetResolver with the addition of
1585// the ability to pass a context and additional request options.
1586//
1587// See GetResolver for details on how to use this API operation.
1588//
1589// The context must be non-nil and will be used for request cancellation. If
1590// the context is nil a panic will occur. In the future the SDK may create
1591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1592// for more information on using Contexts.
1593func (c *AppSync) GetResolverWithContext(ctx aws.Context, input *GetResolverInput, opts ...request.Option) (*GetResolverOutput, error) {
1594	req, out := c.GetResolverRequest(input)
1595	req.SetContext(ctx)
1596	req.ApplyOptions(opts...)
1597	return out, req.Send()
1598}
1599
1600const opGetSchemaCreationStatus = "GetSchemaCreationStatus"
1601
1602// GetSchemaCreationStatusRequest generates a "aws/request.Request" representing the
1603// client's request for the GetSchemaCreationStatus operation. The "output" return
1604// value will be populated with the request's response once the request completes
1605// successfully.
1606//
1607// Use "Send" method on the returned Request to send the API call to the service.
1608// the "output" return value is not valid until after Send returns without error.
1609//
1610// See GetSchemaCreationStatus for more information on using the GetSchemaCreationStatus
1611// API call, and error handling.
1612//
1613// This method is useful when you want to inject custom logic or configuration
1614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1615//
1616//
1617//    // Example sending a request using the GetSchemaCreationStatusRequest method.
1618//    req, resp := client.GetSchemaCreationStatusRequest(params)
1619//
1620//    err := req.Send()
1621//    if err == nil { // resp is now filled
1622//        fmt.Println(resp)
1623//    }
1624//
1625// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
1626func (c *AppSync) GetSchemaCreationStatusRequest(input *GetSchemaCreationStatusInput) (req *request.Request, output *GetSchemaCreationStatusOutput) {
1627	op := &request.Operation{
1628		Name:       opGetSchemaCreationStatus,
1629		HTTPMethod: "GET",
1630		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
1631	}
1632
1633	if input == nil {
1634		input = &GetSchemaCreationStatusInput{}
1635	}
1636
1637	output = &GetSchemaCreationStatusOutput{}
1638	req = c.newRequest(op, input, output)
1639	return
1640}
1641
1642// GetSchemaCreationStatus API operation for AWS AppSync.
1643//
1644// Retrieves the current status of a schema creation operation.
1645//
1646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1647// with awserr.Error's Code and Message methods to get detailed information about
1648// the error.
1649//
1650// See the AWS API reference guide for AWS AppSync's
1651// API operation GetSchemaCreationStatus for usage and error information.
1652//
1653// Returned Error Codes:
1654//   * ErrCodeBadRequestException "BadRequestException"
1655//   The request is not well formed. For example, a value is invalid or a required
1656//   field is missing. Check the field values, and then try again.
1657//
1658//   * ErrCodeNotFoundException "NotFoundException"
1659//   The resource specified in the request was not found. Check the resource,
1660//   and then try again.
1661//
1662//   * ErrCodeUnauthorizedException "UnauthorizedException"
1663//   You are not authorized to perform this operation.
1664//
1665//   * ErrCodeInternalFailureException "InternalFailureException"
1666//   An internal AWS AppSync error occurred. Try your request again.
1667//
1668// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
1669func (c *AppSync) GetSchemaCreationStatus(input *GetSchemaCreationStatusInput) (*GetSchemaCreationStatusOutput, error) {
1670	req, out := c.GetSchemaCreationStatusRequest(input)
1671	return out, req.Send()
1672}
1673
1674// GetSchemaCreationStatusWithContext is the same as GetSchemaCreationStatus with the addition of
1675// the ability to pass a context and additional request options.
1676//
1677// See GetSchemaCreationStatus for details on how to use this API operation.
1678//
1679// The context must be non-nil and will be used for request cancellation. If
1680// the context is nil a panic will occur. In the future the SDK may create
1681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1682// for more information on using Contexts.
1683func (c *AppSync) GetSchemaCreationStatusWithContext(ctx aws.Context, input *GetSchemaCreationStatusInput, opts ...request.Option) (*GetSchemaCreationStatusOutput, error) {
1684	req, out := c.GetSchemaCreationStatusRequest(input)
1685	req.SetContext(ctx)
1686	req.ApplyOptions(opts...)
1687	return out, req.Send()
1688}
1689
1690const opGetType = "GetType"
1691
1692// GetTypeRequest generates a "aws/request.Request" representing the
1693// client's request for the GetType operation. The "output" return
1694// value will be populated with the request's response once the request completes
1695// successfully.
1696//
1697// Use "Send" method on the returned Request to send the API call to the service.
1698// the "output" return value is not valid until after Send returns without error.
1699//
1700// See GetType for more information on using the GetType
1701// API call, and error handling.
1702//
1703// This method is useful when you want to inject custom logic or configuration
1704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1705//
1706//
1707//    // Example sending a request using the GetTypeRequest method.
1708//    req, resp := client.GetTypeRequest(params)
1709//
1710//    err := req.Send()
1711//    if err == nil { // resp is now filled
1712//        fmt.Println(resp)
1713//    }
1714//
1715// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
1716func (c *AppSync) GetTypeRequest(input *GetTypeInput) (req *request.Request, output *GetTypeOutput) {
1717	op := &request.Operation{
1718		Name:       opGetType,
1719		HTTPMethod: "GET",
1720		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
1721	}
1722
1723	if input == nil {
1724		input = &GetTypeInput{}
1725	}
1726
1727	output = &GetTypeOutput{}
1728	req = c.newRequest(op, input, output)
1729	return
1730}
1731
1732// GetType API operation for AWS AppSync.
1733//
1734// Retrieves a Type object.
1735//
1736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1737// with awserr.Error's Code and Message methods to get detailed information about
1738// the error.
1739//
1740// See the AWS API reference guide for AWS AppSync's
1741// API operation GetType for usage and error information.
1742//
1743// Returned Error Codes:
1744//   * ErrCodeBadRequestException "BadRequestException"
1745//   The request is not well formed. For example, a value is invalid or a required
1746//   field is missing. Check the field values, and then try again.
1747//
1748//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1749//   Another modification is in progress at this time and it must complete before
1750//   you can make your change.
1751//
1752//   * ErrCodeNotFoundException "NotFoundException"
1753//   The resource specified in the request was not found. Check the resource,
1754//   and then try again.
1755//
1756//   * ErrCodeUnauthorizedException "UnauthorizedException"
1757//   You are not authorized to perform this operation.
1758//
1759//   * ErrCodeInternalFailureException "InternalFailureException"
1760//   An internal AWS AppSync error occurred. Try your request again.
1761//
1762// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
1763func (c *AppSync) GetType(input *GetTypeInput) (*GetTypeOutput, error) {
1764	req, out := c.GetTypeRequest(input)
1765	return out, req.Send()
1766}
1767
1768// GetTypeWithContext is the same as GetType with the addition of
1769// the ability to pass a context and additional request options.
1770//
1771// See GetType for details on how to use this API operation.
1772//
1773// The context must be non-nil and will be used for request cancellation. If
1774// the context is nil a panic will occur. In the future the SDK may create
1775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1776// for more information on using Contexts.
1777func (c *AppSync) GetTypeWithContext(ctx aws.Context, input *GetTypeInput, opts ...request.Option) (*GetTypeOutput, error) {
1778	req, out := c.GetTypeRequest(input)
1779	req.SetContext(ctx)
1780	req.ApplyOptions(opts...)
1781	return out, req.Send()
1782}
1783
1784const opListApiKeys = "ListApiKeys"
1785
1786// ListApiKeysRequest generates a "aws/request.Request" representing the
1787// client's request for the ListApiKeys operation. The "output" return
1788// value will be populated with the request's response once the request completes
1789// successfully.
1790//
1791// Use "Send" method on the returned Request to send the API call to the service.
1792// the "output" return value is not valid until after Send returns without error.
1793//
1794// See ListApiKeys for more information on using the ListApiKeys
1795// API call, and error handling.
1796//
1797// This method is useful when you want to inject custom logic or configuration
1798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1799//
1800//
1801//    // Example sending a request using the ListApiKeysRequest method.
1802//    req, resp := client.ListApiKeysRequest(params)
1803//
1804//    err := req.Send()
1805//    if err == nil { // resp is now filled
1806//        fmt.Println(resp)
1807//    }
1808//
1809// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
1810func (c *AppSync) ListApiKeysRequest(input *ListApiKeysInput) (req *request.Request, output *ListApiKeysOutput) {
1811	op := &request.Operation{
1812		Name:       opListApiKeys,
1813		HTTPMethod: "GET",
1814		HTTPPath:   "/v1/apis/{apiId}/apikeys",
1815	}
1816
1817	if input == nil {
1818		input = &ListApiKeysInput{}
1819	}
1820
1821	output = &ListApiKeysOutput{}
1822	req = c.newRequest(op, input, output)
1823	return
1824}
1825
1826// ListApiKeys API operation for AWS AppSync.
1827//
1828// Lists the API keys for a given API.
1829//
1830// API keys are deleted automatically sometime after they expire. However, they
1831// may still be included in the response until they have actually been deleted.
1832// You can safely call DeleteApiKey to manually delete a key before it's automatically
1833// deleted.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for AWS AppSync's
1840// API operation ListApiKeys for usage and error information.
1841//
1842// Returned Error Codes:
1843//   * ErrCodeBadRequestException "BadRequestException"
1844//   The request is not well formed. For example, a value is invalid or a required
1845//   field is missing. Check the field values, and then try again.
1846//
1847//   * ErrCodeNotFoundException "NotFoundException"
1848//   The resource specified in the request was not found. Check the resource,
1849//   and then try again.
1850//
1851//   * ErrCodeUnauthorizedException "UnauthorizedException"
1852//   You are not authorized to perform this operation.
1853//
1854//   * ErrCodeInternalFailureException "InternalFailureException"
1855//   An internal AWS AppSync error occurred. Try your request again.
1856//
1857// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
1858func (c *AppSync) ListApiKeys(input *ListApiKeysInput) (*ListApiKeysOutput, error) {
1859	req, out := c.ListApiKeysRequest(input)
1860	return out, req.Send()
1861}
1862
1863// ListApiKeysWithContext is the same as ListApiKeys with the addition of
1864// the ability to pass a context and additional request options.
1865//
1866// See ListApiKeys for details on how to use this API operation.
1867//
1868// The context must be non-nil and will be used for request cancellation. If
1869// the context is nil a panic will occur. In the future the SDK may create
1870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1871// for more information on using Contexts.
1872func (c *AppSync) ListApiKeysWithContext(ctx aws.Context, input *ListApiKeysInput, opts ...request.Option) (*ListApiKeysOutput, error) {
1873	req, out := c.ListApiKeysRequest(input)
1874	req.SetContext(ctx)
1875	req.ApplyOptions(opts...)
1876	return out, req.Send()
1877}
1878
1879const opListDataSources = "ListDataSources"
1880
1881// ListDataSourcesRequest generates a "aws/request.Request" representing the
1882// client's request for the ListDataSources operation. The "output" return
1883// value will be populated with the request's response once the request completes
1884// successfully.
1885//
1886// Use "Send" method on the returned Request to send the API call to the service.
1887// the "output" return value is not valid until after Send returns without error.
1888//
1889// See ListDataSources for more information on using the ListDataSources
1890// API call, and error handling.
1891//
1892// This method is useful when you want to inject custom logic or configuration
1893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1894//
1895//
1896//    // Example sending a request using the ListDataSourcesRequest method.
1897//    req, resp := client.ListDataSourcesRequest(params)
1898//
1899//    err := req.Send()
1900//    if err == nil { // resp is now filled
1901//        fmt.Println(resp)
1902//    }
1903//
1904// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
1905func (c *AppSync) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) {
1906	op := &request.Operation{
1907		Name:       opListDataSources,
1908		HTTPMethod: "GET",
1909		HTTPPath:   "/v1/apis/{apiId}/datasources",
1910	}
1911
1912	if input == nil {
1913		input = &ListDataSourcesInput{}
1914	}
1915
1916	output = &ListDataSourcesOutput{}
1917	req = c.newRequest(op, input, output)
1918	return
1919}
1920
1921// ListDataSources API operation for AWS AppSync.
1922//
1923// Lists the data sources for a given API.
1924//
1925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1926// with awserr.Error's Code and Message methods to get detailed information about
1927// the error.
1928//
1929// See the AWS API reference guide for AWS AppSync's
1930// API operation ListDataSources for usage and error information.
1931//
1932// Returned Error Codes:
1933//   * ErrCodeBadRequestException "BadRequestException"
1934//   The request is not well formed. For example, a value is invalid or a required
1935//   field is missing. Check the field values, and then try again.
1936//
1937//   * ErrCodeNotFoundException "NotFoundException"
1938//   The resource specified in the request was not found. Check the resource,
1939//   and then try again.
1940//
1941//   * ErrCodeUnauthorizedException "UnauthorizedException"
1942//   You are not authorized to perform this operation.
1943//
1944//   * ErrCodeInternalFailureException "InternalFailureException"
1945//   An internal AWS AppSync error occurred. Try your request again.
1946//
1947// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
1948func (c *AppSync) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) {
1949	req, out := c.ListDataSourcesRequest(input)
1950	return out, req.Send()
1951}
1952
1953// ListDataSourcesWithContext is the same as ListDataSources with the addition of
1954// the ability to pass a context and additional request options.
1955//
1956// See ListDataSources for details on how to use this API operation.
1957//
1958// The context must be non-nil and will be used for request cancellation. If
1959// the context is nil a panic will occur. In the future the SDK may create
1960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1961// for more information on using Contexts.
1962func (c *AppSync) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) {
1963	req, out := c.ListDataSourcesRequest(input)
1964	req.SetContext(ctx)
1965	req.ApplyOptions(opts...)
1966	return out, req.Send()
1967}
1968
1969const opListFunctions = "ListFunctions"
1970
1971// ListFunctionsRequest generates a "aws/request.Request" representing the
1972// client's request for the ListFunctions operation. The "output" return
1973// value will be populated with the request's response once the request completes
1974// successfully.
1975//
1976// Use "Send" method on the returned Request to send the API call to the service.
1977// the "output" return value is not valid until after Send returns without error.
1978//
1979// See ListFunctions for more information on using the ListFunctions
1980// API call, and error handling.
1981//
1982// This method is useful when you want to inject custom logic or configuration
1983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1984//
1985//
1986//    // Example sending a request using the ListFunctionsRequest method.
1987//    req, resp := client.ListFunctionsRequest(params)
1988//
1989//    err := req.Send()
1990//    if err == nil { // resp is now filled
1991//        fmt.Println(resp)
1992//    }
1993//
1994// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
1995func (c *AppSync) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) {
1996	op := &request.Operation{
1997		Name:       opListFunctions,
1998		HTTPMethod: "GET",
1999		HTTPPath:   "/v1/apis/{apiId}/functions",
2000	}
2001
2002	if input == nil {
2003		input = &ListFunctionsInput{}
2004	}
2005
2006	output = &ListFunctionsOutput{}
2007	req = c.newRequest(op, input, output)
2008	return
2009}
2010
2011// ListFunctions API operation for AWS AppSync.
2012//
2013// List multiple functions.
2014//
2015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2016// with awserr.Error's Code and Message methods to get detailed information about
2017// the error.
2018//
2019// See the AWS API reference guide for AWS AppSync's
2020// API operation ListFunctions for usage and error information.
2021//
2022// Returned Error Codes:
2023//   * ErrCodeBadRequestException "BadRequestException"
2024//   The request is not well formed. For example, a value is invalid or a required
2025//   field is missing. Check the field values, and then try again.
2026//
2027//   * ErrCodeNotFoundException "NotFoundException"
2028//   The resource specified in the request was not found. Check the resource,
2029//   and then try again.
2030//
2031//   * ErrCodeUnauthorizedException "UnauthorizedException"
2032//   You are not authorized to perform this operation.
2033//
2034//   * ErrCodeInternalFailureException "InternalFailureException"
2035//   An internal AWS AppSync error occurred. Try your request again.
2036//
2037// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
2038func (c *AppSync) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) {
2039	req, out := c.ListFunctionsRequest(input)
2040	return out, req.Send()
2041}
2042
2043// ListFunctionsWithContext is the same as ListFunctions with the addition of
2044// the ability to pass a context and additional request options.
2045//
2046// See ListFunctions for details on how to use this API operation.
2047//
2048// The context must be non-nil and will be used for request cancellation. If
2049// the context is nil a panic will occur. In the future the SDK may create
2050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2051// for more information on using Contexts.
2052func (c *AppSync) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) {
2053	req, out := c.ListFunctionsRequest(input)
2054	req.SetContext(ctx)
2055	req.ApplyOptions(opts...)
2056	return out, req.Send()
2057}
2058
2059const opListGraphqlApis = "ListGraphqlApis"
2060
2061// ListGraphqlApisRequest generates a "aws/request.Request" representing the
2062// client's request for the ListGraphqlApis operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfully.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See ListGraphqlApis for more information on using the ListGraphqlApis
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the ListGraphqlApisRequest method.
2077//    req, resp := client.ListGraphqlApisRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
2085func (c *AppSync) ListGraphqlApisRequest(input *ListGraphqlApisInput) (req *request.Request, output *ListGraphqlApisOutput) {
2086	op := &request.Operation{
2087		Name:       opListGraphqlApis,
2088		HTTPMethod: "GET",
2089		HTTPPath:   "/v1/apis",
2090	}
2091
2092	if input == nil {
2093		input = &ListGraphqlApisInput{}
2094	}
2095
2096	output = &ListGraphqlApisOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// ListGraphqlApis API operation for AWS AppSync.
2102//
2103// Lists your GraphQL APIs.
2104//
2105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2106// with awserr.Error's Code and Message methods to get detailed information about
2107// the error.
2108//
2109// See the AWS API reference guide for AWS AppSync's
2110// API operation ListGraphqlApis for usage and error information.
2111//
2112// Returned Error Codes:
2113//   * ErrCodeBadRequestException "BadRequestException"
2114//   The request is not well formed. For example, a value is invalid or a required
2115//   field is missing. Check the field values, and then try again.
2116//
2117//   * ErrCodeUnauthorizedException "UnauthorizedException"
2118//   You are not authorized to perform this operation.
2119//
2120//   * ErrCodeInternalFailureException "InternalFailureException"
2121//   An internal AWS AppSync error occurred. Try your request again.
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
2124func (c *AppSync) ListGraphqlApis(input *ListGraphqlApisInput) (*ListGraphqlApisOutput, error) {
2125	req, out := c.ListGraphqlApisRequest(input)
2126	return out, req.Send()
2127}
2128
2129// ListGraphqlApisWithContext is the same as ListGraphqlApis with the addition of
2130// the ability to pass a context and additional request options.
2131//
2132// See ListGraphqlApis for details on how to use this API operation.
2133//
2134// The context must be non-nil and will be used for request cancellation. If
2135// the context is nil a panic will occur. In the future the SDK may create
2136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2137// for more information on using Contexts.
2138func (c *AppSync) ListGraphqlApisWithContext(ctx aws.Context, input *ListGraphqlApisInput, opts ...request.Option) (*ListGraphqlApisOutput, error) {
2139	req, out := c.ListGraphqlApisRequest(input)
2140	req.SetContext(ctx)
2141	req.ApplyOptions(opts...)
2142	return out, req.Send()
2143}
2144
2145const opListResolvers = "ListResolvers"
2146
2147// ListResolversRequest generates a "aws/request.Request" representing the
2148// client's request for the ListResolvers operation. The "output" return
2149// value will be populated with the request's response once the request completes
2150// successfully.
2151//
2152// Use "Send" method on the returned Request to send the API call to the service.
2153// the "output" return value is not valid until after Send returns without error.
2154//
2155// See ListResolvers for more information on using the ListResolvers
2156// API call, and error handling.
2157//
2158// This method is useful when you want to inject custom logic or configuration
2159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2160//
2161//
2162//    // Example sending a request using the ListResolversRequest method.
2163//    req, resp := client.ListResolversRequest(params)
2164//
2165//    err := req.Send()
2166//    if err == nil { // resp is now filled
2167//        fmt.Println(resp)
2168//    }
2169//
2170// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
2171func (c *AppSync) ListResolversRequest(input *ListResolversInput) (req *request.Request, output *ListResolversOutput) {
2172	op := &request.Operation{
2173		Name:       opListResolvers,
2174		HTTPMethod: "GET",
2175		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
2176	}
2177
2178	if input == nil {
2179		input = &ListResolversInput{}
2180	}
2181
2182	output = &ListResolversOutput{}
2183	req = c.newRequest(op, input, output)
2184	return
2185}
2186
2187// ListResolvers API operation for AWS AppSync.
2188//
2189// Lists the resolvers for a given API and type.
2190//
2191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2192// with awserr.Error's Code and Message methods to get detailed information about
2193// the error.
2194//
2195// See the AWS API reference guide for AWS AppSync's
2196// API operation ListResolvers for usage and error information.
2197//
2198// Returned Error Codes:
2199//   * ErrCodeBadRequestException "BadRequestException"
2200//   The request is not well formed. For example, a value is invalid or a required
2201//   field is missing. Check the field values, and then try again.
2202//
2203//   * ErrCodeNotFoundException "NotFoundException"
2204//   The resource specified in the request was not found. Check the resource,
2205//   and then try again.
2206//
2207//   * ErrCodeUnauthorizedException "UnauthorizedException"
2208//   You are not authorized to perform this operation.
2209//
2210//   * ErrCodeInternalFailureException "InternalFailureException"
2211//   An internal AWS AppSync error occurred. Try your request again.
2212//
2213// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
2214func (c *AppSync) ListResolvers(input *ListResolversInput) (*ListResolversOutput, error) {
2215	req, out := c.ListResolversRequest(input)
2216	return out, req.Send()
2217}
2218
2219// ListResolversWithContext is the same as ListResolvers with the addition of
2220// the ability to pass a context and additional request options.
2221//
2222// See ListResolvers for details on how to use this API operation.
2223//
2224// The context must be non-nil and will be used for request cancellation. If
2225// the context is nil a panic will occur. In the future the SDK may create
2226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2227// for more information on using Contexts.
2228func (c *AppSync) ListResolversWithContext(ctx aws.Context, input *ListResolversInput, opts ...request.Option) (*ListResolversOutput, error) {
2229	req, out := c.ListResolversRequest(input)
2230	req.SetContext(ctx)
2231	req.ApplyOptions(opts...)
2232	return out, req.Send()
2233}
2234
2235const opListResolversByFunction = "ListResolversByFunction"
2236
2237// ListResolversByFunctionRequest generates a "aws/request.Request" representing the
2238// client's request for the ListResolversByFunction operation. The "output" return
2239// value will be populated with the request's response once the request completes
2240// successfully.
2241//
2242// Use "Send" method on the returned Request to send the API call to the service.
2243// the "output" return value is not valid until after Send returns without error.
2244//
2245// See ListResolversByFunction for more information on using the ListResolversByFunction
2246// API call, and error handling.
2247//
2248// This method is useful when you want to inject custom logic or configuration
2249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2250//
2251//
2252//    // Example sending a request using the ListResolversByFunctionRequest method.
2253//    req, resp := client.ListResolversByFunctionRequest(params)
2254//
2255//    err := req.Send()
2256//    if err == nil { // resp is now filled
2257//        fmt.Println(resp)
2258//    }
2259//
2260// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
2261func (c *AppSync) ListResolversByFunctionRequest(input *ListResolversByFunctionInput) (req *request.Request, output *ListResolversByFunctionOutput) {
2262	op := &request.Operation{
2263		Name:       opListResolversByFunction,
2264		HTTPMethod: "GET",
2265		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}/resolvers",
2266	}
2267
2268	if input == nil {
2269		input = &ListResolversByFunctionInput{}
2270	}
2271
2272	output = &ListResolversByFunctionOutput{}
2273	req = c.newRequest(op, input, output)
2274	return
2275}
2276
2277// ListResolversByFunction API operation for AWS AppSync.
2278//
2279// List the resolvers that are associated with a specific function.
2280//
2281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2282// with awserr.Error's Code and Message methods to get detailed information about
2283// the error.
2284//
2285// See the AWS API reference guide for AWS AppSync's
2286// API operation ListResolversByFunction for usage and error information.
2287//
2288// Returned Error Codes:
2289//   * ErrCodeBadRequestException "BadRequestException"
2290//   The request is not well formed. For example, a value is invalid or a required
2291//   field is missing. Check the field values, and then try again.
2292//
2293//   * ErrCodeNotFoundException "NotFoundException"
2294//   The resource specified in the request was not found. Check the resource,
2295//   and then try again.
2296//
2297//   * ErrCodeUnauthorizedException "UnauthorizedException"
2298//   You are not authorized to perform this operation.
2299//
2300//   * ErrCodeInternalFailureException "InternalFailureException"
2301//   An internal AWS AppSync error occurred. Try your request again.
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
2304func (c *AppSync) ListResolversByFunction(input *ListResolversByFunctionInput) (*ListResolversByFunctionOutput, error) {
2305	req, out := c.ListResolversByFunctionRequest(input)
2306	return out, req.Send()
2307}
2308
2309// ListResolversByFunctionWithContext is the same as ListResolversByFunction with the addition of
2310// the ability to pass a context and additional request options.
2311//
2312// See ListResolversByFunction for details on how to use this API operation.
2313//
2314// The context must be non-nil and will be used for request cancellation. If
2315// the context is nil a panic will occur. In the future the SDK may create
2316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2317// for more information on using Contexts.
2318func (c *AppSync) ListResolversByFunctionWithContext(ctx aws.Context, input *ListResolversByFunctionInput, opts ...request.Option) (*ListResolversByFunctionOutput, error) {
2319	req, out := c.ListResolversByFunctionRequest(input)
2320	req.SetContext(ctx)
2321	req.ApplyOptions(opts...)
2322	return out, req.Send()
2323}
2324
2325const opListTagsForResource = "ListTagsForResource"
2326
2327// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2328// client's request for the ListTagsForResource operation. The "output" return
2329// value will be populated with the request's response once the request completes
2330// successfully.
2331//
2332// Use "Send" method on the returned Request to send the API call to the service.
2333// the "output" return value is not valid until after Send returns without error.
2334//
2335// See ListTagsForResource for more information on using the ListTagsForResource
2336// API call, and error handling.
2337//
2338// This method is useful when you want to inject custom logic or configuration
2339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2340//
2341//
2342//    // Example sending a request using the ListTagsForResourceRequest method.
2343//    req, resp := client.ListTagsForResourceRequest(params)
2344//
2345//    err := req.Send()
2346//    if err == nil { // resp is now filled
2347//        fmt.Println(resp)
2348//    }
2349//
2350// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
2351func (c *AppSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2352	op := &request.Operation{
2353		Name:       opListTagsForResource,
2354		HTTPMethod: "GET",
2355		HTTPPath:   "/v1/tags/{resourceArn}",
2356	}
2357
2358	if input == nil {
2359		input = &ListTagsForResourceInput{}
2360	}
2361
2362	output = &ListTagsForResourceOutput{}
2363	req = c.newRequest(op, input, output)
2364	return
2365}
2366
2367// ListTagsForResource API operation for AWS AppSync.
2368//
2369// Lists the tags for a resource.
2370//
2371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2372// with awserr.Error's Code and Message methods to get detailed information about
2373// the error.
2374//
2375// See the AWS API reference guide for AWS AppSync's
2376// API operation ListTagsForResource for usage and error information.
2377//
2378// Returned Error Codes:
2379//   * ErrCodeBadRequestException "BadRequestException"
2380//   The request is not well formed. For example, a value is invalid or a required
2381//   field is missing. Check the field values, and then try again.
2382//
2383//   * ErrCodeNotFoundException "NotFoundException"
2384//   The resource specified in the request was not found. Check the resource,
2385//   and then try again.
2386//
2387//   * ErrCodeLimitExceededException "LimitExceededException"
2388//   The request exceeded a limit. Try your request again.
2389//
2390//   * ErrCodeUnauthorizedException "UnauthorizedException"
2391//   You are not authorized to perform this operation.
2392//
2393//   * ErrCodeInternalFailureException "InternalFailureException"
2394//   An internal AWS AppSync error occurred. Try your request again.
2395//
2396//   * ErrCodeAccessDeniedException "AccessDeniedException"
2397//   You do not have access to perform this operation on this resource.
2398//
2399// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
2400func (c *AppSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2401	req, out := c.ListTagsForResourceRequest(input)
2402	return out, req.Send()
2403}
2404
2405// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2406// the ability to pass a context and additional request options.
2407//
2408// See ListTagsForResource for details on how to use this API operation.
2409//
2410// The context must be non-nil and will be used for request cancellation. If
2411// the context is nil a panic will occur. In the future the SDK may create
2412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2413// for more information on using Contexts.
2414func (c *AppSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2415	req, out := c.ListTagsForResourceRequest(input)
2416	req.SetContext(ctx)
2417	req.ApplyOptions(opts...)
2418	return out, req.Send()
2419}
2420
2421const opListTypes = "ListTypes"
2422
2423// ListTypesRequest generates a "aws/request.Request" representing the
2424// client's request for the ListTypes operation. The "output" return
2425// value will be populated with the request's response once the request completes
2426// successfully.
2427//
2428// Use "Send" method on the returned Request to send the API call to the service.
2429// the "output" return value is not valid until after Send returns without error.
2430//
2431// See ListTypes for more information on using the ListTypes
2432// API call, and error handling.
2433//
2434// This method is useful when you want to inject custom logic or configuration
2435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2436//
2437//
2438//    // Example sending a request using the ListTypesRequest method.
2439//    req, resp := client.ListTypesRequest(params)
2440//
2441//    err := req.Send()
2442//    if err == nil { // resp is now filled
2443//        fmt.Println(resp)
2444//    }
2445//
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
2447func (c *AppSync) ListTypesRequest(input *ListTypesInput) (req *request.Request, output *ListTypesOutput) {
2448	op := &request.Operation{
2449		Name:       opListTypes,
2450		HTTPMethod: "GET",
2451		HTTPPath:   "/v1/apis/{apiId}/types",
2452	}
2453
2454	if input == nil {
2455		input = &ListTypesInput{}
2456	}
2457
2458	output = &ListTypesOutput{}
2459	req = c.newRequest(op, input, output)
2460	return
2461}
2462
2463// ListTypes API operation for AWS AppSync.
2464//
2465// Lists the types for a given API.
2466//
2467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2468// with awserr.Error's Code and Message methods to get detailed information about
2469// the error.
2470//
2471// See the AWS API reference guide for AWS AppSync's
2472// API operation ListTypes for usage and error information.
2473//
2474// Returned Error Codes:
2475//   * ErrCodeBadRequestException "BadRequestException"
2476//   The request is not well formed. For example, a value is invalid or a required
2477//   field is missing. Check the field values, and then try again.
2478//
2479//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2480//   Another modification is in progress at this time and it must complete before
2481//   you can make your change.
2482//
2483//   * ErrCodeNotFoundException "NotFoundException"
2484//   The resource specified in the request was not found. Check the resource,
2485//   and then try again.
2486//
2487//   * ErrCodeUnauthorizedException "UnauthorizedException"
2488//   You are not authorized to perform this operation.
2489//
2490//   * ErrCodeInternalFailureException "InternalFailureException"
2491//   An internal AWS AppSync error occurred. Try your request again.
2492//
2493// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
2494func (c *AppSync) ListTypes(input *ListTypesInput) (*ListTypesOutput, error) {
2495	req, out := c.ListTypesRequest(input)
2496	return out, req.Send()
2497}
2498
2499// ListTypesWithContext is the same as ListTypes with the addition of
2500// the ability to pass a context and additional request options.
2501//
2502// See ListTypes for details on how to use this API operation.
2503//
2504// The context must be non-nil and will be used for request cancellation. If
2505// the context is nil a panic will occur. In the future the SDK may create
2506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2507// for more information on using Contexts.
2508func (c *AppSync) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, opts ...request.Option) (*ListTypesOutput, error) {
2509	req, out := c.ListTypesRequest(input)
2510	req.SetContext(ctx)
2511	req.ApplyOptions(opts...)
2512	return out, req.Send()
2513}
2514
2515const opStartSchemaCreation = "StartSchemaCreation"
2516
2517// StartSchemaCreationRequest generates a "aws/request.Request" representing the
2518// client's request for the StartSchemaCreation operation. The "output" return
2519// value will be populated with the request's response once the request completes
2520// successfully.
2521//
2522// Use "Send" method on the returned Request to send the API call to the service.
2523// the "output" return value is not valid until after Send returns without error.
2524//
2525// See StartSchemaCreation for more information on using the StartSchemaCreation
2526// API call, and error handling.
2527//
2528// This method is useful when you want to inject custom logic or configuration
2529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2530//
2531//
2532//    // Example sending a request using the StartSchemaCreationRequest method.
2533//    req, resp := client.StartSchemaCreationRequest(params)
2534//
2535//    err := req.Send()
2536//    if err == nil { // resp is now filled
2537//        fmt.Println(resp)
2538//    }
2539//
2540// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation
2541func (c *AppSync) StartSchemaCreationRequest(input *StartSchemaCreationInput) (req *request.Request, output *StartSchemaCreationOutput) {
2542	op := &request.Operation{
2543		Name:       opStartSchemaCreation,
2544		HTTPMethod: "POST",
2545		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
2546	}
2547
2548	if input == nil {
2549		input = &StartSchemaCreationInput{}
2550	}
2551
2552	output = &StartSchemaCreationOutput{}
2553	req = c.newRequest(op, input, output)
2554	return
2555}
2556
2557// StartSchemaCreation API operation for AWS AppSync.
2558//
2559// Adds a new schema to your GraphQL API.
2560//
2561// This operation is asynchronous. Use to determine when it has completed.
2562//
2563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2564// with awserr.Error's Code and Message methods to get detailed information about
2565// the error.
2566//
2567// See the AWS API reference guide for AWS AppSync's
2568// API operation StartSchemaCreation for usage and error information.
2569//
2570// Returned Error Codes:
2571//   * ErrCodeBadRequestException "BadRequestException"
2572//   The request is not well formed. For example, a value is invalid or a required
2573//   field is missing. Check the field values, and then try again.
2574//
2575//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2576//   Another modification is in progress at this time and it must complete before
2577//   you can make your change.
2578//
2579//   * ErrCodeNotFoundException "NotFoundException"
2580//   The resource specified in the request was not found. Check the resource,
2581//   and then try again.
2582//
2583//   * ErrCodeUnauthorizedException "UnauthorizedException"
2584//   You are not authorized to perform this operation.
2585//
2586//   * ErrCodeInternalFailureException "InternalFailureException"
2587//   An internal AWS AppSync error occurred. Try your request again.
2588//
2589// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation
2590func (c *AppSync) StartSchemaCreation(input *StartSchemaCreationInput) (*StartSchemaCreationOutput, error) {
2591	req, out := c.StartSchemaCreationRequest(input)
2592	return out, req.Send()
2593}
2594
2595// StartSchemaCreationWithContext is the same as StartSchemaCreation with the addition of
2596// the ability to pass a context and additional request options.
2597//
2598// See StartSchemaCreation for details on how to use this API operation.
2599//
2600// The context must be non-nil and will be used for request cancellation. If
2601// the context is nil a panic will occur. In the future the SDK may create
2602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2603// for more information on using Contexts.
2604func (c *AppSync) StartSchemaCreationWithContext(ctx aws.Context, input *StartSchemaCreationInput, opts ...request.Option) (*StartSchemaCreationOutput, error) {
2605	req, out := c.StartSchemaCreationRequest(input)
2606	req.SetContext(ctx)
2607	req.ApplyOptions(opts...)
2608	return out, req.Send()
2609}
2610
2611const opTagResource = "TagResource"
2612
2613// TagResourceRequest generates a "aws/request.Request" representing the
2614// client's request for the TagResource operation. The "output" return
2615// value will be populated with the request's response once the request completes
2616// successfully.
2617//
2618// Use "Send" method on the returned Request to send the API call to the service.
2619// the "output" return value is not valid until after Send returns without error.
2620//
2621// See TagResource for more information on using the TagResource
2622// API call, and error handling.
2623//
2624// This method is useful when you want to inject custom logic or configuration
2625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2626//
2627//
2628//    // Example sending a request using the TagResourceRequest method.
2629//    req, resp := client.TagResourceRequest(params)
2630//
2631//    err := req.Send()
2632//    if err == nil { // resp is now filled
2633//        fmt.Println(resp)
2634//    }
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
2637func (c *AppSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2638	op := &request.Operation{
2639		Name:       opTagResource,
2640		HTTPMethod: "POST",
2641		HTTPPath:   "/v1/tags/{resourceArn}",
2642	}
2643
2644	if input == nil {
2645		input = &TagResourceInput{}
2646	}
2647
2648	output = &TagResourceOutput{}
2649	req = c.newRequest(op, input, output)
2650	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2651	return
2652}
2653
2654// TagResource API operation for AWS AppSync.
2655//
2656// Tags a resource with user-supplied tags.
2657//
2658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2659// with awserr.Error's Code and Message methods to get detailed information about
2660// the error.
2661//
2662// See the AWS API reference guide for AWS AppSync's
2663// API operation TagResource for usage and error information.
2664//
2665// Returned Error Codes:
2666//   * ErrCodeBadRequestException "BadRequestException"
2667//   The request is not well formed. For example, a value is invalid or a required
2668//   field is missing. Check the field values, and then try again.
2669//
2670//   * ErrCodeNotFoundException "NotFoundException"
2671//   The resource specified in the request was not found. Check the resource,
2672//   and then try again.
2673//
2674//   * ErrCodeLimitExceededException "LimitExceededException"
2675//   The request exceeded a limit. Try your request again.
2676//
2677//   * ErrCodeUnauthorizedException "UnauthorizedException"
2678//   You are not authorized to perform this operation.
2679//
2680//   * ErrCodeInternalFailureException "InternalFailureException"
2681//   An internal AWS AppSync error occurred. Try your request again.
2682//
2683//   * ErrCodeAccessDeniedException "AccessDeniedException"
2684//   You do not have access to perform this operation on this resource.
2685//
2686// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
2687func (c *AppSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2688	req, out := c.TagResourceRequest(input)
2689	return out, req.Send()
2690}
2691
2692// TagResourceWithContext is the same as TagResource with the addition of
2693// the ability to pass a context and additional request options.
2694//
2695// See TagResource for details on how to use this API operation.
2696//
2697// The context must be non-nil and will be used for request cancellation. If
2698// the context is nil a panic will occur. In the future the SDK may create
2699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2700// for more information on using Contexts.
2701func (c *AppSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2702	req, out := c.TagResourceRequest(input)
2703	req.SetContext(ctx)
2704	req.ApplyOptions(opts...)
2705	return out, req.Send()
2706}
2707
2708const opUntagResource = "UntagResource"
2709
2710// UntagResourceRequest generates a "aws/request.Request" representing the
2711// client's request for the UntagResource operation. The "output" return
2712// value will be populated with the request's response once the request completes
2713// successfully.
2714//
2715// Use "Send" method on the returned Request to send the API call to the service.
2716// the "output" return value is not valid until after Send returns without error.
2717//
2718// See UntagResource for more information on using the UntagResource
2719// API call, and error handling.
2720//
2721// This method is useful when you want to inject custom logic or configuration
2722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2723//
2724//
2725//    // Example sending a request using the UntagResourceRequest method.
2726//    req, resp := client.UntagResourceRequest(params)
2727//
2728//    err := req.Send()
2729//    if err == nil { // resp is now filled
2730//        fmt.Println(resp)
2731//    }
2732//
2733// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
2734func (c *AppSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2735	op := &request.Operation{
2736		Name:       opUntagResource,
2737		HTTPMethod: "DELETE",
2738		HTTPPath:   "/v1/tags/{resourceArn}",
2739	}
2740
2741	if input == nil {
2742		input = &UntagResourceInput{}
2743	}
2744
2745	output = &UntagResourceOutput{}
2746	req = c.newRequest(op, input, output)
2747	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2748	return
2749}
2750
2751// UntagResource API operation for AWS AppSync.
2752//
2753// Untags a resource.
2754//
2755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2756// with awserr.Error's Code and Message methods to get detailed information about
2757// the error.
2758//
2759// See the AWS API reference guide for AWS AppSync's
2760// API operation UntagResource for usage and error information.
2761//
2762// Returned Error Codes:
2763//   * ErrCodeBadRequestException "BadRequestException"
2764//   The request is not well formed. For example, a value is invalid or a required
2765//   field is missing. Check the field values, and then try again.
2766//
2767//   * ErrCodeNotFoundException "NotFoundException"
2768//   The resource specified in the request was not found. Check the resource,
2769//   and then try again.
2770//
2771//   * ErrCodeLimitExceededException "LimitExceededException"
2772//   The request exceeded a limit. Try your request again.
2773//
2774//   * ErrCodeUnauthorizedException "UnauthorizedException"
2775//   You are not authorized to perform this operation.
2776//
2777//   * ErrCodeInternalFailureException "InternalFailureException"
2778//   An internal AWS AppSync error occurred. Try your request again.
2779//
2780//   * ErrCodeAccessDeniedException "AccessDeniedException"
2781//   You do not have access to perform this operation on this resource.
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
2784func (c *AppSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2785	req, out := c.UntagResourceRequest(input)
2786	return out, req.Send()
2787}
2788
2789// UntagResourceWithContext is the same as UntagResource with the addition of
2790// the ability to pass a context and additional request options.
2791//
2792// See UntagResource for details on how to use this API operation.
2793//
2794// The context must be non-nil and will be used for request cancellation. If
2795// the context is nil a panic will occur. In the future the SDK may create
2796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2797// for more information on using Contexts.
2798func (c *AppSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2799	req, out := c.UntagResourceRequest(input)
2800	req.SetContext(ctx)
2801	req.ApplyOptions(opts...)
2802	return out, req.Send()
2803}
2804
2805const opUpdateApiKey = "UpdateApiKey"
2806
2807// UpdateApiKeyRequest generates a "aws/request.Request" representing the
2808// client's request for the UpdateApiKey operation. The "output" return
2809// value will be populated with the request's response once the request completes
2810// successfully.
2811//
2812// Use "Send" method on the returned Request to send the API call to the service.
2813// the "output" return value is not valid until after Send returns without error.
2814//
2815// See UpdateApiKey for more information on using the UpdateApiKey
2816// API call, and error handling.
2817//
2818// This method is useful when you want to inject custom logic or configuration
2819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2820//
2821//
2822//    // Example sending a request using the UpdateApiKeyRequest method.
2823//    req, resp := client.UpdateApiKeyRequest(params)
2824//
2825//    err := req.Send()
2826//    if err == nil { // resp is now filled
2827//        fmt.Println(resp)
2828//    }
2829//
2830// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
2831func (c *AppSync) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *UpdateApiKeyOutput) {
2832	op := &request.Operation{
2833		Name:       opUpdateApiKey,
2834		HTTPMethod: "POST",
2835		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
2836	}
2837
2838	if input == nil {
2839		input = &UpdateApiKeyInput{}
2840	}
2841
2842	output = &UpdateApiKeyOutput{}
2843	req = c.newRequest(op, input, output)
2844	return
2845}
2846
2847// UpdateApiKey API operation for AWS AppSync.
2848//
2849// Updates an API key.
2850//
2851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2852// with awserr.Error's Code and Message methods to get detailed information about
2853// the error.
2854//
2855// See the AWS API reference guide for AWS AppSync's
2856// API operation UpdateApiKey for usage and error information.
2857//
2858// Returned Error Codes:
2859//   * ErrCodeBadRequestException "BadRequestException"
2860//   The request is not well formed. For example, a value is invalid or a required
2861//   field is missing. Check the field values, and then try again.
2862//
2863//   * ErrCodeNotFoundException "NotFoundException"
2864//   The resource specified in the request was not found. Check the resource,
2865//   and then try again.
2866//
2867//   * ErrCodeUnauthorizedException "UnauthorizedException"
2868//   You are not authorized to perform this operation.
2869//
2870//   * ErrCodeLimitExceededException "LimitExceededException"
2871//   The request exceeded a limit. Try your request again.
2872//
2873//   * ErrCodeInternalFailureException "InternalFailureException"
2874//   An internal AWS AppSync error occurred. Try your request again.
2875//
2876//   * ErrCodeApiKeyValidityOutOfBoundsException "ApiKeyValidityOutOfBoundsException"
2877//   The API key expiration must be set to a value between 1 and 365 days from
2878//   creation (for CreateApiKey) or from update (for UpdateApiKey).
2879//
2880// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
2881func (c *AppSync) UpdateApiKey(input *UpdateApiKeyInput) (*UpdateApiKeyOutput, error) {
2882	req, out := c.UpdateApiKeyRequest(input)
2883	return out, req.Send()
2884}
2885
2886// UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
2887// the ability to pass a context and additional request options.
2888//
2889// See UpdateApiKey for details on how to use this API operation.
2890//
2891// The context must be non-nil and will be used for request cancellation. If
2892// the context is nil a panic will occur. In the future the SDK may create
2893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2894// for more information on using Contexts.
2895func (c *AppSync) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*UpdateApiKeyOutput, error) {
2896	req, out := c.UpdateApiKeyRequest(input)
2897	req.SetContext(ctx)
2898	req.ApplyOptions(opts...)
2899	return out, req.Send()
2900}
2901
2902const opUpdateDataSource = "UpdateDataSource"
2903
2904// UpdateDataSourceRequest generates a "aws/request.Request" representing the
2905// client's request for the UpdateDataSource operation. The "output" return
2906// value will be populated with the request's response once the request completes
2907// successfully.
2908//
2909// Use "Send" method on the returned Request to send the API call to the service.
2910// the "output" return value is not valid until after Send returns without error.
2911//
2912// See UpdateDataSource for more information on using the UpdateDataSource
2913// API call, and error handling.
2914//
2915// This method is useful when you want to inject custom logic or configuration
2916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2917//
2918//
2919//    // Example sending a request using the UpdateDataSourceRequest method.
2920//    req, resp := client.UpdateDataSourceRequest(params)
2921//
2922//    err := req.Send()
2923//    if err == nil { // resp is now filled
2924//        fmt.Println(resp)
2925//    }
2926//
2927// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
2928func (c *AppSync) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) {
2929	op := &request.Operation{
2930		Name:       opUpdateDataSource,
2931		HTTPMethod: "POST",
2932		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
2933	}
2934
2935	if input == nil {
2936		input = &UpdateDataSourceInput{}
2937	}
2938
2939	output = &UpdateDataSourceOutput{}
2940	req = c.newRequest(op, input, output)
2941	return
2942}
2943
2944// UpdateDataSource API operation for AWS AppSync.
2945//
2946// Updates a DataSource object.
2947//
2948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2949// with awserr.Error's Code and Message methods to get detailed information about
2950// the error.
2951//
2952// See the AWS API reference guide for AWS AppSync's
2953// API operation UpdateDataSource for usage and error information.
2954//
2955// Returned Error Codes:
2956//   * ErrCodeBadRequestException "BadRequestException"
2957//   The request is not well formed. For example, a value is invalid or a required
2958//   field is missing. Check the field values, and then try again.
2959//
2960//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2961//   Another modification is in progress at this time and it must complete before
2962//   you can make your change.
2963//
2964//   * ErrCodeNotFoundException "NotFoundException"
2965//   The resource specified in the request was not found. Check the resource,
2966//   and then try again.
2967//
2968//   * ErrCodeUnauthorizedException "UnauthorizedException"
2969//   You are not authorized to perform this operation.
2970//
2971//   * ErrCodeInternalFailureException "InternalFailureException"
2972//   An internal AWS AppSync error occurred. Try your request again.
2973//
2974// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
2975func (c *AppSync) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) {
2976	req, out := c.UpdateDataSourceRequest(input)
2977	return out, req.Send()
2978}
2979
2980// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of
2981// the ability to pass a context and additional request options.
2982//
2983// See UpdateDataSource for details on how to use this API operation.
2984//
2985// The context must be non-nil and will be used for request cancellation. If
2986// the context is nil a panic will occur. In the future the SDK may create
2987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2988// for more information on using Contexts.
2989func (c *AppSync) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) {
2990	req, out := c.UpdateDataSourceRequest(input)
2991	req.SetContext(ctx)
2992	req.ApplyOptions(opts...)
2993	return out, req.Send()
2994}
2995
2996const opUpdateFunction = "UpdateFunction"
2997
2998// UpdateFunctionRequest generates a "aws/request.Request" representing the
2999// client's request for the UpdateFunction operation. The "output" return
3000// value will be populated with the request's response once the request completes
3001// successfully.
3002//
3003// Use "Send" method on the returned Request to send the API call to the service.
3004// the "output" return value is not valid until after Send returns without error.
3005//
3006// See UpdateFunction for more information on using the UpdateFunction
3007// API call, and error handling.
3008//
3009// This method is useful when you want to inject custom logic or configuration
3010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3011//
3012//
3013//    // Example sending a request using the UpdateFunctionRequest method.
3014//    req, resp := client.UpdateFunctionRequest(params)
3015//
3016//    err := req.Send()
3017//    if err == nil { // resp is now filled
3018//        fmt.Println(resp)
3019//    }
3020//
3021// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
3022func (c *AppSync) UpdateFunctionRequest(input *UpdateFunctionInput) (req *request.Request, output *UpdateFunctionOutput) {
3023	op := &request.Operation{
3024		Name:       opUpdateFunction,
3025		HTTPMethod: "POST",
3026		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
3027	}
3028
3029	if input == nil {
3030		input = &UpdateFunctionInput{}
3031	}
3032
3033	output = &UpdateFunctionOutput{}
3034	req = c.newRequest(op, input, output)
3035	return
3036}
3037
3038// UpdateFunction API operation for AWS AppSync.
3039//
3040// Updates a Function object.
3041//
3042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3043// with awserr.Error's Code and Message methods to get detailed information about
3044// the error.
3045//
3046// See the AWS API reference guide for AWS AppSync's
3047// API operation UpdateFunction for usage and error information.
3048//
3049// Returned Error Codes:
3050//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3051//   Another modification is in progress at this time and it must complete before
3052//   you can make your change.
3053//
3054//   * ErrCodeNotFoundException "NotFoundException"
3055//   The resource specified in the request was not found. Check the resource,
3056//   and then try again.
3057//
3058//   * ErrCodeUnauthorizedException "UnauthorizedException"
3059//   You are not authorized to perform this operation.
3060//
3061//   * ErrCodeInternalFailureException "InternalFailureException"
3062//   An internal AWS AppSync error occurred. Try your request again.
3063//
3064// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
3065func (c *AppSync) UpdateFunction(input *UpdateFunctionInput) (*UpdateFunctionOutput, error) {
3066	req, out := c.UpdateFunctionRequest(input)
3067	return out, req.Send()
3068}
3069
3070// UpdateFunctionWithContext is the same as UpdateFunction with the addition of
3071// the ability to pass a context and additional request options.
3072//
3073// See UpdateFunction 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) UpdateFunctionWithContext(ctx aws.Context, input *UpdateFunctionInput, opts ...request.Option) (*UpdateFunctionOutput, error) {
3080	req, out := c.UpdateFunctionRequest(input)
3081	req.SetContext(ctx)
3082	req.ApplyOptions(opts...)
3083	return out, req.Send()
3084}
3085
3086const opUpdateGraphqlApi = "UpdateGraphqlApi"
3087
3088// UpdateGraphqlApiRequest generates a "aws/request.Request" representing the
3089// client's request for the UpdateGraphqlApi 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 UpdateGraphqlApi for more information on using the UpdateGraphqlApi
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 UpdateGraphqlApiRequest method.
3104//    req, resp := client.UpdateGraphqlApiRequest(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/UpdateGraphqlApi
3112func (c *AppSync) UpdateGraphqlApiRequest(input *UpdateGraphqlApiInput) (req *request.Request, output *UpdateGraphqlApiOutput) {
3113	op := &request.Operation{
3114		Name:       opUpdateGraphqlApi,
3115		HTTPMethod: "POST",
3116		HTTPPath:   "/v1/apis/{apiId}",
3117	}
3118
3119	if input == nil {
3120		input = &UpdateGraphqlApiInput{}
3121	}
3122
3123	output = &UpdateGraphqlApiOutput{}
3124	req = c.newRequest(op, input, output)
3125	return
3126}
3127
3128// UpdateGraphqlApi API operation for AWS AppSync.
3129//
3130// Updates a GraphqlApi object.
3131//
3132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3133// with awserr.Error's Code and Message methods to get detailed information about
3134// the error.
3135//
3136// See the AWS API reference guide for AWS AppSync's
3137// API operation UpdateGraphqlApi for usage and error information.
3138//
3139// Returned Error Codes:
3140//   * ErrCodeBadRequestException "BadRequestException"
3141//   The request is not well formed. For example, a value is invalid or a required
3142//   field is missing. Check the field values, and then try again.
3143//
3144//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3145//   Another modification is in progress at this time and it must complete before
3146//   you can make your change.
3147//
3148//   * ErrCodeNotFoundException "NotFoundException"
3149//   The resource specified in the request was not found. Check the resource,
3150//   and then try again.
3151//
3152//   * ErrCodeUnauthorizedException "UnauthorizedException"
3153//   You are not authorized to perform this operation.
3154//
3155//   * ErrCodeInternalFailureException "InternalFailureException"
3156//   An internal AWS AppSync error occurred. Try your request again.
3157//
3158//   * ErrCodeAccessDeniedException "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/UpdateGraphqlApi
3162func (c *AppSync) UpdateGraphqlApi(input *UpdateGraphqlApiInput) (*UpdateGraphqlApiOutput, error) {
3163	req, out := c.UpdateGraphqlApiRequest(input)
3164	return out, req.Send()
3165}
3166
3167// UpdateGraphqlApiWithContext is the same as UpdateGraphqlApi with the addition of
3168// the ability to pass a context and additional request options.
3169//
3170// See UpdateGraphqlApi 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) UpdateGraphqlApiWithContext(ctx aws.Context, input *UpdateGraphqlApiInput, opts ...request.Option) (*UpdateGraphqlApiOutput, error) {
3177	req, out := c.UpdateGraphqlApiRequest(input)
3178	req.SetContext(ctx)
3179	req.ApplyOptions(opts...)
3180	return out, req.Send()
3181}
3182
3183const opUpdateResolver = "UpdateResolver"
3184
3185// UpdateResolverRequest generates a "aws/request.Request" representing the
3186// client's request for the UpdateResolver 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 UpdateResolver for more information on using the UpdateResolver
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 UpdateResolverRequest method.
3201//    req, resp := client.UpdateResolverRequest(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/UpdateResolver
3209func (c *AppSync) UpdateResolverRequest(input *UpdateResolverInput) (req *request.Request, output *UpdateResolverOutput) {
3210	op := &request.Operation{
3211		Name:       opUpdateResolver,
3212		HTTPMethod: "POST",
3213		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
3214	}
3215
3216	if input == nil {
3217		input = &UpdateResolverInput{}
3218	}
3219
3220	output = &UpdateResolverOutput{}
3221	req = c.newRequest(op, input, output)
3222	return
3223}
3224
3225// UpdateResolver API operation for AWS AppSync.
3226//
3227// Updates a Resolver object.
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 UpdateResolver for usage and error information.
3235//
3236// Returned Error Codes:
3237//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3238//   Another modification is in progress at this time and it must complete before
3239//   you can make your change.
3240//
3241//   * ErrCodeNotFoundException "NotFoundException"
3242//   The resource specified in the request was not found. Check the resource,
3243//   and then try again.
3244//
3245//   * ErrCodeUnauthorizedException "UnauthorizedException"
3246//   You are not authorized to perform this operation.
3247//
3248//   * ErrCodeInternalFailureException "InternalFailureException"
3249//   An internal AWS AppSync error occurred. Try your request again.
3250//
3251// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver
3252func (c *AppSync) UpdateResolver(input *UpdateResolverInput) (*UpdateResolverOutput, error) {
3253	req, out := c.UpdateResolverRequest(input)
3254	return out, req.Send()
3255}
3256
3257// UpdateResolverWithContext is the same as UpdateResolver with the addition of
3258// the ability to pass a context and additional request options.
3259//
3260// See UpdateResolver for details on how to use this API operation.
3261//
3262// The context must be non-nil and will be used for request cancellation. If
3263// the context is nil a panic will occur. In the future the SDK may create
3264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3265// for more information on using Contexts.
3266func (c *AppSync) UpdateResolverWithContext(ctx aws.Context, input *UpdateResolverInput, opts ...request.Option) (*UpdateResolverOutput, error) {
3267	req, out := c.UpdateResolverRequest(input)
3268	req.SetContext(ctx)
3269	req.ApplyOptions(opts...)
3270	return out, req.Send()
3271}
3272
3273const opUpdateType = "UpdateType"
3274
3275// UpdateTypeRequest generates a "aws/request.Request" representing the
3276// client's request for the UpdateType operation. The "output" return
3277// value will be populated with the request's response once the request completes
3278// successfully.
3279//
3280// Use "Send" method on the returned Request to send the API call to the service.
3281// the "output" return value is not valid until after Send returns without error.
3282//
3283// See UpdateType for more information on using the UpdateType
3284// API call, and error handling.
3285//
3286// This method is useful when you want to inject custom logic or configuration
3287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3288//
3289//
3290//    // Example sending a request using the UpdateTypeRequest method.
3291//    req, resp := client.UpdateTypeRequest(params)
3292//
3293//    err := req.Send()
3294//    if err == nil { // resp is now filled
3295//        fmt.Println(resp)
3296//    }
3297//
3298// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
3299func (c *AppSync) UpdateTypeRequest(input *UpdateTypeInput) (req *request.Request, output *UpdateTypeOutput) {
3300	op := &request.Operation{
3301		Name:       opUpdateType,
3302		HTTPMethod: "POST",
3303		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
3304	}
3305
3306	if input == nil {
3307		input = &UpdateTypeInput{}
3308	}
3309
3310	output = &UpdateTypeOutput{}
3311	req = c.newRequest(op, input, output)
3312	return
3313}
3314
3315// UpdateType API operation for AWS AppSync.
3316//
3317// Updates a Type object.
3318//
3319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3320// with awserr.Error's Code and Message methods to get detailed information about
3321// the error.
3322//
3323// See the AWS API reference guide for AWS AppSync's
3324// API operation UpdateType for usage and error information.
3325//
3326// Returned Error Codes:
3327//   * ErrCodeBadRequestException "BadRequestException"
3328//   The request is not well formed. For example, a value is invalid or a required
3329//   field is missing. Check the field values, and then try again.
3330//
3331//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3332//   Another modification is in progress at this time and it must complete before
3333//   you can make your change.
3334//
3335//   * ErrCodeNotFoundException "NotFoundException"
3336//   The resource specified in the request was not found. Check the resource,
3337//   and then try again.
3338//
3339//   * ErrCodeUnauthorizedException "UnauthorizedException"
3340//   You are not authorized to perform this operation.
3341//
3342//   * ErrCodeInternalFailureException "InternalFailureException"
3343//   An internal AWS AppSync error occurred. Try your request again.
3344//
3345// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
3346func (c *AppSync) UpdateType(input *UpdateTypeInput) (*UpdateTypeOutput, error) {
3347	req, out := c.UpdateTypeRequest(input)
3348	return out, req.Send()
3349}
3350
3351// UpdateTypeWithContext is the same as UpdateType with the addition of
3352// the ability to pass a context and additional request options.
3353//
3354// See UpdateType for details on how to use this API operation.
3355//
3356// The context must be non-nil and will be used for request cancellation. If
3357// the context is nil a panic will occur. In the future the SDK may create
3358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3359// for more information on using Contexts.
3360func (c *AppSync) UpdateTypeWithContext(ctx aws.Context, input *UpdateTypeInput, opts ...request.Option) (*UpdateTypeOutput, error) {
3361	req, out := c.UpdateTypeRequest(input)
3362	req.SetContext(ctx)
3363	req.ApplyOptions(opts...)
3364	return out, req.Send()
3365}
3366
3367// Describes an additional authentication provider.
3368type AdditionalAuthenticationProvider struct {
3369	_ struct{} `type:"structure"`
3370
3371	// The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
3372	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
3373
3374	// The OpenID Connect configuration.
3375	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
3376
3377	// The Amazon Cognito user pool configuration.
3378	UserPoolConfig *CognitoUserPoolConfig `locationName:"userPoolConfig" type:"structure"`
3379}
3380
3381// String returns the string representation
3382func (s AdditionalAuthenticationProvider) String() string {
3383	return awsutil.Prettify(s)
3384}
3385
3386// GoString returns the string representation
3387func (s AdditionalAuthenticationProvider) GoString() string {
3388	return s.String()
3389}
3390
3391// Validate inspects the fields of the type to determine if they are valid.
3392func (s *AdditionalAuthenticationProvider) Validate() error {
3393	invalidParams := request.ErrInvalidParams{Context: "AdditionalAuthenticationProvider"}
3394	if s.OpenIDConnectConfig != nil {
3395		if err := s.OpenIDConnectConfig.Validate(); err != nil {
3396			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
3397		}
3398	}
3399	if s.UserPoolConfig != nil {
3400		if err := s.UserPoolConfig.Validate(); err != nil {
3401			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
3402		}
3403	}
3404
3405	if invalidParams.Len() > 0 {
3406		return invalidParams
3407	}
3408	return nil
3409}
3410
3411// SetAuthenticationType sets the AuthenticationType field's value.
3412func (s *AdditionalAuthenticationProvider) SetAuthenticationType(v string) *AdditionalAuthenticationProvider {
3413	s.AuthenticationType = &v
3414	return s
3415}
3416
3417// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
3418func (s *AdditionalAuthenticationProvider) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *AdditionalAuthenticationProvider {
3419	s.OpenIDConnectConfig = v
3420	return s
3421}
3422
3423// SetUserPoolConfig sets the UserPoolConfig field's value.
3424func (s *AdditionalAuthenticationProvider) SetUserPoolConfig(v *CognitoUserPoolConfig) *AdditionalAuthenticationProvider {
3425	s.UserPoolConfig = v
3426	return s
3427}
3428
3429// Describes an API key.
3430//
3431// Customers invoke AWS AppSync GraphQL API operations with API keys as an identity
3432// mechanism. There are two key versions:
3433//
3434// da1: This version was introduced at launch in November 2017. These keys always
3435// expire after 7 days. Key expiration is managed by Amazon DynamoDB TTL. The
3436// keys ceased to be valid after February 21, 2018 and should not be used after
3437// that date.
3438//
3439//    * ListApiKeys returns the expiration time in milliseconds.
3440//
3441//    * CreateApiKey returns the expiration time in milliseconds.
3442//
3443//    * UpdateApiKey is not available for this key version.
3444//
3445//    * DeleteApiKey deletes the item from the table.
3446//
3447//    * Expiration is stored in Amazon DynamoDB as milliseconds. This results
3448//    in a bug where keys are not automatically deleted because DynamoDB expects
3449//    the TTL to be stored in seconds. As a one-time action, we will delete
3450//    these keys from the table after February 21, 2018.
3451//
3452// da2: This version was introduced in February 2018 when AppSync added support
3453// to extend key expiration.
3454//
3455//    * ListApiKeys returns the expiration time in seconds.
3456//
3457//    * CreateApiKey returns the expiration time in seconds and accepts a user-provided
3458//    expiration time in seconds.
3459//
3460//    * UpdateApiKey returns the expiration time in seconds and accepts a user-provided
3461//    expiration time in seconds. Key expiration can only be updated while the
3462//    key has not expired.
3463//
3464//    * DeleteApiKey deletes the item from the table.
3465//
3466//    * Expiration is stored in Amazon DynamoDB as seconds.
3467type ApiKey struct {
3468	_ struct{} `type:"structure"`
3469
3470	// A description of the purpose of the API key.
3471	Description *string `locationName:"description" type:"string"`
3472
3473	// The time after which the API key expires. The date is represented as seconds
3474	// since the epoch, rounded down to the nearest hour.
3475	Expires *int64 `locationName:"expires" type:"long"`
3476
3477	// The API key ID.
3478	Id *string `locationName:"id" type:"string"`
3479}
3480
3481// String returns the string representation
3482func (s ApiKey) String() string {
3483	return awsutil.Prettify(s)
3484}
3485
3486// GoString returns the string representation
3487func (s ApiKey) GoString() string {
3488	return s.String()
3489}
3490
3491// SetDescription sets the Description field's value.
3492func (s *ApiKey) SetDescription(v string) *ApiKey {
3493	s.Description = &v
3494	return s
3495}
3496
3497// SetExpires sets the Expires field's value.
3498func (s *ApiKey) SetExpires(v int64) *ApiKey {
3499	s.Expires = &v
3500	return s
3501}
3502
3503// SetId sets the Id field's value.
3504func (s *ApiKey) SetId(v string) *ApiKey {
3505	s.Id = &v
3506	return s
3507}
3508
3509// The authorization config in case the HTTP endpoint requires authorization.
3510type AuthorizationConfig struct {
3511	_ struct{} `type:"structure"`
3512
3513	// The authorization type required by the HTTP endpoint.
3514	//
3515	//    * AWS_IAM: The authorization type is Sigv4.
3516	//
3517	// AuthorizationType is a required field
3518	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true" enum:"AuthorizationType"`
3519
3520	// The AWS IAM settings.
3521	AwsIamConfig *AwsIamConfig `locationName:"awsIamConfig" type:"structure"`
3522}
3523
3524// String returns the string representation
3525func (s AuthorizationConfig) String() string {
3526	return awsutil.Prettify(s)
3527}
3528
3529// GoString returns the string representation
3530func (s AuthorizationConfig) GoString() string {
3531	return s.String()
3532}
3533
3534// Validate inspects the fields of the type to determine if they are valid.
3535func (s *AuthorizationConfig) Validate() error {
3536	invalidParams := request.ErrInvalidParams{Context: "AuthorizationConfig"}
3537	if s.AuthorizationType == nil {
3538		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
3539	}
3540
3541	if invalidParams.Len() > 0 {
3542		return invalidParams
3543	}
3544	return nil
3545}
3546
3547// SetAuthorizationType sets the AuthorizationType field's value.
3548func (s *AuthorizationConfig) SetAuthorizationType(v string) *AuthorizationConfig {
3549	s.AuthorizationType = &v
3550	return s
3551}
3552
3553// SetAwsIamConfig sets the AwsIamConfig field's value.
3554func (s *AuthorizationConfig) SetAwsIamConfig(v *AwsIamConfig) *AuthorizationConfig {
3555	s.AwsIamConfig = v
3556	return s
3557}
3558
3559// The AWS IAM configuration.
3560type AwsIamConfig struct {
3561	_ struct{} `type:"structure"`
3562
3563	// The signing region for AWS IAM authorization.
3564	SigningRegion *string `locationName:"signingRegion" type:"string"`
3565
3566	// The signing service name for AWS IAM authorization.
3567	SigningServiceName *string `locationName:"signingServiceName" type:"string"`
3568}
3569
3570// String returns the string representation
3571func (s AwsIamConfig) String() string {
3572	return awsutil.Prettify(s)
3573}
3574
3575// GoString returns the string representation
3576func (s AwsIamConfig) GoString() string {
3577	return s.String()
3578}
3579
3580// SetSigningRegion sets the SigningRegion field's value.
3581func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig {
3582	s.SigningRegion = &v
3583	return s
3584}
3585
3586// SetSigningServiceName sets the SigningServiceName field's value.
3587func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig {
3588	s.SigningServiceName = &v
3589	return s
3590}
3591
3592// Describes an Amazon Cognito user pool configuration.
3593type CognitoUserPoolConfig struct {
3594	_ struct{} `type:"structure"`
3595
3596	// A regular expression for validating the incoming Amazon Cognito user pool
3597	// app client ID.
3598	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
3599
3600	// The AWS Region in which the user pool was created.
3601	//
3602	// AwsRegion is a required field
3603	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
3604
3605	// The user pool ID.
3606	//
3607	// UserPoolId is a required field
3608	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
3609}
3610
3611// String returns the string representation
3612func (s CognitoUserPoolConfig) String() string {
3613	return awsutil.Prettify(s)
3614}
3615
3616// GoString returns the string representation
3617func (s CognitoUserPoolConfig) GoString() string {
3618	return s.String()
3619}
3620
3621// Validate inspects the fields of the type to determine if they are valid.
3622func (s *CognitoUserPoolConfig) Validate() error {
3623	invalidParams := request.ErrInvalidParams{Context: "CognitoUserPoolConfig"}
3624	if s.AwsRegion == nil {
3625		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
3626	}
3627	if s.UserPoolId == nil {
3628		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
3629	}
3630
3631	if invalidParams.Len() > 0 {
3632		return invalidParams
3633	}
3634	return nil
3635}
3636
3637// SetAppIdClientRegex sets the AppIdClientRegex field's value.
3638func (s *CognitoUserPoolConfig) SetAppIdClientRegex(v string) *CognitoUserPoolConfig {
3639	s.AppIdClientRegex = &v
3640	return s
3641}
3642
3643// SetAwsRegion sets the AwsRegion field's value.
3644func (s *CognitoUserPoolConfig) SetAwsRegion(v string) *CognitoUserPoolConfig {
3645	s.AwsRegion = &v
3646	return s
3647}
3648
3649// SetUserPoolId sets the UserPoolId field's value.
3650func (s *CognitoUserPoolConfig) SetUserPoolId(v string) *CognitoUserPoolConfig {
3651	s.UserPoolId = &v
3652	return s
3653}
3654
3655type CreateApiKeyInput struct {
3656	_ struct{} `type:"structure"`
3657
3658	// The ID for your GraphQL API.
3659	//
3660	// ApiId is a required field
3661	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
3662
3663	// A description of the purpose of the API key.
3664	Description *string `locationName:"description" type:"string"`
3665
3666	// The time from creation time after which the API key expires. The date is
3667	// represented as seconds since the epoch, rounded down to the nearest hour.
3668	// The default value for this parameter is 7 days from creation time. For more
3669	// information, see .
3670	Expires *int64 `locationName:"expires" type:"long"`
3671}
3672
3673// String returns the string representation
3674func (s CreateApiKeyInput) String() string {
3675	return awsutil.Prettify(s)
3676}
3677
3678// GoString returns the string representation
3679func (s CreateApiKeyInput) GoString() string {
3680	return s.String()
3681}
3682
3683// Validate inspects the fields of the type to determine if they are valid.
3684func (s *CreateApiKeyInput) Validate() error {
3685	invalidParams := request.ErrInvalidParams{Context: "CreateApiKeyInput"}
3686	if s.ApiId == nil {
3687		invalidParams.Add(request.NewErrParamRequired("ApiId"))
3688	}
3689	if s.ApiId != nil && len(*s.ApiId) < 1 {
3690		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
3691	}
3692
3693	if invalidParams.Len() > 0 {
3694		return invalidParams
3695	}
3696	return nil
3697}
3698
3699// SetApiId sets the ApiId field's value.
3700func (s *CreateApiKeyInput) SetApiId(v string) *CreateApiKeyInput {
3701	s.ApiId = &v
3702	return s
3703}
3704
3705// SetDescription sets the Description field's value.
3706func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
3707	s.Description = &v
3708	return s
3709}
3710
3711// SetExpires sets the Expires field's value.
3712func (s *CreateApiKeyInput) SetExpires(v int64) *CreateApiKeyInput {
3713	s.Expires = &v
3714	return s
3715}
3716
3717type CreateApiKeyOutput struct {
3718	_ struct{} `type:"structure"`
3719
3720	// The API key.
3721	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
3722}
3723
3724// String returns the string representation
3725func (s CreateApiKeyOutput) String() string {
3726	return awsutil.Prettify(s)
3727}
3728
3729// GoString returns the string representation
3730func (s CreateApiKeyOutput) GoString() string {
3731	return s.String()
3732}
3733
3734// SetApiKey sets the ApiKey field's value.
3735func (s *CreateApiKeyOutput) SetApiKey(v *ApiKey) *CreateApiKeyOutput {
3736	s.ApiKey = v
3737	return s
3738}
3739
3740type CreateDataSourceInput struct {
3741	_ struct{} `type:"structure"`
3742
3743	// The API ID for the GraphQL API for the DataSource.
3744	//
3745	// ApiId is a required field
3746	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
3747
3748	// A description of the DataSource.
3749	Description *string `locationName:"description" type:"string"`
3750
3751	// Amazon DynamoDB settings.
3752	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
3753
3754	// Amazon Elasticsearch Service settings.
3755	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
3756
3757	// HTTP endpoint settings.
3758	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
3759
3760	// AWS Lambda settings.
3761	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
3762
3763	// A user-supplied name for the DataSource.
3764	//
3765	// Name is a required field
3766	Name *string `locationName:"name" type:"string" required:"true"`
3767
3768	// Relational database settings.
3769	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
3770
3771	// The AWS IAM service role ARN for the data source. The system assumes this
3772	// role when accessing the data source.
3773	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
3774
3775	// The type of the DataSource.
3776	//
3777	// Type is a required field
3778	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
3779}
3780
3781// String returns the string representation
3782func (s CreateDataSourceInput) String() string {
3783	return awsutil.Prettify(s)
3784}
3785
3786// GoString returns the string representation
3787func (s CreateDataSourceInput) GoString() string {
3788	return s.String()
3789}
3790
3791// Validate inspects the fields of the type to determine if they are valid.
3792func (s *CreateDataSourceInput) Validate() error {
3793	invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"}
3794	if s.ApiId == nil {
3795		invalidParams.Add(request.NewErrParamRequired("ApiId"))
3796	}
3797	if s.ApiId != nil && len(*s.ApiId) < 1 {
3798		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
3799	}
3800	if s.Name == nil {
3801		invalidParams.Add(request.NewErrParamRequired("Name"))
3802	}
3803	if s.Type == nil {
3804		invalidParams.Add(request.NewErrParamRequired("Type"))
3805	}
3806	if s.DynamodbConfig != nil {
3807		if err := s.DynamodbConfig.Validate(); err != nil {
3808			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
3809		}
3810	}
3811	if s.ElasticsearchConfig != nil {
3812		if err := s.ElasticsearchConfig.Validate(); err != nil {
3813			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
3814		}
3815	}
3816	if s.HttpConfig != nil {
3817		if err := s.HttpConfig.Validate(); err != nil {
3818			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
3819		}
3820	}
3821	if s.LambdaConfig != nil {
3822		if err := s.LambdaConfig.Validate(); err != nil {
3823			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
3824		}
3825	}
3826
3827	if invalidParams.Len() > 0 {
3828		return invalidParams
3829	}
3830	return nil
3831}
3832
3833// SetApiId sets the ApiId field's value.
3834func (s *CreateDataSourceInput) SetApiId(v string) *CreateDataSourceInput {
3835	s.ApiId = &v
3836	return s
3837}
3838
3839// SetDescription sets the Description field's value.
3840func (s *CreateDataSourceInput) SetDescription(v string) *CreateDataSourceInput {
3841	s.Description = &v
3842	return s
3843}
3844
3845// SetDynamodbConfig sets the DynamodbConfig field's value.
3846func (s *CreateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *CreateDataSourceInput {
3847	s.DynamodbConfig = v
3848	return s
3849}
3850
3851// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
3852func (s *CreateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *CreateDataSourceInput {
3853	s.ElasticsearchConfig = v
3854	return s
3855}
3856
3857// SetHttpConfig sets the HttpConfig field's value.
3858func (s *CreateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *CreateDataSourceInput {
3859	s.HttpConfig = v
3860	return s
3861}
3862
3863// SetLambdaConfig sets the LambdaConfig field's value.
3864func (s *CreateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *CreateDataSourceInput {
3865	s.LambdaConfig = v
3866	return s
3867}
3868
3869// SetName sets the Name field's value.
3870func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput {
3871	s.Name = &v
3872	return s
3873}
3874
3875// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
3876func (s *CreateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *CreateDataSourceInput {
3877	s.RelationalDatabaseConfig = v
3878	return s
3879}
3880
3881// SetServiceRoleArn sets the ServiceRoleArn field's value.
3882func (s *CreateDataSourceInput) SetServiceRoleArn(v string) *CreateDataSourceInput {
3883	s.ServiceRoleArn = &v
3884	return s
3885}
3886
3887// SetType sets the Type field's value.
3888func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput {
3889	s.Type = &v
3890	return s
3891}
3892
3893type CreateDataSourceOutput struct {
3894	_ struct{} `type:"structure"`
3895
3896	// The DataSource object.
3897	DataSource *DataSource `locationName:"dataSource" type:"structure"`
3898}
3899
3900// String returns the string representation
3901func (s CreateDataSourceOutput) String() string {
3902	return awsutil.Prettify(s)
3903}
3904
3905// GoString returns the string representation
3906func (s CreateDataSourceOutput) GoString() string {
3907	return s.String()
3908}
3909
3910// SetDataSource sets the DataSource field's value.
3911func (s *CreateDataSourceOutput) SetDataSource(v *DataSource) *CreateDataSourceOutput {
3912	s.DataSource = v
3913	return s
3914}
3915
3916type CreateFunctionInput struct {
3917	_ struct{} `type:"structure"`
3918
3919	// The GraphQL API ID.
3920	//
3921	// ApiId is a required field
3922	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
3923
3924	// The Function DataSource name.
3925	//
3926	// DataSourceName is a required field
3927	DataSourceName *string `locationName:"dataSourceName" type:"string" required:"true"`
3928
3929	// The Function description.
3930	Description *string `locationName:"description" type:"string"`
3931
3932	// The version of the request mapping template. Currently the supported value
3933	// is 2018-05-29.
3934	//
3935	// FunctionVersion is a required field
3936	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
3937
3938	// The Function name. The function name does not have to be unique.
3939	//
3940	// Name is a required field
3941	Name *string `locationName:"name" type:"string" required:"true"`
3942
3943	// The Function request mapping template. Functions support only the 2018-05-29
3944	// version of the request mapping template.
3945	//
3946	// RequestMappingTemplate is a required field
3947	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
3948
3949	// The Function response mapping template.
3950	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
3951}
3952
3953// String returns the string representation
3954func (s CreateFunctionInput) String() string {
3955	return awsutil.Prettify(s)
3956}
3957
3958// GoString returns the string representation
3959func (s CreateFunctionInput) GoString() string {
3960	return s.String()
3961}
3962
3963// Validate inspects the fields of the type to determine if they are valid.
3964func (s *CreateFunctionInput) Validate() error {
3965	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
3966	if s.ApiId == nil {
3967		invalidParams.Add(request.NewErrParamRequired("ApiId"))
3968	}
3969	if s.ApiId != nil && len(*s.ApiId) < 1 {
3970		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
3971	}
3972	if s.DataSourceName == nil {
3973		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
3974	}
3975	if s.FunctionVersion == nil {
3976		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
3977	}
3978	if s.Name == nil {
3979		invalidParams.Add(request.NewErrParamRequired("Name"))
3980	}
3981	if s.RequestMappingTemplate == nil {
3982		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
3983	}
3984	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
3985		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
3986	}
3987	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
3988		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
3989	}
3990
3991	if invalidParams.Len() > 0 {
3992		return invalidParams
3993	}
3994	return nil
3995}
3996
3997// SetApiId sets the ApiId field's value.
3998func (s *CreateFunctionInput) SetApiId(v string) *CreateFunctionInput {
3999	s.ApiId = &v
4000	return s
4001}
4002
4003// SetDataSourceName sets the DataSourceName field's value.
4004func (s *CreateFunctionInput) SetDataSourceName(v string) *CreateFunctionInput {
4005	s.DataSourceName = &v
4006	return s
4007}
4008
4009// SetDescription sets the Description field's value.
4010func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
4011	s.Description = &v
4012	return s
4013}
4014
4015// SetFunctionVersion sets the FunctionVersion field's value.
4016func (s *CreateFunctionInput) SetFunctionVersion(v string) *CreateFunctionInput {
4017	s.FunctionVersion = &v
4018	return s
4019}
4020
4021// SetName sets the Name field's value.
4022func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput {
4023	s.Name = &v
4024	return s
4025}
4026
4027// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
4028func (s *CreateFunctionInput) SetRequestMappingTemplate(v string) *CreateFunctionInput {
4029	s.RequestMappingTemplate = &v
4030	return s
4031}
4032
4033// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
4034func (s *CreateFunctionInput) SetResponseMappingTemplate(v string) *CreateFunctionInput {
4035	s.ResponseMappingTemplate = &v
4036	return s
4037}
4038
4039type CreateFunctionOutput struct {
4040	_ struct{} `type:"structure"`
4041
4042	// The Function object.
4043	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
4044}
4045
4046// String returns the string representation
4047func (s CreateFunctionOutput) String() string {
4048	return awsutil.Prettify(s)
4049}
4050
4051// GoString returns the string representation
4052func (s CreateFunctionOutput) GoString() string {
4053	return s.String()
4054}
4055
4056// SetFunctionConfiguration sets the FunctionConfiguration field's value.
4057func (s *CreateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *CreateFunctionOutput {
4058	s.FunctionConfiguration = v
4059	return s
4060}
4061
4062type CreateGraphqlApiInput struct {
4063	_ struct{} `type:"structure"`
4064
4065	// A list of additional authentication providers for the GraphqlApi API.
4066	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
4067
4068	// The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
4069	//
4070	// AuthenticationType is a required field
4071	AuthenticationType *string `locationName:"authenticationType" type:"string" required:"true" enum:"AuthenticationType"`
4072
4073	// The Amazon CloudWatch Logs configuration.
4074	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
4075
4076	// A user-supplied name for the GraphqlApi.
4077	//
4078	// Name is a required field
4079	Name *string `locationName:"name" type:"string" required:"true"`
4080
4081	// The OpenID Connect configuration.
4082	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
4083
4084	// A TagMap object.
4085	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4086
4087	// The Amazon Cognito user pool configuration.
4088	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
4089}
4090
4091// String returns the string representation
4092func (s CreateGraphqlApiInput) String() string {
4093	return awsutil.Prettify(s)
4094}
4095
4096// GoString returns the string representation
4097func (s CreateGraphqlApiInput) GoString() string {
4098	return s.String()
4099}
4100
4101// Validate inspects the fields of the type to determine if they are valid.
4102func (s *CreateGraphqlApiInput) Validate() error {
4103	invalidParams := request.ErrInvalidParams{Context: "CreateGraphqlApiInput"}
4104	if s.AuthenticationType == nil {
4105		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
4106	}
4107	if s.Name == nil {
4108		invalidParams.Add(request.NewErrParamRequired("Name"))
4109	}
4110	if s.Tags != nil && len(s.Tags) < 1 {
4111		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4112	}
4113	if s.AdditionalAuthenticationProviders != nil {
4114		for i, v := range s.AdditionalAuthenticationProviders {
4115			if v == nil {
4116				continue
4117			}
4118			if err := v.Validate(); err != nil {
4119				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
4120			}
4121		}
4122	}
4123	if s.LogConfig != nil {
4124		if err := s.LogConfig.Validate(); err != nil {
4125			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
4126		}
4127	}
4128	if s.OpenIDConnectConfig != nil {
4129		if err := s.OpenIDConnectConfig.Validate(); err != nil {
4130			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
4131		}
4132	}
4133	if s.UserPoolConfig != nil {
4134		if err := s.UserPoolConfig.Validate(); err != nil {
4135			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
4136		}
4137	}
4138
4139	if invalidParams.Len() > 0 {
4140		return invalidParams
4141	}
4142	return nil
4143}
4144
4145// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
4146func (s *CreateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *CreateGraphqlApiInput {
4147	s.AdditionalAuthenticationProviders = v
4148	return s
4149}
4150
4151// SetAuthenticationType sets the AuthenticationType field's value.
4152func (s *CreateGraphqlApiInput) SetAuthenticationType(v string) *CreateGraphqlApiInput {
4153	s.AuthenticationType = &v
4154	return s
4155}
4156
4157// SetLogConfig sets the LogConfig field's value.
4158func (s *CreateGraphqlApiInput) SetLogConfig(v *LogConfig) *CreateGraphqlApiInput {
4159	s.LogConfig = v
4160	return s
4161}
4162
4163// SetName sets the Name field's value.
4164func (s *CreateGraphqlApiInput) SetName(v string) *CreateGraphqlApiInput {
4165	s.Name = &v
4166	return s
4167}
4168
4169// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
4170func (s *CreateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *CreateGraphqlApiInput {
4171	s.OpenIDConnectConfig = v
4172	return s
4173}
4174
4175// SetTags sets the Tags field's value.
4176func (s *CreateGraphqlApiInput) SetTags(v map[string]*string) *CreateGraphqlApiInput {
4177	s.Tags = v
4178	return s
4179}
4180
4181// SetUserPoolConfig sets the UserPoolConfig field's value.
4182func (s *CreateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *CreateGraphqlApiInput {
4183	s.UserPoolConfig = v
4184	return s
4185}
4186
4187type CreateGraphqlApiOutput struct {
4188	_ struct{} `type:"structure"`
4189
4190	// The GraphqlApi.
4191	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
4192}
4193
4194// String returns the string representation
4195func (s CreateGraphqlApiOutput) String() string {
4196	return awsutil.Prettify(s)
4197}
4198
4199// GoString returns the string representation
4200func (s CreateGraphqlApiOutput) GoString() string {
4201	return s.String()
4202}
4203
4204// SetGraphqlApi sets the GraphqlApi field's value.
4205func (s *CreateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *CreateGraphqlApiOutput {
4206	s.GraphqlApi = v
4207	return s
4208}
4209
4210type CreateResolverInput struct {
4211	_ struct{} `type:"structure"`
4212
4213	// The ID for the GraphQL API for which the resolver is being created.
4214	//
4215	// ApiId is a required field
4216	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4217
4218	// The name of the data source for which the resolver is being created.
4219	DataSourceName *string `locationName:"dataSourceName" type:"string"`
4220
4221	// The name of the field to attach the resolver to.
4222	//
4223	// FieldName is a required field
4224	FieldName *string `locationName:"fieldName" type:"string" required:"true"`
4225
4226	// The resolver type.
4227	//
4228	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
4229	//    type. A UNIT resolver enables you to execute a GraphQL query against a
4230	//    single data source.
4231	//
4232	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
4233	//    to execute a series of Function in a serial manner. You can use a pipeline
4234	//    resolver to execute a GraphQL query against multiple data sources.
4235	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
4236
4237	// The PipelineConfig.
4238	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
4239
4240	// The mapping template to be used for requests.
4241	//
4242	// A resolver uses a request mapping template to convert a GraphQL expression
4243	// into a format that a data source can understand. Mapping templates are written
4244	// in Apache Velocity Template Language (VTL).
4245	//
4246	// RequestMappingTemplate is a required field
4247	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
4248
4249	// The mapping template to be used for responses from the data source.
4250	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
4251
4252	// The name of the Type.
4253	//
4254	// TypeName is a required field
4255	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
4256}
4257
4258// String returns the string representation
4259func (s CreateResolverInput) String() string {
4260	return awsutil.Prettify(s)
4261}
4262
4263// GoString returns the string representation
4264func (s CreateResolverInput) GoString() string {
4265	return s.String()
4266}
4267
4268// Validate inspects the fields of the type to determine if they are valid.
4269func (s *CreateResolverInput) Validate() error {
4270	invalidParams := request.ErrInvalidParams{Context: "CreateResolverInput"}
4271	if s.ApiId == nil {
4272		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4273	}
4274	if s.ApiId != nil && len(*s.ApiId) < 1 {
4275		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4276	}
4277	if s.FieldName == nil {
4278		invalidParams.Add(request.NewErrParamRequired("FieldName"))
4279	}
4280	if s.RequestMappingTemplate == nil {
4281		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
4282	}
4283	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
4284		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
4285	}
4286	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
4287		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
4288	}
4289	if s.TypeName == nil {
4290		invalidParams.Add(request.NewErrParamRequired("TypeName"))
4291	}
4292	if s.TypeName != nil && len(*s.TypeName) < 1 {
4293		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
4294	}
4295
4296	if invalidParams.Len() > 0 {
4297		return invalidParams
4298	}
4299	return nil
4300}
4301
4302// SetApiId sets the ApiId field's value.
4303func (s *CreateResolverInput) SetApiId(v string) *CreateResolverInput {
4304	s.ApiId = &v
4305	return s
4306}
4307
4308// SetDataSourceName sets the DataSourceName field's value.
4309func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput {
4310	s.DataSourceName = &v
4311	return s
4312}
4313
4314// SetFieldName sets the FieldName field's value.
4315func (s *CreateResolverInput) SetFieldName(v string) *CreateResolverInput {
4316	s.FieldName = &v
4317	return s
4318}
4319
4320// SetKind sets the Kind field's value.
4321func (s *CreateResolverInput) SetKind(v string) *CreateResolverInput {
4322	s.Kind = &v
4323	return s
4324}
4325
4326// SetPipelineConfig sets the PipelineConfig field's value.
4327func (s *CreateResolverInput) SetPipelineConfig(v *PipelineConfig) *CreateResolverInput {
4328	s.PipelineConfig = v
4329	return s
4330}
4331
4332// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
4333func (s *CreateResolverInput) SetRequestMappingTemplate(v string) *CreateResolverInput {
4334	s.RequestMappingTemplate = &v
4335	return s
4336}
4337
4338// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
4339func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolverInput {
4340	s.ResponseMappingTemplate = &v
4341	return s
4342}
4343
4344// SetTypeName sets the TypeName field's value.
4345func (s *CreateResolverInput) SetTypeName(v string) *CreateResolverInput {
4346	s.TypeName = &v
4347	return s
4348}
4349
4350type CreateResolverOutput struct {
4351	_ struct{} `type:"structure"`
4352
4353	// The Resolver object.
4354	Resolver *Resolver `locationName:"resolver" type:"structure"`
4355}
4356
4357// String returns the string representation
4358func (s CreateResolverOutput) String() string {
4359	return awsutil.Prettify(s)
4360}
4361
4362// GoString returns the string representation
4363func (s CreateResolverOutput) GoString() string {
4364	return s.String()
4365}
4366
4367// SetResolver sets the Resolver field's value.
4368func (s *CreateResolverOutput) SetResolver(v *Resolver) *CreateResolverOutput {
4369	s.Resolver = v
4370	return s
4371}
4372
4373type CreateTypeInput struct {
4374	_ struct{} `type:"structure"`
4375
4376	// The API ID.
4377	//
4378	// ApiId is a required field
4379	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4380
4381	// The type definition, in GraphQL Schema Definition Language (SDL) format.
4382	//
4383	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
4384	//
4385	// Definition is a required field
4386	Definition *string `locationName:"definition" type:"string" required:"true"`
4387
4388	// The type format: SDL or JSON.
4389	//
4390	// Format is a required field
4391	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
4392}
4393
4394// String returns the string representation
4395func (s CreateTypeInput) String() string {
4396	return awsutil.Prettify(s)
4397}
4398
4399// GoString returns the string representation
4400func (s CreateTypeInput) GoString() string {
4401	return s.String()
4402}
4403
4404// Validate inspects the fields of the type to determine if they are valid.
4405func (s *CreateTypeInput) Validate() error {
4406	invalidParams := request.ErrInvalidParams{Context: "CreateTypeInput"}
4407	if s.ApiId == nil {
4408		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4409	}
4410	if s.ApiId != nil && len(*s.ApiId) < 1 {
4411		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4412	}
4413	if s.Definition == nil {
4414		invalidParams.Add(request.NewErrParamRequired("Definition"))
4415	}
4416	if s.Format == nil {
4417		invalidParams.Add(request.NewErrParamRequired("Format"))
4418	}
4419
4420	if invalidParams.Len() > 0 {
4421		return invalidParams
4422	}
4423	return nil
4424}
4425
4426// SetApiId sets the ApiId field's value.
4427func (s *CreateTypeInput) SetApiId(v string) *CreateTypeInput {
4428	s.ApiId = &v
4429	return s
4430}
4431
4432// SetDefinition sets the Definition field's value.
4433func (s *CreateTypeInput) SetDefinition(v string) *CreateTypeInput {
4434	s.Definition = &v
4435	return s
4436}
4437
4438// SetFormat sets the Format field's value.
4439func (s *CreateTypeInput) SetFormat(v string) *CreateTypeInput {
4440	s.Format = &v
4441	return s
4442}
4443
4444type CreateTypeOutput struct {
4445	_ struct{} `type:"structure"`
4446
4447	// The Type object.
4448	Type *Type `locationName:"type" type:"structure"`
4449}
4450
4451// String returns the string representation
4452func (s CreateTypeOutput) String() string {
4453	return awsutil.Prettify(s)
4454}
4455
4456// GoString returns the string representation
4457func (s CreateTypeOutput) GoString() string {
4458	return s.String()
4459}
4460
4461// SetType sets the Type field's value.
4462func (s *CreateTypeOutput) SetType(v *Type) *CreateTypeOutput {
4463	s.Type = v
4464	return s
4465}
4466
4467// Describes a data source.
4468type DataSource struct {
4469	_ struct{} `type:"structure"`
4470
4471	// The data source ARN.
4472	DataSourceArn *string `locationName:"dataSourceArn" type:"string"`
4473
4474	// The description of the data source.
4475	Description *string `locationName:"description" type:"string"`
4476
4477	// Amazon DynamoDB settings.
4478	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
4479
4480	// Amazon Elasticsearch Service settings.
4481	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
4482
4483	// HTTP endpoint settings.
4484	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
4485
4486	// AWS Lambda settings.
4487	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
4488
4489	// The name of the data source.
4490	Name *string `locationName:"name" type:"string"`
4491
4492	// Relational database settings.
4493	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
4494
4495	// The AWS IAM service role ARN for the data source. The system assumes this
4496	// role when accessing the data source.
4497	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
4498
4499	// The type of the data source.
4500	//
4501	//    * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
4502	//
4503	//    * AMAZON_ELASTICSEARCH: The data source is an Amazon Elasticsearch Service
4504	//    domain.
4505	//
4506	//    * AWS_LAMBDA: The data source is an AWS Lambda function.
4507	//
4508	//    * NONE: There is no data source. This type is used when you wish to invoke
4509	//    a GraphQL operation without connecting to a data source, such as performing
4510	//    data transformation with resolvers or triggering a subscription to be
4511	//    invoked from a mutation.
4512	//
4513	//    * HTTP: The data source is an HTTP endpoint.
4514	//
4515	//    * RELATIONAL_DATABASE: The data source is a relational database.
4516	Type *string `locationName:"type" type:"string" enum:"DataSourceType"`
4517}
4518
4519// String returns the string representation
4520func (s DataSource) String() string {
4521	return awsutil.Prettify(s)
4522}
4523
4524// GoString returns the string representation
4525func (s DataSource) GoString() string {
4526	return s.String()
4527}
4528
4529// SetDataSourceArn sets the DataSourceArn field's value.
4530func (s *DataSource) SetDataSourceArn(v string) *DataSource {
4531	s.DataSourceArn = &v
4532	return s
4533}
4534
4535// SetDescription sets the Description field's value.
4536func (s *DataSource) SetDescription(v string) *DataSource {
4537	s.Description = &v
4538	return s
4539}
4540
4541// SetDynamodbConfig sets the DynamodbConfig field's value.
4542func (s *DataSource) SetDynamodbConfig(v *DynamodbDataSourceConfig) *DataSource {
4543	s.DynamodbConfig = v
4544	return s
4545}
4546
4547// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
4548func (s *DataSource) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *DataSource {
4549	s.ElasticsearchConfig = v
4550	return s
4551}
4552
4553// SetHttpConfig sets the HttpConfig field's value.
4554func (s *DataSource) SetHttpConfig(v *HttpDataSourceConfig) *DataSource {
4555	s.HttpConfig = v
4556	return s
4557}
4558
4559// SetLambdaConfig sets the LambdaConfig field's value.
4560func (s *DataSource) SetLambdaConfig(v *LambdaDataSourceConfig) *DataSource {
4561	s.LambdaConfig = v
4562	return s
4563}
4564
4565// SetName sets the Name field's value.
4566func (s *DataSource) SetName(v string) *DataSource {
4567	s.Name = &v
4568	return s
4569}
4570
4571// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
4572func (s *DataSource) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *DataSource {
4573	s.RelationalDatabaseConfig = v
4574	return s
4575}
4576
4577// SetServiceRoleArn sets the ServiceRoleArn field's value.
4578func (s *DataSource) SetServiceRoleArn(v string) *DataSource {
4579	s.ServiceRoleArn = &v
4580	return s
4581}
4582
4583// SetType sets the Type field's value.
4584func (s *DataSource) SetType(v string) *DataSource {
4585	s.Type = &v
4586	return s
4587}
4588
4589type DeleteApiKeyInput struct {
4590	_ struct{} `type:"structure"`
4591
4592	// The API ID.
4593	//
4594	// ApiId is a required field
4595	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4596
4597	// The ID for the API key.
4598	//
4599	// Id is a required field
4600	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
4601}
4602
4603// String returns the string representation
4604func (s DeleteApiKeyInput) String() string {
4605	return awsutil.Prettify(s)
4606}
4607
4608// GoString returns the string representation
4609func (s DeleteApiKeyInput) GoString() string {
4610	return s.String()
4611}
4612
4613// Validate inspects the fields of the type to determine if they are valid.
4614func (s *DeleteApiKeyInput) Validate() error {
4615	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
4616	if s.ApiId == nil {
4617		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4618	}
4619	if s.ApiId != nil && len(*s.ApiId) < 1 {
4620		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4621	}
4622	if s.Id == nil {
4623		invalidParams.Add(request.NewErrParamRequired("Id"))
4624	}
4625	if s.Id != nil && len(*s.Id) < 1 {
4626		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
4627	}
4628
4629	if invalidParams.Len() > 0 {
4630		return invalidParams
4631	}
4632	return nil
4633}
4634
4635// SetApiId sets the ApiId field's value.
4636func (s *DeleteApiKeyInput) SetApiId(v string) *DeleteApiKeyInput {
4637	s.ApiId = &v
4638	return s
4639}
4640
4641// SetId sets the Id field's value.
4642func (s *DeleteApiKeyInput) SetId(v string) *DeleteApiKeyInput {
4643	s.Id = &v
4644	return s
4645}
4646
4647type DeleteApiKeyOutput struct {
4648	_ struct{} `type:"structure"`
4649}
4650
4651// String returns the string representation
4652func (s DeleteApiKeyOutput) String() string {
4653	return awsutil.Prettify(s)
4654}
4655
4656// GoString returns the string representation
4657func (s DeleteApiKeyOutput) GoString() string {
4658	return s.String()
4659}
4660
4661type DeleteDataSourceInput struct {
4662	_ struct{} `type:"structure"`
4663
4664	// The API ID.
4665	//
4666	// ApiId is a required field
4667	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4668
4669	// The name of the data source.
4670	//
4671	// Name is a required field
4672	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
4673}
4674
4675// String returns the string representation
4676func (s DeleteDataSourceInput) String() string {
4677	return awsutil.Prettify(s)
4678}
4679
4680// GoString returns the string representation
4681func (s DeleteDataSourceInput) GoString() string {
4682	return s.String()
4683}
4684
4685// Validate inspects the fields of the type to determine if they are valid.
4686func (s *DeleteDataSourceInput) Validate() error {
4687	invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"}
4688	if s.ApiId == nil {
4689		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4690	}
4691	if s.ApiId != nil && len(*s.ApiId) < 1 {
4692		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4693	}
4694	if s.Name == nil {
4695		invalidParams.Add(request.NewErrParamRequired("Name"))
4696	}
4697	if s.Name != nil && len(*s.Name) < 1 {
4698		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4699	}
4700
4701	if invalidParams.Len() > 0 {
4702		return invalidParams
4703	}
4704	return nil
4705}
4706
4707// SetApiId sets the ApiId field's value.
4708func (s *DeleteDataSourceInput) SetApiId(v string) *DeleteDataSourceInput {
4709	s.ApiId = &v
4710	return s
4711}
4712
4713// SetName sets the Name field's value.
4714func (s *DeleteDataSourceInput) SetName(v string) *DeleteDataSourceInput {
4715	s.Name = &v
4716	return s
4717}
4718
4719type DeleteDataSourceOutput struct {
4720	_ struct{} `type:"structure"`
4721}
4722
4723// String returns the string representation
4724func (s DeleteDataSourceOutput) String() string {
4725	return awsutil.Prettify(s)
4726}
4727
4728// GoString returns the string representation
4729func (s DeleteDataSourceOutput) GoString() string {
4730	return s.String()
4731}
4732
4733type DeleteFunctionInput struct {
4734	_ struct{} `type:"structure"`
4735
4736	// The GraphQL API ID.
4737	//
4738	// ApiId is a required field
4739	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4740
4741	// The Function ID.
4742	//
4743	// FunctionId is a required field
4744	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
4745}
4746
4747// String returns the string representation
4748func (s DeleteFunctionInput) String() string {
4749	return awsutil.Prettify(s)
4750}
4751
4752// GoString returns the string representation
4753func (s DeleteFunctionInput) GoString() string {
4754	return s.String()
4755}
4756
4757// Validate inspects the fields of the type to determine if they are valid.
4758func (s *DeleteFunctionInput) Validate() error {
4759	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
4760	if s.ApiId == nil {
4761		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4762	}
4763	if s.ApiId != nil && len(*s.ApiId) < 1 {
4764		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4765	}
4766	if s.FunctionId == nil {
4767		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
4768	}
4769	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
4770		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
4771	}
4772
4773	if invalidParams.Len() > 0 {
4774		return invalidParams
4775	}
4776	return nil
4777}
4778
4779// SetApiId sets the ApiId field's value.
4780func (s *DeleteFunctionInput) SetApiId(v string) *DeleteFunctionInput {
4781	s.ApiId = &v
4782	return s
4783}
4784
4785// SetFunctionId sets the FunctionId field's value.
4786func (s *DeleteFunctionInput) SetFunctionId(v string) *DeleteFunctionInput {
4787	s.FunctionId = &v
4788	return s
4789}
4790
4791type DeleteFunctionOutput struct {
4792	_ struct{} `type:"structure"`
4793}
4794
4795// String returns the string representation
4796func (s DeleteFunctionOutput) String() string {
4797	return awsutil.Prettify(s)
4798}
4799
4800// GoString returns the string representation
4801func (s DeleteFunctionOutput) GoString() string {
4802	return s.String()
4803}
4804
4805type DeleteGraphqlApiInput struct {
4806	_ struct{} `type:"structure"`
4807
4808	// The API ID.
4809	//
4810	// ApiId is a required field
4811	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4812}
4813
4814// String returns the string representation
4815func (s DeleteGraphqlApiInput) String() string {
4816	return awsutil.Prettify(s)
4817}
4818
4819// GoString returns the string representation
4820func (s DeleteGraphqlApiInput) GoString() string {
4821	return s.String()
4822}
4823
4824// Validate inspects the fields of the type to determine if they are valid.
4825func (s *DeleteGraphqlApiInput) Validate() error {
4826	invalidParams := request.ErrInvalidParams{Context: "DeleteGraphqlApiInput"}
4827	if s.ApiId == nil {
4828		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4829	}
4830	if s.ApiId != nil && len(*s.ApiId) < 1 {
4831		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4832	}
4833
4834	if invalidParams.Len() > 0 {
4835		return invalidParams
4836	}
4837	return nil
4838}
4839
4840// SetApiId sets the ApiId field's value.
4841func (s *DeleteGraphqlApiInput) SetApiId(v string) *DeleteGraphqlApiInput {
4842	s.ApiId = &v
4843	return s
4844}
4845
4846type DeleteGraphqlApiOutput struct {
4847	_ struct{} `type:"structure"`
4848}
4849
4850// String returns the string representation
4851func (s DeleteGraphqlApiOutput) String() string {
4852	return awsutil.Prettify(s)
4853}
4854
4855// GoString returns the string representation
4856func (s DeleteGraphqlApiOutput) GoString() string {
4857	return s.String()
4858}
4859
4860type DeleteResolverInput struct {
4861	_ struct{} `type:"structure"`
4862
4863	// The API ID.
4864	//
4865	// ApiId is a required field
4866	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4867
4868	// The resolver field name.
4869	//
4870	// FieldName is a required field
4871	FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"`
4872
4873	// The name of the resolver type.
4874	//
4875	// TypeName is a required field
4876	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
4877}
4878
4879// String returns the string representation
4880func (s DeleteResolverInput) String() string {
4881	return awsutil.Prettify(s)
4882}
4883
4884// GoString returns the string representation
4885func (s DeleteResolverInput) GoString() string {
4886	return s.String()
4887}
4888
4889// Validate inspects the fields of the type to determine if they are valid.
4890func (s *DeleteResolverInput) Validate() error {
4891	invalidParams := request.ErrInvalidParams{Context: "DeleteResolverInput"}
4892	if s.ApiId == nil {
4893		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4894	}
4895	if s.ApiId != nil && len(*s.ApiId) < 1 {
4896		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4897	}
4898	if s.FieldName == nil {
4899		invalidParams.Add(request.NewErrParamRequired("FieldName"))
4900	}
4901	if s.FieldName != nil && len(*s.FieldName) < 1 {
4902		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
4903	}
4904	if s.TypeName == nil {
4905		invalidParams.Add(request.NewErrParamRequired("TypeName"))
4906	}
4907	if s.TypeName != nil && len(*s.TypeName) < 1 {
4908		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
4909	}
4910
4911	if invalidParams.Len() > 0 {
4912		return invalidParams
4913	}
4914	return nil
4915}
4916
4917// SetApiId sets the ApiId field's value.
4918func (s *DeleteResolverInput) SetApiId(v string) *DeleteResolverInput {
4919	s.ApiId = &v
4920	return s
4921}
4922
4923// SetFieldName sets the FieldName field's value.
4924func (s *DeleteResolverInput) SetFieldName(v string) *DeleteResolverInput {
4925	s.FieldName = &v
4926	return s
4927}
4928
4929// SetTypeName sets the TypeName field's value.
4930func (s *DeleteResolverInput) SetTypeName(v string) *DeleteResolverInput {
4931	s.TypeName = &v
4932	return s
4933}
4934
4935type DeleteResolverOutput struct {
4936	_ struct{} `type:"structure"`
4937}
4938
4939// String returns the string representation
4940func (s DeleteResolverOutput) String() string {
4941	return awsutil.Prettify(s)
4942}
4943
4944// GoString returns the string representation
4945func (s DeleteResolverOutput) GoString() string {
4946	return s.String()
4947}
4948
4949type DeleteTypeInput struct {
4950	_ struct{} `type:"structure"`
4951
4952	// The API ID.
4953	//
4954	// ApiId is a required field
4955	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
4956
4957	// The type name.
4958	//
4959	// TypeName is a required field
4960	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
4961}
4962
4963// String returns the string representation
4964func (s DeleteTypeInput) String() string {
4965	return awsutil.Prettify(s)
4966}
4967
4968// GoString returns the string representation
4969func (s DeleteTypeInput) GoString() string {
4970	return s.String()
4971}
4972
4973// Validate inspects the fields of the type to determine if they are valid.
4974func (s *DeleteTypeInput) Validate() error {
4975	invalidParams := request.ErrInvalidParams{Context: "DeleteTypeInput"}
4976	if s.ApiId == nil {
4977		invalidParams.Add(request.NewErrParamRequired("ApiId"))
4978	}
4979	if s.ApiId != nil && len(*s.ApiId) < 1 {
4980		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
4981	}
4982	if s.TypeName == nil {
4983		invalidParams.Add(request.NewErrParamRequired("TypeName"))
4984	}
4985	if s.TypeName != nil && len(*s.TypeName) < 1 {
4986		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
4987	}
4988
4989	if invalidParams.Len() > 0 {
4990		return invalidParams
4991	}
4992	return nil
4993}
4994
4995// SetApiId sets the ApiId field's value.
4996func (s *DeleteTypeInput) SetApiId(v string) *DeleteTypeInput {
4997	s.ApiId = &v
4998	return s
4999}
5000
5001// SetTypeName sets the TypeName field's value.
5002func (s *DeleteTypeInput) SetTypeName(v string) *DeleteTypeInput {
5003	s.TypeName = &v
5004	return s
5005}
5006
5007type DeleteTypeOutput struct {
5008	_ struct{} `type:"structure"`
5009}
5010
5011// String returns the string representation
5012func (s DeleteTypeOutput) String() string {
5013	return awsutil.Prettify(s)
5014}
5015
5016// GoString returns the string representation
5017func (s DeleteTypeOutput) GoString() string {
5018	return s.String()
5019}
5020
5021// Describes an Amazon DynamoDB data source configuration.
5022type DynamodbDataSourceConfig struct {
5023	_ struct{} `type:"structure"`
5024
5025	// The AWS Region.
5026	//
5027	// AwsRegion is a required field
5028	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
5029
5030	// The table name.
5031	//
5032	// TableName is a required field
5033	TableName *string `locationName:"tableName" type:"string" required:"true"`
5034
5035	// Set to TRUE to use Amazon Cognito credentials with this data source.
5036	UseCallerCredentials *bool `locationName:"useCallerCredentials" type:"boolean"`
5037}
5038
5039// String returns the string representation
5040func (s DynamodbDataSourceConfig) String() string {
5041	return awsutil.Prettify(s)
5042}
5043
5044// GoString returns the string representation
5045func (s DynamodbDataSourceConfig) GoString() string {
5046	return s.String()
5047}
5048
5049// Validate inspects the fields of the type to determine if they are valid.
5050func (s *DynamodbDataSourceConfig) Validate() error {
5051	invalidParams := request.ErrInvalidParams{Context: "DynamodbDataSourceConfig"}
5052	if s.AwsRegion == nil {
5053		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
5054	}
5055	if s.TableName == nil {
5056		invalidParams.Add(request.NewErrParamRequired("TableName"))
5057	}
5058
5059	if invalidParams.Len() > 0 {
5060		return invalidParams
5061	}
5062	return nil
5063}
5064
5065// SetAwsRegion sets the AwsRegion field's value.
5066func (s *DynamodbDataSourceConfig) SetAwsRegion(v string) *DynamodbDataSourceConfig {
5067	s.AwsRegion = &v
5068	return s
5069}
5070
5071// SetTableName sets the TableName field's value.
5072func (s *DynamodbDataSourceConfig) SetTableName(v string) *DynamodbDataSourceConfig {
5073	s.TableName = &v
5074	return s
5075}
5076
5077// SetUseCallerCredentials sets the UseCallerCredentials field's value.
5078func (s *DynamodbDataSourceConfig) SetUseCallerCredentials(v bool) *DynamodbDataSourceConfig {
5079	s.UseCallerCredentials = &v
5080	return s
5081}
5082
5083// Describes an Elasticsearch data source configuration.
5084type ElasticsearchDataSourceConfig struct {
5085	_ struct{} `type:"structure"`
5086
5087	// The AWS Region.
5088	//
5089	// AwsRegion is a required field
5090	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
5091
5092	// The endpoint.
5093	//
5094	// Endpoint is a required field
5095	Endpoint *string `locationName:"endpoint" type:"string" required:"true"`
5096}
5097
5098// String returns the string representation
5099func (s ElasticsearchDataSourceConfig) String() string {
5100	return awsutil.Prettify(s)
5101}
5102
5103// GoString returns the string representation
5104func (s ElasticsearchDataSourceConfig) GoString() string {
5105	return s.String()
5106}
5107
5108// Validate inspects the fields of the type to determine if they are valid.
5109func (s *ElasticsearchDataSourceConfig) Validate() error {
5110	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDataSourceConfig"}
5111	if s.AwsRegion == nil {
5112		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
5113	}
5114	if s.Endpoint == nil {
5115		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
5116	}
5117
5118	if invalidParams.Len() > 0 {
5119		return invalidParams
5120	}
5121	return nil
5122}
5123
5124// SetAwsRegion sets the AwsRegion field's value.
5125func (s *ElasticsearchDataSourceConfig) SetAwsRegion(v string) *ElasticsearchDataSourceConfig {
5126	s.AwsRegion = &v
5127	return s
5128}
5129
5130// SetEndpoint sets the Endpoint field's value.
5131func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig {
5132	s.Endpoint = &v
5133	return s
5134}
5135
5136// A function is a reusable entity. Multiple functions can be used to compose
5137// the resolver logic.
5138type FunctionConfiguration struct {
5139	_ struct{} `type:"structure"`
5140
5141	// The name of the DataSource.
5142	DataSourceName *string `locationName:"dataSourceName" type:"string"`
5143
5144	// The Function description.
5145	Description *string `locationName:"description" type:"string"`
5146
5147	// The ARN of the Function object.
5148	FunctionArn *string `locationName:"functionArn" type:"string"`
5149
5150	// A unique ID representing the Function object.
5151	FunctionId *string `locationName:"functionId" type:"string"`
5152
5153	// The version of the request mapping template. Currently only the 2018-05-29
5154	// version of the template is supported.
5155	FunctionVersion *string `locationName:"functionVersion" type:"string"`
5156
5157	// The name of the Function object.
5158	Name *string `locationName:"name" type:"string"`
5159
5160	// The Function request mapping template. Functions support only the 2018-05-29
5161	// version of the request mapping template.
5162	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
5163
5164	// The Function response mapping template.
5165	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
5166}
5167
5168// String returns the string representation
5169func (s FunctionConfiguration) String() string {
5170	return awsutil.Prettify(s)
5171}
5172
5173// GoString returns the string representation
5174func (s FunctionConfiguration) GoString() string {
5175	return s.String()
5176}
5177
5178// SetDataSourceName sets the DataSourceName field's value.
5179func (s *FunctionConfiguration) SetDataSourceName(v string) *FunctionConfiguration {
5180	s.DataSourceName = &v
5181	return s
5182}
5183
5184// SetDescription sets the Description field's value.
5185func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
5186	s.Description = &v
5187	return s
5188}
5189
5190// SetFunctionArn sets the FunctionArn field's value.
5191func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
5192	s.FunctionArn = &v
5193	return s
5194}
5195
5196// SetFunctionId sets the FunctionId field's value.
5197func (s *FunctionConfiguration) SetFunctionId(v string) *FunctionConfiguration {
5198	s.FunctionId = &v
5199	return s
5200}
5201
5202// SetFunctionVersion sets the FunctionVersion field's value.
5203func (s *FunctionConfiguration) SetFunctionVersion(v string) *FunctionConfiguration {
5204	s.FunctionVersion = &v
5205	return s
5206}
5207
5208// SetName sets the Name field's value.
5209func (s *FunctionConfiguration) SetName(v string) *FunctionConfiguration {
5210	s.Name = &v
5211	return s
5212}
5213
5214// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
5215func (s *FunctionConfiguration) SetRequestMappingTemplate(v string) *FunctionConfiguration {
5216	s.RequestMappingTemplate = &v
5217	return s
5218}
5219
5220// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
5221func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionConfiguration {
5222	s.ResponseMappingTemplate = &v
5223	return s
5224}
5225
5226type GetDataSourceInput struct {
5227	_ struct{} `type:"structure"`
5228
5229	// The API ID.
5230	//
5231	// ApiId is a required field
5232	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5233
5234	// The name of the data source.
5235	//
5236	// Name is a required field
5237	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
5238}
5239
5240// String returns the string representation
5241func (s GetDataSourceInput) String() string {
5242	return awsutil.Prettify(s)
5243}
5244
5245// GoString returns the string representation
5246func (s GetDataSourceInput) GoString() string {
5247	return s.String()
5248}
5249
5250// Validate inspects the fields of the type to determine if they are valid.
5251func (s *GetDataSourceInput) Validate() error {
5252	invalidParams := request.ErrInvalidParams{Context: "GetDataSourceInput"}
5253	if s.ApiId == nil {
5254		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5255	}
5256	if s.ApiId != nil && len(*s.ApiId) < 1 {
5257		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5258	}
5259	if s.Name == nil {
5260		invalidParams.Add(request.NewErrParamRequired("Name"))
5261	}
5262	if s.Name != nil && len(*s.Name) < 1 {
5263		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5264	}
5265
5266	if invalidParams.Len() > 0 {
5267		return invalidParams
5268	}
5269	return nil
5270}
5271
5272// SetApiId sets the ApiId field's value.
5273func (s *GetDataSourceInput) SetApiId(v string) *GetDataSourceInput {
5274	s.ApiId = &v
5275	return s
5276}
5277
5278// SetName sets the Name field's value.
5279func (s *GetDataSourceInput) SetName(v string) *GetDataSourceInput {
5280	s.Name = &v
5281	return s
5282}
5283
5284type GetDataSourceOutput struct {
5285	_ struct{} `type:"structure"`
5286
5287	// The DataSource object.
5288	DataSource *DataSource `locationName:"dataSource" type:"structure"`
5289}
5290
5291// String returns the string representation
5292func (s GetDataSourceOutput) String() string {
5293	return awsutil.Prettify(s)
5294}
5295
5296// GoString returns the string representation
5297func (s GetDataSourceOutput) GoString() string {
5298	return s.String()
5299}
5300
5301// SetDataSource sets the DataSource field's value.
5302func (s *GetDataSourceOutput) SetDataSource(v *DataSource) *GetDataSourceOutput {
5303	s.DataSource = v
5304	return s
5305}
5306
5307type GetFunctionInput struct {
5308	_ struct{} `type:"structure"`
5309
5310	// The GraphQL API ID.
5311	//
5312	// ApiId is a required field
5313	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5314
5315	// The Function ID.
5316	//
5317	// FunctionId is a required field
5318	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
5319}
5320
5321// String returns the string representation
5322func (s GetFunctionInput) String() string {
5323	return awsutil.Prettify(s)
5324}
5325
5326// GoString returns the string representation
5327func (s GetFunctionInput) GoString() string {
5328	return s.String()
5329}
5330
5331// Validate inspects the fields of the type to determine if they are valid.
5332func (s *GetFunctionInput) Validate() error {
5333	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
5334	if s.ApiId == nil {
5335		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5336	}
5337	if s.ApiId != nil && len(*s.ApiId) < 1 {
5338		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5339	}
5340	if s.FunctionId == nil {
5341		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
5342	}
5343	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
5344		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
5345	}
5346
5347	if invalidParams.Len() > 0 {
5348		return invalidParams
5349	}
5350	return nil
5351}
5352
5353// SetApiId sets the ApiId field's value.
5354func (s *GetFunctionInput) SetApiId(v string) *GetFunctionInput {
5355	s.ApiId = &v
5356	return s
5357}
5358
5359// SetFunctionId sets the FunctionId field's value.
5360func (s *GetFunctionInput) SetFunctionId(v string) *GetFunctionInput {
5361	s.FunctionId = &v
5362	return s
5363}
5364
5365type GetFunctionOutput struct {
5366	_ struct{} `type:"structure"`
5367
5368	// The Function object.
5369	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
5370}
5371
5372// String returns the string representation
5373func (s GetFunctionOutput) String() string {
5374	return awsutil.Prettify(s)
5375}
5376
5377// GoString returns the string representation
5378func (s GetFunctionOutput) GoString() string {
5379	return s.String()
5380}
5381
5382// SetFunctionConfiguration sets the FunctionConfiguration field's value.
5383func (s *GetFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
5384	s.FunctionConfiguration = v
5385	return s
5386}
5387
5388type GetGraphqlApiInput struct {
5389	_ struct{} `type:"structure"`
5390
5391	// The API ID for the GraphQL API.
5392	//
5393	// ApiId is a required field
5394	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5395}
5396
5397// String returns the string representation
5398func (s GetGraphqlApiInput) String() string {
5399	return awsutil.Prettify(s)
5400}
5401
5402// GoString returns the string representation
5403func (s GetGraphqlApiInput) GoString() string {
5404	return s.String()
5405}
5406
5407// Validate inspects the fields of the type to determine if they are valid.
5408func (s *GetGraphqlApiInput) Validate() error {
5409	invalidParams := request.ErrInvalidParams{Context: "GetGraphqlApiInput"}
5410	if s.ApiId == nil {
5411		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5412	}
5413	if s.ApiId != nil && len(*s.ApiId) < 1 {
5414		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5415	}
5416
5417	if invalidParams.Len() > 0 {
5418		return invalidParams
5419	}
5420	return nil
5421}
5422
5423// SetApiId sets the ApiId field's value.
5424func (s *GetGraphqlApiInput) SetApiId(v string) *GetGraphqlApiInput {
5425	s.ApiId = &v
5426	return s
5427}
5428
5429type GetGraphqlApiOutput struct {
5430	_ struct{} `type:"structure"`
5431
5432	// The GraphqlApi object.
5433	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
5434}
5435
5436// String returns the string representation
5437func (s GetGraphqlApiOutput) String() string {
5438	return awsutil.Prettify(s)
5439}
5440
5441// GoString returns the string representation
5442func (s GetGraphqlApiOutput) GoString() string {
5443	return s.String()
5444}
5445
5446// SetGraphqlApi sets the GraphqlApi field's value.
5447func (s *GetGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *GetGraphqlApiOutput {
5448	s.GraphqlApi = v
5449	return s
5450}
5451
5452type GetIntrospectionSchemaInput struct {
5453	_ struct{} `type:"structure"`
5454
5455	// The API ID.
5456	//
5457	// ApiId is a required field
5458	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5459
5460	// The schema format: SDL or JSON.
5461	//
5462	// Format is a required field
5463	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"OutputType"`
5464
5465	// A flag that specifies whether the schema introspection should contain directives.
5466	IncludeDirectives *bool `location:"querystring" locationName:"includeDirectives" type:"boolean"`
5467}
5468
5469// String returns the string representation
5470func (s GetIntrospectionSchemaInput) String() string {
5471	return awsutil.Prettify(s)
5472}
5473
5474// GoString returns the string representation
5475func (s GetIntrospectionSchemaInput) GoString() string {
5476	return s.String()
5477}
5478
5479// Validate inspects the fields of the type to determine if they are valid.
5480func (s *GetIntrospectionSchemaInput) Validate() error {
5481	invalidParams := request.ErrInvalidParams{Context: "GetIntrospectionSchemaInput"}
5482	if s.ApiId == nil {
5483		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5484	}
5485	if s.ApiId != nil && len(*s.ApiId) < 1 {
5486		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5487	}
5488	if s.Format == nil {
5489		invalidParams.Add(request.NewErrParamRequired("Format"))
5490	}
5491
5492	if invalidParams.Len() > 0 {
5493		return invalidParams
5494	}
5495	return nil
5496}
5497
5498// SetApiId sets the ApiId field's value.
5499func (s *GetIntrospectionSchemaInput) SetApiId(v string) *GetIntrospectionSchemaInput {
5500	s.ApiId = &v
5501	return s
5502}
5503
5504// SetFormat sets the Format field's value.
5505func (s *GetIntrospectionSchemaInput) SetFormat(v string) *GetIntrospectionSchemaInput {
5506	s.Format = &v
5507	return s
5508}
5509
5510// SetIncludeDirectives sets the IncludeDirectives field's value.
5511func (s *GetIntrospectionSchemaInput) SetIncludeDirectives(v bool) *GetIntrospectionSchemaInput {
5512	s.IncludeDirectives = &v
5513	return s
5514}
5515
5516type GetIntrospectionSchemaOutput struct {
5517	_ struct{} `type:"structure" payload:"Schema"`
5518
5519	// The schema, in GraphQL Schema Definition Language (SDL) format.
5520	//
5521	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
5522	Schema []byte `locationName:"schema" type:"blob"`
5523}
5524
5525// String returns the string representation
5526func (s GetIntrospectionSchemaOutput) String() string {
5527	return awsutil.Prettify(s)
5528}
5529
5530// GoString returns the string representation
5531func (s GetIntrospectionSchemaOutput) GoString() string {
5532	return s.String()
5533}
5534
5535// SetSchema sets the Schema field's value.
5536func (s *GetIntrospectionSchemaOutput) SetSchema(v []byte) *GetIntrospectionSchemaOutput {
5537	s.Schema = v
5538	return s
5539}
5540
5541type GetResolverInput struct {
5542	_ struct{} `type:"structure"`
5543
5544	// The API ID.
5545	//
5546	// ApiId is a required field
5547	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5548
5549	// The resolver field name.
5550	//
5551	// FieldName is a required field
5552	FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"`
5553
5554	// The resolver type name.
5555	//
5556	// TypeName is a required field
5557	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
5558}
5559
5560// String returns the string representation
5561func (s GetResolverInput) String() string {
5562	return awsutil.Prettify(s)
5563}
5564
5565// GoString returns the string representation
5566func (s GetResolverInput) GoString() string {
5567	return s.String()
5568}
5569
5570// Validate inspects the fields of the type to determine if they are valid.
5571func (s *GetResolverInput) Validate() error {
5572	invalidParams := request.ErrInvalidParams{Context: "GetResolverInput"}
5573	if s.ApiId == nil {
5574		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5575	}
5576	if s.ApiId != nil && len(*s.ApiId) < 1 {
5577		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5578	}
5579	if s.FieldName == nil {
5580		invalidParams.Add(request.NewErrParamRequired("FieldName"))
5581	}
5582	if s.FieldName != nil && len(*s.FieldName) < 1 {
5583		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
5584	}
5585	if s.TypeName == nil {
5586		invalidParams.Add(request.NewErrParamRequired("TypeName"))
5587	}
5588	if s.TypeName != nil && len(*s.TypeName) < 1 {
5589		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
5590	}
5591
5592	if invalidParams.Len() > 0 {
5593		return invalidParams
5594	}
5595	return nil
5596}
5597
5598// SetApiId sets the ApiId field's value.
5599func (s *GetResolverInput) SetApiId(v string) *GetResolverInput {
5600	s.ApiId = &v
5601	return s
5602}
5603
5604// SetFieldName sets the FieldName field's value.
5605func (s *GetResolverInput) SetFieldName(v string) *GetResolverInput {
5606	s.FieldName = &v
5607	return s
5608}
5609
5610// SetTypeName sets the TypeName field's value.
5611func (s *GetResolverInput) SetTypeName(v string) *GetResolverInput {
5612	s.TypeName = &v
5613	return s
5614}
5615
5616type GetResolverOutput struct {
5617	_ struct{} `type:"structure"`
5618
5619	// The Resolver object.
5620	Resolver *Resolver `locationName:"resolver" type:"structure"`
5621}
5622
5623// String returns the string representation
5624func (s GetResolverOutput) String() string {
5625	return awsutil.Prettify(s)
5626}
5627
5628// GoString returns the string representation
5629func (s GetResolverOutput) GoString() string {
5630	return s.String()
5631}
5632
5633// SetResolver sets the Resolver field's value.
5634func (s *GetResolverOutput) SetResolver(v *Resolver) *GetResolverOutput {
5635	s.Resolver = v
5636	return s
5637}
5638
5639type GetSchemaCreationStatusInput struct {
5640	_ struct{} `type:"structure"`
5641
5642	// The API ID.
5643	//
5644	// ApiId is a required field
5645	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5646}
5647
5648// String returns the string representation
5649func (s GetSchemaCreationStatusInput) String() string {
5650	return awsutil.Prettify(s)
5651}
5652
5653// GoString returns the string representation
5654func (s GetSchemaCreationStatusInput) GoString() string {
5655	return s.String()
5656}
5657
5658// Validate inspects the fields of the type to determine if they are valid.
5659func (s *GetSchemaCreationStatusInput) Validate() error {
5660	invalidParams := request.ErrInvalidParams{Context: "GetSchemaCreationStatusInput"}
5661	if s.ApiId == nil {
5662		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5663	}
5664	if s.ApiId != nil && len(*s.ApiId) < 1 {
5665		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5666	}
5667
5668	if invalidParams.Len() > 0 {
5669		return invalidParams
5670	}
5671	return nil
5672}
5673
5674// SetApiId sets the ApiId field's value.
5675func (s *GetSchemaCreationStatusInput) SetApiId(v string) *GetSchemaCreationStatusInput {
5676	s.ApiId = &v
5677	return s
5678}
5679
5680type GetSchemaCreationStatusOutput struct {
5681	_ struct{} `type:"structure"`
5682
5683	// Detailed information about the status of the schema creation operation.
5684	Details *string `locationName:"details" type:"string"`
5685
5686	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
5687	// When the schema is in the ACTIVE state, you can add data.
5688	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
5689}
5690
5691// String returns the string representation
5692func (s GetSchemaCreationStatusOutput) String() string {
5693	return awsutil.Prettify(s)
5694}
5695
5696// GoString returns the string representation
5697func (s GetSchemaCreationStatusOutput) GoString() string {
5698	return s.String()
5699}
5700
5701// SetDetails sets the Details field's value.
5702func (s *GetSchemaCreationStatusOutput) SetDetails(v string) *GetSchemaCreationStatusOutput {
5703	s.Details = &v
5704	return s
5705}
5706
5707// SetStatus sets the Status field's value.
5708func (s *GetSchemaCreationStatusOutput) SetStatus(v string) *GetSchemaCreationStatusOutput {
5709	s.Status = &v
5710	return s
5711}
5712
5713type GetTypeInput struct {
5714	_ struct{} `type:"structure"`
5715
5716	// The API ID.
5717	//
5718	// ApiId is a required field
5719	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
5720
5721	// The type format: SDL or JSON.
5722	//
5723	// Format is a required field
5724	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
5725
5726	// The type name.
5727	//
5728	// TypeName is a required field
5729	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
5730}
5731
5732// String returns the string representation
5733func (s GetTypeInput) String() string {
5734	return awsutil.Prettify(s)
5735}
5736
5737// GoString returns the string representation
5738func (s GetTypeInput) GoString() string {
5739	return s.String()
5740}
5741
5742// Validate inspects the fields of the type to determine if they are valid.
5743func (s *GetTypeInput) Validate() error {
5744	invalidParams := request.ErrInvalidParams{Context: "GetTypeInput"}
5745	if s.ApiId == nil {
5746		invalidParams.Add(request.NewErrParamRequired("ApiId"))
5747	}
5748	if s.ApiId != nil && len(*s.ApiId) < 1 {
5749		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
5750	}
5751	if s.Format == nil {
5752		invalidParams.Add(request.NewErrParamRequired("Format"))
5753	}
5754	if s.TypeName == nil {
5755		invalidParams.Add(request.NewErrParamRequired("TypeName"))
5756	}
5757	if s.TypeName != nil && len(*s.TypeName) < 1 {
5758		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
5759	}
5760
5761	if invalidParams.Len() > 0 {
5762		return invalidParams
5763	}
5764	return nil
5765}
5766
5767// SetApiId sets the ApiId field's value.
5768func (s *GetTypeInput) SetApiId(v string) *GetTypeInput {
5769	s.ApiId = &v
5770	return s
5771}
5772
5773// SetFormat sets the Format field's value.
5774func (s *GetTypeInput) SetFormat(v string) *GetTypeInput {
5775	s.Format = &v
5776	return s
5777}
5778
5779// SetTypeName sets the TypeName field's value.
5780func (s *GetTypeInput) SetTypeName(v string) *GetTypeInput {
5781	s.TypeName = &v
5782	return s
5783}
5784
5785type GetTypeOutput struct {
5786	_ struct{} `type:"structure"`
5787
5788	// The Type object.
5789	Type *Type `locationName:"type" type:"structure"`
5790}
5791
5792// String returns the string representation
5793func (s GetTypeOutput) String() string {
5794	return awsutil.Prettify(s)
5795}
5796
5797// GoString returns the string representation
5798func (s GetTypeOutput) GoString() string {
5799	return s.String()
5800}
5801
5802// SetType sets the Type field's value.
5803func (s *GetTypeOutput) SetType(v *Type) *GetTypeOutput {
5804	s.Type = v
5805	return s
5806}
5807
5808// Describes a GraphQL API.
5809type GraphqlApi struct {
5810	_ struct{} `type:"structure"`
5811
5812	// A list of additional authentication providers for the GraphqlApi API.
5813	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
5814
5815	// The API ID.
5816	ApiId *string `locationName:"apiId" type:"string"`
5817
5818	// The ARN.
5819	Arn *string `locationName:"arn" type:"string"`
5820
5821	// The authentication type.
5822	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
5823
5824	// The Amazon CloudWatch Logs configuration.
5825	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
5826
5827	// The API name.
5828	Name *string `locationName:"name" type:"string"`
5829
5830	// The OpenID Connect configuration.
5831	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
5832
5833	// The tags.
5834	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5835
5836	// The URIs.
5837	Uris map[string]*string `locationName:"uris" type:"map"`
5838
5839	// The Amazon Cognito user pool configuration.
5840	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
5841}
5842
5843// String returns the string representation
5844func (s GraphqlApi) String() string {
5845	return awsutil.Prettify(s)
5846}
5847
5848// GoString returns the string representation
5849func (s GraphqlApi) GoString() string {
5850	return s.String()
5851}
5852
5853// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
5854func (s *GraphqlApi) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *GraphqlApi {
5855	s.AdditionalAuthenticationProviders = v
5856	return s
5857}
5858
5859// SetApiId sets the ApiId field's value.
5860func (s *GraphqlApi) SetApiId(v string) *GraphqlApi {
5861	s.ApiId = &v
5862	return s
5863}
5864
5865// SetArn sets the Arn field's value.
5866func (s *GraphqlApi) SetArn(v string) *GraphqlApi {
5867	s.Arn = &v
5868	return s
5869}
5870
5871// SetAuthenticationType sets the AuthenticationType field's value.
5872func (s *GraphqlApi) SetAuthenticationType(v string) *GraphqlApi {
5873	s.AuthenticationType = &v
5874	return s
5875}
5876
5877// SetLogConfig sets the LogConfig field's value.
5878func (s *GraphqlApi) SetLogConfig(v *LogConfig) *GraphqlApi {
5879	s.LogConfig = v
5880	return s
5881}
5882
5883// SetName sets the Name field's value.
5884func (s *GraphqlApi) SetName(v string) *GraphqlApi {
5885	s.Name = &v
5886	return s
5887}
5888
5889// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
5890func (s *GraphqlApi) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *GraphqlApi {
5891	s.OpenIDConnectConfig = v
5892	return s
5893}
5894
5895// SetTags sets the Tags field's value.
5896func (s *GraphqlApi) SetTags(v map[string]*string) *GraphqlApi {
5897	s.Tags = v
5898	return s
5899}
5900
5901// SetUris sets the Uris field's value.
5902func (s *GraphqlApi) SetUris(v map[string]*string) *GraphqlApi {
5903	s.Uris = v
5904	return s
5905}
5906
5907// SetUserPoolConfig sets the UserPoolConfig field's value.
5908func (s *GraphqlApi) SetUserPoolConfig(v *UserPoolConfig) *GraphqlApi {
5909	s.UserPoolConfig = v
5910	return s
5911}
5912
5913// Describes an HTTP data source configuration.
5914type HttpDataSourceConfig struct {
5915	_ struct{} `type:"structure"`
5916
5917	// The authorization config in case the HTTP endpoint requires authorization.
5918	AuthorizationConfig *AuthorizationConfig `locationName:"authorizationConfig" type:"structure"`
5919
5920	// The HTTP URL endpoint. You can either specify the domain name or IP, and
5921	// port combination, and the URL scheme must be HTTP or HTTPS. If the port is
5922	// not specified, AWS AppSync uses the default port 80 for the HTTP endpoint
5923	// and port 443 for HTTPS endpoints.
5924	Endpoint *string `locationName:"endpoint" type:"string"`
5925}
5926
5927// String returns the string representation
5928func (s HttpDataSourceConfig) String() string {
5929	return awsutil.Prettify(s)
5930}
5931
5932// GoString returns the string representation
5933func (s HttpDataSourceConfig) GoString() string {
5934	return s.String()
5935}
5936
5937// Validate inspects the fields of the type to determine if they are valid.
5938func (s *HttpDataSourceConfig) Validate() error {
5939	invalidParams := request.ErrInvalidParams{Context: "HttpDataSourceConfig"}
5940	if s.AuthorizationConfig != nil {
5941		if err := s.AuthorizationConfig.Validate(); err != nil {
5942			invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams))
5943		}
5944	}
5945
5946	if invalidParams.Len() > 0 {
5947		return invalidParams
5948	}
5949	return nil
5950}
5951
5952// SetAuthorizationConfig sets the AuthorizationConfig field's value.
5953func (s *HttpDataSourceConfig) SetAuthorizationConfig(v *AuthorizationConfig) *HttpDataSourceConfig {
5954	s.AuthorizationConfig = v
5955	return s
5956}
5957
5958// SetEndpoint sets the Endpoint field's value.
5959func (s *HttpDataSourceConfig) SetEndpoint(v string) *HttpDataSourceConfig {
5960	s.Endpoint = &v
5961	return s
5962}
5963
5964// Describes an AWS Lambda data source configuration.
5965type LambdaDataSourceConfig struct {
5966	_ struct{} `type:"structure"`
5967
5968	// The ARN for the Lambda function.
5969	//
5970	// LambdaFunctionArn is a required field
5971	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string" required:"true"`
5972}
5973
5974// String returns the string representation
5975func (s LambdaDataSourceConfig) String() string {
5976	return awsutil.Prettify(s)
5977}
5978
5979// GoString returns the string representation
5980func (s LambdaDataSourceConfig) GoString() string {
5981	return s.String()
5982}
5983
5984// Validate inspects the fields of the type to determine if they are valid.
5985func (s *LambdaDataSourceConfig) Validate() error {
5986	invalidParams := request.ErrInvalidParams{Context: "LambdaDataSourceConfig"}
5987	if s.LambdaFunctionArn == nil {
5988		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
5989	}
5990
5991	if invalidParams.Len() > 0 {
5992		return invalidParams
5993	}
5994	return nil
5995}
5996
5997// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
5998func (s *LambdaDataSourceConfig) SetLambdaFunctionArn(v string) *LambdaDataSourceConfig {
5999	s.LambdaFunctionArn = &v
6000	return s
6001}
6002
6003type ListApiKeysInput struct {
6004	_ struct{} `type:"structure"`
6005
6006	// The API ID.
6007	//
6008	// ApiId is a required field
6009	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6010
6011	// The maximum number of results you want the request to return.
6012	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6013
6014	// An identifier that was returned from the previous call to this operation,
6015	// which can be used to return the next set of items in the list.
6016	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6017}
6018
6019// String returns the string representation
6020func (s ListApiKeysInput) String() string {
6021	return awsutil.Prettify(s)
6022}
6023
6024// GoString returns the string representation
6025func (s ListApiKeysInput) GoString() string {
6026	return s.String()
6027}
6028
6029// Validate inspects the fields of the type to determine if they are valid.
6030func (s *ListApiKeysInput) Validate() error {
6031	invalidParams := request.ErrInvalidParams{Context: "ListApiKeysInput"}
6032	if s.ApiId == nil {
6033		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6034	}
6035	if s.ApiId != nil && len(*s.ApiId) < 1 {
6036		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6037	}
6038
6039	if invalidParams.Len() > 0 {
6040		return invalidParams
6041	}
6042	return nil
6043}
6044
6045// SetApiId sets the ApiId field's value.
6046func (s *ListApiKeysInput) SetApiId(v string) *ListApiKeysInput {
6047	s.ApiId = &v
6048	return s
6049}
6050
6051// SetMaxResults sets the MaxResults field's value.
6052func (s *ListApiKeysInput) SetMaxResults(v int64) *ListApiKeysInput {
6053	s.MaxResults = &v
6054	return s
6055}
6056
6057// SetNextToken sets the NextToken field's value.
6058func (s *ListApiKeysInput) SetNextToken(v string) *ListApiKeysInput {
6059	s.NextToken = &v
6060	return s
6061}
6062
6063type ListApiKeysOutput struct {
6064	_ struct{} `type:"structure"`
6065
6066	// The ApiKey objects.
6067	ApiKeys []*ApiKey `locationName:"apiKeys" type:"list"`
6068
6069	// An identifier to be passed in the next request to this operation to return
6070	// the next set of items in the list.
6071	NextToken *string `locationName:"nextToken" type:"string"`
6072}
6073
6074// String returns the string representation
6075func (s ListApiKeysOutput) String() string {
6076	return awsutil.Prettify(s)
6077}
6078
6079// GoString returns the string representation
6080func (s ListApiKeysOutput) GoString() string {
6081	return s.String()
6082}
6083
6084// SetApiKeys sets the ApiKeys field's value.
6085func (s *ListApiKeysOutput) SetApiKeys(v []*ApiKey) *ListApiKeysOutput {
6086	s.ApiKeys = v
6087	return s
6088}
6089
6090// SetNextToken sets the NextToken field's value.
6091func (s *ListApiKeysOutput) SetNextToken(v string) *ListApiKeysOutput {
6092	s.NextToken = &v
6093	return s
6094}
6095
6096type ListDataSourcesInput struct {
6097	_ struct{} `type:"structure"`
6098
6099	// The API ID.
6100	//
6101	// ApiId is a required field
6102	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6103
6104	// The maximum number of results you want the request to return.
6105	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6106
6107	// An identifier that was returned from the previous call to this operation,
6108	// which can be used to return the next set of items in the list.
6109	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6110}
6111
6112// String returns the string representation
6113func (s ListDataSourcesInput) String() string {
6114	return awsutil.Prettify(s)
6115}
6116
6117// GoString returns the string representation
6118func (s ListDataSourcesInput) GoString() string {
6119	return s.String()
6120}
6121
6122// Validate inspects the fields of the type to determine if they are valid.
6123func (s *ListDataSourcesInput) Validate() error {
6124	invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"}
6125	if s.ApiId == nil {
6126		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6127	}
6128	if s.ApiId != nil && len(*s.ApiId) < 1 {
6129		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6130	}
6131
6132	if invalidParams.Len() > 0 {
6133		return invalidParams
6134	}
6135	return nil
6136}
6137
6138// SetApiId sets the ApiId field's value.
6139func (s *ListDataSourcesInput) SetApiId(v string) *ListDataSourcesInput {
6140	s.ApiId = &v
6141	return s
6142}
6143
6144// SetMaxResults sets the MaxResults field's value.
6145func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput {
6146	s.MaxResults = &v
6147	return s
6148}
6149
6150// SetNextToken sets the NextToken field's value.
6151func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput {
6152	s.NextToken = &v
6153	return s
6154}
6155
6156type ListDataSourcesOutput struct {
6157	_ struct{} `type:"structure"`
6158
6159	// The DataSource objects.
6160	DataSources []*DataSource `locationName:"dataSources" type:"list"`
6161
6162	// An identifier to be passed in the next request to this operation to return
6163	// the next set of items in the list.
6164	NextToken *string `locationName:"nextToken" type:"string"`
6165}
6166
6167// String returns the string representation
6168func (s ListDataSourcesOutput) String() string {
6169	return awsutil.Prettify(s)
6170}
6171
6172// GoString returns the string representation
6173func (s ListDataSourcesOutput) GoString() string {
6174	return s.String()
6175}
6176
6177// SetDataSources sets the DataSources field's value.
6178func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput {
6179	s.DataSources = v
6180	return s
6181}
6182
6183// SetNextToken sets the NextToken field's value.
6184func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput {
6185	s.NextToken = &v
6186	return s
6187}
6188
6189type ListFunctionsInput struct {
6190	_ struct{} `type:"structure"`
6191
6192	// The GraphQL API ID.
6193	//
6194	// ApiId is a required field
6195	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6196
6197	// The maximum number of results you want the request to return.
6198	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6199
6200	// An identifier that was returned from the previous call to this operation,
6201	// which can be used to return the next set of items in the list.
6202	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6203}
6204
6205// String returns the string representation
6206func (s ListFunctionsInput) String() string {
6207	return awsutil.Prettify(s)
6208}
6209
6210// GoString returns the string representation
6211func (s ListFunctionsInput) GoString() string {
6212	return s.String()
6213}
6214
6215// Validate inspects the fields of the type to determine if they are valid.
6216func (s *ListFunctionsInput) Validate() error {
6217	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
6218	if s.ApiId == nil {
6219		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6220	}
6221	if s.ApiId != nil && len(*s.ApiId) < 1 {
6222		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6223	}
6224
6225	if invalidParams.Len() > 0 {
6226		return invalidParams
6227	}
6228	return nil
6229}
6230
6231// SetApiId sets the ApiId field's value.
6232func (s *ListFunctionsInput) SetApiId(v string) *ListFunctionsInput {
6233	s.ApiId = &v
6234	return s
6235}
6236
6237// SetMaxResults sets the MaxResults field's value.
6238func (s *ListFunctionsInput) SetMaxResults(v int64) *ListFunctionsInput {
6239	s.MaxResults = &v
6240	return s
6241}
6242
6243// SetNextToken sets the NextToken field's value.
6244func (s *ListFunctionsInput) SetNextToken(v string) *ListFunctionsInput {
6245	s.NextToken = &v
6246	return s
6247}
6248
6249type ListFunctionsOutput struct {
6250	_ struct{} `type:"structure"`
6251
6252	// A list of Function objects.
6253	Functions []*FunctionConfiguration `locationName:"functions" type:"list"`
6254
6255	// An identifier that was returned from the previous call to this operation,
6256	// which can be used to return the next set of items in the list.
6257	NextToken *string `locationName:"nextToken" type:"string"`
6258}
6259
6260// String returns the string representation
6261func (s ListFunctionsOutput) String() string {
6262	return awsutil.Prettify(s)
6263}
6264
6265// GoString returns the string representation
6266func (s ListFunctionsOutput) GoString() string {
6267	return s.String()
6268}
6269
6270// SetFunctions sets the Functions field's value.
6271func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
6272	s.Functions = v
6273	return s
6274}
6275
6276// SetNextToken sets the NextToken field's value.
6277func (s *ListFunctionsOutput) SetNextToken(v string) *ListFunctionsOutput {
6278	s.NextToken = &v
6279	return s
6280}
6281
6282type ListGraphqlApisInput struct {
6283	_ struct{} `type:"structure"`
6284
6285	// The maximum number of results you want the request to return.
6286	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6287
6288	// An identifier that was returned from the previous call to this operation,
6289	// which can be used to return the next set of items in the list.
6290	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6291}
6292
6293// String returns the string representation
6294func (s ListGraphqlApisInput) String() string {
6295	return awsutil.Prettify(s)
6296}
6297
6298// GoString returns the string representation
6299func (s ListGraphqlApisInput) GoString() string {
6300	return s.String()
6301}
6302
6303// SetMaxResults sets the MaxResults field's value.
6304func (s *ListGraphqlApisInput) SetMaxResults(v int64) *ListGraphqlApisInput {
6305	s.MaxResults = &v
6306	return s
6307}
6308
6309// SetNextToken sets the NextToken field's value.
6310func (s *ListGraphqlApisInput) SetNextToken(v string) *ListGraphqlApisInput {
6311	s.NextToken = &v
6312	return s
6313}
6314
6315type ListGraphqlApisOutput struct {
6316	_ struct{} `type:"structure"`
6317
6318	// The GraphqlApi objects.
6319	GraphqlApis []*GraphqlApi `locationName:"graphqlApis" type:"list"`
6320
6321	// An identifier to be passed in the next request to this operation to return
6322	// the next set of items in the list.
6323	NextToken *string `locationName:"nextToken" type:"string"`
6324}
6325
6326// String returns the string representation
6327func (s ListGraphqlApisOutput) String() string {
6328	return awsutil.Prettify(s)
6329}
6330
6331// GoString returns the string representation
6332func (s ListGraphqlApisOutput) GoString() string {
6333	return s.String()
6334}
6335
6336// SetGraphqlApis sets the GraphqlApis field's value.
6337func (s *ListGraphqlApisOutput) SetGraphqlApis(v []*GraphqlApi) *ListGraphqlApisOutput {
6338	s.GraphqlApis = v
6339	return s
6340}
6341
6342// SetNextToken sets the NextToken field's value.
6343func (s *ListGraphqlApisOutput) SetNextToken(v string) *ListGraphqlApisOutput {
6344	s.NextToken = &v
6345	return s
6346}
6347
6348type ListResolversByFunctionInput struct {
6349	_ struct{} `type:"structure"`
6350
6351	// The API ID.
6352	//
6353	// ApiId is a required field
6354	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6355
6356	// The Function ID.
6357	//
6358	// FunctionId is a required field
6359	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
6360
6361	// The maximum number of results you want the request to return.
6362	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6363
6364	// An identifier that was returned from the previous call to this operation,
6365	// which you can use to return the next set of items in the list.
6366	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6367}
6368
6369// String returns the string representation
6370func (s ListResolversByFunctionInput) String() string {
6371	return awsutil.Prettify(s)
6372}
6373
6374// GoString returns the string representation
6375func (s ListResolversByFunctionInput) GoString() string {
6376	return s.String()
6377}
6378
6379// Validate inspects the fields of the type to determine if they are valid.
6380func (s *ListResolversByFunctionInput) Validate() error {
6381	invalidParams := request.ErrInvalidParams{Context: "ListResolversByFunctionInput"}
6382	if s.ApiId == nil {
6383		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6384	}
6385	if s.ApiId != nil && len(*s.ApiId) < 1 {
6386		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6387	}
6388	if s.FunctionId == nil {
6389		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
6390	}
6391	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
6392		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
6393	}
6394
6395	if invalidParams.Len() > 0 {
6396		return invalidParams
6397	}
6398	return nil
6399}
6400
6401// SetApiId sets the ApiId field's value.
6402func (s *ListResolversByFunctionInput) SetApiId(v string) *ListResolversByFunctionInput {
6403	s.ApiId = &v
6404	return s
6405}
6406
6407// SetFunctionId sets the FunctionId field's value.
6408func (s *ListResolversByFunctionInput) SetFunctionId(v string) *ListResolversByFunctionInput {
6409	s.FunctionId = &v
6410	return s
6411}
6412
6413// SetMaxResults sets the MaxResults field's value.
6414func (s *ListResolversByFunctionInput) SetMaxResults(v int64) *ListResolversByFunctionInput {
6415	s.MaxResults = &v
6416	return s
6417}
6418
6419// SetNextToken sets the NextToken field's value.
6420func (s *ListResolversByFunctionInput) SetNextToken(v string) *ListResolversByFunctionInput {
6421	s.NextToken = &v
6422	return s
6423}
6424
6425type ListResolversByFunctionOutput struct {
6426	_ struct{} `type:"structure"`
6427
6428	// An identifier that can be used to return the next set of items in the list.
6429	NextToken *string `locationName:"nextToken" type:"string"`
6430
6431	// The list of resolvers.
6432	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
6433}
6434
6435// String returns the string representation
6436func (s ListResolversByFunctionOutput) String() string {
6437	return awsutil.Prettify(s)
6438}
6439
6440// GoString returns the string representation
6441func (s ListResolversByFunctionOutput) GoString() string {
6442	return s.String()
6443}
6444
6445// SetNextToken sets the NextToken field's value.
6446func (s *ListResolversByFunctionOutput) SetNextToken(v string) *ListResolversByFunctionOutput {
6447	s.NextToken = &v
6448	return s
6449}
6450
6451// SetResolvers sets the Resolvers field's value.
6452func (s *ListResolversByFunctionOutput) SetResolvers(v []*Resolver) *ListResolversByFunctionOutput {
6453	s.Resolvers = v
6454	return s
6455}
6456
6457type ListResolversInput struct {
6458	_ struct{} `type:"structure"`
6459
6460	// The API ID.
6461	//
6462	// ApiId is a required field
6463	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6464
6465	// The maximum number of results you want the request to return.
6466	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6467
6468	// An identifier that was returned from the previous call to this operation,
6469	// which can be used to return the next set of items in the list.
6470	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6471
6472	// The type name.
6473	//
6474	// TypeName is a required field
6475	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
6476}
6477
6478// String returns the string representation
6479func (s ListResolversInput) String() string {
6480	return awsutil.Prettify(s)
6481}
6482
6483// GoString returns the string representation
6484func (s ListResolversInput) GoString() string {
6485	return s.String()
6486}
6487
6488// Validate inspects the fields of the type to determine if they are valid.
6489func (s *ListResolversInput) Validate() error {
6490	invalidParams := request.ErrInvalidParams{Context: "ListResolversInput"}
6491	if s.ApiId == nil {
6492		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6493	}
6494	if s.ApiId != nil && len(*s.ApiId) < 1 {
6495		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6496	}
6497	if s.TypeName == nil {
6498		invalidParams.Add(request.NewErrParamRequired("TypeName"))
6499	}
6500	if s.TypeName != nil && len(*s.TypeName) < 1 {
6501		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
6502	}
6503
6504	if invalidParams.Len() > 0 {
6505		return invalidParams
6506	}
6507	return nil
6508}
6509
6510// SetApiId sets the ApiId field's value.
6511func (s *ListResolversInput) SetApiId(v string) *ListResolversInput {
6512	s.ApiId = &v
6513	return s
6514}
6515
6516// SetMaxResults sets the MaxResults field's value.
6517func (s *ListResolversInput) SetMaxResults(v int64) *ListResolversInput {
6518	s.MaxResults = &v
6519	return s
6520}
6521
6522// SetNextToken sets the NextToken field's value.
6523func (s *ListResolversInput) SetNextToken(v string) *ListResolversInput {
6524	s.NextToken = &v
6525	return s
6526}
6527
6528// SetTypeName sets the TypeName field's value.
6529func (s *ListResolversInput) SetTypeName(v string) *ListResolversInput {
6530	s.TypeName = &v
6531	return s
6532}
6533
6534type ListResolversOutput struct {
6535	_ struct{} `type:"structure"`
6536
6537	// An identifier to be passed in the next request to this operation to return
6538	// the next set of items in the list.
6539	NextToken *string `locationName:"nextToken" type:"string"`
6540
6541	// The Resolver objects.
6542	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
6543}
6544
6545// String returns the string representation
6546func (s ListResolversOutput) String() string {
6547	return awsutil.Prettify(s)
6548}
6549
6550// GoString returns the string representation
6551func (s ListResolversOutput) GoString() string {
6552	return s.String()
6553}
6554
6555// SetNextToken sets the NextToken field's value.
6556func (s *ListResolversOutput) SetNextToken(v string) *ListResolversOutput {
6557	s.NextToken = &v
6558	return s
6559}
6560
6561// SetResolvers sets the Resolvers field's value.
6562func (s *ListResolversOutput) SetResolvers(v []*Resolver) *ListResolversOutput {
6563	s.Resolvers = v
6564	return s
6565}
6566
6567type ListTagsForResourceInput struct {
6568	_ struct{} `type:"structure"`
6569
6570	// The GraphqlApi ARN.
6571	//
6572	// ResourceArn is a required field
6573	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
6574}
6575
6576// String returns the string representation
6577func (s ListTagsForResourceInput) String() string {
6578	return awsutil.Prettify(s)
6579}
6580
6581// GoString returns the string representation
6582func (s ListTagsForResourceInput) GoString() string {
6583	return s.String()
6584}
6585
6586// Validate inspects the fields of the type to determine if they are valid.
6587func (s *ListTagsForResourceInput) Validate() error {
6588	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6589	if s.ResourceArn == nil {
6590		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6591	}
6592	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
6593		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
6594	}
6595
6596	if invalidParams.Len() > 0 {
6597		return invalidParams
6598	}
6599	return nil
6600}
6601
6602// SetResourceArn sets the ResourceArn field's value.
6603func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6604	s.ResourceArn = &v
6605	return s
6606}
6607
6608type ListTagsForResourceOutput struct {
6609	_ struct{} `type:"structure"`
6610
6611	// A TagMap object.
6612	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6613}
6614
6615// String returns the string representation
6616func (s ListTagsForResourceOutput) String() string {
6617	return awsutil.Prettify(s)
6618}
6619
6620// GoString returns the string representation
6621func (s ListTagsForResourceOutput) GoString() string {
6622	return s.String()
6623}
6624
6625// SetTags sets the Tags field's value.
6626func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6627	s.Tags = v
6628	return s
6629}
6630
6631type ListTypesInput struct {
6632	_ struct{} `type:"structure"`
6633
6634	// The API ID.
6635	//
6636	// ApiId is a required field
6637	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
6638
6639	// The type format: SDL or JSON.
6640	//
6641	// Format is a required field
6642	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
6643
6644	// The maximum number of results you want the request to return.
6645	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6646
6647	// An identifier that was returned from the previous call to this operation,
6648	// which can be used to return the next set of items in the list.
6649	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6650}
6651
6652// String returns the string representation
6653func (s ListTypesInput) String() string {
6654	return awsutil.Prettify(s)
6655}
6656
6657// GoString returns the string representation
6658func (s ListTypesInput) GoString() string {
6659	return s.String()
6660}
6661
6662// Validate inspects the fields of the type to determine if they are valid.
6663func (s *ListTypesInput) Validate() error {
6664	invalidParams := request.ErrInvalidParams{Context: "ListTypesInput"}
6665	if s.ApiId == nil {
6666		invalidParams.Add(request.NewErrParamRequired("ApiId"))
6667	}
6668	if s.ApiId != nil && len(*s.ApiId) < 1 {
6669		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
6670	}
6671	if s.Format == nil {
6672		invalidParams.Add(request.NewErrParamRequired("Format"))
6673	}
6674
6675	if invalidParams.Len() > 0 {
6676		return invalidParams
6677	}
6678	return nil
6679}
6680
6681// SetApiId sets the ApiId field's value.
6682func (s *ListTypesInput) SetApiId(v string) *ListTypesInput {
6683	s.ApiId = &v
6684	return s
6685}
6686
6687// SetFormat sets the Format field's value.
6688func (s *ListTypesInput) SetFormat(v string) *ListTypesInput {
6689	s.Format = &v
6690	return s
6691}
6692
6693// SetMaxResults sets the MaxResults field's value.
6694func (s *ListTypesInput) SetMaxResults(v int64) *ListTypesInput {
6695	s.MaxResults = &v
6696	return s
6697}
6698
6699// SetNextToken sets the NextToken field's value.
6700func (s *ListTypesInput) SetNextToken(v string) *ListTypesInput {
6701	s.NextToken = &v
6702	return s
6703}
6704
6705type ListTypesOutput struct {
6706	_ struct{} `type:"structure"`
6707
6708	// An identifier to be passed in the next request to this operation to return
6709	// the next set of items in the list.
6710	NextToken *string `locationName:"nextToken" type:"string"`
6711
6712	// The Type objects.
6713	Types []*Type `locationName:"types" type:"list"`
6714}
6715
6716// String returns the string representation
6717func (s ListTypesOutput) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation
6722func (s ListTypesOutput) GoString() string {
6723	return s.String()
6724}
6725
6726// SetNextToken sets the NextToken field's value.
6727func (s *ListTypesOutput) SetNextToken(v string) *ListTypesOutput {
6728	s.NextToken = &v
6729	return s
6730}
6731
6732// SetTypes sets the Types field's value.
6733func (s *ListTypesOutput) SetTypes(v []*Type) *ListTypesOutput {
6734	s.Types = v
6735	return s
6736}
6737
6738// The CloudWatch Logs configuration.
6739type LogConfig struct {
6740	_ struct{} `type:"structure"`
6741
6742	// The service role that AWS AppSync will assume to publish to Amazon CloudWatch
6743	// logs in your account.
6744	//
6745	// CloudWatchLogsRoleArn is a required field
6746	CloudWatchLogsRoleArn *string `locationName:"cloudWatchLogsRoleArn" type:"string" required:"true"`
6747
6748	// Set to TRUE to exclude sections that contain information such as headers,
6749	// context, and evaluated mapping templates, regardless of logging level.
6750	ExcludeVerboseContent *bool `locationName:"excludeVerboseContent" type:"boolean"`
6751
6752	// The field logging level. Values can be NONE, ERROR, or ALL.
6753	//
6754	//    * NONE: No field-level logs are captured.
6755	//
6756	//    * ERROR: Logs the following information only for the fields that are in
6757	//    error: The error section in the server response. Field-level errors. The
6758	//    generated request/response functions that got resolved for error fields.
6759	//
6760	//    * ALL: The following information is logged for all fields in the query:
6761	//    Field-level tracing information. The generated request/response functions
6762	//    that got resolved for each field.
6763	//
6764	// FieldLogLevel is a required field
6765	FieldLogLevel *string `locationName:"fieldLogLevel" type:"string" required:"true" enum:"FieldLogLevel"`
6766}
6767
6768// String returns the string representation
6769func (s LogConfig) String() string {
6770	return awsutil.Prettify(s)
6771}
6772
6773// GoString returns the string representation
6774func (s LogConfig) GoString() string {
6775	return s.String()
6776}
6777
6778// Validate inspects the fields of the type to determine if they are valid.
6779func (s *LogConfig) Validate() error {
6780	invalidParams := request.ErrInvalidParams{Context: "LogConfig"}
6781	if s.CloudWatchLogsRoleArn == nil {
6782		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsRoleArn"))
6783	}
6784	if s.FieldLogLevel == nil {
6785		invalidParams.Add(request.NewErrParamRequired("FieldLogLevel"))
6786	}
6787
6788	if invalidParams.Len() > 0 {
6789		return invalidParams
6790	}
6791	return nil
6792}
6793
6794// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
6795func (s *LogConfig) SetCloudWatchLogsRoleArn(v string) *LogConfig {
6796	s.CloudWatchLogsRoleArn = &v
6797	return s
6798}
6799
6800// SetExcludeVerboseContent sets the ExcludeVerboseContent field's value.
6801func (s *LogConfig) SetExcludeVerboseContent(v bool) *LogConfig {
6802	s.ExcludeVerboseContent = &v
6803	return s
6804}
6805
6806// SetFieldLogLevel sets the FieldLogLevel field's value.
6807func (s *LogConfig) SetFieldLogLevel(v string) *LogConfig {
6808	s.FieldLogLevel = &v
6809	return s
6810}
6811
6812// Describes an OpenID Connect configuration.
6813type OpenIDConnectConfig struct {
6814	_ struct{} `type:"structure"`
6815
6816	// The number of milliseconds a token is valid after being authenticated.
6817	AuthTTL *int64 `locationName:"authTTL" type:"long"`
6818
6819	// The client identifier of the Relying party at the OpenID identity provider.
6820	// This identifier is typically obtained when the Relying party is registered
6821	// with the OpenID identity provider. You can specify a regular expression so
6822	// the AWS AppSync can validate against multiple client identifiers at a time.
6823	ClientId *string `locationName:"clientId" type:"string"`
6824
6825	// The number of milliseconds a token is valid after being issued to a user.
6826	IatTTL *int64 `locationName:"iatTTL" type:"long"`
6827
6828	// The issuer for the OpenID Connect configuration. The issuer returned by discovery
6829	// must exactly match the value of iss in the ID token.
6830	//
6831	// Issuer is a required field
6832	Issuer *string `locationName:"issuer" type:"string" required:"true"`
6833}
6834
6835// String returns the string representation
6836func (s OpenIDConnectConfig) String() string {
6837	return awsutil.Prettify(s)
6838}
6839
6840// GoString returns the string representation
6841func (s OpenIDConnectConfig) GoString() string {
6842	return s.String()
6843}
6844
6845// Validate inspects the fields of the type to determine if they are valid.
6846func (s *OpenIDConnectConfig) Validate() error {
6847	invalidParams := request.ErrInvalidParams{Context: "OpenIDConnectConfig"}
6848	if s.Issuer == nil {
6849		invalidParams.Add(request.NewErrParamRequired("Issuer"))
6850	}
6851
6852	if invalidParams.Len() > 0 {
6853		return invalidParams
6854	}
6855	return nil
6856}
6857
6858// SetAuthTTL sets the AuthTTL field's value.
6859func (s *OpenIDConnectConfig) SetAuthTTL(v int64) *OpenIDConnectConfig {
6860	s.AuthTTL = &v
6861	return s
6862}
6863
6864// SetClientId sets the ClientId field's value.
6865func (s *OpenIDConnectConfig) SetClientId(v string) *OpenIDConnectConfig {
6866	s.ClientId = &v
6867	return s
6868}
6869
6870// SetIatTTL sets the IatTTL field's value.
6871func (s *OpenIDConnectConfig) SetIatTTL(v int64) *OpenIDConnectConfig {
6872	s.IatTTL = &v
6873	return s
6874}
6875
6876// SetIssuer sets the Issuer field's value.
6877func (s *OpenIDConnectConfig) SetIssuer(v string) *OpenIDConnectConfig {
6878	s.Issuer = &v
6879	return s
6880}
6881
6882// The pipeline configuration for a resolver of kind PIPELINE.
6883type PipelineConfig struct {
6884	_ struct{} `type:"structure"`
6885
6886	// A list of Function objects.
6887	Functions []*string `locationName:"functions" type:"list"`
6888}
6889
6890// String returns the string representation
6891func (s PipelineConfig) String() string {
6892	return awsutil.Prettify(s)
6893}
6894
6895// GoString returns the string representation
6896func (s PipelineConfig) GoString() string {
6897	return s.String()
6898}
6899
6900// SetFunctions sets the Functions field's value.
6901func (s *PipelineConfig) SetFunctions(v []*string) *PipelineConfig {
6902	s.Functions = v
6903	return s
6904}
6905
6906// The Amazon RDS HTTP endpoint configuration.
6907type RdsHttpEndpointConfig struct {
6908	_ struct{} `type:"structure"`
6909
6910	// AWS Region for RDS HTTP endpoint.
6911	AwsRegion *string `locationName:"awsRegion" type:"string"`
6912
6913	// AWS secret store ARN for database credentials.
6914	AwsSecretStoreArn *string `locationName:"awsSecretStoreArn" type:"string"`
6915
6916	// Logical database name.
6917	DatabaseName *string `locationName:"databaseName" type:"string"`
6918
6919	// Amazon RDS cluster identifier.
6920	DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"`
6921
6922	// Logical schema name.
6923	Schema *string `locationName:"schema" type:"string"`
6924}
6925
6926// String returns the string representation
6927func (s RdsHttpEndpointConfig) String() string {
6928	return awsutil.Prettify(s)
6929}
6930
6931// GoString returns the string representation
6932func (s RdsHttpEndpointConfig) GoString() string {
6933	return s.String()
6934}
6935
6936// SetAwsRegion sets the AwsRegion field's value.
6937func (s *RdsHttpEndpointConfig) SetAwsRegion(v string) *RdsHttpEndpointConfig {
6938	s.AwsRegion = &v
6939	return s
6940}
6941
6942// SetAwsSecretStoreArn sets the AwsSecretStoreArn field's value.
6943func (s *RdsHttpEndpointConfig) SetAwsSecretStoreArn(v string) *RdsHttpEndpointConfig {
6944	s.AwsSecretStoreArn = &v
6945	return s
6946}
6947
6948// SetDatabaseName sets the DatabaseName field's value.
6949func (s *RdsHttpEndpointConfig) SetDatabaseName(v string) *RdsHttpEndpointConfig {
6950	s.DatabaseName = &v
6951	return s
6952}
6953
6954// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
6955func (s *RdsHttpEndpointConfig) SetDbClusterIdentifier(v string) *RdsHttpEndpointConfig {
6956	s.DbClusterIdentifier = &v
6957	return s
6958}
6959
6960// SetSchema sets the Schema field's value.
6961func (s *RdsHttpEndpointConfig) SetSchema(v string) *RdsHttpEndpointConfig {
6962	s.Schema = &v
6963	return s
6964}
6965
6966// Describes a relational database data source configuration.
6967type RelationalDatabaseDataSourceConfig struct {
6968	_ struct{} `type:"structure"`
6969
6970	// Amazon RDS HTTP endpoint settings.
6971	RdsHttpEndpointConfig *RdsHttpEndpointConfig `locationName:"rdsHttpEndpointConfig" type:"structure"`
6972
6973	// Source type for the relational database.
6974	//
6975	//    * RDS_HTTP_ENDPOINT: The relational database source type is an Amazon
6976	//    RDS HTTP endpoint.
6977	RelationalDatabaseSourceType *string `locationName:"relationalDatabaseSourceType" type:"string" enum:"RelationalDatabaseSourceType"`
6978}
6979
6980// String returns the string representation
6981func (s RelationalDatabaseDataSourceConfig) String() string {
6982	return awsutil.Prettify(s)
6983}
6984
6985// GoString returns the string representation
6986func (s RelationalDatabaseDataSourceConfig) GoString() string {
6987	return s.String()
6988}
6989
6990// SetRdsHttpEndpointConfig sets the RdsHttpEndpointConfig field's value.
6991func (s *RelationalDatabaseDataSourceConfig) SetRdsHttpEndpointConfig(v *RdsHttpEndpointConfig) *RelationalDatabaseDataSourceConfig {
6992	s.RdsHttpEndpointConfig = v
6993	return s
6994}
6995
6996// SetRelationalDatabaseSourceType sets the RelationalDatabaseSourceType field's value.
6997func (s *RelationalDatabaseDataSourceConfig) SetRelationalDatabaseSourceType(v string) *RelationalDatabaseDataSourceConfig {
6998	s.RelationalDatabaseSourceType = &v
6999	return s
7000}
7001
7002// Describes a resolver.
7003type Resolver struct {
7004	_ struct{} `type:"structure"`
7005
7006	// The resolver data source name.
7007	DataSourceName *string `locationName:"dataSourceName" type:"string"`
7008
7009	// The resolver field name.
7010	FieldName *string `locationName:"fieldName" type:"string"`
7011
7012	// The resolver type.
7013	//
7014	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
7015	//    type. A UNIT resolver enables you to execute a GraphQL query against a
7016	//    single data source.
7017	//
7018	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
7019	//    to execute a series of Function in a serial manner. You can use a pipeline
7020	//    resolver to execute a GraphQL query against multiple data sources.
7021	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
7022
7023	// The PipelineConfig.
7024	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
7025
7026	// The request mapping template.
7027	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
7028
7029	// The resolver ARN.
7030	ResolverArn *string `locationName:"resolverArn" type:"string"`
7031
7032	// The response mapping template.
7033	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
7034
7035	// The resolver type name.
7036	TypeName *string `locationName:"typeName" type:"string"`
7037}
7038
7039// String returns the string representation
7040func (s Resolver) String() string {
7041	return awsutil.Prettify(s)
7042}
7043
7044// GoString returns the string representation
7045func (s Resolver) GoString() string {
7046	return s.String()
7047}
7048
7049// SetDataSourceName sets the DataSourceName field's value.
7050func (s *Resolver) SetDataSourceName(v string) *Resolver {
7051	s.DataSourceName = &v
7052	return s
7053}
7054
7055// SetFieldName sets the FieldName field's value.
7056func (s *Resolver) SetFieldName(v string) *Resolver {
7057	s.FieldName = &v
7058	return s
7059}
7060
7061// SetKind sets the Kind field's value.
7062func (s *Resolver) SetKind(v string) *Resolver {
7063	s.Kind = &v
7064	return s
7065}
7066
7067// SetPipelineConfig sets the PipelineConfig field's value.
7068func (s *Resolver) SetPipelineConfig(v *PipelineConfig) *Resolver {
7069	s.PipelineConfig = v
7070	return s
7071}
7072
7073// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
7074func (s *Resolver) SetRequestMappingTemplate(v string) *Resolver {
7075	s.RequestMappingTemplate = &v
7076	return s
7077}
7078
7079// SetResolverArn sets the ResolverArn field's value.
7080func (s *Resolver) SetResolverArn(v string) *Resolver {
7081	s.ResolverArn = &v
7082	return s
7083}
7084
7085// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
7086func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver {
7087	s.ResponseMappingTemplate = &v
7088	return s
7089}
7090
7091// SetTypeName sets the TypeName field's value.
7092func (s *Resolver) SetTypeName(v string) *Resolver {
7093	s.TypeName = &v
7094	return s
7095}
7096
7097type StartSchemaCreationInput struct {
7098	_ struct{} `type:"structure"`
7099
7100	// The API ID.
7101	//
7102	// ApiId is a required field
7103	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7104
7105	// The schema definition, in GraphQL schema language format.
7106	//
7107	// Definition is automatically base64 encoded/decoded by the SDK.
7108	//
7109	// Definition is a required field
7110	Definition []byte `locationName:"definition" type:"blob" required:"true"`
7111}
7112
7113// String returns the string representation
7114func (s StartSchemaCreationInput) String() string {
7115	return awsutil.Prettify(s)
7116}
7117
7118// GoString returns the string representation
7119func (s StartSchemaCreationInput) GoString() string {
7120	return s.String()
7121}
7122
7123// Validate inspects the fields of the type to determine if they are valid.
7124func (s *StartSchemaCreationInput) Validate() error {
7125	invalidParams := request.ErrInvalidParams{Context: "StartSchemaCreationInput"}
7126	if s.ApiId == nil {
7127		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7128	}
7129	if s.ApiId != nil && len(*s.ApiId) < 1 {
7130		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7131	}
7132	if s.Definition == nil {
7133		invalidParams.Add(request.NewErrParamRequired("Definition"))
7134	}
7135
7136	if invalidParams.Len() > 0 {
7137		return invalidParams
7138	}
7139	return nil
7140}
7141
7142// SetApiId sets the ApiId field's value.
7143func (s *StartSchemaCreationInput) SetApiId(v string) *StartSchemaCreationInput {
7144	s.ApiId = &v
7145	return s
7146}
7147
7148// SetDefinition sets the Definition field's value.
7149func (s *StartSchemaCreationInput) SetDefinition(v []byte) *StartSchemaCreationInput {
7150	s.Definition = v
7151	return s
7152}
7153
7154type StartSchemaCreationOutput struct {
7155	_ struct{} `type:"structure"`
7156
7157	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
7158	// When the schema is in the ACTIVE state, you can add data.
7159	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
7160}
7161
7162// String returns the string representation
7163func (s StartSchemaCreationOutput) String() string {
7164	return awsutil.Prettify(s)
7165}
7166
7167// GoString returns the string representation
7168func (s StartSchemaCreationOutput) GoString() string {
7169	return s.String()
7170}
7171
7172// SetStatus sets the Status field's value.
7173func (s *StartSchemaCreationOutput) SetStatus(v string) *StartSchemaCreationOutput {
7174	s.Status = &v
7175	return s
7176}
7177
7178type TagResourceInput struct {
7179	_ struct{} `type:"structure"`
7180
7181	// The GraphqlApi ARN.
7182	//
7183	// ResourceArn is a required field
7184	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
7185
7186	// A TagMap object.
7187	//
7188	// Tags is a required field
7189	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
7190}
7191
7192// String returns the string representation
7193func (s TagResourceInput) String() string {
7194	return awsutil.Prettify(s)
7195}
7196
7197// GoString returns the string representation
7198func (s TagResourceInput) GoString() string {
7199	return s.String()
7200}
7201
7202// Validate inspects the fields of the type to determine if they are valid.
7203func (s *TagResourceInput) Validate() error {
7204	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7205	if s.ResourceArn == nil {
7206		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7207	}
7208	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
7209		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
7210	}
7211	if s.Tags == nil {
7212		invalidParams.Add(request.NewErrParamRequired("Tags"))
7213	}
7214	if s.Tags != nil && len(s.Tags) < 1 {
7215		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7216	}
7217
7218	if invalidParams.Len() > 0 {
7219		return invalidParams
7220	}
7221	return nil
7222}
7223
7224// SetResourceArn sets the ResourceArn field's value.
7225func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7226	s.ResourceArn = &v
7227	return s
7228}
7229
7230// SetTags sets the Tags field's value.
7231func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7232	s.Tags = v
7233	return s
7234}
7235
7236type TagResourceOutput struct {
7237	_ struct{} `type:"structure"`
7238}
7239
7240// String returns the string representation
7241func (s TagResourceOutput) String() string {
7242	return awsutil.Prettify(s)
7243}
7244
7245// GoString returns the string representation
7246func (s TagResourceOutput) GoString() string {
7247	return s.String()
7248}
7249
7250// Describes a type.
7251type Type struct {
7252	_ struct{} `type:"structure"`
7253
7254	// The type ARN.
7255	Arn *string `locationName:"arn" type:"string"`
7256
7257	// The type definition.
7258	Definition *string `locationName:"definition" type:"string"`
7259
7260	// The type description.
7261	Description *string `locationName:"description" type:"string"`
7262
7263	// The type format: SDL or JSON.
7264	Format *string `locationName:"format" type:"string" enum:"TypeDefinitionFormat"`
7265
7266	// The type name.
7267	Name *string `locationName:"name" type:"string"`
7268}
7269
7270// String returns the string representation
7271func (s Type) String() string {
7272	return awsutil.Prettify(s)
7273}
7274
7275// GoString returns the string representation
7276func (s Type) GoString() string {
7277	return s.String()
7278}
7279
7280// SetArn sets the Arn field's value.
7281func (s *Type) SetArn(v string) *Type {
7282	s.Arn = &v
7283	return s
7284}
7285
7286// SetDefinition sets the Definition field's value.
7287func (s *Type) SetDefinition(v string) *Type {
7288	s.Definition = &v
7289	return s
7290}
7291
7292// SetDescription sets the Description field's value.
7293func (s *Type) SetDescription(v string) *Type {
7294	s.Description = &v
7295	return s
7296}
7297
7298// SetFormat sets the Format field's value.
7299func (s *Type) SetFormat(v string) *Type {
7300	s.Format = &v
7301	return s
7302}
7303
7304// SetName sets the Name field's value.
7305func (s *Type) SetName(v string) *Type {
7306	s.Name = &v
7307	return s
7308}
7309
7310type UntagResourceInput struct {
7311	_ struct{} `type:"structure"`
7312
7313	// The GraphqlApi ARN.
7314	//
7315	// ResourceArn is a required field
7316	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
7317
7318	// A list of TagKey objects.
7319	//
7320	// TagKeys is a required field
7321	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
7322}
7323
7324// String returns the string representation
7325func (s UntagResourceInput) String() string {
7326	return awsutil.Prettify(s)
7327}
7328
7329// GoString returns the string representation
7330func (s UntagResourceInput) GoString() string {
7331	return s.String()
7332}
7333
7334// Validate inspects the fields of the type to determine if they are valid.
7335func (s *UntagResourceInput) Validate() error {
7336	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7337	if s.ResourceArn == nil {
7338		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7339	}
7340	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
7341		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
7342	}
7343	if s.TagKeys == nil {
7344		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7345	}
7346	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7347		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7348	}
7349
7350	if invalidParams.Len() > 0 {
7351		return invalidParams
7352	}
7353	return nil
7354}
7355
7356// SetResourceArn sets the ResourceArn field's value.
7357func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7358	s.ResourceArn = &v
7359	return s
7360}
7361
7362// SetTagKeys sets the TagKeys field's value.
7363func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7364	s.TagKeys = v
7365	return s
7366}
7367
7368type UntagResourceOutput struct {
7369	_ struct{} `type:"structure"`
7370}
7371
7372// String returns the string representation
7373func (s UntagResourceOutput) String() string {
7374	return awsutil.Prettify(s)
7375}
7376
7377// GoString returns the string representation
7378func (s UntagResourceOutput) GoString() string {
7379	return s.String()
7380}
7381
7382type UpdateApiKeyInput struct {
7383	_ struct{} `type:"structure"`
7384
7385	// The ID for the GraphQL API.
7386	//
7387	// ApiId is a required field
7388	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7389
7390	// A description of the purpose of the API key.
7391	Description *string `locationName:"description" type:"string"`
7392
7393	// The time from update time after which the API key expires. The date is represented
7394	// as seconds since the epoch. For more information, see .
7395	Expires *int64 `locationName:"expires" type:"long"`
7396
7397	// The API key ID.
7398	//
7399	// Id is a required field
7400	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
7401}
7402
7403// String returns the string representation
7404func (s UpdateApiKeyInput) String() string {
7405	return awsutil.Prettify(s)
7406}
7407
7408// GoString returns the string representation
7409func (s UpdateApiKeyInput) GoString() string {
7410	return s.String()
7411}
7412
7413// Validate inspects the fields of the type to determine if they are valid.
7414func (s *UpdateApiKeyInput) Validate() error {
7415	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
7416	if s.ApiId == nil {
7417		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7418	}
7419	if s.ApiId != nil && len(*s.ApiId) < 1 {
7420		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7421	}
7422	if s.Id == nil {
7423		invalidParams.Add(request.NewErrParamRequired("Id"))
7424	}
7425	if s.Id != nil && len(*s.Id) < 1 {
7426		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7427	}
7428
7429	if invalidParams.Len() > 0 {
7430		return invalidParams
7431	}
7432	return nil
7433}
7434
7435// SetApiId sets the ApiId field's value.
7436func (s *UpdateApiKeyInput) SetApiId(v string) *UpdateApiKeyInput {
7437	s.ApiId = &v
7438	return s
7439}
7440
7441// SetDescription sets the Description field's value.
7442func (s *UpdateApiKeyInput) SetDescription(v string) *UpdateApiKeyInput {
7443	s.Description = &v
7444	return s
7445}
7446
7447// SetExpires sets the Expires field's value.
7448func (s *UpdateApiKeyInput) SetExpires(v int64) *UpdateApiKeyInput {
7449	s.Expires = &v
7450	return s
7451}
7452
7453// SetId sets the Id field's value.
7454func (s *UpdateApiKeyInput) SetId(v string) *UpdateApiKeyInput {
7455	s.Id = &v
7456	return s
7457}
7458
7459type UpdateApiKeyOutput struct {
7460	_ struct{} `type:"structure"`
7461
7462	// The API key.
7463	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
7464}
7465
7466// String returns the string representation
7467func (s UpdateApiKeyOutput) String() string {
7468	return awsutil.Prettify(s)
7469}
7470
7471// GoString returns the string representation
7472func (s UpdateApiKeyOutput) GoString() string {
7473	return s.String()
7474}
7475
7476// SetApiKey sets the ApiKey field's value.
7477func (s *UpdateApiKeyOutput) SetApiKey(v *ApiKey) *UpdateApiKeyOutput {
7478	s.ApiKey = v
7479	return s
7480}
7481
7482type UpdateDataSourceInput struct {
7483	_ struct{} `type:"structure"`
7484
7485	// The API ID.
7486	//
7487	// ApiId is a required field
7488	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7489
7490	// The new description for the data source.
7491	Description *string `locationName:"description" type:"string"`
7492
7493	// The new Amazon DynamoDB configuration.
7494	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
7495
7496	// The new Elasticsearch Service configuration.
7497	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
7498
7499	// The new HTTP endpoint configuration.
7500	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
7501
7502	// The new AWS Lambda configuration.
7503	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
7504
7505	// The new name for the data source.
7506	//
7507	// Name is a required field
7508	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
7509
7510	// The new relational database configuration.
7511	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
7512
7513	// The new service role ARN for the data source.
7514	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
7515
7516	// The new data source type.
7517	//
7518	// Type is a required field
7519	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
7520}
7521
7522// String returns the string representation
7523func (s UpdateDataSourceInput) String() string {
7524	return awsutil.Prettify(s)
7525}
7526
7527// GoString returns the string representation
7528func (s UpdateDataSourceInput) GoString() string {
7529	return s.String()
7530}
7531
7532// Validate inspects the fields of the type to determine if they are valid.
7533func (s *UpdateDataSourceInput) Validate() error {
7534	invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"}
7535	if s.ApiId == nil {
7536		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7537	}
7538	if s.ApiId != nil && len(*s.ApiId) < 1 {
7539		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7540	}
7541	if s.Name == nil {
7542		invalidParams.Add(request.NewErrParamRequired("Name"))
7543	}
7544	if s.Name != nil && len(*s.Name) < 1 {
7545		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7546	}
7547	if s.Type == nil {
7548		invalidParams.Add(request.NewErrParamRequired("Type"))
7549	}
7550	if s.DynamodbConfig != nil {
7551		if err := s.DynamodbConfig.Validate(); err != nil {
7552			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
7553		}
7554	}
7555	if s.ElasticsearchConfig != nil {
7556		if err := s.ElasticsearchConfig.Validate(); err != nil {
7557			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
7558		}
7559	}
7560	if s.HttpConfig != nil {
7561		if err := s.HttpConfig.Validate(); err != nil {
7562			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
7563		}
7564	}
7565	if s.LambdaConfig != nil {
7566		if err := s.LambdaConfig.Validate(); err != nil {
7567			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
7568		}
7569	}
7570
7571	if invalidParams.Len() > 0 {
7572		return invalidParams
7573	}
7574	return nil
7575}
7576
7577// SetApiId sets the ApiId field's value.
7578func (s *UpdateDataSourceInput) SetApiId(v string) *UpdateDataSourceInput {
7579	s.ApiId = &v
7580	return s
7581}
7582
7583// SetDescription sets the Description field's value.
7584func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput {
7585	s.Description = &v
7586	return s
7587}
7588
7589// SetDynamodbConfig sets the DynamodbConfig field's value.
7590func (s *UpdateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *UpdateDataSourceInput {
7591	s.DynamodbConfig = v
7592	return s
7593}
7594
7595// SetElasticsearchConfig sets the ElasticsearchConfig field's value.
7596func (s *UpdateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *UpdateDataSourceInput {
7597	s.ElasticsearchConfig = v
7598	return s
7599}
7600
7601// SetHttpConfig sets the HttpConfig field's value.
7602func (s *UpdateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *UpdateDataSourceInput {
7603	s.HttpConfig = v
7604	return s
7605}
7606
7607// SetLambdaConfig sets the LambdaConfig field's value.
7608func (s *UpdateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *UpdateDataSourceInput {
7609	s.LambdaConfig = v
7610	return s
7611}
7612
7613// SetName sets the Name field's value.
7614func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput {
7615	s.Name = &v
7616	return s
7617}
7618
7619// SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
7620func (s *UpdateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *UpdateDataSourceInput {
7621	s.RelationalDatabaseConfig = v
7622	return s
7623}
7624
7625// SetServiceRoleArn sets the ServiceRoleArn field's value.
7626func (s *UpdateDataSourceInput) SetServiceRoleArn(v string) *UpdateDataSourceInput {
7627	s.ServiceRoleArn = &v
7628	return s
7629}
7630
7631// SetType sets the Type field's value.
7632func (s *UpdateDataSourceInput) SetType(v string) *UpdateDataSourceInput {
7633	s.Type = &v
7634	return s
7635}
7636
7637type UpdateDataSourceOutput struct {
7638	_ struct{} `type:"structure"`
7639
7640	// The updated DataSource object.
7641	DataSource *DataSource `locationName:"dataSource" type:"structure"`
7642}
7643
7644// String returns the string representation
7645func (s UpdateDataSourceOutput) String() string {
7646	return awsutil.Prettify(s)
7647}
7648
7649// GoString returns the string representation
7650func (s UpdateDataSourceOutput) GoString() string {
7651	return s.String()
7652}
7653
7654// SetDataSource sets the DataSource field's value.
7655func (s *UpdateDataSourceOutput) SetDataSource(v *DataSource) *UpdateDataSourceOutput {
7656	s.DataSource = v
7657	return s
7658}
7659
7660type UpdateFunctionInput struct {
7661	_ struct{} `type:"structure"`
7662
7663	// The GraphQL API ID.
7664	//
7665	// ApiId is a required field
7666	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7667
7668	// The Function DataSource name.
7669	//
7670	// DataSourceName is a required field
7671	DataSourceName *string `locationName:"dataSourceName" type:"string" required:"true"`
7672
7673	// The Function description.
7674	Description *string `locationName:"description" type:"string"`
7675
7676	// The function ID.
7677	//
7678	// FunctionId is a required field
7679	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
7680
7681	// The version of the request mapping template. Currently the supported value
7682	// is 2018-05-29.
7683	//
7684	// FunctionVersion is a required field
7685	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
7686
7687	// The Function name.
7688	//
7689	// Name is a required field
7690	Name *string `locationName:"name" type:"string" required:"true"`
7691
7692	// The Function request mapping template. Functions support only the 2018-05-29
7693	// version of the request mapping template.
7694	//
7695	// RequestMappingTemplate is a required field
7696	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
7697
7698	// The Function request mapping template.
7699	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
7700}
7701
7702// String returns the string representation
7703func (s UpdateFunctionInput) String() string {
7704	return awsutil.Prettify(s)
7705}
7706
7707// GoString returns the string representation
7708func (s UpdateFunctionInput) GoString() string {
7709	return s.String()
7710}
7711
7712// Validate inspects the fields of the type to determine if they are valid.
7713func (s *UpdateFunctionInput) Validate() error {
7714	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"}
7715	if s.ApiId == nil {
7716		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7717	}
7718	if s.ApiId != nil && len(*s.ApiId) < 1 {
7719		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7720	}
7721	if s.DataSourceName == nil {
7722		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
7723	}
7724	if s.FunctionId == nil {
7725		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
7726	}
7727	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
7728		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
7729	}
7730	if s.FunctionVersion == nil {
7731		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
7732	}
7733	if s.Name == nil {
7734		invalidParams.Add(request.NewErrParamRequired("Name"))
7735	}
7736	if s.RequestMappingTemplate == nil {
7737		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
7738	}
7739	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
7740		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
7741	}
7742	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
7743		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
7744	}
7745
7746	if invalidParams.Len() > 0 {
7747		return invalidParams
7748	}
7749	return nil
7750}
7751
7752// SetApiId sets the ApiId field's value.
7753func (s *UpdateFunctionInput) SetApiId(v string) *UpdateFunctionInput {
7754	s.ApiId = &v
7755	return s
7756}
7757
7758// SetDataSourceName sets the DataSourceName field's value.
7759func (s *UpdateFunctionInput) SetDataSourceName(v string) *UpdateFunctionInput {
7760	s.DataSourceName = &v
7761	return s
7762}
7763
7764// SetDescription sets the Description field's value.
7765func (s *UpdateFunctionInput) SetDescription(v string) *UpdateFunctionInput {
7766	s.Description = &v
7767	return s
7768}
7769
7770// SetFunctionId sets the FunctionId field's value.
7771func (s *UpdateFunctionInput) SetFunctionId(v string) *UpdateFunctionInput {
7772	s.FunctionId = &v
7773	return s
7774}
7775
7776// SetFunctionVersion sets the FunctionVersion field's value.
7777func (s *UpdateFunctionInput) SetFunctionVersion(v string) *UpdateFunctionInput {
7778	s.FunctionVersion = &v
7779	return s
7780}
7781
7782// SetName sets the Name field's value.
7783func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput {
7784	s.Name = &v
7785	return s
7786}
7787
7788// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
7789func (s *UpdateFunctionInput) SetRequestMappingTemplate(v string) *UpdateFunctionInput {
7790	s.RequestMappingTemplate = &v
7791	return s
7792}
7793
7794// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
7795func (s *UpdateFunctionInput) SetResponseMappingTemplate(v string) *UpdateFunctionInput {
7796	s.ResponseMappingTemplate = &v
7797	return s
7798}
7799
7800type UpdateFunctionOutput struct {
7801	_ struct{} `type:"structure"`
7802
7803	// The Function object.
7804	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
7805}
7806
7807// String returns the string representation
7808func (s UpdateFunctionOutput) String() string {
7809	return awsutil.Prettify(s)
7810}
7811
7812// GoString returns the string representation
7813func (s UpdateFunctionOutput) GoString() string {
7814	return s.String()
7815}
7816
7817// SetFunctionConfiguration sets the FunctionConfiguration field's value.
7818func (s *UpdateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *UpdateFunctionOutput {
7819	s.FunctionConfiguration = v
7820	return s
7821}
7822
7823type UpdateGraphqlApiInput struct {
7824	_ struct{} `type:"structure"`
7825
7826	// A list of additional authentication providers for the GraphqlApi API.
7827	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
7828
7829	// The API ID.
7830	//
7831	// ApiId is a required field
7832	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7833
7834	// The new authentication type for the GraphqlApi object.
7835	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
7836
7837	// The Amazon CloudWatch Logs configuration for the GraphqlApi object.
7838	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
7839
7840	// The new name for the GraphqlApi object.
7841	//
7842	// Name is a required field
7843	Name *string `locationName:"name" type:"string" required:"true"`
7844
7845	// The OpenID Connect configuration for the GraphqlApi object.
7846	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
7847
7848	// The new Amazon Cognito user pool configuration for the GraphqlApi object.
7849	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
7850}
7851
7852// String returns the string representation
7853func (s UpdateGraphqlApiInput) String() string {
7854	return awsutil.Prettify(s)
7855}
7856
7857// GoString returns the string representation
7858func (s UpdateGraphqlApiInput) GoString() string {
7859	return s.String()
7860}
7861
7862// Validate inspects the fields of the type to determine if they are valid.
7863func (s *UpdateGraphqlApiInput) Validate() error {
7864	invalidParams := request.ErrInvalidParams{Context: "UpdateGraphqlApiInput"}
7865	if s.ApiId == nil {
7866		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7867	}
7868	if s.ApiId != nil && len(*s.ApiId) < 1 {
7869		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7870	}
7871	if s.Name == nil {
7872		invalidParams.Add(request.NewErrParamRequired("Name"))
7873	}
7874	if s.AdditionalAuthenticationProviders != nil {
7875		for i, v := range s.AdditionalAuthenticationProviders {
7876			if v == nil {
7877				continue
7878			}
7879			if err := v.Validate(); err != nil {
7880				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
7881			}
7882		}
7883	}
7884	if s.LogConfig != nil {
7885		if err := s.LogConfig.Validate(); err != nil {
7886			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
7887		}
7888	}
7889	if s.OpenIDConnectConfig != nil {
7890		if err := s.OpenIDConnectConfig.Validate(); err != nil {
7891			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
7892		}
7893	}
7894	if s.UserPoolConfig != nil {
7895		if err := s.UserPoolConfig.Validate(); err != nil {
7896			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
7897		}
7898	}
7899
7900	if invalidParams.Len() > 0 {
7901		return invalidParams
7902	}
7903	return nil
7904}
7905
7906// SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
7907func (s *UpdateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *UpdateGraphqlApiInput {
7908	s.AdditionalAuthenticationProviders = v
7909	return s
7910}
7911
7912// SetApiId sets the ApiId field's value.
7913func (s *UpdateGraphqlApiInput) SetApiId(v string) *UpdateGraphqlApiInput {
7914	s.ApiId = &v
7915	return s
7916}
7917
7918// SetAuthenticationType sets the AuthenticationType field's value.
7919func (s *UpdateGraphqlApiInput) SetAuthenticationType(v string) *UpdateGraphqlApiInput {
7920	s.AuthenticationType = &v
7921	return s
7922}
7923
7924// SetLogConfig sets the LogConfig field's value.
7925func (s *UpdateGraphqlApiInput) SetLogConfig(v *LogConfig) *UpdateGraphqlApiInput {
7926	s.LogConfig = v
7927	return s
7928}
7929
7930// SetName sets the Name field's value.
7931func (s *UpdateGraphqlApiInput) SetName(v string) *UpdateGraphqlApiInput {
7932	s.Name = &v
7933	return s
7934}
7935
7936// SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
7937func (s *UpdateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *UpdateGraphqlApiInput {
7938	s.OpenIDConnectConfig = v
7939	return s
7940}
7941
7942// SetUserPoolConfig sets the UserPoolConfig field's value.
7943func (s *UpdateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *UpdateGraphqlApiInput {
7944	s.UserPoolConfig = v
7945	return s
7946}
7947
7948type UpdateGraphqlApiOutput struct {
7949	_ struct{} `type:"structure"`
7950
7951	// The updated GraphqlApi object.
7952	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
7953}
7954
7955// String returns the string representation
7956func (s UpdateGraphqlApiOutput) String() string {
7957	return awsutil.Prettify(s)
7958}
7959
7960// GoString returns the string representation
7961func (s UpdateGraphqlApiOutput) GoString() string {
7962	return s.String()
7963}
7964
7965// SetGraphqlApi sets the GraphqlApi field's value.
7966func (s *UpdateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *UpdateGraphqlApiOutput {
7967	s.GraphqlApi = v
7968	return s
7969}
7970
7971type UpdateResolverInput struct {
7972	_ struct{} `type:"structure"`
7973
7974	// The API ID.
7975	//
7976	// ApiId is a required field
7977	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7978
7979	// The new data source name.
7980	DataSourceName *string `locationName:"dataSourceName" type:"string"`
7981
7982	// The new field name.
7983	//
7984	// FieldName is a required field
7985	FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"`
7986
7987	// The resolver type.
7988	//
7989	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
7990	//    type. A UNIT resolver enables you to execute a GraphQL query against a
7991	//    single data source.
7992	//
7993	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
7994	//    to execute a series of Function in a serial manner. You can use a pipeline
7995	//    resolver to execute a GraphQL query against multiple data sources.
7996	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
7997
7998	// The PipelineConfig.
7999	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
8000
8001	// The new request mapping template.
8002	//
8003	// RequestMappingTemplate is a required field
8004	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"`
8005
8006	// The new response mapping template.
8007	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
8008
8009	// The new type name.
8010	//
8011	// TypeName is a required field
8012	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
8013}
8014
8015// String returns the string representation
8016func (s UpdateResolverInput) String() string {
8017	return awsutil.Prettify(s)
8018}
8019
8020// GoString returns the string representation
8021func (s UpdateResolverInput) GoString() string {
8022	return s.String()
8023}
8024
8025// Validate inspects the fields of the type to determine if they are valid.
8026func (s *UpdateResolverInput) Validate() error {
8027	invalidParams := request.ErrInvalidParams{Context: "UpdateResolverInput"}
8028	if s.ApiId == nil {
8029		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8030	}
8031	if s.ApiId != nil && len(*s.ApiId) < 1 {
8032		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8033	}
8034	if s.FieldName == nil {
8035		invalidParams.Add(request.NewErrParamRequired("FieldName"))
8036	}
8037	if s.FieldName != nil && len(*s.FieldName) < 1 {
8038		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
8039	}
8040	if s.RequestMappingTemplate == nil {
8041		invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate"))
8042	}
8043	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
8044		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
8045	}
8046	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
8047		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
8048	}
8049	if s.TypeName == nil {
8050		invalidParams.Add(request.NewErrParamRequired("TypeName"))
8051	}
8052	if s.TypeName != nil && len(*s.TypeName) < 1 {
8053		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
8054	}
8055
8056	if invalidParams.Len() > 0 {
8057		return invalidParams
8058	}
8059	return nil
8060}
8061
8062// SetApiId sets the ApiId field's value.
8063func (s *UpdateResolverInput) SetApiId(v string) *UpdateResolverInput {
8064	s.ApiId = &v
8065	return s
8066}
8067
8068// SetDataSourceName sets the DataSourceName field's value.
8069func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput {
8070	s.DataSourceName = &v
8071	return s
8072}
8073
8074// SetFieldName sets the FieldName field's value.
8075func (s *UpdateResolverInput) SetFieldName(v string) *UpdateResolverInput {
8076	s.FieldName = &v
8077	return s
8078}
8079
8080// SetKind sets the Kind field's value.
8081func (s *UpdateResolverInput) SetKind(v string) *UpdateResolverInput {
8082	s.Kind = &v
8083	return s
8084}
8085
8086// SetPipelineConfig sets the PipelineConfig field's value.
8087func (s *UpdateResolverInput) SetPipelineConfig(v *PipelineConfig) *UpdateResolverInput {
8088	s.PipelineConfig = v
8089	return s
8090}
8091
8092// SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
8093func (s *UpdateResolverInput) SetRequestMappingTemplate(v string) *UpdateResolverInput {
8094	s.RequestMappingTemplate = &v
8095	return s
8096}
8097
8098// SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
8099func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolverInput {
8100	s.ResponseMappingTemplate = &v
8101	return s
8102}
8103
8104// SetTypeName sets the TypeName field's value.
8105func (s *UpdateResolverInput) SetTypeName(v string) *UpdateResolverInput {
8106	s.TypeName = &v
8107	return s
8108}
8109
8110type UpdateResolverOutput struct {
8111	_ struct{} `type:"structure"`
8112
8113	// The updated Resolver object.
8114	Resolver *Resolver `locationName:"resolver" type:"structure"`
8115}
8116
8117// String returns the string representation
8118func (s UpdateResolverOutput) String() string {
8119	return awsutil.Prettify(s)
8120}
8121
8122// GoString returns the string representation
8123func (s UpdateResolverOutput) GoString() string {
8124	return s.String()
8125}
8126
8127// SetResolver sets the Resolver field's value.
8128func (s *UpdateResolverOutput) SetResolver(v *Resolver) *UpdateResolverOutput {
8129	s.Resolver = v
8130	return s
8131}
8132
8133type UpdateTypeInput struct {
8134	_ struct{} `type:"structure"`
8135
8136	// The API ID.
8137	//
8138	// ApiId is a required field
8139	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8140
8141	// The new definition.
8142	Definition *string `locationName:"definition" type:"string"`
8143
8144	// The new type format: SDL or JSON.
8145	//
8146	// Format is a required field
8147	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
8148
8149	// The new type name.
8150	//
8151	// TypeName is a required field
8152	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
8153}
8154
8155// String returns the string representation
8156func (s UpdateTypeInput) String() string {
8157	return awsutil.Prettify(s)
8158}
8159
8160// GoString returns the string representation
8161func (s UpdateTypeInput) GoString() string {
8162	return s.String()
8163}
8164
8165// Validate inspects the fields of the type to determine if they are valid.
8166func (s *UpdateTypeInput) Validate() error {
8167	invalidParams := request.ErrInvalidParams{Context: "UpdateTypeInput"}
8168	if s.ApiId == nil {
8169		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8170	}
8171	if s.ApiId != nil && len(*s.ApiId) < 1 {
8172		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8173	}
8174	if s.Format == nil {
8175		invalidParams.Add(request.NewErrParamRequired("Format"))
8176	}
8177	if s.TypeName == nil {
8178		invalidParams.Add(request.NewErrParamRequired("TypeName"))
8179	}
8180	if s.TypeName != nil && len(*s.TypeName) < 1 {
8181		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
8182	}
8183
8184	if invalidParams.Len() > 0 {
8185		return invalidParams
8186	}
8187	return nil
8188}
8189
8190// SetApiId sets the ApiId field's value.
8191func (s *UpdateTypeInput) SetApiId(v string) *UpdateTypeInput {
8192	s.ApiId = &v
8193	return s
8194}
8195
8196// SetDefinition sets the Definition field's value.
8197func (s *UpdateTypeInput) SetDefinition(v string) *UpdateTypeInput {
8198	s.Definition = &v
8199	return s
8200}
8201
8202// SetFormat sets the Format field's value.
8203func (s *UpdateTypeInput) SetFormat(v string) *UpdateTypeInput {
8204	s.Format = &v
8205	return s
8206}
8207
8208// SetTypeName sets the TypeName field's value.
8209func (s *UpdateTypeInput) SetTypeName(v string) *UpdateTypeInput {
8210	s.TypeName = &v
8211	return s
8212}
8213
8214type UpdateTypeOutput struct {
8215	_ struct{} `type:"structure"`
8216
8217	// The updated Type object.
8218	Type *Type `locationName:"type" type:"structure"`
8219}
8220
8221// String returns the string representation
8222func (s UpdateTypeOutput) String() string {
8223	return awsutil.Prettify(s)
8224}
8225
8226// GoString returns the string representation
8227func (s UpdateTypeOutput) GoString() string {
8228	return s.String()
8229}
8230
8231// SetType sets the Type field's value.
8232func (s *UpdateTypeOutput) SetType(v *Type) *UpdateTypeOutput {
8233	s.Type = v
8234	return s
8235}
8236
8237// Describes an Amazon Cognito user pool configuration.
8238type UserPoolConfig struct {
8239	_ struct{} `type:"structure"`
8240
8241	// A regular expression for validating the incoming Amazon Cognito user pool
8242	// app client ID.
8243	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
8244
8245	// The AWS Region in which the user pool was created.
8246	//
8247	// AwsRegion is a required field
8248	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
8249
8250	// The action that you want your GraphQL API to take when a request that uses
8251	// Amazon Cognito user pool authentication doesn't match the Amazon Cognito
8252	// user pool configuration.
8253	//
8254	// DefaultAction is a required field
8255	DefaultAction *string `locationName:"defaultAction" type:"string" required:"true" enum:"DefaultAction"`
8256
8257	// The user pool ID.
8258	//
8259	// UserPoolId is a required field
8260	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
8261}
8262
8263// String returns the string representation
8264func (s UserPoolConfig) String() string {
8265	return awsutil.Prettify(s)
8266}
8267
8268// GoString returns the string representation
8269func (s UserPoolConfig) GoString() string {
8270	return s.String()
8271}
8272
8273// Validate inspects the fields of the type to determine if they are valid.
8274func (s *UserPoolConfig) Validate() error {
8275	invalidParams := request.ErrInvalidParams{Context: "UserPoolConfig"}
8276	if s.AwsRegion == nil {
8277		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
8278	}
8279	if s.DefaultAction == nil {
8280		invalidParams.Add(request.NewErrParamRequired("DefaultAction"))
8281	}
8282	if s.UserPoolId == nil {
8283		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
8284	}
8285
8286	if invalidParams.Len() > 0 {
8287		return invalidParams
8288	}
8289	return nil
8290}
8291
8292// SetAppIdClientRegex sets the AppIdClientRegex field's value.
8293func (s *UserPoolConfig) SetAppIdClientRegex(v string) *UserPoolConfig {
8294	s.AppIdClientRegex = &v
8295	return s
8296}
8297
8298// SetAwsRegion sets the AwsRegion field's value.
8299func (s *UserPoolConfig) SetAwsRegion(v string) *UserPoolConfig {
8300	s.AwsRegion = &v
8301	return s
8302}
8303
8304// SetDefaultAction sets the DefaultAction field's value.
8305func (s *UserPoolConfig) SetDefaultAction(v string) *UserPoolConfig {
8306	s.DefaultAction = &v
8307	return s
8308}
8309
8310// SetUserPoolId sets the UserPoolId field's value.
8311func (s *UserPoolConfig) SetUserPoolId(v string) *UserPoolConfig {
8312	s.UserPoolId = &v
8313	return s
8314}
8315
8316const (
8317	// AuthenticationTypeApiKey is a AuthenticationType enum value
8318	AuthenticationTypeApiKey = "API_KEY"
8319
8320	// AuthenticationTypeAwsIam is a AuthenticationType enum value
8321	AuthenticationTypeAwsIam = "AWS_IAM"
8322
8323	// AuthenticationTypeAmazonCognitoUserPools is a AuthenticationType enum value
8324	AuthenticationTypeAmazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS"
8325
8326	// AuthenticationTypeOpenidConnect is a AuthenticationType enum value
8327	AuthenticationTypeOpenidConnect = "OPENID_CONNECT"
8328)
8329
8330const (
8331	// AuthorizationTypeAwsIam is a AuthorizationType enum value
8332	AuthorizationTypeAwsIam = "AWS_IAM"
8333)
8334
8335const (
8336	// DataSourceTypeAwsLambda is a DataSourceType enum value
8337	DataSourceTypeAwsLambda = "AWS_LAMBDA"
8338
8339	// DataSourceTypeAmazonDynamodb is a DataSourceType enum value
8340	DataSourceTypeAmazonDynamodb = "AMAZON_DYNAMODB"
8341
8342	// DataSourceTypeAmazonElasticsearch is a DataSourceType enum value
8343	DataSourceTypeAmazonElasticsearch = "AMAZON_ELASTICSEARCH"
8344
8345	// DataSourceTypeNone is a DataSourceType enum value
8346	DataSourceTypeNone = "NONE"
8347
8348	// DataSourceTypeHttp is a DataSourceType enum value
8349	DataSourceTypeHttp = "HTTP"
8350
8351	// DataSourceTypeRelationalDatabase is a DataSourceType enum value
8352	DataSourceTypeRelationalDatabase = "RELATIONAL_DATABASE"
8353)
8354
8355const (
8356	// DefaultActionAllow is a DefaultAction enum value
8357	DefaultActionAllow = "ALLOW"
8358
8359	// DefaultActionDeny is a DefaultAction enum value
8360	DefaultActionDeny = "DENY"
8361)
8362
8363const (
8364	// FieldLogLevelNone is a FieldLogLevel enum value
8365	FieldLogLevelNone = "NONE"
8366
8367	// FieldLogLevelError is a FieldLogLevel enum value
8368	FieldLogLevelError = "ERROR"
8369
8370	// FieldLogLevelAll is a FieldLogLevel enum value
8371	FieldLogLevelAll = "ALL"
8372)
8373
8374const (
8375	// OutputTypeSdl is a OutputType enum value
8376	OutputTypeSdl = "SDL"
8377
8378	// OutputTypeJson is a OutputType enum value
8379	OutputTypeJson = "JSON"
8380)
8381
8382const (
8383	// RelationalDatabaseSourceTypeRdsHttpEndpoint is a RelationalDatabaseSourceType enum value
8384	RelationalDatabaseSourceTypeRdsHttpEndpoint = "RDS_HTTP_ENDPOINT"
8385)
8386
8387const (
8388	// ResolverKindUnit is a ResolverKind enum value
8389	ResolverKindUnit = "UNIT"
8390
8391	// ResolverKindPipeline is a ResolverKind enum value
8392	ResolverKindPipeline = "PIPELINE"
8393)
8394
8395const (
8396	// SchemaStatusProcessing is a SchemaStatus enum value
8397	SchemaStatusProcessing = "PROCESSING"
8398
8399	// SchemaStatusActive is a SchemaStatus enum value
8400	SchemaStatusActive = "ACTIVE"
8401
8402	// SchemaStatusDeleting is a SchemaStatus enum value
8403	SchemaStatusDeleting = "DELETING"
8404
8405	// SchemaStatusFailed is a SchemaStatus enum value
8406	SchemaStatusFailed = "FAILED"
8407
8408	// SchemaStatusSuccess is a SchemaStatus enum value
8409	SchemaStatusSuccess = "SUCCESS"
8410
8411	// SchemaStatusNotApplicable is a SchemaStatus enum value
8412	SchemaStatusNotApplicable = "NOT_APPLICABLE"
8413)
8414
8415const (
8416	// TypeDefinitionFormatSdl is a TypeDefinitionFormat enum value
8417	TypeDefinitionFormatSdl = "SDL"
8418
8419	// TypeDefinitionFormatJson is a TypeDefinitionFormat enum value
8420	TypeDefinitionFormatJson = "JSON"
8421)
8422