1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package apigatewayv2
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCreateApi = "CreateApi"
17
18// CreateApiRequest generates a "aws/request.Request" representing the
19// client's request for the CreateApi operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateApi for more information on using the CreateApi
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateApiRequest method.
34//    req, resp := client.CreateApiRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi
42func (c *ApiGatewayV2) CreateApiRequest(input *CreateApiInput) (req *request.Request, output *CreateApiOutput) {
43	op := &request.Operation{
44		Name:       opCreateApi,
45		HTTPMethod: "POST",
46		HTTPPath:   "/v2/apis",
47	}
48
49	if input == nil {
50		input = &CreateApiInput{}
51	}
52
53	output = &CreateApiOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateApi API operation for AmazonApiGatewayV2.
59//
60// Creates an Api resource.
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 AmazonApiGatewayV2's
67// API operation CreateApi for usage and error information.
68//
69// Returned Error Types:
70//   * NotFoundException
71//   The resource specified in the request was not found. See the message field
72//   for more information.
73//
74//   * TooManyRequestsException
75//   A limit has been exceeded. See the accompanying error message for details.
76//
77//   * BadRequestException
78//   The request is not valid, for example, the input is incomplete or incorrect.
79//   See the accompanying error message for details.
80//
81//   * ConflictException
82//   The requested operation would cause a conflict with the current state of
83//   a service resource associated with the request. Resolve the conflict before
84//   retrying this request. See the accompanying error message for details.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi
87func (c *ApiGatewayV2) CreateApi(input *CreateApiInput) (*CreateApiOutput, error) {
88	req, out := c.CreateApiRequest(input)
89	return out, req.Send()
90}
91
92// CreateApiWithContext is the same as CreateApi with the addition of
93// the ability to pass a context and additional request options.
94//
95// See CreateApi for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *ApiGatewayV2) CreateApiWithContext(ctx aws.Context, input *CreateApiInput, opts ...request.Option) (*CreateApiOutput, error) {
102	req, out := c.CreateApiRequest(input)
103	req.SetContext(ctx)
104	req.ApplyOptions(opts...)
105	return out, req.Send()
106}
107
108const opCreateApiMapping = "CreateApiMapping"
109
110// CreateApiMappingRequest generates a "aws/request.Request" representing the
111// client's request for the CreateApiMapping operation. The "output" return
112// value will be populated with the request's response once the request completes
113// successfully.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
117//
118// See CreateApiMapping for more information on using the CreateApiMapping
119// API call, and error handling.
120//
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
123//
124//
125//    // Example sending a request using the CreateApiMappingRequest method.
126//    req, resp := client.CreateApiMappingRequest(params)
127//
128//    err := req.Send()
129//    if err == nil { // resp is now filled
130//        fmt.Println(resp)
131//    }
132//
133// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping
134func (c *ApiGatewayV2) CreateApiMappingRequest(input *CreateApiMappingInput) (req *request.Request, output *CreateApiMappingOutput) {
135	op := &request.Operation{
136		Name:       opCreateApiMapping,
137		HTTPMethod: "POST",
138		HTTPPath:   "/v2/domainnames/{domainName}/apimappings",
139	}
140
141	if input == nil {
142		input = &CreateApiMappingInput{}
143	}
144
145	output = &CreateApiMappingOutput{}
146	req = c.newRequest(op, input, output)
147	return
148}
149
150// CreateApiMapping API operation for AmazonApiGatewayV2.
151//
152// Creates an API mapping.
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for AmazonApiGatewayV2's
159// API operation CreateApiMapping for usage and error information.
160//
161// Returned Error Types:
162//   * NotFoundException
163//   The resource specified in the request was not found. See the message field
164//   for more information.
165//
166//   * TooManyRequestsException
167//   A limit has been exceeded. See the accompanying error message for details.
168//
169//   * BadRequestException
170//   The request is not valid, for example, the input is incomplete or incorrect.
171//   See the accompanying error message for details.
172//
173//   * ConflictException
174//   The requested operation would cause a conflict with the current state of
175//   a service resource associated with the request. Resolve the conflict before
176//   retrying this request. See the accompanying error message for details.
177//
178// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping
179func (c *ApiGatewayV2) CreateApiMapping(input *CreateApiMappingInput) (*CreateApiMappingOutput, error) {
180	req, out := c.CreateApiMappingRequest(input)
181	return out, req.Send()
182}
183
184// CreateApiMappingWithContext is the same as CreateApiMapping with the addition of
185// the ability to pass a context and additional request options.
186//
187// See CreateApiMapping for details on how to use this API operation.
188//
189// The context must be non-nil and will be used for request cancellation. If
190// the context is nil a panic will occur. In the future the SDK may create
191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
192// for more information on using Contexts.
193func (c *ApiGatewayV2) CreateApiMappingWithContext(ctx aws.Context, input *CreateApiMappingInput, opts ...request.Option) (*CreateApiMappingOutput, error) {
194	req, out := c.CreateApiMappingRequest(input)
195	req.SetContext(ctx)
196	req.ApplyOptions(opts...)
197	return out, req.Send()
198}
199
200const opCreateAuthorizer = "CreateAuthorizer"
201
202// CreateAuthorizerRequest generates a "aws/request.Request" representing the
203// client's request for the CreateAuthorizer operation. The "output" return
204// value will be populated with the request's response once the request completes
205// successfully.
206//
207// Use "Send" method on the returned Request to send the API call to the service.
208// the "output" return value is not valid until after Send returns without error.
209//
210// See CreateAuthorizer for more information on using the CreateAuthorizer
211// API call, and error handling.
212//
213// This method is useful when you want to inject custom logic or configuration
214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
215//
216//
217//    // Example sending a request using the CreateAuthorizerRequest method.
218//    req, resp := client.CreateAuthorizerRequest(params)
219//
220//    err := req.Send()
221//    if err == nil { // resp is now filled
222//        fmt.Println(resp)
223//    }
224//
225// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer
226func (c *ApiGatewayV2) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *CreateAuthorizerOutput) {
227	op := &request.Operation{
228		Name:       opCreateAuthorizer,
229		HTTPMethod: "POST",
230		HTTPPath:   "/v2/apis/{apiId}/authorizers",
231	}
232
233	if input == nil {
234		input = &CreateAuthorizerInput{}
235	}
236
237	output = &CreateAuthorizerOutput{}
238	req = c.newRequest(op, input, output)
239	return
240}
241
242// CreateAuthorizer API operation for AmazonApiGatewayV2.
243//
244// Creates an Authorizer for an API.
245//
246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
247// with awserr.Error's Code and Message methods to get detailed information about
248// the error.
249//
250// See the AWS API reference guide for AmazonApiGatewayV2's
251// API operation CreateAuthorizer for usage and error information.
252//
253// Returned Error Types:
254//   * NotFoundException
255//   The resource specified in the request was not found. See the message field
256//   for more information.
257//
258//   * TooManyRequestsException
259//   A limit has been exceeded. See the accompanying error message for details.
260//
261//   * BadRequestException
262//   The request is not valid, for example, the input is incomplete or incorrect.
263//   See the accompanying error message for details.
264//
265//   * ConflictException
266//   The requested operation would cause a conflict with the current state of
267//   a service resource associated with the request. Resolve the conflict before
268//   retrying this request. See the accompanying error message for details.
269//
270// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer
271func (c *ApiGatewayV2) CreateAuthorizer(input *CreateAuthorizerInput) (*CreateAuthorizerOutput, error) {
272	req, out := c.CreateAuthorizerRequest(input)
273	return out, req.Send()
274}
275
276// CreateAuthorizerWithContext is the same as CreateAuthorizer with the addition of
277// the ability to pass a context and additional request options.
278//
279// See CreateAuthorizer for details on how to use this API operation.
280//
281// The context must be non-nil and will be used for request cancellation. If
282// the context is nil a panic will occur. In the future the SDK may create
283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
284// for more information on using Contexts.
285func (c *ApiGatewayV2) CreateAuthorizerWithContext(ctx aws.Context, input *CreateAuthorizerInput, opts ...request.Option) (*CreateAuthorizerOutput, error) {
286	req, out := c.CreateAuthorizerRequest(input)
287	req.SetContext(ctx)
288	req.ApplyOptions(opts...)
289	return out, req.Send()
290}
291
292const opCreateDeployment = "CreateDeployment"
293
294// CreateDeploymentRequest generates a "aws/request.Request" representing the
295// client's request for the CreateDeployment operation. The "output" return
296// value will be populated with the request's response once the request completes
297// successfully.
298//
299// Use "Send" method on the returned Request to send the API call to the service.
300// the "output" return value is not valid until after Send returns without error.
301//
302// See CreateDeployment for more information on using the CreateDeployment
303// API call, and error handling.
304//
305// This method is useful when you want to inject custom logic or configuration
306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
307//
308//
309//    // Example sending a request using the CreateDeploymentRequest method.
310//    req, resp := client.CreateDeploymentRequest(params)
311//
312//    err := req.Send()
313//    if err == nil { // resp is now filled
314//        fmt.Println(resp)
315//    }
316//
317// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment
318func (c *ApiGatewayV2) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
319	op := &request.Operation{
320		Name:       opCreateDeployment,
321		HTTPMethod: "POST",
322		HTTPPath:   "/v2/apis/{apiId}/deployments",
323	}
324
325	if input == nil {
326		input = &CreateDeploymentInput{}
327	}
328
329	output = &CreateDeploymentOutput{}
330	req = c.newRequest(op, input, output)
331	return
332}
333
334// CreateDeployment API operation for AmazonApiGatewayV2.
335//
336// Creates a Deployment for an API.
337//
338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
339// with awserr.Error's Code and Message methods to get detailed information about
340// the error.
341//
342// See the AWS API reference guide for AmazonApiGatewayV2's
343// API operation CreateDeployment for usage and error information.
344//
345// Returned Error Types:
346//   * NotFoundException
347//   The resource specified in the request was not found. See the message field
348//   for more information.
349//
350//   * TooManyRequestsException
351//   A limit has been exceeded. See the accompanying error message for details.
352//
353//   * BadRequestException
354//   The request is not valid, for example, the input is incomplete or incorrect.
355//   See the accompanying error message for details.
356//
357//   * ConflictException
358//   The requested operation would cause a conflict with the current state of
359//   a service resource associated with the request. Resolve the conflict before
360//   retrying this request. See the accompanying error message for details.
361//
362// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment
363func (c *ApiGatewayV2) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
364	req, out := c.CreateDeploymentRequest(input)
365	return out, req.Send()
366}
367
368// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
369// the ability to pass a context and additional request options.
370//
371// See CreateDeployment for details on how to use this API operation.
372//
373// The context must be non-nil and will be used for request cancellation. If
374// the context is nil a panic will occur. In the future the SDK may create
375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
376// for more information on using Contexts.
377func (c *ApiGatewayV2) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
378	req, out := c.CreateDeploymentRequest(input)
379	req.SetContext(ctx)
380	req.ApplyOptions(opts...)
381	return out, req.Send()
382}
383
384const opCreateDomainName = "CreateDomainName"
385
386// CreateDomainNameRequest generates a "aws/request.Request" representing the
387// client's request for the CreateDomainName operation. The "output" return
388// value will be populated with the request's response once the request completes
389// successfully.
390//
391// Use "Send" method on the returned Request to send the API call to the service.
392// the "output" return value is not valid until after Send returns without error.
393//
394// See CreateDomainName for more information on using the CreateDomainName
395// API call, and error handling.
396//
397// This method is useful when you want to inject custom logic or configuration
398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
399//
400//
401//    // Example sending a request using the CreateDomainNameRequest method.
402//    req, resp := client.CreateDomainNameRequest(params)
403//
404//    err := req.Send()
405//    if err == nil { // resp is now filled
406//        fmt.Println(resp)
407//    }
408//
409// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName
410func (c *ApiGatewayV2) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *CreateDomainNameOutput) {
411	op := &request.Operation{
412		Name:       opCreateDomainName,
413		HTTPMethod: "POST",
414		HTTPPath:   "/v2/domainnames",
415	}
416
417	if input == nil {
418		input = &CreateDomainNameInput{}
419	}
420
421	output = &CreateDomainNameOutput{}
422	req = c.newRequest(op, input, output)
423	return
424}
425
426// CreateDomainName API operation for AmazonApiGatewayV2.
427//
428// Creates a domain name.
429//
430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
431// with awserr.Error's Code and Message methods to get detailed information about
432// the error.
433//
434// See the AWS API reference guide for AmazonApiGatewayV2's
435// API operation CreateDomainName for usage and error information.
436//
437// Returned Error Types:
438//   * NotFoundException
439//   The resource specified in the request was not found. See the message field
440//   for more information.
441//
442//   * TooManyRequestsException
443//   A limit has been exceeded. See the accompanying error message for details.
444//
445//   * BadRequestException
446//   The request is not valid, for example, the input is incomplete or incorrect.
447//   See the accompanying error message for details.
448//
449//   * ConflictException
450//   The requested operation would cause a conflict with the current state of
451//   a service resource associated with the request. Resolve the conflict before
452//   retrying this request. See the accompanying error message for details.
453//
454//   * AccessDeniedException
455//
456// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName
457func (c *ApiGatewayV2) CreateDomainName(input *CreateDomainNameInput) (*CreateDomainNameOutput, error) {
458	req, out := c.CreateDomainNameRequest(input)
459	return out, req.Send()
460}
461
462// CreateDomainNameWithContext is the same as CreateDomainName with the addition of
463// the ability to pass a context and additional request options.
464//
465// See CreateDomainName for details on how to use this API operation.
466//
467// The context must be non-nil and will be used for request cancellation. If
468// the context is nil a panic will occur. In the future the SDK may create
469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
470// for more information on using Contexts.
471func (c *ApiGatewayV2) CreateDomainNameWithContext(ctx aws.Context, input *CreateDomainNameInput, opts ...request.Option) (*CreateDomainNameOutput, error) {
472	req, out := c.CreateDomainNameRequest(input)
473	req.SetContext(ctx)
474	req.ApplyOptions(opts...)
475	return out, req.Send()
476}
477
478const opCreateIntegration = "CreateIntegration"
479
480// CreateIntegrationRequest generates a "aws/request.Request" representing the
481// client's request for the CreateIntegration operation. The "output" return
482// value will be populated with the request's response once the request completes
483// successfully.
484//
485// Use "Send" method on the returned Request to send the API call to the service.
486// the "output" return value is not valid until after Send returns without error.
487//
488// See CreateIntegration for more information on using the CreateIntegration
489// API call, and error handling.
490//
491// This method is useful when you want to inject custom logic or configuration
492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
493//
494//
495//    // Example sending a request using the CreateIntegrationRequest method.
496//    req, resp := client.CreateIntegrationRequest(params)
497//
498//    err := req.Send()
499//    if err == nil { // resp is now filled
500//        fmt.Println(resp)
501//    }
502//
503// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration
504func (c *ApiGatewayV2) CreateIntegrationRequest(input *CreateIntegrationInput) (req *request.Request, output *CreateIntegrationOutput) {
505	op := &request.Operation{
506		Name:       opCreateIntegration,
507		HTTPMethod: "POST",
508		HTTPPath:   "/v2/apis/{apiId}/integrations",
509	}
510
511	if input == nil {
512		input = &CreateIntegrationInput{}
513	}
514
515	output = &CreateIntegrationOutput{}
516	req = c.newRequest(op, input, output)
517	return
518}
519
520// CreateIntegration API operation for AmazonApiGatewayV2.
521//
522// Creates an Integration.
523//
524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
525// with awserr.Error's Code and Message methods to get detailed information about
526// the error.
527//
528// See the AWS API reference guide for AmazonApiGatewayV2's
529// API operation CreateIntegration for usage and error information.
530//
531// Returned Error Types:
532//   * NotFoundException
533//   The resource specified in the request was not found. See the message field
534//   for more information.
535//
536//   * TooManyRequestsException
537//   A limit has been exceeded. See the accompanying error message for details.
538//
539//   * BadRequestException
540//   The request is not valid, for example, the input is incomplete or incorrect.
541//   See the accompanying error message for details.
542//
543//   * ConflictException
544//   The requested operation would cause a conflict with the current state of
545//   a service resource associated with the request. Resolve the conflict before
546//   retrying this request. See the accompanying error message for details.
547//
548// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration
549func (c *ApiGatewayV2) CreateIntegration(input *CreateIntegrationInput) (*CreateIntegrationOutput, error) {
550	req, out := c.CreateIntegrationRequest(input)
551	return out, req.Send()
552}
553
554// CreateIntegrationWithContext is the same as CreateIntegration with the addition of
555// the ability to pass a context and additional request options.
556//
557// See CreateIntegration for details on how to use this API operation.
558//
559// The context must be non-nil and will be used for request cancellation. If
560// the context is nil a panic will occur. In the future the SDK may create
561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
562// for more information on using Contexts.
563func (c *ApiGatewayV2) CreateIntegrationWithContext(ctx aws.Context, input *CreateIntegrationInput, opts ...request.Option) (*CreateIntegrationOutput, error) {
564	req, out := c.CreateIntegrationRequest(input)
565	req.SetContext(ctx)
566	req.ApplyOptions(opts...)
567	return out, req.Send()
568}
569
570const opCreateIntegrationResponse = "CreateIntegrationResponse"
571
572// CreateIntegrationResponseRequest generates a "aws/request.Request" representing the
573// client's request for the CreateIntegrationResponse operation. The "output" return
574// value will be populated with the request's response once the request completes
575// successfully.
576//
577// Use "Send" method on the returned Request to send the API call to the service.
578// the "output" return value is not valid until after Send returns without error.
579//
580// See CreateIntegrationResponse for more information on using the CreateIntegrationResponse
581// API call, and error handling.
582//
583// This method is useful when you want to inject custom logic or configuration
584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
585//
586//
587//    // Example sending a request using the CreateIntegrationResponseRequest method.
588//    req, resp := client.CreateIntegrationResponseRequest(params)
589//
590//    err := req.Send()
591//    if err == nil { // resp is now filled
592//        fmt.Println(resp)
593//    }
594//
595// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse
596func (c *ApiGatewayV2) CreateIntegrationResponseRequest(input *CreateIntegrationResponseInput) (req *request.Request, output *CreateIntegrationResponseOutput) {
597	op := &request.Operation{
598		Name:       opCreateIntegrationResponse,
599		HTTPMethod: "POST",
600		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
601	}
602
603	if input == nil {
604		input = &CreateIntegrationResponseInput{}
605	}
606
607	output = &CreateIntegrationResponseOutput{}
608	req = c.newRequest(op, input, output)
609	return
610}
611
612// CreateIntegrationResponse API operation for AmazonApiGatewayV2.
613//
614// Creates an IntegrationResponses.
615//
616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
617// with awserr.Error's Code and Message methods to get detailed information about
618// the error.
619//
620// See the AWS API reference guide for AmazonApiGatewayV2's
621// API operation CreateIntegrationResponse for usage and error information.
622//
623// Returned Error Types:
624//   * NotFoundException
625//   The resource specified in the request was not found. See the message field
626//   for more information.
627//
628//   * TooManyRequestsException
629//   A limit has been exceeded. See the accompanying error message for details.
630//
631//   * BadRequestException
632//   The request is not valid, for example, the input is incomplete or incorrect.
633//   See the accompanying error message for details.
634//
635//   * ConflictException
636//   The requested operation would cause a conflict with the current state of
637//   a service resource associated with the request. Resolve the conflict before
638//   retrying this request. See the accompanying error message for details.
639//
640// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse
641func (c *ApiGatewayV2) CreateIntegrationResponse(input *CreateIntegrationResponseInput) (*CreateIntegrationResponseOutput, error) {
642	req, out := c.CreateIntegrationResponseRequest(input)
643	return out, req.Send()
644}
645
646// CreateIntegrationResponseWithContext is the same as CreateIntegrationResponse with the addition of
647// the ability to pass a context and additional request options.
648//
649// See CreateIntegrationResponse for details on how to use this API operation.
650//
651// The context must be non-nil and will be used for request cancellation. If
652// the context is nil a panic will occur. In the future the SDK may create
653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
654// for more information on using Contexts.
655func (c *ApiGatewayV2) CreateIntegrationResponseWithContext(ctx aws.Context, input *CreateIntegrationResponseInput, opts ...request.Option) (*CreateIntegrationResponseOutput, error) {
656	req, out := c.CreateIntegrationResponseRequest(input)
657	req.SetContext(ctx)
658	req.ApplyOptions(opts...)
659	return out, req.Send()
660}
661
662const opCreateModel = "CreateModel"
663
664// CreateModelRequest generates a "aws/request.Request" representing the
665// client's request for the CreateModel operation. The "output" return
666// value will be populated with the request's response once the request completes
667// successfully.
668//
669// Use "Send" method on the returned Request to send the API call to the service.
670// the "output" return value is not valid until after Send returns without error.
671//
672// See CreateModel for more information on using the CreateModel
673// API call, and error handling.
674//
675// This method is useful when you want to inject custom logic or configuration
676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
677//
678//
679//    // Example sending a request using the CreateModelRequest method.
680//    req, resp := client.CreateModelRequest(params)
681//
682//    err := req.Send()
683//    if err == nil { // resp is now filled
684//        fmt.Println(resp)
685//    }
686//
687// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel
688func (c *ApiGatewayV2) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) {
689	op := &request.Operation{
690		Name:       opCreateModel,
691		HTTPMethod: "POST",
692		HTTPPath:   "/v2/apis/{apiId}/models",
693	}
694
695	if input == nil {
696		input = &CreateModelInput{}
697	}
698
699	output = &CreateModelOutput{}
700	req = c.newRequest(op, input, output)
701	return
702}
703
704// CreateModel API operation for AmazonApiGatewayV2.
705//
706// Creates a Model for an API.
707//
708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
709// with awserr.Error's Code and Message methods to get detailed information about
710// the error.
711//
712// See the AWS API reference guide for AmazonApiGatewayV2's
713// API operation CreateModel for usage and error information.
714//
715// Returned Error Types:
716//   * NotFoundException
717//   The resource specified in the request was not found. See the message field
718//   for more information.
719//
720//   * TooManyRequestsException
721//   A limit has been exceeded. See the accompanying error message for details.
722//
723//   * BadRequestException
724//   The request is not valid, for example, the input is incomplete or incorrect.
725//   See the accompanying error message for details.
726//
727//   * ConflictException
728//   The requested operation would cause a conflict with the current state of
729//   a service resource associated with the request. Resolve the conflict before
730//   retrying this request. See the accompanying error message for details.
731//
732// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel
733func (c *ApiGatewayV2) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) {
734	req, out := c.CreateModelRequest(input)
735	return out, req.Send()
736}
737
738// CreateModelWithContext is the same as CreateModel with the addition of
739// the ability to pass a context and additional request options.
740//
741// See CreateModel for details on how to use this API operation.
742//
743// The context must be non-nil and will be used for request cancellation. If
744// the context is nil a panic will occur. In the future the SDK may create
745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
746// for more information on using Contexts.
747func (c *ApiGatewayV2) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) {
748	req, out := c.CreateModelRequest(input)
749	req.SetContext(ctx)
750	req.ApplyOptions(opts...)
751	return out, req.Send()
752}
753
754const opCreateRoute = "CreateRoute"
755
756// CreateRouteRequest generates a "aws/request.Request" representing the
757// client's request for the CreateRoute operation. The "output" return
758// value will be populated with the request's response once the request completes
759// successfully.
760//
761// Use "Send" method on the returned Request to send the API call to the service.
762// the "output" return value is not valid until after Send returns without error.
763//
764// See CreateRoute for more information on using the CreateRoute
765// API call, and error handling.
766//
767// This method is useful when you want to inject custom logic or configuration
768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
769//
770//
771//    // Example sending a request using the CreateRouteRequest method.
772//    req, resp := client.CreateRouteRequest(params)
773//
774//    err := req.Send()
775//    if err == nil { // resp is now filled
776//        fmt.Println(resp)
777//    }
778//
779// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute
780func (c *ApiGatewayV2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
781	op := &request.Operation{
782		Name:       opCreateRoute,
783		HTTPMethod: "POST",
784		HTTPPath:   "/v2/apis/{apiId}/routes",
785	}
786
787	if input == nil {
788		input = &CreateRouteInput{}
789	}
790
791	output = &CreateRouteOutput{}
792	req = c.newRequest(op, input, output)
793	return
794}
795
796// CreateRoute API operation for AmazonApiGatewayV2.
797//
798// Creates a Route for an API.
799//
800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
801// with awserr.Error's Code and Message methods to get detailed information about
802// the error.
803//
804// See the AWS API reference guide for AmazonApiGatewayV2's
805// API operation CreateRoute for usage and error information.
806//
807// Returned Error Types:
808//   * NotFoundException
809//   The resource specified in the request was not found. See the message field
810//   for more information.
811//
812//   * TooManyRequestsException
813//   A limit has been exceeded. See the accompanying error message for details.
814//
815//   * BadRequestException
816//   The request is not valid, for example, the input is incomplete or incorrect.
817//   See the accompanying error message for details.
818//
819//   * ConflictException
820//   The requested operation would cause a conflict with the current state of
821//   a service resource associated with the request. Resolve the conflict before
822//   retrying this request. See the accompanying error message for details.
823//
824// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute
825func (c *ApiGatewayV2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
826	req, out := c.CreateRouteRequest(input)
827	return out, req.Send()
828}
829
830// CreateRouteWithContext is the same as CreateRoute with the addition of
831// the ability to pass a context and additional request options.
832//
833// See CreateRoute for details on how to use this API operation.
834//
835// The context must be non-nil and will be used for request cancellation. If
836// the context is nil a panic will occur. In the future the SDK may create
837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
838// for more information on using Contexts.
839func (c *ApiGatewayV2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
840	req, out := c.CreateRouteRequest(input)
841	req.SetContext(ctx)
842	req.ApplyOptions(opts...)
843	return out, req.Send()
844}
845
846const opCreateRouteResponse = "CreateRouteResponse"
847
848// CreateRouteResponseRequest generates a "aws/request.Request" representing the
849// client's request for the CreateRouteResponse operation. The "output" return
850// value will be populated with the request's response once the request completes
851// successfully.
852//
853// Use "Send" method on the returned Request to send the API call to the service.
854// the "output" return value is not valid until after Send returns without error.
855//
856// See CreateRouteResponse for more information on using the CreateRouteResponse
857// API call, and error handling.
858//
859// This method is useful when you want to inject custom logic or configuration
860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
861//
862//
863//    // Example sending a request using the CreateRouteResponseRequest method.
864//    req, resp := client.CreateRouteResponseRequest(params)
865//
866//    err := req.Send()
867//    if err == nil { // resp is now filled
868//        fmt.Println(resp)
869//    }
870//
871// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse
872func (c *ApiGatewayV2) CreateRouteResponseRequest(input *CreateRouteResponseInput) (req *request.Request, output *CreateRouteResponseOutput) {
873	op := &request.Operation{
874		Name:       opCreateRouteResponse,
875		HTTPMethod: "POST",
876		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
877	}
878
879	if input == nil {
880		input = &CreateRouteResponseInput{}
881	}
882
883	output = &CreateRouteResponseOutput{}
884	req = c.newRequest(op, input, output)
885	return
886}
887
888// CreateRouteResponse API operation for AmazonApiGatewayV2.
889//
890// Creates a RouteResponse for a Route.
891//
892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
893// with awserr.Error's Code and Message methods to get detailed information about
894// the error.
895//
896// See the AWS API reference guide for AmazonApiGatewayV2's
897// API operation CreateRouteResponse for usage and error information.
898//
899// Returned Error Types:
900//   * NotFoundException
901//   The resource specified in the request was not found. See the message field
902//   for more information.
903//
904//   * TooManyRequestsException
905//   A limit has been exceeded. See the accompanying error message for details.
906//
907//   * BadRequestException
908//   The request is not valid, for example, the input is incomplete or incorrect.
909//   See the accompanying error message for details.
910//
911//   * ConflictException
912//   The requested operation would cause a conflict with the current state of
913//   a service resource associated with the request. Resolve the conflict before
914//   retrying this request. See the accompanying error message for details.
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse
917func (c *ApiGatewayV2) CreateRouteResponse(input *CreateRouteResponseInput) (*CreateRouteResponseOutput, error) {
918	req, out := c.CreateRouteResponseRequest(input)
919	return out, req.Send()
920}
921
922// CreateRouteResponseWithContext is the same as CreateRouteResponse with the addition of
923// the ability to pass a context and additional request options.
924//
925// See CreateRouteResponse for details on how to use this API operation.
926//
927// The context must be non-nil and will be used for request cancellation. If
928// the context is nil a panic will occur. In the future the SDK may create
929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
930// for more information on using Contexts.
931func (c *ApiGatewayV2) CreateRouteResponseWithContext(ctx aws.Context, input *CreateRouteResponseInput, opts ...request.Option) (*CreateRouteResponseOutput, error) {
932	req, out := c.CreateRouteResponseRequest(input)
933	req.SetContext(ctx)
934	req.ApplyOptions(opts...)
935	return out, req.Send()
936}
937
938const opCreateStage = "CreateStage"
939
940// CreateStageRequest generates a "aws/request.Request" representing the
941// client's request for the CreateStage operation. The "output" return
942// value will be populated with the request's response once the request completes
943// successfully.
944//
945// Use "Send" method on the returned Request to send the API call to the service.
946// the "output" return value is not valid until after Send returns without error.
947//
948// See CreateStage for more information on using the CreateStage
949// API call, and error handling.
950//
951// This method is useful when you want to inject custom logic or configuration
952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
953//
954//
955//    // Example sending a request using the CreateStageRequest method.
956//    req, resp := client.CreateStageRequest(params)
957//
958//    err := req.Send()
959//    if err == nil { // resp is now filled
960//        fmt.Println(resp)
961//    }
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage
964func (c *ApiGatewayV2) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *CreateStageOutput) {
965	op := &request.Operation{
966		Name:       opCreateStage,
967		HTTPMethod: "POST",
968		HTTPPath:   "/v2/apis/{apiId}/stages",
969	}
970
971	if input == nil {
972		input = &CreateStageInput{}
973	}
974
975	output = &CreateStageOutput{}
976	req = c.newRequest(op, input, output)
977	return
978}
979
980// CreateStage API operation for AmazonApiGatewayV2.
981//
982// Creates a Stage for an API.
983//
984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
985// with awserr.Error's Code and Message methods to get detailed information about
986// the error.
987//
988// See the AWS API reference guide for AmazonApiGatewayV2's
989// API operation CreateStage for usage and error information.
990//
991// Returned Error Types:
992//   * NotFoundException
993//   The resource specified in the request was not found. See the message field
994//   for more information.
995//
996//   * TooManyRequestsException
997//   A limit has been exceeded. See the accompanying error message for details.
998//
999//   * BadRequestException
1000//   The request is not valid, for example, the input is incomplete or incorrect.
1001//   See the accompanying error message for details.
1002//
1003//   * ConflictException
1004//   The requested operation would cause a conflict with the current state of
1005//   a service resource associated with the request. Resolve the conflict before
1006//   retrying this request. See the accompanying error message for details.
1007//
1008// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage
1009func (c *ApiGatewayV2) CreateStage(input *CreateStageInput) (*CreateStageOutput, error) {
1010	req, out := c.CreateStageRequest(input)
1011	return out, req.Send()
1012}
1013
1014// CreateStageWithContext is the same as CreateStage with the addition of
1015// the ability to pass a context and additional request options.
1016//
1017// See CreateStage for details on how to use this API operation.
1018//
1019// The context must be non-nil and will be used for request cancellation. If
1020// the context is nil a panic will occur. In the future the SDK may create
1021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1022// for more information on using Contexts.
1023func (c *ApiGatewayV2) CreateStageWithContext(ctx aws.Context, input *CreateStageInput, opts ...request.Option) (*CreateStageOutput, error) {
1024	req, out := c.CreateStageRequest(input)
1025	req.SetContext(ctx)
1026	req.ApplyOptions(opts...)
1027	return out, req.Send()
1028}
1029
1030const opCreateVpcLink = "CreateVpcLink"
1031
1032// CreateVpcLinkRequest generates a "aws/request.Request" representing the
1033// client's request for the CreateVpcLink operation. The "output" return
1034// value will be populated with the request's response once the request completes
1035// successfully.
1036//
1037// Use "Send" method on the returned Request to send the API call to the service.
1038// the "output" return value is not valid until after Send returns without error.
1039//
1040// See CreateVpcLink for more information on using the CreateVpcLink
1041// API call, and error handling.
1042//
1043// This method is useful when you want to inject custom logic or configuration
1044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1045//
1046//
1047//    // Example sending a request using the CreateVpcLinkRequest method.
1048//    req, resp := client.CreateVpcLinkRequest(params)
1049//
1050//    err := req.Send()
1051//    if err == nil { // resp is now filled
1052//        fmt.Println(resp)
1053//    }
1054//
1055// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateVpcLink
1056func (c *ApiGatewayV2) CreateVpcLinkRequest(input *CreateVpcLinkInput) (req *request.Request, output *CreateVpcLinkOutput) {
1057	op := &request.Operation{
1058		Name:       opCreateVpcLink,
1059		HTTPMethod: "POST",
1060		HTTPPath:   "/v2/vpclinks",
1061	}
1062
1063	if input == nil {
1064		input = &CreateVpcLinkInput{}
1065	}
1066
1067	output = &CreateVpcLinkOutput{}
1068	req = c.newRequest(op, input, output)
1069	return
1070}
1071
1072// CreateVpcLink API operation for AmazonApiGatewayV2.
1073//
1074// Creates a VPC link.
1075//
1076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1077// with awserr.Error's Code and Message methods to get detailed information about
1078// the error.
1079//
1080// See the AWS API reference guide for AmazonApiGatewayV2's
1081// API operation CreateVpcLink for usage and error information.
1082//
1083// Returned Error Types:
1084//   * BadRequestException
1085//   The request is not valid, for example, the input is incomplete or incorrect.
1086//   See the accompanying error message for details.
1087//
1088//   * TooManyRequestsException
1089//   A limit has been exceeded. See the accompanying error message for details.
1090//
1091// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateVpcLink
1092func (c *ApiGatewayV2) CreateVpcLink(input *CreateVpcLinkInput) (*CreateVpcLinkOutput, error) {
1093	req, out := c.CreateVpcLinkRequest(input)
1094	return out, req.Send()
1095}
1096
1097// CreateVpcLinkWithContext is the same as CreateVpcLink with the addition of
1098// the ability to pass a context and additional request options.
1099//
1100// See CreateVpcLink for details on how to use this API operation.
1101//
1102// The context must be non-nil and will be used for request cancellation. If
1103// the context is nil a panic will occur. In the future the SDK may create
1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1105// for more information on using Contexts.
1106func (c *ApiGatewayV2) CreateVpcLinkWithContext(ctx aws.Context, input *CreateVpcLinkInput, opts ...request.Option) (*CreateVpcLinkOutput, error) {
1107	req, out := c.CreateVpcLinkRequest(input)
1108	req.SetContext(ctx)
1109	req.ApplyOptions(opts...)
1110	return out, req.Send()
1111}
1112
1113const opDeleteAccessLogSettings = "DeleteAccessLogSettings"
1114
1115// DeleteAccessLogSettingsRequest generates a "aws/request.Request" representing the
1116// client's request for the DeleteAccessLogSettings operation. The "output" return
1117// value will be populated with the request's response once the request completes
1118// successfully.
1119//
1120// Use "Send" method on the returned Request to send the API call to the service.
1121// the "output" return value is not valid until after Send returns without error.
1122//
1123// See DeleteAccessLogSettings for more information on using the DeleteAccessLogSettings
1124// API call, and error handling.
1125//
1126// This method is useful when you want to inject custom logic or configuration
1127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1128//
1129//
1130//    // Example sending a request using the DeleteAccessLogSettingsRequest method.
1131//    req, resp := client.DeleteAccessLogSettingsRequest(params)
1132//
1133//    err := req.Send()
1134//    if err == nil { // resp is now filled
1135//        fmt.Println(resp)
1136//    }
1137//
1138// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAccessLogSettings
1139func (c *ApiGatewayV2) DeleteAccessLogSettingsRequest(input *DeleteAccessLogSettingsInput) (req *request.Request, output *DeleteAccessLogSettingsOutput) {
1140	op := &request.Operation{
1141		Name:       opDeleteAccessLogSettings,
1142		HTTPMethod: "DELETE",
1143		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/accesslogsettings",
1144	}
1145
1146	if input == nil {
1147		input = &DeleteAccessLogSettingsInput{}
1148	}
1149
1150	output = &DeleteAccessLogSettingsOutput{}
1151	req = c.newRequest(op, input, output)
1152	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1153	return
1154}
1155
1156// DeleteAccessLogSettings API operation for AmazonApiGatewayV2.
1157//
1158// Deletes the AccessLogSettings for a Stage. To disable access logging for
1159// a Stage, delete its AccessLogSettings.
1160//
1161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1162// with awserr.Error's Code and Message methods to get detailed information about
1163// the error.
1164//
1165// See the AWS API reference guide for AmazonApiGatewayV2's
1166// API operation DeleteAccessLogSettings for usage and error information.
1167//
1168// Returned Error Types:
1169//   * NotFoundException
1170//   The resource specified in the request was not found. See the message field
1171//   for more information.
1172//
1173//   * TooManyRequestsException
1174//   A limit has been exceeded. See the accompanying error message for details.
1175//
1176// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAccessLogSettings
1177func (c *ApiGatewayV2) DeleteAccessLogSettings(input *DeleteAccessLogSettingsInput) (*DeleteAccessLogSettingsOutput, error) {
1178	req, out := c.DeleteAccessLogSettingsRequest(input)
1179	return out, req.Send()
1180}
1181
1182// DeleteAccessLogSettingsWithContext is the same as DeleteAccessLogSettings with the addition of
1183// the ability to pass a context and additional request options.
1184//
1185// See DeleteAccessLogSettings for details on how to use this API operation.
1186//
1187// The context must be non-nil and will be used for request cancellation. If
1188// the context is nil a panic will occur. In the future the SDK may create
1189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1190// for more information on using Contexts.
1191func (c *ApiGatewayV2) DeleteAccessLogSettingsWithContext(ctx aws.Context, input *DeleteAccessLogSettingsInput, opts ...request.Option) (*DeleteAccessLogSettingsOutput, error) {
1192	req, out := c.DeleteAccessLogSettingsRequest(input)
1193	req.SetContext(ctx)
1194	req.ApplyOptions(opts...)
1195	return out, req.Send()
1196}
1197
1198const opDeleteApi = "DeleteApi"
1199
1200// DeleteApiRequest generates a "aws/request.Request" representing the
1201// client's request for the DeleteApi operation. The "output" return
1202// value will be populated with the request's response once the request completes
1203// successfully.
1204//
1205// Use "Send" method on the returned Request to send the API call to the service.
1206// the "output" return value is not valid until after Send returns without error.
1207//
1208// See DeleteApi for more information on using the DeleteApi
1209// API call, and error handling.
1210//
1211// This method is useful when you want to inject custom logic or configuration
1212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1213//
1214//
1215//    // Example sending a request using the DeleteApiRequest method.
1216//    req, resp := client.DeleteApiRequest(params)
1217//
1218//    err := req.Send()
1219//    if err == nil { // resp is now filled
1220//        fmt.Println(resp)
1221//    }
1222//
1223// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi
1224func (c *ApiGatewayV2) DeleteApiRequest(input *DeleteApiInput) (req *request.Request, output *DeleteApiOutput) {
1225	op := &request.Operation{
1226		Name:       opDeleteApi,
1227		HTTPMethod: "DELETE",
1228		HTTPPath:   "/v2/apis/{apiId}",
1229	}
1230
1231	if input == nil {
1232		input = &DeleteApiInput{}
1233	}
1234
1235	output = &DeleteApiOutput{}
1236	req = c.newRequest(op, input, output)
1237	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1238	return
1239}
1240
1241// DeleteApi API operation for AmazonApiGatewayV2.
1242//
1243// Deletes an Api resource.
1244//
1245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1246// with awserr.Error's Code and Message methods to get detailed information about
1247// the error.
1248//
1249// See the AWS API reference guide for AmazonApiGatewayV2's
1250// API operation DeleteApi for usage and error information.
1251//
1252// Returned Error Types:
1253//   * NotFoundException
1254//   The resource specified in the request was not found. See the message field
1255//   for more information.
1256//
1257//   * TooManyRequestsException
1258//   A limit has been exceeded. See the accompanying error message for details.
1259//
1260// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi
1261func (c *ApiGatewayV2) DeleteApi(input *DeleteApiInput) (*DeleteApiOutput, error) {
1262	req, out := c.DeleteApiRequest(input)
1263	return out, req.Send()
1264}
1265
1266// DeleteApiWithContext is the same as DeleteApi with the addition of
1267// the ability to pass a context and additional request options.
1268//
1269// See DeleteApi for details on how to use this API operation.
1270//
1271// The context must be non-nil and will be used for request cancellation. If
1272// the context is nil a panic will occur. In the future the SDK may create
1273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1274// for more information on using Contexts.
1275func (c *ApiGatewayV2) DeleteApiWithContext(ctx aws.Context, input *DeleteApiInput, opts ...request.Option) (*DeleteApiOutput, error) {
1276	req, out := c.DeleteApiRequest(input)
1277	req.SetContext(ctx)
1278	req.ApplyOptions(opts...)
1279	return out, req.Send()
1280}
1281
1282const opDeleteApiMapping = "DeleteApiMapping"
1283
1284// DeleteApiMappingRequest generates a "aws/request.Request" representing the
1285// client's request for the DeleteApiMapping operation. The "output" return
1286// value will be populated with the request's response once the request completes
1287// successfully.
1288//
1289// Use "Send" method on the returned Request to send the API call to the service.
1290// the "output" return value is not valid until after Send returns without error.
1291//
1292// See DeleteApiMapping for more information on using the DeleteApiMapping
1293// API call, and error handling.
1294//
1295// This method is useful when you want to inject custom logic or configuration
1296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1297//
1298//
1299//    // Example sending a request using the DeleteApiMappingRequest method.
1300//    req, resp := client.DeleteApiMappingRequest(params)
1301//
1302//    err := req.Send()
1303//    if err == nil { // resp is now filled
1304//        fmt.Println(resp)
1305//    }
1306//
1307// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping
1308func (c *ApiGatewayV2) DeleteApiMappingRequest(input *DeleteApiMappingInput) (req *request.Request, output *DeleteApiMappingOutput) {
1309	op := &request.Operation{
1310		Name:       opDeleteApiMapping,
1311		HTTPMethod: "DELETE",
1312		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
1313	}
1314
1315	if input == nil {
1316		input = &DeleteApiMappingInput{}
1317	}
1318
1319	output = &DeleteApiMappingOutput{}
1320	req = c.newRequest(op, input, output)
1321	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1322	return
1323}
1324
1325// DeleteApiMapping API operation for AmazonApiGatewayV2.
1326//
1327// Deletes an API mapping.
1328//
1329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1330// with awserr.Error's Code and Message methods to get detailed information about
1331// the error.
1332//
1333// See the AWS API reference guide for AmazonApiGatewayV2's
1334// API operation DeleteApiMapping for usage and error information.
1335//
1336// Returned Error Types:
1337//   * NotFoundException
1338//   The resource specified in the request was not found. See the message field
1339//   for more information.
1340//
1341//   * TooManyRequestsException
1342//   A limit has been exceeded. See the accompanying error message for details.
1343//
1344//   * BadRequestException
1345//   The request is not valid, for example, the input is incomplete or incorrect.
1346//   See the accompanying error message for details.
1347//
1348// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping
1349func (c *ApiGatewayV2) DeleteApiMapping(input *DeleteApiMappingInput) (*DeleteApiMappingOutput, error) {
1350	req, out := c.DeleteApiMappingRequest(input)
1351	return out, req.Send()
1352}
1353
1354// DeleteApiMappingWithContext is the same as DeleteApiMapping with the addition of
1355// the ability to pass a context and additional request options.
1356//
1357// See DeleteApiMapping for details on how to use this API operation.
1358//
1359// The context must be non-nil and will be used for request cancellation. If
1360// the context is nil a panic will occur. In the future the SDK may create
1361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1362// for more information on using Contexts.
1363func (c *ApiGatewayV2) DeleteApiMappingWithContext(ctx aws.Context, input *DeleteApiMappingInput, opts ...request.Option) (*DeleteApiMappingOutput, error) {
1364	req, out := c.DeleteApiMappingRequest(input)
1365	req.SetContext(ctx)
1366	req.ApplyOptions(opts...)
1367	return out, req.Send()
1368}
1369
1370const opDeleteAuthorizer = "DeleteAuthorizer"
1371
1372// DeleteAuthorizerRequest generates a "aws/request.Request" representing the
1373// client's request for the DeleteAuthorizer operation. The "output" return
1374// value will be populated with the request's response once the request completes
1375// successfully.
1376//
1377// Use "Send" method on the returned Request to send the API call to the service.
1378// the "output" return value is not valid until after Send returns without error.
1379//
1380// See DeleteAuthorizer for more information on using the DeleteAuthorizer
1381// API call, and error handling.
1382//
1383// This method is useful when you want to inject custom logic or configuration
1384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1385//
1386//
1387//    // Example sending a request using the DeleteAuthorizerRequest method.
1388//    req, resp := client.DeleteAuthorizerRequest(params)
1389//
1390//    err := req.Send()
1391//    if err == nil { // resp is now filled
1392//        fmt.Println(resp)
1393//    }
1394//
1395// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer
1396func (c *ApiGatewayV2) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) {
1397	op := &request.Operation{
1398		Name:       opDeleteAuthorizer,
1399		HTTPMethod: "DELETE",
1400		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
1401	}
1402
1403	if input == nil {
1404		input = &DeleteAuthorizerInput{}
1405	}
1406
1407	output = &DeleteAuthorizerOutput{}
1408	req = c.newRequest(op, input, output)
1409	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1410	return
1411}
1412
1413// DeleteAuthorizer API operation for AmazonApiGatewayV2.
1414//
1415// Deletes an Authorizer.
1416//
1417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1418// with awserr.Error's Code and Message methods to get detailed information about
1419// the error.
1420//
1421// See the AWS API reference guide for AmazonApiGatewayV2's
1422// API operation DeleteAuthorizer for usage and error information.
1423//
1424// Returned Error Types:
1425//   * NotFoundException
1426//   The resource specified in the request was not found. See the message field
1427//   for more information.
1428//
1429//   * TooManyRequestsException
1430//   A limit has been exceeded. See the accompanying error message for details.
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer
1433func (c *ApiGatewayV2) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) {
1434	req, out := c.DeleteAuthorizerRequest(input)
1435	return out, req.Send()
1436}
1437
1438// DeleteAuthorizerWithContext is the same as DeleteAuthorizer with the addition of
1439// the ability to pass a context and additional request options.
1440//
1441// See DeleteAuthorizer for details on how to use this API operation.
1442//
1443// The context must be non-nil and will be used for request cancellation. If
1444// the context is nil a panic will occur. In the future the SDK may create
1445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1446// for more information on using Contexts.
1447func (c *ApiGatewayV2) DeleteAuthorizerWithContext(ctx aws.Context, input *DeleteAuthorizerInput, opts ...request.Option) (*DeleteAuthorizerOutput, error) {
1448	req, out := c.DeleteAuthorizerRequest(input)
1449	req.SetContext(ctx)
1450	req.ApplyOptions(opts...)
1451	return out, req.Send()
1452}
1453
1454const opDeleteCorsConfiguration = "DeleteCorsConfiguration"
1455
1456// DeleteCorsConfigurationRequest generates a "aws/request.Request" representing the
1457// client's request for the DeleteCorsConfiguration operation. The "output" return
1458// value will be populated with the request's response once the request completes
1459// successfully.
1460//
1461// Use "Send" method on the returned Request to send the API call to the service.
1462// the "output" return value is not valid until after Send returns without error.
1463//
1464// See DeleteCorsConfiguration for more information on using the DeleteCorsConfiguration
1465// API call, and error handling.
1466//
1467// This method is useful when you want to inject custom logic or configuration
1468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1469//
1470//
1471//    // Example sending a request using the DeleteCorsConfigurationRequest method.
1472//    req, resp := client.DeleteCorsConfigurationRequest(params)
1473//
1474//    err := req.Send()
1475//    if err == nil { // resp is now filled
1476//        fmt.Println(resp)
1477//    }
1478//
1479// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteCorsConfiguration
1480func (c *ApiGatewayV2) DeleteCorsConfigurationRequest(input *DeleteCorsConfigurationInput) (req *request.Request, output *DeleteCorsConfigurationOutput) {
1481	op := &request.Operation{
1482		Name:       opDeleteCorsConfiguration,
1483		HTTPMethod: "DELETE",
1484		HTTPPath:   "/v2/apis/{apiId}/cors",
1485	}
1486
1487	if input == nil {
1488		input = &DeleteCorsConfigurationInput{}
1489	}
1490
1491	output = &DeleteCorsConfigurationOutput{}
1492	req = c.newRequest(op, input, output)
1493	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1494	return
1495}
1496
1497// DeleteCorsConfiguration API operation for AmazonApiGatewayV2.
1498//
1499// Deletes a CORS configuration.
1500//
1501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1502// with awserr.Error's Code and Message methods to get detailed information about
1503// the error.
1504//
1505// See the AWS API reference guide for AmazonApiGatewayV2's
1506// API operation DeleteCorsConfiguration for usage and error information.
1507//
1508// Returned Error Types:
1509//   * NotFoundException
1510//   The resource specified in the request was not found. See the message field
1511//   for more information.
1512//
1513//   * TooManyRequestsException
1514//   A limit has been exceeded. See the accompanying error message for details.
1515//
1516// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteCorsConfiguration
1517func (c *ApiGatewayV2) DeleteCorsConfiguration(input *DeleteCorsConfigurationInput) (*DeleteCorsConfigurationOutput, error) {
1518	req, out := c.DeleteCorsConfigurationRequest(input)
1519	return out, req.Send()
1520}
1521
1522// DeleteCorsConfigurationWithContext is the same as DeleteCorsConfiguration with the addition of
1523// the ability to pass a context and additional request options.
1524//
1525// See DeleteCorsConfiguration for details on how to use this API operation.
1526//
1527// The context must be non-nil and will be used for request cancellation. If
1528// the context is nil a panic will occur. In the future the SDK may create
1529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1530// for more information on using Contexts.
1531func (c *ApiGatewayV2) DeleteCorsConfigurationWithContext(ctx aws.Context, input *DeleteCorsConfigurationInput, opts ...request.Option) (*DeleteCorsConfigurationOutput, error) {
1532	req, out := c.DeleteCorsConfigurationRequest(input)
1533	req.SetContext(ctx)
1534	req.ApplyOptions(opts...)
1535	return out, req.Send()
1536}
1537
1538const opDeleteDeployment = "DeleteDeployment"
1539
1540// DeleteDeploymentRequest generates a "aws/request.Request" representing the
1541// client's request for the DeleteDeployment operation. The "output" return
1542// value will be populated with the request's response once the request completes
1543// successfully.
1544//
1545// Use "Send" method on the returned Request to send the API call to the service.
1546// the "output" return value is not valid until after Send returns without error.
1547//
1548// See DeleteDeployment for more information on using the DeleteDeployment
1549// API call, and error handling.
1550//
1551// This method is useful when you want to inject custom logic or configuration
1552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1553//
1554//
1555//    // Example sending a request using the DeleteDeploymentRequest method.
1556//    req, resp := client.DeleteDeploymentRequest(params)
1557//
1558//    err := req.Send()
1559//    if err == nil { // resp is now filled
1560//        fmt.Println(resp)
1561//    }
1562//
1563// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment
1564func (c *ApiGatewayV2) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) {
1565	op := &request.Operation{
1566		Name:       opDeleteDeployment,
1567		HTTPMethod: "DELETE",
1568		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
1569	}
1570
1571	if input == nil {
1572		input = &DeleteDeploymentInput{}
1573	}
1574
1575	output = &DeleteDeploymentOutput{}
1576	req = c.newRequest(op, input, output)
1577	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1578	return
1579}
1580
1581// DeleteDeployment API operation for AmazonApiGatewayV2.
1582//
1583// Deletes a Deployment.
1584//
1585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1586// with awserr.Error's Code and Message methods to get detailed information about
1587// the error.
1588//
1589// See the AWS API reference guide for AmazonApiGatewayV2's
1590// API operation DeleteDeployment for usage and error information.
1591//
1592// Returned Error Types:
1593//   * NotFoundException
1594//   The resource specified in the request was not found. See the message field
1595//   for more information.
1596//
1597//   * TooManyRequestsException
1598//   A limit has been exceeded. See the accompanying error message for details.
1599//
1600// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment
1601func (c *ApiGatewayV2) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) {
1602	req, out := c.DeleteDeploymentRequest(input)
1603	return out, req.Send()
1604}
1605
1606// DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of
1607// the ability to pass a context and additional request options.
1608//
1609// See DeleteDeployment for details on how to use this API operation.
1610//
1611// The context must be non-nil and will be used for request cancellation. If
1612// the context is nil a panic will occur. In the future the SDK may create
1613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1614// for more information on using Contexts.
1615func (c *ApiGatewayV2) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) {
1616	req, out := c.DeleteDeploymentRequest(input)
1617	req.SetContext(ctx)
1618	req.ApplyOptions(opts...)
1619	return out, req.Send()
1620}
1621
1622const opDeleteDomainName = "DeleteDomainName"
1623
1624// DeleteDomainNameRequest generates a "aws/request.Request" representing the
1625// client's request for the DeleteDomainName operation. The "output" return
1626// value will be populated with the request's response once the request completes
1627// successfully.
1628//
1629// Use "Send" method on the returned Request to send the API call to the service.
1630// the "output" return value is not valid until after Send returns without error.
1631//
1632// See DeleteDomainName for more information on using the DeleteDomainName
1633// API call, and error handling.
1634//
1635// This method is useful when you want to inject custom logic or configuration
1636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1637//
1638//
1639//    // Example sending a request using the DeleteDomainNameRequest method.
1640//    req, resp := client.DeleteDomainNameRequest(params)
1641//
1642//    err := req.Send()
1643//    if err == nil { // resp is now filled
1644//        fmt.Println(resp)
1645//    }
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName
1648func (c *ApiGatewayV2) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) {
1649	op := &request.Operation{
1650		Name:       opDeleteDomainName,
1651		HTTPMethod: "DELETE",
1652		HTTPPath:   "/v2/domainnames/{domainName}",
1653	}
1654
1655	if input == nil {
1656		input = &DeleteDomainNameInput{}
1657	}
1658
1659	output = &DeleteDomainNameOutput{}
1660	req = c.newRequest(op, input, output)
1661	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1662	return
1663}
1664
1665// DeleteDomainName API operation for AmazonApiGatewayV2.
1666//
1667// Deletes a domain name.
1668//
1669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1670// with awserr.Error's Code and Message methods to get detailed information about
1671// the error.
1672//
1673// See the AWS API reference guide for AmazonApiGatewayV2's
1674// API operation DeleteDomainName for usage and error information.
1675//
1676// Returned Error Types:
1677//   * NotFoundException
1678//   The resource specified in the request was not found. See the message field
1679//   for more information.
1680//
1681//   * TooManyRequestsException
1682//   A limit has been exceeded. See the accompanying error message for details.
1683//
1684// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName
1685func (c *ApiGatewayV2) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) {
1686	req, out := c.DeleteDomainNameRequest(input)
1687	return out, req.Send()
1688}
1689
1690// DeleteDomainNameWithContext is the same as DeleteDomainName with the addition of
1691// the ability to pass a context and additional request options.
1692//
1693// See DeleteDomainName for details on how to use this API operation.
1694//
1695// The context must be non-nil and will be used for request cancellation. If
1696// the context is nil a panic will occur. In the future the SDK may create
1697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1698// for more information on using Contexts.
1699func (c *ApiGatewayV2) DeleteDomainNameWithContext(ctx aws.Context, input *DeleteDomainNameInput, opts ...request.Option) (*DeleteDomainNameOutput, error) {
1700	req, out := c.DeleteDomainNameRequest(input)
1701	req.SetContext(ctx)
1702	req.ApplyOptions(opts...)
1703	return out, req.Send()
1704}
1705
1706const opDeleteIntegration = "DeleteIntegration"
1707
1708// DeleteIntegrationRequest generates a "aws/request.Request" representing the
1709// client's request for the DeleteIntegration operation. The "output" return
1710// value will be populated with the request's response once the request completes
1711// successfully.
1712//
1713// Use "Send" method on the returned Request to send the API call to the service.
1714// the "output" return value is not valid until after Send returns without error.
1715//
1716// See DeleteIntegration for more information on using the DeleteIntegration
1717// API call, and error handling.
1718//
1719// This method is useful when you want to inject custom logic or configuration
1720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1721//
1722//
1723//    // Example sending a request using the DeleteIntegrationRequest method.
1724//    req, resp := client.DeleteIntegrationRequest(params)
1725//
1726//    err := req.Send()
1727//    if err == nil { // resp is now filled
1728//        fmt.Println(resp)
1729//    }
1730//
1731// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration
1732func (c *ApiGatewayV2) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) {
1733	op := &request.Operation{
1734		Name:       opDeleteIntegration,
1735		HTTPMethod: "DELETE",
1736		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
1737	}
1738
1739	if input == nil {
1740		input = &DeleteIntegrationInput{}
1741	}
1742
1743	output = &DeleteIntegrationOutput{}
1744	req = c.newRequest(op, input, output)
1745	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1746	return
1747}
1748
1749// DeleteIntegration API operation for AmazonApiGatewayV2.
1750//
1751// Deletes an Integration.
1752//
1753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1754// with awserr.Error's Code and Message methods to get detailed information about
1755// the error.
1756//
1757// See the AWS API reference guide for AmazonApiGatewayV2's
1758// API operation DeleteIntegration for usage and error information.
1759//
1760// Returned Error Types:
1761//   * NotFoundException
1762//   The resource specified in the request was not found. See the message field
1763//   for more information.
1764//
1765//   * TooManyRequestsException
1766//   A limit has been exceeded. See the accompanying error message for details.
1767//
1768// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration
1769func (c *ApiGatewayV2) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) {
1770	req, out := c.DeleteIntegrationRequest(input)
1771	return out, req.Send()
1772}
1773
1774// DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of
1775// the ability to pass a context and additional request options.
1776//
1777// See DeleteIntegration for details on how to use this API operation.
1778//
1779// The context must be non-nil and will be used for request cancellation. If
1780// the context is nil a panic will occur. In the future the SDK may create
1781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1782// for more information on using Contexts.
1783func (c *ApiGatewayV2) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) {
1784	req, out := c.DeleteIntegrationRequest(input)
1785	req.SetContext(ctx)
1786	req.ApplyOptions(opts...)
1787	return out, req.Send()
1788}
1789
1790const opDeleteIntegrationResponse = "DeleteIntegrationResponse"
1791
1792// DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the
1793// client's request for the DeleteIntegrationResponse operation. The "output" return
1794// value will be populated with the request's response once the request completes
1795// successfully.
1796//
1797// Use "Send" method on the returned Request to send the API call to the service.
1798// the "output" return value is not valid until after Send returns without error.
1799//
1800// See DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse
1801// API call, and error handling.
1802//
1803// This method is useful when you want to inject custom logic or configuration
1804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1805//
1806//
1807//    // Example sending a request using the DeleteIntegrationResponseRequest method.
1808//    req, resp := client.DeleteIntegrationResponseRequest(params)
1809//
1810//    err := req.Send()
1811//    if err == nil { // resp is now filled
1812//        fmt.Println(resp)
1813//    }
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse
1816func (c *ApiGatewayV2) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) {
1817	op := &request.Operation{
1818		Name:       opDeleteIntegrationResponse,
1819		HTTPMethod: "DELETE",
1820		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
1821	}
1822
1823	if input == nil {
1824		input = &DeleteIntegrationResponseInput{}
1825	}
1826
1827	output = &DeleteIntegrationResponseOutput{}
1828	req = c.newRequest(op, input, output)
1829	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1830	return
1831}
1832
1833// DeleteIntegrationResponse API operation for AmazonApiGatewayV2.
1834//
1835// Deletes an IntegrationResponses.
1836//
1837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1838// with awserr.Error's Code and Message methods to get detailed information about
1839// the error.
1840//
1841// See the AWS API reference guide for AmazonApiGatewayV2's
1842// API operation DeleteIntegrationResponse for usage and error information.
1843//
1844// Returned Error Types:
1845//   * NotFoundException
1846//   The resource specified in the request was not found. See the message field
1847//   for more information.
1848//
1849//   * TooManyRequestsException
1850//   A limit has been exceeded. See the accompanying error message for details.
1851//
1852// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse
1853func (c *ApiGatewayV2) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) {
1854	req, out := c.DeleteIntegrationResponseRequest(input)
1855	return out, req.Send()
1856}
1857
1858// DeleteIntegrationResponseWithContext is the same as DeleteIntegrationResponse with the addition of
1859// the ability to pass a context and additional request options.
1860//
1861// See DeleteIntegrationResponse for details on how to use this API operation.
1862//
1863// The context must be non-nil and will be used for request cancellation. If
1864// the context is nil a panic will occur. In the future the SDK may create
1865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1866// for more information on using Contexts.
1867func (c *ApiGatewayV2) DeleteIntegrationResponseWithContext(ctx aws.Context, input *DeleteIntegrationResponseInput, opts ...request.Option) (*DeleteIntegrationResponseOutput, error) {
1868	req, out := c.DeleteIntegrationResponseRequest(input)
1869	req.SetContext(ctx)
1870	req.ApplyOptions(opts...)
1871	return out, req.Send()
1872}
1873
1874const opDeleteModel = "DeleteModel"
1875
1876// DeleteModelRequest generates a "aws/request.Request" representing the
1877// client's request for the DeleteModel operation. The "output" return
1878// value will be populated with the request's response once the request completes
1879// successfully.
1880//
1881// Use "Send" method on the returned Request to send the API call to the service.
1882// the "output" return value is not valid until after Send returns without error.
1883//
1884// See DeleteModel for more information on using the DeleteModel
1885// API call, and error handling.
1886//
1887// This method is useful when you want to inject custom logic or configuration
1888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1889//
1890//
1891//    // Example sending a request using the DeleteModelRequest method.
1892//    req, resp := client.DeleteModelRequest(params)
1893//
1894//    err := req.Send()
1895//    if err == nil { // resp is now filled
1896//        fmt.Println(resp)
1897//    }
1898//
1899// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel
1900func (c *ApiGatewayV2) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) {
1901	op := &request.Operation{
1902		Name:       opDeleteModel,
1903		HTTPMethod: "DELETE",
1904		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
1905	}
1906
1907	if input == nil {
1908		input = &DeleteModelInput{}
1909	}
1910
1911	output = &DeleteModelOutput{}
1912	req = c.newRequest(op, input, output)
1913	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1914	return
1915}
1916
1917// DeleteModel API operation for AmazonApiGatewayV2.
1918//
1919// Deletes a Model.
1920//
1921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1922// with awserr.Error's Code and Message methods to get detailed information about
1923// the error.
1924//
1925// See the AWS API reference guide for AmazonApiGatewayV2's
1926// API operation DeleteModel for usage and error information.
1927//
1928// Returned Error Types:
1929//   * NotFoundException
1930//   The resource specified in the request was not found. See the message field
1931//   for more information.
1932//
1933//   * TooManyRequestsException
1934//   A limit has been exceeded. See the accompanying error message for details.
1935//
1936// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel
1937func (c *ApiGatewayV2) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) {
1938	req, out := c.DeleteModelRequest(input)
1939	return out, req.Send()
1940}
1941
1942// DeleteModelWithContext is the same as DeleteModel with the addition of
1943// the ability to pass a context and additional request options.
1944//
1945// See DeleteModel for details on how to use this API operation.
1946//
1947// The context must be non-nil and will be used for request cancellation. If
1948// the context is nil a panic will occur. In the future the SDK may create
1949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1950// for more information on using Contexts.
1951func (c *ApiGatewayV2) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) {
1952	req, out := c.DeleteModelRequest(input)
1953	req.SetContext(ctx)
1954	req.ApplyOptions(opts...)
1955	return out, req.Send()
1956}
1957
1958const opDeleteRoute = "DeleteRoute"
1959
1960// DeleteRouteRequest generates a "aws/request.Request" representing the
1961// client's request for the DeleteRoute operation. The "output" return
1962// value will be populated with the request's response once the request completes
1963// successfully.
1964//
1965// Use "Send" method on the returned Request to send the API call to the service.
1966// the "output" return value is not valid until after Send returns without error.
1967//
1968// See DeleteRoute for more information on using the DeleteRoute
1969// API call, and error handling.
1970//
1971// This method is useful when you want to inject custom logic or configuration
1972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1973//
1974//
1975//    // Example sending a request using the DeleteRouteRequest method.
1976//    req, resp := client.DeleteRouteRequest(params)
1977//
1978//    err := req.Send()
1979//    if err == nil { // resp is now filled
1980//        fmt.Println(resp)
1981//    }
1982//
1983// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute
1984func (c *ApiGatewayV2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
1985	op := &request.Operation{
1986		Name:       opDeleteRoute,
1987		HTTPMethod: "DELETE",
1988		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
1989	}
1990
1991	if input == nil {
1992		input = &DeleteRouteInput{}
1993	}
1994
1995	output = &DeleteRouteOutput{}
1996	req = c.newRequest(op, input, output)
1997	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1998	return
1999}
2000
2001// DeleteRoute API operation for AmazonApiGatewayV2.
2002//
2003// Deletes a Route.
2004//
2005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2006// with awserr.Error's Code and Message methods to get detailed information about
2007// the error.
2008//
2009// See the AWS API reference guide for AmazonApiGatewayV2's
2010// API operation DeleteRoute for usage and error information.
2011//
2012// Returned Error Types:
2013//   * NotFoundException
2014//   The resource specified in the request was not found. See the message field
2015//   for more information.
2016//
2017//   * TooManyRequestsException
2018//   A limit has been exceeded. See the accompanying error message for details.
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute
2021func (c *ApiGatewayV2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
2022	req, out := c.DeleteRouteRequest(input)
2023	return out, req.Send()
2024}
2025
2026// DeleteRouteWithContext is the same as DeleteRoute with the addition of
2027// the ability to pass a context and additional request options.
2028//
2029// See DeleteRoute for details on how to use this API operation.
2030//
2031// The context must be non-nil and will be used for request cancellation. If
2032// the context is nil a panic will occur. In the future the SDK may create
2033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2034// for more information on using Contexts.
2035func (c *ApiGatewayV2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
2036	req, out := c.DeleteRouteRequest(input)
2037	req.SetContext(ctx)
2038	req.ApplyOptions(opts...)
2039	return out, req.Send()
2040}
2041
2042const opDeleteRouteRequestParameter = "DeleteRouteRequestParameter"
2043
2044// DeleteRouteRequestParameterRequest generates a "aws/request.Request" representing the
2045// client's request for the DeleteRouteRequestParameter operation. The "output" return
2046// value will be populated with the request's response once the request completes
2047// successfully.
2048//
2049// Use "Send" method on the returned Request to send the API call to the service.
2050// the "output" return value is not valid until after Send returns without error.
2051//
2052// See DeleteRouteRequestParameter for more information on using the DeleteRouteRequestParameter
2053// API call, and error handling.
2054//
2055// This method is useful when you want to inject custom logic or configuration
2056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2057//
2058//
2059//    // Example sending a request using the DeleteRouteRequestParameterRequest method.
2060//    req, resp := client.DeleteRouteRequestParameterRequest(params)
2061//
2062//    err := req.Send()
2063//    if err == nil { // resp is now filled
2064//        fmt.Println(resp)
2065//    }
2066//
2067// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteRequestParameter
2068func (c *ApiGatewayV2) DeleteRouteRequestParameterRequest(input *DeleteRouteRequestParameterInput) (req *request.Request, output *DeleteRouteRequestParameterOutput) {
2069	op := &request.Operation{
2070		Name:       opDeleteRouteRequestParameter,
2071		HTTPMethod: "DELETE",
2072		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/requestparameters/{requestParameterKey}",
2073	}
2074
2075	if input == nil {
2076		input = &DeleteRouteRequestParameterInput{}
2077	}
2078
2079	output = &DeleteRouteRequestParameterOutput{}
2080	req = c.newRequest(op, input, output)
2081	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2082	return
2083}
2084
2085// DeleteRouteRequestParameter API operation for AmazonApiGatewayV2.
2086//
2087// Deletes a route request parameter.
2088//
2089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2090// with awserr.Error's Code and Message methods to get detailed information about
2091// the error.
2092//
2093// See the AWS API reference guide for AmazonApiGatewayV2's
2094// API operation DeleteRouteRequestParameter for usage and error information.
2095//
2096// Returned Error Types:
2097//   * NotFoundException
2098//   The resource specified in the request was not found. See the message field
2099//   for more information.
2100//
2101//   * TooManyRequestsException
2102//   A limit has been exceeded. See the accompanying error message for details.
2103//
2104// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteRequestParameter
2105func (c *ApiGatewayV2) DeleteRouteRequestParameter(input *DeleteRouteRequestParameterInput) (*DeleteRouteRequestParameterOutput, error) {
2106	req, out := c.DeleteRouteRequestParameterRequest(input)
2107	return out, req.Send()
2108}
2109
2110// DeleteRouteRequestParameterWithContext is the same as DeleteRouteRequestParameter with the addition of
2111// the ability to pass a context and additional request options.
2112//
2113// See DeleteRouteRequestParameter for details on how to use this API operation.
2114//
2115// The context must be non-nil and will be used for request cancellation. If
2116// the context is nil a panic will occur. In the future the SDK may create
2117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2118// for more information on using Contexts.
2119func (c *ApiGatewayV2) DeleteRouteRequestParameterWithContext(ctx aws.Context, input *DeleteRouteRequestParameterInput, opts ...request.Option) (*DeleteRouteRequestParameterOutput, error) {
2120	req, out := c.DeleteRouteRequestParameterRequest(input)
2121	req.SetContext(ctx)
2122	req.ApplyOptions(opts...)
2123	return out, req.Send()
2124}
2125
2126const opDeleteRouteResponse = "DeleteRouteResponse"
2127
2128// DeleteRouteResponseRequest generates a "aws/request.Request" representing the
2129// client's request for the DeleteRouteResponse operation. The "output" return
2130// value will be populated with the request's response once the request completes
2131// successfully.
2132//
2133// Use "Send" method on the returned Request to send the API call to the service.
2134// the "output" return value is not valid until after Send returns without error.
2135//
2136// See DeleteRouteResponse for more information on using the DeleteRouteResponse
2137// API call, and error handling.
2138//
2139// This method is useful when you want to inject custom logic or configuration
2140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2141//
2142//
2143//    // Example sending a request using the DeleteRouteResponseRequest method.
2144//    req, resp := client.DeleteRouteResponseRequest(params)
2145//
2146//    err := req.Send()
2147//    if err == nil { // resp is now filled
2148//        fmt.Println(resp)
2149//    }
2150//
2151// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse
2152func (c *ApiGatewayV2) DeleteRouteResponseRequest(input *DeleteRouteResponseInput) (req *request.Request, output *DeleteRouteResponseOutput) {
2153	op := &request.Operation{
2154		Name:       opDeleteRouteResponse,
2155		HTTPMethod: "DELETE",
2156		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
2157	}
2158
2159	if input == nil {
2160		input = &DeleteRouteResponseInput{}
2161	}
2162
2163	output = &DeleteRouteResponseOutput{}
2164	req = c.newRequest(op, input, output)
2165	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2166	return
2167}
2168
2169// DeleteRouteResponse API operation for AmazonApiGatewayV2.
2170//
2171// Deletes a RouteResponse.
2172//
2173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2174// with awserr.Error's Code and Message methods to get detailed information about
2175// the error.
2176//
2177// See the AWS API reference guide for AmazonApiGatewayV2's
2178// API operation DeleteRouteResponse for usage and error information.
2179//
2180// Returned Error Types:
2181//   * NotFoundException
2182//   The resource specified in the request was not found. See the message field
2183//   for more information.
2184//
2185//   * TooManyRequestsException
2186//   A limit has been exceeded. See the accompanying error message for details.
2187//
2188// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse
2189func (c *ApiGatewayV2) DeleteRouteResponse(input *DeleteRouteResponseInput) (*DeleteRouteResponseOutput, error) {
2190	req, out := c.DeleteRouteResponseRequest(input)
2191	return out, req.Send()
2192}
2193
2194// DeleteRouteResponseWithContext is the same as DeleteRouteResponse with the addition of
2195// the ability to pass a context and additional request options.
2196//
2197// See DeleteRouteResponse for details on how to use this API operation.
2198//
2199// The context must be non-nil and will be used for request cancellation. If
2200// the context is nil a panic will occur. In the future the SDK may create
2201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2202// for more information on using Contexts.
2203func (c *ApiGatewayV2) DeleteRouteResponseWithContext(ctx aws.Context, input *DeleteRouteResponseInput, opts ...request.Option) (*DeleteRouteResponseOutput, error) {
2204	req, out := c.DeleteRouteResponseRequest(input)
2205	req.SetContext(ctx)
2206	req.ApplyOptions(opts...)
2207	return out, req.Send()
2208}
2209
2210const opDeleteRouteSettings = "DeleteRouteSettings"
2211
2212// DeleteRouteSettingsRequest generates a "aws/request.Request" representing the
2213// client's request for the DeleteRouteSettings operation. The "output" return
2214// value will be populated with the request's response once the request completes
2215// successfully.
2216//
2217// Use "Send" method on the returned Request to send the API call to the service.
2218// the "output" return value is not valid until after Send returns without error.
2219//
2220// See DeleteRouteSettings for more information on using the DeleteRouteSettings
2221// API call, and error handling.
2222//
2223// This method is useful when you want to inject custom logic or configuration
2224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2225//
2226//
2227//    // Example sending a request using the DeleteRouteSettingsRequest method.
2228//    req, resp := client.DeleteRouteSettingsRequest(params)
2229//
2230//    err := req.Send()
2231//    if err == nil { // resp is now filled
2232//        fmt.Println(resp)
2233//    }
2234//
2235// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteSettings
2236func (c *ApiGatewayV2) DeleteRouteSettingsRequest(input *DeleteRouteSettingsInput) (req *request.Request, output *DeleteRouteSettingsOutput) {
2237	op := &request.Operation{
2238		Name:       opDeleteRouteSettings,
2239		HTTPMethod: "DELETE",
2240		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/routesettings/{routeKey}",
2241	}
2242
2243	if input == nil {
2244		input = &DeleteRouteSettingsInput{}
2245	}
2246
2247	output = &DeleteRouteSettingsOutput{}
2248	req = c.newRequest(op, input, output)
2249	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2250	return
2251}
2252
2253// DeleteRouteSettings API operation for AmazonApiGatewayV2.
2254//
2255// Deletes the RouteSettings for a stage.
2256//
2257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2258// with awserr.Error's Code and Message methods to get detailed information about
2259// the error.
2260//
2261// See the AWS API reference guide for AmazonApiGatewayV2's
2262// API operation DeleteRouteSettings for usage and error information.
2263//
2264// Returned Error Types:
2265//   * NotFoundException
2266//   The resource specified in the request was not found. See the message field
2267//   for more information.
2268//
2269//   * TooManyRequestsException
2270//   A limit has been exceeded. See the accompanying error message for details.
2271//
2272// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteSettings
2273func (c *ApiGatewayV2) DeleteRouteSettings(input *DeleteRouteSettingsInput) (*DeleteRouteSettingsOutput, error) {
2274	req, out := c.DeleteRouteSettingsRequest(input)
2275	return out, req.Send()
2276}
2277
2278// DeleteRouteSettingsWithContext is the same as DeleteRouteSettings with the addition of
2279// the ability to pass a context and additional request options.
2280//
2281// See DeleteRouteSettings for details on how to use this API operation.
2282//
2283// The context must be non-nil and will be used for request cancellation. If
2284// the context is nil a panic will occur. In the future the SDK may create
2285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2286// for more information on using Contexts.
2287func (c *ApiGatewayV2) DeleteRouteSettingsWithContext(ctx aws.Context, input *DeleteRouteSettingsInput, opts ...request.Option) (*DeleteRouteSettingsOutput, error) {
2288	req, out := c.DeleteRouteSettingsRequest(input)
2289	req.SetContext(ctx)
2290	req.ApplyOptions(opts...)
2291	return out, req.Send()
2292}
2293
2294const opDeleteStage = "DeleteStage"
2295
2296// DeleteStageRequest generates a "aws/request.Request" representing the
2297// client's request for the DeleteStage operation. The "output" return
2298// value will be populated with the request's response once the request completes
2299// successfully.
2300//
2301// Use "Send" method on the returned Request to send the API call to the service.
2302// the "output" return value is not valid until after Send returns without error.
2303//
2304// See DeleteStage for more information on using the DeleteStage
2305// API call, and error handling.
2306//
2307// This method is useful when you want to inject custom logic or configuration
2308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2309//
2310//
2311//    // Example sending a request using the DeleteStageRequest method.
2312//    req, resp := client.DeleteStageRequest(params)
2313//
2314//    err := req.Send()
2315//    if err == nil { // resp is now filled
2316//        fmt.Println(resp)
2317//    }
2318//
2319// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage
2320func (c *ApiGatewayV2) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) {
2321	op := &request.Operation{
2322		Name:       opDeleteStage,
2323		HTTPMethod: "DELETE",
2324		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
2325	}
2326
2327	if input == nil {
2328		input = &DeleteStageInput{}
2329	}
2330
2331	output = &DeleteStageOutput{}
2332	req = c.newRequest(op, input, output)
2333	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2334	return
2335}
2336
2337// DeleteStage API operation for AmazonApiGatewayV2.
2338//
2339// Deletes a Stage.
2340//
2341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2342// with awserr.Error's Code and Message methods to get detailed information about
2343// the error.
2344//
2345// See the AWS API reference guide for AmazonApiGatewayV2's
2346// API operation DeleteStage for usage and error information.
2347//
2348// Returned Error Types:
2349//   * NotFoundException
2350//   The resource specified in the request was not found. See the message field
2351//   for more information.
2352//
2353//   * TooManyRequestsException
2354//   A limit has been exceeded. See the accompanying error message for details.
2355//
2356// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage
2357func (c *ApiGatewayV2) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) {
2358	req, out := c.DeleteStageRequest(input)
2359	return out, req.Send()
2360}
2361
2362// DeleteStageWithContext is the same as DeleteStage with the addition of
2363// the ability to pass a context and additional request options.
2364//
2365// See DeleteStage for details on how to use this API operation.
2366//
2367// The context must be non-nil and will be used for request cancellation. If
2368// the context is nil a panic will occur. In the future the SDK may create
2369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2370// for more information on using Contexts.
2371func (c *ApiGatewayV2) DeleteStageWithContext(ctx aws.Context, input *DeleteStageInput, opts ...request.Option) (*DeleteStageOutput, error) {
2372	req, out := c.DeleteStageRequest(input)
2373	req.SetContext(ctx)
2374	req.ApplyOptions(opts...)
2375	return out, req.Send()
2376}
2377
2378const opDeleteVpcLink = "DeleteVpcLink"
2379
2380// DeleteVpcLinkRequest generates a "aws/request.Request" representing the
2381// client's request for the DeleteVpcLink operation. The "output" return
2382// value will be populated with the request's response once the request completes
2383// successfully.
2384//
2385// Use "Send" method on the returned Request to send the API call to the service.
2386// the "output" return value is not valid until after Send returns without error.
2387//
2388// See DeleteVpcLink for more information on using the DeleteVpcLink
2389// API call, and error handling.
2390//
2391// This method is useful when you want to inject custom logic or configuration
2392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2393//
2394//
2395//    // Example sending a request using the DeleteVpcLinkRequest method.
2396//    req, resp := client.DeleteVpcLinkRequest(params)
2397//
2398//    err := req.Send()
2399//    if err == nil { // resp is now filled
2400//        fmt.Println(resp)
2401//    }
2402//
2403// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteVpcLink
2404func (c *ApiGatewayV2) DeleteVpcLinkRequest(input *DeleteVpcLinkInput) (req *request.Request, output *DeleteVpcLinkOutput) {
2405	op := &request.Operation{
2406		Name:       opDeleteVpcLink,
2407		HTTPMethod: "DELETE",
2408		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
2409	}
2410
2411	if input == nil {
2412		input = &DeleteVpcLinkInput{}
2413	}
2414
2415	output = &DeleteVpcLinkOutput{}
2416	req = c.newRequest(op, input, output)
2417	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2418	return
2419}
2420
2421// DeleteVpcLink API operation for AmazonApiGatewayV2.
2422//
2423// Deletes a VPC link.
2424//
2425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2426// with awserr.Error's Code and Message methods to get detailed information about
2427// the error.
2428//
2429// See the AWS API reference guide for AmazonApiGatewayV2's
2430// API operation DeleteVpcLink for usage and error information.
2431//
2432// Returned Error Types:
2433//   * NotFoundException
2434//   The resource specified in the request was not found. See the message field
2435//   for more information.
2436//
2437//   * TooManyRequestsException
2438//   A limit has been exceeded. See the accompanying error message for details.
2439//
2440// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteVpcLink
2441func (c *ApiGatewayV2) DeleteVpcLink(input *DeleteVpcLinkInput) (*DeleteVpcLinkOutput, error) {
2442	req, out := c.DeleteVpcLinkRequest(input)
2443	return out, req.Send()
2444}
2445
2446// DeleteVpcLinkWithContext is the same as DeleteVpcLink with the addition of
2447// the ability to pass a context and additional request options.
2448//
2449// See DeleteVpcLink for details on how to use this API operation.
2450//
2451// The context must be non-nil and will be used for request cancellation. If
2452// the context is nil a panic will occur. In the future the SDK may create
2453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2454// for more information on using Contexts.
2455func (c *ApiGatewayV2) DeleteVpcLinkWithContext(ctx aws.Context, input *DeleteVpcLinkInput, opts ...request.Option) (*DeleteVpcLinkOutput, error) {
2456	req, out := c.DeleteVpcLinkRequest(input)
2457	req.SetContext(ctx)
2458	req.ApplyOptions(opts...)
2459	return out, req.Send()
2460}
2461
2462const opExportApi = "ExportApi"
2463
2464// ExportApiRequest generates a "aws/request.Request" representing the
2465// client's request for the ExportApi operation. The "output" return
2466// value will be populated with the request's response once the request completes
2467// successfully.
2468//
2469// Use "Send" method on the returned Request to send the API call to the service.
2470// the "output" return value is not valid until after Send returns without error.
2471//
2472// See ExportApi for more information on using the ExportApi
2473// API call, and error handling.
2474//
2475// This method is useful when you want to inject custom logic or configuration
2476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2477//
2478//
2479//    // Example sending a request using the ExportApiRequest method.
2480//    req, resp := client.ExportApiRequest(params)
2481//
2482//    err := req.Send()
2483//    if err == nil { // resp is now filled
2484//        fmt.Println(resp)
2485//    }
2486//
2487// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ExportApi
2488func (c *ApiGatewayV2) ExportApiRequest(input *ExportApiInput) (req *request.Request, output *ExportApiOutput) {
2489	op := &request.Operation{
2490		Name:       opExportApi,
2491		HTTPMethod: "GET",
2492		HTTPPath:   "/v2/apis/{apiId}/exports/{specification}",
2493	}
2494
2495	if input == nil {
2496		input = &ExportApiInput{}
2497	}
2498
2499	output = &ExportApiOutput{}
2500	req = c.newRequest(op, input, output)
2501	return
2502}
2503
2504// ExportApi API operation for AmazonApiGatewayV2.
2505//
2506// Exports a definition of an API in a particular output format and specification.
2507//
2508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2509// with awserr.Error's Code and Message methods to get detailed information about
2510// the error.
2511//
2512// See the AWS API reference guide for AmazonApiGatewayV2's
2513// API operation ExportApi for usage and error information.
2514//
2515// Returned Error Types:
2516//   * NotFoundException
2517//   The resource specified in the request was not found. See the message field
2518//   for more information.
2519//
2520//   * TooManyRequestsException
2521//   A limit has been exceeded. See the accompanying error message for details.
2522//
2523//   * BadRequestException
2524//   The request is not valid, for example, the input is incomplete or incorrect.
2525//   See the accompanying error message for details.
2526//
2527// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ExportApi
2528func (c *ApiGatewayV2) ExportApi(input *ExportApiInput) (*ExportApiOutput, error) {
2529	req, out := c.ExportApiRequest(input)
2530	return out, req.Send()
2531}
2532
2533// ExportApiWithContext is the same as ExportApi with the addition of
2534// the ability to pass a context and additional request options.
2535//
2536// See ExportApi for details on how to use this API operation.
2537//
2538// The context must be non-nil and will be used for request cancellation. If
2539// the context is nil a panic will occur. In the future the SDK may create
2540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2541// for more information on using Contexts.
2542func (c *ApiGatewayV2) ExportApiWithContext(ctx aws.Context, input *ExportApiInput, opts ...request.Option) (*ExportApiOutput, error) {
2543	req, out := c.ExportApiRequest(input)
2544	req.SetContext(ctx)
2545	req.ApplyOptions(opts...)
2546	return out, req.Send()
2547}
2548
2549const opGetApi = "GetApi"
2550
2551// GetApiRequest generates a "aws/request.Request" representing the
2552// client's request for the GetApi operation. The "output" return
2553// value will be populated with the request's response once the request completes
2554// successfully.
2555//
2556// Use "Send" method on the returned Request to send the API call to the service.
2557// the "output" return value is not valid until after Send returns without error.
2558//
2559// See GetApi for more information on using the GetApi
2560// API call, and error handling.
2561//
2562// This method is useful when you want to inject custom logic or configuration
2563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2564//
2565//
2566//    // Example sending a request using the GetApiRequest method.
2567//    req, resp := client.GetApiRequest(params)
2568//
2569//    err := req.Send()
2570//    if err == nil { // resp is now filled
2571//        fmt.Println(resp)
2572//    }
2573//
2574// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi
2575func (c *ApiGatewayV2) GetApiRequest(input *GetApiInput) (req *request.Request, output *GetApiOutput) {
2576	op := &request.Operation{
2577		Name:       opGetApi,
2578		HTTPMethod: "GET",
2579		HTTPPath:   "/v2/apis/{apiId}",
2580	}
2581
2582	if input == nil {
2583		input = &GetApiInput{}
2584	}
2585
2586	output = &GetApiOutput{}
2587	req = c.newRequest(op, input, output)
2588	return
2589}
2590
2591// GetApi API operation for AmazonApiGatewayV2.
2592//
2593// Gets an Api resource.
2594//
2595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2596// with awserr.Error's Code and Message methods to get detailed information about
2597// the error.
2598//
2599// See the AWS API reference guide for AmazonApiGatewayV2's
2600// API operation GetApi for usage and error information.
2601//
2602// Returned Error Types:
2603//   * NotFoundException
2604//   The resource specified in the request was not found. See the message field
2605//   for more information.
2606//
2607//   * TooManyRequestsException
2608//   A limit has been exceeded. See the accompanying error message for details.
2609//
2610// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi
2611func (c *ApiGatewayV2) GetApi(input *GetApiInput) (*GetApiOutput, error) {
2612	req, out := c.GetApiRequest(input)
2613	return out, req.Send()
2614}
2615
2616// GetApiWithContext is the same as GetApi with the addition of
2617// the ability to pass a context and additional request options.
2618//
2619// See GetApi for details on how to use this API operation.
2620//
2621// The context must be non-nil and will be used for request cancellation. If
2622// the context is nil a panic will occur. In the future the SDK may create
2623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2624// for more information on using Contexts.
2625func (c *ApiGatewayV2) GetApiWithContext(ctx aws.Context, input *GetApiInput, opts ...request.Option) (*GetApiOutput, error) {
2626	req, out := c.GetApiRequest(input)
2627	req.SetContext(ctx)
2628	req.ApplyOptions(opts...)
2629	return out, req.Send()
2630}
2631
2632const opGetApiMapping = "GetApiMapping"
2633
2634// GetApiMappingRequest generates a "aws/request.Request" representing the
2635// client's request for the GetApiMapping operation. The "output" return
2636// value will be populated with the request's response once the request completes
2637// successfully.
2638//
2639// Use "Send" method on the returned Request to send the API call to the service.
2640// the "output" return value is not valid until after Send returns without error.
2641//
2642// See GetApiMapping for more information on using the GetApiMapping
2643// API call, and error handling.
2644//
2645// This method is useful when you want to inject custom logic or configuration
2646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2647//
2648//
2649//    // Example sending a request using the GetApiMappingRequest method.
2650//    req, resp := client.GetApiMappingRequest(params)
2651//
2652//    err := req.Send()
2653//    if err == nil { // resp is now filled
2654//        fmt.Println(resp)
2655//    }
2656//
2657// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping
2658func (c *ApiGatewayV2) GetApiMappingRequest(input *GetApiMappingInput) (req *request.Request, output *GetApiMappingOutput) {
2659	op := &request.Operation{
2660		Name:       opGetApiMapping,
2661		HTTPMethod: "GET",
2662		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
2663	}
2664
2665	if input == nil {
2666		input = &GetApiMappingInput{}
2667	}
2668
2669	output = &GetApiMappingOutput{}
2670	req = c.newRequest(op, input, output)
2671	return
2672}
2673
2674// GetApiMapping API operation for AmazonApiGatewayV2.
2675//
2676// Gets an API mapping.
2677//
2678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2679// with awserr.Error's Code and Message methods to get detailed information about
2680// the error.
2681//
2682// See the AWS API reference guide for AmazonApiGatewayV2's
2683// API operation GetApiMapping for usage and error information.
2684//
2685// Returned Error Types:
2686//   * NotFoundException
2687//   The resource specified in the request was not found. See the message field
2688//   for more information.
2689//
2690//   * TooManyRequestsException
2691//   A limit has been exceeded. See the accompanying error message for details.
2692//
2693//   * BadRequestException
2694//   The request is not valid, for example, the input is incomplete or incorrect.
2695//   See the accompanying error message for details.
2696//
2697// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping
2698func (c *ApiGatewayV2) GetApiMapping(input *GetApiMappingInput) (*GetApiMappingOutput, error) {
2699	req, out := c.GetApiMappingRequest(input)
2700	return out, req.Send()
2701}
2702
2703// GetApiMappingWithContext is the same as GetApiMapping with the addition of
2704// the ability to pass a context and additional request options.
2705//
2706// See GetApiMapping for details on how to use this API operation.
2707//
2708// The context must be non-nil and will be used for request cancellation. If
2709// the context is nil a panic will occur. In the future the SDK may create
2710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2711// for more information on using Contexts.
2712func (c *ApiGatewayV2) GetApiMappingWithContext(ctx aws.Context, input *GetApiMappingInput, opts ...request.Option) (*GetApiMappingOutput, error) {
2713	req, out := c.GetApiMappingRequest(input)
2714	req.SetContext(ctx)
2715	req.ApplyOptions(opts...)
2716	return out, req.Send()
2717}
2718
2719const opGetApiMappings = "GetApiMappings"
2720
2721// GetApiMappingsRequest generates a "aws/request.Request" representing the
2722// client's request for the GetApiMappings operation. The "output" return
2723// value will be populated with the request's response once the request completes
2724// successfully.
2725//
2726// Use "Send" method on the returned Request to send the API call to the service.
2727// the "output" return value is not valid until after Send returns without error.
2728//
2729// See GetApiMappings for more information on using the GetApiMappings
2730// API call, and error handling.
2731//
2732// This method is useful when you want to inject custom logic or configuration
2733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2734//
2735//
2736//    // Example sending a request using the GetApiMappingsRequest method.
2737//    req, resp := client.GetApiMappingsRequest(params)
2738//
2739//    err := req.Send()
2740//    if err == nil { // resp is now filled
2741//        fmt.Println(resp)
2742//    }
2743//
2744// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings
2745func (c *ApiGatewayV2) GetApiMappingsRequest(input *GetApiMappingsInput) (req *request.Request, output *GetApiMappingsOutput) {
2746	op := &request.Operation{
2747		Name:       opGetApiMappings,
2748		HTTPMethod: "GET",
2749		HTTPPath:   "/v2/domainnames/{domainName}/apimappings",
2750	}
2751
2752	if input == nil {
2753		input = &GetApiMappingsInput{}
2754	}
2755
2756	output = &GetApiMappingsOutput{}
2757	req = c.newRequest(op, input, output)
2758	return
2759}
2760
2761// GetApiMappings API operation for AmazonApiGatewayV2.
2762//
2763// Gets API mappings.
2764//
2765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2766// with awserr.Error's Code and Message methods to get detailed information about
2767// the error.
2768//
2769// See the AWS API reference guide for AmazonApiGatewayV2's
2770// API operation GetApiMappings for usage and error information.
2771//
2772// Returned Error Types:
2773//   * NotFoundException
2774//   The resource specified in the request was not found. See the message field
2775//   for more information.
2776//
2777//   * TooManyRequestsException
2778//   A limit has been exceeded. See the accompanying error message for details.
2779//
2780//   * BadRequestException
2781//   The request is not valid, for example, the input is incomplete or incorrect.
2782//   See the accompanying error message for details.
2783//
2784// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings
2785func (c *ApiGatewayV2) GetApiMappings(input *GetApiMappingsInput) (*GetApiMappingsOutput, error) {
2786	req, out := c.GetApiMappingsRequest(input)
2787	return out, req.Send()
2788}
2789
2790// GetApiMappingsWithContext is the same as GetApiMappings with the addition of
2791// the ability to pass a context and additional request options.
2792//
2793// See GetApiMappings for details on how to use this API operation.
2794//
2795// The context must be non-nil and will be used for request cancellation. If
2796// the context is nil a panic will occur. In the future the SDK may create
2797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2798// for more information on using Contexts.
2799func (c *ApiGatewayV2) GetApiMappingsWithContext(ctx aws.Context, input *GetApiMappingsInput, opts ...request.Option) (*GetApiMappingsOutput, error) {
2800	req, out := c.GetApiMappingsRequest(input)
2801	req.SetContext(ctx)
2802	req.ApplyOptions(opts...)
2803	return out, req.Send()
2804}
2805
2806const opGetApis = "GetApis"
2807
2808// GetApisRequest generates a "aws/request.Request" representing the
2809// client's request for the GetApis operation. The "output" return
2810// value will be populated with the request's response once the request completes
2811// successfully.
2812//
2813// Use "Send" method on the returned Request to send the API call to the service.
2814// the "output" return value is not valid until after Send returns without error.
2815//
2816// See GetApis for more information on using the GetApis
2817// API call, and error handling.
2818//
2819// This method is useful when you want to inject custom logic or configuration
2820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2821//
2822//
2823//    // Example sending a request using the GetApisRequest method.
2824//    req, resp := client.GetApisRequest(params)
2825//
2826//    err := req.Send()
2827//    if err == nil { // resp is now filled
2828//        fmt.Println(resp)
2829//    }
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis
2832func (c *ApiGatewayV2) GetApisRequest(input *GetApisInput) (req *request.Request, output *GetApisOutput) {
2833	op := &request.Operation{
2834		Name:       opGetApis,
2835		HTTPMethod: "GET",
2836		HTTPPath:   "/v2/apis",
2837	}
2838
2839	if input == nil {
2840		input = &GetApisInput{}
2841	}
2842
2843	output = &GetApisOutput{}
2844	req = c.newRequest(op, input, output)
2845	return
2846}
2847
2848// GetApis API operation for AmazonApiGatewayV2.
2849//
2850// Gets a collection of Api resources.
2851//
2852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2853// with awserr.Error's Code and Message methods to get detailed information about
2854// the error.
2855//
2856// See the AWS API reference guide for AmazonApiGatewayV2's
2857// API operation GetApis for usage and error information.
2858//
2859// Returned Error Types:
2860//   * NotFoundException
2861//   The resource specified in the request was not found. See the message field
2862//   for more information.
2863//
2864//   * TooManyRequestsException
2865//   A limit has been exceeded. See the accompanying error message for details.
2866//
2867//   * BadRequestException
2868//   The request is not valid, for example, the input is incomplete or incorrect.
2869//   See the accompanying error message for details.
2870//
2871// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis
2872func (c *ApiGatewayV2) GetApis(input *GetApisInput) (*GetApisOutput, error) {
2873	req, out := c.GetApisRequest(input)
2874	return out, req.Send()
2875}
2876
2877// GetApisWithContext is the same as GetApis with the addition of
2878// the ability to pass a context and additional request options.
2879//
2880// See GetApis for details on how to use this API operation.
2881//
2882// The context must be non-nil and will be used for request cancellation. If
2883// the context is nil a panic will occur. In the future the SDK may create
2884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2885// for more information on using Contexts.
2886func (c *ApiGatewayV2) GetApisWithContext(ctx aws.Context, input *GetApisInput, opts ...request.Option) (*GetApisOutput, error) {
2887	req, out := c.GetApisRequest(input)
2888	req.SetContext(ctx)
2889	req.ApplyOptions(opts...)
2890	return out, req.Send()
2891}
2892
2893const opGetAuthorizer = "GetAuthorizer"
2894
2895// GetAuthorizerRequest generates a "aws/request.Request" representing the
2896// client's request for the GetAuthorizer operation. The "output" return
2897// value will be populated with the request's response once the request completes
2898// successfully.
2899//
2900// Use "Send" method on the returned Request to send the API call to the service.
2901// the "output" return value is not valid until after Send returns without error.
2902//
2903// See GetAuthorizer for more information on using the GetAuthorizer
2904// API call, and error handling.
2905//
2906// This method is useful when you want to inject custom logic or configuration
2907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2908//
2909//
2910//    // Example sending a request using the GetAuthorizerRequest method.
2911//    req, resp := client.GetAuthorizerRequest(params)
2912//
2913//    err := req.Send()
2914//    if err == nil { // resp is now filled
2915//        fmt.Println(resp)
2916//    }
2917//
2918// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer
2919func (c *ApiGatewayV2) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *GetAuthorizerOutput) {
2920	op := &request.Operation{
2921		Name:       opGetAuthorizer,
2922		HTTPMethod: "GET",
2923		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
2924	}
2925
2926	if input == nil {
2927		input = &GetAuthorizerInput{}
2928	}
2929
2930	output = &GetAuthorizerOutput{}
2931	req = c.newRequest(op, input, output)
2932	return
2933}
2934
2935// GetAuthorizer API operation for AmazonApiGatewayV2.
2936//
2937// Gets an Authorizer.
2938//
2939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2940// with awserr.Error's Code and Message methods to get detailed information about
2941// the error.
2942//
2943// See the AWS API reference guide for AmazonApiGatewayV2's
2944// API operation GetAuthorizer for usage and error information.
2945//
2946// Returned Error Types:
2947//   * NotFoundException
2948//   The resource specified in the request was not found. See the message field
2949//   for more information.
2950//
2951//   * TooManyRequestsException
2952//   A limit has been exceeded. See the accompanying error message for details.
2953//
2954// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer
2955func (c *ApiGatewayV2) GetAuthorizer(input *GetAuthorizerInput) (*GetAuthorizerOutput, error) {
2956	req, out := c.GetAuthorizerRequest(input)
2957	return out, req.Send()
2958}
2959
2960// GetAuthorizerWithContext is the same as GetAuthorizer with the addition of
2961// the ability to pass a context and additional request options.
2962//
2963// See GetAuthorizer for details on how to use this API operation.
2964//
2965// The context must be non-nil and will be used for request cancellation. If
2966// the context is nil a panic will occur. In the future the SDK may create
2967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2968// for more information on using Contexts.
2969func (c *ApiGatewayV2) GetAuthorizerWithContext(ctx aws.Context, input *GetAuthorizerInput, opts ...request.Option) (*GetAuthorizerOutput, error) {
2970	req, out := c.GetAuthorizerRequest(input)
2971	req.SetContext(ctx)
2972	req.ApplyOptions(opts...)
2973	return out, req.Send()
2974}
2975
2976const opGetAuthorizers = "GetAuthorizers"
2977
2978// GetAuthorizersRequest generates a "aws/request.Request" representing the
2979// client's request for the GetAuthorizers operation. The "output" return
2980// value will be populated with the request's response once the request completes
2981// successfully.
2982//
2983// Use "Send" method on the returned Request to send the API call to the service.
2984// the "output" return value is not valid until after Send returns without error.
2985//
2986// See GetAuthorizers for more information on using the GetAuthorizers
2987// API call, and error handling.
2988//
2989// This method is useful when you want to inject custom logic or configuration
2990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2991//
2992//
2993//    // Example sending a request using the GetAuthorizersRequest method.
2994//    req, resp := client.GetAuthorizersRequest(params)
2995//
2996//    err := req.Send()
2997//    if err == nil { // resp is now filled
2998//        fmt.Println(resp)
2999//    }
3000//
3001// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers
3002func (c *ApiGatewayV2) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) {
3003	op := &request.Operation{
3004		Name:       opGetAuthorizers,
3005		HTTPMethod: "GET",
3006		HTTPPath:   "/v2/apis/{apiId}/authorizers",
3007	}
3008
3009	if input == nil {
3010		input = &GetAuthorizersInput{}
3011	}
3012
3013	output = &GetAuthorizersOutput{}
3014	req = c.newRequest(op, input, output)
3015	return
3016}
3017
3018// GetAuthorizers API operation for AmazonApiGatewayV2.
3019//
3020// Gets the Authorizers for an API.
3021//
3022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3023// with awserr.Error's Code and Message methods to get detailed information about
3024// the error.
3025//
3026// See the AWS API reference guide for AmazonApiGatewayV2's
3027// API operation GetAuthorizers for usage and error information.
3028//
3029// Returned Error Types:
3030//   * NotFoundException
3031//   The resource specified in the request was not found. See the message field
3032//   for more information.
3033//
3034//   * TooManyRequestsException
3035//   A limit has been exceeded. See the accompanying error message for details.
3036//
3037//   * BadRequestException
3038//   The request is not valid, for example, the input is incomplete or incorrect.
3039//   See the accompanying error message for details.
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers
3042func (c *ApiGatewayV2) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) {
3043	req, out := c.GetAuthorizersRequest(input)
3044	return out, req.Send()
3045}
3046
3047// GetAuthorizersWithContext is the same as GetAuthorizers with the addition of
3048// the ability to pass a context and additional request options.
3049//
3050// See GetAuthorizers for details on how to use this API operation.
3051//
3052// The context must be non-nil and will be used for request cancellation. If
3053// the context is nil a panic will occur. In the future the SDK may create
3054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3055// for more information on using Contexts.
3056func (c *ApiGatewayV2) GetAuthorizersWithContext(ctx aws.Context, input *GetAuthorizersInput, opts ...request.Option) (*GetAuthorizersOutput, error) {
3057	req, out := c.GetAuthorizersRequest(input)
3058	req.SetContext(ctx)
3059	req.ApplyOptions(opts...)
3060	return out, req.Send()
3061}
3062
3063const opGetDeployment = "GetDeployment"
3064
3065// GetDeploymentRequest generates a "aws/request.Request" representing the
3066// client's request for the GetDeployment operation. The "output" return
3067// value will be populated with the request's response once the request completes
3068// successfully.
3069//
3070// Use "Send" method on the returned Request to send the API call to the service.
3071// the "output" return value is not valid until after Send returns without error.
3072//
3073// See GetDeployment for more information on using the GetDeployment
3074// API call, and error handling.
3075//
3076// This method is useful when you want to inject custom logic or configuration
3077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3078//
3079//
3080//    // Example sending a request using the GetDeploymentRequest method.
3081//    req, resp := client.GetDeploymentRequest(params)
3082//
3083//    err := req.Send()
3084//    if err == nil { // resp is now filled
3085//        fmt.Println(resp)
3086//    }
3087//
3088// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment
3089func (c *ApiGatewayV2) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) {
3090	op := &request.Operation{
3091		Name:       opGetDeployment,
3092		HTTPMethod: "GET",
3093		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
3094	}
3095
3096	if input == nil {
3097		input = &GetDeploymentInput{}
3098	}
3099
3100	output = &GetDeploymentOutput{}
3101	req = c.newRequest(op, input, output)
3102	return
3103}
3104
3105// GetDeployment API operation for AmazonApiGatewayV2.
3106//
3107// Gets a Deployment.
3108//
3109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3110// with awserr.Error's Code and Message methods to get detailed information about
3111// the error.
3112//
3113// See the AWS API reference guide for AmazonApiGatewayV2's
3114// API operation GetDeployment for usage and error information.
3115//
3116// Returned Error Types:
3117//   * NotFoundException
3118//   The resource specified in the request was not found. See the message field
3119//   for more information.
3120//
3121//   * TooManyRequestsException
3122//   A limit has been exceeded. See the accompanying error message for details.
3123//
3124// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment
3125func (c *ApiGatewayV2) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) {
3126	req, out := c.GetDeploymentRequest(input)
3127	return out, req.Send()
3128}
3129
3130// GetDeploymentWithContext is the same as GetDeployment with the addition of
3131// the ability to pass a context and additional request options.
3132//
3133// See GetDeployment for details on how to use this API operation.
3134//
3135// The context must be non-nil and will be used for request cancellation. If
3136// the context is nil a panic will occur. In the future the SDK may create
3137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3138// for more information on using Contexts.
3139func (c *ApiGatewayV2) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) {
3140	req, out := c.GetDeploymentRequest(input)
3141	req.SetContext(ctx)
3142	req.ApplyOptions(opts...)
3143	return out, req.Send()
3144}
3145
3146const opGetDeployments = "GetDeployments"
3147
3148// GetDeploymentsRequest generates a "aws/request.Request" representing the
3149// client's request for the GetDeployments operation. The "output" return
3150// value will be populated with the request's response once the request completes
3151// successfully.
3152//
3153// Use "Send" method on the returned Request to send the API call to the service.
3154// the "output" return value is not valid until after Send returns without error.
3155//
3156// See GetDeployments for more information on using the GetDeployments
3157// API call, and error handling.
3158//
3159// This method is useful when you want to inject custom logic or configuration
3160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3161//
3162//
3163//    // Example sending a request using the GetDeploymentsRequest method.
3164//    req, resp := client.GetDeploymentsRequest(params)
3165//
3166//    err := req.Send()
3167//    if err == nil { // resp is now filled
3168//        fmt.Println(resp)
3169//    }
3170//
3171// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments
3172func (c *ApiGatewayV2) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) {
3173	op := &request.Operation{
3174		Name:       opGetDeployments,
3175		HTTPMethod: "GET",
3176		HTTPPath:   "/v2/apis/{apiId}/deployments",
3177	}
3178
3179	if input == nil {
3180		input = &GetDeploymentsInput{}
3181	}
3182
3183	output = &GetDeploymentsOutput{}
3184	req = c.newRequest(op, input, output)
3185	return
3186}
3187
3188// GetDeployments API operation for AmazonApiGatewayV2.
3189//
3190// Gets the Deployments for an API.
3191//
3192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3193// with awserr.Error's Code and Message methods to get detailed information about
3194// the error.
3195//
3196// See the AWS API reference guide for AmazonApiGatewayV2's
3197// API operation GetDeployments for usage and error information.
3198//
3199// Returned Error Types:
3200//   * NotFoundException
3201//   The resource specified in the request was not found. See the message field
3202//   for more information.
3203//
3204//   * TooManyRequestsException
3205//   A limit has been exceeded. See the accompanying error message for details.
3206//
3207//   * BadRequestException
3208//   The request is not valid, for example, the input is incomplete or incorrect.
3209//   See the accompanying error message for details.
3210//
3211// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments
3212func (c *ApiGatewayV2) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) {
3213	req, out := c.GetDeploymentsRequest(input)
3214	return out, req.Send()
3215}
3216
3217// GetDeploymentsWithContext is the same as GetDeployments with the addition of
3218// the ability to pass a context and additional request options.
3219//
3220// See GetDeployments for details on how to use this API operation.
3221//
3222// The context must be non-nil and will be used for request cancellation. If
3223// the context is nil a panic will occur. In the future the SDK may create
3224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3225// for more information on using Contexts.
3226func (c *ApiGatewayV2) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) {
3227	req, out := c.GetDeploymentsRequest(input)
3228	req.SetContext(ctx)
3229	req.ApplyOptions(opts...)
3230	return out, req.Send()
3231}
3232
3233const opGetDomainName = "GetDomainName"
3234
3235// GetDomainNameRequest generates a "aws/request.Request" representing the
3236// client's request for the GetDomainName operation. The "output" return
3237// value will be populated with the request's response once the request completes
3238// successfully.
3239//
3240// Use "Send" method on the returned Request to send the API call to the service.
3241// the "output" return value is not valid until after Send returns without error.
3242//
3243// See GetDomainName for more information on using the GetDomainName
3244// API call, and error handling.
3245//
3246// This method is useful when you want to inject custom logic or configuration
3247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3248//
3249//
3250//    // Example sending a request using the GetDomainNameRequest method.
3251//    req, resp := client.GetDomainNameRequest(params)
3252//
3253//    err := req.Send()
3254//    if err == nil { // resp is now filled
3255//        fmt.Println(resp)
3256//    }
3257//
3258// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName
3259func (c *ApiGatewayV2) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *GetDomainNameOutput) {
3260	op := &request.Operation{
3261		Name:       opGetDomainName,
3262		HTTPMethod: "GET",
3263		HTTPPath:   "/v2/domainnames/{domainName}",
3264	}
3265
3266	if input == nil {
3267		input = &GetDomainNameInput{}
3268	}
3269
3270	output = &GetDomainNameOutput{}
3271	req = c.newRequest(op, input, output)
3272	return
3273}
3274
3275// GetDomainName API operation for AmazonApiGatewayV2.
3276//
3277// Gets a domain name.
3278//
3279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3280// with awserr.Error's Code and Message methods to get detailed information about
3281// the error.
3282//
3283// See the AWS API reference guide for AmazonApiGatewayV2's
3284// API operation GetDomainName for usage and error information.
3285//
3286// Returned Error Types:
3287//   * NotFoundException
3288//   The resource specified in the request was not found. See the message field
3289//   for more information.
3290//
3291//   * TooManyRequestsException
3292//   A limit has been exceeded. See the accompanying error message for details.
3293//
3294// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName
3295func (c *ApiGatewayV2) GetDomainName(input *GetDomainNameInput) (*GetDomainNameOutput, error) {
3296	req, out := c.GetDomainNameRequest(input)
3297	return out, req.Send()
3298}
3299
3300// GetDomainNameWithContext is the same as GetDomainName with the addition of
3301// the ability to pass a context and additional request options.
3302//
3303// See GetDomainName for details on how to use this API operation.
3304//
3305// The context must be non-nil and will be used for request cancellation. If
3306// the context is nil a panic will occur. In the future the SDK may create
3307// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3308// for more information on using Contexts.
3309func (c *ApiGatewayV2) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*GetDomainNameOutput, error) {
3310	req, out := c.GetDomainNameRequest(input)
3311	req.SetContext(ctx)
3312	req.ApplyOptions(opts...)
3313	return out, req.Send()
3314}
3315
3316const opGetDomainNames = "GetDomainNames"
3317
3318// GetDomainNamesRequest generates a "aws/request.Request" representing the
3319// client's request for the GetDomainNames operation. The "output" return
3320// value will be populated with the request's response once the request completes
3321// successfully.
3322//
3323// Use "Send" method on the returned Request to send the API call to the service.
3324// the "output" return value is not valid until after Send returns without error.
3325//
3326// See GetDomainNames for more information on using the GetDomainNames
3327// API call, and error handling.
3328//
3329// This method is useful when you want to inject custom logic or configuration
3330// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3331//
3332//
3333//    // Example sending a request using the GetDomainNamesRequest method.
3334//    req, resp := client.GetDomainNamesRequest(params)
3335//
3336//    err := req.Send()
3337//    if err == nil { // resp is now filled
3338//        fmt.Println(resp)
3339//    }
3340//
3341// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames
3342func (c *ApiGatewayV2) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) {
3343	op := &request.Operation{
3344		Name:       opGetDomainNames,
3345		HTTPMethod: "GET",
3346		HTTPPath:   "/v2/domainnames",
3347	}
3348
3349	if input == nil {
3350		input = &GetDomainNamesInput{}
3351	}
3352
3353	output = &GetDomainNamesOutput{}
3354	req = c.newRequest(op, input, output)
3355	return
3356}
3357
3358// GetDomainNames API operation for AmazonApiGatewayV2.
3359//
3360// Gets the domain names for an AWS account.
3361//
3362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3363// with awserr.Error's Code and Message methods to get detailed information about
3364// the error.
3365//
3366// See the AWS API reference guide for AmazonApiGatewayV2's
3367// API operation GetDomainNames for usage and error information.
3368//
3369// Returned Error Types:
3370//   * NotFoundException
3371//   The resource specified in the request was not found. See the message field
3372//   for more information.
3373//
3374//   * TooManyRequestsException
3375//   A limit has been exceeded. See the accompanying error message for details.
3376//
3377//   * BadRequestException
3378//   The request is not valid, for example, the input is incomplete or incorrect.
3379//   See the accompanying error message for details.
3380//
3381// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames
3382func (c *ApiGatewayV2) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) {
3383	req, out := c.GetDomainNamesRequest(input)
3384	return out, req.Send()
3385}
3386
3387// GetDomainNamesWithContext is the same as GetDomainNames with the addition of
3388// the ability to pass a context and additional request options.
3389//
3390// See GetDomainNames for details on how to use this API operation.
3391//
3392// The context must be non-nil and will be used for request cancellation. If
3393// the context is nil a panic will occur. In the future the SDK may create
3394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3395// for more information on using Contexts.
3396func (c *ApiGatewayV2) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) {
3397	req, out := c.GetDomainNamesRequest(input)
3398	req.SetContext(ctx)
3399	req.ApplyOptions(opts...)
3400	return out, req.Send()
3401}
3402
3403const opGetIntegration = "GetIntegration"
3404
3405// GetIntegrationRequest generates a "aws/request.Request" representing the
3406// client's request for the GetIntegration operation. The "output" return
3407// value will be populated with the request's response once the request completes
3408// successfully.
3409//
3410// Use "Send" method on the returned Request to send the API call to the service.
3411// the "output" return value is not valid until after Send returns without error.
3412//
3413// See GetIntegration for more information on using the GetIntegration
3414// API call, and error handling.
3415//
3416// This method is useful when you want to inject custom logic or configuration
3417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3418//
3419//
3420//    // Example sending a request using the GetIntegrationRequest method.
3421//    req, resp := client.GetIntegrationRequest(params)
3422//
3423//    err := req.Send()
3424//    if err == nil { // resp is now filled
3425//        fmt.Println(resp)
3426//    }
3427//
3428// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration
3429func (c *ApiGatewayV2) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *GetIntegrationOutput) {
3430	op := &request.Operation{
3431		Name:       opGetIntegration,
3432		HTTPMethod: "GET",
3433		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
3434	}
3435
3436	if input == nil {
3437		input = &GetIntegrationInput{}
3438	}
3439
3440	output = &GetIntegrationOutput{}
3441	req = c.newRequest(op, input, output)
3442	return
3443}
3444
3445// GetIntegration API operation for AmazonApiGatewayV2.
3446//
3447// Gets an Integration.
3448//
3449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3450// with awserr.Error's Code and Message methods to get detailed information about
3451// the error.
3452//
3453// See the AWS API reference guide for AmazonApiGatewayV2's
3454// API operation GetIntegration for usage and error information.
3455//
3456// Returned Error Types:
3457//   * NotFoundException
3458//   The resource specified in the request was not found. See the message field
3459//   for more information.
3460//
3461//   * TooManyRequestsException
3462//   A limit has been exceeded. See the accompanying error message for details.
3463//
3464// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration
3465func (c *ApiGatewayV2) GetIntegration(input *GetIntegrationInput) (*GetIntegrationOutput, error) {
3466	req, out := c.GetIntegrationRequest(input)
3467	return out, req.Send()
3468}
3469
3470// GetIntegrationWithContext is the same as GetIntegration with the addition of
3471// the ability to pass a context and additional request options.
3472//
3473// See GetIntegration for details on how to use this API operation.
3474//
3475// The context must be non-nil and will be used for request cancellation. If
3476// the context is nil a panic will occur. In the future the SDK may create
3477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3478// for more information on using Contexts.
3479func (c *ApiGatewayV2) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*GetIntegrationOutput, error) {
3480	req, out := c.GetIntegrationRequest(input)
3481	req.SetContext(ctx)
3482	req.ApplyOptions(opts...)
3483	return out, req.Send()
3484}
3485
3486const opGetIntegrationResponse = "GetIntegrationResponse"
3487
3488// GetIntegrationResponseRequest generates a "aws/request.Request" representing the
3489// client's request for the GetIntegrationResponse operation. The "output" return
3490// value will be populated with the request's response once the request completes
3491// successfully.
3492//
3493// Use "Send" method on the returned Request to send the API call to the service.
3494// the "output" return value is not valid until after Send returns without error.
3495//
3496// See GetIntegrationResponse for more information on using the GetIntegrationResponse
3497// API call, and error handling.
3498//
3499// This method is useful when you want to inject custom logic or configuration
3500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3501//
3502//
3503//    // Example sending a request using the GetIntegrationResponseRequest method.
3504//    req, resp := client.GetIntegrationResponseRequest(params)
3505//
3506//    err := req.Send()
3507//    if err == nil { // resp is now filled
3508//        fmt.Println(resp)
3509//    }
3510//
3511// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse
3512func (c *ApiGatewayV2) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *GetIntegrationResponseOutput) {
3513	op := &request.Operation{
3514		Name:       opGetIntegrationResponse,
3515		HTTPMethod: "GET",
3516		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
3517	}
3518
3519	if input == nil {
3520		input = &GetIntegrationResponseInput{}
3521	}
3522
3523	output = &GetIntegrationResponseOutput{}
3524	req = c.newRequest(op, input, output)
3525	return
3526}
3527
3528// GetIntegrationResponse API operation for AmazonApiGatewayV2.
3529//
3530// Gets an IntegrationResponses.
3531//
3532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3533// with awserr.Error's Code and Message methods to get detailed information about
3534// the error.
3535//
3536// See the AWS API reference guide for AmazonApiGatewayV2's
3537// API operation GetIntegrationResponse for usage and error information.
3538//
3539// Returned Error Types:
3540//   * NotFoundException
3541//   The resource specified in the request was not found. See the message field
3542//   for more information.
3543//
3544//   * TooManyRequestsException
3545//   A limit has been exceeded. See the accompanying error message for details.
3546//
3547// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse
3548func (c *ApiGatewayV2) GetIntegrationResponse(input *GetIntegrationResponseInput) (*GetIntegrationResponseOutput, error) {
3549	req, out := c.GetIntegrationResponseRequest(input)
3550	return out, req.Send()
3551}
3552
3553// GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of
3554// the ability to pass a context and additional request options.
3555//
3556// See GetIntegrationResponse for details on how to use this API operation.
3557//
3558// The context must be non-nil and will be used for request cancellation. If
3559// the context is nil a panic will occur. In the future the SDK may create
3560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3561// for more information on using Contexts.
3562func (c *ApiGatewayV2) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*GetIntegrationResponseOutput, error) {
3563	req, out := c.GetIntegrationResponseRequest(input)
3564	req.SetContext(ctx)
3565	req.ApplyOptions(opts...)
3566	return out, req.Send()
3567}
3568
3569const opGetIntegrationResponses = "GetIntegrationResponses"
3570
3571// GetIntegrationResponsesRequest generates a "aws/request.Request" representing the
3572// client's request for the GetIntegrationResponses operation. The "output" return
3573// value will be populated with the request's response once the request completes
3574// successfully.
3575//
3576// Use "Send" method on the returned Request to send the API call to the service.
3577// the "output" return value is not valid until after Send returns without error.
3578//
3579// See GetIntegrationResponses for more information on using the GetIntegrationResponses
3580// API call, and error handling.
3581//
3582// This method is useful when you want to inject custom logic or configuration
3583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3584//
3585//
3586//    // Example sending a request using the GetIntegrationResponsesRequest method.
3587//    req, resp := client.GetIntegrationResponsesRequest(params)
3588//
3589//    err := req.Send()
3590//    if err == nil { // resp is now filled
3591//        fmt.Println(resp)
3592//    }
3593//
3594// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses
3595func (c *ApiGatewayV2) GetIntegrationResponsesRequest(input *GetIntegrationResponsesInput) (req *request.Request, output *GetIntegrationResponsesOutput) {
3596	op := &request.Operation{
3597		Name:       opGetIntegrationResponses,
3598		HTTPMethod: "GET",
3599		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
3600	}
3601
3602	if input == nil {
3603		input = &GetIntegrationResponsesInput{}
3604	}
3605
3606	output = &GetIntegrationResponsesOutput{}
3607	req = c.newRequest(op, input, output)
3608	return
3609}
3610
3611// GetIntegrationResponses API operation for AmazonApiGatewayV2.
3612//
3613// Gets the IntegrationResponses for an Integration.
3614//
3615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3616// with awserr.Error's Code and Message methods to get detailed information about
3617// the error.
3618//
3619// See the AWS API reference guide for AmazonApiGatewayV2's
3620// API operation GetIntegrationResponses for usage and error information.
3621//
3622// Returned Error Types:
3623//   * NotFoundException
3624//   The resource specified in the request was not found. See the message field
3625//   for more information.
3626//
3627//   * TooManyRequestsException
3628//   A limit has been exceeded. See the accompanying error message for details.
3629//
3630//   * BadRequestException
3631//   The request is not valid, for example, the input is incomplete or incorrect.
3632//   See the accompanying error message for details.
3633//
3634// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses
3635func (c *ApiGatewayV2) GetIntegrationResponses(input *GetIntegrationResponsesInput) (*GetIntegrationResponsesOutput, error) {
3636	req, out := c.GetIntegrationResponsesRequest(input)
3637	return out, req.Send()
3638}
3639
3640// GetIntegrationResponsesWithContext is the same as GetIntegrationResponses with the addition of
3641// the ability to pass a context and additional request options.
3642//
3643// See GetIntegrationResponses for details on how to use this API operation.
3644//
3645// The context must be non-nil and will be used for request cancellation. If
3646// the context is nil a panic will occur. In the future the SDK may create
3647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3648// for more information on using Contexts.
3649func (c *ApiGatewayV2) GetIntegrationResponsesWithContext(ctx aws.Context, input *GetIntegrationResponsesInput, opts ...request.Option) (*GetIntegrationResponsesOutput, error) {
3650	req, out := c.GetIntegrationResponsesRequest(input)
3651	req.SetContext(ctx)
3652	req.ApplyOptions(opts...)
3653	return out, req.Send()
3654}
3655
3656const opGetIntegrations = "GetIntegrations"
3657
3658// GetIntegrationsRequest generates a "aws/request.Request" representing the
3659// client's request for the GetIntegrations operation. The "output" return
3660// value will be populated with the request's response once the request completes
3661// successfully.
3662//
3663// Use "Send" method on the returned Request to send the API call to the service.
3664// the "output" return value is not valid until after Send returns without error.
3665//
3666// See GetIntegrations for more information on using the GetIntegrations
3667// API call, and error handling.
3668//
3669// This method is useful when you want to inject custom logic or configuration
3670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3671//
3672//
3673//    // Example sending a request using the GetIntegrationsRequest method.
3674//    req, resp := client.GetIntegrationsRequest(params)
3675//
3676//    err := req.Send()
3677//    if err == nil { // resp is now filled
3678//        fmt.Println(resp)
3679//    }
3680//
3681// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations
3682func (c *ApiGatewayV2) GetIntegrationsRequest(input *GetIntegrationsInput) (req *request.Request, output *GetIntegrationsOutput) {
3683	op := &request.Operation{
3684		Name:       opGetIntegrations,
3685		HTTPMethod: "GET",
3686		HTTPPath:   "/v2/apis/{apiId}/integrations",
3687	}
3688
3689	if input == nil {
3690		input = &GetIntegrationsInput{}
3691	}
3692
3693	output = &GetIntegrationsOutput{}
3694	req = c.newRequest(op, input, output)
3695	return
3696}
3697
3698// GetIntegrations API operation for AmazonApiGatewayV2.
3699//
3700// Gets the Integrations for an API.
3701//
3702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3703// with awserr.Error's Code and Message methods to get detailed information about
3704// the error.
3705//
3706// See the AWS API reference guide for AmazonApiGatewayV2's
3707// API operation GetIntegrations for usage and error information.
3708//
3709// Returned Error Types:
3710//   * NotFoundException
3711//   The resource specified in the request was not found. See the message field
3712//   for more information.
3713//
3714//   * TooManyRequestsException
3715//   A limit has been exceeded. See the accompanying error message for details.
3716//
3717//   * BadRequestException
3718//   The request is not valid, for example, the input is incomplete or incorrect.
3719//   See the accompanying error message for details.
3720//
3721// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations
3722func (c *ApiGatewayV2) GetIntegrations(input *GetIntegrationsInput) (*GetIntegrationsOutput, error) {
3723	req, out := c.GetIntegrationsRequest(input)
3724	return out, req.Send()
3725}
3726
3727// GetIntegrationsWithContext is the same as GetIntegrations with the addition of
3728// the ability to pass a context and additional request options.
3729//
3730// See GetIntegrations for details on how to use this API operation.
3731//
3732// The context must be non-nil and will be used for request cancellation. If
3733// the context is nil a panic will occur. In the future the SDK may create
3734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3735// for more information on using Contexts.
3736func (c *ApiGatewayV2) GetIntegrationsWithContext(ctx aws.Context, input *GetIntegrationsInput, opts ...request.Option) (*GetIntegrationsOutput, error) {
3737	req, out := c.GetIntegrationsRequest(input)
3738	req.SetContext(ctx)
3739	req.ApplyOptions(opts...)
3740	return out, req.Send()
3741}
3742
3743const opGetModel = "GetModel"
3744
3745// GetModelRequest generates a "aws/request.Request" representing the
3746// client's request for the GetModel operation. The "output" return
3747// value will be populated with the request's response once the request completes
3748// successfully.
3749//
3750// Use "Send" method on the returned Request to send the API call to the service.
3751// the "output" return value is not valid until after Send returns without error.
3752//
3753// See GetModel for more information on using the GetModel
3754// API call, and error handling.
3755//
3756// This method is useful when you want to inject custom logic or configuration
3757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3758//
3759//
3760//    // Example sending a request using the GetModelRequest method.
3761//    req, resp := client.GetModelRequest(params)
3762//
3763//    err := req.Send()
3764//    if err == nil { // resp is now filled
3765//        fmt.Println(resp)
3766//    }
3767//
3768// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel
3769func (c *ApiGatewayV2) GetModelRequest(input *GetModelInput) (req *request.Request, output *GetModelOutput) {
3770	op := &request.Operation{
3771		Name:       opGetModel,
3772		HTTPMethod: "GET",
3773		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
3774	}
3775
3776	if input == nil {
3777		input = &GetModelInput{}
3778	}
3779
3780	output = &GetModelOutput{}
3781	req = c.newRequest(op, input, output)
3782	return
3783}
3784
3785// GetModel API operation for AmazonApiGatewayV2.
3786//
3787// Gets a Model.
3788//
3789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3790// with awserr.Error's Code and Message methods to get detailed information about
3791// the error.
3792//
3793// See the AWS API reference guide for AmazonApiGatewayV2's
3794// API operation GetModel for usage and error information.
3795//
3796// Returned Error Types:
3797//   * NotFoundException
3798//   The resource specified in the request was not found. See the message field
3799//   for more information.
3800//
3801//   * TooManyRequestsException
3802//   A limit has been exceeded. See the accompanying error message for details.
3803//
3804// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel
3805func (c *ApiGatewayV2) GetModel(input *GetModelInput) (*GetModelOutput, error) {
3806	req, out := c.GetModelRequest(input)
3807	return out, req.Send()
3808}
3809
3810// GetModelWithContext is the same as GetModel with the addition of
3811// the ability to pass a context and additional request options.
3812//
3813// See GetModel for details on how to use this API operation.
3814//
3815// The context must be non-nil and will be used for request cancellation. If
3816// the context is nil a panic will occur. In the future the SDK may create
3817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3818// for more information on using Contexts.
3819func (c *ApiGatewayV2) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*GetModelOutput, error) {
3820	req, out := c.GetModelRequest(input)
3821	req.SetContext(ctx)
3822	req.ApplyOptions(opts...)
3823	return out, req.Send()
3824}
3825
3826const opGetModelTemplate = "GetModelTemplate"
3827
3828// GetModelTemplateRequest generates a "aws/request.Request" representing the
3829// client's request for the GetModelTemplate operation. The "output" return
3830// value will be populated with the request's response once the request completes
3831// successfully.
3832//
3833// Use "Send" method on the returned Request to send the API call to the service.
3834// the "output" return value is not valid until after Send returns without error.
3835//
3836// See GetModelTemplate for more information on using the GetModelTemplate
3837// API call, and error handling.
3838//
3839// This method is useful when you want to inject custom logic or configuration
3840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3841//
3842//
3843//    // Example sending a request using the GetModelTemplateRequest method.
3844//    req, resp := client.GetModelTemplateRequest(params)
3845//
3846//    err := req.Send()
3847//    if err == nil { // resp is now filled
3848//        fmt.Println(resp)
3849//    }
3850//
3851// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate
3852func (c *ApiGatewayV2) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) {
3853	op := &request.Operation{
3854		Name:       opGetModelTemplate,
3855		HTTPMethod: "GET",
3856		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}/template",
3857	}
3858
3859	if input == nil {
3860		input = &GetModelTemplateInput{}
3861	}
3862
3863	output = &GetModelTemplateOutput{}
3864	req = c.newRequest(op, input, output)
3865	return
3866}
3867
3868// GetModelTemplate API operation for AmazonApiGatewayV2.
3869//
3870// Gets a model template.
3871//
3872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3873// with awserr.Error's Code and Message methods to get detailed information about
3874// the error.
3875//
3876// See the AWS API reference guide for AmazonApiGatewayV2's
3877// API operation GetModelTemplate for usage and error information.
3878//
3879// Returned Error Types:
3880//   * NotFoundException
3881//   The resource specified in the request was not found. See the message field
3882//   for more information.
3883//
3884//   * TooManyRequestsException
3885//   A limit has been exceeded. See the accompanying error message for details.
3886//
3887// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate
3888func (c *ApiGatewayV2) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) {
3889	req, out := c.GetModelTemplateRequest(input)
3890	return out, req.Send()
3891}
3892
3893// GetModelTemplateWithContext is the same as GetModelTemplate with the addition of
3894// the ability to pass a context and additional request options.
3895//
3896// See GetModelTemplate for details on how to use this API operation.
3897//
3898// The context must be non-nil and will be used for request cancellation. If
3899// the context is nil a panic will occur. In the future the SDK may create
3900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3901// for more information on using Contexts.
3902func (c *ApiGatewayV2) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) {
3903	req, out := c.GetModelTemplateRequest(input)
3904	req.SetContext(ctx)
3905	req.ApplyOptions(opts...)
3906	return out, req.Send()
3907}
3908
3909const opGetModels = "GetModels"
3910
3911// GetModelsRequest generates a "aws/request.Request" representing the
3912// client's request for the GetModels operation. The "output" return
3913// value will be populated with the request's response once the request completes
3914// successfully.
3915//
3916// Use "Send" method on the returned Request to send the API call to the service.
3917// the "output" return value is not valid until after Send returns without error.
3918//
3919// See GetModels for more information on using the GetModels
3920// API call, and error handling.
3921//
3922// This method is useful when you want to inject custom logic or configuration
3923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3924//
3925//
3926//    // Example sending a request using the GetModelsRequest method.
3927//    req, resp := client.GetModelsRequest(params)
3928//
3929//    err := req.Send()
3930//    if err == nil { // resp is now filled
3931//        fmt.Println(resp)
3932//    }
3933//
3934// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels
3935func (c *ApiGatewayV2) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
3936	op := &request.Operation{
3937		Name:       opGetModels,
3938		HTTPMethod: "GET",
3939		HTTPPath:   "/v2/apis/{apiId}/models",
3940	}
3941
3942	if input == nil {
3943		input = &GetModelsInput{}
3944	}
3945
3946	output = &GetModelsOutput{}
3947	req = c.newRequest(op, input, output)
3948	return
3949}
3950
3951// GetModels API operation for AmazonApiGatewayV2.
3952//
3953// Gets the Models for an API.
3954//
3955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3956// with awserr.Error's Code and Message methods to get detailed information about
3957// the error.
3958//
3959// See the AWS API reference guide for AmazonApiGatewayV2's
3960// API operation GetModels for usage and error information.
3961//
3962// Returned Error Types:
3963//   * NotFoundException
3964//   The resource specified in the request was not found. See the message field
3965//   for more information.
3966//
3967//   * TooManyRequestsException
3968//   A limit has been exceeded. See the accompanying error message for details.
3969//
3970//   * BadRequestException
3971//   The request is not valid, for example, the input is incomplete or incorrect.
3972//   See the accompanying error message for details.
3973//
3974// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels
3975func (c *ApiGatewayV2) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
3976	req, out := c.GetModelsRequest(input)
3977	return out, req.Send()
3978}
3979
3980// GetModelsWithContext is the same as GetModels with the addition of
3981// the ability to pass a context and additional request options.
3982//
3983// See GetModels for details on how to use this API operation.
3984//
3985// The context must be non-nil and will be used for request cancellation. If
3986// the context is nil a panic will occur. In the future the SDK may create
3987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3988// for more information on using Contexts.
3989func (c *ApiGatewayV2) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
3990	req, out := c.GetModelsRequest(input)
3991	req.SetContext(ctx)
3992	req.ApplyOptions(opts...)
3993	return out, req.Send()
3994}
3995
3996const opGetRoute = "GetRoute"
3997
3998// GetRouteRequest generates a "aws/request.Request" representing the
3999// client's request for the GetRoute operation. The "output" return
4000// value will be populated with the request's response once the request completes
4001// successfully.
4002//
4003// Use "Send" method on the returned Request to send the API call to the service.
4004// the "output" return value is not valid until after Send returns without error.
4005//
4006// See GetRoute for more information on using the GetRoute
4007// API call, and error handling.
4008//
4009// This method is useful when you want to inject custom logic or configuration
4010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4011//
4012//
4013//    // Example sending a request using the GetRouteRequest method.
4014//    req, resp := client.GetRouteRequest(params)
4015//
4016//    err := req.Send()
4017//    if err == nil { // resp is now filled
4018//        fmt.Println(resp)
4019//    }
4020//
4021// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute
4022func (c *ApiGatewayV2) GetRouteRequest(input *GetRouteInput) (req *request.Request, output *GetRouteOutput) {
4023	op := &request.Operation{
4024		Name:       opGetRoute,
4025		HTTPMethod: "GET",
4026		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
4027	}
4028
4029	if input == nil {
4030		input = &GetRouteInput{}
4031	}
4032
4033	output = &GetRouteOutput{}
4034	req = c.newRequest(op, input, output)
4035	return
4036}
4037
4038// GetRoute API operation for AmazonApiGatewayV2.
4039//
4040// Gets a Route.
4041//
4042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4043// with awserr.Error's Code and Message methods to get detailed information about
4044// the error.
4045//
4046// See the AWS API reference guide for AmazonApiGatewayV2's
4047// API operation GetRoute for usage and error information.
4048//
4049// Returned Error Types:
4050//   * NotFoundException
4051//   The resource specified in the request was not found. See the message field
4052//   for more information.
4053//
4054//   * TooManyRequestsException
4055//   A limit has been exceeded. See the accompanying error message for details.
4056//
4057// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute
4058func (c *ApiGatewayV2) GetRoute(input *GetRouteInput) (*GetRouteOutput, error) {
4059	req, out := c.GetRouteRequest(input)
4060	return out, req.Send()
4061}
4062
4063// GetRouteWithContext is the same as GetRoute with the addition of
4064// the ability to pass a context and additional request options.
4065//
4066// See GetRoute for details on how to use this API operation.
4067//
4068// The context must be non-nil and will be used for request cancellation. If
4069// the context is nil a panic will occur. In the future the SDK may create
4070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4071// for more information on using Contexts.
4072func (c *ApiGatewayV2) GetRouteWithContext(ctx aws.Context, input *GetRouteInput, opts ...request.Option) (*GetRouteOutput, error) {
4073	req, out := c.GetRouteRequest(input)
4074	req.SetContext(ctx)
4075	req.ApplyOptions(opts...)
4076	return out, req.Send()
4077}
4078
4079const opGetRouteResponse = "GetRouteResponse"
4080
4081// GetRouteResponseRequest generates a "aws/request.Request" representing the
4082// client's request for the GetRouteResponse operation. The "output" return
4083// value will be populated with the request's response once the request completes
4084// successfully.
4085//
4086// Use "Send" method on the returned Request to send the API call to the service.
4087// the "output" return value is not valid until after Send returns without error.
4088//
4089// See GetRouteResponse for more information on using the GetRouteResponse
4090// API call, and error handling.
4091//
4092// This method is useful when you want to inject custom logic or configuration
4093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4094//
4095//
4096//    // Example sending a request using the GetRouteResponseRequest method.
4097//    req, resp := client.GetRouteResponseRequest(params)
4098//
4099//    err := req.Send()
4100//    if err == nil { // resp is now filled
4101//        fmt.Println(resp)
4102//    }
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse
4105func (c *ApiGatewayV2) GetRouteResponseRequest(input *GetRouteResponseInput) (req *request.Request, output *GetRouteResponseOutput) {
4106	op := &request.Operation{
4107		Name:       opGetRouteResponse,
4108		HTTPMethod: "GET",
4109		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
4110	}
4111
4112	if input == nil {
4113		input = &GetRouteResponseInput{}
4114	}
4115
4116	output = &GetRouteResponseOutput{}
4117	req = c.newRequest(op, input, output)
4118	return
4119}
4120
4121// GetRouteResponse API operation for AmazonApiGatewayV2.
4122//
4123// Gets a RouteResponse.
4124//
4125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4126// with awserr.Error's Code and Message methods to get detailed information about
4127// the error.
4128//
4129// See the AWS API reference guide for AmazonApiGatewayV2's
4130// API operation GetRouteResponse for usage and error information.
4131//
4132// Returned Error Types:
4133//   * NotFoundException
4134//   The resource specified in the request was not found. See the message field
4135//   for more information.
4136//
4137//   * TooManyRequestsException
4138//   A limit has been exceeded. See the accompanying error message for details.
4139//
4140// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse
4141func (c *ApiGatewayV2) GetRouteResponse(input *GetRouteResponseInput) (*GetRouteResponseOutput, error) {
4142	req, out := c.GetRouteResponseRequest(input)
4143	return out, req.Send()
4144}
4145
4146// GetRouteResponseWithContext is the same as GetRouteResponse with the addition of
4147// the ability to pass a context and additional request options.
4148//
4149// See GetRouteResponse for details on how to use this API operation.
4150//
4151// The context must be non-nil and will be used for request cancellation. If
4152// the context is nil a panic will occur. In the future the SDK may create
4153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4154// for more information on using Contexts.
4155func (c *ApiGatewayV2) GetRouteResponseWithContext(ctx aws.Context, input *GetRouteResponseInput, opts ...request.Option) (*GetRouteResponseOutput, error) {
4156	req, out := c.GetRouteResponseRequest(input)
4157	req.SetContext(ctx)
4158	req.ApplyOptions(opts...)
4159	return out, req.Send()
4160}
4161
4162const opGetRouteResponses = "GetRouteResponses"
4163
4164// GetRouteResponsesRequest generates a "aws/request.Request" representing the
4165// client's request for the GetRouteResponses operation. The "output" return
4166// value will be populated with the request's response once the request completes
4167// successfully.
4168//
4169// Use "Send" method on the returned Request to send the API call to the service.
4170// the "output" return value is not valid until after Send returns without error.
4171//
4172// See GetRouteResponses for more information on using the GetRouteResponses
4173// API call, and error handling.
4174//
4175// This method is useful when you want to inject custom logic or configuration
4176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4177//
4178//
4179//    // Example sending a request using the GetRouteResponsesRequest method.
4180//    req, resp := client.GetRouteResponsesRequest(params)
4181//
4182//    err := req.Send()
4183//    if err == nil { // resp is now filled
4184//        fmt.Println(resp)
4185//    }
4186//
4187// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses
4188func (c *ApiGatewayV2) GetRouteResponsesRequest(input *GetRouteResponsesInput) (req *request.Request, output *GetRouteResponsesOutput) {
4189	op := &request.Operation{
4190		Name:       opGetRouteResponses,
4191		HTTPMethod: "GET",
4192		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
4193	}
4194
4195	if input == nil {
4196		input = &GetRouteResponsesInput{}
4197	}
4198
4199	output = &GetRouteResponsesOutput{}
4200	req = c.newRequest(op, input, output)
4201	return
4202}
4203
4204// GetRouteResponses API operation for AmazonApiGatewayV2.
4205//
4206// Gets the RouteResponses for a Route.
4207//
4208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4209// with awserr.Error's Code and Message methods to get detailed information about
4210// the error.
4211//
4212// See the AWS API reference guide for AmazonApiGatewayV2's
4213// API operation GetRouteResponses for usage and error information.
4214//
4215// Returned Error Types:
4216//   * NotFoundException
4217//   The resource specified in the request was not found. See the message field
4218//   for more information.
4219//
4220//   * TooManyRequestsException
4221//   A limit has been exceeded. See the accompanying error message for details.
4222//
4223//   * BadRequestException
4224//   The request is not valid, for example, the input is incomplete or incorrect.
4225//   See the accompanying error message for details.
4226//
4227// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses
4228func (c *ApiGatewayV2) GetRouteResponses(input *GetRouteResponsesInput) (*GetRouteResponsesOutput, error) {
4229	req, out := c.GetRouteResponsesRequest(input)
4230	return out, req.Send()
4231}
4232
4233// GetRouteResponsesWithContext is the same as GetRouteResponses with the addition of
4234// the ability to pass a context and additional request options.
4235//
4236// See GetRouteResponses for details on how to use this API operation.
4237//
4238// The context must be non-nil and will be used for request cancellation. If
4239// the context is nil a panic will occur. In the future the SDK may create
4240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4241// for more information on using Contexts.
4242func (c *ApiGatewayV2) GetRouteResponsesWithContext(ctx aws.Context, input *GetRouteResponsesInput, opts ...request.Option) (*GetRouteResponsesOutput, error) {
4243	req, out := c.GetRouteResponsesRequest(input)
4244	req.SetContext(ctx)
4245	req.ApplyOptions(opts...)
4246	return out, req.Send()
4247}
4248
4249const opGetRoutes = "GetRoutes"
4250
4251// GetRoutesRequest generates a "aws/request.Request" representing the
4252// client's request for the GetRoutes operation. The "output" return
4253// value will be populated with the request's response once the request completes
4254// successfully.
4255//
4256// Use "Send" method on the returned Request to send the API call to the service.
4257// the "output" return value is not valid until after Send returns without error.
4258//
4259// See GetRoutes for more information on using the GetRoutes
4260// API call, and error handling.
4261//
4262// This method is useful when you want to inject custom logic or configuration
4263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4264//
4265//
4266//    // Example sending a request using the GetRoutesRequest method.
4267//    req, resp := client.GetRoutesRequest(params)
4268//
4269//    err := req.Send()
4270//    if err == nil { // resp is now filled
4271//        fmt.Println(resp)
4272//    }
4273//
4274// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes
4275func (c *ApiGatewayV2) GetRoutesRequest(input *GetRoutesInput) (req *request.Request, output *GetRoutesOutput) {
4276	op := &request.Operation{
4277		Name:       opGetRoutes,
4278		HTTPMethod: "GET",
4279		HTTPPath:   "/v2/apis/{apiId}/routes",
4280	}
4281
4282	if input == nil {
4283		input = &GetRoutesInput{}
4284	}
4285
4286	output = &GetRoutesOutput{}
4287	req = c.newRequest(op, input, output)
4288	return
4289}
4290
4291// GetRoutes API operation for AmazonApiGatewayV2.
4292//
4293// Gets the Routes for an API.
4294//
4295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4296// with awserr.Error's Code and Message methods to get detailed information about
4297// the error.
4298//
4299// See the AWS API reference guide for AmazonApiGatewayV2's
4300// API operation GetRoutes for usage and error information.
4301//
4302// Returned Error Types:
4303//   * NotFoundException
4304//   The resource specified in the request was not found. See the message field
4305//   for more information.
4306//
4307//   * TooManyRequestsException
4308//   A limit has been exceeded. See the accompanying error message for details.
4309//
4310//   * BadRequestException
4311//   The request is not valid, for example, the input is incomplete or incorrect.
4312//   See the accompanying error message for details.
4313//
4314// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes
4315func (c *ApiGatewayV2) GetRoutes(input *GetRoutesInput) (*GetRoutesOutput, error) {
4316	req, out := c.GetRoutesRequest(input)
4317	return out, req.Send()
4318}
4319
4320// GetRoutesWithContext is the same as GetRoutes with the addition of
4321// the ability to pass a context and additional request options.
4322//
4323// See GetRoutes for details on how to use this API operation.
4324//
4325// The context must be non-nil and will be used for request cancellation. If
4326// the context is nil a panic will occur. In the future the SDK may create
4327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4328// for more information on using Contexts.
4329func (c *ApiGatewayV2) GetRoutesWithContext(ctx aws.Context, input *GetRoutesInput, opts ...request.Option) (*GetRoutesOutput, error) {
4330	req, out := c.GetRoutesRequest(input)
4331	req.SetContext(ctx)
4332	req.ApplyOptions(opts...)
4333	return out, req.Send()
4334}
4335
4336const opGetStage = "GetStage"
4337
4338// GetStageRequest generates a "aws/request.Request" representing the
4339// client's request for the GetStage operation. The "output" return
4340// value will be populated with the request's response once the request completes
4341// successfully.
4342//
4343// Use "Send" method on the returned Request to send the API call to the service.
4344// the "output" return value is not valid until after Send returns without error.
4345//
4346// See GetStage for more information on using the GetStage
4347// API call, and error handling.
4348//
4349// This method is useful when you want to inject custom logic or configuration
4350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4351//
4352//
4353//    // Example sending a request using the GetStageRequest method.
4354//    req, resp := client.GetStageRequest(params)
4355//
4356//    err := req.Send()
4357//    if err == nil { // resp is now filled
4358//        fmt.Println(resp)
4359//    }
4360//
4361// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage
4362func (c *ApiGatewayV2) GetStageRequest(input *GetStageInput) (req *request.Request, output *GetStageOutput) {
4363	op := &request.Operation{
4364		Name:       opGetStage,
4365		HTTPMethod: "GET",
4366		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
4367	}
4368
4369	if input == nil {
4370		input = &GetStageInput{}
4371	}
4372
4373	output = &GetStageOutput{}
4374	req = c.newRequest(op, input, output)
4375	return
4376}
4377
4378// GetStage API operation for AmazonApiGatewayV2.
4379//
4380// Gets a Stage.
4381//
4382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4383// with awserr.Error's Code and Message methods to get detailed information about
4384// the error.
4385//
4386// See the AWS API reference guide for AmazonApiGatewayV2's
4387// API operation GetStage for usage and error information.
4388//
4389// Returned Error Types:
4390//   * NotFoundException
4391//   The resource specified in the request was not found. See the message field
4392//   for more information.
4393//
4394//   * TooManyRequestsException
4395//   A limit has been exceeded. See the accompanying error message for details.
4396//
4397// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage
4398func (c *ApiGatewayV2) GetStage(input *GetStageInput) (*GetStageOutput, error) {
4399	req, out := c.GetStageRequest(input)
4400	return out, req.Send()
4401}
4402
4403// GetStageWithContext is the same as GetStage with the addition of
4404// the ability to pass a context and additional request options.
4405//
4406// See GetStage for details on how to use this API operation.
4407//
4408// The context must be non-nil and will be used for request cancellation. If
4409// the context is nil a panic will occur. In the future the SDK may create
4410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4411// for more information on using Contexts.
4412func (c *ApiGatewayV2) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*GetStageOutput, error) {
4413	req, out := c.GetStageRequest(input)
4414	req.SetContext(ctx)
4415	req.ApplyOptions(opts...)
4416	return out, req.Send()
4417}
4418
4419const opGetStages = "GetStages"
4420
4421// GetStagesRequest generates a "aws/request.Request" representing the
4422// client's request for the GetStages operation. The "output" return
4423// value will be populated with the request's response once the request completes
4424// successfully.
4425//
4426// Use "Send" method on the returned Request to send the API call to the service.
4427// the "output" return value is not valid until after Send returns without error.
4428//
4429// See GetStages for more information on using the GetStages
4430// API call, and error handling.
4431//
4432// This method is useful when you want to inject custom logic or configuration
4433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4434//
4435//
4436//    // Example sending a request using the GetStagesRequest method.
4437//    req, resp := client.GetStagesRequest(params)
4438//
4439//    err := req.Send()
4440//    if err == nil { // resp is now filled
4441//        fmt.Println(resp)
4442//    }
4443//
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages
4445func (c *ApiGatewayV2) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) {
4446	op := &request.Operation{
4447		Name:       opGetStages,
4448		HTTPMethod: "GET",
4449		HTTPPath:   "/v2/apis/{apiId}/stages",
4450	}
4451
4452	if input == nil {
4453		input = &GetStagesInput{}
4454	}
4455
4456	output = &GetStagesOutput{}
4457	req = c.newRequest(op, input, output)
4458	return
4459}
4460
4461// GetStages API operation for AmazonApiGatewayV2.
4462//
4463// Gets the Stages for an API.
4464//
4465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4466// with awserr.Error's Code and Message methods to get detailed information about
4467// the error.
4468//
4469// See the AWS API reference guide for AmazonApiGatewayV2's
4470// API operation GetStages for usage and error information.
4471//
4472// Returned Error Types:
4473//   * NotFoundException
4474//   The resource specified in the request was not found. See the message field
4475//   for more information.
4476//
4477//   * TooManyRequestsException
4478//   A limit has been exceeded. See the accompanying error message for details.
4479//
4480//   * BadRequestException
4481//   The request is not valid, for example, the input is incomplete or incorrect.
4482//   See the accompanying error message for details.
4483//
4484// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages
4485func (c *ApiGatewayV2) GetStages(input *GetStagesInput) (*GetStagesOutput, error) {
4486	req, out := c.GetStagesRequest(input)
4487	return out, req.Send()
4488}
4489
4490// GetStagesWithContext is the same as GetStages with the addition of
4491// the ability to pass a context and additional request options.
4492//
4493// See GetStages for details on how to use this API operation.
4494//
4495// The context must be non-nil and will be used for request cancellation. If
4496// the context is nil a panic will occur. In the future the SDK may create
4497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4498// for more information on using Contexts.
4499func (c *ApiGatewayV2) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) {
4500	req, out := c.GetStagesRequest(input)
4501	req.SetContext(ctx)
4502	req.ApplyOptions(opts...)
4503	return out, req.Send()
4504}
4505
4506const opGetTags = "GetTags"
4507
4508// GetTagsRequest generates a "aws/request.Request" representing the
4509// client's request for the GetTags operation. The "output" return
4510// value will be populated with the request's response once the request completes
4511// successfully.
4512//
4513// Use "Send" method on the returned Request to send the API call to the service.
4514// the "output" return value is not valid until after Send returns without error.
4515//
4516// See GetTags for more information on using the GetTags
4517// API call, and error handling.
4518//
4519// This method is useful when you want to inject custom logic or configuration
4520// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4521//
4522//
4523//    // Example sending a request using the GetTagsRequest method.
4524//    req, resp := client.GetTagsRequest(params)
4525//
4526//    err := req.Send()
4527//    if err == nil { // resp is now filled
4528//        fmt.Println(resp)
4529//    }
4530//
4531// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetTags
4532func (c *ApiGatewayV2) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
4533	op := &request.Operation{
4534		Name:       opGetTags,
4535		HTTPMethod: "GET",
4536		HTTPPath:   "/v2/tags/{resource-arn}",
4537	}
4538
4539	if input == nil {
4540		input = &GetTagsInput{}
4541	}
4542
4543	output = &GetTagsOutput{}
4544	req = c.newRequest(op, input, output)
4545	return
4546}
4547
4548// GetTags API operation for AmazonApiGatewayV2.
4549//
4550// Gets a collection of Tag resources.
4551//
4552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4553// with awserr.Error's Code and Message methods to get detailed information about
4554// the error.
4555//
4556// See the AWS API reference guide for AmazonApiGatewayV2's
4557// API operation GetTags for usage and error information.
4558//
4559// Returned Error Types:
4560//   * NotFoundException
4561//   The resource specified in the request was not found. See the message field
4562//   for more information.
4563//
4564//   * TooManyRequestsException
4565//   A limit has been exceeded. See the accompanying error message for details.
4566//
4567//   * BadRequestException
4568//   The request is not valid, for example, the input is incomplete or incorrect.
4569//   See the accompanying error message for details.
4570//
4571//   * ConflictException
4572//   The requested operation would cause a conflict with the current state of
4573//   a service resource associated with the request. Resolve the conflict before
4574//   retrying this request. See the accompanying error message for details.
4575//
4576// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetTags
4577func (c *ApiGatewayV2) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
4578	req, out := c.GetTagsRequest(input)
4579	return out, req.Send()
4580}
4581
4582// GetTagsWithContext is the same as GetTags with the addition of
4583// the ability to pass a context and additional request options.
4584//
4585// See GetTags for details on how to use this API operation.
4586//
4587// The context must be non-nil and will be used for request cancellation. If
4588// the context is nil a panic will occur. In the future the SDK may create
4589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4590// for more information on using Contexts.
4591func (c *ApiGatewayV2) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
4592	req, out := c.GetTagsRequest(input)
4593	req.SetContext(ctx)
4594	req.ApplyOptions(opts...)
4595	return out, req.Send()
4596}
4597
4598const opGetVpcLink = "GetVpcLink"
4599
4600// GetVpcLinkRequest generates a "aws/request.Request" representing the
4601// client's request for the GetVpcLink operation. The "output" return
4602// value will be populated with the request's response once the request completes
4603// successfully.
4604//
4605// Use "Send" method on the returned Request to send the API call to the service.
4606// the "output" return value is not valid until after Send returns without error.
4607//
4608// See GetVpcLink for more information on using the GetVpcLink
4609// API call, and error handling.
4610//
4611// This method is useful when you want to inject custom logic or configuration
4612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4613//
4614//
4615//    // Example sending a request using the GetVpcLinkRequest method.
4616//    req, resp := client.GetVpcLinkRequest(params)
4617//
4618//    err := req.Send()
4619//    if err == nil { // resp is now filled
4620//        fmt.Println(resp)
4621//    }
4622//
4623// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLink
4624func (c *ApiGatewayV2) GetVpcLinkRequest(input *GetVpcLinkInput) (req *request.Request, output *GetVpcLinkOutput) {
4625	op := &request.Operation{
4626		Name:       opGetVpcLink,
4627		HTTPMethod: "GET",
4628		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
4629	}
4630
4631	if input == nil {
4632		input = &GetVpcLinkInput{}
4633	}
4634
4635	output = &GetVpcLinkOutput{}
4636	req = c.newRequest(op, input, output)
4637	return
4638}
4639
4640// GetVpcLink API operation for AmazonApiGatewayV2.
4641//
4642// Gets a VPC link.
4643//
4644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4645// with awserr.Error's Code and Message methods to get detailed information about
4646// the error.
4647//
4648// See the AWS API reference guide for AmazonApiGatewayV2's
4649// API operation GetVpcLink for usage and error information.
4650//
4651// Returned Error Types:
4652//   * NotFoundException
4653//   The resource specified in the request was not found. See the message field
4654//   for more information.
4655//
4656//   * TooManyRequestsException
4657//   A limit has been exceeded. See the accompanying error message for details.
4658//
4659// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLink
4660func (c *ApiGatewayV2) GetVpcLink(input *GetVpcLinkInput) (*GetVpcLinkOutput, error) {
4661	req, out := c.GetVpcLinkRequest(input)
4662	return out, req.Send()
4663}
4664
4665// GetVpcLinkWithContext is the same as GetVpcLink with the addition of
4666// the ability to pass a context and additional request options.
4667//
4668// See GetVpcLink for details on how to use this API operation.
4669//
4670// The context must be non-nil and will be used for request cancellation. If
4671// the context is nil a panic will occur. In the future the SDK may create
4672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4673// for more information on using Contexts.
4674func (c *ApiGatewayV2) GetVpcLinkWithContext(ctx aws.Context, input *GetVpcLinkInput, opts ...request.Option) (*GetVpcLinkOutput, error) {
4675	req, out := c.GetVpcLinkRequest(input)
4676	req.SetContext(ctx)
4677	req.ApplyOptions(opts...)
4678	return out, req.Send()
4679}
4680
4681const opGetVpcLinks = "GetVpcLinks"
4682
4683// GetVpcLinksRequest generates a "aws/request.Request" representing the
4684// client's request for the GetVpcLinks operation. The "output" return
4685// value will be populated with the request's response once the request completes
4686// successfully.
4687//
4688// Use "Send" method on the returned Request to send the API call to the service.
4689// the "output" return value is not valid until after Send returns without error.
4690//
4691// See GetVpcLinks for more information on using the GetVpcLinks
4692// API call, and error handling.
4693//
4694// This method is useful when you want to inject custom logic or configuration
4695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4696//
4697//
4698//    // Example sending a request using the GetVpcLinksRequest method.
4699//    req, resp := client.GetVpcLinksRequest(params)
4700//
4701//    err := req.Send()
4702//    if err == nil { // resp is now filled
4703//        fmt.Println(resp)
4704//    }
4705//
4706// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLinks
4707func (c *ApiGatewayV2) GetVpcLinksRequest(input *GetVpcLinksInput) (req *request.Request, output *GetVpcLinksOutput) {
4708	op := &request.Operation{
4709		Name:       opGetVpcLinks,
4710		HTTPMethod: "GET",
4711		HTTPPath:   "/v2/vpclinks",
4712	}
4713
4714	if input == nil {
4715		input = &GetVpcLinksInput{}
4716	}
4717
4718	output = &GetVpcLinksOutput{}
4719	req = c.newRequest(op, input, output)
4720	return
4721}
4722
4723// GetVpcLinks API operation for AmazonApiGatewayV2.
4724//
4725// Gets a collection of VPC links.
4726//
4727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4728// with awserr.Error's Code and Message methods to get detailed information about
4729// the error.
4730//
4731// See the AWS API reference guide for AmazonApiGatewayV2's
4732// API operation GetVpcLinks for usage and error information.
4733//
4734// Returned Error Types:
4735//   * BadRequestException
4736//   The request is not valid, for example, the input is incomplete or incorrect.
4737//   See the accompanying error message for details.
4738//
4739//   * TooManyRequestsException
4740//   A limit has been exceeded. See the accompanying error message for details.
4741//
4742// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLinks
4743func (c *ApiGatewayV2) GetVpcLinks(input *GetVpcLinksInput) (*GetVpcLinksOutput, error) {
4744	req, out := c.GetVpcLinksRequest(input)
4745	return out, req.Send()
4746}
4747
4748// GetVpcLinksWithContext is the same as GetVpcLinks with the addition of
4749// the ability to pass a context and additional request options.
4750//
4751// See GetVpcLinks for details on how to use this API operation.
4752//
4753// The context must be non-nil and will be used for request cancellation. If
4754// the context is nil a panic will occur. In the future the SDK may create
4755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4756// for more information on using Contexts.
4757func (c *ApiGatewayV2) GetVpcLinksWithContext(ctx aws.Context, input *GetVpcLinksInput, opts ...request.Option) (*GetVpcLinksOutput, error) {
4758	req, out := c.GetVpcLinksRequest(input)
4759	req.SetContext(ctx)
4760	req.ApplyOptions(opts...)
4761	return out, req.Send()
4762}
4763
4764const opImportApi = "ImportApi"
4765
4766// ImportApiRequest generates a "aws/request.Request" representing the
4767// client's request for the ImportApi operation. The "output" return
4768// value will be populated with the request's response once the request completes
4769// successfully.
4770//
4771// Use "Send" method on the returned Request to send the API call to the service.
4772// the "output" return value is not valid until after Send returns without error.
4773//
4774// See ImportApi for more information on using the ImportApi
4775// API call, and error handling.
4776//
4777// This method is useful when you want to inject custom logic or configuration
4778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4779//
4780//
4781//    // Example sending a request using the ImportApiRequest method.
4782//    req, resp := client.ImportApiRequest(params)
4783//
4784//    err := req.Send()
4785//    if err == nil { // resp is now filled
4786//        fmt.Println(resp)
4787//    }
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ImportApi
4790func (c *ApiGatewayV2) ImportApiRequest(input *ImportApiInput) (req *request.Request, output *ImportApiOutput) {
4791	op := &request.Operation{
4792		Name:       opImportApi,
4793		HTTPMethod: "PUT",
4794		HTTPPath:   "/v2/apis",
4795	}
4796
4797	if input == nil {
4798		input = &ImportApiInput{}
4799	}
4800
4801	output = &ImportApiOutput{}
4802	req = c.newRequest(op, input, output)
4803	return
4804}
4805
4806// ImportApi API operation for AmazonApiGatewayV2.
4807//
4808// Imports an API.
4809//
4810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4811// with awserr.Error's Code and Message methods to get detailed information about
4812// the error.
4813//
4814// See the AWS API reference guide for AmazonApiGatewayV2's
4815// API operation ImportApi for usage and error information.
4816//
4817// Returned Error Types:
4818//   * NotFoundException
4819//   The resource specified in the request was not found. See the message field
4820//   for more information.
4821//
4822//   * TooManyRequestsException
4823//   A limit has been exceeded. See the accompanying error message for details.
4824//
4825//   * BadRequestException
4826//   The request is not valid, for example, the input is incomplete or incorrect.
4827//   See the accompanying error message for details.
4828//
4829//   * ConflictException
4830//   The requested operation would cause a conflict with the current state of
4831//   a service resource associated with the request. Resolve the conflict before
4832//   retrying this request. See the accompanying error message for details.
4833//
4834// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ImportApi
4835func (c *ApiGatewayV2) ImportApi(input *ImportApiInput) (*ImportApiOutput, error) {
4836	req, out := c.ImportApiRequest(input)
4837	return out, req.Send()
4838}
4839
4840// ImportApiWithContext is the same as ImportApi with the addition of
4841// the ability to pass a context and additional request options.
4842//
4843// See ImportApi for details on how to use this API operation.
4844//
4845// The context must be non-nil and will be used for request cancellation. If
4846// the context is nil a panic will occur. In the future the SDK may create
4847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4848// for more information on using Contexts.
4849func (c *ApiGatewayV2) ImportApiWithContext(ctx aws.Context, input *ImportApiInput, opts ...request.Option) (*ImportApiOutput, error) {
4850	req, out := c.ImportApiRequest(input)
4851	req.SetContext(ctx)
4852	req.ApplyOptions(opts...)
4853	return out, req.Send()
4854}
4855
4856const opReimportApi = "ReimportApi"
4857
4858// ReimportApiRequest generates a "aws/request.Request" representing the
4859// client's request for the ReimportApi operation. The "output" return
4860// value will be populated with the request's response once the request completes
4861// successfully.
4862//
4863// Use "Send" method on the returned Request to send the API call to the service.
4864// the "output" return value is not valid until after Send returns without error.
4865//
4866// See ReimportApi for more information on using the ReimportApi
4867// API call, and error handling.
4868//
4869// This method is useful when you want to inject custom logic or configuration
4870// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4871//
4872//
4873//    // Example sending a request using the ReimportApiRequest method.
4874//    req, resp := client.ReimportApiRequest(params)
4875//
4876//    err := req.Send()
4877//    if err == nil { // resp is now filled
4878//        fmt.Println(resp)
4879//    }
4880//
4881// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ReimportApi
4882func (c *ApiGatewayV2) ReimportApiRequest(input *ReimportApiInput) (req *request.Request, output *ReimportApiOutput) {
4883	op := &request.Operation{
4884		Name:       opReimportApi,
4885		HTTPMethod: "PUT",
4886		HTTPPath:   "/v2/apis/{apiId}",
4887	}
4888
4889	if input == nil {
4890		input = &ReimportApiInput{}
4891	}
4892
4893	output = &ReimportApiOutput{}
4894	req = c.newRequest(op, input, output)
4895	return
4896}
4897
4898// ReimportApi API operation for AmazonApiGatewayV2.
4899//
4900// Puts an Api resource.
4901//
4902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4903// with awserr.Error's Code and Message methods to get detailed information about
4904// the error.
4905//
4906// See the AWS API reference guide for AmazonApiGatewayV2's
4907// API operation ReimportApi for usage and error information.
4908//
4909// Returned Error Types:
4910//   * NotFoundException
4911//   The resource specified in the request was not found. See the message field
4912//   for more information.
4913//
4914//   * TooManyRequestsException
4915//   A limit has been exceeded. See the accompanying error message for details.
4916//
4917//   * BadRequestException
4918//   The request is not valid, for example, the input is incomplete or incorrect.
4919//   See the accompanying error message for details.
4920//
4921//   * ConflictException
4922//   The requested operation would cause a conflict with the current state of
4923//   a service resource associated with the request. Resolve the conflict before
4924//   retrying this request. See the accompanying error message for details.
4925//
4926// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ReimportApi
4927func (c *ApiGatewayV2) ReimportApi(input *ReimportApiInput) (*ReimportApiOutput, error) {
4928	req, out := c.ReimportApiRequest(input)
4929	return out, req.Send()
4930}
4931
4932// ReimportApiWithContext is the same as ReimportApi with the addition of
4933// the ability to pass a context and additional request options.
4934//
4935// See ReimportApi for details on how to use this API operation.
4936//
4937// The context must be non-nil and will be used for request cancellation. If
4938// the context is nil a panic will occur. In the future the SDK may create
4939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4940// for more information on using Contexts.
4941func (c *ApiGatewayV2) ReimportApiWithContext(ctx aws.Context, input *ReimportApiInput, opts ...request.Option) (*ReimportApiOutput, error) {
4942	req, out := c.ReimportApiRequest(input)
4943	req.SetContext(ctx)
4944	req.ApplyOptions(opts...)
4945	return out, req.Send()
4946}
4947
4948const opResetAuthorizersCache = "ResetAuthorizersCache"
4949
4950// ResetAuthorizersCacheRequest generates a "aws/request.Request" representing the
4951// client's request for the ResetAuthorizersCache operation. The "output" return
4952// value will be populated with the request's response once the request completes
4953// successfully.
4954//
4955// Use "Send" method on the returned Request to send the API call to the service.
4956// the "output" return value is not valid until after Send returns without error.
4957//
4958// See ResetAuthorizersCache for more information on using the ResetAuthorizersCache
4959// API call, and error handling.
4960//
4961// This method is useful when you want to inject custom logic or configuration
4962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4963//
4964//
4965//    // Example sending a request using the ResetAuthorizersCacheRequest method.
4966//    req, resp := client.ResetAuthorizersCacheRequest(params)
4967//
4968//    err := req.Send()
4969//    if err == nil { // resp is now filled
4970//        fmt.Println(resp)
4971//    }
4972//
4973// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ResetAuthorizersCache
4974func (c *ApiGatewayV2) ResetAuthorizersCacheRequest(input *ResetAuthorizersCacheInput) (req *request.Request, output *ResetAuthorizersCacheOutput) {
4975	op := &request.Operation{
4976		Name:       opResetAuthorizersCache,
4977		HTTPMethod: "DELETE",
4978		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/cache/authorizers",
4979	}
4980
4981	if input == nil {
4982		input = &ResetAuthorizersCacheInput{}
4983	}
4984
4985	output = &ResetAuthorizersCacheOutput{}
4986	req = c.newRequest(op, input, output)
4987	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4988	return
4989}
4990
4991// ResetAuthorizersCache API operation for AmazonApiGatewayV2.
4992//
4993// Resets all authorizer cache entries for the specified stage. Supported only
4994// for HTTP API Lambda authorizers.
4995//
4996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4997// with awserr.Error's Code and Message methods to get detailed information about
4998// the error.
4999//
5000// See the AWS API reference guide for AmazonApiGatewayV2's
5001// API operation ResetAuthorizersCache for usage and error information.
5002//
5003// Returned Error Types:
5004//   * NotFoundException
5005//   The resource specified in the request was not found. See the message field
5006//   for more information.
5007//
5008//   * TooManyRequestsException
5009//   A limit has been exceeded. See the accompanying error message for details.
5010//
5011// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ResetAuthorizersCache
5012func (c *ApiGatewayV2) ResetAuthorizersCache(input *ResetAuthorizersCacheInput) (*ResetAuthorizersCacheOutput, error) {
5013	req, out := c.ResetAuthorizersCacheRequest(input)
5014	return out, req.Send()
5015}
5016
5017// ResetAuthorizersCacheWithContext is the same as ResetAuthorizersCache with the addition of
5018// the ability to pass a context and additional request options.
5019//
5020// See ResetAuthorizersCache for details on how to use this API operation.
5021//
5022// The context must be non-nil and will be used for request cancellation. If
5023// the context is nil a panic will occur. In the future the SDK may create
5024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5025// for more information on using Contexts.
5026func (c *ApiGatewayV2) ResetAuthorizersCacheWithContext(ctx aws.Context, input *ResetAuthorizersCacheInput, opts ...request.Option) (*ResetAuthorizersCacheOutput, error) {
5027	req, out := c.ResetAuthorizersCacheRequest(input)
5028	req.SetContext(ctx)
5029	req.ApplyOptions(opts...)
5030	return out, req.Send()
5031}
5032
5033const opTagResource = "TagResource"
5034
5035// TagResourceRequest generates a "aws/request.Request" representing the
5036// client's request for the TagResource operation. The "output" return
5037// value will be populated with the request's response once the request completes
5038// successfully.
5039//
5040// Use "Send" method on the returned Request to send the API call to the service.
5041// the "output" return value is not valid until after Send returns without error.
5042//
5043// See TagResource for more information on using the TagResource
5044// API call, and error handling.
5045//
5046// This method is useful when you want to inject custom logic or configuration
5047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5048//
5049//
5050//    // Example sending a request using the TagResourceRequest method.
5051//    req, resp := client.TagResourceRequest(params)
5052//
5053//    err := req.Send()
5054//    if err == nil { // resp is now filled
5055//        fmt.Println(resp)
5056//    }
5057//
5058// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/TagResource
5059func (c *ApiGatewayV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5060	op := &request.Operation{
5061		Name:       opTagResource,
5062		HTTPMethod: "POST",
5063		HTTPPath:   "/v2/tags/{resource-arn}",
5064	}
5065
5066	if input == nil {
5067		input = &TagResourceInput{}
5068	}
5069
5070	output = &TagResourceOutput{}
5071	req = c.newRequest(op, input, output)
5072	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5073	return
5074}
5075
5076// TagResource API operation for AmazonApiGatewayV2.
5077//
5078// Creates a new Tag resource to represent a tag.
5079//
5080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5081// with awserr.Error's Code and Message methods to get detailed information about
5082// the error.
5083//
5084// See the AWS API reference guide for AmazonApiGatewayV2's
5085// API operation TagResource for usage and error information.
5086//
5087// Returned Error Types:
5088//   * NotFoundException
5089//   The resource specified in the request was not found. See the message field
5090//   for more information.
5091//
5092//   * TooManyRequestsException
5093//   A limit has been exceeded. See the accompanying error message for details.
5094//
5095//   * BadRequestException
5096//   The request is not valid, for example, the input is incomplete or incorrect.
5097//   See the accompanying error message for details.
5098//
5099//   * ConflictException
5100//   The requested operation would cause a conflict with the current state of
5101//   a service resource associated with the request. Resolve the conflict before
5102//   retrying this request. See the accompanying error message for details.
5103//
5104// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/TagResource
5105func (c *ApiGatewayV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5106	req, out := c.TagResourceRequest(input)
5107	return out, req.Send()
5108}
5109
5110// TagResourceWithContext is the same as TagResource with the addition of
5111// the ability to pass a context and additional request options.
5112//
5113// See TagResource for details on how to use this API operation.
5114//
5115// The context must be non-nil and will be used for request cancellation. If
5116// the context is nil a panic will occur. In the future the SDK may create
5117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5118// for more information on using Contexts.
5119func (c *ApiGatewayV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5120	req, out := c.TagResourceRequest(input)
5121	req.SetContext(ctx)
5122	req.ApplyOptions(opts...)
5123	return out, req.Send()
5124}
5125
5126const opUntagResource = "UntagResource"
5127
5128// UntagResourceRequest generates a "aws/request.Request" representing the
5129// client's request for the UntagResource operation. The "output" return
5130// value will be populated with the request's response once the request completes
5131// successfully.
5132//
5133// Use "Send" method on the returned Request to send the API call to the service.
5134// the "output" return value is not valid until after Send returns without error.
5135//
5136// See UntagResource for more information on using the UntagResource
5137// API call, and error handling.
5138//
5139// This method is useful when you want to inject custom logic or configuration
5140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5141//
5142//
5143//    // Example sending a request using the UntagResourceRequest method.
5144//    req, resp := client.UntagResourceRequest(params)
5145//
5146//    err := req.Send()
5147//    if err == nil { // resp is now filled
5148//        fmt.Println(resp)
5149//    }
5150//
5151// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UntagResource
5152func (c *ApiGatewayV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5153	op := &request.Operation{
5154		Name:       opUntagResource,
5155		HTTPMethod: "DELETE",
5156		HTTPPath:   "/v2/tags/{resource-arn}",
5157	}
5158
5159	if input == nil {
5160		input = &UntagResourceInput{}
5161	}
5162
5163	output = &UntagResourceOutput{}
5164	req = c.newRequest(op, input, output)
5165	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5166	return
5167}
5168
5169// UntagResource API operation for AmazonApiGatewayV2.
5170//
5171// Deletes a Tag.
5172//
5173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5174// with awserr.Error's Code and Message methods to get detailed information about
5175// the error.
5176//
5177// See the AWS API reference guide for AmazonApiGatewayV2's
5178// API operation UntagResource for usage and error information.
5179//
5180// Returned Error Types:
5181//   * NotFoundException
5182//   The resource specified in the request was not found. See the message field
5183//   for more information.
5184//
5185//   * TooManyRequestsException
5186//   A limit has been exceeded. See the accompanying error message for details.
5187//
5188//   * BadRequestException
5189//   The request is not valid, for example, the input is incomplete or incorrect.
5190//   See the accompanying error message for details.
5191//
5192//   * ConflictException
5193//   The requested operation would cause a conflict with the current state of
5194//   a service resource associated with the request. Resolve the conflict before
5195//   retrying this request. See the accompanying error message for details.
5196//
5197// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UntagResource
5198func (c *ApiGatewayV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5199	req, out := c.UntagResourceRequest(input)
5200	return out, req.Send()
5201}
5202
5203// UntagResourceWithContext is the same as UntagResource with the addition of
5204// the ability to pass a context and additional request options.
5205//
5206// See UntagResource for details on how to use this API operation.
5207//
5208// The context must be non-nil and will be used for request cancellation. If
5209// the context is nil a panic will occur. In the future the SDK may create
5210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5211// for more information on using Contexts.
5212func (c *ApiGatewayV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5213	req, out := c.UntagResourceRequest(input)
5214	req.SetContext(ctx)
5215	req.ApplyOptions(opts...)
5216	return out, req.Send()
5217}
5218
5219const opUpdateApi = "UpdateApi"
5220
5221// UpdateApiRequest generates a "aws/request.Request" representing the
5222// client's request for the UpdateApi operation. The "output" return
5223// value will be populated with the request's response once the request completes
5224// successfully.
5225//
5226// Use "Send" method on the returned Request to send the API call to the service.
5227// the "output" return value is not valid until after Send returns without error.
5228//
5229// See UpdateApi for more information on using the UpdateApi
5230// API call, and error handling.
5231//
5232// This method is useful when you want to inject custom logic or configuration
5233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5234//
5235//
5236//    // Example sending a request using the UpdateApiRequest method.
5237//    req, resp := client.UpdateApiRequest(params)
5238//
5239//    err := req.Send()
5240//    if err == nil { // resp is now filled
5241//        fmt.Println(resp)
5242//    }
5243//
5244// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi
5245func (c *ApiGatewayV2) UpdateApiRequest(input *UpdateApiInput) (req *request.Request, output *UpdateApiOutput) {
5246	op := &request.Operation{
5247		Name:       opUpdateApi,
5248		HTTPMethod: "PATCH",
5249		HTTPPath:   "/v2/apis/{apiId}",
5250	}
5251
5252	if input == nil {
5253		input = &UpdateApiInput{}
5254	}
5255
5256	output = &UpdateApiOutput{}
5257	req = c.newRequest(op, input, output)
5258	return
5259}
5260
5261// UpdateApi API operation for AmazonApiGatewayV2.
5262//
5263// Updates an Api resource.
5264//
5265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5266// with awserr.Error's Code and Message methods to get detailed information about
5267// the error.
5268//
5269// See the AWS API reference guide for AmazonApiGatewayV2's
5270// API operation UpdateApi for usage and error information.
5271//
5272// Returned Error Types:
5273//   * NotFoundException
5274//   The resource specified in the request was not found. See the message field
5275//   for more information.
5276//
5277//   * TooManyRequestsException
5278//   A limit has been exceeded. See the accompanying error message for details.
5279//
5280//   * BadRequestException
5281//   The request is not valid, for example, the input is incomplete or incorrect.
5282//   See the accompanying error message for details.
5283//
5284//   * ConflictException
5285//   The requested operation would cause a conflict with the current state of
5286//   a service resource associated with the request. Resolve the conflict before
5287//   retrying this request. See the accompanying error message for details.
5288//
5289// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi
5290func (c *ApiGatewayV2) UpdateApi(input *UpdateApiInput) (*UpdateApiOutput, error) {
5291	req, out := c.UpdateApiRequest(input)
5292	return out, req.Send()
5293}
5294
5295// UpdateApiWithContext is the same as UpdateApi with the addition of
5296// the ability to pass a context and additional request options.
5297//
5298// See UpdateApi for details on how to use this API operation.
5299//
5300// The context must be non-nil and will be used for request cancellation. If
5301// the context is nil a panic will occur. In the future the SDK may create
5302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5303// for more information on using Contexts.
5304func (c *ApiGatewayV2) UpdateApiWithContext(ctx aws.Context, input *UpdateApiInput, opts ...request.Option) (*UpdateApiOutput, error) {
5305	req, out := c.UpdateApiRequest(input)
5306	req.SetContext(ctx)
5307	req.ApplyOptions(opts...)
5308	return out, req.Send()
5309}
5310
5311const opUpdateApiMapping = "UpdateApiMapping"
5312
5313// UpdateApiMappingRequest generates a "aws/request.Request" representing the
5314// client's request for the UpdateApiMapping operation. The "output" return
5315// value will be populated with the request's response once the request completes
5316// successfully.
5317//
5318// Use "Send" method on the returned Request to send the API call to the service.
5319// the "output" return value is not valid until after Send returns without error.
5320//
5321// See UpdateApiMapping for more information on using the UpdateApiMapping
5322// API call, and error handling.
5323//
5324// This method is useful when you want to inject custom logic or configuration
5325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5326//
5327//
5328//    // Example sending a request using the UpdateApiMappingRequest method.
5329//    req, resp := client.UpdateApiMappingRequest(params)
5330//
5331//    err := req.Send()
5332//    if err == nil { // resp is now filled
5333//        fmt.Println(resp)
5334//    }
5335//
5336// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping
5337func (c *ApiGatewayV2) UpdateApiMappingRequest(input *UpdateApiMappingInput) (req *request.Request, output *UpdateApiMappingOutput) {
5338	op := &request.Operation{
5339		Name:       opUpdateApiMapping,
5340		HTTPMethod: "PATCH",
5341		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
5342	}
5343
5344	if input == nil {
5345		input = &UpdateApiMappingInput{}
5346	}
5347
5348	output = &UpdateApiMappingOutput{}
5349	req = c.newRequest(op, input, output)
5350	return
5351}
5352
5353// UpdateApiMapping API operation for AmazonApiGatewayV2.
5354//
5355// The API mapping.
5356//
5357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5358// with awserr.Error's Code and Message methods to get detailed information about
5359// the error.
5360//
5361// See the AWS API reference guide for AmazonApiGatewayV2's
5362// API operation UpdateApiMapping for usage and error information.
5363//
5364// Returned Error Types:
5365//   * NotFoundException
5366//   The resource specified in the request was not found. See the message field
5367//   for more information.
5368//
5369//   * TooManyRequestsException
5370//   A limit has been exceeded. See the accompanying error message for details.
5371//
5372//   * BadRequestException
5373//   The request is not valid, for example, the input is incomplete or incorrect.
5374//   See the accompanying error message for details.
5375//
5376//   * ConflictException
5377//   The requested operation would cause a conflict with the current state of
5378//   a service resource associated with the request. Resolve the conflict before
5379//   retrying this request. See the accompanying error message for details.
5380//
5381// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping
5382func (c *ApiGatewayV2) UpdateApiMapping(input *UpdateApiMappingInput) (*UpdateApiMappingOutput, error) {
5383	req, out := c.UpdateApiMappingRequest(input)
5384	return out, req.Send()
5385}
5386
5387// UpdateApiMappingWithContext is the same as UpdateApiMapping with the addition of
5388// the ability to pass a context and additional request options.
5389//
5390// See UpdateApiMapping for details on how to use this API operation.
5391//
5392// The context must be non-nil and will be used for request cancellation. If
5393// the context is nil a panic will occur. In the future the SDK may create
5394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5395// for more information on using Contexts.
5396func (c *ApiGatewayV2) UpdateApiMappingWithContext(ctx aws.Context, input *UpdateApiMappingInput, opts ...request.Option) (*UpdateApiMappingOutput, error) {
5397	req, out := c.UpdateApiMappingRequest(input)
5398	req.SetContext(ctx)
5399	req.ApplyOptions(opts...)
5400	return out, req.Send()
5401}
5402
5403const opUpdateAuthorizer = "UpdateAuthorizer"
5404
5405// UpdateAuthorizerRequest generates a "aws/request.Request" representing the
5406// client's request for the UpdateAuthorizer operation. The "output" return
5407// value will be populated with the request's response once the request completes
5408// successfully.
5409//
5410// Use "Send" method on the returned Request to send the API call to the service.
5411// the "output" return value is not valid until after Send returns without error.
5412//
5413// See UpdateAuthorizer for more information on using the UpdateAuthorizer
5414// API call, and error handling.
5415//
5416// This method is useful when you want to inject custom logic or configuration
5417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5418//
5419//
5420//    // Example sending a request using the UpdateAuthorizerRequest method.
5421//    req, resp := client.UpdateAuthorizerRequest(params)
5422//
5423//    err := req.Send()
5424//    if err == nil { // resp is now filled
5425//        fmt.Println(resp)
5426//    }
5427//
5428// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer
5429func (c *ApiGatewayV2) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *UpdateAuthorizerOutput) {
5430	op := &request.Operation{
5431		Name:       opUpdateAuthorizer,
5432		HTTPMethod: "PATCH",
5433		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
5434	}
5435
5436	if input == nil {
5437		input = &UpdateAuthorizerInput{}
5438	}
5439
5440	output = &UpdateAuthorizerOutput{}
5441	req = c.newRequest(op, input, output)
5442	return
5443}
5444
5445// UpdateAuthorizer API operation for AmazonApiGatewayV2.
5446//
5447// Updates an Authorizer.
5448//
5449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5450// with awserr.Error's Code and Message methods to get detailed information about
5451// the error.
5452//
5453// See the AWS API reference guide for AmazonApiGatewayV2's
5454// API operation UpdateAuthorizer for usage and error information.
5455//
5456// Returned Error Types:
5457//   * NotFoundException
5458//   The resource specified in the request was not found. See the message field
5459//   for more information.
5460//
5461//   * TooManyRequestsException
5462//   A limit has been exceeded. See the accompanying error message for details.
5463//
5464//   * BadRequestException
5465//   The request is not valid, for example, the input is incomplete or incorrect.
5466//   See the accompanying error message for details.
5467//
5468//   * ConflictException
5469//   The requested operation would cause a conflict with the current state of
5470//   a service resource associated with the request. Resolve the conflict before
5471//   retrying this request. See the accompanying error message for details.
5472//
5473// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer
5474func (c *ApiGatewayV2) UpdateAuthorizer(input *UpdateAuthorizerInput) (*UpdateAuthorizerOutput, error) {
5475	req, out := c.UpdateAuthorizerRequest(input)
5476	return out, req.Send()
5477}
5478
5479// UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of
5480// the ability to pass a context and additional request options.
5481//
5482// See UpdateAuthorizer for details on how to use this API operation.
5483//
5484// The context must be non-nil and will be used for request cancellation. If
5485// the context is nil a panic will occur. In the future the SDK may create
5486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5487// for more information on using Contexts.
5488func (c *ApiGatewayV2) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*UpdateAuthorizerOutput, error) {
5489	req, out := c.UpdateAuthorizerRequest(input)
5490	req.SetContext(ctx)
5491	req.ApplyOptions(opts...)
5492	return out, req.Send()
5493}
5494
5495const opUpdateDeployment = "UpdateDeployment"
5496
5497// UpdateDeploymentRequest generates a "aws/request.Request" representing the
5498// client's request for the UpdateDeployment operation. The "output" return
5499// value will be populated with the request's response once the request completes
5500// successfully.
5501//
5502// Use "Send" method on the returned Request to send the API call to the service.
5503// the "output" return value is not valid until after Send returns without error.
5504//
5505// See UpdateDeployment for more information on using the UpdateDeployment
5506// API call, and error handling.
5507//
5508// This method is useful when you want to inject custom logic or configuration
5509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5510//
5511//
5512//    // Example sending a request using the UpdateDeploymentRequest method.
5513//    req, resp := client.UpdateDeploymentRequest(params)
5514//
5515//    err := req.Send()
5516//    if err == nil { // resp is now filled
5517//        fmt.Println(resp)
5518//    }
5519//
5520// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment
5521func (c *ApiGatewayV2) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *UpdateDeploymentOutput) {
5522	op := &request.Operation{
5523		Name:       opUpdateDeployment,
5524		HTTPMethod: "PATCH",
5525		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
5526	}
5527
5528	if input == nil {
5529		input = &UpdateDeploymentInput{}
5530	}
5531
5532	output = &UpdateDeploymentOutput{}
5533	req = c.newRequest(op, input, output)
5534	return
5535}
5536
5537// UpdateDeployment API operation for AmazonApiGatewayV2.
5538//
5539// Updates a Deployment.
5540//
5541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5542// with awserr.Error's Code and Message methods to get detailed information about
5543// the error.
5544//
5545// See the AWS API reference guide for AmazonApiGatewayV2's
5546// API operation UpdateDeployment for usage and error information.
5547//
5548// Returned Error Types:
5549//   * NotFoundException
5550//   The resource specified in the request was not found. See the message field
5551//   for more information.
5552//
5553//   * TooManyRequestsException
5554//   A limit has been exceeded. See the accompanying error message for details.
5555//
5556//   * BadRequestException
5557//   The request is not valid, for example, the input is incomplete or incorrect.
5558//   See the accompanying error message for details.
5559//
5560//   * ConflictException
5561//   The requested operation would cause a conflict with the current state of
5562//   a service resource associated with the request. Resolve the conflict before
5563//   retrying this request. See the accompanying error message for details.
5564//
5565// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment
5566func (c *ApiGatewayV2) UpdateDeployment(input *UpdateDeploymentInput) (*UpdateDeploymentOutput, error) {
5567	req, out := c.UpdateDeploymentRequest(input)
5568	return out, req.Send()
5569}
5570
5571// UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of
5572// the ability to pass a context and additional request options.
5573//
5574// See UpdateDeployment for details on how to use this API operation.
5575//
5576// The context must be non-nil and will be used for request cancellation. If
5577// the context is nil a panic will occur. In the future the SDK may create
5578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5579// for more information on using Contexts.
5580func (c *ApiGatewayV2) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*UpdateDeploymentOutput, error) {
5581	req, out := c.UpdateDeploymentRequest(input)
5582	req.SetContext(ctx)
5583	req.ApplyOptions(opts...)
5584	return out, req.Send()
5585}
5586
5587const opUpdateDomainName = "UpdateDomainName"
5588
5589// UpdateDomainNameRequest generates a "aws/request.Request" representing the
5590// client's request for the UpdateDomainName operation. The "output" return
5591// value will be populated with the request's response once the request completes
5592// successfully.
5593//
5594// Use "Send" method on the returned Request to send the API call to the service.
5595// the "output" return value is not valid until after Send returns without error.
5596//
5597// See UpdateDomainName for more information on using the UpdateDomainName
5598// API call, and error handling.
5599//
5600// This method is useful when you want to inject custom logic or configuration
5601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5602//
5603//
5604//    // Example sending a request using the UpdateDomainNameRequest method.
5605//    req, resp := client.UpdateDomainNameRequest(params)
5606//
5607//    err := req.Send()
5608//    if err == nil { // resp is now filled
5609//        fmt.Println(resp)
5610//    }
5611//
5612// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName
5613func (c *ApiGatewayV2) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *UpdateDomainNameOutput) {
5614	op := &request.Operation{
5615		Name:       opUpdateDomainName,
5616		HTTPMethod: "PATCH",
5617		HTTPPath:   "/v2/domainnames/{domainName}",
5618	}
5619
5620	if input == nil {
5621		input = &UpdateDomainNameInput{}
5622	}
5623
5624	output = &UpdateDomainNameOutput{}
5625	req = c.newRequest(op, input, output)
5626	return
5627}
5628
5629// UpdateDomainName API operation for AmazonApiGatewayV2.
5630//
5631// Updates a domain name.
5632//
5633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5634// with awserr.Error's Code and Message methods to get detailed information about
5635// the error.
5636//
5637// See the AWS API reference guide for AmazonApiGatewayV2's
5638// API operation UpdateDomainName for usage and error information.
5639//
5640// Returned Error Types:
5641//   * NotFoundException
5642//   The resource specified in the request was not found. See the message field
5643//   for more information.
5644//
5645//   * TooManyRequestsException
5646//   A limit has been exceeded. See the accompanying error message for details.
5647//
5648//   * BadRequestException
5649//   The request is not valid, for example, the input is incomplete or incorrect.
5650//   See the accompanying error message for details.
5651//
5652//   * ConflictException
5653//   The requested operation would cause a conflict with the current state of
5654//   a service resource associated with the request. Resolve the conflict before
5655//   retrying this request. See the accompanying error message for details.
5656//
5657// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName
5658func (c *ApiGatewayV2) UpdateDomainName(input *UpdateDomainNameInput) (*UpdateDomainNameOutput, error) {
5659	req, out := c.UpdateDomainNameRequest(input)
5660	return out, req.Send()
5661}
5662
5663// UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of
5664// the ability to pass a context and additional request options.
5665//
5666// See UpdateDomainName for details on how to use this API operation.
5667//
5668// The context must be non-nil and will be used for request cancellation. If
5669// the context is nil a panic will occur. In the future the SDK may create
5670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5671// for more information on using Contexts.
5672func (c *ApiGatewayV2) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*UpdateDomainNameOutput, error) {
5673	req, out := c.UpdateDomainNameRequest(input)
5674	req.SetContext(ctx)
5675	req.ApplyOptions(opts...)
5676	return out, req.Send()
5677}
5678
5679const opUpdateIntegration = "UpdateIntegration"
5680
5681// UpdateIntegrationRequest generates a "aws/request.Request" representing the
5682// client's request for the UpdateIntegration operation. The "output" return
5683// value will be populated with the request's response once the request completes
5684// successfully.
5685//
5686// Use "Send" method on the returned Request to send the API call to the service.
5687// the "output" return value is not valid until after Send returns without error.
5688//
5689// See UpdateIntegration for more information on using the UpdateIntegration
5690// API call, and error handling.
5691//
5692// This method is useful when you want to inject custom logic or configuration
5693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5694//
5695//
5696//    // Example sending a request using the UpdateIntegrationRequest method.
5697//    req, resp := client.UpdateIntegrationRequest(params)
5698//
5699//    err := req.Send()
5700//    if err == nil { // resp is now filled
5701//        fmt.Println(resp)
5702//    }
5703//
5704// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration
5705func (c *ApiGatewayV2) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *UpdateIntegrationOutput) {
5706	op := &request.Operation{
5707		Name:       opUpdateIntegration,
5708		HTTPMethod: "PATCH",
5709		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
5710	}
5711
5712	if input == nil {
5713		input = &UpdateIntegrationInput{}
5714	}
5715
5716	output = &UpdateIntegrationOutput{}
5717	req = c.newRequest(op, input, output)
5718	return
5719}
5720
5721// UpdateIntegration API operation for AmazonApiGatewayV2.
5722//
5723// Updates an Integration.
5724//
5725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5726// with awserr.Error's Code and Message methods to get detailed information about
5727// the error.
5728//
5729// See the AWS API reference guide for AmazonApiGatewayV2's
5730// API operation UpdateIntegration for usage and error information.
5731//
5732// Returned Error Types:
5733//   * NotFoundException
5734//   The resource specified in the request was not found. See the message field
5735//   for more information.
5736//
5737//   * TooManyRequestsException
5738//   A limit has been exceeded. See the accompanying error message for details.
5739//
5740//   * BadRequestException
5741//   The request is not valid, for example, the input is incomplete or incorrect.
5742//   See the accompanying error message for details.
5743//
5744//   * ConflictException
5745//   The requested operation would cause a conflict with the current state of
5746//   a service resource associated with the request. Resolve the conflict before
5747//   retrying this request. See the accompanying error message for details.
5748//
5749// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration
5750func (c *ApiGatewayV2) UpdateIntegration(input *UpdateIntegrationInput) (*UpdateIntegrationOutput, error) {
5751	req, out := c.UpdateIntegrationRequest(input)
5752	return out, req.Send()
5753}
5754
5755// UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of
5756// the ability to pass a context and additional request options.
5757//
5758// See UpdateIntegration for details on how to use this API operation.
5759//
5760// The context must be non-nil and will be used for request cancellation. If
5761// the context is nil a panic will occur. In the future the SDK may create
5762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5763// for more information on using Contexts.
5764func (c *ApiGatewayV2) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*UpdateIntegrationOutput, error) {
5765	req, out := c.UpdateIntegrationRequest(input)
5766	req.SetContext(ctx)
5767	req.ApplyOptions(opts...)
5768	return out, req.Send()
5769}
5770
5771const opUpdateIntegrationResponse = "UpdateIntegrationResponse"
5772
5773// UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the
5774// client's request for the UpdateIntegrationResponse operation. The "output" return
5775// value will be populated with the request's response once the request completes
5776// successfully.
5777//
5778// Use "Send" method on the returned Request to send the API call to the service.
5779// the "output" return value is not valid until after Send returns without error.
5780//
5781// See UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse
5782// API call, and error handling.
5783//
5784// This method is useful when you want to inject custom logic or configuration
5785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5786//
5787//
5788//    // Example sending a request using the UpdateIntegrationResponseRequest method.
5789//    req, resp := client.UpdateIntegrationResponseRequest(params)
5790//
5791//    err := req.Send()
5792//    if err == nil { // resp is now filled
5793//        fmt.Println(resp)
5794//    }
5795//
5796// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse
5797func (c *ApiGatewayV2) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *UpdateIntegrationResponseOutput) {
5798	op := &request.Operation{
5799		Name:       opUpdateIntegrationResponse,
5800		HTTPMethod: "PATCH",
5801		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
5802	}
5803
5804	if input == nil {
5805		input = &UpdateIntegrationResponseInput{}
5806	}
5807
5808	output = &UpdateIntegrationResponseOutput{}
5809	req = c.newRequest(op, input, output)
5810	return
5811}
5812
5813// UpdateIntegrationResponse API operation for AmazonApiGatewayV2.
5814//
5815// Updates an IntegrationResponses.
5816//
5817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5818// with awserr.Error's Code and Message methods to get detailed information about
5819// the error.
5820//
5821// See the AWS API reference guide for AmazonApiGatewayV2's
5822// API operation UpdateIntegrationResponse for usage and error information.
5823//
5824// Returned Error Types:
5825//   * NotFoundException
5826//   The resource specified in the request was not found. See the message field
5827//   for more information.
5828//
5829//   * TooManyRequestsException
5830//   A limit has been exceeded. See the accompanying error message for details.
5831//
5832//   * BadRequestException
5833//   The request is not valid, for example, the input is incomplete or incorrect.
5834//   See the accompanying error message for details.
5835//
5836//   * ConflictException
5837//   The requested operation would cause a conflict with the current state of
5838//   a service resource associated with the request. Resolve the conflict before
5839//   retrying this request. See the accompanying error message for details.
5840//
5841// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse
5842func (c *ApiGatewayV2) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*UpdateIntegrationResponseOutput, error) {
5843	req, out := c.UpdateIntegrationResponseRequest(input)
5844	return out, req.Send()
5845}
5846
5847// UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of
5848// the ability to pass a context and additional request options.
5849//
5850// See UpdateIntegrationResponse for details on how to use this API operation.
5851//
5852// The context must be non-nil and will be used for request cancellation. If
5853// the context is nil a panic will occur. In the future the SDK may create
5854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5855// for more information on using Contexts.
5856func (c *ApiGatewayV2) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*UpdateIntegrationResponseOutput, error) {
5857	req, out := c.UpdateIntegrationResponseRequest(input)
5858	req.SetContext(ctx)
5859	req.ApplyOptions(opts...)
5860	return out, req.Send()
5861}
5862
5863const opUpdateModel = "UpdateModel"
5864
5865// UpdateModelRequest generates a "aws/request.Request" representing the
5866// client's request for the UpdateModel operation. The "output" return
5867// value will be populated with the request's response once the request completes
5868// successfully.
5869//
5870// Use "Send" method on the returned Request to send the API call to the service.
5871// the "output" return value is not valid until after Send returns without error.
5872//
5873// See UpdateModel for more information on using the UpdateModel
5874// API call, and error handling.
5875//
5876// This method is useful when you want to inject custom logic or configuration
5877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5878//
5879//
5880//    // Example sending a request using the UpdateModelRequest method.
5881//    req, resp := client.UpdateModelRequest(params)
5882//
5883//    err := req.Send()
5884//    if err == nil { // resp is now filled
5885//        fmt.Println(resp)
5886//    }
5887//
5888// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel
5889func (c *ApiGatewayV2) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *UpdateModelOutput) {
5890	op := &request.Operation{
5891		Name:       opUpdateModel,
5892		HTTPMethod: "PATCH",
5893		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
5894	}
5895
5896	if input == nil {
5897		input = &UpdateModelInput{}
5898	}
5899
5900	output = &UpdateModelOutput{}
5901	req = c.newRequest(op, input, output)
5902	return
5903}
5904
5905// UpdateModel API operation for AmazonApiGatewayV2.
5906//
5907// Updates a Model.
5908//
5909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5910// with awserr.Error's Code and Message methods to get detailed information about
5911// the error.
5912//
5913// See the AWS API reference guide for AmazonApiGatewayV2's
5914// API operation UpdateModel for usage and error information.
5915//
5916// Returned Error Types:
5917//   * NotFoundException
5918//   The resource specified in the request was not found. See the message field
5919//   for more information.
5920//
5921//   * TooManyRequestsException
5922//   A limit has been exceeded. See the accompanying error message for details.
5923//
5924//   * BadRequestException
5925//   The request is not valid, for example, the input is incomplete or incorrect.
5926//   See the accompanying error message for details.
5927//
5928//   * ConflictException
5929//   The requested operation would cause a conflict with the current state of
5930//   a service resource associated with the request. Resolve the conflict before
5931//   retrying this request. See the accompanying error message for details.
5932//
5933// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel
5934func (c *ApiGatewayV2) UpdateModel(input *UpdateModelInput) (*UpdateModelOutput, error) {
5935	req, out := c.UpdateModelRequest(input)
5936	return out, req.Send()
5937}
5938
5939// UpdateModelWithContext is the same as UpdateModel with the addition of
5940// the ability to pass a context and additional request options.
5941//
5942// See UpdateModel for details on how to use this API operation.
5943//
5944// The context must be non-nil and will be used for request cancellation. If
5945// the context is nil a panic will occur. In the future the SDK may create
5946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5947// for more information on using Contexts.
5948func (c *ApiGatewayV2) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*UpdateModelOutput, error) {
5949	req, out := c.UpdateModelRequest(input)
5950	req.SetContext(ctx)
5951	req.ApplyOptions(opts...)
5952	return out, req.Send()
5953}
5954
5955const opUpdateRoute = "UpdateRoute"
5956
5957// UpdateRouteRequest generates a "aws/request.Request" representing the
5958// client's request for the UpdateRoute operation. The "output" return
5959// value will be populated with the request's response once the request completes
5960// successfully.
5961//
5962// Use "Send" method on the returned Request to send the API call to the service.
5963// the "output" return value is not valid until after Send returns without error.
5964//
5965// See UpdateRoute for more information on using the UpdateRoute
5966// API call, and error handling.
5967//
5968// This method is useful when you want to inject custom logic or configuration
5969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5970//
5971//
5972//    // Example sending a request using the UpdateRouteRequest method.
5973//    req, resp := client.UpdateRouteRequest(params)
5974//
5975//    err := req.Send()
5976//    if err == nil { // resp is now filled
5977//        fmt.Println(resp)
5978//    }
5979//
5980// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute
5981func (c *ApiGatewayV2) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) {
5982	op := &request.Operation{
5983		Name:       opUpdateRoute,
5984		HTTPMethod: "PATCH",
5985		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
5986	}
5987
5988	if input == nil {
5989		input = &UpdateRouteInput{}
5990	}
5991
5992	output = &UpdateRouteOutput{}
5993	req = c.newRequest(op, input, output)
5994	return
5995}
5996
5997// UpdateRoute API operation for AmazonApiGatewayV2.
5998//
5999// Updates a Route.
6000//
6001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6002// with awserr.Error's Code and Message methods to get detailed information about
6003// the error.
6004//
6005// See the AWS API reference guide for AmazonApiGatewayV2's
6006// API operation UpdateRoute for usage and error information.
6007//
6008// Returned Error Types:
6009//   * NotFoundException
6010//   The resource specified in the request was not found. See the message field
6011//   for more information.
6012//
6013//   * TooManyRequestsException
6014//   A limit has been exceeded. See the accompanying error message for details.
6015//
6016//   * BadRequestException
6017//   The request is not valid, for example, the input is incomplete or incorrect.
6018//   See the accompanying error message for details.
6019//
6020//   * ConflictException
6021//   The requested operation would cause a conflict with the current state of
6022//   a service resource associated with the request. Resolve the conflict before
6023//   retrying this request. See the accompanying error message for details.
6024//
6025// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute
6026func (c *ApiGatewayV2) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) {
6027	req, out := c.UpdateRouteRequest(input)
6028	return out, req.Send()
6029}
6030
6031// UpdateRouteWithContext is the same as UpdateRoute with the addition of
6032// the ability to pass a context and additional request options.
6033//
6034// See UpdateRoute for details on how to use this API operation.
6035//
6036// The context must be non-nil and will be used for request cancellation. If
6037// the context is nil a panic will occur. In the future the SDK may create
6038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6039// for more information on using Contexts.
6040func (c *ApiGatewayV2) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) {
6041	req, out := c.UpdateRouteRequest(input)
6042	req.SetContext(ctx)
6043	req.ApplyOptions(opts...)
6044	return out, req.Send()
6045}
6046
6047const opUpdateRouteResponse = "UpdateRouteResponse"
6048
6049// UpdateRouteResponseRequest generates a "aws/request.Request" representing the
6050// client's request for the UpdateRouteResponse operation. The "output" return
6051// value will be populated with the request's response once the request completes
6052// successfully.
6053//
6054// Use "Send" method on the returned Request to send the API call to the service.
6055// the "output" return value is not valid until after Send returns without error.
6056//
6057// See UpdateRouteResponse for more information on using the UpdateRouteResponse
6058// API call, and error handling.
6059//
6060// This method is useful when you want to inject custom logic or configuration
6061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6062//
6063//
6064//    // Example sending a request using the UpdateRouteResponseRequest method.
6065//    req, resp := client.UpdateRouteResponseRequest(params)
6066//
6067//    err := req.Send()
6068//    if err == nil { // resp is now filled
6069//        fmt.Println(resp)
6070//    }
6071//
6072// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse
6073func (c *ApiGatewayV2) UpdateRouteResponseRequest(input *UpdateRouteResponseInput) (req *request.Request, output *UpdateRouteResponseOutput) {
6074	op := &request.Operation{
6075		Name:       opUpdateRouteResponse,
6076		HTTPMethod: "PATCH",
6077		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
6078	}
6079
6080	if input == nil {
6081		input = &UpdateRouteResponseInput{}
6082	}
6083
6084	output = &UpdateRouteResponseOutput{}
6085	req = c.newRequest(op, input, output)
6086	return
6087}
6088
6089// UpdateRouteResponse API operation for AmazonApiGatewayV2.
6090//
6091// Updates a RouteResponse.
6092//
6093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6094// with awserr.Error's Code and Message methods to get detailed information about
6095// the error.
6096//
6097// See the AWS API reference guide for AmazonApiGatewayV2's
6098// API operation UpdateRouteResponse for usage and error information.
6099//
6100// Returned Error Types:
6101//   * NotFoundException
6102//   The resource specified in the request was not found. See the message field
6103//   for more information.
6104//
6105//   * TooManyRequestsException
6106//   A limit has been exceeded. See the accompanying error message for details.
6107//
6108//   * BadRequestException
6109//   The request is not valid, for example, the input is incomplete or incorrect.
6110//   See the accompanying error message for details.
6111//
6112//   * ConflictException
6113//   The requested operation would cause a conflict with the current state of
6114//   a service resource associated with the request. Resolve the conflict before
6115//   retrying this request. See the accompanying error message for details.
6116//
6117// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse
6118func (c *ApiGatewayV2) UpdateRouteResponse(input *UpdateRouteResponseInput) (*UpdateRouteResponseOutput, error) {
6119	req, out := c.UpdateRouteResponseRequest(input)
6120	return out, req.Send()
6121}
6122
6123// UpdateRouteResponseWithContext is the same as UpdateRouteResponse with the addition of
6124// the ability to pass a context and additional request options.
6125//
6126// See UpdateRouteResponse for details on how to use this API operation.
6127//
6128// The context must be non-nil and will be used for request cancellation. If
6129// the context is nil a panic will occur. In the future the SDK may create
6130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6131// for more information on using Contexts.
6132func (c *ApiGatewayV2) UpdateRouteResponseWithContext(ctx aws.Context, input *UpdateRouteResponseInput, opts ...request.Option) (*UpdateRouteResponseOutput, error) {
6133	req, out := c.UpdateRouteResponseRequest(input)
6134	req.SetContext(ctx)
6135	req.ApplyOptions(opts...)
6136	return out, req.Send()
6137}
6138
6139const opUpdateStage = "UpdateStage"
6140
6141// UpdateStageRequest generates a "aws/request.Request" representing the
6142// client's request for the UpdateStage operation. The "output" return
6143// value will be populated with the request's response once the request completes
6144// successfully.
6145//
6146// Use "Send" method on the returned Request to send the API call to the service.
6147// the "output" return value is not valid until after Send returns without error.
6148//
6149// See UpdateStage for more information on using the UpdateStage
6150// API call, and error handling.
6151//
6152// This method is useful when you want to inject custom logic or configuration
6153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6154//
6155//
6156//    // Example sending a request using the UpdateStageRequest method.
6157//    req, resp := client.UpdateStageRequest(params)
6158//
6159//    err := req.Send()
6160//    if err == nil { // resp is now filled
6161//        fmt.Println(resp)
6162//    }
6163//
6164// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage
6165func (c *ApiGatewayV2) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *UpdateStageOutput) {
6166	op := &request.Operation{
6167		Name:       opUpdateStage,
6168		HTTPMethod: "PATCH",
6169		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
6170	}
6171
6172	if input == nil {
6173		input = &UpdateStageInput{}
6174	}
6175
6176	output = &UpdateStageOutput{}
6177	req = c.newRequest(op, input, output)
6178	return
6179}
6180
6181// UpdateStage API operation for AmazonApiGatewayV2.
6182//
6183// Updates a Stage.
6184//
6185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6186// with awserr.Error's Code and Message methods to get detailed information about
6187// the error.
6188//
6189// See the AWS API reference guide for AmazonApiGatewayV2's
6190// API operation UpdateStage for usage and error information.
6191//
6192// Returned Error Types:
6193//   * NotFoundException
6194//   The resource specified in the request was not found. See the message field
6195//   for more information.
6196//
6197//   * TooManyRequestsException
6198//   A limit has been exceeded. See the accompanying error message for details.
6199//
6200//   * BadRequestException
6201//   The request is not valid, for example, the input is incomplete or incorrect.
6202//   See the accompanying error message for details.
6203//
6204//   * ConflictException
6205//   The requested operation would cause a conflict with the current state of
6206//   a service resource associated with the request. Resolve the conflict before
6207//   retrying this request. See the accompanying error message for details.
6208//
6209// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage
6210func (c *ApiGatewayV2) UpdateStage(input *UpdateStageInput) (*UpdateStageOutput, error) {
6211	req, out := c.UpdateStageRequest(input)
6212	return out, req.Send()
6213}
6214
6215// UpdateStageWithContext is the same as UpdateStage with the addition of
6216// the ability to pass a context and additional request options.
6217//
6218// See UpdateStage for details on how to use this API operation.
6219//
6220// The context must be non-nil and will be used for request cancellation. If
6221// the context is nil a panic will occur. In the future the SDK may create
6222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6223// for more information on using Contexts.
6224func (c *ApiGatewayV2) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*UpdateStageOutput, error) {
6225	req, out := c.UpdateStageRequest(input)
6226	req.SetContext(ctx)
6227	req.ApplyOptions(opts...)
6228	return out, req.Send()
6229}
6230
6231const opUpdateVpcLink = "UpdateVpcLink"
6232
6233// UpdateVpcLinkRequest generates a "aws/request.Request" representing the
6234// client's request for the UpdateVpcLink operation. The "output" return
6235// value will be populated with the request's response once the request completes
6236// successfully.
6237//
6238// Use "Send" method on the returned Request to send the API call to the service.
6239// the "output" return value is not valid until after Send returns without error.
6240//
6241// See UpdateVpcLink for more information on using the UpdateVpcLink
6242// API call, and error handling.
6243//
6244// This method is useful when you want to inject custom logic or configuration
6245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6246//
6247//
6248//    // Example sending a request using the UpdateVpcLinkRequest method.
6249//    req, resp := client.UpdateVpcLinkRequest(params)
6250//
6251//    err := req.Send()
6252//    if err == nil { // resp is now filled
6253//        fmt.Println(resp)
6254//    }
6255//
6256// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateVpcLink
6257func (c *ApiGatewayV2) UpdateVpcLinkRequest(input *UpdateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
6258	op := &request.Operation{
6259		Name:       opUpdateVpcLink,
6260		HTTPMethod: "PATCH",
6261		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
6262	}
6263
6264	if input == nil {
6265		input = &UpdateVpcLinkInput{}
6266	}
6267
6268	output = &UpdateVpcLinkOutput{}
6269	req = c.newRequest(op, input, output)
6270	return
6271}
6272
6273// UpdateVpcLink API operation for AmazonApiGatewayV2.
6274//
6275// Updates a VPC link.
6276//
6277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6278// with awserr.Error's Code and Message methods to get detailed information about
6279// the error.
6280//
6281// See the AWS API reference guide for AmazonApiGatewayV2's
6282// API operation UpdateVpcLink for usage and error information.
6283//
6284// Returned Error Types:
6285//   * NotFoundException
6286//   The resource specified in the request was not found. See the message field
6287//   for more information.
6288//
6289//   * TooManyRequestsException
6290//   A limit has been exceeded. See the accompanying error message for details.
6291//
6292//   * BadRequestException
6293//   The request is not valid, for example, the input is incomplete or incorrect.
6294//   See the accompanying error message for details.
6295//
6296// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateVpcLink
6297func (c *ApiGatewayV2) UpdateVpcLink(input *UpdateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
6298	req, out := c.UpdateVpcLinkRequest(input)
6299	return out, req.Send()
6300}
6301
6302// UpdateVpcLinkWithContext is the same as UpdateVpcLink with the addition of
6303// the ability to pass a context and additional request options.
6304//
6305// See UpdateVpcLink for details on how to use this API operation.
6306//
6307// The context must be non-nil and will be used for request cancellation. If
6308// the context is nil a panic will occur. In the future the SDK may create
6309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6310// for more information on using Contexts.
6311func (c *ApiGatewayV2) UpdateVpcLinkWithContext(ctx aws.Context, input *UpdateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
6312	req, out := c.UpdateVpcLinkRequest(input)
6313	req.SetContext(ctx)
6314	req.ApplyOptions(opts...)
6315	return out, req.Send()
6316}
6317
6318type AccessDeniedException struct {
6319	_            struct{}                  `type:"structure"`
6320	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6321
6322	Message_ *string `locationName:"message" type:"string"`
6323}
6324
6325// String returns the string representation
6326func (s AccessDeniedException) String() string {
6327	return awsutil.Prettify(s)
6328}
6329
6330// GoString returns the string representation
6331func (s AccessDeniedException) GoString() string {
6332	return s.String()
6333}
6334
6335func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
6336	return &AccessDeniedException{
6337		RespMetadata: v,
6338	}
6339}
6340
6341// Code returns the exception type name.
6342func (s *AccessDeniedException) Code() string {
6343	return "AccessDeniedException"
6344}
6345
6346// Message returns the exception's message.
6347func (s *AccessDeniedException) Message() string {
6348	if s.Message_ != nil {
6349		return *s.Message_
6350	}
6351	return ""
6352}
6353
6354// OrigErr always returns nil, satisfies awserr.Error interface.
6355func (s *AccessDeniedException) OrigErr() error {
6356	return nil
6357}
6358
6359func (s *AccessDeniedException) Error() string {
6360	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6361}
6362
6363// Status code returns the HTTP status code for the request's response error.
6364func (s *AccessDeniedException) StatusCode() int {
6365	return s.RespMetadata.StatusCode
6366}
6367
6368// RequestID returns the service's response RequestID for request.
6369func (s *AccessDeniedException) RequestID() string {
6370	return s.RespMetadata.RequestID
6371}
6372
6373// Settings for logging access in a stage.
6374type AccessLogSettings struct {
6375	_ struct{} `type:"structure"`
6376
6377	// The ARN of the CloudWatch Logs log group to receive access logs.
6378	DestinationArn *string `locationName:"destinationArn" type:"string"`
6379
6380	// A single line format of the access logs of data, as specified by selected
6381	// $context variables. The format must include at least $context.requestId.
6382	Format *string `locationName:"format" type:"string"`
6383}
6384
6385// String returns the string representation
6386func (s AccessLogSettings) String() string {
6387	return awsutil.Prettify(s)
6388}
6389
6390// GoString returns the string representation
6391func (s AccessLogSettings) GoString() string {
6392	return s.String()
6393}
6394
6395// SetDestinationArn sets the DestinationArn field's value.
6396func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings {
6397	s.DestinationArn = &v
6398	return s
6399}
6400
6401// SetFormat sets the Format field's value.
6402func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings {
6403	s.Format = &v
6404	return s
6405}
6406
6407// Represents an API.
6408type Api struct {
6409	_ struct{} `type:"structure"`
6410
6411	// The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com.
6412	// The stage name is typically appended to this URI to form a complete path
6413	// to a deployed API stage.
6414	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
6415
6416	// Specifies whether an API is managed by API Gateway. You can't update or delete
6417	// a managed API by using API Gateway. A managed API can be deleted only through
6418	// the tooling or service that created it.
6419	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
6420
6421	// The API ID.
6422	ApiId *string `locationName:"apiId" type:"string"`
6423
6424	// An API key selection expression. Supported only for WebSocket APIs. See API
6425	// Key Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
6426	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
6427
6428	// A CORS configuration. Supported only for HTTP APIs.
6429	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
6430
6431	// The timestamp when the API was created.
6432	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
6433
6434	// The description of the API.
6435	Description *string `locationName:"description" type:"string"`
6436
6437	// Specifies whether clients can invoke your API by using the default execute-api
6438	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
6439	// endpoint. To require that clients use a custom domain name to invoke your
6440	// API, disable the default endpoint.
6441	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
6442
6443	// Avoid validating models when creating a deployment. Supported only for WebSocket
6444	// APIs.
6445	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
6446
6447	// The validation information during API import. This may include particular
6448	// properties of your OpenAPI definition which are ignored during import. Supported
6449	// only for HTTP APIs.
6450	ImportInfo []*string `locationName:"importInfo" type:"list"`
6451
6452	// The name of the API.
6453	//
6454	// Name is a required field
6455	Name *string `locationName:"name" type:"string" required:"true"`
6456
6457	// The API protocol.
6458	//
6459	// ProtocolType is a required field
6460	ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"`
6461
6462	// The route selection expression for the API. For HTTP APIs, the routeSelectionExpression
6463	// must be ${request.method} ${request.path}. If not provided, this will be
6464	// the default for HTTP APIs. This property is required for WebSocket APIs.
6465	//
6466	// RouteSelectionExpression is a required field
6467	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string" required:"true"`
6468
6469	// A collection of tags associated with the API.
6470	Tags map[string]*string `locationName:"tags" type:"map"`
6471
6472	// A version identifier for the API.
6473	Version *string `locationName:"version" type:"string"`
6474
6475	// The warning messages reported when failonwarnings is turned on during API
6476	// import.
6477	Warnings []*string `locationName:"warnings" type:"list"`
6478}
6479
6480// String returns the string representation
6481func (s Api) String() string {
6482	return awsutil.Prettify(s)
6483}
6484
6485// GoString returns the string representation
6486func (s Api) GoString() string {
6487	return s.String()
6488}
6489
6490// SetApiEndpoint sets the ApiEndpoint field's value.
6491func (s *Api) SetApiEndpoint(v string) *Api {
6492	s.ApiEndpoint = &v
6493	return s
6494}
6495
6496// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
6497func (s *Api) SetApiGatewayManaged(v bool) *Api {
6498	s.ApiGatewayManaged = &v
6499	return s
6500}
6501
6502// SetApiId sets the ApiId field's value.
6503func (s *Api) SetApiId(v string) *Api {
6504	s.ApiId = &v
6505	return s
6506}
6507
6508// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
6509func (s *Api) SetApiKeySelectionExpression(v string) *Api {
6510	s.ApiKeySelectionExpression = &v
6511	return s
6512}
6513
6514// SetCorsConfiguration sets the CorsConfiguration field's value.
6515func (s *Api) SetCorsConfiguration(v *Cors) *Api {
6516	s.CorsConfiguration = v
6517	return s
6518}
6519
6520// SetCreatedDate sets the CreatedDate field's value.
6521func (s *Api) SetCreatedDate(v time.Time) *Api {
6522	s.CreatedDate = &v
6523	return s
6524}
6525
6526// SetDescription sets the Description field's value.
6527func (s *Api) SetDescription(v string) *Api {
6528	s.Description = &v
6529	return s
6530}
6531
6532// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
6533func (s *Api) SetDisableExecuteApiEndpoint(v bool) *Api {
6534	s.DisableExecuteApiEndpoint = &v
6535	return s
6536}
6537
6538// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
6539func (s *Api) SetDisableSchemaValidation(v bool) *Api {
6540	s.DisableSchemaValidation = &v
6541	return s
6542}
6543
6544// SetImportInfo sets the ImportInfo field's value.
6545func (s *Api) SetImportInfo(v []*string) *Api {
6546	s.ImportInfo = v
6547	return s
6548}
6549
6550// SetName sets the Name field's value.
6551func (s *Api) SetName(v string) *Api {
6552	s.Name = &v
6553	return s
6554}
6555
6556// SetProtocolType sets the ProtocolType field's value.
6557func (s *Api) SetProtocolType(v string) *Api {
6558	s.ProtocolType = &v
6559	return s
6560}
6561
6562// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
6563func (s *Api) SetRouteSelectionExpression(v string) *Api {
6564	s.RouteSelectionExpression = &v
6565	return s
6566}
6567
6568// SetTags sets the Tags field's value.
6569func (s *Api) SetTags(v map[string]*string) *Api {
6570	s.Tags = v
6571	return s
6572}
6573
6574// SetVersion sets the Version field's value.
6575func (s *Api) SetVersion(v string) *Api {
6576	s.Version = &v
6577	return s
6578}
6579
6580// SetWarnings sets the Warnings field's value.
6581func (s *Api) SetWarnings(v []*string) *Api {
6582	s.Warnings = v
6583	return s
6584}
6585
6586// Represents an API mapping.
6587type ApiMapping struct {
6588	_ struct{} `type:"structure"`
6589
6590	// The API identifier.
6591	//
6592	// ApiId is a required field
6593	ApiId *string `locationName:"apiId" type:"string" required:"true"`
6594
6595	// The API mapping identifier.
6596	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
6597
6598	// The API mapping key.
6599	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
6600
6601	// The API stage.
6602	//
6603	// Stage is a required field
6604	Stage *string `locationName:"stage" type:"string" required:"true"`
6605}
6606
6607// String returns the string representation
6608func (s ApiMapping) String() string {
6609	return awsutil.Prettify(s)
6610}
6611
6612// GoString returns the string representation
6613func (s ApiMapping) GoString() string {
6614	return s.String()
6615}
6616
6617// SetApiId sets the ApiId field's value.
6618func (s *ApiMapping) SetApiId(v string) *ApiMapping {
6619	s.ApiId = &v
6620	return s
6621}
6622
6623// SetApiMappingId sets the ApiMappingId field's value.
6624func (s *ApiMapping) SetApiMappingId(v string) *ApiMapping {
6625	s.ApiMappingId = &v
6626	return s
6627}
6628
6629// SetApiMappingKey sets the ApiMappingKey field's value.
6630func (s *ApiMapping) SetApiMappingKey(v string) *ApiMapping {
6631	s.ApiMappingKey = &v
6632	return s
6633}
6634
6635// SetStage sets the Stage field's value.
6636func (s *ApiMapping) SetStage(v string) *ApiMapping {
6637	s.Stage = &v
6638	return s
6639}
6640
6641// Represents an authorizer.
6642type Authorizer struct {
6643	_ struct{} `type:"structure"`
6644
6645	// Specifies the required credentials as an IAM role for API Gateway to invoke
6646	// the authorizer. To specify an IAM role for API Gateway to assume, use the
6647	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
6648	// Lambda function, don't specify this parameter. Supported only for REQUEST
6649	// authorizers.
6650	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
6651
6652	// The authorizer identifier.
6653	AuthorizerId *string `locationName:"authorizerId" type:"string"`
6654
6655	// Specifies the format of the payload sent to an HTTP API Lambda authorizer.
6656	// Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0.
6657	// To learn more, see Working with AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
6658	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
6659
6660	// The time to live (TTL) for cached authorizer results, in seconds. If it equals
6661	// 0, authorization caching is disabled. If it is greater than 0, API Gateway
6662	// caches authorizer responses. The maximum value is 3600, or 1 hour. Supported
6663	// only for HTTP API Lambda authorizers.
6664	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
6665
6666	// The authorizer type. Specify REQUEST for a Lambda function using incoming
6667	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
6668	// HTTP APIs).
6669	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
6670
6671	// The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers,
6672	// this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations.
6673	// In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
6674	// , where {region} is the same as the region hosting the Lambda function, path
6675	// indicates that the remaining substring in the URI should be treated as the
6676	// path to the resource, including the initial /. For Lambda functions, this
6677	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported
6678	// only for REQUEST authorizers.
6679	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
6680
6681	// Specifies whether a Lambda authorizer returns a response in a simple format.
6682	// If enabled, the Lambda authorizer can return a boolean value instead of an
6683	// IAM policy. Supported only for HTTP APIs. To learn more, see Working with
6684	// AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html)
6685	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
6686
6687	// The identity source for which authorization is requested.
6688	//
6689	// For a REQUEST authorizer, this is optional. The value is a set of one or
6690	// more mapping expressions of the specified request parameters. The identity
6691	// source can be headers, query string parameters, stage variables, and context
6692	// parameters. For example, if an Auth header and a Name query string parameter
6693	// are defined as identity sources, this value is route.request.header.Auth,
6694	// route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection
6695	// expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
6696	// These parameters are used to perform runtime validation for Lambda-based
6697	// authorizers by verifying all of the identity-related request parameters are
6698	// present in the request, not null, and non-empty. Only when this is true does
6699	// the authorizer invoke the authorizer Lambda function. Otherwise, it returns
6700	// a 401 Unauthorized response without calling the Lambda function. For HTTP
6701	// APIs, identity sources are also used as the cache key when caching is enabled.
6702	// To learn more, see Working with AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
6703	//
6704	// For JWT, a single entry that specifies where to extract the JSON Web Token
6705	// (JWT) from inbound requests. Currently only header-based and query parameter-based
6706	// selections are supported, for example $request.header.Authorization.
6707	IdentitySource []*string `locationName:"identitySource" type:"list"`
6708
6709	// The validation expression does not apply to the REQUEST authorizer.
6710	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
6711
6712	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
6713	// type. Supported only for HTTP APIs.
6714	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
6715
6716	// The name of the authorizer.
6717	//
6718	// Name is a required field
6719	Name *string `locationName:"name" type:"string" required:"true"`
6720}
6721
6722// String returns the string representation
6723func (s Authorizer) String() string {
6724	return awsutil.Prettify(s)
6725}
6726
6727// GoString returns the string representation
6728func (s Authorizer) GoString() string {
6729	return s.String()
6730}
6731
6732// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
6733func (s *Authorizer) SetAuthorizerCredentialsArn(v string) *Authorizer {
6734	s.AuthorizerCredentialsArn = &v
6735	return s
6736}
6737
6738// SetAuthorizerId sets the AuthorizerId field's value.
6739func (s *Authorizer) SetAuthorizerId(v string) *Authorizer {
6740	s.AuthorizerId = &v
6741	return s
6742}
6743
6744// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
6745func (s *Authorizer) SetAuthorizerPayloadFormatVersion(v string) *Authorizer {
6746	s.AuthorizerPayloadFormatVersion = &v
6747	return s
6748}
6749
6750// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
6751func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer {
6752	s.AuthorizerResultTtlInSeconds = &v
6753	return s
6754}
6755
6756// SetAuthorizerType sets the AuthorizerType field's value.
6757func (s *Authorizer) SetAuthorizerType(v string) *Authorizer {
6758	s.AuthorizerType = &v
6759	return s
6760}
6761
6762// SetAuthorizerUri sets the AuthorizerUri field's value.
6763func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer {
6764	s.AuthorizerUri = &v
6765	return s
6766}
6767
6768// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
6769func (s *Authorizer) SetEnableSimpleResponses(v bool) *Authorizer {
6770	s.EnableSimpleResponses = &v
6771	return s
6772}
6773
6774// SetIdentitySource sets the IdentitySource field's value.
6775func (s *Authorizer) SetIdentitySource(v []*string) *Authorizer {
6776	s.IdentitySource = v
6777	return s
6778}
6779
6780// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
6781func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer {
6782	s.IdentityValidationExpression = &v
6783	return s
6784}
6785
6786// SetJwtConfiguration sets the JwtConfiguration field's value.
6787func (s *Authorizer) SetJwtConfiguration(v *JWTConfiguration) *Authorizer {
6788	s.JwtConfiguration = v
6789	return s
6790}
6791
6792// SetName sets the Name field's value.
6793func (s *Authorizer) SetName(v string) *Authorizer {
6794	s.Name = &v
6795	return s
6796}
6797
6798// The request is not valid, for example, the input is incomplete or incorrect.
6799// See the accompanying error message for details.
6800type BadRequestException struct {
6801	_            struct{}                  `type:"structure"`
6802	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6803
6804	// Describes the error encountered.
6805	Message_ *string `locationName:"message" type:"string"`
6806}
6807
6808// String returns the string representation
6809func (s BadRequestException) String() string {
6810	return awsutil.Prettify(s)
6811}
6812
6813// GoString returns the string representation
6814func (s BadRequestException) GoString() string {
6815	return s.String()
6816}
6817
6818func newErrorBadRequestException(v protocol.ResponseMetadata) error {
6819	return &BadRequestException{
6820		RespMetadata: v,
6821	}
6822}
6823
6824// Code returns the exception type name.
6825func (s *BadRequestException) Code() string {
6826	return "BadRequestException"
6827}
6828
6829// Message returns the exception's message.
6830func (s *BadRequestException) Message() string {
6831	if s.Message_ != nil {
6832		return *s.Message_
6833	}
6834	return ""
6835}
6836
6837// OrigErr always returns nil, satisfies awserr.Error interface.
6838func (s *BadRequestException) OrigErr() error {
6839	return nil
6840}
6841
6842func (s *BadRequestException) Error() string {
6843	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6844}
6845
6846// Status code returns the HTTP status code for the request's response error.
6847func (s *BadRequestException) StatusCode() int {
6848	return s.RespMetadata.StatusCode
6849}
6850
6851// RequestID returns the service's response RequestID for request.
6852func (s *BadRequestException) RequestID() string {
6853	return s.RespMetadata.RequestID
6854}
6855
6856// The requested operation would cause a conflict with the current state of
6857// a service resource associated with the request. Resolve the conflict before
6858// retrying this request. See the accompanying error message for details.
6859type ConflictException struct {
6860	_            struct{}                  `type:"structure"`
6861	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6862
6863	// Describes the error encountered.
6864	Message_ *string `locationName:"message" type:"string"`
6865}
6866
6867// String returns the string representation
6868func (s ConflictException) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation
6873func (s ConflictException) GoString() string {
6874	return s.String()
6875}
6876
6877func newErrorConflictException(v protocol.ResponseMetadata) error {
6878	return &ConflictException{
6879		RespMetadata: v,
6880	}
6881}
6882
6883// Code returns the exception type name.
6884func (s *ConflictException) Code() string {
6885	return "ConflictException"
6886}
6887
6888// Message returns the exception's message.
6889func (s *ConflictException) Message() string {
6890	if s.Message_ != nil {
6891		return *s.Message_
6892	}
6893	return ""
6894}
6895
6896// OrigErr always returns nil, satisfies awserr.Error interface.
6897func (s *ConflictException) OrigErr() error {
6898	return nil
6899}
6900
6901func (s *ConflictException) Error() string {
6902	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6903}
6904
6905// Status code returns the HTTP status code for the request's response error.
6906func (s *ConflictException) StatusCode() int {
6907	return s.RespMetadata.StatusCode
6908}
6909
6910// RequestID returns the service's response RequestID for request.
6911func (s *ConflictException) RequestID() string {
6912	return s.RespMetadata.RequestID
6913}
6914
6915// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
6916// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
6917// for more information.
6918type Cors struct {
6919	_ struct{} `type:"structure"`
6920
6921	// Specifies whether credentials are included in the CORS request. Supported
6922	// only for HTTP APIs.
6923	AllowCredentials *bool `locationName:"allowCredentials" type:"boolean"`
6924
6925	// Represents a collection of allowed headers. Supported only for HTTP APIs.
6926	AllowHeaders []*string `locationName:"allowHeaders" type:"list"`
6927
6928	// Represents a collection of allowed HTTP methods. Supported only for HTTP
6929	// APIs.
6930	AllowMethods []*string `locationName:"allowMethods" type:"list"`
6931
6932	// Represents a collection of allowed origins. Supported only for HTTP APIs.
6933	AllowOrigins []*string `locationName:"allowOrigins" type:"list"`
6934
6935	// Represents a collection of exposed headers. Supported only for HTTP APIs.
6936	ExposeHeaders []*string `locationName:"exposeHeaders" type:"list"`
6937
6938	// The number of seconds that the browser should cache preflight request results.
6939	// Supported only for HTTP APIs.
6940	MaxAge *int64 `locationName:"maxAge" type:"integer"`
6941}
6942
6943// String returns the string representation
6944func (s Cors) String() string {
6945	return awsutil.Prettify(s)
6946}
6947
6948// GoString returns the string representation
6949func (s Cors) GoString() string {
6950	return s.String()
6951}
6952
6953// Validate inspects the fields of the type to determine if they are valid.
6954func (s *Cors) Validate() error {
6955	invalidParams := request.ErrInvalidParams{Context: "Cors"}
6956	if s.MaxAge != nil && *s.MaxAge < -1 {
6957		invalidParams.Add(request.NewErrParamMinValue("MaxAge", -1))
6958	}
6959
6960	if invalidParams.Len() > 0 {
6961		return invalidParams
6962	}
6963	return nil
6964}
6965
6966// SetAllowCredentials sets the AllowCredentials field's value.
6967func (s *Cors) SetAllowCredentials(v bool) *Cors {
6968	s.AllowCredentials = &v
6969	return s
6970}
6971
6972// SetAllowHeaders sets the AllowHeaders field's value.
6973func (s *Cors) SetAllowHeaders(v []*string) *Cors {
6974	s.AllowHeaders = v
6975	return s
6976}
6977
6978// SetAllowMethods sets the AllowMethods field's value.
6979func (s *Cors) SetAllowMethods(v []*string) *Cors {
6980	s.AllowMethods = v
6981	return s
6982}
6983
6984// SetAllowOrigins sets the AllowOrigins field's value.
6985func (s *Cors) SetAllowOrigins(v []*string) *Cors {
6986	s.AllowOrigins = v
6987	return s
6988}
6989
6990// SetExposeHeaders sets the ExposeHeaders field's value.
6991func (s *Cors) SetExposeHeaders(v []*string) *Cors {
6992	s.ExposeHeaders = v
6993	return s
6994}
6995
6996// SetMaxAge sets the MaxAge field's value.
6997func (s *Cors) SetMaxAge(v int64) *Cors {
6998	s.MaxAge = &v
6999	return s
7000}
7001
7002type CreateApiInput struct {
7003	_ struct{} `type:"structure"`
7004
7005	// An expression used to extract information at runtime. See Selection Expressions
7006	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7007	// for more information.
7008	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
7009
7010	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
7011	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
7012	// for more information.
7013	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
7014
7015	// Represents an Amazon Resource Name (ARN).
7016	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
7017
7018	// A string with a length between [0-1024].
7019	Description *string `locationName:"description" type:"string"`
7020
7021	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
7022
7023	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
7024
7025	// A string with a length between [1-128].
7026	//
7027	// Name is a required field
7028	Name *string `locationName:"name" type:"string" required:"true"`
7029
7030	// Represents a protocol type.
7031	//
7032	// ProtocolType is a required field
7033	ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"`
7034
7035	// After evaluating a selection expression, the result is compared against one
7036	// or more selection keys to find a matching key. See Selection Expressions
7037	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7038	// for a list of expressions and each expression's associated selection key
7039	// type.
7040	RouteKey *string `locationName:"routeKey" type:"string"`
7041
7042	// An expression used to extract information at runtime. See Selection Expressions
7043	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7044	// for more information.
7045	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
7046
7047	// Represents a collection of tags associated with the resource.
7048	Tags map[string]*string `locationName:"tags" type:"map"`
7049
7050	// A string representation of a URI with a length between [1-2048].
7051	Target *string `locationName:"target" type:"string"`
7052
7053	// A string with a length between [1-64].
7054	Version *string `locationName:"version" type:"string"`
7055}
7056
7057// String returns the string representation
7058func (s CreateApiInput) String() string {
7059	return awsutil.Prettify(s)
7060}
7061
7062// GoString returns the string representation
7063func (s CreateApiInput) GoString() string {
7064	return s.String()
7065}
7066
7067// Validate inspects the fields of the type to determine if they are valid.
7068func (s *CreateApiInput) Validate() error {
7069	invalidParams := request.ErrInvalidParams{Context: "CreateApiInput"}
7070	if s.Name == nil {
7071		invalidParams.Add(request.NewErrParamRequired("Name"))
7072	}
7073	if s.ProtocolType == nil {
7074		invalidParams.Add(request.NewErrParamRequired("ProtocolType"))
7075	}
7076	if s.CorsConfiguration != nil {
7077		if err := s.CorsConfiguration.Validate(); err != nil {
7078			invalidParams.AddNested("CorsConfiguration", err.(request.ErrInvalidParams))
7079		}
7080	}
7081
7082	if invalidParams.Len() > 0 {
7083		return invalidParams
7084	}
7085	return nil
7086}
7087
7088// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7089func (s *CreateApiInput) SetApiKeySelectionExpression(v string) *CreateApiInput {
7090	s.ApiKeySelectionExpression = &v
7091	return s
7092}
7093
7094// SetCorsConfiguration sets the CorsConfiguration field's value.
7095func (s *CreateApiInput) SetCorsConfiguration(v *Cors) *CreateApiInput {
7096	s.CorsConfiguration = v
7097	return s
7098}
7099
7100// SetCredentialsArn sets the CredentialsArn field's value.
7101func (s *CreateApiInput) SetCredentialsArn(v string) *CreateApiInput {
7102	s.CredentialsArn = &v
7103	return s
7104}
7105
7106// SetDescription sets the Description field's value.
7107func (s *CreateApiInput) SetDescription(v string) *CreateApiInput {
7108	s.Description = &v
7109	return s
7110}
7111
7112// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
7113func (s *CreateApiInput) SetDisableExecuteApiEndpoint(v bool) *CreateApiInput {
7114	s.DisableExecuteApiEndpoint = &v
7115	return s
7116}
7117
7118// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
7119func (s *CreateApiInput) SetDisableSchemaValidation(v bool) *CreateApiInput {
7120	s.DisableSchemaValidation = &v
7121	return s
7122}
7123
7124// SetName sets the Name field's value.
7125func (s *CreateApiInput) SetName(v string) *CreateApiInput {
7126	s.Name = &v
7127	return s
7128}
7129
7130// SetProtocolType sets the ProtocolType field's value.
7131func (s *CreateApiInput) SetProtocolType(v string) *CreateApiInput {
7132	s.ProtocolType = &v
7133	return s
7134}
7135
7136// SetRouteKey sets the RouteKey field's value.
7137func (s *CreateApiInput) SetRouteKey(v string) *CreateApiInput {
7138	s.RouteKey = &v
7139	return s
7140}
7141
7142// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7143func (s *CreateApiInput) SetRouteSelectionExpression(v string) *CreateApiInput {
7144	s.RouteSelectionExpression = &v
7145	return s
7146}
7147
7148// SetTags sets the Tags field's value.
7149func (s *CreateApiInput) SetTags(v map[string]*string) *CreateApiInput {
7150	s.Tags = v
7151	return s
7152}
7153
7154// SetTarget sets the Target field's value.
7155func (s *CreateApiInput) SetTarget(v string) *CreateApiInput {
7156	s.Target = &v
7157	return s
7158}
7159
7160// SetVersion sets the Version field's value.
7161func (s *CreateApiInput) SetVersion(v string) *CreateApiInput {
7162	s.Version = &v
7163	return s
7164}
7165
7166type CreateApiMappingInput struct {
7167	_ struct{} `type:"structure"`
7168
7169	// The identifier.
7170	//
7171	// ApiId is a required field
7172	ApiId *string `locationName:"apiId" type:"string" required:"true"`
7173
7174	// After evaluating a selection expression, the result is compared against one
7175	// or more selection keys to find a matching key. See Selection Expressions
7176	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7177	// for a list of expressions and each expression's associated selection key
7178	// type.
7179	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
7180
7181	// DomainName is a required field
7182	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
7183
7184	// A string with a length between [1-128].
7185	//
7186	// Stage is a required field
7187	Stage *string `locationName:"stage" type:"string" required:"true"`
7188}
7189
7190// String returns the string representation
7191func (s CreateApiMappingInput) String() string {
7192	return awsutil.Prettify(s)
7193}
7194
7195// GoString returns the string representation
7196func (s CreateApiMappingInput) GoString() string {
7197	return s.String()
7198}
7199
7200// Validate inspects the fields of the type to determine if they are valid.
7201func (s *CreateApiMappingInput) Validate() error {
7202	invalidParams := request.ErrInvalidParams{Context: "CreateApiMappingInput"}
7203	if s.ApiId == nil {
7204		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7205	}
7206	if s.DomainName == nil {
7207		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7208	}
7209	if s.DomainName != nil && len(*s.DomainName) < 1 {
7210		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
7211	}
7212	if s.Stage == nil {
7213		invalidParams.Add(request.NewErrParamRequired("Stage"))
7214	}
7215
7216	if invalidParams.Len() > 0 {
7217		return invalidParams
7218	}
7219	return nil
7220}
7221
7222// SetApiId sets the ApiId field's value.
7223func (s *CreateApiMappingInput) SetApiId(v string) *CreateApiMappingInput {
7224	s.ApiId = &v
7225	return s
7226}
7227
7228// SetApiMappingKey sets the ApiMappingKey field's value.
7229func (s *CreateApiMappingInput) SetApiMappingKey(v string) *CreateApiMappingInput {
7230	s.ApiMappingKey = &v
7231	return s
7232}
7233
7234// SetDomainName sets the DomainName field's value.
7235func (s *CreateApiMappingInput) SetDomainName(v string) *CreateApiMappingInput {
7236	s.DomainName = &v
7237	return s
7238}
7239
7240// SetStage sets the Stage field's value.
7241func (s *CreateApiMappingInput) SetStage(v string) *CreateApiMappingInput {
7242	s.Stage = &v
7243	return s
7244}
7245
7246type CreateApiMappingOutput struct {
7247	_ struct{} `type:"structure"`
7248
7249	// The identifier.
7250	ApiId *string `locationName:"apiId" type:"string"`
7251
7252	// The identifier.
7253	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
7254
7255	// After evaluating a selection expression, the result is compared against one
7256	// or more selection keys to find a matching key. See Selection Expressions
7257	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7258	// for a list of expressions and each expression's associated selection key
7259	// type.
7260	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
7261
7262	// A string with a length between [1-128].
7263	Stage *string `locationName:"stage" type:"string"`
7264}
7265
7266// String returns the string representation
7267func (s CreateApiMappingOutput) String() string {
7268	return awsutil.Prettify(s)
7269}
7270
7271// GoString returns the string representation
7272func (s CreateApiMappingOutput) GoString() string {
7273	return s.String()
7274}
7275
7276// SetApiId sets the ApiId field's value.
7277func (s *CreateApiMappingOutput) SetApiId(v string) *CreateApiMappingOutput {
7278	s.ApiId = &v
7279	return s
7280}
7281
7282// SetApiMappingId sets the ApiMappingId field's value.
7283func (s *CreateApiMappingOutput) SetApiMappingId(v string) *CreateApiMappingOutput {
7284	s.ApiMappingId = &v
7285	return s
7286}
7287
7288// SetApiMappingKey sets the ApiMappingKey field's value.
7289func (s *CreateApiMappingOutput) SetApiMappingKey(v string) *CreateApiMappingOutput {
7290	s.ApiMappingKey = &v
7291	return s
7292}
7293
7294// SetStage sets the Stage field's value.
7295func (s *CreateApiMappingOutput) SetStage(v string) *CreateApiMappingOutput {
7296	s.Stage = &v
7297	return s
7298}
7299
7300type CreateApiOutput struct {
7301	_ struct{} `type:"structure"`
7302
7303	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
7304
7305	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
7306
7307	// The identifier.
7308	ApiId *string `locationName:"apiId" type:"string"`
7309
7310	// An expression used to extract information at runtime. See Selection Expressions
7311	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7312	// for more information.
7313	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
7314
7315	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
7316	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
7317	// for more information.
7318	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
7319
7320	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
7321
7322	// A string with a length between [0-1024].
7323	Description *string `locationName:"description" type:"string"`
7324
7325	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
7326
7327	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
7328
7329	ImportInfo []*string `locationName:"importInfo" type:"list"`
7330
7331	// A string with a length between [1-128].
7332	Name *string `locationName:"name" type:"string"`
7333
7334	// Represents a protocol type.
7335	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
7336
7337	// An expression used to extract information at runtime. See Selection Expressions
7338	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7339	// for more information.
7340	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
7341
7342	// Represents a collection of tags associated with the resource.
7343	Tags map[string]*string `locationName:"tags" type:"map"`
7344
7345	// A string with a length between [1-64].
7346	Version *string `locationName:"version" type:"string"`
7347
7348	Warnings []*string `locationName:"warnings" type:"list"`
7349}
7350
7351// String returns the string representation
7352func (s CreateApiOutput) String() string {
7353	return awsutil.Prettify(s)
7354}
7355
7356// GoString returns the string representation
7357func (s CreateApiOutput) GoString() string {
7358	return s.String()
7359}
7360
7361// SetApiEndpoint sets the ApiEndpoint field's value.
7362func (s *CreateApiOutput) SetApiEndpoint(v string) *CreateApiOutput {
7363	s.ApiEndpoint = &v
7364	return s
7365}
7366
7367// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
7368func (s *CreateApiOutput) SetApiGatewayManaged(v bool) *CreateApiOutput {
7369	s.ApiGatewayManaged = &v
7370	return s
7371}
7372
7373// SetApiId sets the ApiId field's value.
7374func (s *CreateApiOutput) SetApiId(v string) *CreateApiOutput {
7375	s.ApiId = &v
7376	return s
7377}
7378
7379// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7380func (s *CreateApiOutput) SetApiKeySelectionExpression(v string) *CreateApiOutput {
7381	s.ApiKeySelectionExpression = &v
7382	return s
7383}
7384
7385// SetCorsConfiguration sets the CorsConfiguration field's value.
7386func (s *CreateApiOutput) SetCorsConfiguration(v *Cors) *CreateApiOutput {
7387	s.CorsConfiguration = v
7388	return s
7389}
7390
7391// SetCreatedDate sets the CreatedDate field's value.
7392func (s *CreateApiOutput) SetCreatedDate(v time.Time) *CreateApiOutput {
7393	s.CreatedDate = &v
7394	return s
7395}
7396
7397// SetDescription sets the Description field's value.
7398func (s *CreateApiOutput) SetDescription(v string) *CreateApiOutput {
7399	s.Description = &v
7400	return s
7401}
7402
7403// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
7404func (s *CreateApiOutput) SetDisableExecuteApiEndpoint(v bool) *CreateApiOutput {
7405	s.DisableExecuteApiEndpoint = &v
7406	return s
7407}
7408
7409// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
7410func (s *CreateApiOutput) SetDisableSchemaValidation(v bool) *CreateApiOutput {
7411	s.DisableSchemaValidation = &v
7412	return s
7413}
7414
7415// SetImportInfo sets the ImportInfo field's value.
7416func (s *CreateApiOutput) SetImportInfo(v []*string) *CreateApiOutput {
7417	s.ImportInfo = v
7418	return s
7419}
7420
7421// SetName sets the Name field's value.
7422func (s *CreateApiOutput) SetName(v string) *CreateApiOutput {
7423	s.Name = &v
7424	return s
7425}
7426
7427// SetProtocolType sets the ProtocolType field's value.
7428func (s *CreateApiOutput) SetProtocolType(v string) *CreateApiOutput {
7429	s.ProtocolType = &v
7430	return s
7431}
7432
7433// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7434func (s *CreateApiOutput) SetRouteSelectionExpression(v string) *CreateApiOutput {
7435	s.RouteSelectionExpression = &v
7436	return s
7437}
7438
7439// SetTags sets the Tags field's value.
7440func (s *CreateApiOutput) SetTags(v map[string]*string) *CreateApiOutput {
7441	s.Tags = v
7442	return s
7443}
7444
7445// SetVersion sets the Version field's value.
7446func (s *CreateApiOutput) SetVersion(v string) *CreateApiOutput {
7447	s.Version = &v
7448	return s
7449}
7450
7451// SetWarnings sets the Warnings field's value.
7452func (s *CreateApiOutput) SetWarnings(v []*string) *CreateApiOutput {
7453	s.Warnings = v
7454	return s
7455}
7456
7457type CreateAuthorizerInput struct {
7458	_ struct{} `type:"structure"`
7459
7460	// ApiId is a required field
7461	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7462
7463	// Represents an Amazon Resource Name (ARN).
7464	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
7465
7466	// A string with a length between [1-64].
7467	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
7468
7469	// An integer with a value between [0-3600].
7470	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
7471
7472	// The authorizer type. Specify REQUEST for a Lambda function using incoming
7473	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
7474	// HTTP APIs).
7475	//
7476	// AuthorizerType is a required field
7477	AuthorizerType *string `locationName:"authorizerType" type:"string" required:"true" enum:"AuthorizerType"`
7478
7479	// A string representation of a URI with a length between [1-2048].
7480	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
7481
7482	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
7483
7484	// The identity source for which authorization is requested. For the REQUEST
7485	// authorizer, this is required when authorization caching is enabled. The value
7486	// is a comma-separated string of one or more mapping expressions of the specified
7487	// request parameters. For example, if an Auth header, a Name query string parameter
7488	// are defined as identity sources, this value is $method.request.header.Auth,
7489	// $method.request.querystring.Name. These parameters will be used to derive
7490	// the authorization caching key and to perform runtime validation of the REQUEST
7491	// authorizer by verifying all of the identity-related request parameters are
7492	// present, not null and non-empty. Only when this is true does the authorizer
7493	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
7494	// response without calling the Lambda function. The valid value is a string
7495	// of comma-separated mapping expressions of the specified request parameters.
7496	// When the authorization caching is not enabled, this property is optional.
7497	//
7498	// IdentitySource is a required field
7499	IdentitySource []*string `locationName:"identitySource" type:"list" required:"true"`
7500
7501	// A string with a length between [0-1024].
7502	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
7503
7504	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
7505	// type. Supported only for HTTP APIs.
7506	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
7507
7508	// A string with a length between [1-128].
7509	//
7510	// Name is a required field
7511	Name *string `locationName:"name" type:"string" required:"true"`
7512}
7513
7514// String returns the string representation
7515func (s CreateAuthorizerInput) String() string {
7516	return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s CreateAuthorizerInput) GoString() string {
7521	return s.String()
7522}
7523
7524// Validate inspects the fields of the type to determine if they are valid.
7525func (s *CreateAuthorizerInput) Validate() error {
7526	invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"}
7527	if s.ApiId == nil {
7528		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7529	}
7530	if s.ApiId != nil && len(*s.ApiId) < 1 {
7531		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7532	}
7533	if s.AuthorizerType == nil {
7534		invalidParams.Add(request.NewErrParamRequired("AuthorizerType"))
7535	}
7536	if s.IdentitySource == nil {
7537		invalidParams.Add(request.NewErrParamRequired("IdentitySource"))
7538	}
7539	if s.Name == nil {
7540		invalidParams.Add(request.NewErrParamRequired("Name"))
7541	}
7542
7543	if invalidParams.Len() > 0 {
7544		return invalidParams
7545	}
7546	return nil
7547}
7548
7549// SetApiId sets the ApiId field's value.
7550func (s *CreateAuthorizerInput) SetApiId(v string) *CreateAuthorizerInput {
7551	s.ApiId = &v
7552	return s
7553}
7554
7555// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
7556func (s *CreateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerInput {
7557	s.AuthorizerCredentialsArn = &v
7558	return s
7559}
7560
7561// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
7562func (s *CreateAuthorizerInput) SetAuthorizerPayloadFormatVersion(v string) *CreateAuthorizerInput {
7563	s.AuthorizerPayloadFormatVersion = &v
7564	return s
7565}
7566
7567// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
7568func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput {
7569	s.AuthorizerResultTtlInSeconds = &v
7570	return s
7571}
7572
7573// SetAuthorizerType sets the AuthorizerType field's value.
7574func (s *CreateAuthorizerInput) SetAuthorizerType(v string) *CreateAuthorizerInput {
7575	s.AuthorizerType = &v
7576	return s
7577}
7578
7579// SetAuthorizerUri sets the AuthorizerUri field's value.
7580func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput {
7581	s.AuthorizerUri = &v
7582	return s
7583}
7584
7585// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
7586func (s *CreateAuthorizerInput) SetEnableSimpleResponses(v bool) *CreateAuthorizerInput {
7587	s.EnableSimpleResponses = &v
7588	return s
7589}
7590
7591// SetIdentitySource sets the IdentitySource field's value.
7592func (s *CreateAuthorizerInput) SetIdentitySource(v []*string) *CreateAuthorizerInput {
7593	s.IdentitySource = v
7594	return s
7595}
7596
7597// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
7598func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput {
7599	s.IdentityValidationExpression = &v
7600	return s
7601}
7602
7603// SetJwtConfiguration sets the JwtConfiguration field's value.
7604func (s *CreateAuthorizerInput) SetJwtConfiguration(v *JWTConfiguration) *CreateAuthorizerInput {
7605	s.JwtConfiguration = v
7606	return s
7607}
7608
7609// SetName sets the Name field's value.
7610func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput {
7611	s.Name = &v
7612	return s
7613}
7614
7615type CreateAuthorizerOutput struct {
7616	_ struct{} `type:"structure"`
7617
7618	// Represents an Amazon Resource Name (ARN).
7619	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
7620
7621	// The identifier.
7622	AuthorizerId *string `locationName:"authorizerId" type:"string"`
7623
7624	// A string with a length between [1-64].
7625	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
7626
7627	// An integer with a value between [0-3600].
7628	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
7629
7630	// The authorizer type. Specify REQUEST for a Lambda function using incoming
7631	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
7632	// HTTP APIs).
7633	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
7634
7635	// A string representation of a URI with a length between [1-2048].
7636	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
7637
7638	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
7639
7640	// The identity source for which authorization is requested. For the REQUEST
7641	// authorizer, this is required when authorization caching is enabled. The value
7642	// is a comma-separated string of one or more mapping expressions of the specified
7643	// request parameters. For example, if an Auth header, a Name query string parameter
7644	// are defined as identity sources, this value is $method.request.header.Auth,
7645	// $method.request.querystring.Name. These parameters will be used to derive
7646	// the authorization caching key and to perform runtime validation of the REQUEST
7647	// authorizer by verifying all of the identity-related request parameters are
7648	// present, not null and non-empty. Only when this is true does the authorizer
7649	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
7650	// response without calling the Lambda function. The valid value is a string
7651	// of comma-separated mapping expressions of the specified request parameters.
7652	// When the authorization caching is not enabled, this property is optional.
7653	IdentitySource []*string `locationName:"identitySource" type:"list"`
7654
7655	// A string with a length between [0-1024].
7656	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
7657
7658	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
7659	// type. Supported only for HTTP APIs.
7660	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
7661
7662	// A string with a length between [1-128].
7663	Name *string `locationName:"name" type:"string"`
7664}
7665
7666// String returns the string representation
7667func (s CreateAuthorizerOutput) String() string {
7668	return awsutil.Prettify(s)
7669}
7670
7671// GoString returns the string representation
7672func (s CreateAuthorizerOutput) GoString() string {
7673	return s.String()
7674}
7675
7676// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
7677func (s *CreateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerOutput {
7678	s.AuthorizerCredentialsArn = &v
7679	return s
7680}
7681
7682// SetAuthorizerId sets the AuthorizerId field's value.
7683func (s *CreateAuthorizerOutput) SetAuthorizerId(v string) *CreateAuthorizerOutput {
7684	s.AuthorizerId = &v
7685	return s
7686}
7687
7688// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
7689func (s *CreateAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *CreateAuthorizerOutput {
7690	s.AuthorizerPayloadFormatVersion = &v
7691	return s
7692}
7693
7694// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
7695func (s *CreateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerOutput {
7696	s.AuthorizerResultTtlInSeconds = &v
7697	return s
7698}
7699
7700// SetAuthorizerType sets the AuthorizerType field's value.
7701func (s *CreateAuthorizerOutput) SetAuthorizerType(v string) *CreateAuthorizerOutput {
7702	s.AuthorizerType = &v
7703	return s
7704}
7705
7706// SetAuthorizerUri sets the AuthorizerUri field's value.
7707func (s *CreateAuthorizerOutput) SetAuthorizerUri(v string) *CreateAuthorizerOutput {
7708	s.AuthorizerUri = &v
7709	return s
7710}
7711
7712// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
7713func (s *CreateAuthorizerOutput) SetEnableSimpleResponses(v bool) *CreateAuthorizerOutput {
7714	s.EnableSimpleResponses = &v
7715	return s
7716}
7717
7718// SetIdentitySource sets the IdentitySource field's value.
7719func (s *CreateAuthorizerOutput) SetIdentitySource(v []*string) *CreateAuthorizerOutput {
7720	s.IdentitySource = v
7721	return s
7722}
7723
7724// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
7725func (s *CreateAuthorizerOutput) SetIdentityValidationExpression(v string) *CreateAuthorizerOutput {
7726	s.IdentityValidationExpression = &v
7727	return s
7728}
7729
7730// SetJwtConfiguration sets the JwtConfiguration field's value.
7731func (s *CreateAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *CreateAuthorizerOutput {
7732	s.JwtConfiguration = v
7733	return s
7734}
7735
7736// SetName sets the Name field's value.
7737func (s *CreateAuthorizerOutput) SetName(v string) *CreateAuthorizerOutput {
7738	s.Name = &v
7739	return s
7740}
7741
7742type CreateDeploymentInput struct {
7743	_ struct{} `type:"structure"`
7744
7745	// ApiId is a required field
7746	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7747
7748	// A string with a length between [0-1024].
7749	Description *string `locationName:"description" type:"string"`
7750
7751	// A string with a length between [1-128].
7752	StageName *string `locationName:"stageName" type:"string"`
7753}
7754
7755// String returns the string representation
7756func (s CreateDeploymentInput) String() string {
7757	return awsutil.Prettify(s)
7758}
7759
7760// GoString returns the string representation
7761func (s CreateDeploymentInput) GoString() string {
7762	return s.String()
7763}
7764
7765// Validate inspects the fields of the type to determine if they are valid.
7766func (s *CreateDeploymentInput) Validate() error {
7767	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
7768	if s.ApiId == nil {
7769		invalidParams.Add(request.NewErrParamRequired("ApiId"))
7770	}
7771	if s.ApiId != nil && len(*s.ApiId) < 1 {
7772		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
7773	}
7774
7775	if invalidParams.Len() > 0 {
7776		return invalidParams
7777	}
7778	return nil
7779}
7780
7781// SetApiId sets the ApiId field's value.
7782func (s *CreateDeploymentInput) SetApiId(v string) *CreateDeploymentInput {
7783	s.ApiId = &v
7784	return s
7785}
7786
7787// SetDescription sets the Description field's value.
7788func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
7789	s.Description = &v
7790	return s
7791}
7792
7793// SetStageName sets the StageName field's value.
7794func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput {
7795	s.StageName = &v
7796	return s
7797}
7798
7799type CreateDeploymentOutput struct {
7800	_ struct{} `type:"structure"`
7801
7802	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
7803
7804	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
7805
7806	// The identifier.
7807	DeploymentId *string `locationName:"deploymentId" type:"string"`
7808
7809	// Represents a deployment status.
7810	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
7811
7812	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
7813
7814	// A string with a length between [0-1024].
7815	Description *string `locationName:"description" type:"string"`
7816}
7817
7818// String returns the string representation
7819func (s CreateDeploymentOutput) String() string {
7820	return awsutil.Prettify(s)
7821}
7822
7823// GoString returns the string representation
7824func (s CreateDeploymentOutput) GoString() string {
7825	return s.String()
7826}
7827
7828// SetAutoDeployed sets the AutoDeployed field's value.
7829func (s *CreateDeploymentOutput) SetAutoDeployed(v bool) *CreateDeploymentOutput {
7830	s.AutoDeployed = &v
7831	return s
7832}
7833
7834// SetCreatedDate sets the CreatedDate field's value.
7835func (s *CreateDeploymentOutput) SetCreatedDate(v time.Time) *CreateDeploymentOutput {
7836	s.CreatedDate = &v
7837	return s
7838}
7839
7840// SetDeploymentId sets the DeploymentId field's value.
7841func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
7842	s.DeploymentId = &v
7843	return s
7844}
7845
7846// SetDeploymentStatus sets the DeploymentStatus field's value.
7847func (s *CreateDeploymentOutput) SetDeploymentStatus(v string) *CreateDeploymentOutput {
7848	s.DeploymentStatus = &v
7849	return s
7850}
7851
7852// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
7853func (s *CreateDeploymentOutput) SetDeploymentStatusMessage(v string) *CreateDeploymentOutput {
7854	s.DeploymentStatusMessage = &v
7855	return s
7856}
7857
7858// SetDescription sets the Description field's value.
7859func (s *CreateDeploymentOutput) SetDescription(v string) *CreateDeploymentOutput {
7860	s.Description = &v
7861	return s
7862}
7863
7864type CreateDomainNameInput struct {
7865	_ struct{} `type:"structure"`
7866
7867	// A string with a length between [1-512].
7868	//
7869	// DomainName is a required field
7870	DomainName *string `locationName:"domainName" type:"string" required:"true"`
7871
7872	// The domain name configurations.
7873	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
7874
7875	// If specified, API Gateway performs two-way authentication between the client
7876	// and the server. Clients must present a trusted certificate to access your
7877	// API.
7878	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
7879
7880	// Represents a collection of tags associated with the resource.
7881	Tags map[string]*string `locationName:"tags" type:"map"`
7882}
7883
7884// String returns the string representation
7885func (s CreateDomainNameInput) String() string {
7886	return awsutil.Prettify(s)
7887}
7888
7889// GoString returns the string representation
7890func (s CreateDomainNameInput) GoString() string {
7891	return s.String()
7892}
7893
7894// Validate inspects the fields of the type to determine if they are valid.
7895func (s *CreateDomainNameInput) Validate() error {
7896	invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"}
7897	if s.DomainName == nil {
7898		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7899	}
7900
7901	if invalidParams.Len() > 0 {
7902		return invalidParams
7903	}
7904	return nil
7905}
7906
7907// SetDomainName sets the DomainName field's value.
7908func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput {
7909	s.DomainName = &v
7910	return s
7911}
7912
7913// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
7914func (s *CreateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameInput {
7915	s.DomainNameConfigurations = v
7916	return s
7917}
7918
7919// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
7920func (s *CreateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *CreateDomainNameInput {
7921	s.MutualTlsAuthentication = v
7922	return s
7923}
7924
7925// SetTags sets the Tags field's value.
7926func (s *CreateDomainNameInput) SetTags(v map[string]*string) *CreateDomainNameInput {
7927	s.Tags = v
7928	return s
7929}
7930
7931type CreateDomainNameOutput struct {
7932	_ struct{} `type:"structure"`
7933
7934	// An expression used to extract information at runtime. See Selection Expressions
7935	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
7936	// for more information.
7937	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
7938
7939	// A string with a length between [1-512].
7940	DomainName *string `locationName:"domainName" type:"string"`
7941
7942	// The domain name configurations.
7943	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
7944
7945	// If specified, API Gateway performs two-way authentication between the client
7946	// and the server. Clients must present a trusted certificate to access your
7947	// API.
7948	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
7949
7950	// Represents a collection of tags associated with the resource.
7951	Tags map[string]*string `locationName:"tags" type:"map"`
7952}
7953
7954// String returns the string representation
7955func (s CreateDomainNameOutput) String() string {
7956	return awsutil.Prettify(s)
7957}
7958
7959// GoString returns the string representation
7960func (s CreateDomainNameOutput) GoString() string {
7961	return s.String()
7962}
7963
7964// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
7965func (s *CreateDomainNameOutput) SetApiMappingSelectionExpression(v string) *CreateDomainNameOutput {
7966	s.ApiMappingSelectionExpression = &v
7967	return s
7968}
7969
7970// SetDomainName sets the DomainName field's value.
7971func (s *CreateDomainNameOutput) SetDomainName(v string) *CreateDomainNameOutput {
7972	s.DomainName = &v
7973	return s
7974}
7975
7976// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
7977func (s *CreateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameOutput {
7978	s.DomainNameConfigurations = v
7979	return s
7980}
7981
7982// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
7983func (s *CreateDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *CreateDomainNameOutput {
7984	s.MutualTlsAuthentication = v
7985	return s
7986}
7987
7988// SetTags sets the Tags field's value.
7989func (s *CreateDomainNameOutput) SetTags(v map[string]*string) *CreateDomainNameOutput {
7990	s.Tags = v
7991	return s
7992}
7993
7994type CreateIntegrationInput struct {
7995	_ struct{} `type:"structure"`
7996
7997	// ApiId is a required field
7998	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
7999
8000	// A string with a length between [1-1024].
8001	ConnectionId *string `locationName:"connectionId" type:"string"`
8002
8003	// Represents a connection type.
8004	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
8005
8006	// Specifies how to handle response payload content type conversions. Supported
8007	// only for WebSocket APIs.
8008	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8009
8010	// Represents an Amazon Resource Name (ARN).
8011	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
8012
8013	// A string with a length between [0-1024].
8014	Description *string `locationName:"description" type:"string"`
8015
8016	// A string with a length between [1-64].
8017	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
8018
8019	// A string with a length between [1-128].
8020	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
8021
8022	// Represents an API method integration type.
8023	//
8024	// IntegrationType is a required field
8025	IntegrationType *string `locationName:"integrationType" type:"string" required:"true" enum:"IntegrationType"`
8026
8027	// A string representation of a URI with a length between [1-2048].
8028	IntegrationUri *string `locationName:"integrationUri" type:"string"`
8029
8030	// Represents passthrough behavior for an integration response. Supported only
8031	// for WebSocket APIs.
8032	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
8033
8034	// A string with a length between [1-64].
8035	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
8036
8037	// For WebSocket APIs, a key-value map specifying request parameters that are
8038	// passed from the method request to the backend. The key is an integration
8039	// request parameter name and the associated value is a method request parameter
8040	// value or static value that must be enclosed within single quotes and pre-encoded
8041	// as required by the backend. The method request parameter value must match
8042	// the pattern of method.request.{location}.{name} , where {location} is querystring,
8043	// path, or header; and {name} must be a valid and unique method request parameter
8044	// name.
8045	//
8046	// For HTTP API integrations with a specified integrationSubtype, request parameters
8047	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
8048	// You can provide static values, or map request data, stage variables, or context
8049	// variables that are evaluated at runtime. To learn more, see Working with
8050	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
8051	//
8052	// For HTTP API integrations without a specified integrationSubtype request
8053	// parameters are a key-value map specifying how to transform HTTP requests
8054	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
8055	// where action can be append, overwrite or remove. For values, you can provide
8056	// static values, or map request data, stage variables, or context variables
8057	// that are evaluated at runtime. To learn more, see Transforming API requests
8058	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
8059	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
8060
8061	// A mapping of identifier keys to templates. The value is an actual template
8062	// script. The key is typically a SelectionKey which is chosen based on evaluating
8063	// a selection expression.
8064	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
8065
8066	// Supported only for HTTP APIs. You use response parameters to transform the
8067	// HTTP response from a backend integration before returning the response to
8068	// clients.
8069	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
8070
8071	// An expression used to extract information at runtime. See Selection Expressions
8072	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8073	// for more information.
8074	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8075
8076	// An integer with a value between [50-30000].
8077	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
8078
8079	// The TLS configuration for a private integration. If you specify a TLS configuration,
8080	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
8081	// APIs.
8082	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
8083}
8084
8085// String returns the string representation
8086func (s CreateIntegrationInput) String() string {
8087	return awsutil.Prettify(s)
8088}
8089
8090// GoString returns the string representation
8091func (s CreateIntegrationInput) GoString() string {
8092	return s.String()
8093}
8094
8095// Validate inspects the fields of the type to determine if they are valid.
8096func (s *CreateIntegrationInput) Validate() error {
8097	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationInput"}
8098	if s.ApiId == nil {
8099		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8100	}
8101	if s.ApiId != nil && len(*s.ApiId) < 1 {
8102		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8103	}
8104	if s.IntegrationType == nil {
8105		invalidParams.Add(request.NewErrParamRequired("IntegrationType"))
8106	}
8107	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
8108		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
8109	}
8110
8111	if invalidParams.Len() > 0 {
8112		return invalidParams
8113	}
8114	return nil
8115}
8116
8117// SetApiId sets the ApiId field's value.
8118func (s *CreateIntegrationInput) SetApiId(v string) *CreateIntegrationInput {
8119	s.ApiId = &v
8120	return s
8121}
8122
8123// SetConnectionId sets the ConnectionId field's value.
8124func (s *CreateIntegrationInput) SetConnectionId(v string) *CreateIntegrationInput {
8125	s.ConnectionId = &v
8126	return s
8127}
8128
8129// SetConnectionType sets the ConnectionType field's value.
8130func (s *CreateIntegrationInput) SetConnectionType(v string) *CreateIntegrationInput {
8131	s.ConnectionType = &v
8132	return s
8133}
8134
8135// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8136func (s *CreateIntegrationInput) SetContentHandlingStrategy(v string) *CreateIntegrationInput {
8137	s.ContentHandlingStrategy = &v
8138	return s
8139}
8140
8141// SetCredentialsArn sets the CredentialsArn field's value.
8142func (s *CreateIntegrationInput) SetCredentialsArn(v string) *CreateIntegrationInput {
8143	s.CredentialsArn = &v
8144	return s
8145}
8146
8147// SetDescription sets the Description field's value.
8148func (s *CreateIntegrationInput) SetDescription(v string) *CreateIntegrationInput {
8149	s.Description = &v
8150	return s
8151}
8152
8153// SetIntegrationMethod sets the IntegrationMethod field's value.
8154func (s *CreateIntegrationInput) SetIntegrationMethod(v string) *CreateIntegrationInput {
8155	s.IntegrationMethod = &v
8156	return s
8157}
8158
8159// SetIntegrationSubtype sets the IntegrationSubtype field's value.
8160func (s *CreateIntegrationInput) SetIntegrationSubtype(v string) *CreateIntegrationInput {
8161	s.IntegrationSubtype = &v
8162	return s
8163}
8164
8165// SetIntegrationType sets the IntegrationType field's value.
8166func (s *CreateIntegrationInput) SetIntegrationType(v string) *CreateIntegrationInput {
8167	s.IntegrationType = &v
8168	return s
8169}
8170
8171// SetIntegrationUri sets the IntegrationUri field's value.
8172func (s *CreateIntegrationInput) SetIntegrationUri(v string) *CreateIntegrationInput {
8173	s.IntegrationUri = &v
8174	return s
8175}
8176
8177// SetPassthroughBehavior sets the PassthroughBehavior field's value.
8178func (s *CreateIntegrationInput) SetPassthroughBehavior(v string) *CreateIntegrationInput {
8179	s.PassthroughBehavior = &v
8180	return s
8181}
8182
8183// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
8184func (s *CreateIntegrationInput) SetPayloadFormatVersion(v string) *CreateIntegrationInput {
8185	s.PayloadFormatVersion = &v
8186	return s
8187}
8188
8189// SetRequestParameters sets the RequestParameters field's value.
8190func (s *CreateIntegrationInput) SetRequestParameters(v map[string]*string) *CreateIntegrationInput {
8191	s.RequestParameters = v
8192	return s
8193}
8194
8195// SetRequestTemplates sets the RequestTemplates field's value.
8196func (s *CreateIntegrationInput) SetRequestTemplates(v map[string]*string) *CreateIntegrationInput {
8197	s.RequestTemplates = v
8198	return s
8199}
8200
8201// SetResponseParameters sets the ResponseParameters field's value.
8202func (s *CreateIntegrationInput) SetResponseParameters(v map[string]map[string]*string) *CreateIntegrationInput {
8203	s.ResponseParameters = v
8204	return s
8205}
8206
8207// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8208func (s *CreateIntegrationInput) SetTemplateSelectionExpression(v string) *CreateIntegrationInput {
8209	s.TemplateSelectionExpression = &v
8210	return s
8211}
8212
8213// SetTimeoutInMillis sets the TimeoutInMillis field's value.
8214func (s *CreateIntegrationInput) SetTimeoutInMillis(v int64) *CreateIntegrationInput {
8215	s.TimeoutInMillis = &v
8216	return s
8217}
8218
8219// SetTlsConfig sets the TlsConfig field's value.
8220func (s *CreateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *CreateIntegrationInput {
8221	s.TlsConfig = v
8222	return s
8223}
8224
8225type CreateIntegrationOutput struct {
8226	_ struct{} `type:"structure"`
8227
8228	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
8229
8230	// A string with a length between [1-1024].
8231	ConnectionId *string `locationName:"connectionId" type:"string"`
8232
8233	// Represents a connection type.
8234	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
8235
8236	// Specifies how to handle response payload content type conversions. Supported
8237	// only for WebSocket APIs.
8238	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8239
8240	// Represents an Amazon Resource Name (ARN).
8241	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
8242
8243	// A string with a length between [0-1024].
8244	Description *string `locationName:"description" type:"string"`
8245
8246	// The identifier.
8247	IntegrationId *string `locationName:"integrationId" type:"string"`
8248
8249	// A string with a length between [1-64].
8250	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
8251
8252	// An expression used to extract information at runtime. See Selection Expressions
8253	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8254	// for more information.
8255	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
8256
8257	// A string with a length between [1-128].
8258	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
8259
8260	// Represents an API method integration type.
8261	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
8262
8263	// A string representation of a URI with a length between [1-2048].
8264	IntegrationUri *string `locationName:"integrationUri" type:"string"`
8265
8266	// Represents passthrough behavior for an integration response. Supported only
8267	// for WebSocket APIs.
8268	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
8269
8270	// A string with a length between [1-64].
8271	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
8272
8273	// For WebSocket APIs, a key-value map specifying request parameters that are
8274	// passed from the method request to the backend. The key is an integration
8275	// request parameter name and the associated value is a method request parameter
8276	// value or static value that must be enclosed within single quotes and pre-encoded
8277	// as required by the backend. The method request parameter value must match
8278	// the pattern of method.request.{location}.{name} , where {location} is querystring,
8279	// path, or header; and {name} must be a valid and unique method request parameter
8280	// name.
8281	//
8282	// For HTTP API integrations with a specified integrationSubtype, request parameters
8283	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
8284	// You can provide static values, or map request data, stage variables, or context
8285	// variables that are evaluated at runtime. To learn more, see Working with
8286	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
8287	//
8288	// For HTTP API integrations without a specified integrationSubtype request
8289	// parameters are a key-value map specifying how to transform HTTP requests
8290	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
8291	// where action can be append, overwrite or remove. For values, you can provide
8292	// static values, or map request data, stage variables, or context variables
8293	// that are evaluated at runtime. To learn more, see Transforming API requests
8294	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
8295	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
8296
8297	// A mapping of identifier keys to templates. The value is an actual template
8298	// script. The key is typically a SelectionKey which is chosen based on evaluating
8299	// a selection expression.
8300	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
8301
8302	// Supported only for HTTP APIs. You use response parameters to transform the
8303	// HTTP response from a backend integration before returning the response to
8304	// clients.
8305	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
8306
8307	// An expression used to extract information at runtime. See Selection Expressions
8308	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8309	// for more information.
8310	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8311
8312	// An integer with a value between [50-30000].
8313	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
8314
8315	// The TLS configuration for a private integration. If you specify a TLS configuration,
8316	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
8317	// APIs.
8318	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
8319}
8320
8321// String returns the string representation
8322func (s CreateIntegrationOutput) String() string {
8323	return awsutil.Prettify(s)
8324}
8325
8326// GoString returns the string representation
8327func (s CreateIntegrationOutput) GoString() string {
8328	return s.String()
8329}
8330
8331// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
8332func (s *CreateIntegrationOutput) SetApiGatewayManaged(v bool) *CreateIntegrationOutput {
8333	s.ApiGatewayManaged = &v
8334	return s
8335}
8336
8337// SetConnectionId sets the ConnectionId field's value.
8338func (s *CreateIntegrationOutput) SetConnectionId(v string) *CreateIntegrationOutput {
8339	s.ConnectionId = &v
8340	return s
8341}
8342
8343// SetConnectionType sets the ConnectionType field's value.
8344func (s *CreateIntegrationOutput) SetConnectionType(v string) *CreateIntegrationOutput {
8345	s.ConnectionType = &v
8346	return s
8347}
8348
8349// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8350func (s *CreateIntegrationOutput) SetContentHandlingStrategy(v string) *CreateIntegrationOutput {
8351	s.ContentHandlingStrategy = &v
8352	return s
8353}
8354
8355// SetCredentialsArn sets the CredentialsArn field's value.
8356func (s *CreateIntegrationOutput) SetCredentialsArn(v string) *CreateIntegrationOutput {
8357	s.CredentialsArn = &v
8358	return s
8359}
8360
8361// SetDescription sets the Description field's value.
8362func (s *CreateIntegrationOutput) SetDescription(v string) *CreateIntegrationOutput {
8363	s.Description = &v
8364	return s
8365}
8366
8367// SetIntegrationId sets the IntegrationId field's value.
8368func (s *CreateIntegrationOutput) SetIntegrationId(v string) *CreateIntegrationOutput {
8369	s.IntegrationId = &v
8370	return s
8371}
8372
8373// SetIntegrationMethod sets the IntegrationMethod field's value.
8374func (s *CreateIntegrationOutput) SetIntegrationMethod(v string) *CreateIntegrationOutput {
8375	s.IntegrationMethod = &v
8376	return s
8377}
8378
8379// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
8380func (s *CreateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *CreateIntegrationOutput {
8381	s.IntegrationResponseSelectionExpression = &v
8382	return s
8383}
8384
8385// SetIntegrationSubtype sets the IntegrationSubtype field's value.
8386func (s *CreateIntegrationOutput) SetIntegrationSubtype(v string) *CreateIntegrationOutput {
8387	s.IntegrationSubtype = &v
8388	return s
8389}
8390
8391// SetIntegrationType sets the IntegrationType field's value.
8392func (s *CreateIntegrationOutput) SetIntegrationType(v string) *CreateIntegrationOutput {
8393	s.IntegrationType = &v
8394	return s
8395}
8396
8397// SetIntegrationUri sets the IntegrationUri field's value.
8398func (s *CreateIntegrationOutput) SetIntegrationUri(v string) *CreateIntegrationOutput {
8399	s.IntegrationUri = &v
8400	return s
8401}
8402
8403// SetPassthroughBehavior sets the PassthroughBehavior field's value.
8404func (s *CreateIntegrationOutput) SetPassthroughBehavior(v string) *CreateIntegrationOutput {
8405	s.PassthroughBehavior = &v
8406	return s
8407}
8408
8409// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
8410func (s *CreateIntegrationOutput) SetPayloadFormatVersion(v string) *CreateIntegrationOutput {
8411	s.PayloadFormatVersion = &v
8412	return s
8413}
8414
8415// SetRequestParameters sets the RequestParameters field's value.
8416func (s *CreateIntegrationOutput) SetRequestParameters(v map[string]*string) *CreateIntegrationOutput {
8417	s.RequestParameters = v
8418	return s
8419}
8420
8421// SetRequestTemplates sets the RequestTemplates field's value.
8422func (s *CreateIntegrationOutput) SetRequestTemplates(v map[string]*string) *CreateIntegrationOutput {
8423	s.RequestTemplates = v
8424	return s
8425}
8426
8427// SetResponseParameters sets the ResponseParameters field's value.
8428func (s *CreateIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *CreateIntegrationOutput {
8429	s.ResponseParameters = v
8430	return s
8431}
8432
8433// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8434func (s *CreateIntegrationOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationOutput {
8435	s.TemplateSelectionExpression = &v
8436	return s
8437}
8438
8439// SetTimeoutInMillis sets the TimeoutInMillis field's value.
8440func (s *CreateIntegrationOutput) SetTimeoutInMillis(v int64) *CreateIntegrationOutput {
8441	s.TimeoutInMillis = &v
8442	return s
8443}
8444
8445// SetTlsConfig sets the TlsConfig field's value.
8446func (s *CreateIntegrationOutput) SetTlsConfig(v *TlsConfig) *CreateIntegrationOutput {
8447	s.TlsConfig = v
8448	return s
8449}
8450
8451type CreateIntegrationResponseInput struct {
8452	_ struct{} `type:"structure"`
8453
8454	// ApiId is a required field
8455	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8456
8457	// Specifies how to handle response payload content type conversions. Supported
8458	// only for WebSocket APIs.
8459	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8460
8461	// IntegrationId is a required field
8462	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
8463
8464	// After evaluating a selection expression, the result is compared against one
8465	// or more selection keys to find a matching key. See Selection Expressions
8466	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8467	// for a list of expressions and each expression's associated selection key
8468	// type.
8469	//
8470	// IntegrationResponseKey is a required field
8471	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
8472
8473	// For WebSocket APIs, a key-value map specifying request parameters that are
8474	// passed from the method request to the backend. The key is an integration
8475	// request parameter name and the associated value is a method request parameter
8476	// value or static value that must be enclosed within single quotes and pre-encoded
8477	// as required by the backend. The method request parameter value must match
8478	// the pattern of method.request.{location}.{name} , where {location} is querystring,
8479	// path, or header; and {name} must be a valid and unique method request parameter
8480	// name.
8481	//
8482	// For HTTP API integrations with a specified integrationSubtype, request parameters
8483	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
8484	// You can provide static values, or map request data, stage variables, or context
8485	// variables that are evaluated at runtime. To learn more, see Working with
8486	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
8487	//
8488	// For HTTP API integrations without a specified integrationSubtype request
8489	// parameters are a key-value map specifying how to transform HTTP requests
8490	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
8491	// where action can be append, overwrite or remove. For values, you can provide
8492	// static values, or map request data, stage variables, or context variables
8493	// that are evaluated at runtime. To learn more, see Transforming API requests
8494	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
8495	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
8496
8497	// A mapping of identifier keys to templates. The value is an actual template
8498	// script. The key is typically a SelectionKey which is chosen based on evaluating
8499	// a selection expression.
8500	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
8501
8502	// An expression used to extract information at runtime. See Selection Expressions
8503	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8504	// for more information.
8505	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8506}
8507
8508// String returns the string representation
8509func (s CreateIntegrationResponseInput) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation
8514func (s CreateIntegrationResponseInput) GoString() string {
8515	return s.String()
8516}
8517
8518// Validate inspects the fields of the type to determine if they are valid.
8519func (s *CreateIntegrationResponseInput) Validate() error {
8520	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationResponseInput"}
8521	if s.ApiId == nil {
8522		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8523	}
8524	if s.ApiId != nil && len(*s.ApiId) < 1 {
8525		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8526	}
8527	if s.IntegrationId == nil {
8528		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
8529	}
8530	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
8531		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
8532	}
8533	if s.IntegrationResponseKey == nil {
8534		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseKey"))
8535	}
8536
8537	if invalidParams.Len() > 0 {
8538		return invalidParams
8539	}
8540	return nil
8541}
8542
8543// SetApiId sets the ApiId field's value.
8544func (s *CreateIntegrationResponseInput) SetApiId(v string) *CreateIntegrationResponseInput {
8545	s.ApiId = &v
8546	return s
8547}
8548
8549// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8550func (s *CreateIntegrationResponseInput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseInput {
8551	s.ContentHandlingStrategy = &v
8552	return s
8553}
8554
8555// SetIntegrationId sets the IntegrationId field's value.
8556func (s *CreateIntegrationResponseInput) SetIntegrationId(v string) *CreateIntegrationResponseInput {
8557	s.IntegrationId = &v
8558	return s
8559}
8560
8561// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
8562func (s *CreateIntegrationResponseInput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseInput {
8563	s.IntegrationResponseKey = &v
8564	return s
8565}
8566
8567// SetResponseParameters sets the ResponseParameters field's value.
8568func (s *CreateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseInput {
8569	s.ResponseParameters = v
8570	return s
8571}
8572
8573// SetResponseTemplates sets the ResponseTemplates field's value.
8574func (s *CreateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseInput {
8575	s.ResponseTemplates = v
8576	return s
8577}
8578
8579// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8580func (s *CreateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseInput {
8581	s.TemplateSelectionExpression = &v
8582	return s
8583}
8584
8585type CreateIntegrationResponseOutput struct {
8586	_ struct{} `type:"structure"`
8587
8588	// Specifies how to handle response payload content type conversions. Supported
8589	// only for WebSocket APIs.
8590	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8591
8592	// The identifier.
8593	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
8594
8595	// After evaluating a selection expression, the result is compared against one
8596	// or more selection keys to find a matching key. See Selection Expressions
8597	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8598	// for a list of expressions and each expression's associated selection key
8599	// type.
8600	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
8601
8602	// For WebSocket APIs, a key-value map specifying request parameters that are
8603	// passed from the method request to the backend. The key is an integration
8604	// request parameter name and the associated value is a method request parameter
8605	// value or static value that must be enclosed within single quotes and pre-encoded
8606	// as required by the backend. The method request parameter value must match
8607	// the pattern of method.request.{location}.{name} , where {location} is querystring,
8608	// path, or header; and {name} must be a valid and unique method request parameter
8609	// name.
8610	//
8611	// For HTTP API integrations with a specified integrationSubtype, request parameters
8612	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
8613	// You can provide static values, or map request data, stage variables, or context
8614	// variables that are evaluated at runtime. To learn more, see Working with
8615	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
8616	//
8617	// For HTTP API integrations without a specified integrationSubtype request
8618	// parameters are a key-value map specifying how to transform HTTP requests
8619	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
8620	// where action can be append, overwrite or remove. For values, you can provide
8621	// static values, or map request data, stage variables, or context variables
8622	// that are evaluated at runtime. To learn more, see Transforming API requests
8623	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
8624	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
8625
8626	// A mapping of identifier keys to templates. The value is an actual template
8627	// script. The key is typically a SelectionKey which is chosen based on evaluating
8628	// a selection expression.
8629	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
8630
8631	// An expression used to extract information at runtime. See Selection Expressions
8632	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8633	// for more information.
8634	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8635}
8636
8637// String returns the string representation
8638func (s CreateIntegrationResponseOutput) String() string {
8639	return awsutil.Prettify(s)
8640}
8641
8642// GoString returns the string representation
8643func (s CreateIntegrationResponseOutput) GoString() string {
8644	return s.String()
8645}
8646
8647// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8648func (s *CreateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseOutput {
8649	s.ContentHandlingStrategy = &v
8650	return s
8651}
8652
8653// SetIntegrationResponseId sets the IntegrationResponseId field's value.
8654func (s *CreateIntegrationResponseOutput) SetIntegrationResponseId(v string) *CreateIntegrationResponseOutput {
8655	s.IntegrationResponseId = &v
8656	return s
8657}
8658
8659// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
8660func (s *CreateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseOutput {
8661	s.IntegrationResponseKey = &v
8662	return s
8663}
8664
8665// SetResponseParameters sets the ResponseParameters field's value.
8666func (s *CreateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseOutput {
8667	s.ResponseParameters = v
8668	return s
8669}
8670
8671// SetResponseTemplates sets the ResponseTemplates field's value.
8672func (s *CreateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseOutput {
8673	s.ResponseTemplates = v
8674	return s
8675}
8676
8677// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8678func (s *CreateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseOutput {
8679	s.TemplateSelectionExpression = &v
8680	return s
8681}
8682
8683type CreateModelInput struct {
8684	_ struct{} `type:"structure"`
8685
8686	// ApiId is a required field
8687	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8688
8689	// A string with a length between [1-256].
8690	ContentType *string `locationName:"contentType" type:"string"`
8691
8692	// A string with a length between [0-1024].
8693	Description *string `locationName:"description" type:"string"`
8694
8695	// A string with a length between [1-128].
8696	//
8697	// Name is a required field
8698	Name *string `locationName:"name" type:"string" required:"true"`
8699
8700	// A string with a length between [0-32768].
8701	//
8702	// Schema is a required field
8703	Schema *string `locationName:"schema" type:"string" required:"true"`
8704}
8705
8706// String returns the string representation
8707func (s CreateModelInput) String() string {
8708	return awsutil.Prettify(s)
8709}
8710
8711// GoString returns the string representation
8712func (s CreateModelInput) GoString() string {
8713	return s.String()
8714}
8715
8716// Validate inspects the fields of the type to determine if they are valid.
8717func (s *CreateModelInput) Validate() error {
8718	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
8719	if s.ApiId == nil {
8720		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8721	}
8722	if s.ApiId != nil && len(*s.ApiId) < 1 {
8723		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8724	}
8725	if s.Name == nil {
8726		invalidParams.Add(request.NewErrParamRequired("Name"))
8727	}
8728	if s.Schema == nil {
8729		invalidParams.Add(request.NewErrParamRequired("Schema"))
8730	}
8731
8732	if invalidParams.Len() > 0 {
8733		return invalidParams
8734	}
8735	return nil
8736}
8737
8738// SetApiId sets the ApiId field's value.
8739func (s *CreateModelInput) SetApiId(v string) *CreateModelInput {
8740	s.ApiId = &v
8741	return s
8742}
8743
8744// SetContentType sets the ContentType field's value.
8745func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
8746	s.ContentType = &v
8747	return s
8748}
8749
8750// SetDescription sets the Description field's value.
8751func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
8752	s.Description = &v
8753	return s
8754}
8755
8756// SetName sets the Name field's value.
8757func (s *CreateModelInput) SetName(v string) *CreateModelInput {
8758	s.Name = &v
8759	return s
8760}
8761
8762// SetSchema sets the Schema field's value.
8763func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
8764	s.Schema = &v
8765	return s
8766}
8767
8768type CreateModelOutput struct {
8769	_ struct{} `type:"structure"`
8770
8771	// A string with a length between [1-256].
8772	ContentType *string `locationName:"contentType" type:"string"`
8773
8774	// A string with a length between [0-1024].
8775	Description *string `locationName:"description" type:"string"`
8776
8777	// The identifier.
8778	ModelId *string `locationName:"modelId" type:"string"`
8779
8780	// A string with a length between [1-128].
8781	Name *string `locationName:"name" type:"string"`
8782
8783	// A string with a length between [0-32768].
8784	Schema *string `locationName:"schema" type:"string"`
8785}
8786
8787// String returns the string representation
8788func (s CreateModelOutput) String() string {
8789	return awsutil.Prettify(s)
8790}
8791
8792// GoString returns the string representation
8793func (s CreateModelOutput) GoString() string {
8794	return s.String()
8795}
8796
8797// SetContentType sets the ContentType field's value.
8798func (s *CreateModelOutput) SetContentType(v string) *CreateModelOutput {
8799	s.ContentType = &v
8800	return s
8801}
8802
8803// SetDescription sets the Description field's value.
8804func (s *CreateModelOutput) SetDescription(v string) *CreateModelOutput {
8805	s.Description = &v
8806	return s
8807}
8808
8809// SetModelId sets the ModelId field's value.
8810func (s *CreateModelOutput) SetModelId(v string) *CreateModelOutput {
8811	s.ModelId = &v
8812	return s
8813}
8814
8815// SetName sets the Name field's value.
8816func (s *CreateModelOutput) SetName(v string) *CreateModelOutput {
8817	s.Name = &v
8818	return s
8819}
8820
8821// SetSchema sets the Schema field's value.
8822func (s *CreateModelOutput) SetSchema(v string) *CreateModelOutput {
8823	s.Schema = &v
8824	return s
8825}
8826
8827type CreateRouteInput struct {
8828	_ struct{} `type:"structure"`
8829
8830	// ApiId is a required field
8831	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8832
8833	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
8834
8835	// A list of authorization scopes configured on a route. The scopes are used
8836	// with a JWT authorizer to authorize the method invocation. The authorization
8837	// works by matching the route scopes against the scopes parsed from the access
8838	// token in the incoming request. The method invocation is authorized if any
8839	// route scope matches a claimed scope in the access token. Otherwise, the invocation
8840	// is not authorized. When the route scope is configured, the client must provide
8841	// an access token instead of an identity token for authorization purposes.
8842	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
8843
8844	// The authorization type. For WebSocket APIs, valid values are NONE for open
8845	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
8846	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
8847	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
8848	// for using a Lambda authorizer.
8849	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
8850
8851	// The identifier.
8852	AuthorizerId *string `locationName:"authorizerId" type:"string"`
8853
8854	// An expression used to extract information at runtime. See Selection Expressions
8855	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8856	// for more information.
8857	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
8858
8859	// A string with a length between [1-64].
8860	OperationName *string `locationName:"operationName" type:"string"`
8861
8862	// The route models.
8863	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
8864
8865	// The route parameters.
8866	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
8867
8868	// After evaluating a selection expression, the result is compared against one
8869	// or more selection keys to find a matching key. See Selection Expressions
8870	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8871	// for a list of expressions and each expression's associated selection key
8872	// type.
8873	//
8874	// RouteKey is a required field
8875	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
8876
8877	// An expression used to extract information at runtime. See Selection Expressions
8878	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8879	// for more information.
8880	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
8881
8882	// A string with a length between [1-128].
8883	Target *string `locationName:"target" type:"string"`
8884}
8885
8886// String returns the string representation
8887func (s CreateRouteInput) String() string {
8888	return awsutil.Prettify(s)
8889}
8890
8891// GoString returns the string representation
8892func (s CreateRouteInput) GoString() string {
8893	return s.String()
8894}
8895
8896// Validate inspects the fields of the type to determine if they are valid.
8897func (s *CreateRouteInput) Validate() error {
8898	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
8899	if s.ApiId == nil {
8900		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8901	}
8902	if s.ApiId != nil && len(*s.ApiId) < 1 {
8903		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8904	}
8905	if s.RouteKey == nil {
8906		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
8907	}
8908
8909	if invalidParams.Len() > 0 {
8910		return invalidParams
8911	}
8912	return nil
8913}
8914
8915// SetApiId sets the ApiId field's value.
8916func (s *CreateRouteInput) SetApiId(v string) *CreateRouteInput {
8917	s.ApiId = &v
8918	return s
8919}
8920
8921// SetApiKeyRequired sets the ApiKeyRequired field's value.
8922func (s *CreateRouteInput) SetApiKeyRequired(v bool) *CreateRouteInput {
8923	s.ApiKeyRequired = &v
8924	return s
8925}
8926
8927// SetAuthorizationScopes sets the AuthorizationScopes field's value.
8928func (s *CreateRouteInput) SetAuthorizationScopes(v []*string) *CreateRouteInput {
8929	s.AuthorizationScopes = v
8930	return s
8931}
8932
8933// SetAuthorizationType sets the AuthorizationType field's value.
8934func (s *CreateRouteInput) SetAuthorizationType(v string) *CreateRouteInput {
8935	s.AuthorizationType = &v
8936	return s
8937}
8938
8939// SetAuthorizerId sets the AuthorizerId field's value.
8940func (s *CreateRouteInput) SetAuthorizerId(v string) *CreateRouteInput {
8941	s.AuthorizerId = &v
8942	return s
8943}
8944
8945// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
8946func (s *CreateRouteInput) SetModelSelectionExpression(v string) *CreateRouteInput {
8947	s.ModelSelectionExpression = &v
8948	return s
8949}
8950
8951// SetOperationName sets the OperationName field's value.
8952func (s *CreateRouteInput) SetOperationName(v string) *CreateRouteInput {
8953	s.OperationName = &v
8954	return s
8955}
8956
8957// SetRequestModels sets the RequestModels field's value.
8958func (s *CreateRouteInput) SetRequestModels(v map[string]*string) *CreateRouteInput {
8959	s.RequestModels = v
8960	return s
8961}
8962
8963// SetRequestParameters sets the RequestParameters field's value.
8964func (s *CreateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteInput {
8965	s.RequestParameters = v
8966	return s
8967}
8968
8969// SetRouteKey sets the RouteKey field's value.
8970func (s *CreateRouteInput) SetRouteKey(v string) *CreateRouteInput {
8971	s.RouteKey = &v
8972	return s
8973}
8974
8975// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
8976func (s *CreateRouteInput) SetRouteResponseSelectionExpression(v string) *CreateRouteInput {
8977	s.RouteResponseSelectionExpression = &v
8978	return s
8979}
8980
8981// SetTarget sets the Target field's value.
8982func (s *CreateRouteInput) SetTarget(v string) *CreateRouteInput {
8983	s.Target = &v
8984	return s
8985}
8986
8987type CreateRouteOutput struct {
8988	_ struct{} `type:"structure"`
8989
8990	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
8991
8992	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
8993
8994	// A list of authorization scopes configured on a route. The scopes are used
8995	// with a JWT authorizer to authorize the method invocation. The authorization
8996	// works by matching the route scopes against the scopes parsed from the access
8997	// token in the incoming request. The method invocation is authorized if any
8998	// route scope matches a claimed scope in the access token. Otherwise, the invocation
8999	// is not authorized. When the route scope is configured, the client must provide
9000	// an access token instead of an identity token for authorization purposes.
9001	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
9002
9003	// The authorization type. For WebSocket APIs, valid values are NONE for open
9004	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
9005	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
9006	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
9007	// for using a Lambda authorizer.
9008	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
9009
9010	// The identifier.
9011	AuthorizerId *string `locationName:"authorizerId" type:"string"`
9012
9013	// An expression used to extract information at runtime. See Selection Expressions
9014	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9015	// for more information.
9016	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
9017
9018	// A string with a length between [1-64].
9019	OperationName *string `locationName:"operationName" type:"string"`
9020
9021	// The route models.
9022	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
9023
9024	// The route parameters.
9025	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
9026
9027	// The identifier.
9028	RouteId *string `locationName:"routeId" type:"string"`
9029
9030	// After evaluating a selection expression, the result is compared against one
9031	// or more selection keys to find a matching key. See Selection Expressions
9032	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9033	// for a list of expressions and each expression's associated selection key
9034	// type.
9035	RouteKey *string `locationName:"routeKey" type:"string"`
9036
9037	// An expression used to extract information at runtime. See Selection Expressions
9038	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9039	// for more information.
9040	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
9041
9042	// A string with a length between [1-128].
9043	Target *string `locationName:"target" type:"string"`
9044}
9045
9046// String returns the string representation
9047func (s CreateRouteOutput) String() string {
9048	return awsutil.Prettify(s)
9049}
9050
9051// GoString returns the string representation
9052func (s CreateRouteOutput) GoString() string {
9053	return s.String()
9054}
9055
9056// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
9057func (s *CreateRouteOutput) SetApiGatewayManaged(v bool) *CreateRouteOutput {
9058	s.ApiGatewayManaged = &v
9059	return s
9060}
9061
9062// SetApiKeyRequired sets the ApiKeyRequired field's value.
9063func (s *CreateRouteOutput) SetApiKeyRequired(v bool) *CreateRouteOutput {
9064	s.ApiKeyRequired = &v
9065	return s
9066}
9067
9068// SetAuthorizationScopes sets the AuthorizationScopes field's value.
9069func (s *CreateRouteOutput) SetAuthorizationScopes(v []*string) *CreateRouteOutput {
9070	s.AuthorizationScopes = v
9071	return s
9072}
9073
9074// SetAuthorizationType sets the AuthorizationType field's value.
9075func (s *CreateRouteOutput) SetAuthorizationType(v string) *CreateRouteOutput {
9076	s.AuthorizationType = &v
9077	return s
9078}
9079
9080// SetAuthorizerId sets the AuthorizerId field's value.
9081func (s *CreateRouteOutput) SetAuthorizerId(v string) *CreateRouteOutput {
9082	s.AuthorizerId = &v
9083	return s
9084}
9085
9086// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9087func (s *CreateRouteOutput) SetModelSelectionExpression(v string) *CreateRouteOutput {
9088	s.ModelSelectionExpression = &v
9089	return s
9090}
9091
9092// SetOperationName sets the OperationName field's value.
9093func (s *CreateRouteOutput) SetOperationName(v string) *CreateRouteOutput {
9094	s.OperationName = &v
9095	return s
9096}
9097
9098// SetRequestModels sets the RequestModels field's value.
9099func (s *CreateRouteOutput) SetRequestModels(v map[string]*string) *CreateRouteOutput {
9100	s.RequestModels = v
9101	return s
9102}
9103
9104// SetRequestParameters sets the RequestParameters field's value.
9105func (s *CreateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteOutput {
9106	s.RequestParameters = v
9107	return s
9108}
9109
9110// SetRouteId sets the RouteId field's value.
9111func (s *CreateRouteOutput) SetRouteId(v string) *CreateRouteOutput {
9112	s.RouteId = &v
9113	return s
9114}
9115
9116// SetRouteKey sets the RouteKey field's value.
9117func (s *CreateRouteOutput) SetRouteKey(v string) *CreateRouteOutput {
9118	s.RouteKey = &v
9119	return s
9120}
9121
9122// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
9123func (s *CreateRouteOutput) SetRouteResponseSelectionExpression(v string) *CreateRouteOutput {
9124	s.RouteResponseSelectionExpression = &v
9125	return s
9126}
9127
9128// SetTarget sets the Target field's value.
9129func (s *CreateRouteOutput) SetTarget(v string) *CreateRouteOutput {
9130	s.Target = &v
9131	return s
9132}
9133
9134type CreateRouteResponseInput struct {
9135	_ struct{} `type:"structure"`
9136
9137	// ApiId is a required field
9138	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9139
9140	// An expression used to extract information at runtime. See Selection Expressions
9141	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9142	// for more information.
9143	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
9144
9145	// The route models.
9146	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
9147
9148	// The route parameters.
9149	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
9150
9151	// RouteId is a required field
9152	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
9153
9154	// After evaluating a selection expression, the result is compared against one
9155	// or more selection keys to find a matching key. See Selection Expressions
9156	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9157	// for a list of expressions and each expression's associated selection key
9158	// type.
9159	//
9160	// RouteResponseKey is a required field
9161	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
9162}
9163
9164// String returns the string representation
9165func (s CreateRouteResponseInput) String() string {
9166	return awsutil.Prettify(s)
9167}
9168
9169// GoString returns the string representation
9170func (s CreateRouteResponseInput) GoString() string {
9171	return s.String()
9172}
9173
9174// Validate inspects the fields of the type to determine if they are valid.
9175func (s *CreateRouteResponseInput) Validate() error {
9176	invalidParams := request.ErrInvalidParams{Context: "CreateRouteResponseInput"}
9177	if s.ApiId == nil {
9178		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9179	}
9180	if s.ApiId != nil && len(*s.ApiId) < 1 {
9181		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9182	}
9183	if s.RouteId == nil {
9184		invalidParams.Add(request.NewErrParamRequired("RouteId"))
9185	}
9186	if s.RouteId != nil && len(*s.RouteId) < 1 {
9187		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
9188	}
9189	if s.RouteResponseKey == nil {
9190		invalidParams.Add(request.NewErrParamRequired("RouteResponseKey"))
9191	}
9192
9193	if invalidParams.Len() > 0 {
9194		return invalidParams
9195	}
9196	return nil
9197}
9198
9199// SetApiId sets the ApiId field's value.
9200func (s *CreateRouteResponseInput) SetApiId(v string) *CreateRouteResponseInput {
9201	s.ApiId = &v
9202	return s
9203}
9204
9205// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9206func (s *CreateRouteResponseInput) SetModelSelectionExpression(v string) *CreateRouteResponseInput {
9207	s.ModelSelectionExpression = &v
9208	return s
9209}
9210
9211// SetResponseModels sets the ResponseModels field's value.
9212func (s *CreateRouteResponseInput) SetResponseModels(v map[string]*string) *CreateRouteResponseInput {
9213	s.ResponseModels = v
9214	return s
9215}
9216
9217// SetResponseParameters sets the ResponseParameters field's value.
9218func (s *CreateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseInput {
9219	s.ResponseParameters = v
9220	return s
9221}
9222
9223// SetRouteId sets the RouteId field's value.
9224func (s *CreateRouteResponseInput) SetRouteId(v string) *CreateRouteResponseInput {
9225	s.RouteId = &v
9226	return s
9227}
9228
9229// SetRouteResponseKey sets the RouteResponseKey field's value.
9230func (s *CreateRouteResponseInput) SetRouteResponseKey(v string) *CreateRouteResponseInput {
9231	s.RouteResponseKey = &v
9232	return s
9233}
9234
9235type CreateRouteResponseOutput struct {
9236	_ struct{} `type:"structure"`
9237
9238	// An expression used to extract information at runtime. See Selection Expressions
9239	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9240	// for more information.
9241	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
9242
9243	// The route models.
9244	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
9245
9246	// The route parameters.
9247	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
9248
9249	// The identifier.
9250	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
9251
9252	// After evaluating a selection expression, the result is compared against one
9253	// or more selection keys to find a matching key. See Selection Expressions
9254	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9255	// for a list of expressions and each expression's associated selection key
9256	// type.
9257	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
9258}
9259
9260// String returns the string representation
9261func (s CreateRouteResponseOutput) String() string {
9262	return awsutil.Prettify(s)
9263}
9264
9265// GoString returns the string representation
9266func (s CreateRouteResponseOutput) GoString() string {
9267	return s.String()
9268}
9269
9270// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9271func (s *CreateRouteResponseOutput) SetModelSelectionExpression(v string) *CreateRouteResponseOutput {
9272	s.ModelSelectionExpression = &v
9273	return s
9274}
9275
9276// SetResponseModels sets the ResponseModels field's value.
9277func (s *CreateRouteResponseOutput) SetResponseModels(v map[string]*string) *CreateRouteResponseOutput {
9278	s.ResponseModels = v
9279	return s
9280}
9281
9282// SetResponseParameters sets the ResponseParameters field's value.
9283func (s *CreateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseOutput {
9284	s.ResponseParameters = v
9285	return s
9286}
9287
9288// SetRouteResponseId sets the RouteResponseId field's value.
9289func (s *CreateRouteResponseOutput) SetRouteResponseId(v string) *CreateRouteResponseOutput {
9290	s.RouteResponseId = &v
9291	return s
9292}
9293
9294// SetRouteResponseKey sets the RouteResponseKey field's value.
9295func (s *CreateRouteResponseOutput) SetRouteResponseKey(v string) *CreateRouteResponseOutput {
9296	s.RouteResponseKey = &v
9297	return s
9298}
9299
9300type CreateStageInput struct {
9301	_ struct{} `type:"structure"`
9302
9303	// Settings for logging access in a stage.
9304	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
9305
9306	// ApiId is a required field
9307	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9308
9309	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
9310
9311	// The identifier.
9312	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
9313
9314	// Represents a collection of route settings.
9315	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
9316
9317	// The identifier.
9318	DeploymentId *string `locationName:"deploymentId" type:"string"`
9319
9320	// A string with a length between [0-1024].
9321	Description *string `locationName:"description" type:"string"`
9322
9323	// The route settings map.
9324	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
9325
9326	// A string with a length between [1-128].
9327	//
9328	// StageName is a required field
9329	StageName *string `locationName:"stageName" type:"string" required:"true"`
9330
9331	// The stage variable map.
9332	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
9333
9334	// Represents a collection of tags associated with the resource.
9335	Tags map[string]*string `locationName:"tags" type:"map"`
9336}
9337
9338// String returns the string representation
9339func (s CreateStageInput) String() string {
9340	return awsutil.Prettify(s)
9341}
9342
9343// GoString returns the string representation
9344func (s CreateStageInput) GoString() string {
9345	return s.String()
9346}
9347
9348// Validate inspects the fields of the type to determine if they are valid.
9349func (s *CreateStageInput) Validate() error {
9350	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
9351	if s.ApiId == nil {
9352		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9353	}
9354	if s.ApiId != nil && len(*s.ApiId) < 1 {
9355		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9356	}
9357	if s.StageName == nil {
9358		invalidParams.Add(request.NewErrParamRequired("StageName"))
9359	}
9360
9361	if invalidParams.Len() > 0 {
9362		return invalidParams
9363	}
9364	return nil
9365}
9366
9367// SetAccessLogSettings sets the AccessLogSettings field's value.
9368func (s *CreateStageInput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageInput {
9369	s.AccessLogSettings = v
9370	return s
9371}
9372
9373// SetApiId sets the ApiId field's value.
9374func (s *CreateStageInput) SetApiId(v string) *CreateStageInput {
9375	s.ApiId = &v
9376	return s
9377}
9378
9379// SetAutoDeploy sets the AutoDeploy field's value.
9380func (s *CreateStageInput) SetAutoDeploy(v bool) *CreateStageInput {
9381	s.AutoDeploy = &v
9382	return s
9383}
9384
9385// SetClientCertificateId sets the ClientCertificateId field's value.
9386func (s *CreateStageInput) SetClientCertificateId(v string) *CreateStageInput {
9387	s.ClientCertificateId = &v
9388	return s
9389}
9390
9391// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
9392func (s *CreateStageInput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageInput {
9393	s.DefaultRouteSettings = v
9394	return s
9395}
9396
9397// SetDeploymentId sets the DeploymentId field's value.
9398func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
9399	s.DeploymentId = &v
9400	return s
9401}
9402
9403// SetDescription sets the Description field's value.
9404func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
9405	s.Description = &v
9406	return s
9407}
9408
9409// SetRouteSettings sets the RouteSettings field's value.
9410func (s *CreateStageInput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageInput {
9411	s.RouteSettings = v
9412	return s
9413}
9414
9415// SetStageName sets the StageName field's value.
9416func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
9417	s.StageName = &v
9418	return s
9419}
9420
9421// SetStageVariables sets the StageVariables field's value.
9422func (s *CreateStageInput) SetStageVariables(v map[string]*string) *CreateStageInput {
9423	s.StageVariables = v
9424	return s
9425}
9426
9427// SetTags sets the Tags field's value.
9428func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
9429	s.Tags = v
9430	return s
9431}
9432
9433type CreateStageOutput struct {
9434	_ struct{} `type:"structure"`
9435
9436	// Settings for logging access in a stage.
9437	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
9438
9439	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
9440
9441	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
9442
9443	// The identifier.
9444	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
9445
9446	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
9447
9448	// Represents a collection of route settings.
9449	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
9450
9451	// The identifier.
9452	DeploymentId *string `locationName:"deploymentId" type:"string"`
9453
9454	// A string with a length between [0-1024].
9455	Description *string `locationName:"description" type:"string"`
9456
9457	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
9458
9459	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
9460
9461	// The route settings map.
9462	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
9463
9464	// A string with a length between [1-128].
9465	StageName *string `locationName:"stageName" type:"string"`
9466
9467	// The stage variable map.
9468	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
9469
9470	// Represents a collection of tags associated with the resource.
9471	Tags map[string]*string `locationName:"tags" type:"map"`
9472}
9473
9474// String returns the string representation
9475func (s CreateStageOutput) String() string {
9476	return awsutil.Prettify(s)
9477}
9478
9479// GoString returns the string representation
9480func (s CreateStageOutput) GoString() string {
9481	return s.String()
9482}
9483
9484// SetAccessLogSettings sets the AccessLogSettings field's value.
9485func (s *CreateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageOutput {
9486	s.AccessLogSettings = v
9487	return s
9488}
9489
9490// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
9491func (s *CreateStageOutput) SetApiGatewayManaged(v bool) *CreateStageOutput {
9492	s.ApiGatewayManaged = &v
9493	return s
9494}
9495
9496// SetAutoDeploy sets the AutoDeploy field's value.
9497func (s *CreateStageOutput) SetAutoDeploy(v bool) *CreateStageOutput {
9498	s.AutoDeploy = &v
9499	return s
9500}
9501
9502// SetClientCertificateId sets the ClientCertificateId field's value.
9503func (s *CreateStageOutput) SetClientCertificateId(v string) *CreateStageOutput {
9504	s.ClientCertificateId = &v
9505	return s
9506}
9507
9508// SetCreatedDate sets the CreatedDate field's value.
9509func (s *CreateStageOutput) SetCreatedDate(v time.Time) *CreateStageOutput {
9510	s.CreatedDate = &v
9511	return s
9512}
9513
9514// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
9515func (s *CreateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageOutput {
9516	s.DefaultRouteSettings = v
9517	return s
9518}
9519
9520// SetDeploymentId sets the DeploymentId field's value.
9521func (s *CreateStageOutput) SetDeploymentId(v string) *CreateStageOutput {
9522	s.DeploymentId = &v
9523	return s
9524}
9525
9526// SetDescription sets the Description field's value.
9527func (s *CreateStageOutput) SetDescription(v string) *CreateStageOutput {
9528	s.Description = &v
9529	return s
9530}
9531
9532// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
9533func (s *CreateStageOutput) SetLastDeploymentStatusMessage(v string) *CreateStageOutput {
9534	s.LastDeploymentStatusMessage = &v
9535	return s
9536}
9537
9538// SetLastUpdatedDate sets the LastUpdatedDate field's value.
9539func (s *CreateStageOutput) SetLastUpdatedDate(v time.Time) *CreateStageOutput {
9540	s.LastUpdatedDate = &v
9541	return s
9542}
9543
9544// SetRouteSettings sets the RouteSettings field's value.
9545func (s *CreateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageOutput {
9546	s.RouteSettings = v
9547	return s
9548}
9549
9550// SetStageName sets the StageName field's value.
9551func (s *CreateStageOutput) SetStageName(v string) *CreateStageOutput {
9552	s.StageName = &v
9553	return s
9554}
9555
9556// SetStageVariables sets the StageVariables field's value.
9557func (s *CreateStageOutput) SetStageVariables(v map[string]*string) *CreateStageOutput {
9558	s.StageVariables = v
9559	return s
9560}
9561
9562// SetTags sets the Tags field's value.
9563func (s *CreateStageOutput) SetTags(v map[string]*string) *CreateStageOutput {
9564	s.Tags = v
9565	return s
9566}
9567
9568type CreateVpcLinkInput struct {
9569	_ struct{} `type:"structure"`
9570
9571	// A string with a length between [1-128].
9572	//
9573	// Name is a required field
9574	Name *string `locationName:"name" type:"string" required:"true"`
9575
9576	// A list of security group IDs for the VPC link.
9577	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
9578
9579	// A list of subnet IDs to include in the VPC link.
9580	//
9581	// SubnetIds is a required field
9582	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
9583
9584	// Represents a collection of tags associated with the resource.
9585	Tags map[string]*string `locationName:"tags" type:"map"`
9586}
9587
9588// String returns the string representation
9589func (s CreateVpcLinkInput) String() string {
9590	return awsutil.Prettify(s)
9591}
9592
9593// GoString returns the string representation
9594func (s CreateVpcLinkInput) GoString() string {
9595	return s.String()
9596}
9597
9598// Validate inspects the fields of the type to determine if they are valid.
9599func (s *CreateVpcLinkInput) Validate() error {
9600	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
9601	if s.Name == nil {
9602		invalidParams.Add(request.NewErrParamRequired("Name"))
9603	}
9604	if s.SubnetIds == nil {
9605		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
9606	}
9607
9608	if invalidParams.Len() > 0 {
9609		return invalidParams
9610	}
9611	return nil
9612}
9613
9614// SetName sets the Name field's value.
9615func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
9616	s.Name = &v
9617	return s
9618}
9619
9620// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9621func (s *CreateVpcLinkInput) SetSecurityGroupIds(v []*string) *CreateVpcLinkInput {
9622	s.SecurityGroupIds = v
9623	return s
9624}
9625
9626// SetSubnetIds sets the SubnetIds field's value.
9627func (s *CreateVpcLinkInput) SetSubnetIds(v []*string) *CreateVpcLinkInput {
9628	s.SubnetIds = v
9629	return s
9630}
9631
9632// SetTags sets the Tags field's value.
9633func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
9634	s.Tags = v
9635	return s
9636}
9637
9638type CreateVpcLinkOutput struct {
9639	_ struct{} `type:"structure"`
9640
9641	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
9642
9643	// A string with a length between [1-128].
9644	Name *string `locationName:"name" type:"string"`
9645
9646	// A list of security group IDs for the VPC link.
9647	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
9648
9649	// A list of subnet IDs to include in the VPC link.
9650	SubnetIds []*string `locationName:"subnetIds" type:"list"`
9651
9652	// Represents a collection of tags associated with the resource.
9653	Tags map[string]*string `locationName:"tags" type:"map"`
9654
9655	// The identifier.
9656	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
9657
9658	// The status of the VPC link.
9659	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
9660
9661	// A string with a length between [0-1024].
9662	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
9663
9664	// The version of the VPC link.
9665	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
9666}
9667
9668// String returns the string representation
9669func (s CreateVpcLinkOutput) String() string {
9670	return awsutil.Prettify(s)
9671}
9672
9673// GoString returns the string representation
9674func (s CreateVpcLinkOutput) GoString() string {
9675	return s.String()
9676}
9677
9678// SetCreatedDate sets the CreatedDate field's value.
9679func (s *CreateVpcLinkOutput) SetCreatedDate(v time.Time) *CreateVpcLinkOutput {
9680	s.CreatedDate = &v
9681	return s
9682}
9683
9684// SetName sets the Name field's value.
9685func (s *CreateVpcLinkOutput) SetName(v string) *CreateVpcLinkOutput {
9686	s.Name = &v
9687	return s
9688}
9689
9690// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9691func (s *CreateVpcLinkOutput) SetSecurityGroupIds(v []*string) *CreateVpcLinkOutput {
9692	s.SecurityGroupIds = v
9693	return s
9694}
9695
9696// SetSubnetIds sets the SubnetIds field's value.
9697func (s *CreateVpcLinkOutput) SetSubnetIds(v []*string) *CreateVpcLinkOutput {
9698	s.SubnetIds = v
9699	return s
9700}
9701
9702// SetTags sets the Tags field's value.
9703func (s *CreateVpcLinkOutput) SetTags(v map[string]*string) *CreateVpcLinkOutput {
9704	s.Tags = v
9705	return s
9706}
9707
9708// SetVpcLinkId sets the VpcLinkId field's value.
9709func (s *CreateVpcLinkOutput) SetVpcLinkId(v string) *CreateVpcLinkOutput {
9710	s.VpcLinkId = &v
9711	return s
9712}
9713
9714// SetVpcLinkStatus sets the VpcLinkStatus field's value.
9715func (s *CreateVpcLinkOutput) SetVpcLinkStatus(v string) *CreateVpcLinkOutput {
9716	s.VpcLinkStatus = &v
9717	return s
9718}
9719
9720// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
9721func (s *CreateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *CreateVpcLinkOutput {
9722	s.VpcLinkStatusMessage = &v
9723	return s
9724}
9725
9726// SetVpcLinkVersion sets the VpcLinkVersion field's value.
9727func (s *CreateVpcLinkOutput) SetVpcLinkVersion(v string) *CreateVpcLinkOutput {
9728	s.VpcLinkVersion = &v
9729	return s
9730}
9731
9732type DeleteAccessLogSettingsInput struct {
9733	_ struct{} `type:"structure"`
9734
9735	// ApiId is a required field
9736	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9737
9738	// StageName is a required field
9739	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
9740}
9741
9742// String returns the string representation
9743func (s DeleteAccessLogSettingsInput) String() string {
9744	return awsutil.Prettify(s)
9745}
9746
9747// GoString returns the string representation
9748func (s DeleteAccessLogSettingsInput) GoString() string {
9749	return s.String()
9750}
9751
9752// Validate inspects the fields of the type to determine if they are valid.
9753func (s *DeleteAccessLogSettingsInput) Validate() error {
9754	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessLogSettingsInput"}
9755	if s.ApiId == nil {
9756		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9757	}
9758	if s.ApiId != nil && len(*s.ApiId) < 1 {
9759		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9760	}
9761	if s.StageName == nil {
9762		invalidParams.Add(request.NewErrParamRequired("StageName"))
9763	}
9764	if s.StageName != nil && len(*s.StageName) < 1 {
9765		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
9766	}
9767
9768	if invalidParams.Len() > 0 {
9769		return invalidParams
9770	}
9771	return nil
9772}
9773
9774// SetApiId sets the ApiId field's value.
9775func (s *DeleteAccessLogSettingsInput) SetApiId(v string) *DeleteAccessLogSettingsInput {
9776	s.ApiId = &v
9777	return s
9778}
9779
9780// SetStageName sets the StageName field's value.
9781func (s *DeleteAccessLogSettingsInput) SetStageName(v string) *DeleteAccessLogSettingsInput {
9782	s.StageName = &v
9783	return s
9784}
9785
9786type DeleteAccessLogSettingsOutput struct {
9787	_ struct{} `type:"structure"`
9788}
9789
9790// String returns the string representation
9791func (s DeleteAccessLogSettingsOutput) String() string {
9792	return awsutil.Prettify(s)
9793}
9794
9795// GoString returns the string representation
9796func (s DeleteAccessLogSettingsOutput) GoString() string {
9797	return s.String()
9798}
9799
9800type DeleteApiInput struct {
9801	_ struct{} `type:"structure"`
9802
9803	// ApiId is a required field
9804	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9805}
9806
9807// String returns the string representation
9808func (s DeleteApiInput) String() string {
9809	return awsutil.Prettify(s)
9810}
9811
9812// GoString returns the string representation
9813func (s DeleteApiInput) GoString() string {
9814	return s.String()
9815}
9816
9817// Validate inspects the fields of the type to determine if they are valid.
9818func (s *DeleteApiInput) Validate() error {
9819	invalidParams := request.ErrInvalidParams{Context: "DeleteApiInput"}
9820	if s.ApiId == nil {
9821		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9822	}
9823	if s.ApiId != nil && len(*s.ApiId) < 1 {
9824		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9825	}
9826
9827	if invalidParams.Len() > 0 {
9828		return invalidParams
9829	}
9830	return nil
9831}
9832
9833// SetApiId sets the ApiId field's value.
9834func (s *DeleteApiInput) SetApiId(v string) *DeleteApiInput {
9835	s.ApiId = &v
9836	return s
9837}
9838
9839type DeleteApiMappingInput struct {
9840	_ struct{} `type:"structure"`
9841
9842	// ApiMappingId is a required field
9843	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
9844
9845	// DomainName is a required field
9846	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
9847}
9848
9849// String returns the string representation
9850func (s DeleteApiMappingInput) String() string {
9851	return awsutil.Prettify(s)
9852}
9853
9854// GoString returns the string representation
9855func (s DeleteApiMappingInput) GoString() string {
9856	return s.String()
9857}
9858
9859// Validate inspects the fields of the type to determine if they are valid.
9860func (s *DeleteApiMappingInput) Validate() error {
9861	invalidParams := request.ErrInvalidParams{Context: "DeleteApiMappingInput"}
9862	if s.ApiMappingId == nil {
9863		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
9864	}
9865	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
9866		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
9867	}
9868	if s.DomainName == nil {
9869		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9870	}
9871	if s.DomainName != nil && len(*s.DomainName) < 1 {
9872		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
9873	}
9874
9875	if invalidParams.Len() > 0 {
9876		return invalidParams
9877	}
9878	return nil
9879}
9880
9881// SetApiMappingId sets the ApiMappingId field's value.
9882func (s *DeleteApiMappingInput) SetApiMappingId(v string) *DeleteApiMappingInput {
9883	s.ApiMappingId = &v
9884	return s
9885}
9886
9887// SetDomainName sets the DomainName field's value.
9888func (s *DeleteApiMappingInput) SetDomainName(v string) *DeleteApiMappingInput {
9889	s.DomainName = &v
9890	return s
9891}
9892
9893type DeleteApiMappingOutput struct {
9894	_ struct{} `type:"structure"`
9895}
9896
9897// String returns the string representation
9898func (s DeleteApiMappingOutput) String() string {
9899	return awsutil.Prettify(s)
9900}
9901
9902// GoString returns the string representation
9903func (s DeleteApiMappingOutput) GoString() string {
9904	return s.String()
9905}
9906
9907type DeleteApiOutput struct {
9908	_ struct{} `type:"structure"`
9909}
9910
9911// String returns the string representation
9912func (s DeleteApiOutput) String() string {
9913	return awsutil.Prettify(s)
9914}
9915
9916// GoString returns the string representation
9917func (s DeleteApiOutput) GoString() string {
9918	return s.String()
9919}
9920
9921type DeleteAuthorizerInput struct {
9922	_ struct{} `type:"structure"`
9923
9924	// ApiId is a required field
9925	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9926
9927	// AuthorizerId is a required field
9928	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
9929}
9930
9931// String returns the string representation
9932func (s DeleteAuthorizerInput) String() string {
9933	return awsutil.Prettify(s)
9934}
9935
9936// GoString returns the string representation
9937func (s DeleteAuthorizerInput) GoString() string {
9938	return s.String()
9939}
9940
9941// Validate inspects the fields of the type to determine if they are valid.
9942func (s *DeleteAuthorizerInput) Validate() error {
9943	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
9944	if s.ApiId == nil {
9945		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9946	}
9947	if s.ApiId != nil && len(*s.ApiId) < 1 {
9948		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9949	}
9950	if s.AuthorizerId == nil {
9951		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
9952	}
9953	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
9954		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
9955	}
9956
9957	if invalidParams.Len() > 0 {
9958		return invalidParams
9959	}
9960	return nil
9961}
9962
9963// SetApiId sets the ApiId field's value.
9964func (s *DeleteAuthorizerInput) SetApiId(v string) *DeleteAuthorizerInput {
9965	s.ApiId = &v
9966	return s
9967}
9968
9969// SetAuthorizerId sets the AuthorizerId field's value.
9970func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
9971	s.AuthorizerId = &v
9972	return s
9973}
9974
9975type DeleteAuthorizerOutput struct {
9976	_ struct{} `type:"structure"`
9977}
9978
9979// String returns the string representation
9980func (s DeleteAuthorizerOutput) String() string {
9981	return awsutil.Prettify(s)
9982}
9983
9984// GoString returns the string representation
9985func (s DeleteAuthorizerOutput) GoString() string {
9986	return s.String()
9987}
9988
9989type DeleteCorsConfigurationInput struct {
9990	_ struct{} `type:"structure"`
9991
9992	// ApiId is a required field
9993	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9994}
9995
9996// String returns the string representation
9997func (s DeleteCorsConfigurationInput) String() string {
9998	return awsutil.Prettify(s)
9999}
10000
10001// GoString returns the string representation
10002func (s DeleteCorsConfigurationInput) GoString() string {
10003	return s.String()
10004}
10005
10006// Validate inspects the fields of the type to determine if they are valid.
10007func (s *DeleteCorsConfigurationInput) Validate() error {
10008	invalidParams := request.ErrInvalidParams{Context: "DeleteCorsConfigurationInput"}
10009	if s.ApiId == nil {
10010		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10011	}
10012	if s.ApiId != nil && len(*s.ApiId) < 1 {
10013		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10014	}
10015
10016	if invalidParams.Len() > 0 {
10017		return invalidParams
10018	}
10019	return nil
10020}
10021
10022// SetApiId sets the ApiId field's value.
10023func (s *DeleteCorsConfigurationInput) SetApiId(v string) *DeleteCorsConfigurationInput {
10024	s.ApiId = &v
10025	return s
10026}
10027
10028type DeleteCorsConfigurationOutput struct {
10029	_ struct{} `type:"structure"`
10030}
10031
10032// String returns the string representation
10033func (s DeleteCorsConfigurationOutput) String() string {
10034	return awsutil.Prettify(s)
10035}
10036
10037// GoString returns the string representation
10038func (s DeleteCorsConfigurationOutput) GoString() string {
10039	return s.String()
10040}
10041
10042type DeleteDeploymentInput struct {
10043	_ struct{} `type:"structure"`
10044
10045	// ApiId is a required field
10046	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10047
10048	// DeploymentId is a required field
10049	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
10050}
10051
10052// String returns the string representation
10053func (s DeleteDeploymentInput) String() string {
10054	return awsutil.Prettify(s)
10055}
10056
10057// GoString returns the string representation
10058func (s DeleteDeploymentInput) GoString() string {
10059	return s.String()
10060}
10061
10062// Validate inspects the fields of the type to determine if they are valid.
10063func (s *DeleteDeploymentInput) Validate() error {
10064	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
10065	if s.ApiId == nil {
10066		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10067	}
10068	if s.ApiId != nil && len(*s.ApiId) < 1 {
10069		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10070	}
10071	if s.DeploymentId == nil {
10072		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
10073	}
10074	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
10075		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
10076	}
10077
10078	if invalidParams.Len() > 0 {
10079		return invalidParams
10080	}
10081	return nil
10082}
10083
10084// SetApiId sets the ApiId field's value.
10085func (s *DeleteDeploymentInput) SetApiId(v string) *DeleteDeploymentInput {
10086	s.ApiId = &v
10087	return s
10088}
10089
10090// SetDeploymentId sets the DeploymentId field's value.
10091func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
10092	s.DeploymentId = &v
10093	return s
10094}
10095
10096type DeleteDeploymentOutput struct {
10097	_ struct{} `type:"structure"`
10098}
10099
10100// String returns the string representation
10101func (s DeleteDeploymentOutput) String() string {
10102	return awsutil.Prettify(s)
10103}
10104
10105// GoString returns the string representation
10106func (s DeleteDeploymentOutput) GoString() string {
10107	return s.String()
10108}
10109
10110type DeleteDomainNameInput struct {
10111	_ struct{} `type:"structure"`
10112
10113	// DomainName is a required field
10114	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
10115}
10116
10117// String returns the string representation
10118func (s DeleteDomainNameInput) String() string {
10119	return awsutil.Prettify(s)
10120}
10121
10122// GoString returns the string representation
10123func (s DeleteDomainNameInput) GoString() string {
10124	return s.String()
10125}
10126
10127// Validate inspects the fields of the type to determine if they are valid.
10128func (s *DeleteDomainNameInput) Validate() error {
10129	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
10130	if s.DomainName == nil {
10131		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10132	}
10133	if s.DomainName != nil && len(*s.DomainName) < 1 {
10134		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
10135	}
10136
10137	if invalidParams.Len() > 0 {
10138		return invalidParams
10139	}
10140	return nil
10141}
10142
10143// SetDomainName sets the DomainName field's value.
10144func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
10145	s.DomainName = &v
10146	return s
10147}
10148
10149type DeleteDomainNameOutput struct {
10150	_ struct{} `type:"structure"`
10151}
10152
10153// String returns the string representation
10154func (s DeleteDomainNameOutput) String() string {
10155	return awsutil.Prettify(s)
10156}
10157
10158// GoString returns the string representation
10159func (s DeleteDomainNameOutput) GoString() string {
10160	return s.String()
10161}
10162
10163type DeleteIntegrationInput struct {
10164	_ struct{} `type:"structure"`
10165
10166	// ApiId is a required field
10167	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10168
10169	// IntegrationId is a required field
10170	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
10171}
10172
10173// String returns the string representation
10174func (s DeleteIntegrationInput) String() string {
10175	return awsutil.Prettify(s)
10176}
10177
10178// GoString returns the string representation
10179func (s DeleteIntegrationInput) GoString() string {
10180	return s.String()
10181}
10182
10183// Validate inspects the fields of the type to determine if they are valid.
10184func (s *DeleteIntegrationInput) Validate() error {
10185	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
10186	if s.ApiId == nil {
10187		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10188	}
10189	if s.ApiId != nil && len(*s.ApiId) < 1 {
10190		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10191	}
10192	if s.IntegrationId == nil {
10193		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
10194	}
10195	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
10196		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
10197	}
10198
10199	if invalidParams.Len() > 0 {
10200		return invalidParams
10201	}
10202	return nil
10203}
10204
10205// SetApiId sets the ApiId field's value.
10206func (s *DeleteIntegrationInput) SetApiId(v string) *DeleteIntegrationInput {
10207	s.ApiId = &v
10208	return s
10209}
10210
10211// SetIntegrationId sets the IntegrationId field's value.
10212func (s *DeleteIntegrationInput) SetIntegrationId(v string) *DeleteIntegrationInput {
10213	s.IntegrationId = &v
10214	return s
10215}
10216
10217type DeleteIntegrationOutput struct {
10218	_ struct{} `type:"structure"`
10219}
10220
10221// String returns the string representation
10222func (s DeleteIntegrationOutput) String() string {
10223	return awsutil.Prettify(s)
10224}
10225
10226// GoString returns the string representation
10227func (s DeleteIntegrationOutput) GoString() string {
10228	return s.String()
10229}
10230
10231type DeleteIntegrationResponseInput struct {
10232	_ struct{} `type:"structure"`
10233
10234	// ApiId is a required field
10235	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10236
10237	// IntegrationId is a required field
10238	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
10239
10240	// IntegrationResponseId is a required field
10241	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
10242}
10243
10244// String returns the string representation
10245func (s DeleteIntegrationResponseInput) String() string {
10246	return awsutil.Prettify(s)
10247}
10248
10249// GoString returns the string representation
10250func (s DeleteIntegrationResponseInput) GoString() string {
10251	return s.String()
10252}
10253
10254// Validate inspects the fields of the type to determine if they are valid.
10255func (s *DeleteIntegrationResponseInput) Validate() error {
10256	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
10257	if s.ApiId == nil {
10258		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10259	}
10260	if s.ApiId != nil && len(*s.ApiId) < 1 {
10261		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10262	}
10263	if s.IntegrationId == nil {
10264		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
10265	}
10266	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
10267		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
10268	}
10269	if s.IntegrationResponseId == nil {
10270		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
10271	}
10272	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
10273		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
10274	}
10275
10276	if invalidParams.Len() > 0 {
10277		return invalidParams
10278	}
10279	return nil
10280}
10281
10282// SetApiId sets the ApiId field's value.
10283func (s *DeleteIntegrationResponseInput) SetApiId(v string) *DeleteIntegrationResponseInput {
10284	s.ApiId = &v
10285	return s
10286}
10287
10288// SetIntegrationId sets the IntegrationId field's value.
10289func (s *DeleteIntegrationResponseInput) SetIntegrationId(v string) *DeleteIntegrationResponseInput {
10290	s.IntegrationId = &v
10291	return s
10292}
10293
10294// SetIntegrationResponseId sets the IntegrationResponseId field's value.
10295func (s *DeleteIntegrationResponseInput) SetIntegrationResponseId(v string) *DeleteIntegrationResponseInput {
10296	s.IntegrationResponseId = &v
10297	return s
10298}
10299
10300type DeleteIntegrationResponseOutput struct {
10301	_ struct{} `type:"structure"`
10302}
10303
10304// String returns the string representation
10305func (s DeleteIntegrationResponseOutput) String() string {
10306	return awsutil.Prettify(s)
10307}
10308
10309// GoString returns the string representation
10310func (s DeleteIntegrationResponseOutput) GoString() string {
10311	return s.String()
10312}
10313
10314type DeleteModelInput struct {
10315	_ struct{} `type:"structure"`
10316
10317	// ApiId is a required field
10318	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10319
10320	// ModelId is a required field
10321	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
10322}
10323
10324// String returns the string representation
10325func (s DeleteModelInput) String() string {
10326	return awsutil.Prettify(s)
10327}
10328
10329// GoString returns the string representation
10330func (s DeleteModelInput) GoString() string {
10331	return s.String()
10332}
10333
10334// Validate inspects the fields of the type to determine if they are valid.
10335func (s *DeleteModelInput) Validate() error {
10336	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
10337	if s.ApiId == nil {
10338		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10339	}
10340	if s.ApiId != nil && len(*s.ApiId) < 1 {
10341		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10342	}
10343	if s.ModelId == nil {
10344		invalidParams.Add(request.NewErrParamRequired("ModelId"))
10345	}
10346	if s.ModelId != nil && len(*s.ModelId) < 1 {
10347		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
10348	}
10349
10350	if invalidParams.Len() > 0 {
10351		return invalidParams
10352	}
10353	return nil
10354}
10355
10356// SetApiId sets the ApiId field's value.
10357func (s *DeleteModelInput) SetApiId(v string) *DeleteModelInput {
10358	s.ApiId = &v
10359	return s
10360}
10361
10362// SetModelId sets the ModelId field's value.
10363func (s *DeleteModelInput) SetModelId(v string) *DeleteModelInput {
10364	s.ModelId = &v
10365	return s
10366}
10367
10368type DeleteModelOutput struct {
10369	_ struct{} `type:"structure"`
10370}
10371
10372// String returns the string representation
10373func (s DeleteModelOutput) String() string {
10374	return awsutil.Prettify(s)
10375}
10376
10377// GoString returns the string representation
10378func (s DeleteModelOutput) GoString() string {
10379	return s.String()
10380}
10381
10382type DeleteRouteInput struct {
10383	_ struct{} `type:"structure"`
10384
10385	// ApiId is a required field
10386	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10387
10388	// RouteId is a required field
10389	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10390}
10391
10392// String returns the string representation
10393func (s DeleteRouteInput) String() string {
10394	return awsutil.Prettify(s)
10395}
10396
10397// GoString returns the string representation
10398func (s DeleteRouteInput) GoString() string {
10399	return s.String()
10400}
10401
10402// Validate inspects the fields of the type to determine if they are valid.
10403func (s *DeleteRouteInput) Validate() error {
10404	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
10405	if s.ApiId == nil {
10406		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10407	}
10408	if s.ApiId != nil && len(*s.ApiId) < 1 {
10409		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10410	}
10411	if s.RouteId == nil {
10412		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10413	}
10414	if s.RouteId != nil && len(*s.RouteId) < 1 {
10415		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10416	}
10417
10418	if invalidParams.Len() > 0 {
10419		return invalidParams
10420	}
10421	return nil
10422}
10423
10424// SetApiId sets the ApiId field's value.
10425func (s *DeleteRouteInput) SetApiId(v string) *DeleteRouteInput {
10426	s.ApiId = &v
10427	return s
10428}
10429
10430// SetRouteId sets the RouteId field's value.
10431func (s *DeleteRouteInput) SetRouteId(v string) *DeleteRouteInput {
10432	s.RouteId = &v
10433	return s
10434}
10435
10436type DeleteRouteOutput struct {
10437	_ struct{} `type:"structure"`
10438}
10439
10440// String returns the string representation
10441func (s DeleteRouteOutput) String() string {
10442	return awsutil.Prettify(s)
10443}
10444
10445// GoString returns the string representation
10446func (s DeleteRouteOutput) GoString() string {
10447	return s.String()
10448}
10449
10450type DeleteRouteRequestParameterInput struct {
10451	_ struct{} `type:"structure"`
10452
10453	// ApiId is a required field
10454	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10455
10456	// RequestParameterKey is a required field
10457	RequestParameterKey *string `location:"uri" locationName:"requestParameterKey" type:"string" required:"true"`
10458
10459	// RouteId is a required field
10460	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10461}
10462
10463// String returns the string representation
10464func (s DeleteRouteRequestParameterInput) String() string {
10465	return awsutil.Prettify(s)
10466}
10467
10468// GoString returns the string representation
10469func (s DeleteRouteRequestParameterInput) GoString() string {
10470	return s.String()
10471}
10472
10473// Validate inspects the fields of the type to determine if they are valid.
10474func (s *DeleteRouteRequestParameterInput) Validate() error {
10475	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteRequestParameterInput"}
10476	if s.ApiId == nil {
10477		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10478	}
10479	if s.ApiId != nil && len(*s.ApiId) < 1 {
10480		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10481	}
10482	if s.RequestParameterKey == nil {
10483		invalidParams.Add(request.NewErrParamRequired("RequestParameterKey"))
10484	}
10485	if s.RequestParameterKey != nil && len(*s.RequestParameterKey) < 1 {
10486		invalidParams.Add(request.NewErrParamMinLen("RequestParameterKey", 1))
10487	}
10488	if s.RouteId == nil {
10489		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10490	}
10491	if s.RouteId != nil && len(*s.RouteId) < 1 {
10492		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10493	}
10494
10495	if invalidParams.Len() > 0 {
10496		return invalidParams
10497	}
10498	return nil
10499}
10500
10501// SetApiId sets the ApiId field's value.
10502func (s *DeleteRouteRequestParameterInput) SetApiId(v string) *DeleteRouteRequestParameterInput {
10503	s.ApiId = &v
10504	return s
10505}
10506
10507// SetRequestParameterKey sets the RequestParameterKey field's value.
10508func (s *DeleteRouteRequestParameterInput) SetRequestParameterKey(v string) *DeleteRouteRequestParameterInput {
10509	s.RequestParameterKey = &v
10510	return s
10511}
10512
10513// SetRouteId sets the RouteId field's value.
10514func (s *DeleteRouteRequestParameterInput) SetRouteId(v string) *DeleteRouteRequestParameterInput {
10515	s.RouteId = &v
10516	return s
10517}
10518
10519type DeleteRouteRequestParameterOutput struct {
10520	_ struct{} `type:"structure"`
10521}
10522
10523// String returns the string representation
10524func (s DeleteRouteRequestParameterOutput) String() string {
10525	return awsutil.Prettify(s)
10526}
10527
10528// GoString returns the string representation
10529func (s DeleteRouteRequestParameterOutput) GoString() string {
10530	return s.String()
10531}
10532
10533type DeleteRouteResponseInput struct {
10534	_ struct{} `type:"structure"`
10535
10536	// ApiId is a required field
10537	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10538
10539	// RouteId is a required field
10540	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10541
10542	// RouteResponseId is a required field
10543	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
10544}
10545
10546// String returns the string representation
10547func (s DeleteRouteResponseInput) String() string {
10548	return awsutil.Prettify(s)
10549}
10550
10551// GoString returns the string representation
10552func (s DeleteRouteResponseInput) GoString() string {
10553	return s.String()
10554}
10555
10556// Validate inspects the fields of the type to determine if they are valid.
10557func (s *DeleteRouteResponseInput) Validate() error {
10558	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteResponseInput"}
10559	if s.ApiId == nil {
10560		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10561	}
10562	if s.ApiId != nil && len(*s.ApiId) < 1 {
10563		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10564	}
10565	if s.RouteId == nil {
10566		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10567	}
10568	if s.RouteId != nil && len(*s.RouteId) < 1 {
10569		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10570	}
10571	if s.RouteResponseId == nil {
10572		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
10573	}
10574	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
10575		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
10576	}
10577
10578	if invalidParams.Len() > 0 {
10579		return invalidParams
10580	}
10581	return nil
10582}
10583
10584// SetApiId sets the ApiId field's value.
10585func (s *DeleteRouteResponseInput) SetApiId(v string) *DeleteRouteResponseInput {
10586	s.ApiId = &v
10587	return s
10588}
10589
10590// SetRouteId sets the RouteId field's value.
10591func (s *DeleteRouteResponseInput) SetRouteId(v string) *DeleteRouteResponseInput {
10592	s.RouteId = &v
10593	return s
10594}
10595
10596// SetRouteResponseId sets the RouteResponseId field's value.
10597func (s *DeleteRouteResponseInput) SetRouteResponseId(v string) *DeleteRouteResponseInput {
10598	s.RouteResponseId = &v
10599	return s
10600}
10601
10602type DeleteRouteResponseOutput struct {
10603	_ struct{} `type:"structure"`
10604}
10605
10606// String returns the string representation
10607func (s DeleteRouteResponseOutput) String() string {
10608	return awsutil.Prettify(s)
10609}
10610
10611// GoString returns the string representation
10612func (s DeleteRouteResponseOutput) GoString() string {
10613	return s.String()
10614}
10615
10616type DeleteRouteSettingsInput struct {
10617	_ struct{} `type:"structure"`
10618
10619	// ApiId is a required field
10620	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10621
10622	// RouteKey is a required field
10623	RouteKey *string `location:"uri" locationName:"routeKey" type:"string" required:"true"`
10624
10625	// StageName is a required field
10626	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
10627}
10628
10629// String returns the string representation
10630func (s DeleteRouteSettingsInput) String() string {
10631	return awsutil.Prettify(s)
10632}
10633
10634// GoString returns the string representation
10635func (s DeleteRouteSettingsInput) GoString() string {
10636	return s.String()
10637}
10638
10639// Validate inspects the fields of the type to determine if they are valid.
10640func (s *DeleteRouteSettingsInput) Validate() error {
10641	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteSettingsInput"}
10642	if s.ApiId == nil {
10643		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10644	}
10645	if s.ApiId != nil && len(*s.ApiId) < 1 {
10646		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10647	}
10648	if s.RouteKey == nil {
10649		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
10650	}
10651	if s.RouteKey != nil && len(*s.RouteKey) < 1 {
10652		invalidParams.Add(request.NewErrParamMinLen("RouteKey", 1))
10653	}
10654	if s.StageName == nil {
10655		invalidParams.Add(request.NewErrParamRequired("StageName"))
10656	}
10657	if s.StageName != nil && len(*s.StageName) < 1 {
10658		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10659	}
10660
10661	if invalidParams.Len() > 0 {
10662		return invalidParams
10663	}
10664	return nil
10665}
10666
10667// SetApiId sets the ApiId field's value.
10668func (s *DeleteRouteSettingsInput) SetApiId(v string) *DeleteRouteSettingsInput {
10669	s.ApiId = &v
10670	return s
10671}
10672
10673// SetRouteKey sets the RouteKey field's value.
10674func (s *DeleteRouteSettingsInput) SetRouteKey(v string) *DeleteRouteSettingsInput {
10675	s.RouteKey = &v
10676	return s
10677}
10678
10679// SetStageName sets the StageName field's value.
10680func (s *DeleteRouteSettingsInput) SetStageName(v string) *DeleteRouteSettingsInput {
10681	s.StageName = &v
10682	return s
10683}
10684
10685type DeleteRouteSettingsOutput struct {
10686	_ struct{} `type:"structure"`
10687}
10688
10689// String returns the string representation
10690func (s DeleteRouteSettingsOutput) String() string {
10691	return awsutil.Prettify(s)
10692}
10693
10694// GoString returns the string representation
10695func (s DeleteRouteSettingsOutput) GoString() string {
10696	return s.String()
10697}
10698
10699type DeleteStageInput struct {
10700	_ struct{} `type:"structure"`
10701
10702	// ApiId is a required field
10703	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10704
10705	// StageName is a required field
10706	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
10707}
10708
10709// String returns the string representation
10710func (s DeleteStageInput) String() string {
10711	return awsutil.Prettify(s)
10712}
10713
10714// GoString returns the string representation
10715func (s DeleteStageInput) GoString() string {
10716	return s.String()
10717}
10718
10719// Validate inspects the fields of the type to determine if they are valid.
10720func (s *DeleteStageInput) Validate() error {
10721	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
10722	if s.ApiId == nil {
10723		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10724	}
10725	if s.ApiId != nil && len(*s.ApiId) < 1 {
10726		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10727	}
10728	if s.StageName == nil {
10729		invalidParams.Add(request.NewErrParamRequired("StageName"))
10730	}
10731	if s.StageName != nil && len(*s.StageName) < 1 {
10732		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10733	}
10734
10735	if invalidParams.Len() > 0 {
10736		return invalidParams
10737	}
10738	return nil
10739}
10740
10741// SetApiId sets the ApiId field's value.
10742func (s *DeleteStageInput) SetApiId(v string) *DeleteStageInput {
10743	s.ApiId = &v
10744	return s
10745}
10746
10747// SetStageName sets the StageName field's value.
10748func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
10749	s.StageName = &v
10750	return s
10751}
10752
10753type DeleteStageOutput struct {
10754	_ struct{} `type:"structure"`
10755}
10756
10757// String returns the string representation
10758func (s DeleteStageOutput) String() string {
10759	return awsutil.Prettify(s)
10760}
10761
10762// GoString returns the string representation
10763func (s DeleteStageOutput) GoString() string {
10764	return s.String()
10765}
10766
10767type DeleteVpcLinkInput struct {
10768	_ struct{} `type:"structure"`
10769
10770	// VpcLinkId is a required field
10771	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
10772}
10773
10774// String returns the string representation
10775func (s DeleteVpcLinkInput) String() string {
10776	return awsutil.Prettify(s)
10777}
10778
10779// GoString returns the string representation
10780func (s DeleteVpcLinkInput) GoString() string {
10781	return s.String()
10782}
10783
10784// Validate inspects the fields of the type to determine if they are valid.
10785func (s *DeleteVpcLinkInput) Validate() error {
10786	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
10787	if s.VpcLinkId == nil {
10788		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
10789	}
10790	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
10791		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
10792	}
10793
10794	if invalidParams.Len() > 0 {
10795		return invalidParams
10796	}
10797	return nil
10798}
10799
10800// SetVpcLinkId sets the VpcLinkId field's value.
10801func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
10802	s.VpcLinkId = &v
10803	return s
10804}
10805
10806type DeleteVpcLinkOutput struct {
10807	_ struct{} `type:"structure"`
10808}
10809
10810// String returns the string representation
10811func (s DeleteVpcLinkOutput) String() string {
10812	return awsutil.Prettify(s)
10813}
10814
10815// GoString returns the string representation
10816func (s DeleteVpcLinkOutput) GoString() string {
10817	return s.String()
10818}
10819
10820// An immutable representation of an API that can be called by users. A Deployment
10821// must be associated with a Stage for it to be callable over the internet.
10822type Deployment struct {
10823	_ struct{} `type:"structure"`
10824
10825	// Specifies whether a deployment was automatically released.
10826	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
10827
10828	// The date and time when the Deployment resource was created.
10829	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
10830
10831	// The identifier for the deployment.
10832	DeploymentId *string `locationName:"deploymentId" type:"string"`
10833
10834	// The status of the deployment: PENDING, FAILED, or SUCCEEDED.
10835	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
10836
10837	// May contain additional feedback on the status of an API deployment.
10838	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
10839
10840	// The description for the deployment.
10841	Description *string `locationName:"description" type:"string"`
10842}
10843
10844// String returns the string representation
10845func (s Deployment) String() string {
10846	return awsutil.Prettify(s)
10847}
10848
10849// GoString returns the string representation
10850func (s Deployment) GoString() string {
10851	return s.String()
10852}
10853
10854// SetAutoDeployed sets the AutoDeployed field's value.
10855func (s *Deployment) SetAutoDeployed(v bool) *Deployment {
10856	s.AutoDeployed = &v
10857	return s
10858}
10859
10860// SetCreatedDate sets the CreatedDate field's value.
10861func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
10862	s.CreatedDate = &v
10863	return s
10864}
10865
10866// SetDeploymentId sets the DeploymentId field's value.
10867func (s *Deployment) SetDeploymentId(v string) *Deployment {
10868	s.DeploymentId = &v
10869	return s
10870}
10871
10872// SetDeploymentStatus sets the DeploymentStatus field's value.
10873func (s *Deployment) SetDeploymentStatus(v string) *Deployment {
10874	s.DeploymentStatus = &v
10875	return s
10876}
10877
10878// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
10879func (s *Deployment) SetDeploymentStatusMessage(v string) *Deployment {
10880	s.DeploymentStatusMessage = &v
10881	return s
10882}
10883
10884// SetDescription sets the Description field's value.
10885func (s *Deployment) SetDescription(v string) *Deployment {
10886	s.Description = &v
10887	return s
10888}
10889
10890// Represents a domain name.
10891type DomainName struct {
10892	_ struct{} `type:"structure"`
10893
10894	// The API mapping selection expression.
10895	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
10896
10897	// The name of the DomainName resource.
10898	//
10899	// DomainName is a required field
10900	DomainName *string `locationName:"domainName" type:"string" required:"true"`
10901
10902	// The domain name configurations.
10903	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
10904
10905	// The mutual TLS authentication configuration for a custom domain name.
10906	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
10907
10908	// The collection of tags associated with a domain name.
10909	Tags map[string]*string `locationName:"tags" type:"map"`
10910}
10911
10912// String returns the string representation
10913func (s DomainName) String() string {
10914	return awsutil.Prettify(s)
10915}
10916
10917// GoString returns the string representation
10918func (s DomainName) GoString() string {
10919	return s.String()
10920}
10921
10922// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
10923func (s *DomainName) SetApiMappingSelectionExpression(v string) *DomainName {
10924	s.ApiMappingSelectionExpression = &v
10925	return s
10926}
10927
10928// SetDomainName sets the DomainName field's value.
10929func (s *DomainName) SetDomainName(v string) *DomainName {
10930	s.DomainName = &v
10931	return s
10932}
10933
10934// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
10935func (s *DomainName) SetDomainNameConfigurations(v []*DomainNameConfiguration) *DomainName {
10936	s.DomainNameConfigurations = v
10937	return s
10938}
10939
10940// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
10941func (s *DomainName) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *DomainName {
10942	s.MutualTlsAuthentication = v
10943	return s
10944}
10945
10946// SetTags sets the Tags field's value.
10947func (s *DomainName) SetTags(v map[string]*string) *DomainName {
10948	s.Tags = v
10949	return s
10950}
10951
10952// The domain name configuration.
10953type DomainNameConfiguration struct {
10954	_ struct{} `type:"structure"`
10955
10956	// A domain name for the API.
10957	ApiGatewayDomainName *string `locationName:"apiGatewayDomainName" type:"string"`
10958
10959	// An AWS-managed certificate that will be used by the edge-optimized endpoint
10960	// for this domain name. AWS Certificate Manager is the only supported source.
10961	CertificateArn *string `locationName:"certificateArn" type:"string"`
10962
10963	// The user-friendly name of the certificate that will be used by the edge-optimized
10964	// endpoint for this domain name.
10965	CertificateName *string `locationName:"certificateName" type:"string"`
10966
10967	// The timestamp when the certificate that was used by edge-optimized endpoint
10968	// for this domain name was uploaded.
10969	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp" timestampFormat:"iso8601"`
10970
10971	// The status of the domain name migration. The valid values are AVAILABLE and
10972	// UPDATING. If the status is UPDATING, the domain cannot be modified further
10973	// until the existing operation is complete. If it is AVAILABLE, the domain
10974	// can be updated.
10975	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
10976
10977	// An optional text message containing detailed information about status of
10978	// the domain name migration.
10979	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
10980
10981	// The endpoint type.
10982	EndpointType *string `locationName:"endpointType" type:"string" enum:"EndpointType"`
10983
10984	// The Amazon Route 53 Hosted Zone ID of the endpoint.
10985	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
10986
10987	// The Transport Layer Security (TLS) version of the security policy for this
10988	// domain name. The valid values are TLS_1_0 and TLS_1_2.
10989	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
10990}
10991
10992// String returns the string representation
10993func (s DomainNameConfiguration) String() string {
10994	return awsutil.Prettify(s)
10995}
10996
10997// GoString returns the string representation
10998func (s DomainNameConfiguration) GoString() string {
10999	return s.String()
11000}
11001
11002// SetApiGatewayDomainName sets the ApiGatewayDomainName field's value.
11003func (s *DomainNameConfiguration) SetApiGatewayDomainName(v string) *DomainNameConfiguration {
11004	s.ApiGatewayDomainName = &v
11005	return s
11006}
11007
11008// SetCertificateArn sets the CertificateArn field's value.
11009func (s *DomainNameConfiguration) SetCertificateArn(v string) *DomainNameConfiguration {
11010	s.CertificateArn = &v
11011	return s
11012}
11013
11014// SetCertificateName sets the CertificateName field's value.
11015func (s *DomainNameConfiguration) SetCertificateName(v string) *DomainNameConfiguration {
11016	s.CertificateName = &v
11017	return s
11018}
11019
11020// SetCertificateUploadDate sets the CertificateUploadDate field's value.
11021func (s *DomainNameConfiguration) SetCertificateUploadDate(v time.Time) *DomainNameConfiguration {
11022	s.CertificateUploadDate = &v
11023	return s
11024}
11025
11026// SetDomainNameStatus sets the DomainNameStatus field's value.
11027func (s *DomainNameConfiguration) SetDomainNameStatus(v string) *DomainNameConfiguration {
11028	s.DomainNameStatus = &v
11029	return s
11030}
11031
11032// SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
11033func (s *DomainNameConfiguration) SetDomainNameStatusMessage(v string) *DomainNameConfiguration {
11034	s.DomainNameStatusMessage = &v
11035	return s
11036}
11037
11038// SetEndpointType sets the EndpointType field's value.
11039func (s *DomainNameConfiguration) SetEndpointType(v string) *DomainNameConfiguration {
11040	s.EndpointType = &v
11041	return s
11042}
11043
11044// SetHostedZoneId sets the HostedZoneId field's value.
11045func (s *DomainNameConfiguration) SetHostedZoneId(v string) *DomainNameConfiguration {
11046	s.HostedZoneId = &v
11047	return s
11048}
11049
11050// SetSecurityPolicy sets the SecurityPolicy field's value.
11051func (s *DomainNameConfiguration) SetSecurityPolicy(v string) *DomainNameConfiguration {
11052	s.SecurityPolicy = &v
11053	return s
11054}
11055
11056type ExportApiInput struct {
11057	_ struct{} `type:"structure"`
11058
11059	// ApiId is a required field
11060	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11061
11062	ExportVersion *string `location:"querystring" locationName:"exportVersion" type:"string"`
11063
11064	IncludeExtensions *bool `location:"querystring" locationName:"includeExtensions" type:"boolean"`
11065
11066	// OutputType is a required field
11067	OutputType *string `location:"querystring" locationName:"outputType" type:"string" required:"true"`
11068
11069	// Specification is a required field
11070	Specification *string `location:"uri" locationName:"specification" type:"string" required:"true"`
11071
11072	StageName *string `location:"querystring" locationName:"stageName" type:"string"`
11073}
11074
11075// String returns the string representation
11076func (s ExportApiInput) String() string {
11077	return awsutil.Prettify(s)
11078}
11079
11080// GoString returns the string representation
11081func (s ExportApiInput) GoString() string {
11082	return s.String()
11083}
11084
11085// Validate inspects the fields of the type to determine if they are valid.
11086func (s *ExportApiInput) Validate() error {
11087	invalidParams := request.ErrInvalidParams{Context: "ExportApiInput"}
11088	if s.ApiId == nil {
11089		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11090	}
11091	if s.ApiId != nil && len(*s.ApiId) < 1 {
11092		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11093	}
11094	if s.OutputType == nil {
11095		invalidParams.Add(request.NewErrParamRequired("OutputType"))
11096	}
11097	if s.Specification == nil {
11098		invalidParams.Add(request.NewErrParamRequired("Specification"))
11099	}
11100	if s.Specification != nil && len(*s.Specification) < 1 {
11101		invalidParams.Add(request.NewErrParamMinLen("Specification", 1))
11102	}
11103
11104	if invalidParams.Len() > 0 {
11105		return invalidParams
11106	}
11107	return nil
11108}
11109
11110// SetApiId sets the ApiId field's value.
11111func (s *ExportApiInput) SetApiId(v string) *ExportApiInput {
11112	s.ApiId = &v
11113	return s
11114}
11115
11116// SetExportVersion sets the ExportVersion field's value.
11117func (s *ExportApiInput) SetExportVersion(v string) *ExportApiInput {
11118	s.ExportVersion = &v
11119	return s
11120}
11121
11122// SetIncludeExtensions sets the IncludeExtensions field's value.
11123func (s *ExportApiInput) SetIncludeExtensions(v bool) *ExportApiInput {
11124	s.IncludeExtensions = &v
11125	return s
11126}
11127
11128// SetOutputType sets the OutputType field's value.
11129func (s *ExportApiInput) SetOutputType(v string) *ExportApiInput {
11130	s.OutputType = &v
11131	return s
11132}
11133
11134// SetSpecification sets the Specification field's value.
11135func (s *ExportApiInput) SetSpecification(v string) *ExportApiInput {
11136	s.Specification = &v
11137	return s
11138}
11139
11140// SetStageName sets the StageName field's value.
11141func (s *ExportApiInput) SetStageName(v string) *ExportApiInput {
11142	s.StageName = &v
11143	return s
11144}
11145
11146type ExportApiOutput struct {
11147	_ struct{} `type:"structure" payload:"Body"`
11148
11149	// Represents an exported definition of an API in a particular output format,
11150	// for example, YAML. The API is serialized to the requested specification,
11151	// for example, OpenAPI 3.0.
11152	Body []byte `locationName:"body" type:"blob"`
11153}
11154
11155// String returns the string representation
11156func (s ExportApiOutput) String() string {
11157	return awsutil.Prettify(s)
11158}
11159
11160// GoString returns the string representation
11161func (s ExportApiOutput) GoString() string {
11162	return s.String()
11163}
11164
11165// SetBody sets the Body field's value.
11166func (s *ExportApiOutput) SetBody(v []byte) *ExportApiOutput {
11167	s.Body = v
11168	return s
11169}
11170
11171type GetApiInput struct {
11172	_ struct{} `type:"structure"`
11173
11174	// ApiId is a required field
11175	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11176}
11177
11178// String returns the string representation
11179func (s GetApiInput) String() string {
11180	return awsutil.Prettify(s)
11181}
11182
11183// GoString returns the string representation
11184func (s GetApiInput) GoString() string {
11185	return s.String()
11186}
11187
11188// Validate inspects the fields of the type to determine if they are valid.
11189func (s *GetApiInput) Validate() error {
11190	invalidParams := request.ErrInvalidParams{Context: "GetApiInput"}
11191	if s.ApiId == nil {
11192		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11193	}
11194	if s.ApiId != nil && len(*s.ApiId) < 1 {
11195		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11196	}
11197
11198	if invalidParams.Len() > 0 {
11199		return invalidParams
11200	}
11201	return nil
11202}
11203
11204// SetApiId sets the ApiId field's value.
11205func (s *GetApiInput) SetApiId(v string) *GetApiInput {
11206	s.ApiId = &v
11207	return s
11208}
11209
11210type GetApiMappingInput struct {
11211	_ struct{} `type:"structure"`
11212
11213	// ApiMappingId is a required field
11214	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
11215
11216	// DomainName is a required field
11217	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
11218}
11219
11220// String returns the string representation
11221func (s GetApiMappingInput) String() string {
11222	return awsutil.Prettify(s)
11223}
11224
11225// GoString returns the string representation
11226func (s GetApiMappingInput) GoString() string {
11227	return s.String()
11228}
11229
11230// Validate inspects the fields of the type to determine if they are valid.
11231func (s *GetApiMappingInput) Validate() error {
11232	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingInput"}
11233	if s.ApiMappingId == nil {
11234		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
11235	}
11236	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
11237		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
11238	}
11239	if s.DomainName == nil {
11240		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11241	}
11242	if s.DomainName != nil && len(*s.DomainName) < 1 {
11243		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
11244	}
11245
11246	if invalidParams.Len() > 0 {
11247		return invalidParams
11248	}
11249	return nil
11250}
11251
11252// SetApiMappingId sets the ApiMappingId field's value.
11253func (s *GetApiMappingInput) SetApiMappingId(v string) *GetApiMappingInput {
11254	s.ApiMappingId = &v
11255	return s
11256}
11257
11258// SetDomainName sets the DomainName field's value.
11259func (s *GetApiMappingInput) SetDomainName(v string) *GetApiMappingInput {
11260	s.DomainName = &v
11261	return s
11262}
11263
11264type GetApiMappingOutput struct {
11265	_ struct{} `type:"structure"`
11266
11267	// The identifier.
11268	ApiId *string `locationName:"apiId" type:"string"`
11269
11270	// The identifier.
11271	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
11272
11273	// After evaluating a selection expression, the result is compared against one
11274	// or more selection keys to find a matching key. See Selection Expressions
11275	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11276	// for a list of expressions and each expression's associated selection key
11277	// type.
11278	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
11279
11280	// A string with a length between [1-128].
11281	Stage *string `locationName:"stage" type:"string"`
11282}
11283
11284// String returns the string representation
11285func (s GetApiMappingOutput) String() string {
11286	return awsutil.Prettify(s)
11287}
11288
11289// GoString returns the string representation
11290func (s GetApiMappingOutput) GoString() string {
11291	return s.String()
11292}
11293
11294// SetApiId sets the ApiId field's value.
11295func (s *GetApiMappingOutput) SetApiId(v string) *GetApiMappingOutput {
11296	s.ApiId = &v
11297	return s
11298}
11299
11300// SetApiMappingId sets the ApiMappingId field's value.
11301func (s *GetApiMappingOutput) SetApiMappingId(v string) *GetApiMappingOutput {
11302	s.ApiMappingId = &v
11303	return s
11304}
11305
11306// SetApiMappingKey sets the ApiMappingKey field's value.
11307func (s *GetApiMappingOutput) SetApiMappingKey(v string) *GetApiMappingOutput {
11308	s.ApiMappingKey = &v
11309	return s
11310}
11311
11312// SetStage sets the Stage field's value.
11313func (s *GetApiMappingOutput) SetStage(v string) *GetApiMappingOutput {
11314	s.Stage = &v
11315	return s
11316}
11317
11318type GetApiMappingsInput struct {
11319	_ struct{} `type:"structure"`
11320
11321	// DomainName is a required field
11322	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
11323
11324	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11325
11326	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11327}
11328
11329// String returns the string representation
11330func (s GetApiMappingsInput) String() string {
11331	return awsutil.Prettify(s)
11332}
11333
11334// GoString returns the string representation
11335func (s GetApiMappingsInput) GoString() string {
11336	return s.String()
11337}
11338
11339// Validate inspects the fields of the type to determine if they are valid.
11340func (s *GetApiMappingsInput) Validate() error {
11341	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingsInput"}
11342	if s.DomainName == nil {
11343		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11344	}
11345	if s.DomainName != nil && len(*s.DomainName) < 1 {
11346		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
11347	}
11348
11349	if invalidParams.Len() > 0 {
11350		return invalidParams
11351	}
11352	return nil
11353}
11354
11355// SetDomainName sets the DomainName field's value.
11356func (s *GetApiMappingsInput) SetDomainName(v string) *GetApiMappingsInput {
11357	s.DomainName = &v
11358	return s
11359}
11360
11361// SetMaxResults sets the MaxResults field's value.
11362func (s *GetApiMappingsInput) SetMaxResults(v string) *GetApiMappingsInput {
11363	s.MaxResults = &v
11364	return s
11365}
11366
11367// SetNextToken sets the NextToken field's value.
11368func (s *GetApiMappingsInput) SetNextToken(v string) *GetApiMappingsInput {
11369	s.NextToken = &v
11370	return s
11371}
11372
11373type GetApiMappingsOutput struct {
11374	_ struct{} `type:"structure"`
11375
11376	Items []*ApiMapping `locationName:"items" type:"list"`
11377
11378	// The next page of elements from this collection. Not valid for the last element
11379	// of the collection.
11380	NextToken *string `locationName:"nextToken" type:"string"`
11381}
11382
11383// String returns the string representation
11384func (s GetApiMappingsOutput) String() string {
11385	return awsutil.Prettify(s)
11386}
11387
11388// GoString returns the string representation
11389func (s GetApiMappingsOutput) GoString() string {
11390	return s.String()
11391}
11392
11393// SetItems sets the Items field's value.
11394func (s *GetApiMappingsOutput) SetItems(v []*ApiMapping) *GetApiMappingsOutput {
11395	s.Items = v
11396	return s
11397}
11398
11399// SetNextToken sets the NextToken field's value.
11400func (s *GetApiMappingsOutput) SetNextToken(v string) *GetApiMappingsOutput {
11401	s.NextToken = &v
11402	return s
11403}
11404
11405type GetApiOutput struct {
11406	_ struct{} `type:"structure"`
11407
11408	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
11409
11410	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
11411
11412	// The identifier.
11413	ApiId *string `locationName:"apiId" type:"string"`
11414
11415	// An expression used to extract information at runtime. See Selection Expressions
11416	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11417	// for more information.
11418	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
11419
11420	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
11421	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
11422	// for more information.
11423	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
11424
11425	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
11426
11427	// A string with a length between [0-1024].
11428	Description *string `locationName:"description" type:"string"`
11429
11430	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
11431
11432	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
11433
11434	ImportInfo []*string `locationName:"importInfo" type:"list"`
11435
11436	// A string with a length between [1-128].
11437	Name *string `locationName:"name" type:"string"`
11438
11439	// Represents a protocol type.
11440	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
11441
11442	// An expression used to extract information at runtime. See Selection Expressions
11443	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11444	// for more information.
11445	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
11446
11447	// Represents a collection of tags associated with the resource.
11448	Tags map[string]*string `locationName:"tags" type:"map"`
11449
11450	// A string with a length between [1-64].
11451	Version *string `locationName:"version" type:"string"`
11452
11453	Warnings []*string `locationName:"warnings" type:"list"`
11454}
11455
11456// String returns the string representation
11457func (s GetApiOutput) String() string {
11458	return awsutil.Prettify(s)
11459}
11460
11461// GoString returns the string representation
11462func (s GetApiOutput) GoString() string {
11463	return s.String()
11464}
11465
11466// SetApiEndpoint sets the ApiEndpoint field's value.
11467func (s *GetApiOutput) SetApiEndpoint(v string) *GetApiOutput {
11468	s.ApiEndpoint = &v
11469	return s
11470}
11471
11472// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
11473func (s *GetApiOutput) SetApiGatewayManaged(v bool) *GetApiOutput {
11474	s.ApiGatewayManaged = &v
11475	return s
11476}
11477
11478// SetApiId sets the ApiId field's value.
11479func (s *GetApiOutput) SetApiId(v string) *GetApiOutput {
11480	s.ApiId = &v
11481	return s
11482}
11483
11484// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
11485func (s *GetApiOutput) SetApiKeySelectionExpression(v string) *GetApiOutput {
11486	s.ApiKeySelectionExpression = &v
11487	return s
11488}
11489
11490// SetCorsConfiguration sets the CorsConfiguration field's value.
11491func (s *GetApiOutput) SetCorsConfiguration(v *Cors) *GetApiOutput {
11492	s.CorsConfiguration = v
11493	return s
11494}
11495
11496// SetCreatedDate sets the CreatedDate field's value.
11497func (s *GetApiOutput) SetCreatedDate(v time.Time) *GetApiOutput {
11498	s.CreatedDate = &v
11499	return s
11500}
11501
11502// SetDescription sets the Description field's value.
11503func (s *GetApiOutput) SetDescription(v string) *GetApiOutput {
11504	s.Description = &v
11505	return s
11506}
11507
11508// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
11509func (s *GetApiOutput) SetDisableExecuteApiEndpoint(v bool) *GetApiOutput {
11510	s.DisableExecuteApiEndpoint = &v
11511	return s
11512}
11513
11514// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
11515func (s *GetApiOutput) SetDisableSchemaValidation(v bool) *GetApiOutput {
11516	s.DisableSchemaValidation = &v
11517	return s
11518}
11519
11520// SetImportInfo sets the ImportInfo field's value.
11521func (s *GetApiOutput) SetImportInfo(v []*string) *GetApiOutput {
11522	s.ImportInfo = v
11523	return s
11524}
11525
11526// SetName sets the Name field's value.
11527func (s *GetApiOutput) SetName(v string) *GetApiOutput {
11528	s.Name = &v
11529	return s
11530}
11531
11532// SetProtocolType sets the ProtocolType field's value.
11533func (s *GetApiOutput) SetProtocolType(v string) *GetApiOutput {
11534	s.ProtocolType = &v
11535	return s
11536}
11537
11538// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
11539func (s *GetApiOutput) SetRouteSelectionExpression(v string) *GetApiOutput {
11540	s.RouteSelectionExpression = &v
11541	return s
11542}
11543
11544// SetTags sets the Tags field's value.
11545func (s *GetApiOutput) SetTags(v map[string]*string) *GetApiOutput {
11546	s.Tags = v
11547	return s
11548}
11549
11550// SetVersion sets the Version field's value.
11551func (s *GetApiOutput) SetVersion(v string) *GetApiOutput {
11552	s.Version = &v
11553	return s
11554}
11555
11556// SetWarnings sets the Warnings field's value.
11557func (s *GetApiOutput) SetWarnings(v []*string) *GetApiOutput {
11558	s.Warnings = v
11559	return s
11560}
11561
11562type GetApisInput struct {
11563	_ struct{} `type:"structure"`
11564
11565	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11566
11567	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11568}
11569
11570// String returns the string representation
11571func (s GetApisInput) String() string {
11572	return awsutil.Prettify(s)
11573}
11574
11575// GoString returns the string representation
11576func (s GetApisInput) GoString() string {
11577	return s.String()
11578}
11579
11580// SetMaxResults sets the MaxResults field's value.
11581func (s *GetApisInput) SetMaxResults(v string) *GetApisInput {
11582	s.MaxResults = &v
11583	return s
11584}
11585
11586// SetNextToken sets the NextToken field's value.
11587func (s *GetApisInput) SetNextToken(v string) *GetApisInput {
11588	s.NextToken = &v
11589	return s
11590}
11591
11592type GetApisOutput struct {
11593	_ struct{} `type:"structure"`
11594
11595	Items []*Api `locationName:"items" type:"list"`
11596
11597	// The next page of elements from this collection. Not valid for the last element
11598	// of the collection.
11599	NextToken *string `locationName:"nextToken" type:"string"`
11600}
11601
11602// String returns the string representation
11603func (s GetApisOutput) String() string {
11604	return awsutil.Prettify(s)
11605}
11606
11607// GoString returns the string representation
11608func (s GetApisOutput) GoString() string {
11609	return s.String()
11610}
11611
11612// SetItems sets the Items field's value.
11613func (s *GetApisOutput) SetItems(v []*Api) *GetApisOutput {
11614	s.Items = v
11615	return s
11616}
11617
11618// SetNextToken sets the NextToken field's value.
11619func (s *GetApisOutput) SetNextToken(v string) *GetApisOutput {
11620	s.NextToken = &v
11621	return s
11622}
11623
11624type GetAuthorizerInput struct {
11625	_ struct{} `type:"structure"`
11626
11627	// ApiId is a required field
11628	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11629
11630	// AuthorizerId is a required field
11631	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
11632}
11633
11634// String returns the string representation
11635func (s GetAuthorizerInput) String() string {
11636	return awsutil.Prettify(s)
11637}
11638
11639// GoString returns the string representation
11640func (s GetAuthorizerInput) GoString() string {
11641	return s.String()
11642}
11643
11644// Validate inspects the fields of the type to determine if they are valid.
11645func (s *GetAuthorizerInput) Validate() error {
11646	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
11647	if s.ApiId == nil {
11648		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11649	}
11650	if s.ApiId != nil && len(*s.ApiId) < 1 {
11651		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11652	}
11653	if s.AuthorizerId == nil {
11654		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
11655	}
11656	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
11657		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
11658	}
11659
11660	if invalidParams.Len() > 0 {
11661		return invalidParams
11662	}
11663	return nil
11664}
11665
11666// SetApiId sets the ApiId field's value.
11667func (s *GetAuthorizerInput) SetApiId(v string) *GetAuthorizerInput {
11668	s.ApiId = &v
11669	return s
11670}
11671
11672// SetAuthorizerId sets the AuthorizerId field's value.
11673func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
11674	s.AuthorizerId = &v
11675	return s
11676}
11677
11678type GetAuthorizerOutput struct {
11679	_ struct{} `type:"structure"`
11680
11681	// Represents an Amazon Resource Name (ARN).
11682	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
11683
11684	// The identifier.
11685	AuthorizerId *string `locationName:"authorizerId" type:"string"`
11686
11687	// A string with a length between [1-64].
11688	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
11689
11690	// An integer with a value between [0-3600].
11691	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
11692
11693	// The authorizer type. Specify REQUEST for a Lambda function using incoming
11694	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
11695	// HTTP APIs).
11696	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
11697
11698	// A string representation of a URI with a length between [1-2048].
11699	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
11700
11701	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
11702
11703	// The identity source for which authorization is requested. For the REQUEST
11704	// authorizer, this is required when authorization caching is enabled. The value
11705	// is a comma-separated string of one or more mapping expressions of the specified
11706	// request parameters. For example, if an Auth header, a Name query string parameter
11707	// are defined as identity sources, this value is $method.request.header.Auth,
11708	// $method.request.querystring.Name. These parameters will be used to derive
11709	// the authorization caching key and to perform runtime validation of the REQUEST
11710	// authorizer by verifying all of the identity-related request parameters are
11711	// present, not null and non-empty. Only when this is true does the authorizer
11712	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
11713	// response without calling the Lambda function. The valid value is a string
11714	// of comma-separated mapping expressions of the specified request parameters.
11715	// When the authorization caching is not enabled, this property is optional.
11716	IdentitySource []*string `locationName:"identitySource" type:"list"`
11717
11718	// A string with a length between [0-1024].
11719	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
11720
11721	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
11722	// type. Supported only for HTTP APIs.
11723	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
11724
11725	// A string with a length between [1-128].
11726	Name *string `locationName:"name" type:"string"`
11727}
11728
11729// String returns the string representation
11730func (s GetAuthorizerOutput) String() string {
11731	return awsutil.Prettify(s)
11732}
11733
11734// GoString returns the string representation
11735func (s GetAuthorizerOutput) GoString() string {
11736	return s.String()
11737}
11738
11739// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
11740func (s *GetAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *GetAuthorizerOutput {
11741	s.AuthorizerCredentialsArn = &v
11742	return s
11743}
11744
11745// SetAuthorizerId sets the AuthorizerId field's value.
11746func (s *GetAuthorizerOutput) SetAuthorizerId(v string) *GetAuthorizerOutput {
11747	s.AuthorizerId = &v
11748	return s
11749}
11750
11751// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
11752func (s *GetAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *GetAuthorizerOutput {
11753	s.AuthorizerPayloadFormatVersion = &v
11754	return s
11755}
11756
11757// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
11758func (s *GetAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *GetAuthorizerOutput {
11759	s.AuthorizerResultTtlInSeconds = &v
11760	return s
11761}
11762
11763// SetAuthorizerType sets the AuthorizerType field's value.
11764func (s *GetAuthorizerOutput) SetAuthorizerType(v string) *GetAuthorizerOutput {
11765	s.AuthorizerType = &v
11766	return s
11767}
11768
11769// SetAuthorizerUri sets the AuthorizerUri field's value.
11770func (s *GetAuthorizerOutput) SetAuthorizerUri(v string) *GetAuthorizerOutput {
11771	s.AuthorizerUri = &v
11772	return s
11773}
11774
11775// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
11776func (s *GetAuthorizerOutput) SetEnableSimpleResponses(v bool) *GetAuthorizerOutput {
11777	s.EnableSimpleResponses = &v
11778	return s
11779}
11780
11781// SetIdentitySource sets the IdentitySource field's value.
11782func (s *GetAuthorizerOutput) SetIdentitySource(v []*string) *GetAuthorizerOutput {
11783	s.IdentitySource = v
11784	return s
11785}
11786
11787// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
11788func (s *GetAuthorizerOutput) SetIdentityValidationExpression(v string) *GetAuthorizerOutput {
11789	s.IdentityValidationExpression = &v
11790	return s
11791}
11792
11793// SetJwtConfiguration sets the JwtConfiguration field's value.
11794func (s *GetAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *GetAuthorizerOutput {
11795	s.JwtConfiguration = v
11796	return s
11797}
11798
11799// SetName sets the Name field's value.
11800func (s *GetAuthorizerOutput) SetName(v string) *GetAuthorizerOutput {
11801	s.Name = &v
11802	return s
11803}
11804
11805type GetAuthorizersInput struct {
11806	_ struct{} `type:"structure"`
11807
11808	// ApiId is a required field
11809	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11810
11811	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11812
11813	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11814}
11815
11816// String returns the string representation
11817func (s GetAuthorizersInput) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation
11822func (s GetAuthorizersInput) GoString() string {
11823	return s.String()
11824}
11825
11826// Validate inspects the fields of the type to determine if they are valid.
11827func (s *GetAuthorizersInput) Validate() error {
11828	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
11829	if s.ApiId == nil {
11830		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11831	}
11832	if s.ApiId != nil && len(*s.ApiId) < 1 {
11833		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11834	}
11835
11836	if invalidParams.Len() > 0 {
11837		return invalidParams
11838	}
11839	return nil
11840}
11841
11842// SetApiId sets the ApiId field's value.
11843func (s *GetAuthorizersInput) SetApiId(v string) *GetAuthorizersInput {
11844	s.ApiId = &v
11845	return s
11846}
11847
11848// SetMaxResults sets the MaxResults field's value.
11849func (s *GetAuthorizersInput) SetMaxResults(v string) *GetAuthorizersInput {
11850	s.MaxResults = &v
11851	return s
11852}
11853
11854// SetNextToken sets the NextToken field's value.
11855func (s *GetAuthorizersInput) SetNextToken(v string) *GetAuthorizersInput {
11856	s.NextToken = &v
11857	return s
11858}
11859
11860type GetAuthorizersOutput struct {
11861	_ struct{} `type:"structure"`
11862
11863	Items []*Authorizer `locationName:"items" type:"list"`
11864
11865	// The next page of elements from this collection. Not valid for the last element
11866	// of the collection.
11867	NextToken *string `locationName:"nextToken" type:"string"`
11868}
11869
11870// String returns the string representation
11871func (s GetAuthorizersOutput) String() string {
11872	return awsutil.Prettify(s)
11873}
11874
11875// GoString returns the string representation
11876func (s GetAuthorizersOutput) GoString() string {
11877	return s.String()
11878}
11879
11880// SetItems sets the Items field's value.
11881func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
11882	s.Items = v
11883	return s
11884}
11885
11886// SetNextToken sets the NextToken field's value.
11887func (s *GetAuthorizersOutput) SetNextToken(v string) *GetAuthorizersOutput {
11888	s.NextToken = &v
11889	return s
11890}
11891
11892type GetDeploymentInput struct {
11893	_ struct{} `type:"structure"`
11894
11895	// ApiId is a required field
11896	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11897
11898	// DeploymentId is a required field
11899	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
11900}
11901
11902// String returns the string representation
11903func (s GetDeploymentInput) String() string {
11904	return awsutil.Prettify(s)
11905}
11906
11907// GoString returns the string representation
11908func (s GetDeploymentInput) GoString() string {
11909	return s.String()
11910}
11911
11912// Validate inspects the fields of the type to determine if they are valid.
11913func (s *GetDeploymentInput) Validate() error {
11914	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
11915	if s.ApiId == nil {
11916		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11917	}
11918	if s.ApiId != nil && len(*s.ApiId) < 1 {
11919		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11920	}
11921	if s.DeploymentId == nil {
11922		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
11923	}
11924	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
11925		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
11926	}
11927
11928	if invalidParams.Len() > 0 {
11929		return invalidParams
11930	}
11931	return nil
11932}
11933
11934// SetApiId sets the ApiId field's value.
11935func (s *GetDeploymentInput) SetApiId(v string) *GetDeploymentInput {
11936	s.ApiId = &v
11937	return s
11938}
11939
11940// SetDeploymentId sets the DeploymentId field's value.
11941func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
11942	s.DeploymentId = &v
11943	return s
11944}
11945
11946type GetDeploymentOutput struct {
11947	_ struct{} `type:"structure"`
11948
11949	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
11950
11951	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
11952
11953	// The identifier.
11954	DeploymentId *string `locationName:"deploymentId" type:"string"`
11955
11956	// Represents a deployment status.
11957	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
11958
11959	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
11960
11961	// A string with a length between [0-1024].
11962	Description *string `locationName:"description" type:"string"`
11963}
11964
11965// String returns the string representation
11966func (s GetDeploymentOutput) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s GetDeploymentOutput) GoString() string {
11972	return s.String()
11973}
11974
11975// SetAutoDeployed sets the AutoDeployed field's value.
11976func (s *GetDeploymentOutput) SetAutoDeployed(v bool) *GetDeploymentOutput {
11977	s.AutoDeployed = &v
11978	return s
11979}
11980
11981// SetCreatedDate sets the CreatedDate field's value.
11982func (s *GetDeploymentOutput) SetCreatedDate(v time.Time) *GetDeploymentOutput {
11983	s.CreatedDate = &v
11984	return s
11985}
11986
11987// SetDeploymentId sets the DeploymentId field's value.
11988func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput {
11989	s.DeploymentId = &v
11990	return s
11991}
11992
11993// SetDeploymentStatus sets the DeploymentStatus field's value.
11994func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput {
11995	s.DeploymentStatus = &v
11996	return s
11997}
11998
11999// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
12000func (s *GetDeploymentOutput) SetDeploymentStatusMessage(v string) *GetDeploymentOutput {
12001	s.DeploymentStatusMessage = &v
12002	return s
12003}
12004
12005// SetDescription sets the Description field's value.
12006func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput {
12007	s.Description = &v
12008	return s
12009}
12010
12011type GetDeploymentsInput struct {
12012	_ struct{} `type:"structure"`
12013
12014	// ApiId is a required field
12015	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12016
12017	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12018
12019	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12020}
12021
12022// String returns the string representation
12023func (s GetDeploymentsInput) String() string {
12024	return awsutil.Prettify(s)
12025}
12026
12027// GoString returns the string representation
12028func (s GetDeploymentsInput) GoString() string {
12029	return s.String()
12030}
12031
12032// Validate inspects the fields of the type to determine if they are valid.
12033func (s *GetDeploymentsInput) Validate() error {
12034	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
12035	if s.ApiId == nil {
12036		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12037	}
12038	if s.ApiId != nil && len(*s.ApiId) < 1 {
12039		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12040	}
12041
12042	if invalidParams.Len() > 0 {
12043		return invalidParams
12044	}
12045	return nil
12046}
12047
12048// SetApiId sets the ApiId field's value.
12049func (s *GetDeploymentsInput) SetApiId(v string) *GetDeploymentsInput {
12050	s.ApiId = &v
12051	return s
12052}
12053
12054// SetMaxResults sets the MaxResults field's value.
12055func (s *GetDeploymentsInput) SetMaxResults(v string) *GetDeploymentsInput {
12056	s.MaxResults = &v
12057	return s
12058}
12059
12060// SetNextToken sets the NextToken field's value.
12061func (s *GetDeploymentsInput) SetNextToken(v string) *GetDeploymentsInput {
12062	s.NextToken = &v
12063	return s
12064}
12065
12066type GetDeploymentsOutput struct {
12067	_ struct{} `type:"structure"`
12068
12069	Items []*Deployment `locationName:"items" type:"list"`
12070
12071	// The next page of elements from this collection. Not valid for the last element
12072	// of the collection.
12073	NextToken *string `locationName:"nextToken" type:"string"`
12074}
12075
12076// String returns the string representation
12077func (s GetDeploymentsOutput) String() string {
12078	return awsutil.Prettify(s)
12079}
12080
12081// GoString returns the string representation
12082func (s GetDeploymentsOutput) GoString() string {
12083	return s.String()
12084}
12085
12086// SetItems sets the Items field's value.
12087func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
12088	s.Items = v
12089	return s
12090}
12091
12092// SetNextToken sets the NextToken field's value.
12093func (s *GetDeploymentsOutput) SetNextToken(v string) *GetDeploymentsOutput {
12094	s.NextToken = &v
12095	return s
12096}
12097
12098type GetDomainNameInput struct {
12099	_ struct{} `type:"structure"`
12100
12101	// DomainName is a required field
12102	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
12103}
12104
12105// String returns the string representation
12106func (s GetDomainNameInput) String() string {
12107	return awsutil.Prettify(s)
12108}
12109
12110// GoString returns the string representation
12111func (s GetDomainNameInput) GoString() string {
12112	return s.String()
12113}
12114
12115// Validate inspects the fields of the type to determine if they are valid.
12116func (s *GetDomainNameInput) Validate() error {
12117	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
12118	if s.DomainName == nil {
12119		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12120	}
12121	if s.DomainName != nil && len(*s.DomainName) < 1 {
12122		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
12123	}
12124
12125	if invalidParams.Len() > 0 {
12126		return invalidParams
12127	}
12128	return nil
12129}
12130
12131// SetDomainName sets the DomainName field's value.
12132func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
12133	s.DomainName = &v
12134	return s
12135}
12136
12137type GetDomainNameOutput struct {
12138	_ struct{} `type:"structure"`
12139
12140	// An expression used to extract information at runtime. See Selection Expressions
12141	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12142	// for more information.
12143	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
12144
12145	// A string with a length between [1-512].
12146	DomainName *string `locationName:"domainName" type:"string"`
12147
12148	// The domain name configurations.
12149	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
12150
12151	// If specified, API Gateway performs two-way authentication between the client
12152	// and the server. Clients must present a trusted certificate to access your
12153	// API.
12154	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
12155
12156	// Represents a collection of tags associated with the resource.
12157	Tags map[string]*string `locationName:"tags" type:"map"`
12158}
12159
12160// String returns the string representation
12161func (s GetDomainNameOutput) String() string {
12162	return awsutil.Prettify(s)
12163}
12164
12165// GoString returns the string representation
12166func (s GetDomainNameOutput) GoString() string {
12167	return s.String()
12168}
12169
12170// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
12171func (s *GetDomainNameOutput) SetApiMappingSelectionExpression(v string) *GetDomainNameOutput {
12172	s.ApiMappingSelectionExpression = &v
12173	return s
12174}
12175
12176// SetDomainName sets the DomainName field's value.
12177func (s *GetDomainNameOutput) SetDomainName(v string) *GetDomainNameOutput {
12178	s.DomainName = &v
12179	return s
12180}
12181
12182// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
12183func (s *GetDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *GetDomainNameOutput {
12184	s.DomainNameConfigurations = v
12185	return s
12186}
12187
12188// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
12189func (s *GetDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *GetDomainNameOutput {
12190	s.MutualTlsAuthentication = v
12191	return s
12192}
12193
12194// SetTags sets the Tags field's value.
12195func (s *GetDomainNameOutput) SetTags(v map[string]*string) *GetDomainNameOutput {
12196	s.Tags = v
12197	return s
12198}
12199
12200type GetDomainNamesInput struct {
12201	_ struct{} `type:"structure"`
12202
12203	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12204
12205	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12206}
12207
12208// String returns the string representation
12209func (s GetDomainNamesInput) String() string {
12210	return awsutil.Prettify(s)
12211}
12212
12213// GoString returns the string representation
12214func (s GetDomainNamesInput) GoString() string {
12215	return s.String()
12216}
12217
12218// SetMaxResults sets the MaxResults field's value.
12219func (s *GetDomainNamesInput) SetMaxResults(v string) *GetDomainNamesInput {
12220	s.MaxResults = &v
12221	return s
12222}
12223
12224// SetNextToken sets the NextToken field's value.
12225func (s *GetDomainNamesInput) SetNextToken(v string) *GetDomainNamesInput {
12226	s.NextToken = &v
12227	return s
12228}
12229
12230type GetDomainNamesOutput struct {
12231	_ struct{} `type:"structure"`
12232
12233	Items []*DomainName `locationName:"items" type:"list"`
12234
12235	// The next page of elements from this collection. Not valid for the last element
12236	// of the collection.
12237	NextToken *string `locationName:"nextToken" type:"string"`
12238}
12239
12240// String returns the string representation
12241func (s GetDomainNamesOutput) String() string {
12242	return awsutil.Prettify(s)
12243}
12244
12245// GoString returns the string representation
12246func (s GetDomainNamesOutput) GoString() string {
12247	return s.String()
12248}
12249
12250// SetItems sets the Items field's value.
12251func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
12252	s.Items = v
12253	return s
12254}
12255
12256// SetNextToken sets the NextToken field's value.
12257func (s *GetDomainNamesOutput) SetNextToken(v string) *GetDomainNamesOutput {
12258	s.NextToken = &v
12259	return s
12260}
12261
12262type GetIntegrationInput struct {
12263	_ struct{} `type:"structure"`
12264
12265	// ApiId is a required field
12266	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12267
12268	// IntegrationId is a required field
12269	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12270}
12271
12272// String returns the string representation
12273func (s GetIntegrationInput) String() string {
12274	return awsutil.Prettify(s)
12275}
12276
12277// GoString returns the string representation
12278func (s GetIntegrationInput) GoString() string {
12279	return s.String()
12280}
12281
12282// Validate inspects the fields of the type to determine if they are valid.
12283func (s *GetIntegrationInput) Validate() error {
12284	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
12285	if s.ApiId == nil {
12286		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12287	}
12288	if s.ApiId != nil && len(*s.ApiId) < 1 {
12289		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12290	}
12291	if s.IntegrationId == nil {
12292		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12293	}
12294	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12295		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12296	}
12297
12298	if invalidParams.Len() > 0 {
12299		return invalidParams
12300	}
12301	return nil
12302}
12303
12304// SetApiId sets the ApiId field's value.
12305func (s *GetIntegrationInput) SetApiId(v string) *GetIntegrationInput {
12306	s.ApiId = &v
12307	return s
12308}
12309
12310// SetIntegrationId sets the IntegrationId field's value.
12311func (s *GetIntegrationInput) SetIntegrationId(v string) *GetIntegrationInput {
12312	s.IntegrationId = &v
12313	return s
12314}
12315
12316type GetIntegrationOutput struct {
12317	_ struct{} `type:"structure"`
12318
12319	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
12320
12321	// A string with a length between [1-1024].
12322	ConnectionId *string `locationName:"connectionId" type:"string"`
12323
12324	// Represents a connection type.
12325	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
12326
12327	// Specifies how to handle response payload content type conversions. Supported
12328	// only for WebSocket APIs.
12329	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
12330
12331	// Represents an Amazon Resource Name (ARN).
12332	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
12333
12334	// A string with a length between [0-1024].
12335	Description *string `locationName:"description" type:"string"`
12336
12337	// The identifier.
12338	IntegrationId *string `locationName:"integrationId" type:"string"`
12339
12340	// A string with a length between [1-64].
12341	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
12342
12343	// An expression used to extract information at runtime. See Selection Expressions
12344	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12345	// for more information.
12346	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
12347
12348	// A string with a length between [1-128].
12349	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
12350
12351	// Represents an API method integration type.
12352	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
12353
12354	// A string representation of a URI with a length between [1-2048].
12355	IntegrationUri *string `locationName:"integrationUri" type:"string"`
12356
12357	// Represents passthrough behavior for an integration response. Supported only
12358	// for WebSocket APIs.
12359	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
12360
12361	// A string with a length between [1-64].
12362	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
12363
12364	// For WebSocket APIs, a key-value map specifying request parameters that are
12365	// passed from the method request to the backend. The key is an integration
12366	// request parameter name and the associated value is a method request parameter
12367	// value or static value that must be enclosed within single quotes and pre-encoded
12368	// as required by the backend. The method request parameter value must match
12369	// the pattern of method.request.{location}.{name} , where {location} is querystring,
12370	// path, or header; and {name} must be a valid and unique method request parameter
12371	// name.
12372	//
12373	// For HTTP API integrations with a specified integrationSubtype, request parameters
12374	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
12375	// You can provide static values, or map request data, stage variables, or context
12376	// variables that are evaluated at runtime. To learn more, see Working with
12377	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
12378	//
12379	// For HTTP API integrations without a specified integrationSubtype request
12380	// parameters are a key-value map specifying how to transform HTTP requests
12381	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
12382	// where action can be append, overwrite or remove. For values, you can provide
12383	// static values, or map request data, stage variables, or context variables
12384	// that are evaluated at runtime. To learn more, see Transforming API requests
12385	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
12386	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
12387
12388	// A mapping of identifier keys to templates. The value is an actual template
12389	// script. The key is typically a SelectionKey which is chosen based on evaluating
12390	// a selection expression.
12391	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
12392
12393	// Supported only for HTTP APIs. You use response parameters to transform the
12394	// HTTP response from a backend integration before returning the response to
12395	// clients.
12396	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
12397
12398	// An expression used to extract information at runtime. See Selection Expressions
12399	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12400	// for more information.
12401	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
12402
12403	// An integer with a value between [50-30000].
12404	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
12405
12406	// The TLS configuration for a private integration. If you specify a TLS configuration,
12407	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
12408	// APIs.
12409	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
12410}
12411
12412// String returns the string representation
12413func (s GetIntegrationOutput) String() string {
12414	return awsutil.Prettify(s)
12415}
12416
12417// GoString returns the string representation
12418func (s GetIntegrationOutput) GoString() string {
12419	return s.String()
12420}
12421
12422// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
12423func (s *GetIntegrationOutput) SetApiGatewayManaged(v bool) *GetIntegrationOutput {
12424	s.ApiGatewayManaged = &v
12425	return s
12426}
12427
12428// SetConnectionId sets the ConnectionId field's value.
12429func (s *GetIntegrationOutput) SetConnectionId(v string) *GetIntegrationOutput {
12430	s.ConnectionId = &v
12431	return s
12432}
12433
12434// SetConnectionType sets the ConnectionType field's value.
12435func (s *GetIntegrationOutput) SetConnectionType(v string) *GetIntegrationOutput {
12436	s.ConnectionType = &v
12437	return s
12438}
12439
12440// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
12441func (s *GetIntegrationOutput) SetContentHandlingStrategy(v string) *GetIntegrationOutput {
12442	s.ContentHandlingStrategy = &v
12443	return s
12444}
12445
12446// SetCredentialsArn sets the CredentialsArn field's value.
12447func (s *GetIntegrationOutput) SetCredentialsArn(v string) *GetIntegrationOutput {
12448	s.CredentialsArn = &v
12449	return s
12450}
12451
12452// SetDescription sets the Description field's value.
12453func (s *GetIntegrationOutput) SetDescription(v string) *GetIntegrationOutput {
12454	s.Description = &v
12455	return s
12456}
12457
12458// SetIntegrationId sets the IntegrationId field's value.
12459func (s *GetIntegrationOutput) SetIntegrationId(v string) *GetIntegrationOutput {
12460	s.IntegrationId = &v
12461	return s
12462}
12463
12464// SetIntegrationMethod sets the IntegrationMethod field's value.
12465func (s *GetIntegrationOutput) SetIntegrationMethod(v string) *GetIntegrationOutput {
12466	s.IntegrationMethod = &v
12467	return s
12468}
12469
12470// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
12471func (s *GetIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *GetIntegrationOutput {
12472	s.IntegrationResponseSelectionExpression = &v
12473	return s
12474}
12475
12476// SetIntegrationSubtype sets the IntegrationSubtype field's value.
12477func (s *GetIntegrationOutput) SetIntegrationSubtype(v string) *GetIntegrationOutput {
12478	s.IntegrationSubtype = &v
12479	return s
12480}
12481
12482// SetIntegrationType sets the IntegrationType field's value.
12483func (s *GetIntegrationOutput) SetIntegrationType(v string) *GetIntegrationOutput {
12484	s.IntegrationType = &v
12485	return s
12486}
12487
12488// SetIntegrationUri sets the IntegrationUri field's value.
12489func (s *GetIntegrationOutput) SetIntegrationUri(v string) *GetIntegrationOutput {
12490	s.IntegrationUri = &v
12491	return s
12492}
12493
12494// SetPassthroughBehavior sets the PassthroughBehavior field's value.
12495func (s *GetIntegrationOutput) SetPassthroughBehavior(v string) *GetIntegrationOutput {
12496	s.PassthroughBehavior = &v
12497	return s
12498}
12499
12500// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
12501func (s *GetIntegrationOutput) SetPayloadFormatVersion(v string) *GetIntegrationOutput {
12502	s.PayloadFormatVersion = &v
12503	return s
12504}
12505
12506// SetRequestParameters sets the RequestParameters field's value.
12507func (s *GetIntegrationOutput) SetRequestParameters(v map[string]*string) *GetIntegrationOutput {
12508	s.RequestParameters = v
12509	return s
12510}
12511
12512// SetRequestTemplates sets the RequestTemplates field's value.
12513func (s *GetIntegrationOutput) SetRequestTemplates(v map[string]*string) *GetIntegrationOutput {
12514	s.RequestTemplates = v
12515	return s
12516}
12517
12518// SetResponseParameters sets the ResponseParameters field's value.
12519func (s *GetIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *GetIntegrationOutput {
12520	s.ResponseParameters = v
12521	return s
12522}
12523
12524// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
12525func (s *GetIntegrationOutput) SetTemplateSelectionExpression(v string) *GetIntegrationOutput {
12526	s.TemplateSelectionExpression = &v
12527	return s
12528}
12529
12530// SetTimeoutInMillis sets the TimeoutInMillis field's value.
12531func (s *GetIntegrationOutput) SetTimeoutInMillis(v int64) *GetIntegrationOutput {
12532	s.TimeoutInMillis = &v
12533	return s
12534}
12535
12536// SetTlsConfig sets the TlsConfig field's value.
12537func (s *GetIntegrationOutput) SetTlsConfig(v *TlsConfig) *GetIntegrationOutput {
12538	s.TlsConfig = v
12539	return s
12540}
12541
12542type GetIntegrationResponseInput struct {
12543	_ struct{} `type:"structure"`
12544
12545	// ApiId is a required field
12546	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12547
12548	// IntegrationId is a required field
12549	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12550
12551	// IntegrationResponseId is a required field
12552	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
12553}
12554
12555// String returns the string representation
12556func (s GetIntegrationResponseInput) String() string {
12557	return awsutil.Prettify(s)
12558}
12559
12560// GoString returns the string representation
12561func (s GetIntegrationResponseInput) GoString() string {
12562	return s.String()
12563}
12564
12565// Validate inspects the fields of the type to determine if they are valid.
12566func (s *GetIntegrationResponseInput) Validate() error {
12567	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
12568	if s.ApiId == nil {
12569		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12570	}
12571	if s.ApiId != nil && len(*s.ApiId) < 1 {
12572		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12573	}
12574	if s.IntegrationId == nil {
12575		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12576	}
12577	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12578		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12579	}
12580	if s.IntegrationResponseId == nil {
12581		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
12582	}
12583	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
12584		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
12585	}
12586
12587	if invalidParams.Len() > 0 {
12588		return invalidParams
12589	}
12590	return nil
12591}
12592
12593// SetApiId sets the ApiId field's value.
12594func (s *GetIntegrationResponseInput) SetApiId(v string) *GetIntegrationResponseInput {
12595	s.ApiId = &v
12596	return s
12597}
12598
12599// SetIntegrationId sets the IntegrationId field's value.
12600func (s *GetIntegrationResponseInput) SetIntegrationId(v string) *GetIntegrationResponseInput {
12601	s.IntegrationId = &v
12602	return s
12603}
12604
12605// SetIntegrationResponseId sets the IntegrationResponseId field's value.
12606func (s *GetIntegrationResponseInput) SetIntegrationResponseId(v string) *GetIntegrationResponseInput {
12607	s.IntegrationResponseId = &v
12608	return s
12609}
12610
12611type GetIntegrationResponseOutput struct {
12612	_ struct{} `type:"structure"`
12613
12614	// Specifies how to handle response payload content type conversions. Supported
12615	// only for WebSocket APIs.
12616	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
12617
12618	// The identifier.
12619	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
12620
12621	// After evaluating a selection expression, the result is compared against one
12622	// or more selection keys to find a matching key. See Selection Expressions
12623	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12624	// for a list of expressions and each expression's associated selection key
12625	// type.
12626	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
12627
12628	// For WebSocket APIs, a key-value map specifying request parameters that are
12629	// passed from the method request to the backend. The key is an integration
12630	// request parameter name and the associated value is a method request parameter
12631	// value or static value that must be enclosed within single quotes and pre-encoded
12632	// as required by the backend. The method request parameter value must match
12633	// the pattern of method.request.{location}.{name} , where {location} is querystring,
12634	// path, or header; and {name} must be a valid and unique method request parameter
12635	// name.
12636	//
12637	// For HTTP API integrations with a specified integrationSubtype, request parameters
12638	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
12639	// You can provide static values, or map request data, stage variables, or context
12640	// variables that are evaluated at runtime. To learn more, see Working with
12641	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
12642	//
12643	// For HTTP API integrations without a specified integrationSubtype request
12644	// parameters are a key-value map specifying how to transform HTTP requests
12645	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
12646	// where action can be append, overwrite or remove. For values, you can provide
12647	// static values, or map request data, stage variables, or context variables
12648	// that are evaluated at runtime. To learn more, see Transforming API requests
12649	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
12650	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
12651
12652	// A mapping of identifier keys to templates. The value is an actual template
12653	// script. The key is typically a SelectionKey which is chosen based on evaluating
12654	// a selection expression.
12655	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
12656
12657	// An expression used to extract information at runtime. See Selection Expressions
12658	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12659	// for more information.
12660	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
12661}
12662
12663// String returns the string representation
12664func (s GetIntegrationResponseOutput) String() string {
12665	return awsutil.Prettify(s)
12666}
12667
12668// GoString returns the string representation
12669func (s GetIntegrationResponseOutput) GoString() string {
12670	return s.String()
12671}
12672
12673// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
12674func (s *GetIntegrationResponseOutput) SetContentHandlingStrategy(v string) *GetIntegrationResponseOutput {
12675	s.ContentHandlingStrategy = &v
12676	return s
12677}
12678
12679// SetIntegrationResponseId sets the IntegrationResponseId field's value.
12680func (s *GetIntegrationResponseOutput) SetIntegrationResponseId(v string) *GetIntegrationResponseOutput {
12681	s.IntegrationResponseId = &v
12682	return s
12683}
12684
12685// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
12686func (s *GetIntegrationResponseOutput) SetIntegrationResponseKey(v string) *GetIntegrationResponseOutput {
12687	s.IntegrationResponseKey = &v
12688	return s
12689}
12690
12691// SetResponseParameters sets the ResponseParameters field's value.
12692func (s *GetIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *GetIntegrationResponseOutput {
12693	s.ResponseParameters = v
12694	return s
12695}
12696
12697// SetResponseTemplates sets the ResponseTemplates field's value.
12698func (s *GetIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *GetIntegrationResponseOutput {
12699	s.ResponseTemplates = v
12700	return s
12701}
12702
12703// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
12704func (s *GetIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *GetIntegrationResponseOutput {
12705	s.TemplateSelectionExpression = &v
12706	return s
12707}
12708
12709type GetIntegrationResponsesInput struct {
12710	_ struct{} `type:"structure"`
12711
12712	// ApiId is a required field
12713	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12714
12715	// IntegrationId is a required field
12716	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12717
12718	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12719
12720	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12721}
12722
12723// String returns the string representation
12724func (s GetIntegrationResponsesInput) String() string {
12725	return awsutil.Prettify(s)
12726}
12727
12728// GoString returns the string representation
12729func (s GetIntegrationResponsesInput) GoString() string {
12730	return s.String()
12731}
12732
12733// Validate inspects the fields of the type to determine if they are valid.
12734func (s *GetIntegrationResponsesInput) Validate() error {
12735	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponsesInput"}
12736	if s.ApiId == nil {
12737		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12738	}
12739	if s.ApiId != nil && len(*s.ApiId) < 1 {
12740		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12741	}
12742	if s.IntegrationId == nil {
12743		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12744	}
12745	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12746		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12747	}
12748
12749	if invalidParams.Len() > 0 {
12750		return invalidParams
12751	}
12752	return nil
12753}
12754
12755// SetApiId sets the ApiId field's value.
12756func (s *GetIntegrationResponsesInput) SetApiId(v string) *GetIntegrationResponsesInput {
12757	s.ApiId = &v
12758	return s
12759}
12760
12761// SetIntegrationId sets the IntegrationId field's value.
12762func (s *GetIntegrationResponsesInput) SetIntegrationId(v string) *GetIntegrationResponsesInput {
12763	s.IntegrationId = &v
12764	return s
12765}
12766
12767// SetMaxResults sets the MaxResults field's value.
12768func (s *GetIntegrationResponsesInput) SetMaxResults(v string) *GetIntegrationResponsesInput {
12769	s.MaxResults = &v
12770	return s
12771}
12772
12773// SetNextToken sets the NextToken field's value.
12774func (s *GetIntegrationResponsesInput) SetNextToken(v string) *GetIntegrationResponsesInput {
12775	s.NextToken = &v
12776	return s
12777}
12778
12779type GetIntegrationResponsesOutput struct {
12780	_ struct{} `type:"structure"`
12781
12782	Items []*IntegrationResponse `locationName:"items" type:"list"`
12783
12784	// The next page of elements from this collection. Not valid for the last element
12785	// of the collection.
12786	NextToken *string `locationName:"nextToken" type:"string"`
12787}
12788
12789// String returns the string representation
12790func (s GetIntegrationResponsesOutput) String() string {
12791	return awsutil.Prettify(s)
12792}
12793
12794// GoString returns the string representation
12795func (s GetIntegrationResponsesOutput) GoString() string {
12796	return s.String()
12797}
12798
12799// SetItems sets the Items field's value.
12800func (s *GetIntegrationResponsesOutput) SetItems(v []*IntegrationResponse) *GetIntegrationResponsesOutput {
12801	s.Items = v
12802	return s
12803}
12804
12805// SetNextToken sets the NextToken field's value.
12806func (s *GetIntegrationResponsesOutput) SetNextToken(v string) *GetIntegrationResponsesOutput {
12807	s.NextToken = &v
12808	return s
12809}
12810
12811type GetIntegrationsInput struct {
12812	_ struct{} `type:"structure"`
12813
12814	// ApiId is a required field
12815	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12816
12817	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12818
12819	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12820}
12821
12822// String returns the string representation
12823func (s GetIntegrationsInput) String() string {
12824	return awsutil.Prettify(s)
12825}
12826
12827// GoString returns the string representation
12828func (s GetIntegrationsInput) GoString() string {
12829	return s.String()
12830}
12831
12832// Validate inspects the fields of the type to determine if they are valid.
12833func (s *GetIntegrationsInput) Validate() error {
12834	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationsInput"}
12835	if s.ApiId == nil {
12836		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12837	}
12838	if s.ApiId != nil && len(*s.ApiId) < 1 {
12839		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12840	}
12841
12842	if invalidParams.Len() > 0 {
12843		return invalidParams
12844	}
12845	return nil
12846}
12847
12848// SetApiId sets the ApiId field's value.
12849func (s *GetIntegrationsInput) SetApiId(v string) *GetIntegrationsInput {
12850	s.ApiId = &v
12851	return s
12852}
12853
12854// SetMaxResults sets the MaxResults field's value.
12855func (s *GetIntegrationsInput) SetMaxResults(v string) *GetIntegrationsInput {
12856	s.MaxResults = &v
12857	return s
12858}
12859
12860// SetNextToken sets the NextToken field's value.
12861func (s *GetIntegrationsInput) SetNextToken(v string) *GetIntegrationsInput {
12862	s.NextToken = &v
12863	return s
12864}
12865
12866type GetIntegrationsOutput struct {
12867	_ struct{} `type:"structure"`
12868
12869	Items []*Integration `locationName:"items" type:"list"`
12870
12871	// The next page of elements from this collection. Not valid for the last element
12872	// of the collection.
12873	NextToken *string `locationName:"nextToken" type:"string"`
12874}
12875
12876// String returns the string representation
12877func (s GetIntegrationsOutput) String() string {
12878	return awsutil.Prettify(s)
12879}
12880
12881// GoString returns the string representation
12882func (s GetIntegrationsOutput) GoString() string {
12883	return s.String()
12884}
12885
12886// SetItems sets the Items field's value.
12887func (s *GetIntegrationsOutput) SetItems(v []*Integration) *GetIntegrationsOutput {
12888	s.Items = v
12889	return s
12890}
12891
12892// SetNextToken sets the NextToken field's value.
12893func (s *GetIntegrationsOutput) SetNextToken(v string) *GetIntegrationsOutput {
12894	s.NextToken = &v
12895	return s
12896}
12897
12898type GetModelInput struct {
12899	_ struct{} `type:"structure"`
12900
12901	// ApiId is a required field
12902	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12903
12904	// ModelId is a required field
12905	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
12906}
12907
12908// String returns the string representation
12909func (s GetModelInput) String() string {
12910	return awsutil.Prettify(s)
12911}
12912
12913// GoString returns the string representation
12914func (s GetModelInput) GoString() string {
12915	return s.String()
12916}
12917
12918// Validate inspects the fields of the type to determine if they are valid.
12919func (s *GetModelInput) Validate() error {
12920	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
12921	if s.ApiId == nil {
12922		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12923	}
12924	if s.ApiId != nil && len(*s.ApiId) < 1 {
12925		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12926	}
12927	if s.ModelId == nil {
12928		invalidParams.Add(request.NewErrParamRequired("ModelId"))
12929	}
12930	if s.ModelId != nil && len(*s.ModelId) < 1 {
12931		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
12932	}
12933
12934	if invalidParams.Len() > 0 {
12935		return invalidParams
12936	}
12937	return nil
12938}
12939
12940// SetApiId sets the ApiId field's value.
12941func (s *GetModelInput) SetApiId(v string) *GetModelInput {
12942	s.ApiId = &v
12943	return s
12944}
12945
12946// SetModelId sets the ModelId field's value.
12947func (s *GetModelInput) SetModelId(v string) *GetModelInput {
12948	s.ModelId = &v
12949	return s
12950}
12951
12952type GetModelOutput struct {
12953	_ struct{} `type:"structure"`
12954
12955	// A string with a length between [1-256].
12956	ContentType *string `locationName:"contentType" type:"string"`
12957
12958	// A string with a length between [0-1024].
12959	Description *string `locationName:"description" type:"string"`
12960
12961	// The identifier.
12962	ModelId *string `locationName:"modelId" type:"string"`
12963
12964	// A string with a length between [1-128].
12965	Name *string `locationName:"name" type:"string"`
12966
12967	// A string with a length between [0-32768].
12968	Schema *string `locationName:"schema" type:"string"`
12969}
12970
12971// String returns the string representation
12972func (s GetModelOutput) String() string {
12973	return awsutil.Prettify(s)
12974}
12975
12976// GoString returns the string representation
12977func (s GetModelOutput) GoString() string {
12978	return s.String()
12979}
12980
12981// SetContentType sets the ContentType field's value.
12982func (s *GetModelOutput) SetContentType(v string) *GetModelOutput {
12983	s.ContentType = &v
12984	return s
12985}
12986
12987// SetDescription sets the Description field's value.
12988func (s *GetModelOutput) SetDescription(v string) *GetModelOutput {
12989	s.Description = &v
12990	return s
12991}
12992
12993// SetModelId sets the ModelId field's value.
12994func (s *GetModelOutput) SetModelId(v string) *GetModelOutput {
12995	s.ModelId = &v
12996	return s
12997}
12998
12999// SetName sets the Name field's value.
13000func (s *GetModelOutput) SetName(v string) *GetModelOutput {
13001	s.Name = &v
13002	return s
13003}
13004
13005// SetSchema sets the Schema field's value.
13006func (s *GetModelOutput) SetSchema(v string) *GetModelOutput {
13007	s.Schema = &v
13008	return s
13009}
13010
13011type GetModelTemplateInput struct {
13012	_ struct{} `type:"structure"`
13013
13014	// ApiId is a required field
13015	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13016
13017	// ModelId is a required field
13018	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
13019}
13020
13021// String returns the string representation
13022func (s GetModelTemplateInput) String() string {
13023	return awsutil.Prettify(s)
13024}
13025
13026// GoString returns the string representation
13027func (s GetModelTemplateInput) GoString() string {
13028	return s.String()
13029}
13030
13031// Validate inspects the fields of the type to determine if they are valid.
13032func (s *GetModelTemplateInput) Validate() error {
13033	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
13034	if s.ApiId == nil {
13035		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13036	}
13037	if s.ApiId != nil && len(*s.ApiId) < 1 {
13038		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13039	}
13040	if s.ModelId == nil {
13041		invalidParams.Add(request.NewErrParamRequired("ModelId"))
13042	}
13043	if s.ModelId != nil && len(*s.ModelId) < 1 {
13044		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
13045	}
13046
13047	if invalidParams.Len() > 0 {
13048		return invalidParams
13049	}
13050	return nil
13051}
13052
13053// SetApiId sets the ApiId field's value.
13054func (s *GetModelTemplateInput) SetApiId(v string) *GetModelTemplateInput {
13055	s.ApiId = &v
13056	return s
13057}
13058
13059// SetModelId sets the ModelId field's value.
13060func (s *GetModelTemplateInput) SetModelId(v string) *GetModelTemplateInput {
13061	s.ModelId = &v
13062	return s
13063}
13064
13065type GetModelTemplateOutput struct {
13066	_ struct{} `type:"structure"`
13067
13068	Value *string `locationName:"value" type:"string"`
13069}
13070
13071// String returns the string representation
13072func (s GetModelTemplateOutput) String() string {
13073	return awsutil.Prettify(s)
13074}
13075
13076// GoString returns the string representation
13077func (s GetModelTemplateOutput) GoString() string {
13078	return s.String()
13079}
13080
13081// SetValue sets the Value field's value.
13082func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
13083	s.Value = &v
13084	return s
13085}
13086
13087type GetModelsInput struct {
13088	_ struct{} `type:"structure"`
13089
13090	// ApiId is a required field
13091	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13092
13093	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13094
13095	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13096}
13097
13098// String returns the string representation
13099func (s GetModelsInput) String() string {
13100	return awsutil.Prettify(s)
13101}
13102
13103// GoString returns the string representation
13104func (s GetModelsInput) GoString() string {
13105	return s.String()
13106}
13107
13108// Validate inspects the fields of the type to determine if they are valid.
13109func (s *GetModelsInput) Validate() error {
13110	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
13111	if s.ApiId == nil {
13112		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13113	}
13114	if s.ApiId != nil && len(*s.ApiId) < 1 {
13115		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13116	}
13117
13118	if invalidParams.Len() > 0 {
13119		return invalidParams
13120	}
13121	return nil
13122}
13123
13124// SetApiId sets the ApiId field's value.
13125func (s *GetModelsInput) SetApiId(v string) *GetModelsInput {
13126	s.ApiId = &v
13127	return s
13128}
13129
13130// SetMaxResults sets the MaxResults field's value.
13131func (s *GetModelsInput) SetMaxResults(v string) *GetModelsInput {
13132	s.MaxResults = &v
13133	return s
13134}
13135
13136// SetNextToken sets the NextToken field's value.
13137func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput {
13138	s.NextToken = &v
13139	return s
13140}
13141
13142type GetModelsOutput struct {
13143	_ struct{} `type:"structure"`
13144
13145	Items []*Model `locationName:"items" type:"list"`
13146
13147	// The next page of elements from this collection. Not valid for the last element
13148	// of the collection.
13149	NextToken *string `locationName:"nextToken" type:"string"`
13150}
13151
13152// String returns the string representation
13153func (s GetModelsOutput) String() string {
13154	return awsutil.Prettify(s)
13155}
13156
13157// GoString returns the string representation
13158func (s GetModelsOutput) GoString() string {
13159	return s.String()
13160}
13161
13162// SetItems sets the Items field's value.
13163func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
13164	s.Items = v
13165	return s
13166}
13167
13168// SetNextToken sets the NextToken field's value.
13169func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput {
13170	s.NextToken = &v
13171	return s
13172}
13173
13174type GetRouteInput struct {
13175	_ struct{} `type:"structure"`
13176
13177	// ApiId is a required field
13178	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13179
13180	// RouteId is a required field
13181	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13182}
13183
13184// String returns the string representation
13185func (s GetRouteInput) String() string {
13186	return awsutil.Prettify(s)
13187}
13188
13189// GoString returns the string representation
13190func (s GetRouteInput) GoString() string {
13191	return s.String()
13192}
13193
13194// Validate inspects the fields of the type to determine if they are valid.
13195func (s *GetRouteInput) Validate() error {
13196	invalidParams := request.ErrInvalidParams{Context: "GetRouteInput"}
13197	if s.ApiId == nil {
13198		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13199	}
13200	if s.ApiId != nil && len(*s.ApiId) < 1 {
13201		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13202	}
13203	if s.RouteId == nil {
13204		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13205	}
13206	if s.RouteId != nil && len(*s.RouteId) < 1 {
13207		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13208	}
13209
13210	if invalidParams.Len() > 0 {
13211		return invalidParams
13212	}
13213	return nil
13214}
13215
13216// SetApiId sets the ApiId field's value.
13217func (s *GetRouteInput) SetApiId(v string) *GetRouteInput {
13218	s.ApiId = &v
13219	return s
13220}
13221
13222// SetRouteId sets the RouteId field's value.
13223func (s *GetRouteInput) SetRouteId(v string) *GetRouteInput {
13224	s.RouteId = &v
13225	return s
13226}
13227
13228type GetRouteOutput struct {
13229	_ struct{} `type:"structure"`
13230
13231	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
13232
13233	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
13234
13235	// A list of authorization scopes configured on a route. The scopes are used
13236	// with a JWT authorizer to authorize the method invocation. The authorization
13237	// works by matching the route scopes against the scopes parsed from the access
13238	// token in the incoming request. The method invocation is authorized if any
13239	// route scope matches a claimed scope in the access token. Otherwise, the invocation
13240	// is not authorized. When the route scope is configured, the client must provide
13241	// an access token instead of an identity token for authorization purposes.
13242	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
13243
13244	// The authorization type. For WebSocket APIs, valid values are NONE for open
13245	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
13246	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
13247	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
13248	// for using a Lambda authorizer.
13249	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
13250
13251	// The identifier.
13252	AuthorizerId *string `locationName:"authorizerId" type:"string"`
13253
13254	// An expression used to extract information at runtime. See Selection Expressions
13255	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13256	// for more information.
13257	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
13258
13259	// A string with a length between [1-64].
13260	OperationName *string `locationName:"operationName" type:"string"`
13261
13262	// The route models.
13263	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
13264
13265	// The route parameters.
13266	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
13267
13268	// The identifier.
13269	RouteId *string `locationName:"routeId" type:"string"`
13270
13271	// After evaluating a selection expression, the result is compared against one
13272	// or more selection keys to find a matching key. See Selection Expressions
13273	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13274	// for a list of expressions and each expression's associated selection key
13275	// type.
13276	RouteKey *string `locationName:"routeKey" type:"string"`
13277
13278	// An expression used to extract information at runtime. See Selection Expressions
13279	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13280	// for more information.
13281	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
13282
13283	// A string with a length between [1-128].
13284	Target *string `locationName:"target" type:"string"`
13285}
13286
13287// String returns the string representation
13288func (s GetRouteOutput) String() string {
13289	return awsutil.Prettify(s)
13290}
13291
13292// GoString returns the string representation
13293func (s GetRouteOutput) GoString() string {
13294	return s.String()
13295}
13296
13297// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
13298func (s *GetRouteOutput) SetApiGatewayManaged(v bool) *GetRouteOutput {
13299	s.ApiGatewayManaged = &v
13300	return s
13301}
13302
13303// SetApiKeyRequired sets the ApiKeyRequired field's value.
13304func (s *GetRouteOutput) SetApiKeyRequired(v bool) *GetRouteOutput {
13305	s.ApiKeyRequired = &v
13306	return s
13307}
13308
13309// SetAuthorizationScopes sets the AuthorizationScopes field's value.
13310func (s *GetRouteOutput) SetAuthorizationScopes(v []*string) *GetRouteOutput {
13311	s.AuthorizationScopes = v
13312	return s
13313}
13314
13315// SetAuthorizationType sets the AuthorizationType field's value.
13316func (s *GetRouteOutput) SetAuthorizationType(v string) *GetRouteOutput {
13317	s.AuthorizationType = &v
13318	return s
13319}
13320
13321// SetAuthorizerId sets the AuthorizerId field's value.
13322func (s *GetRouteOutput) SetAuthorizerId(v string) *GetRouteOutput {
13323	s.AuthorizerId = &v
13324	return s
13325}
13326
13327// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
13328func (s *GetRouteOutput) SetModelSelectionExpression(v string) *GetRouteOutput {
13329	s.ModelSelectionExpression = &v
13330	return s
13331}
13332
13333// SetOperationName sets the OperationName field's value.
13334func (s *GetRouteOutput) SetOperationName(v string) *GetRouteOutput {
13335	s.OperationName = &v
13336	return s
13337}
13338
13339// SetRequestModels sets the RequestModels field's value.
13340func (s *GetRouteOutput) SetRequestModels(v map[string]*string) *GetRouteOutput {
13341	s.RequestModels = v
13342	return s
13343}
13344
13345// SetRequestParameters sets the RequestParameters field's value.
13346func (s *GetRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *GetRouteOutput {
13347	s.RequestParameters = v
13348	return s
13349}
13350
13351// SetRouteId sets the RouteId field's value.
13352func (s *GetRouteOutput) SetRouteId(v string) *GetRouteOutput {
13353	s.RouteId = &v
13354	return s
13355}
13356
13357// SetRouteKey sets the RouteKey field's value.
13358func (s *GetRouteOutput) SetRouteKey(v string) *GetRouteOutput {
13359	s.RouteKey = &v
13360	return s
13361}
13362
13363// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
13364func (s *GetRouteOutput) SetRouteResponseSelectionExpression(v string) *GetRouteOutput {
13365	s.RouteResponseSelectionExpression = &v
13366	return s
13367}
13368
13369// SetTarget sets the Target field's value.
13370func (s *GetRouteOutput) SetTarget(v string) *GetRouteOutput {
13371	s.Target = &v
13372	return s
13373}
13374
13375type GetRouteResponseInput struct {
13376	_ struct{} `type:"structure"`
13377
13378	// ApiId is a required field
13379	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13380
13381	// RouteId is a required field
13382	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13383
13384	// RouteResponseId is a required field
13385	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
13386}
13387
13388// String returns the string representation
13389func (s GetRouteResponseInput) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s GetRouteResponseInput) GoString() string {
13395	return s.String()
13396}
13397
13398// Validate inspects the fields of the type to determine if they are valid.
13399func (s *GetRouteResponseInput) Validate() error {
13400	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponseInput"}
13401	if s.ApiId == nil {
13402		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13403	}
13404	if s.ApiId != nil && len(*s.ApiId) < 1 {
13405		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13406	}
13407	if s.RouteId == nil {
13408		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13409	}
13410	if s.RouteId != nil && len(*s.RouteId) < 1 {
13411		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13412	}
13413	if s.RouteResponseId == nil {
13414		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
13415	}
13416	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
13417		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
13418	}
13419
13420	if invalidParams.Len() > 0 {
13421		return invalidParams
13422	}
13423	return nil
13424}
13425
13426// SetApiId sets the ApiId field's value.
13427func (s *GetRouteResponseInput) SetApiId(v string) *GetRouteResponseInput {
13428	s.ApiId = &v
13429	return s
13430}
13431
13432// SetRouteId sets the RouteId field's value.
13433func (s *GetRouteResponseInput) SetRouteId(v string) *GetRouteResponseInput {
13434	s.RouteId = &v
13435	return s
13436}
13437
13438// SetRouteResponseId sets the RouteResponseId field's value.
13439func (s *GetRouteResponseInput) SetRouteResponseId(v string) *GetRouteResponseInput {
13440	s.RouteResponseId = &v
13441	return s
13442}
13443
13444type GetRouteResponseOutput struct {
13445	_ struct{} `type:"structure"`
13446
13447	// An expression used to extract information at runtime. See Selection Expressions
13448	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13449	// for more information.
13450	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
13451
13452	// The route models.
13453	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
13454
13455	// The route parameters.
13456	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
13457
13458	// The identifier.
13459	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
13460
13461	// After evaluating a selection expression, the result is compared against one
13462	// or more selection keys to find a matching key. See Selection Expressions
13463	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13464	// for a list of expressions and each expression's associated selection key
13465	// type.
13466	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
13467}
13468
13469// String returns the string representation
13470func (s GetRouteResponseOutput) String() string {
13471	return awsutil.Prettify(s)
13472}
13473
13474// GoString returns the string representation
13475func (s GetRouteResponseOutput) GoString() string {
13476	return s.String()
13477}
13478
13479// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
13480func (s *GetRouteResponseOutput) SetModelSelectionExpression(v string) *GetRouteResponseOutput {
13481	s.ModelSelectionExpression = &v
13482	return s
13483}
13484
13485// SetResponseModels sets the ResponseModels field's value.
13486func (s *GetRouteResponseOutput) SetResponseModels(v map[string]*string) *GetRouteResponseOutput {
13487	s.ResponseModels = v
13488	return s
13489}
13490
13491// SetResponseParameters sets the ResponseParameters field's value.
13492func (s *GetRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *GetRouteResponseOutput {
13493	s.ResponseParameters = v
13494	return s
13495}
13496
13497// SetRouteResponseId sets the RouteResponseId field's value.
13498func (s *GetRouteResponseOutput) SetRouteResponseId(v string) *GetRouteResponseOutput {
13499	s.RouteResponseId = &v
13500	return s
13501}
13502
13503// SetRouteResponseKey sets the RouteResponseKey field's value.
13504func (s *GetRouteResponseOutput) SetRouteResponseKey(v string) *GetRouteResponseOutput {
13505	s.RouteResponseKey = &v
13506	return s
13507}
13508
13509type GetRouteResponsesInput struct {
13510	_ struct{} `type:"structure"`
13511
13512	// ApiId is a required field
13513	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13514
13515	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13516
13517	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13518
13519	// RouteId is a required field
13520	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13521}
13522
13523// String returns the string representation
13524func (s GetRouteResponsesInput) String() string {
13525	return awsutil.Prettify(s)
13526}
13527
13528// GoString returns the string representation
13529func (s GetRouteResponsesInput) GoString() string {
13530	return s.String()
13531}
13532
13533// Validate inspects the fields of the type to determine if they are valid.
13534func (s *GetRouteResponsesInput) Validate() error {
13535	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponsesInput"}
13536	if s.ApiId == nil {
13537		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13538	}
13539	if s.ApiId != nil && len(*s.ApiId) < 1 {
13540		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13541	}
13542	if s.RouteId == nil {
13543		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13544	}
13545	if s.RouteId != nil && len(*s.RouteId) < 1 {
13546		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13547	}
13548
13549	if invalidParams.Len() > 0 {
13550		return invalidParams
13551	}
13552	return nil
13553}
13554
13555// SetApiId sets the ApiId field's value.
13556func (s *GetRouteResponsesInput) SetApiId(v string) *GetRouteResponsesInput {
13557	s.ApiId = &v
13558	return s
13559}
13560
13561// SetMaxResults sets the MaxResults field's value.
13562func (s *GetRouteResponsesInput) SetMaxResults(v string) *GetRouteResponsesInput {
13563	s.MaxResults = &v
13564	return s
13565}
13566
13567// SetNextToken sets the NextToken field's value.
13568func (s *GetRouteResponsesInput) SetNextToken(v string) *GetRouteResponsesInput {
13569	s.NextToken = &v
13570	return s
13571}
13572
13573// SetRouteId sets the RouteId field's value.
13574func (s *GetRouteResponsesInput) SetRouteId(v string) *GetRouteResponsesInput {
13575	s.RouteId = &v
13576	return s
13577}
13578
13579type GetRouteResponsesOutput struct {
13580	_ struct{} `type:"structure"`
13581
13582	Items []*RouteResponse `locationName:"items" type:"list"`
13583
13584	// The next page of elements from this collection. Not valid for the last element
13585	// of the collection.
13586	NextToken *string `locationName:"nextToken" type:"string"`
13587}
13588
13589// String returns the string representation
13590func (s GetRouteResponsesOutput) String() string {
13591	return awsutil.Prettify(s)
13592}
13593
13594// GoString returns the string representation
13595func (s GetRouteResponsesOutput) GoString() string {
13596	return s.String()
13597}
13598
13599// SetItems sets the Items field's value.
13600func (s *GetRouteResponsesOutput) SetItems(v []*RouteResponse) *GetRouteResponsesOutput {
13601	s.Items = v
13602	return s
13603}
13604
13605// SetNextToken sets the NextToken field's value.
13606func (s *GetRouteResponsesOutput) SetNextToken(v string) *GetRouteResponsesOutput {
13607	s.NextToken = &v
13608	return s
13609}
13610
13611type GetRoutesInput struct {
13612	_ struct{} `type:"structure"`
13613
13614	// ApiId is a required field
13615	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13616
13617	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13618
13619	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13620}
13621
13622// String returns the string representation
13623func (s GetRoutesInput) String() string {
13624	return awsutil.Prettify(s)
13625}
13626
13627// GoString returns the string representation
13628func (s GetRoutesInput) GoString() string {
13629	return s.String()
13630}
13631
13632// Validate inspects the fields of the type to determine if they are valid.
13633func (s *GetRoutesInput) Validate() error {
13634	invalidParams := request.ErrInvalidParams{Context: "GetRoutesInput"}
13635	if s.ApiId == nil {
13636		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13637	}
13638	if s.ApiId != nil && len(*s.ApiId) < 1 {
13639		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13640	}
13641
13642	if invalidParams.Len() > 0 {
13643		return invalidParams
13644	}
13645	return nil
13646}
13647
13648// SetApiId sets the ApiId field's value.
13649func (s *GetRoutesInput) SetApiId(v string) *GetRoutesInput {
13650	s.ApiId = &v
13651	return s
13652}
13653
13654// SetMaxResults sets the MaxResults field's value.
13655func (s *GetRoutesInput) SetMaxResults(v string) *GetRoutesInput {
13656	s.MaxResults = &v
13657	return s
13658}
13659
13660// SetNextToken sets the NextToken field's value.
13661func (s *GetRoutesInput) SetNextToken(v string) *GetRoutesInput {
13662	s.NextToken = &v
13663	return s
13664}
13665
13666type GetRoutesOutput struct {
13667	_ struct{} `type:"structure"`
13668
13669	Items []*Route `locationName:"items" type:"list"`
13670
13671	// The next page of elements from this collection. Not valid for the last element
13672	// of the collection.
13673	NextToken *string `locationName:"nextToken" type:"string"`
13674}
13675
13676// String returns the string representation
13677func (s GetRoutesOutput) String() string {
13678	return awsutil.Prettify(s)
13679}
13680
13681// GoString returns the string representation
13682func (s GetRoutesOutput) GoString() string {
13683	return s.String()
13684}
13685
13686// SetItems sets the Items field's value.
13687func (s *GetRoutesOutput) SetItems(v []*Route) *GetRoutesOutput {
13688	s.Items = v
13689	return s
13690}
13691
13692// SetNextToken sets the NextToken field's value.
13693func (s *GetRoutesOutput) SetNextToken(v string) *GetRoutesOutput {
13694	s.NextToken = &v
13695	return s
13696}
13697
13698type GetStageInput struct {
13699	_ struct{} `type:"structure"`
13700
13701	// ApiId is a required field
13702	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13703
13704	// StageName is a required field
13705	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
13706}
13707
13708// String returns the string representation
13709func (s GetStageInput) String() string {
13710	return awsutil.Prettify(s)
13711}
13712
13713// GoString returns the string representation
13714func (s GetStageInput) GoString() string {
13715	return s.String()
13716}
13717
13718// Validate inspects the fields of the type to determine if they are valid.
13719func (s *GetStageInput) Validate() error {
13720	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
13721	if s.ApiId == nil {
13722		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13723	}
13724	if s.ApiId != nil && len(*s.ApiId) < 1 {
13725		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13726	}
13727	if s.StageName == nil {
13728		invalidParams.Add(request.NewErrParamRequired("StageName"))
13729	}
13730	if s.StageName != nil && len(*s.StageName) < 1 {
13731		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
13732	}
13733
13734	if invalidParams.Len() > 0 {
13735		return invalidParams
13736	}
13737	return nil
13738}
13739
13740// SetApiId sets the ApiId field's value.
13741func (s *GetStageInput) SetApiId(v string) *GetStageInput {
13742	s.ApiId = &v
13743	return s
13744}
13745
13746// SetStageName sets the StageName field's value.
13747func (s *GetStageInput) SetStageName(v string) *GetStageInput {
13748	s.StageName = &v
13749	return s
13750}
13751
13752type GetStageOutput struct {
13753	_ struct{} `type:"structure"`
13754
13755	// Settings for logging access in a stage.
13756	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
13757
13758	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
13759
13760	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
13761
13762	// The identifier.
13763	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
13764
13765	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
13766
13767	// Represents a collection of route settings.
13768	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
13769
13770	// The identifier.
13771	DeploymentId *string `locationName:"deploymentId" type:"string"`
13772
13773	// A string with a length between [0-1024].
13774	Description *string `locationName:"description" type:"string"`
13775
13776	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
13777
13778	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
13779
13780	// The route settings map.
13781	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
13782
13783	// A string with a length between [1-128].
13784	StageName *string `locationName:"stageName" type:"string"`
13785
13786	// The stage variable map.
13787	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
13788
13789	// Represents a collection of tags associated with the resource.
13790	Tags map[string]*string `locationName:"tags" type:"map"`
13791}
13792
13793// String returns the string representation
13794func (s GetStageOutput) String() string {
13795	return awsutil.Prettify(s)
13796}
13797
13798// GoString returns the string representation
13799func (s GetStageOutput) GoString() string {
13800	return s.String()
13801}
13802
13803// SetAccessLogSettings sets the AccessLogSettings field's value.
13804func (s *GetStageOutput) SetAccessLogSettings(v *AccessLogSettings) *GetStageOutput {
13805	s.AccessLogSettings = v
13806	return s
13807}
13808
13809// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
13810func (s *GetStageOutput) SetApiGatewayManaged(v bool) *GetStageOutput {
13811	s.ApiGatewayManaged = &v
13812	return s
13813}
13814
13815// SetAutoDeploy sets the AutoDeploy field's value.
13816func (s *GetStageOutput) SetAutoDeploy(v bool) *GetStageOutput {
13817	s.AutoDeploy = &v
13818	return s
13819}
13820
13821// SetClientCertificateId sets the ClientCertificateId field's value.
13822func (s *GetStageOutput) SetClientCertificateId(v string) *GetStageOutput {
13823	s.ClientCertificateId = &v
13824	return s
13825}
13826
13827// SetCreatedDate sets the CreatedDate field's value.
13828func (s *GetStageOutput) SetCreatedDate(v time.Time) *GetStageOutput {
13829	s.CreatedDate = &v
13830	return s
13831}
13832
13833// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
13834func (s *GetStageOutput) SetDefaultRouteSettings(v *RouteSettings) *GetStageOutput {
13835	s.DefaultRouteSettings = v
13836	return s
13837}
13838
13839// SetDeploymentId sets the DeploymentId field's value.
13840func (s *GetStageOutput) SetDeploymentId(v string) *GetStageOutput {
13841	s.DeploymentId = &v
13842	return s
13843}
13844
13845// SetDescription sets the Description field's value.
13846func (s *GetStageOutput) SetDescription(v string) *GetStageOutput {
13847	s.Description = &v
13848	return s
13849}
13850
13851// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
13852func (s *GetStageOutput) SetLastDeploymentStatusMessage(v string) *GetStageOutput {
13853	s.LastDeploymentStatusMessage = &v
13854	return s
13855}
13856
13857// SetLastUpdatedDate sets the LastUpdatedDate field's value.
13858func (s *GetStageOutput) SetLastUpdatedDate(v time.Time) *GetStageOutput {
13859	s.LastUpdatedDate = &v
13860	return s
13861}
13862
13863// SetRouteSettings sets the RouteSettings field's value.
13864func (s *GetStageOutput) SetRouteSettings(v map[string]*RouteSettings) *GetStageOutput {
13865	s.RouteSettings = v
13866	return s
13867}
13868
13869// SetStageName sets the StageName field's value.
13870func (s *GetStageOutput) SetStageName(v string) *GetStageOutput {
13871	s.StageName = &v
13872	return s
13873}
13874
13875// SetStageVariables sets the StageVariables field's value.
13876func (s *GetStageOutput) SetStageVariables(v map[string]*string) *GetStageOutput {
13877	s.StageVariables = v
13878	return s
13879}
13880
13881// SetTags sets the Tags field's value.
13882func (s *GetStageOutput) SetTags(v map[string]*string) *GetStageOutput {
13883	s.Tags = v
13884	return s
13885}
13886
13887type GetStagesInput struct {
13888	_ struct{} `type:"structure"`
13889
13890	// ApiId is a required field
13891	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13892
13893	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13894
13895	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13896}
13897
13898// String returns the string representation
13899func (s GetStagesInput) String() string {
13900	return awsutil.Prettify(s)
13901}
13902
13903// GoString returns the string representation
13904func (s GetStagesInput) GoString() string {
13905	return s.String()
13906}
13907
13908// Validate inspects the fields of the type to determine if they are valid.
13909func (s *GetStagesInput) Validate() error {
13910	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
13911	if s.ApiId == nil {
13912		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13913	}
13914	if s.ApiId != nil && len(*s.ApiId) < 1 {
13915		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13916	}
13917
13918	if invalidParams.Len() > 0 {
13919		return invalidParams
13920	}
13921	return nil
13922}
13923
13924// SetApiId sets the ApiId field's value.
13925func (s *GetStagesInput) SetApiId(v string) *GetStagesInput {
13926	s.ApiId = &v
13927	return s
13928}
13929
13930// SetMaxResults sets the MaxResults field's value.
13931func (s *GetStagesInput) SetMaxResults(v string) *GetStagesInput {
13932	s.MaxResults = &v
13933	return s
13934}
13935
13936// SetNextToken sets the NextToken field's value.
13937func (s *GetStagesInput) SetNextToken(v string) *GetStagesInput {
13938	s.NextToken = &v
13939	return s
13940}
13941
13942type GetStagesOutput struct {
13943	_ struct{} `type:"structure"`
13944
13945	Items []*Stage `locationName:"items" type:"list"`
13946
13947	// The next page of elements from this collection. Not valid for the last element
13948	// of the collection.
13949	NextToken *string `locationName:"nextToken" type:"string"`
13950}
13951
13952// String returns the string representation
13953func (s GetStagesOutput) String() string {
13954	return awsutil.Prettify(s)
13955}
13956
13957// GoString returns the string representation
13958func (s GetStagesOutput) GoString() string {
13959	return s.String()
13960}
13961
13962// SetItems sets the Items field's value.
13963func (s *GetStagesOutput) SetItems(v []*Stage) *GetStagesOutput {
13964	s.Items = v
13965	return s
13966}
13967
13968// SetNextToken sets the NextToken field's value.
13969func (s *GetStagesOutput) SetNextToken(v string) *GetStagesOutput {
13970	s.NextToken = &v
13971	return s
13972}
13973
13974type GetTagsInput struct {
13975	_ struct{} `type:"structure"`
13976
13977	// ResourceArn is a required field
13978	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
13979}
13980
13981// String returns the string representation
13982func (s GetTagsInput) String() string {
13983	return awsutil.Prettify(s)
13984}
13985
13986// GoString returns the string representation
13987func (s GetTagsInput) GoString() string {
13988	return s.String()
13989}
13990
13991// Validate inspects the fields of the type to determine if they are valid.
13992func (s *GetTagsInput) Validate() error {
13993	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
13994	if s.ResourceArn == nil {
13995		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13996	}
13997	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13998		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13999	}
14000
14001	if invalidParams.Len() > 0 {
14002		return invalidParams
14003	}
14004	return nil
14005}
14006
14007// SetResourceArn sets the ResourceArn field's value.
14008func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
14009	s.ResourceArn = &v
14010	return s
14011}
14012
14013type GetTagsOutput struct {
14014	_ struct{} `type:"structure"`
14015
14016	// Represents a collection of tags associated with the resource.
14017	Tags map[string]*string `locationName:"tags" type:"map"`
14018}
14019
14020// String returns the string representation
14021func (s GetTagsOutput) String() string {
14022	return awsutil.Prettify(s)
14023}
14024
14025// GoString returns the string representation
14026func (s GetTagsOutput) GoString() string {
14027	return s.String()
14028}
14029
14030// SetTags sets the Tags field's value.
14031func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
14032	s.Tags = v
14033	return s
14034}
14035
14036type GetVpcLinkInput struct {
14037	_ struct{} `type:"structure"`
14038
14039	// VpcLinkId is a required field
14040	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
14041}
14042
14043// String returns the string representation
14044func (s GetVpcLinkInput) String() string {
14045	return awsutil.Prettify(s)
14046}
14047
14048// GoString returns the string representation
14049func (s GetVpcLinkInput) GoString() string {
14050	return s.String()
14051}
14052
14053// Validate inspects the fields of the type to determine if they are valid.
14054func (s *GetVpcLinkInput) Validate() error {
14055	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
14056	if s.VpcLinkId == nil {
14057		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
14058	}
14059	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
14060		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
14061	}
14062
14063	if invalidParams.Len() > 0 {
14064		return invalidParams
14065	}
14066	return nil
14067}
14068
14069// SetVpcLinkId sets the VpcLinkId field's value.
14070func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
14071	s.VpcLinkId = &v
14072	return s
14073}
14074
14075type GetVpcLinkOutput struct {
14076	_ struct{} `type:"structure"`
14077
14078	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
14079
14080	// A string with a length between [1-128].
14081	Name *string `locationName:"name" type:"string"`
14082
14083	// A list of security group IDs for the VPC link.
14084	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
14085
14086	// A list of subnet IDs to include in the VPC link.
14087	SubnetIds []*string `locationName:"subnetIds" type:"list"`
14088
14089	// Represents a collection of tags associated with the resource.
14090	Tags map[string]*string `locationName:"tags" type:"map"`
14091
14092	// The identifier.
14093	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
14094
14095	// The status of the VPC link.
14096	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
14097
14098	// A string with a length between [0-1024].
14099	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
14100
14101	// The version of the VPC link.
14102	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
14103}
14104
14105// String returns the string representation
14106func (s GetVpcLinkOutput) String() string {
14107	return awsutil.Prettify(s)
14108}
14109
14110// GoString returns the string representation
14111func (s GetVpcLinkOutput) GoString() string {
14112	return s.String()
14113}
14114
14115// SetCreatedDate sets the CreatedDate field's value.
14116func (s *GetVpcLinkOutput) SetCreatedDate(v time.Time) *GetVpcLinkOutput {
14117	s.CreatedDate = &v
14118	return s
14119}
14120
14121// SetName sets the Name field's value.
14122func (s *GetVpcLinkOutput) SetName(v string) *GetVpcLinkOutput {
14123	s.Name = &v
14124	return s
14125}
14126
14127// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14128func (s *GetVpcLinkOutput) SetSecurityGroupIds(v []*string) *GetVpcLinkOutput {
14129	s.SecurityGroupIds = v
14130	return s
14131}
14132
14133// SetSubnetIds sets the SubnetIds field's value.
14134func (s *GetVpcLinkOutput) SetSubnetIds(v []*string) *GetVpcLinkOutput {
14135	s.SubnetIds = v
14136	return s
14137}
14138
14139// SetTags sets the Tags field's value.
14140func (s *GetVpcLinkOutput) SetTags(v map[string]*string) *GetVpcLinkOutput {
14141	s.Tags = v
14142	return s
14143}
14144
14145// SetVpcLinkId sets the VpcLinkId field's value.
14146func (s *GetVpcLinkOutput) SetVpcLinkId(v string) *GetVpcLinkOutput {
14147	s.VpcLinkId = &v
14148	return s
14149}
14150
14151// SetVpcLinkStatus sets the VpcLinkStatus field's value.
14152func (s *GetVpcLinkOutput) SetVpcLinkStatus(v string) *GetVpcLinkOutput {
14153	s.VpcLinkStatus = &v
14154	return s
14155}
14156
14157// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
14158func (s *GetVpcLinkOutput) SetVpcLinkStatusMessage(v string) *GetVpcLinkOutput {
14159	s.VpcLinkStatusMessage = &v
14160	return s
14161}
14162
14163// SetVpcLinkVersion sets the VpcLinkVersion field's value.
14164func (s *GetVpcLinkOutput) SetVpcLinkVersion(v string) *GetVpcLinkOutput {
14165	s.VpcLinkVersion = &v
14166	return s
14167}
14168
14169type GetVpcLinksInput struct {
14170	_ struct{} `type:"structure"`
14171
14172	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
14173
14174	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14175}
14176
14177// String returns the string representation
14178func (s GetVpcLinksInput) String() string {
14179	return awsutil.Prettify(s)
14180}
14181
14182// GoString returns the string representation
14183func (s GetVpcLinksInput) GoString() string {
14184	return s.String()
14185}
14186
14187// SetMaxResults sets the MaxResults field's value.
14188func (s *GetVpcLinksInput) SetMaxResults(v string) *GetVpcLinksInput {
14189	s.MaxResults = &v
14190	return s
14191}
14192
14193// SetNextToken sets the NextToken field's value.
14194func (s *GetVpcLinksInput) SetNextToken(v string) *GetVpcLinksInput {
14195	s.NextToken = &v
14196	return s
14197}
14198
14199type GetVpcLinksOutput struct {
14200	_ struct{} `type:"structure"`
14201
14202	Items []*VpcLink `locationName:"items" type:"list"`
14203
14204	// The next page of elements from this collection. Not valid for the last element
14205	// of the collection.
14206	NextToken *string `locationName:"nextToken" type:"string"`
14207}
14208
14209// String returns the string representation
14210func (s GetVpcLinksOutput) String() string {
14211	return awsutil.Prettify(s)
14212}
14213
14214// GoString returns the string representation
14215func (s GetVpcLinksOutput) GoString() string {
14216	return s.String()
14217}
14218
14219// SetItems sets the Items field's value.
14220func (s *GetVpcLinksOutput) SetItems(v []*VpcLink) *GetVpcLinksOutput {
14221	s.Items = v
14222	return s
14223}
14224
14225// SetNextToken sets the NextToken field's value.
14226func (s *GetVpcLinksOutput) SetNextToken(v string) *GetVpcLinksOutput {
14227	s.NextToken = &v
14228	return s
14229}
14230
14231type ImportApiInput struct {
14232	_ struct{} `type:"structure"`
14233
14234	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
14235
14236	// Body is a required field
14237	Body *string `locationName:"body" type:"string" required:"true"`
14238
14239	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
14240}
14241
14242// String returns the string representation
14243func (s ImportApiInput) String() string {
14244	return awsutil.Prettify(s)
14245}
14246
14247// GoString returns the string representation
14248func (s ImportApiInput) GoString() string {
14249	return s.String()
14250}
14251
14252// Validate inspects the fields of the type to determine if they are valid.
14253func (s *ImportApiInput) Validate() error {
14254	invalidParams := request.ErrInvalidParams{Context: "ImportApiInput"}
14255	if s.Body == nil {
14256		invalidParams.Add(request.NewErrParamRequired("Body"))
14257	}
14258
14259	if invalidParams.Len() > 0 {
14260		return invalidParams
14261	}
14262	return nil
14263}
14264
14265// SetBasepath sets the Basepath field's value.
14266func (s *ImportApiInput) SetBasepath(v string) *ImportApiInput {
14267	s.Basepath = &v
14268	return s
14269}
14270
14271// SetBody sets the Body field's value.
14272func (s *ImportApiInput) SetBody(v string) *ImportApiInput {
14273	s.Body = &v
14274	return s
14275}
14276
14277// SetFailOnWarnings sets the FailOnWarnings field's value.
14278func (s *ImportApiInput) SetFailOnWarnings(v bool) *ImportApiInput {
14279	s.FailOnWarnings = &v
14280	return s
14281}
14282
14283type ImportApiOutput struct {
14284	_ struct{} `type:"structure"`
14285
14286	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
14287
14288	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
14289
14290	// The identifier.
14291	ApiId *string `locationName:"apiId" type:"string"`
14292
14293	// An expression used to extract information at runtime. See Selection Expressions
14294	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
14295	// for more information.
14296	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
14297
14298	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
14299	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
14300	// for more information.
14301	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
14302
14303	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
14304
14305	// A string with a length between [0-1024].
14306	Description *string `locationName:"description" type:"string"`
14307
14308	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
14309
14310	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
14311
14312	ImportInfo []*string `locationName:"importInfo" type:"list"`
14313
14314	// A string with a length between [1-128].
14315	Name *string `locationName:"name" type:"string"`
14316
14317	// Represents a protocol type.
14318	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
14319
14320	// An expression used to extract information at runtime. See Selection Expressions
14321	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
14322	// for more information.
14323	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
14324
14325	// Represents a collection of tags associated with the resource.
14326	Tags map[string]*string `locationName:"tags" type:"map"`
14327
14328	// A string with a length between [1-64].
14329	Version *string `locationName:"version" type:"string"`
14330
14331	Warnings []*string `locationName:"warnings" type:"list"`
14332}
14333
14334// String returns the string representation
14335func (s ImportApiOutput) String() string {
14336	return awsutil.Prettify(s)
14337}
14338
14339// GoString returns the string representation
14340func (s ImportApiOutput) GoString() string {
14341	return s.String()
14342}
14343
14344// SetApiEndpoint sets the ApiEndpoint field's value.
14345func (s *ImportApiOutput) SetApiEndpoint(v string) *ImportApiOutput {
14346	s.ApiEndpoint = &v
14347	return s
14348}
14349
14350// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
14351func (s *ImportApiOutput) SetApiGatewayManaged(v bool) *ImportApiOutput {
14352	s.ApiGatewayManaged = &v
14353	return s
14354}
14355
14356// SetApiId sets the ApiId field's value.
14357func (s *ImportApiOutput) SetApiId(v string) *ImportApiOutput {
14358	s.ApiId = &v
14359	return s
14360}
14361
14362// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
14363func (s *ImportApiOutput) SetApiKeySelectionExpression(v string) *ImportApiOutput {
14364	s.ApiKeySelectionExpression = &v
14365	return s
14366}
14367
14368// SetCorsConfiguration sets the CorsConfiguration field's value.
14369func (s *ImportApiOutput) SetCorsConfiguration(v *Cors) *ImportApiOutput {
14370	s.CorsConfiguration = v
14371	return s
14372}
14373
14374// SetCreatedDate sets the CreatedDate field's value.
14375func (s *ImportApiOutput) SetCreatedDate(v time.Time) *ImportApiOutput {
14376	s.CreatedDate = &v
14377	return s
14378}
14379
14380// SetDescription sets the Description field's value.
14381func (s *ImportApiOutput) SetDescription(v string) *ImportApiOutput {
14382	s.Description = &v
14383	return s
14384}
14385
14386// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
14387func (s *ImportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ImportApiOutput {
14388	s.DisableExecuteApiEndpoint = &v
14389	return s
14390}
14391
14392// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
14393func (s *ImportApiOutput) SetDisableSchemaValidation(v bool) *ImportApiOutput {
14394	s.DisableSchemaValidation = &v
14395	return s
14396}
14397
14398// SetImportInfo sets the ImportInfo field's value.
14399func (s *ImportApiOutput) SetImportInfo(v []*string) *ImportApiOutput {
14400	s.ImportInfo = v
14401	return s
14402}
14403
14404// SetName sets the Name field's value.
14405func (s *ImportApiOutput) SetName(v string) *ImportApiOutput {
14406	s.Name = &v
14407	return s
14408}
14409
14410// SetProtocolType sets the ProtocolType field's value.
14411func (s *ImportApiOutput) SetProtocolType(v string) *ImportApiOutput {
14412	s.ProtocolType = &v
14413	return s
14414}
14415
14416// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
14417func (s *ImportApiOutput) SetRouteSelectionExpression(v string) *ImportApiOutput {
14418	s.RouteSelectionExpression = &v
14419	return s
14420}
14421
14422// SetTags sets the Tags field's value.
14423func (s *ImportApiOutput) SetTags(v map[string]*string) *ImportApiOutput {
14424	s.Tags = v
14425	return s
14426}
14427
14428// SetVersion sets the Version field's value.
14429func (s *ImportApiOutput) SetVersion(v string) *ImportApiOutput {
14430	s.Version = &v
14431	return s
14432}
14433
14434// SetWarnings sets the Warnings field's value.
14435func (s *ImportApiOutput) SetWarnings(v []*string) *ImportApiOutput {
14436	s.Warnings = v
14437	return s
14438}
14439
14440// Represents an integration.
14441type Integration struct {
14442	_ struct{} `type:"structure"`
14443
14444	// Specifies whether an integration is managed by API Gateway. If you created
14445	// an API using using quick create, the resulting integration is managed by
14446	// API Gateway. You can update a managed integration, but you can't delete it.
14447	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
14448
14449	// The ID of the VPC link for a private integration. Supported only for HTTP
14450	// APIs.
14451	ConnectionId *string `locationName:"connectionId" type:"string"`
14452
14453	// The type of the network connection to the integration endpoint. Specify INTERNET
14454	// for connections through the public routable internet or VPC_LINK for private
14455	// connections between API Gateway and resources in a VPC. The default value
14456	// is INTERNET.
14457	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
14458
14459	// Supported only for WebSocket APIs. Specifies how to handle response payload
14460	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
14461	// with the following behaviors:
14462	//
14463	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
14464	// to the corresponding binary blob.
14465	//
14466	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
14467	// string.
14468	//
14469	// If this property is not defined, the response payload will be passed through
14470	// from the integration response to the route response or method response without
14471	// modification.
14472	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
14473
14474	// Specifies the credentials required for the integration, if any. For AWS integrations,
14475	// three options are available. To specify an IAM Role for API Gateway to assume,
14476	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
14477	// be passed through from the request, specify the string arn:aws:iam::*:user/*.
14478	// To use resource-based permissions on supported AWS services, specify null.
14479	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
14480
14481	// Represents the description of an integration.
14482	Description *string `locationName:"description" type:"string"`
14483
14484	// Represents the identifier of an integration.
14485	IntegrationId *string `locationName:"integrationId" type:"string"`
14486
14487	// Specifies the integration's HTTP method type.
14488	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
14489
14490	// The integration response selection expression for the integration. Supported
14491	// only for WebSocket APIs. See Integration Response Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions).
14492	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
14493
14494	// Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service
14495	// action to invoke. To learn more, see Integration subtype reference (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html).
14496	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
14497
14498	// The integration type of an integration. One of the following:
14499	//
14500	// AWS: for integrating the route or method request with an AWS service action,
14501	// including the Lambda function-invoking action. With the Lambda function-invoking
14502	// action, this is referred to as the Lambda custom integration. With any other
14503	// AWS service action, this is known as AWS integration. Supported only for
14504	// WebSocket APIs.
14505	//
14506	// AWS_PROXY: for integrating the route or method request with a Lambda function
14507	// or other AWS service action. This integration is also referred to as a Lambda
14508	// proxy integration.
14509	//
14510	// HTTP: for integrating the route or method request with an HTTP endpoint.
14511	// This integration is also referred to as the HTTP custom integration. Supported
14512	// only for WebSocket APIs.
14513	//
14514	// HTTP_PROXY: for integrating the route or method request with an HTTP endpoint,
14515	// with the client request passed through as-is. This is also referred to as
14516	// HTTP proxy integration.
14517	//
14518	// MOCK: for integrating the route or method request with API Gateway as a "loopback"
14519	// endpoint without invoking any backend. Supported only for WebSocket APIs.
14520	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
14521
14522	// For a Lambda integration, specify the URI of a Lambda function.
14523	//
14524	// For an HTTP integration, specify a fully-qualified URL.
14525	//
14526	// For an HTTP API private integration, specify the ARN of an Application Load
14527	// Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
14528	// If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances
14529	// to identify resources. You can use query parameters to target specific resources.
14530	// To learn more, see DiscoverInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html).
14531	// For private integrations, all resources must be owned by the same AWS account.
14532	IntegrationUri *string `locationName:"integrationUri" type:"string"`
14533
14534	// Specifies the pass-through behavior for incoming requests based on the Content-Type
14535	// header in the request, and the available mapping templates specified as the
14536	// requestTemplates property on the Integration resource. There are three valid
14537	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket
14538	// APIs.
14539	//
14540	// WHEN_NO_MATCH passes the request body for unmapped content types through
14541	// to the integration backend without transformation.
14542	//
14543	// NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type
14544	// response.
14545	//
14546	// WHEN_NO_TEMPLATES allows pass-through when the integration has no content
14547	// types mapped to templates. However, if there is at least one content type
14548	// defined, unmapped content types will be rejected with the same HTTP 415 Unsupported
14549	// Media Type response.
14550	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
14551
14552	// Specifies the format of the payload sent to an integration. Required for
14553	// HTTP APIs.
14554	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
14555
14556	// For WebSocket APIs, a key-value map specifying request parameters that are
14557	// passed from the method request to the backend. The key is an integration
14558	// request parameter name and the associated value is a method request parameter
14559	// value or static value that must be enclosed within single quotes and pre-encoded
14560	// as required by the backend. The method request parameter value must match
14561	// the pattern of method.request.{location}.{name} , where {location} is querystring,
14562	// path, or header; and {name} must be a valid and unique method request parameter
14563	// name.
14564	//
14565	// For HTTP API integrations with a specified integrationSubtype, request parameters
14566	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
14567	// You can provide static values, or map request data, stage variables, or context
14568	// variables that are evaluated at runtime. To learn more, see Working with
14569	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
14570	//
14571	// For HTTP API itegrations, without a specified integrationSubtype request
14572	// parameters are a key-value map specifying how to transform HTTP requests
14573	// before sending them to backend integrations. The key should follow the pattern
14574	// <action>:<header|querystring|path>.<location>. The action can be append,
14575	// overwrite or remove. For values, you can provide static values, or map request
14576	// data, stage variables, or context variables that are evaluated at runtime.
14577	// To learn more, see Transforming API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
14578	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
14579
14580	// Represents a map of Velocity templates that are applied on the request payload
14581	// based on the value of the Content-Type header sent by the client. The content
14582	// type value is the key in this map, and the template (as a String) is the
14583	// value. Supported only for WebSocket APIs.
14584	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
14585
14586	// Supported only for HTTP APIs. You use response parameters to transform the
14587	// HTTP response from a backend integration before returning the response to
14588	// clients. Specify a key-value map from a selection key to response parameters.
14589	// The selection key must be a valid HTTP status code within the range of 200-599.
14590	// Response parameters are a key-value map. The key must match pattern <action>:<header>.<location>
14591	// or overwrite.statuscode. The action can be append, overwrite or remove. The
14592	// value can be a static value, or map to response data, stage variables, or
14593	// context variables that are evaluated at runtime. To learn more, see Transforming
14594	// API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
14595	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
14596
14597	// The template selection expression for the integration. Supported only for
14598	// WebSocket APIs.
14599	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
14600
14601	// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and
14602	// between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is
14603	// 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
14604	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
14605
14606	// The TLS configuration for a private integration. If you specify a TLS configuration,
14607	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
14608	// APIs.
14609	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
14610}
14611
14612// String returns the string representation
14613func (s Integration) String() string {
14614	return awsutil.Prettify(s)
14615}
14616
14617// GoString returns the string representation
14618func (s Integration) GoString() string {
14619	return s.String()
14620}
14621
14622// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
14623func (s *Integration) SetApiGatewayManaged(v bool) *Integration {
14624	s.ApiGatewayManaged = &v
14625	return s
14626}
14627
14628// SetConnectionId sets the ConnectionId field's value.
14629func (s *Integration) SetConnectionId(v string) *Integration {
14630	s.ConnectionId = &v
14631	return s
14632}
14633
14634// SetConnectionType sets the ConnectionType field's value.
14635func (s *Integration) SetConnectionType(v string) *Integration {
14636	s.ConnectionType = &v
14637	return s
14638}
14639
14640// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
14641func (s *Integration) SetContentHandlingStrategy(v string) *Integration {
14642	s.ContentHandlingStrategy = &v
14643	return s
14644}
14645
14646// SetCredentialsArn sets the CredentialsArn field's value.
14647func (s *Integration) SetCredentialsArn(v string) *Integration {
14648	s.CredentialsArn = &v
14649	return s
14650}
14651
14652// SetDescription sets the Description field's value.
14653func (s *Integration) SetDescription(v string) *Integration {
14654	s.Description = &v
14655	return s
14656}
14657
14658// SetIntegrationId sets the IntegrationId field's value.
14659func (s *Integration) SetIntegrationId(v string) *Integration {
14660	s.IntegrationId = &v
14661	return s
14662}
14663
14664// SetIntegrationMethod sets the IntegrationMethod field's value.
14665func (s *Integration) SetIntegrationMethod(v string) *Integration {
14666	s.IntegrationMethod = &v
14667	return s
14668}
14669
14670// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
14671func (s *Integration) SetIntegrationResponseSelectionExpression(v string) *Integration {
14672	s.IntegrationResponseSelectionExpression = &v
14673	return s
14674}
14675
14676// SetIntegrationSubtype sets the IntegrationSubtype field's value.
14677func (s *Integration) SetIntegrationSubtype(v string) *Integration {
14678	s.IntegrationSubtype = &v
14679	return s
14680}
14681
14682// SetIntegrationType sets the IntegrationType field's value.
14683func (s *Integration) SetIntegrationType(v string) *Integration {
14684	s.IntegrationType = &v
14685	return s
14686}
14687
14688// SetIntegrationUri sets the IntegrationUri field's value.
14689func (s *Integration) SetIntegrationUri(v string) *Integration {
14690	s.IntegrationUri = &v
14691	return s
14692}
14693
14694// SetPassthroughBehavior sets the PassthroughBehavior field's value.
14695func (s *Integration) SetPassthroughBehavior(v string) *Integration {
14696	s.PassthroughBehavior = &v
14697	return s
14698}
14699
14700// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
14701func (s *Integration) SetPayloadFormatVersion(v string) *Integration {
14702	s.PayloadFormatVersion = &v
14703	return s
14704}
14705
14706// SetRequestParameters sets the RequestParameters field's value.
14707func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
14708	s.RequestParameters = v
14709	return s
14710}
14711
14712// SetRequestTemplates sets the RequestTemplates field's value.
14713func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
14714	s.RequestTemplates = v
14715	return s
14716}
14717
14718// SetResponseParameters sets the ResponseParameters field's value.
14719func (s *Integration) SetResponseParameters(v map[string]map[string]*string) *Integration {
14720	s.ResponseParameters = v
14721	return s
14722}
14723
14724// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
14725func (s *Integration) SetTemplateSelectionExpression(v string) *Integration {
14726	s.TemplateSelectionExpression = &v
14727	return s
14728}
14729
14730// SetTimeoutInMillis sets the TimeoutInMillis field's value.
14731func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
14732	s.TimeoutInMillis = &v
14733	return s
14734}
14735
14736// SetTlsConfig sets the TlsConfig field's value.
14737func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration {
14738	s.TlsConfig = v
14739	return s
14740}
14741
14742// Represents an integration response.
14743type IntegrationResponse struct {
14744	_ struct{} `type:"structure"`
14745
14746	// Supported only for WebSocket APIs. Specifies how to handle response payload
14747	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
14748	// with the following behaviors:
14749	//
14750	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
14751	// to the corresponding binary blob.
14752	//
14753	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
14754	// string.
14755	//
14756	// If this property is not defined, the response payload will be passed through
14757	// from the integration response to the route response or method response without
14758	// modification.
14759	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
14760
14761	// The integration response ID.
14762	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
14763
14764	// The integration response key.
14765	//
14766	// IntegrationResponseKey is a required field
14767	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
14768
14769	// A key-value map specifying response parameters that are passed to the method
14770	// response from the backend. The key is a method response header parameter
14771	// name and the mapped value is an integration response header value, a static
14772	// value enclosed within a pair of single quotes, or a JSON expression from
14773	// the integration response body. The mapping key must match the pattern of
14774	// method.response.header.{name}, where name is a valid and unique header name.
14775	// The mapped non-static value must match the pattern of integration.response.header.{name}
14776	// or integration.response.body.{JSON-expression}, where name is a valid and
14777	// unique response header name and JSON-expression is a valid JSON expression
14778	// without the $ prefix.
14779	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
14780
14781	// The collection of response templates for the integration response as a string-to-string
14782	// map of key-value pairs. Response templates are represented as a key/value
14783	// map, with a content-type as the key and a template as the value.
14784	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
14785
14786	// The template selection expressions for the integration response.
14787	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
14788}
14789
14790// String returns the string representation
14791func (s IntegrationResponse) String() string {
14792	return awsutil.Prettify(s)
14793}
14794
14795// GoString returns the string representation
14796func (s IntegrationResponse) GoString() string {
14797	return s.String()
14798}
14799
14800// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
14801func (s *IntegrationResponse) SetContentHandlingStrategy(v string) *IntegrationResponse {
14802	s.ContentHandlingStrategy = &v
14803	return s
14804}
14805
14806// SetIntegrationResponseId sets the IntegrationResponseId field's value.
14807func (s *IntegrationResponse) SetIntegrationResponseId(v string) *IntegrationResponse {
14808	s.IntegrationResponseId = &v
14809	return s
14810}
14811
14812// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
14813func (s *IntegrationResponse) SetIntegrationResponseKey(v string) *IntegrationResponse {
14814	s.IntegrationResponseKey = &v
14815	return s
14816}
14817
14818// SetResponseParameters sets the ResponseParameters field's value.
14819func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
14820	s.ResponseParameters = v
14821	return s
14822}
14823
14824// SetResponseTemplates sets the ResponseTemplates field's value.
14825func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
14826	s.ResponseTemplates = v
14827	return s
14828}
14829
14830// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
14831func (s *IntegrationResponse) SetTemplateSelectionExpression(v string) *IntegrationResponse {
14832	s.TemplateSelectionExpression = &v
14833	return s
14834}
14835
14836// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
14837// type. Supported only for HTTP APIs.
14838type JWTConfiguration struct {
14839	_ struct{} `type:"structure"`
14840
14841	// A list of the intended recipients of the JWT. A valid JWT must provide an
14842	// aud that matches at least one entry in this list. See RFC 7519 (https://tools.ietf.org/html/rfc7519#section-4.1.3).
14843	// Supported only for HTTP APIs.
14844	Audience []*string `locationName:"audience" type:"list"`
14845
14846	// The base domain of the identity provider that issues JSON Web Tokens. For
14847	// example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId}
14848	// . Required for the JWT authorizer type. Supported only for HTTP APIs.
14849	Issuer *string `locationName:"issuer" type:"string"`
14850}
14851
14852// String returns the string representation
14853func (s JWTConfiguration) String() string {
14854	return awsutil.Prettify(s)
14855}
14856
14857// GoString returns the string representation
14858func (s JWTConfiguration) GoString() string {
14859	return s.String()
14860}
14861
14862// SetAudience sets the Audience field's value.
14863func (s *JWTConfiguration) SetAudience(v []*string) *JWTConfiguration {
14864	s.Audience = v
14865	return s
14866}
14867
14868// SetIssuer sets the Issuer field's value.
14869func (s *JWTConfiguration) SetIssuer(v string) *JWTConfiguration {
14870	s.Issuer = &v
14871	return s
14872}
14873
14874// Represents a data model for an API. Supported only for WebSocket APIs. See
14875// Create Models and Mapping Templates for Request and Response Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html).
14876type Model struct {
14877	_ struct{} `type:"structure"`
14878
14879	// The content-type for the model, for example, "application/json".
14880	ContentType *string `locationName:"contentType" type:"string"`
14881
14882	// The description of the model.
14883	Description *string `locationName:"description" type:"string"`
14884
14885	// The model identifier.
14886	ModelId *string `locationName:"modelId" type:"string"`
14887
14888	// The name of the model. Must be alphanumeric.
14889	//
14890	// Name is a required field
14891	Name *string `locationName:"name" type:"string" required:"true"`
14892
14893	// The schema for the model. For application/json models, this should be JSON
14894	// schema draft 4 model.
14895	Schema *string `locationName:"schema" type:"string"`
14896}
14897
14898// String returns the string representation
14899func (s Model) String() string {
14900	return awsutil.Prettify(s)
14901}
14902
14903// GoString returns the string representation
14904func (s Model) GoString() string {
14905	return s.String()
14906}
14907
14908// SetContentType sets the ContentType field's value.
14909func (s *Model) SetContentType(v string) *Model {
14910	s.ContentType = &v
14911	return s
14912}
14913
14914// SetDescription sets the Description field's value.
14915func (s *Model) SetDescription(v string) *Model {
14916	s.Description = &v
14917	return s
14918}
14919
14920// SetModelId sets the ModelId field's value.
14921func (s *Model) SetModelId(v string) *Model {
14922	s.ModelId = &v
14923	return s
14924}
14925
14926// SetName sets the Name field's value.
14927func (s *Model) SetName(v string) *Model {
14928	s.Name = &v
14929	return s
14930}
14931
14932// SetSchema sets the Schema field's value.
14933func (s *Model) SetSchema(v string) *Model {
14934	s.Schema = &v
14935	return s
14936}
14937
14938// If specified, API Gateway performs two-way authentication between the client
14939// and the server. Clients must present a trusted certificate to access your
14940// API.
14941type MutualTlsAuthentication struct {
14942	_ struct{} `type:"structure"`
14943
14944	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
14945	// for example, s3://bucket-name/key-name . The truststore can contain certificates
14946	// from public or private certificate authorities. To update the truststore,
14947	// upload a new version to S3, and then update your custom domain name to use
14948	// the new version. To update the truststore, you must have permissions to access
14949	// the S3 object.
14950	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
14951
14952	// The version of the S3 object that contains your truststore. To specify a
14953	// version, you must have versioning enabled for the S3 bucket.
14954	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
14955
14956	// A list of warnings that API Gateway returns while processing your truststore.
14957	// Invalid certificates produce warnings. Mutual TLS is still enabled, but some
14958	// clients might not be able to access your API. To resolve warnings, upload
14959	// a new truststore to S3, and then update you domain name to use the new version.
14960	TruststoreWarnings []*string `locationName:"truststoreWarnings" type:"list"`
14961}
14962
14963// String returns the string representation
14964func (s MutualTlsAuthentication) String() string {
14965	return awsutil.Prettify(s)
14966}
14967
14968// GoString returns the string representation
14969func (s MutualTlsAuthentication) GoString() string {
14970	return s.String()
14971}
14972
14973// SetTruststoreUri sets the TruststoreUri field's value.
14974func (s *MutualTlsAuthentication) SetTruststoreUri(v string) *MutualTlsAuthentication {
14975	s.TruststoreUri = &v
14976	return s
14977}
14978
14979// SetTruststoreVersion sets the TruststoreVersion field's value.
14980func (s *MutualTlsAuthentication) SetTruststoreVersion(v string) *MutualTlsAuthentication {
14981	s.TruststoreVersion = &v
14982	return s
14983}
14984
14985// SetTruststoreWarnings sets the TruststoreWarnings field's value.
14986func (s *MutualTlsAuthentication) SetTruststoreWarnings(v []*string) *MutualTlsAuthentication {
14987	s.TruststoreWarnings = v
14988	return s
14989}
14990
14991// If specified, API Gateway performs two-way authentication between the client
14992// and the server. Clients must present a trusted certificate to access your
14993// API.
14994type MutualTlsAuthenticationInput struct {
14995	_ struct{} `type:"structure"`
14996
14997	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
14998	// for example, s3://bucket-name/key-name . The truststore can contain certificates
14999	// from public or private certificate authorities. To update the truststore,
15000	// upload a new version to S3, and then update your custom domain name to use
15001	// the new version. To update the truststore, you must have permissions to access
15002	// the S3 object.
15003	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
15004
15005	// The version of the S3 object that contains your truststore. To specify a
15006	// version, you must have versioning enabled for the S3 bucket.
15007	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
15008}
15009
15010// String returns the string representation
15011func (s MutualTlsAuthenticationInput) String() string {
15012	return awsutil.Prettify(s)
15013}
15014
15015// GoString returns the string representation
15016func (s MutualTlsAuthenticationInput) GoString() string {
15017	return s.String()
15018}
15019
15020// SetTruststoreUri sets the TruststoreUri field's value.
15021func (s *MutualTlsAuthenticationInput) SetTruststoreUri(v string) *MutualTlsAuthenticationInput {
15022	s.TruststoreUri = &v
15023	return s
15024}
15025
15026// SetTruststoreVersion sets the TruststoreVersion field's value.
15027func (s *MutualTlsAuthenticationInput) SetTruststoreVersion(v string) *MutualTlsAuthenticationInput {
15028	s.TruststoreVersion = &v
15029	return s
15030}
15031
15032// The resource specified in the request was not found. See the message field
15033// for more information.
15034type NotFoundException struct {
15035	_            struct{}                  `type:"structure"`
15036	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15037
15038	// Describes the error encountered.
15039	Message_ *string `locationName:"message" type:"string"`
15040
15041	// The resource type.
15042	ResourceType *string `locationName:"resourceType" type:"string"`
15043}
15044
15045// String returns the string representation
15046func (s NotFoundException) String() string {
15047	return awsutil.Prettify(s)
15048}
15049
15050// GoString returns the string representation
15051func (s NotFoundException) GoString() string {
15052	return s.String()
15053}
15054
15055func newErrorNotFoundException(v protocol.ResponseMetadata) error {
15056	return &NotFoundException{
15057		RespMetadata: v,
15058	}
15059}
15060
15061// Code returns the exception type name.
15062func (s *NotFoundException) Code() string {
15063	return "NotFoundException"
15064}
15065
15066// Message returns the exception's message.
15067func (s *NotFoundException) Message() string {
15068	if s.Message_ != nil {
15069		return *s.Message_
15070	}
15071	return ""
15072}
15073
15074// OrigErr always returns nil, satisfies awserr.Error interface.
15075func (s *NotFoundException) OrigErr() error {
15076	return nil
15077}
15078
15079func (s *NotFoundException) Error() string {
15080	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15081}
15082
15083// Status code returns the HTTP status code for the request's response error.
15084func (s *NotFoundException) StatusCode() int {
15085	return s.RespMetadata.StatusCode
15086}
15087
15088// RequestID returns the service's response RequestID for request.
15089func (s *NotFoundException) RequestID() string {
15090	return s.RespMetadata.RequestID
15091}
15092
15093// Validation constraints imposed on parameters of a request (path, query string,
15094// headers).
15095type ParameterConstraints struct {
15096	_ struct{} `type:"structure"`
15097
15098	// Whether or not the parameter is required.
15099	Required *bool `locationName:"required" type:"boolean"`
15100}
15101
15102// String returns the string representation
15103func (s ParameterConstraints) String() string {
15104	return awsutil.Prettify(s)
15105}
15106
15107// GoString returns the string representation
15108func (s ParameterConstraints) GoString() string {
15109	return s.String()
15110}
15111
15112// SetRequired sets the Required field's value.
15113func (s *ParameterConstraints) SetRequired(v bool) *ParameterConstraints {
15114	s.Required = &v
15115	return s
15116}
15117
15118type ReimportApiInput struct {
15119	_ struct{} `type:"structure"`
15120
15121	// ApiId is a required field
15122	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
15123
15124	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
15125
15126	// Body is a required field
15127	Body *string `locationName:"body" type:"string" required:"true"`
15128
15129	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
15130}
15131
15132// String returns the string representation
15133func (s ReimportApiInput) String() string {
15134	return awsutil.Prettify(s)
15135}
15136
15137// GoString returns the string representation
15138func (s ReimportApiInput) GoString() string {
15139	return s.String()
15140}
15141
15142// Validate inspects the fields of the type to determine if they are valid.
15143func (s *ReimportApiInput) Validate() error {
15144	invalidParams := request.ErrInvalidParams{Context: "ReimportApiInput"}
15145	if s.ApiId == nil {
15146		invalidParams.Add(request.NewErrParamRequired("ApiId"))
15147	}
15148	if s.ApiId != nil && len(*s.ApiId) < 1 {
15149		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
15150	}
15151	if s.Body == nil {
15152		invalidParams.Add(request.NewErrParamRequired("Body"))
15153	}
15154
15155	if invalidParams.Len() > 0 {
15156		return invalidParams
15157	}
15158	return nil
15159}
15160
15161// SetApiId sets the ApiId field's value.
15162func (s *ReimportApiInput) SetApiId(v string) *ReimportApiInput {
15163	s.ApiId = &v
15164	return s
15165}
15166
15167// SetBasepath sets the Basepath field's value.
15168func (s *ReimportApiInput) SetBasepath(v string) *ReimportApiInput {
15169	s.Basepath = &v
15170	return s
15171}
15172
15173// SetBody sets the Body field's value.
15174func (s *ReimportApiInput) SetBody(v string) *ReimportApiInput {
15175	s.Body = &v
15176	return s
15177}
15178
15179// SetFailOnWarnings sets the FailOnWarnings field's value.
15180func (s *ReimportApiInput) SetFailOnWarnings(v bool) *ReimportApiInput {
15181	s.FailOnWarnings = &v
15182	return s
15183}
15184
15185type ReimportApiOutput struct {
15186	_ struct{} `type:"structure"`
15187
15188	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
15189
15190	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15191
15192	// The identifier.
15193	ApiId *string `locationName:"apiId" type:"string"`
15194
15195	// An expression used to extract information at runtime. See Selection Expressions
15196	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15197	// for more information.
15198	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
15199
15200	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
15201	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
15202	// for more information.
15203	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
15204
15205	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
15206
15207	// A string with a length between [0-1024].
15208	Description *string `locationName:"description" type:"string"`
15209
15210	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
15211
15212	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
15213
15214	ImportInfo []*string `locationName:"importInfo" type:"list"`
15215
15216	// A string with a length between [1-128].
15217	Name *string `locationName:"name" type:"string"`
15218
15219	// Represents a protocol type.
15220	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
15221
15222	// An expression used to extract information at runtime. See Selection Expressions
15223	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15224	// for more information.
15225	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
15226
15227	// Represents a collection of tags associated with the resource.
15228	Tags map[string]*string `locationName:"tags" type:"map"`
15229
15230	// A string with a length between [1-64].
15231	Version *string `locationName:"version" type:"string"`
15232
15233	Warnings []*string `locationName:"warnings" type:"list"`
15234}
15235
15236// String returns the string representation
15237func (s ReimportApiOutput) String() string {
15238	return awsutil.Prettify(s)
15239}
15240
15241// GoString returns the string representation
15242func (s ReimportApiOutput) GoString() string {
15243	return s.String()
15244}
15245
15246// SetApiEndpoint sets the ApiEndpoint field's value.
15247func (s *ReimportApiOutput) SetApiEndpoint(v string) *ReimportApiOutput {
15248	s.ApiEndpoint = &v
15249	return s
15250}
15251
15252// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15253func (s *ReimportApiOutput) SetApiGatewayManaged(v bool) *ReimportApiOutput {
15254	s.ApiGatewayManaged = &v
15255	return s
15256}
15257
15258// SetApiId sets the ApiId field's value.
15259func (s *ReimportApiOutput) SetApiId(v string) *ReimportApiOutput {
15260	s.ApiId = &v
15261	return s
15262}
15263
15264// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
15265func (s *ReimportApiOutput) SetApiKeySelectionExpression(v string) *ReimportApiOutput {
15266	s.ApiKeySelectionExpression = &v
15267	return s
15268}
15269
15270// SetCorsConfiguration sets the CorsConfiguration field's value.
15271func (s *ReimportApiOutput) SetCorsConfiguration(v *Cors) *ReimportApiOutput {
15272	s.CorsConfiguration = v
15273	return s
15274}
15275
15276// SetCreatedDate sets the CreatedDate field's value.
15277func (s *ReimportApiOutput) SetCreatedDate(v time.Time) *ReimportApiOutput {
15278	s.CreatedDate = &v
15279	return s
15280}
15281
15282// SetDescription sets the Description field's value.
15283func (s *ReimportApiOutput) SetDescription(v string) *ReimportApiOutput {
15284	s.Description = &v
15285	return s
15286}
15287
15288// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
15289func (s *ReimportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ReimportApiOutput {
15290	s.DisableExecuteApiEndpoint = &v
15291	return s
15292}
15293
15294// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
15295func (s *ReimportApiOutput) SetDisableSchemaValidation(v bool) *ReimportApiOutput {
15296	s.DisableSchemaValidation = &v
15297	return s
15298}
15299
15300// SetImportInfo sets the ImportInfo field's value.
15301func (s *ReimportApiOutput) SetImportInfo(v []*string) *ReimportApiOutput {
15302	s.ImportInfo = v
15303	return s
15304}
15305
15306// SetName sets the Name field's value.
15307func (s *ReimportApiOutput) SetName(v string) *ReimportApiOutput {
15308	s.Name = &v
15309	return s
15310}
15311
15312// SetProtocolType sets the ProtocolType field's value.
15313func (s *ReimportApiOutput) SetProtocolType(v string) *ReimportApiOutput {
15314	s.ProtocolType = &v
15315	return s
15316}
15317
15318// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
15319func (s *ReimportApiOutput) SetRouteSelectionExpression(v string) *ReimportApiOutput {
15320	s.RouteSelectionExpression = &v
15321	return s
15322}
15323
15324// SetTags sets the Tags field's value.
15325func (s *ReimportApiOutput) SetTags(v map[string]*string) *ReimportApiOutput {
15326	s.Tags = v
15327	return s
15328}
15329
15330// SetVersion sets the Version field's value.
15331func (s *ReimportApiOutput) SetVersion(v string) *ReimportApiOutput {
15332	s.Version = &v
15333	return s
15334}
15335
15336// SetWarnings sets the Warnings field's value.
15337func (s *ReimportApiOutput) SetWarnings(v []*string) *ReimportApiOutput {
15338	s.Warnings = v
15339	return s
15340}
15341
15342type ResetAuthorizersCacheInput struct {
15343	_ struct{} `type:"structure"`
15344
15345	// ApiId is a required field
15346	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
15347
15348	// StageName is a required field
15349	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
15350}
15351
15352// String returns the string representation
15353func (s ResetAuthorizersCacheInput) String() string {
15354	return awsutil.Prettify(s)
15355}
15356
15357// GoString returns the string representation
15358func (s ResetAuthorizersCacheInput) GoString() string {
15359	return s.String()
15360}
15361
15362// Validate inspects the fields of the type to determine if they are valid.
15363func (s *ResetAuthorizersCacheInput) Validate() error {
15364	invalidParams := request.ErrInvalidParams{Context: "ResetAuthorizersCacheInput"}
15365	if s.ApiId == nil {
15366		invalidParams.Add(request.NewErrParamRequired("ApiId"))
15367	}
15368	if s.ApiId != nil && len(*s.ApiId) < 1 {
15369		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
15370	}
15371	if s.StageName == nil {
15372		invalidParams.Add(request.NewErrParamRequired("StageName"))
15373	}
15374	if s.StageName != nil && len(*s.StageName) < 1 {
15375		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15376	}
15377
15378	if invalidParams.Len() > 0 {
15379		return invalidParams
15380	}
15381	return nil
15382}
15383
15384// SetApiId sets the ApiId field's value.
15385func (s *ResetAuthorizersCacheInput) SetApiId(v string) *ResetAuthorizersCacheInput {
15386	s.ApiId = &v
15387	return s
15388}
15389
15390// SetStageName sets the StageName field's value.
15391func (s *ResetAuthorizersCacheInput) SetStageName(v string) *ResetAuthorizersCacheInput {
15392	s.StageName = &v
15393	return s
15394}
15395
15396type ResetAuthorizersCacheOutput struct {
15397	_ struct{} `type:"structure"`
15398}
15399
15400// String returns the string representation
15401func (s ResetAuthorizersCacheOutput) String() string {
15402	return awsutil.Prettify(s)
15403}
15404
15405// GoString returns the string representation
15406func (s ResetAuthorizersCacheOutput) GoString() string {
15407	return s.String()
15408}
15409
15410// Represents a route.
15411type Route struct {
15412	_ struct{} `type:"structure"`
15413
15414	// Specifies whether a route is managed by API Gateway. If you created an API
15415	// using quick create, the $default route is managed by API Gateway. You can't
15416	// modify the $default route key.
15417	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15418
15419	// Specifies whether an API key is required for this route. Supported only for
15420	// WebSocket APIs.
15421	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
15422
15423	// A list of authorization scopes configured on a route. The scopes are used
15424	// with a JWT authorizer to authorize the method invocation. The authorization
15425	// works by matching the route scopes against the scopes parsed from the access
15426	// token in the incoming request. The method invocation is authorized if any
15427	// route scope matches a claimed scope in the access token. Otherwise, the invocation
15428	// is not authorized. When the route scope is configured, the client must provide
15429	// an access token instead of an identity token for authorization purposes.
15430	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
15431
15432	// The authorization type for the route. For WebSocket APIs, valid values are
15433	// NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for
15434	// using a Lambda authorizer For HTTP APIs, valid values are NONE for open access,
15435	// JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and
15436	// CUSTOM for using a Lambda authorizer.
15437	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
15438
15439	// The identifier of the Authorizer resource to be associated with this route.
15440	// The authorizer identifier is generated by API Gateway when you created the
15441	// authorizer.
15442	AuthorizerId *string `locationName:"authorizerId" type:"string"`
15443
15444	// The model selection expression for the route. Supported only for WebSocket
15445	// APIs.
15446	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
15447
15448	// The operation name for the route.
15449	OperationName *string `locationName:"operationName" type:"string"`
15450
15451	// The request models for the route. Supported only for WebSocket APIs.
15452	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
15453
15454	// The request parameters for the route. Supported only for WebSocket APIs.
15455	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
15456
15457	// The route ID.
15458	RouteId *string `locationName:"routeId" type:"string"`
15459
15460	// The route key for the route.
15461	//
15462	// RouteKey is a required field
15463	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
15464
15465	// The route response selection expression for the route. Supported only for
15466	// WebSocket APIs.
15467	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
15468
15469	// The target for the route.
15470	Target *string `locationName:"target" type:"string"`
15471}
15472
15473// String returns the string representation
15474func (s Route) String() string {
15475	return awsutil.Prettify(s)
15476}
15477
15478// GoString returns the string representation
15479func (s Route) GoString() string {
15480	return s.String()
15481}
15482
15483// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15484func (s *Route) SetApiGatewayManaged(v bool) *Route {
15485	s.ApiGatewayManaged = &v
15486	return s
15487}
15488
15489// SetApiKeyRequired sets the ApiKeyRequired field's value.
15490func (s *Route) SetApiKeyRequired(v bool) *Route {
15491	s.ApiKeyRequired = &v
15492	return s
15493}
15494
15495// SetAuthorizationScopes sets the AuthorizationScopes field's value.
15496func (s *Route) SetAuthorizationScopes(v []*string) *Route {
15497	s.AuthorizationScopes = v
15498	return s
15499}
15500
15501// SetAuthorizationType sets the AuthorizationType field's value.
15502func (s *Route) SetAuthorizationType(v string) *Route {
15503	s.AuthorizationType = &v
15504	return s
15505}
15506
15507// SetAuthorizerId sets the AuthorizerId field's value.
15508func (s *Route) SetAuthorizerId(v string) *Route {
15509	s.AuthorizerId = &v
15510	return s
15511}
15512
15513// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
15514func (s *Route) SetModelSelectionExpression(v string) *Route {
15515	s.ModelSelectionExpression = &v
15516	return s
15517}
15518
15519// SetOperationName sets the OperationName field's value.
15520func (s *Route) SetOperationName(v string) *Route {
15521	s.OperationName = &v
15522	return s
15523}
15524
15525// SetRequestModels sets the RequestModels field's value.
15526func (s *Route) SetRequestModels(v map[string]*string) *Route {
15527	s.RequestModels = v
15528	return s
15529}
15530
15531// SetRequestParameters sets the RequestParameters field's value.
15532func (s *Route) SetRequestParameters(v map[string]*ParameterConstraints) *Route {
15533	s.RequestParameters = v
15534	return s
15535}
15536
15537// SetRouteId sets the RouteId field's value.
15538func (s *Route) SetRouteId(v string) *Route {
15539	s.RouteId = &v
15540	return s
15541}
15542
15543// SetRouteKey sets the RouteKey field's value.
15544func (s *Route) SetRouteKey(v string) *Route {
15545	s.RouteKey = &v
15546	return s
15547}
15548
15549// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
15550func (s *Route) SetRouteResponseSelectionExpression(v string) *Route {
15551	s.RouteResponseSelectionExpression = &v
15552	return s
15553}
15554
15555// SetTarget sets the Target field's value.
15556func (s *Route) SetTarget(v string) *Route {
15557	s.Target = &v
15558	return s
15559}
15560
15561// Represents a route response.
15562type RouteResponse struct {
15563	_ struct{} `type:"structure"`
15564
15565	// Represents the model selection expression of a route response. Supported
15566	// only for WebSocket APIs.
15567	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
15568
15569	// Represents the response models of a route response.
15570	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
15571
15572	// Represents the response parameters of a route response.
15573	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
15574
15575	// Represents the identifier of a route response.
15576	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
15577
15578	// Represents the route response key of a route response.
15579	//
15580	// RouteResponseKey is a required field
15581	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
15582}
15583
15584// String returns the string representation
15585func (s RouteResponse) String() string {
15586	return awsutil.Prettify(s)
15587}
15588
15589// GoString returns the string representation
15590func (s RouteResponse) GoString() string {
15591	return s.String()
15592}
15593
15594// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
15595func (s *RouteResponse) SetModelSelectionExpression(v string) *RouteResponse {
15596	s.ModelSelectionExpression = &v
15597	return s
15598}
15599
15600// SetResponseModels sets the ResponseModels field's value.
15601func (s *RouteResponse) SetResponseModels(v map[string]*string) *RouteResponse {
15602	s.ResponseModels = v
15603	return s
15604}
15605
15606// SetResponseParameters sets the ResponseParameters field's value.
15607func (s *RouteResponse) SetResponseParameters(v map[string]*ParameterConstraints) *RouteResponse {
15608	s.ResponseParameters = v
15609	return s
15610}
15611
15612// SetRouteResponseId sets the RouteResponseId field's value.
15613func (s *RouteResponse) SetRouteResponseId(v string) *RouteResponse {
15614	s.RouteResponseId = &v
15615	return s
15616}
15617
15618// SetRouteResponseKey sets the RouteResponseKey field's value.
15619func (s *RouteResponse) SetRouteResponseKey(v string) *RouteResponse {
15620	s.RouteResponseKey = &v
15621	return s
15622}
15623
15624// Represents a collection of route settings.
15625type RouteSettings struct {
15626	_ struct{} `type:"structure"`
15627
15628	// Specifies whether (true) or not (false) data trace logging is enabled for
15629	// this route. This property affects the log entries pushed to Amazon CloudWatch
15630	// Logs. Supported only for WebSocket APIs.
15631	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
15632
15633	// Specifies whether detailed metrics are enabled.
15634	DetailedMetricsEnabled *bool `locationName:"detailedMetricsEnabled" type:"boolean"`
15635
15636	// Specifies the logging level for this route: INFO, ERROR, or OFF. This property
15637	// affects the log entries pushed to Amazon CloudWatch Logs. Supported only
15638	// for WebSocket APIs.
15639	LoggingLevel *string `locationName:"loggingLevel" type:"string" enum:"LoggingLevel"`
15640
15641	// Specifies the throttling burst limit.
15642	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
15643
15644	// Specifies the throttling rate limit.
15645	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
15646}
15647
15648// String returns the string representation
15649func (s RouteSettings) String() string {
15650	return awsutil.Prettify(s)
15651}
15652
15653// GoString returns the string representation
15654func (s RouteSettings) GoString() string {
15655	return s.String()
15656}
15657
15658// SetDataTraceEnabled sets the DataTraceEnabled field's value.
15659func (s *RouteSettings) SetDataTraceEnabled(v bool) *RouteSettings {
15660	s.DataTraceEnabled = &v
15661	return s
15662}
15663
15664// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
15665func (s *RouteSettings) SetDetailedMetricsEnabled(v bool) *RouteSettings {
15666	s.DetailedMetricsEnabled = &v
15667	return s
15668}
15669
15670// SetLoggingLevel sets the LoggingLevel field's value.
15671func (s *RouteSettings) SetLoggingLevel(v string) *RouteSettings {
15672	s.LoggingLevel = &v
15673	return s
15674}
15675
15676// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
15677func (s *RouteSettings) SetThrottlingBurstLimit(v int64) *RouteSettings {
15678	s.ThrottlingBurstLimit = &v
15679	return s
15680}
15681
15682// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
15683func (s *RouteSettings) SetThrottlingRateLimit(v float64) *RouteSettings {
15684	s.ThrottlingRateLimit = &v
15685	return s
15686}
15687
15688// Represents an API stage.
15689type Stage struct {
15690	_ struct{} `type:"structure"`
15691
15692	// Settings for logging access in this stage.
15693	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
15694
15695	// Specifies whether a stage is managed by API Gateway. If you created an API
15696	// using quick create, the $default stage is managed by API Gateway. You can't
15697	// modify the $default stage.
15698	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15699
15700	// Specifies whether updates to an API automatically trigger a new deployment.
15701	// The default value is false.
15702	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
15703
15704	// The identifier of a client certificate for a Stage. Supported only for WebSocket
15705	// APIs.
15706	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
15707
15708	// The timestamp when the stage was created.
15709	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
15710
15711	// Default route settings for the stage.
15712	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
15713
15714	// The identifier of the Deployment that the Stage is associated with. Can't
15715	// be updated if autoDeploy is enabled.
15716	DeploymentId *string `locationName:"deploymentId" type:"string"`
15717
15718	// The description of the stage.
15719	Description *string `locationName:"description" type:"string"`
15720
15721	// Describes the status of the last deployment of a stage. Supported only for
15722	// stages with autoDeploy enabled.
15723	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
15724
15725	// The timestamp when the stage was last updated.
15726	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
15727
15728	// Route settings for the stage, by routeKey.
15729	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
15730
15731	// The name of the stage.
15732	//
15733	// StageName is a required field
15734	StageName *string `locationName:"stageName" type:"string" required:"true"`
15735
15736	// A map that defines the stage variables for a stage resource. Variable names
15737	// can have alphanumeric and underscore characters, and the values must match
15738	// [A-Za-z0-9-._~:/?#&=,]+.
15739	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
15740
15741	// The collection of tags. Each tag element is associated with a given resource.
15742	Tags map[string]*string `locationName:"tags" type:"map"`
15743}
15744
15745// String returns the string representation
15746func (s Stage) String() string {
15747	return awsutil.Prettify(s)
15748}
15749
15750// GoString returns the string representation
15751func (s Stage) GoString() string {
15752	return s.String()
15753}
15754
15755// SetAccessLogSettings sets the AccessLogSettings field's value.
15756func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
15757	s.AccessLogSettings = v
15758	return s
15759}
15760
15761// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15762func (s *Stage) SetApiGatewayManaged(v bool) *Stage {
15763	s.ApiGatewayManaged = &v
15764	return s
15765}
15766
15767// SetAutoDeploy sets the AutoDeploy field's value.
15768func (s *Stage) SetAutoDeploy(v bool) *Stage {
15769	s.AutoDeploy = &v
15770	return s
15771}
15772
15773// SetClientCertificateId sets the ClientCertificateId field's value.
15774func (s *Stage) SetClientCertificateId(v string) *Stage {
15775	s.ClientCertificateId = &v
15776	return s
15777}
15778
15779// SetCreatedDate sets the CreatedDate field's value.
15780func (s *Stage) SetCreatedDate(v time.Time) *Stage {
15781	s.CreatedDate = &v
15782	return s
15783}
15784
15785// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
15786func (s *Stage) SetDefaultRouteSettings(v *RouteSettings) *Stage {
15787	s.DefaultRouteSettings = v
15788	return s
15789}
15790
15791// SetDeploymentId sets the DeploymentId field's value.
15792func (s *Stage) SetDeploymentId(v string) *Stage {
15793	s.DeploymentId = &v
15794	return s
15795}
15796
15797// SetDescription sets the Description field's value.
15798func (s *Stage) SetDescription(v string) *Stage {
15799	s.Description = &v
15800	return s
15801}
15802
15803// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
15804func (s *Stage) SetLastDeploymentStatusMessage(v string) *Stage {
15805	s.LastDeploymentStatusMessage = &v
15806	return s
15807}
15808
15809// SetLastUpdatedDate sets the LastUpdatedDate field's value.
15810func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
15811	s.LastUpdatedDate = &v
15812	return s
15813}
15814
15815// SetRouteSettings sets the RouteSettings field's value.
15816func (s *Stage) SetRouteSettings(v map[string]*RouteSettings) *Stage {
15817	s.RouteSettings = v
15818	return s
15819}
15820
15821// SetStageName sets the StageName field's value.
15822func (s *Stage) SetStageName(v string) *Stage {
15823	s.StageName = &v
15824	return s
15825}
15826
15827// SetStageVariables sets the StageVariables field's value.
15828func (s *Stage) SetStageVariables(v map[string]*string) *Stage {
15829	s.StageVariables = v
15830	return s
15831}
15832
15833// SetTags sets the Tags field's value.
15834func (s *Stage) SetTags(v map[string]*string) *Stage {
15835	s.Tags = v
15836	return s
15837}
15838
15839type TagResourceInput struct {
15840	_ struct{} `type:"structure"`
15841
15842	// ResourceArn is a required field
15843	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
15844
15845	// Represents a collection of tags associated with the resource.
15846	Tags map[string]*string `locationName:"tags" type:"map"`
15847}
15848
15849// String returns the string representation
15850func (s TagResourceInput) String() string {
15851	return awsutil.Prettify(s)
15852}
15853
15854// GoString returns the string representation
15855func (s TagResourceInput) GoString() string {
15856	return s.String()
15857}
15858
15859// Validate inspects the fields of the type to determine if they are valid.
15860func (s *TagResourceInput) Validate() error {
15861	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
15862	if s.ResourceArn == nil {
15863		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15864	}
15865	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15866		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15867	}
15868
15869	if invalidParams.Len() > 0 {
15870		return invalidParams
15871	}
15872	return nil
15873}
15874
15875// SetResourceArn sets the ResourceArn field's value.
15876func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
15877	s.ResourceArn = &v
15878	return s
15879}
15880
15881// SetTags sets the Tags field's value.
15882func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
15883	s.Tags = v
15884	return s
15885}
15886
15887type TagResourceOutput struct {
15888	_ struct{} `type:"structure"`
15889}
15890
15891// String returns the string representation
15892func (s TagResourceOutput) String() string {
15893	return awsutil.Prettify(s)
15894}
15895
15896// GoString returns the string representation
15897func (s TagResourceOutput) GoString() string {
15898	return s.String()
15899}
15900
15901// The TLS configuration for a private integration. If you specify a TLS configuration,
15902// private integration traffic uses the HTTPS protocol. Supported only for HTTP
15903// APIs.
15904type TlsConfig struct {
15905	_ struct{} `type:"structure"`
15906
15907	// If you specify a server name, API Gateway uses it to verify the hostname
15908	// on the integration's certificate. The server name is also included in the
15909	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
15910	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
15911}
15912
15913// String returns the string representation
15914func (s TlsConfig) String() string {
15915	return awsutil.Prettify(s)
15916}
15917
15918// GoString returns the string representation
15919func (s TlsConfig) GoString() string {
15920	return s.String()
15921}
15922
15923// SetServerNameToVerify sets the ServerNameToVerify field's value.
15924func (s *TlsConfig) SetServerNameToVerify(v string) *TlsConfig {
15925	s.ServerNameToVerify = &v
15926	return s
15927}
15928
15929// The TLS configuration for a private integration. If you specify a TLS configuration,
15930// private integration traffic uses the HTTPS protocol. Supported only for HTTP
15931// APIs.
15932type TlsConfigInput struct {
15933	_ struct{} `type:"structure"`
15934
15935	// If you specify a server name, API Gateway uses it to verify the hostname
15936	// on the integration's certificate. The server name is also included in the
15937	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
15938	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
15939}
15940
15941// String returns the string representation
15942func (s TlsConfigInput) String() string {
15943	return awsutil.Prettify(s)
15944}
15945
15946// GoString returns the string representation
15947func (s TlsConfigInput) GoString() string {
15948	return s.String()
15949}
15950
15951// SetServerNameToVerify sets the ServerNameToVerify field's value.
15952func (s *TlsConfigInput) SetServerNameToVerify(v string) *TlsConfigInput {
15953	s.ServerNameToVerify = &v
15954	return s
15955}
15956
15957// A limit has been exceeded. See the accompanying error message for details.
15958type TooManyRequestsException struct {
15959	_            struct{}                  `type:"structure"`
15960	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15961
15962	LimitType *string `locationName:"limitType" type:"string"`
15963
15964	Message_ *string `locationName:"message" type:"string"`
15965}
15966
15967// String returns the string representation
15968func (s TooManyRequestsException) String() string {
15969	return awsutil.Prettify(s)
15970}
15971
15972// GoString returns the string representation
15973func (s TooManyRequestsException) GoString() string {
15974	return s.String()
15975}
15976
15977func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
15978	return &TooManyRequestsException{
15979		RespMetadata: v,
15980	}
15981}
15982
15983// Code returns the exception type name.
15984func (s *TooManyRequestsException) Code() string {
15985	return "TooManyRequestsException"
15986}
15987
15988// Message returns the exception's message.
15989func (s *TooManyRequestsException) Message() string {
15990	if s.Message_ != nil {
15991		return *s.Message_
15992	}
15993	return ""
15994}
15995
15996// OrigErr always returns nil, satisfies awserr.Error interface.
15997func (s *TooManyRequestsException) OrigErr() error {
15998	return nil
15999}
16000
16001func (s *TooManyRequestsException) Error() string {
16002	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16003}
16004
16005// Status code returns the HTTP status code for the request's response error.
16006func (s *TooManyRequestsException) StatusCode() int {
16007	return s.RespMetadata.StatusCode
16008}
16009
16010// RequestID returns the service's response RequestID for request.
16011func (s *TooManyRequestsException) RequestID() string {
16012	return s.RespMetadata.RequestID
16013}
16014
16015type UntagResourceInput struct {
16016	_ struct{} `type:"structure"`
16017
16018	// ResourceArn is a required field
16019	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
16020
16021	// TagKeys is a required field
16022	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
16023}
16024
16025// String returns the string representation
16026func (s UntagResourceInput) String() string {
16027	return awsutil.Prettify(s)
16028}
16029
16030// GoString returns the string representation
16031func (s UntagResourceInput) GoString() string {
16032	return s.String()
16033}
16034
16035// Validate inspects the fields of the type to determine if they are valid.
16036func (s *UntagResourceInput) Validate() error {
16037	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
16038	if s.ResourceArn == nil {
16039		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16040	}
16041	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
16042		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
16043	}
16044	if s.TagKeys == nil {
16045		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
16046	}
16047
16048	if invalidParams.Len() > 0 {
16049		return invalidParams
16050	}
16051	return nil
16052}
16053
16054// SetResourceArn sets the ResourceArn field's value.
16055func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
16056	s.ResourceArn = &v
16057	return s
16058}
16059
16060// SetTagKeys sets the TagKeys field's value.
16061func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
16062	s.TagKeys = v
16063	return s
16064}
16065
16066type UntagResourceOutput struct {
16067	_ struct{} `type:"structure"`
16068}
16069
16070// String returns the string representation
16071func (s UntagResourceOutput) String() string {
16072	return awsutil.Prettify(s)
16073}
16074
16075// GoString returns the string representation
16076func (s UntagResourceOutput) GoString() string {
16077	return s.String()
16078}
16079
16080type UpdateApiInput struct {
16081	_ struct{} `type:"structure"`
16082
16083	// ApiId is a required field
16084	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16085
16086	// An expression used to extract information at runtime. See Selection Expressions
16087	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16088	// for more information.
16089	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
16090
16091	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
16092	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
16093	// for more information.
16094	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
16095
16096	// Represents an Amazon Resource Name (ARN).
16097	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
16098
16099	// A string with a length between [0-1024].
16100	Description *string `locationName:"description" type:"string"`
16101
16102	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
16103
16104	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
16105
16106	// A string with a length between [1-128].
16107	Name *string `locationName:"name" type:"string"`
16108
16109	// After evaluating a selection expression, the result is compared against one
16110	// or more selection keys to find a matching key. See Selection Expressions
16111	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16112	// for a list of expressions and each expression's associated selection key
16113	// type.
16114	RouteKey *string `locationName:"routeKey" type:"string"`
16115
16116	// An expression used to extract information at runtime. See Selection Expressions
16117	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16118	// for more information.
16119	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
16120
16121	// A string representation of a URI with a length between [1-2048].
16122	Target *string `locationName:"target" type:"string"`
16123
16124	// A string with a length between [1-64].
16125	Version *string `locationName:"version" type:"string"`
16126}
16127
16128// String returns the string representation
16129func (s UpdateApiInput) String() string {
16130	return awsutil.Prettify(s)
16131}
16132
16133// GoString returns the string representation
16134func (s UpdateApiInput) GoString() string {
16135	return s.String()
16136}
16137
16138// Validate inspects the fields of the type to determine if they are valid.
16139func (s *UpdateApiInput) Validate() error {
16140	invalidParams := request.ErrInvalidParams{Context: "UpdateApiInput"}
16141	if s.ApiId == nil {
16142		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16143	}
16144	if s.ApiId != nil && len(*s.ApiId) < 1 {
16145		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16146	}
16147	if s.CorsConfiguration != nil {
16148		if err := s.CorsConfiguration.Validate(); err != nil {
16149			invalidParams.AddNested("CorsConfiguration", err.(request.ErrInvalidParams))
16150		}
16151	}
16152
16153	if invalidParams.Len() > 0 {
16154		return invalidParams
16155	}
16156	return nil
16157}
16158
16159// SetApiId sets the ApiId field's value.
16160func (s *UpdateApiInput) SetApiId(v string) *UpdateApiInput {
16161	s.ApiId = &v
16162	return s
16163}
16164
16165// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
16166func (s *UpdateApiInput) SetApiKeySelectionExpression(v string) *UpdateApiInput {
16167	s.ApiKeySelectionExpression = &v
16168	return s
16169}
16170
16171// SetCorsConfiguration sets the CorsConfiguration field's value.
16172func (s *UpdateApiInput) SetCorsConfiguration(v *Cors) *UpdateApiInput {
16173	s.CorsConfiguration = v
16174	return s
16175}
16176
16177// SetCredentialsArn sets the CredentialsArn field's value.
16178func (s *UpdateApiInput) SetCredentialsArn(v string) *UpdateApiInput {
16179	s.CredentialsArn = &v
16180	return s
16181}
16182
16183// SetDescription sets the Description field's value.
16184func (s *UpdateApiInput) SetDescription(v string) *UpdateApiInput {
16185	s.Description = &v
16186	return s
16187}
16188
16189// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
16190func (s *UpdateApiInput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiInput {
16191	s.DisableExecuteApiEndpoint = &v
16192	return s
16193}
16194
16195// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
16196func (s *UpdateApiInput) SetDisableSchemaValidation(v bool) *UpdateApiInput {
16197	s.DisableSchemaValidation = &v
16198	return s
16199}
16200
16201// SetName sets the Name field's value.
16202func (s *UpdateApiInput) SetName(v string) *UpdateApiInput {
16203	s.Name = &v
16204	return s
16205}
16206
16207// SetRouteKey sets the RouteKey field's value.
16208func (s *UpdateApiInput) SetRouteKey(v string) *UpdateApiInput {
16209	s.RouteKey = &v
16210	return s
16211}
16212
16213// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
16214func (s *UpdateApiInput) SetRouteSelectionExpression(v string) *UpdateApiInput {
16215	s.RouteSelectionExpression = &v
16216	return s
16217}
16218
16219// SetTarget sets the Target field's value.
16220func (s *UpdateApiInput) SetTarget(v string) *UpdateApiInput {
16221	s.Target = &v
16222	return s
16223}
16224
16225// SetVersion sets the Version field's value.
16226func (s *UpdateApiInput) SetVersion(v string) *UpdateApiInput {
16227	s.Version = &v
16228	return s
16229}
16230
16231type UpdateApiMappingInput struct {
16232	_ struct{} `type:"structure"`
16233
16234	// The identifier.
16235	//
16236	// ApiId is a required field
16237	ApiId *string `locationName:"apiId" type:"string" required:"true"`
16238
16239	// ApiMappingId is a required field
16240	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
16241
16242	// After evaluating a selection expression, the result is compared against one
16243	// or more selection keys to find a matching key. See Selection Expressions
16244	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16245	// for a list of expressions and each expression's associated selection key
16246	// type.
16247	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
16248
16249	// DomainName is a required field
16250	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
16251
16252	// A string with a length between [1-128].
16253	Stage *string `locationName:"stage" type:"string"`
16254}
16255
16256// String returns the string representation
16257func (s UpdateApiMappingInput) String() string {
16258	return awsutil.Prettify(s)
16259}
16260
16261// GoString returns the string representation
16262func (s UpdateApiMappingInput) GoString() string {
16263	return s.String()
16264}
16265
16266// Validate inspects the fields of the type to determine if they are valid.
16267func (s *UpdateApiMappingInput) Validate() error {
16268	invalidParams := request.ErrInvalidParams{Context: "UpdateApiMappingInput"}
16269	if s.ApiId == nil {
16270		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16271	}
16272	if s.ApiMappingId == nil {
16273		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
16274	}
16275	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
16276		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
16277	}
16278	if s.DomainName == nil {
16279		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16280	}
16281	if s.DomainName != nil && len(*s.DomainName) < 1 {
16282		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16283	}
16284
16285	if invalidParams.Len() > 0 {
16286		return invalidParams
16287	}
16288	return nil
16289}
16290
16291// SetApiId sets the ApiId field's value.
16292func (s *UpdateApiMappingInput) SetApiId(v string) *UpdateApiMappingInput {
16293	s.ApiId = &v
16294	return s
16295}
16296
16297// SetApiMappingId sets the ApiMappingId field's value.
16298func (s *UpdateApiMappingInput) SetApiMappingId(v string) *UpdateApiMappingInput {
16299	s.ApiMappingId = &v
16300	return s
16301}
16302
16303// SetApiMappingKey sets the ApiMappingKey field's value.
16304func (s *UpdateApiMappingInput) SetApiMappingKey(v string) *UpdateApiMappingInput {
16305	s.ApiMappingKey = &v
16306	return s
16307}
16308
16309// SetDomainName sets the DomainName field's value.
16310func (s *UpdateApiMappingInput) SetDomainName(v string) *UpdateApiMappingInput {
16311	s.DomainName = &v
16312	return s
16313}
16314
16315// SetStage sets the Stage field's value.
16316func (s *UpdateApiMappingInput) SetStage(v string) *UpdateApiMappingInput {
16317	s.Stage = &v
16318	return s
16319}
16320
16321type UpdateApiMappingOutput struct {
16322	_ struct{} `type:"structure"`
16323
16324	// The identifier.
16325	ApiId *string `locationName:"apiId" type:"string"`
16326
16327	// The identifier.
16328	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
16329
16330	// After evaluating a selection expression, the result is compared against one
16331	// or more selection keys to find a matching key. See Selection Expressions
16332	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16333	// for a list of expressions and each expression's associated selection key
16334	// type.
16335	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
16336
16337	// A string with a length between [1-128].
16338	Stage *string `locationName:"stage" type:"string"`
16339}
16340
16341// String returns the string representation
16342func (s UpdateApiMappingOutput) String() string {
16343	return awsutil.Prettify(s)
16344}
16345
16346// GoString returns the string representation
16347func (s UpdateApiMappingOutput) GoString() string {
16348	return s.String()
16349}
16350
16351// SetApiId sets the ApiId field's value.
16352func (s *UpdateApiMappingOutput) SetApiId(v string) *UpdateApiMappingOutput {
16353	s.ApiId = &v
16354	return s
16355}
16356
16357// SetApiMappingId sets the ApiMappingId field's value.
16358func (s *UpdateApiMappingOutput) SetApiMappingId(v string) *UpdateApiMappingOutput {
16359	s.ApiMappingId = &v
16360	return s
16361}
16362
16363// SetApiMappingKey sets the ApiMappingKey field's value.
16364func (s *UpdateApiMappingOutput) SetApiMappingKey(v string) *UpdateApiMappingOutput {
16365	s.ApiMappingKey = &v
16366	return s
16367}
16368
16369// SetStage sets the Stage field's value.
16370func (s *UpdateApiMappingOutput) SetStage(v string) *UpdateApiMappingOutput {
16371	s.Stage = &v
16372	return s
16373}
16374
16375type UpdateApiOutput struct {
16376	_ struct{} `type:"structure"`
16377
16378	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
16379
16380	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
16381
16382	// The identifier.
16383	ApiId *string `locationName:"apiId" type:"string"`
16384
16385	// An expression used to extract information at runtime. See Selection Expressions
16386	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16387	// for more information.
16388	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
16389
16390	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
16391	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
16392	// for more information.
16393	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
16394
16395	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
16396
16397	// A string with a length between [0-1024].
16398	Description *string `locationName:"description" type:"string"`
16399
16400	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
16401
16402	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
16403
16404	ImportInfo []*string `locationName:"importInfo" type:"list"`
16405
16406	// A string with a length between [1-128].
16407	Name *string `locationName:"name" type:"string"`
16408
16409	// Represents a protocol type.
16410	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
16411
16412	// An expression used to extract information at runtime. See Selection Expressions
16413	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16414	// for more information.
16415	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
16416
16417	// Represents a collection of tags associated with the resource.
16418	Tags map[string]*string `locationName:"tags" type:"map"`
16419
16420	// A string with a length between [1-64].
16421	Version *string `locationName:"version" type:"string"`
16422
16423	Warnings []*string `locationName:"warnings" type:"list"`
16424}
16425
16426// String returns the string representation
16427func (s UpdateApiOutput) String() string {
16428	return awsutil.Prettify(s)
16429}
16430
16431// GoString returns the string representation
16432func (s UpdateApiOutput) GoString() string {
16433	return s.String()
16434}
16435
16436// SetApiEndpoint sets the ApiEndpoint field's value.
16437func (s *UpdateApiOutput) SetApiEndpoint(v string) *UpdateApiOutput {
16438	s.ApiEndpoint = &v
16439	return s
16440}
16441
16442// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
16443func (s *UpdateApiOutput) SetApiGatewayManaged(v bool) *UpdateApiOutput {
16444	s.ApiGatewayManaged = &v
16445	return s
16446}
16447
16448// SetApiId sets the ApiId field's value.
16449func (s *UpdateApiOutput) SetApiId(v string) *UpdateApiOutput {
16450	s.ApiId = &v
16451	return s
16452}
16453
16454// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
16455func (s *UpdateApiOutput) SetApiKeySelectionExpression(v string) *UpdateApiOutput {
16456	s.ApiKeySelectionExpression = &v
16457	return s
16458}
16459
16460// SetCorsConfiguration sets the CorsConfiguration field's value.
16461func (s *UpdateApiOutput) SetCorsConfiguration(v *Cors) *UpdateApiOutput {
16462	s.CorsConfiguration = v
16463	return s
16464}
16465
16466// SetCreatedDate sets the CreatedDate field's value.
16467func (s *UpdateApiOutput) SetCreatedDate(v time.Time) *UpdateApiOutput {
16468	s.CreatedDate = &v
16469	return s
16470}
16471
16472// SetDescription sets the Description field's value.
16473func (s *UpdateApiOutput) SetDescription(v string) *UpdateApiOutput {
16474	s.Description = &v
16475	return s
16476}
16477
16478// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
16479func (s *UpdateApiOutput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiOutput {
16480	s.DisableExecuteApiEndpoint = &v
16481	return s
16482}
16483
16484// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
16485func (s *UpdateApiOutput) SetDisableSchemaValidation(v bool) *UpdateApiOutput {
16486	s.DisableSchemaValidation = &v
16487	return s
16488}
16489
16490// SetImportInfo sets the ImportInfo field's value.
16491func (s *UpdateApiOutput) SetImportInfo(v []*string) *UpdateApiOutput {
16492	s.ImportInfo = v
16493	return s
16494}
16495
16496// SetName sets the Name field's value.
16497func (s *UpdateApiOutput) SetName(v string) *UpdateApiOutput {
16498	s.Name = &v
16499	return s
16500}
16501
16502// SetProtocolType sets the ProtocolType field's value.
16503func (s *UpdateApiOutput) SetProtocolType(v string) *UpdateApiOutput {
16504	s.ProtocolType = &v
16505	return s
16506}
16507
16508// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
16509func (s *UpdateApiOutput) SetRouteSelectionExpression(v string) *UpdateApiOutput {
16510	s.RouteSelectionExpression = &v
16511	return s
16512}
16513
16514// SetTags sets the Tags field's value.
16515func (s *UpdateApiOutput) SetTags(v map[string]*string) *UpdateApiOutput {
16516	s.Tags = v
16517	return s
16518}
16519
16520// SetVersion sets the Version field's value.
16521func (s *UpdateApiOutput) SetVersion(v string) *UpdateApiOutput {
16522	s.Version = &v
16523	return s
16524}
16525
16526// SetWarnings sets the Warnings field's value.
16527func (s *UpdateApiOutput) SetWarnings(v []*string) *UpdateApiOutput {
16528	s.Warnings = v
16529	return s
16530}
16531
16532type UpdateAuthorizerInput struct {
16533	_ struct{} `type:"structure"`
16534
16535	// ApiId is a required field
16536	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16537
16538	// Represents an Amazon Resource Name (ARN).
16539	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
16540
16541	// AuthorizerId is a required field
16542	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
16543
16544	// A string with a length between [1-64].
16545	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
16546
16547	// An integer with a value between [0-3600].
16548	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
16549
16550	// The authorizer type. Specify REQUEST for a Lambda function using incoming
16551	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
16552	// HTTP APIs).
16553	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
16554
16555	// A string representation of a URI with a length between [1-2048].
16556	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
16557
16558	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
16559
16560	// The identity source for which authorization is requested. For the REQUEST
16561	// authorizer, this is required when authorization caching is enabled. The value
16562	// is a comma-separated string of one or more mapping expressions of the specified
16563	// request parameters. For example, if an Auth header, a Name query string parameter
16564	// are defined as identity sources, this value is $method.request.header.Auth,
16565	// $method.request.querystring.Name. These parameters will be used to derive
16566	// the authorization caching key and to perform runtime validation of the REQUEST
16567	// authorizer by verifying all of the identity-related request parameters are
16568	// present, not null and non-empty. Only when this is true does the authorizer
16569	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
16570	// response without calling the Lambda function. The valid value is a string
16571	// of comma-separated mapping expressions of the specified request parameters.
16572	// When the authorization caching is not enabled, this property is optional.
16573	IdentitySource []*string `locationName:"identitySource" type:"list"`
16574
16575	// A string with a length between [0-1024].
16576	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
16577
16578	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
16579	// type. Supported only for HTTP APIs.
16580	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
16581
16582	// A string with a length between [1-128].
16583	Name *string `locationName:"name" type:"string"`
16584}
16585
16586// String returns the string representation
16587func (s UpdateAuthorizerInput) String() string {
16588	return awsutil.Prettify(s)
16589}
16590
16591// GoString returns the string representation
16592func (s UpdateAuthorizerInput) GoString() string {
16593	return s.String()
16594}
16595
16596// Validate inspects the fields of the type to determine if they are valid.
16597func (s *UpdateAuthorizerInput) Validate() error {
16598	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
16599	if s.ApiId == nil {
16600		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16601	}
16602	if s.ApiId != nil && len(*s.ApiId) < 1 {
16603		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16604	}
16605	if s.AuthorizerId == nil {
16606		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
16607	}
16608	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
16609		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
16610	}
16611
16612	if invalidParams.Len() > 0 {
16613		return invalidParams
16614	}
16615	return nil
16616}
16617
16618// SetApiId sets the ApiId field's value.
16619func (s *UpdateAuthorizerInput) SetApiId(v string) *UpdateAuthorizerInput {
16620	s.ApiId = &v
16621	return s
16622}
16623
16624// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
16625func (s *UpdateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerInput {
16626	s.AuthorizerCredentialsArn = &v
16627	return s
16628}
16629
16630// SetAuthorizerId sets the AuthorizerId field's value.
16631func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
16632	s.AuthorizerId = &v
16633	return s
16634}
16635
16636// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
16637func (s *UpdateAuthorizerInput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerInput {
16638	s.AuthorizerPayloadFormatVersion = &v
16639	return s
16640}
16641
16642// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
16643func (s *UpdateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerInput {
16644	s.AuthorizerResultTtlInSeconds = &v
16645	return s
16646}
16647
16648// SetAuthorizerType sets the AuthorizerType field's value.
16649func (s *UpdateAuthorizerInput) SetAuthorizerType(v string) *UpdateAuthorizerInput {
16650	s.AuthorizerType = &v
16651	return s
16652}
16653
16654// SetAuthorizerUri sets the AuthorizerUri field's value.
16655func (s *UpdateAuthorizerInput) SetAuthorizerUri(v string) *UpdateAuthorizerInput {
16656	s.AuthorizerUri = &v
16657	return s
16658}
16659
16660// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
16661func (s *UpdateAuthorizerInput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerInput {
16662	s.EnableSimpleResponses = &v
16663	return s
16664}
16665
16666// SetIdentitySource sets the IdentitySource field's value.
16667func (s *UpdateAuthorizerInput) SetIdentitySource(v []*string) *UpdateAuthorizerInput {
16668	s.IdentitySource = v
16669	return s
16670}
16671
16672// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
16673func (s *UpdateAuthorizerInput) SetIdentityValidationExpression(v string) *UpdateAuthorizerInput {
16674	s.IdentityValidationExpression = &v
16675	return s
16676}
16677
16678// SetJwtConfiguration sets the JwtConfiguration field's value.
16679func (s *UpdateAuthorizerInput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerInput {
16680	s.JwtConfiguration = v
16681	return s
16682}
16683
16684// SetName sets the Name field's value.
16685func (s *UpdateAuthorizerInput) SetName(v string) *UpdateAuthorizerInput {
16686	s.Name = &v
16687	return s
16688}
16689
16690type UpdateAuthorizerOutput struct {
16691	_ struct{} `type:"structure"`
16692
16693	// Represents an Amazon Resource Name (ARN).
16694	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
16695
16696	// The identifier.
16697	AuthorizerId *string `locationName:"authorizerId" type:"string"`
16698
16699	// A string with a length between [1-64].
16700	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
16701
16702	// An integer with a value between [0-3600].
16703	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
16704
16705	// The authorizer type. Specify REQUEST for a Lambda function using incoming
16706	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
16707	// HTTP APIs).
16708	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
16709
16710	// A string representation of a URI with a length between [1-2048].
16711	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
16712
16713	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
16714
16715	// The identity source for which authorization is requested. For the REQUEST
16716	// authorizer, this is required when authorization caching is enabled. The value
16717	// is a comma-separated string of one or more mapping expressions of the specified
16718	// request parameters. For example, if an Auth header, a Name query string parameter
16719	// are defined as identity sources, this value is $method.request.header.Auth,
16720	// $method.request.querystring.Name. These parameters will be used to derive
16721	// the authorization caching key and to perform runtime validation of the REQUEST
16722	// authorizer by verifying all of the identity-related request parameters are
16723	// present, not null and non-empty. Only when this is true does the authorizer
16724	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
16725	// response without calling the Lambda function. The valid value is a string
16726	// of comma-separated mapping expressions of the specified request parameters.
16727	// When the authorization caching is not enabled, this property is optional.
16728	IdentitySource []*string `locationName:"identitySource" type:"list"`
16729
16730	// A string with a length between [0-1024].
16731	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
16732
16733	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
16734	// type. Supported only for HTTP APIs.
16735	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
16736
16737	// A string with a length between [1-128].
16738	Name *string `locationName:"name" type:"string"`
16739}
16740
16741// String returns the string representation
16742func (s UpdateAuthorizerOutput) String() string {
16743	return awsutil.Prettify(s)
16744}
16745
16746// GoString returns the string representation
16747func (s UpdateAuthorizerOutput) GoString() string {
16748	return s.String()
16749}
16750
16751// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
16752func (s *UpdateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerOutput {
16753	s.AuthorizerCredentialsArn = &v
16754	return s
16755}
16756
16757// SetAuthorizerId sets the AuthorizerId field's value.
16758func (s *UpdateAuthorizerOutput) SetAuthorizerId(v string) *UpdateAuthorizerOutput {
16759	s.AuthorizerId = &v
16760	return s
16761}
16762
16763// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
16764func (s *UpdateAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerOutput {
16765	s.AuthorizerPayloadFormatVersion = &v
16766	return s
16767}
16768
16769// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
16770func (s *UpdateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerOutput {
16771	s.AuthorizerResultTtlInSeconds = &v
16772	return s
16773}
16774
16775// SetAuthorizerType sets the AuthorizerType field's value.
16776func (s *UpdateAuthorizerOutput) SetAuthorizerType(v string) *UpdateAuthorizerOutput {
16777	s.AuthorizerType = &v
16778	return s
16779}
16780
16781// SetAuthorizerUri sets the AuthorizerUri field's value.
16782func (s *UpdateAuthorizerOutput) SetAuthorizerUri(v string) *UpdateAuthorizerOutput {
16783	s.AuthorizerUri = &v
16784	return s
16785}
16786
16787// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
16788func (s *UpdateAuthorizerOutput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerOutput {
16789	s.EnableSimpleResponses = &v
16790	return s
16791}
16792
16793// SetIdentitySource sets the IdentitySource field's value.
16794func (s *UpdateAuthorizerOutput) SetIdentitySource(v []*string) *UpdateAuthorizerOutput {
16795	s.IdentitySource = v
16796	return s
16797}
16798
16799// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
16800func (s *UpdateAuthorizerOutput) SetIdentityValidationExpression(v string) *UpdateAuthorizerOutput {
16801	s.IdentityValidationExpression = &v
16802	return s
16803}
16804
16805// SetJwtConfiguration sets the JwtConfiguration field's value.
16806func (s *UpdateAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerOutput {
16807	s.JwtConfiguration = v
16808	return s
16809}
16810
16811// SetName sets the Name field's value.
16812func (s *UpdateAuthorizerOutput) SetName(v string) *UpdateAuthorizerOutput {
16813	s.Name = &v
16814	return s
16815}
16816
16817type UpdateDeploymentInput struct {
16818	_ struct{} `type:"structure"`
16819
16820	// ApiId is a required field
16821	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16822
16823	// DeploymentId is a required field
16824	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
16825
16826	// A string with a length between [0-1024].
16827	Description *string `locationName:"description" type:"string"`
16828}
16829
16830// String returns the string representation
16831func (s UpdateDeploymentInput) String() string {
16832	return awsutil.Prettify(s)
16833}
16834
16835// GoString returns the string representation
16836func (s UpdateDeploymentInput) GoString() string {
16837	return s.String()
16838}
16839
16840// Validate inspects the fields of the type to determine if they are valid.
16841func (s *UpdateDeploymentInput) Validate() error {
16842	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
16843	if s.ApiId == nil {
16844		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16845	}
16846	if s.ApiId != nil && len(*s.ApiId) < 1 {
16847		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16848	}
16849	if s.DeploymentId == nil {
16850		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
16851	}
16852	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
16853		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
16854	}
16855
16856	if invalidParams.Len() > 0 {
16857		return invalidParams
16858	}
16859	return nil
16860}
16861
16862// SetApiId sets the ApiId field's value.
16863func (s *UpdateDeploymentInput) SetApiId(v string) *UpdateDeploymentInput {
16864	s.ApiId = &v
16865	return s
16866}
16867
16868// SetDeploymentId sets the DeploymentId field's value.
16869func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
16870	s.DeploymentId = &v
16871	return s
16872}
16873
16874// SetDescription sets the Description field's value.
16875func (s *UpdateDeploymentInput) SetDescription(v string) *UpdateDeploymentInput {
16876	s.Description = &v
16877	return s
16878}
16879
16880type UpdateDeploymentOutput struct {
16881	_ struct{} `type:"structure"`
16882
16883	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
16884
16885	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
16886
16887	// The identifier.
16888	DeploymentId *string `locationName:"deploymentId" type:"string"`
16889
16890	// Represents a deployment status.
16891	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
16892
16893	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
16894
16895	// A string with a length between [0-1024].
16896	Description *string `locationName:"description" type:"string"`
16897}
16898
16899// String returns the string representation
16900func (s UpdateDeploymentOutput) String() string {
16901	return awsutil.Prettify(s)
16902}
16903
16904// GoString returns the string representation
16905func (s UpdateDeploymentOutput) GoString() string {
16906	return s.String()
16907}
16908
16909// SetAutoDeployed sets the AutoDeployed field's value.
16910func (s *UpdateDeploymentOutput) SetAutoDeployed(v bool) *UpdateDeploymentOutput {
16911	s.AutoDeployed = &v
16912	return s
16913}
16914
16915// SetCreatedDate sets the CreatedDate field's value.
16916func (s *UpdateDeploymentOutput) SetCreatedDate(v time.Time) *UpdateDeploymentOutput {
16917	s.CreatedDate = &v
16918	return s
16919}
16920
16921// SetDeploymentId sets the DeploymentId field's value.
16922func (s *UpdateDeploymentOutput) SetDeploymentId(v string) *UpdateDeploymentOutput {
16923	s.DeploymentId = &v
16924	return s
16925}
16926
16927// SetDeploymentStatus sets the DeploymentStatus field's value.
16928func (s *UpdateDeploymentOutput) SetDeploymentStatus(v string) *UpdateDeploymentOutput {
16929	s.DeploymentStatus = &v
16930	return s
16931}
16932
16933// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
16934func (s *UpdateDeploymentOutput) SetDeploymentStatusMessage(v string) *UpdateDeploymentOutput {
16935	s.DeploymentStatusMessage = &v
16936	return s
16937}
16938
16939// SetDescription sets the Description field's value.
16940func (s *UpdateDeploymentOutput) SetDescription(v string) *UpdateDeploymentOutput {
16941	s.Description = &v
16942	return s
16943}
16944
16945type UpdateDomainNameInput struct {
16946	_ struct{} `type:"structure"`
16947
16948	// DomainName is a required field
16949	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
16950
16951	// The domain name configurations.
16952	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
16953
16954	// If specified, API Gateway performs two-way authentication between the client
16955	// and the server. Clients must present a trusted certificate to access your
16956	// API.
16957	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
16958}
16959
16960// String returns the string representation
16961func (s UpdateDomainNameInput) String() string {
16962	return awsutil.Prettify(s)
16963}
16964
16965// GoString returns the string representation
16966func (s UpdateDomainNameInput) GoString() string {
16967	return s.String()
16968}
16969
16970// Validate inspects the fields of the type to determine if they are valid.
16971func (s *UpdateDomainNameInput) Validate() error {
16972	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
16973	if s.DomainName == nil {
16974		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16975	}
16976	if s.DomainName != nil && len(*s.DomainName) < 1 {
16977		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16978	}
16979
16980	if invalidParams.Len() > 0 {
16981		return invalidParams
16982	}
16983	return nil
16984}
16985
16986// SetDomainName sets the DomainName field's value.
16987func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
16988	s.DomainName = &v
16989	return s
16990}
16991
16992// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
16993func (s *UpdateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameInput {
16994	s.DomainNameConfigurations = v
16995	return s
16996}
16997
16998// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
16999func (s *UpdateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *UpdateDomainNameInput {
17000	s.MutualTlsAuthentication = v
17001	return s
17002}
17003
17004type UpdateDomainNameOutput struct {
17005	_ struct{} `type:"structure"`
17006
17007	// An expression used to extract information at runtime. See Selection Expressions
17008	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17009	// for more information.
17010	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
17011
17012	// A string with a length between [1-512].
17013	DomainName *string `locationName:"domainName" type:"string"`
17014
17015	// The domain name configurations.
17016	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
17017
17018	// If specified, API Gateway performs two-way authentication between the client
17019	// and the server. Clients must present a trusted certificate to access your
17020	// API.
17021	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
17022
17023	// Represents a collection of tags associated with the resource.
17024	Tags map[string]*string `locationName:"tags" type:"map"`
17025}
17026
17027// String returns the string representation
17028func (s UpdateDomainNameOutput) String() string {
17029	return awsutil.Prettify(s)
17030}
17031
17032// GoString returns the string representation
17033func (s UpdateDomainNameOutput) GoString() string {
17034	return s.String()
17035}
17036
17037// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
17038func (s *UpdateDomainNameOutput) SetApiMappingSelectionExpression(v string) *UpdateDomainNameOutput {
17039	s.ApiMappingSelectionExpression = &v
17040	return s
17041}
17042
17043// SetDomainName sets the DomainName field's value.
17044func (s *UpdateDomainNameOutput) SetDomainName(v string) *UpdateDomainNameOutput {
17045	s.DomainName = &v
17046	return s
17047}
17048
17049// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
17050func (s *UpdateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameOutput {
17051	s.DomainNameConfigurations = v
17052	return s
17053}
17054
17055// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
17056func (s *UpdateDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *UpdateDomainNameOutput {
17057	s.MutualTlsAuthentication = v
17058	return s
17059}
17060
17061// SetTags sets the Tags field's value.
17062func (s *UpdateDomainNameOutput) SetTags(v map[string]*string) *UpdateDomainNameOutput {
17063	s.Tags = v
17064	return s
17065}
17066
17067type UpdateIntegrationInput struct {
17068	_ struct{} `type:"structure"`
17069
17070	// ApiId is a required field
17071	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17072
17073	// A string with a length between [1-1024].
17074	ConnectionId *string `locationName:"connectionId" type:"string"`
17075
17076	// Represents a connection type.
17077	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
17078
17079	// Specifies how to handle response payload content type conversions. Supported
17080	// only for WebSocket APIs.
17081	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17082
17083	// Represents an Amazon Resource Name (ARN).
17084	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
17085
17086	// A string with a length between [0-1024].
17087	Description *string `locationName:"description" type:"string"`
17088
17089	// IntegrationId is a required field
17090	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
17091
17092	// A string with a length between [1-64].
17093	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
17094
17095	// A string with a length between [1-128].
17096	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
17097
17098	// Represents an API method integration type.
17099	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
17100
17101	// A string representation of a URI with a length between [1-2048].
17102	IntegrationUri *string `locationName:"integrationUri" type:"string"`
17103
17104	// Represents passthrough behavior for an integration response. Supported only
17105	// for WebSocket APIs.
17106	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
17107
17108	// A string with a length between [1-64].
17109	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
17110
17111	// For WebSocket APIs, a key-value map specifying request parameters that are
17112	// passed from the method request to the backend. The key is an integration
17113	// request parameter name and the associated value is a method request parameter
17114	// value or static value that must be enclosed within single quotes and pre-encoded
17115	// as required by the backend. The method request parameter value must match
17116	// the pattern of method.request.{location}.{name} , where {location} is querystring,
17117	// path, or header; and {name} must be a valid and unique method request parameter
17118	// name.
17119	//
17120	// For HTTP API integrations with a specified integrationSubtype, request parameters
17121	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
17122	// You can provide static values, or map request data, stage variables, or context
17123	// variables that are evaluated at runtime. To learn more, see Working with
17124	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
17125	//
17126	// For HTTP API integrations without a specified integrationSubtype request
17127	// parameters are a key-value map specifying how to transform HTTP requests
17128	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
17129	// where action can be append, overwrite or remove. For values, you can provide
17130	// static values, or map request data, stage variables, or context variables
17131	// that are evaluated at runtime. To learn more, see Transforming API requests
17132	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
17133	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
17134
17135	// A mapping of identifier keys to templates. The value is an actual template
17136	// script. The key is typically a SelectionKey which is chosen based on evaluating
17137	// a selection expression.
17138	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
17139
17140	// Supported only for HTTP APIs. You use response parameters to transform the
17141	// HTTP response from a backend integration before returning the response to
17142	// clients.
17143	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
17144
17145	// An expression used to extract information at runtime. See Selection Expressions
17146	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17147	// for more information.
17148	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17149
17150	// An integer with a value between [50-30000].
17151	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
17152
17153	// The TLS configuration for a private integration. If you specify a TLS configuration,
17154	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
17155	// APIs.
17156	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
17157}
17158
17159// String returns the string representation
17160func (s UpdateIntegrationInput) String() string {
17161	return awsutil.Prettify(s)
17162}
17163
17164// GoString returns the string representation
17165func (s UpdateIntegrationInput) GoString() string {
17166	return s.String()
17167}
17168
17169// Validate inspects the fields of the type to determine if they are valid.
17170func (s *UpdateIntegrationInput) Validate() error {
17171	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
17172	if s.ApiId == nil {
17173		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17174	}
17175	if s.ApiId != nil && len(*s.ApiId) < 1 {
17176		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17177	}
17178	if s.IntegrationId == nil {
17179		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
17180	}
17181	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
17182		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
17183	}
17184	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
17185		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
17186	}
17187
17188	if invalidParams.Len() > 0 {
17189		return invalidParams
17190	}
17191	return nil
17192}
17193
17194// SetApiId sets the ApiId field's value.
17195func (s *UpdateIntegrationInput) SetApiId(v string) *UpdateIntegrationInput {
17196	s.ApiId = &v
17197	return s
17198}
17199
17200// SetConnectionId sets the ConnectionId field's value.
17201func (s *UpdateIntegrationInput) SetConnectionId(v string) *UpdateIntegrationInput {
17202	s.ConnectionId = &v
17203	return s
17204}
17205
17206// SetConnectionType sets the ConnectionType field's value.
17207func (s *UpdateIntegrationInput) SetConnectionType(v string) *UpdateIntegrationInput {
17208	s.ConnectionType = &v
17209	return s
17210}
17211
17212// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17213func (s *UpdateIntegrationInput) SetContentHandlingStrategy(v string) *UpdateIntegrationInput {
17214	s.ContentHandlingStrategy = &v
17215	return s
17216}
17217
17218// SetCredentialsArn sets the CredentialsArn field's value.
17219func (s *UpdateIntegrationInput) SetCredentialsArn(v string) *UpdateIntegrationInput {
17220	s.CredentialsArn = &v
17221	return s
17222}
17223
17224// SetDescription sets the Description field's value.
17225func (s *UpdateIntegrationInput) SetDescription(v string) *UpdateIntegrationInput {
17226	s.Description = &v
17227	return s
17228}
17229
17230// SetIntegrationId sets the IntegrationId field's value.
17231func (s *UpdateIntegrationInput) SetIntegrationId(v string) *UpdateIntegrationInput {
17232	s.IntegrationId = &v
17233	return s
17234}
17235
17236// SetIntegrationMethod sets the IntegrationMethod field's value.
17237func (s *UpdateIntegrationInput) SetIntegrationMethod(v string) *UpdateIntegrationInput {
17238	s.IntegrationMethod = &v
17239	return s
17240}
17241
17242// SetIntegrationSubtype sets the IntegrationSubtype field's value.
17243func (s *UpdateIntegrationInput) SetIntegrationSubtype(v string) *UpdateIntegrationInput {
17244	s.IntegrationSubtype = &v
17245	return s
17246}
17247
17248// SetIntegrationType sets the IntegrationType field's value.
17249func (s *UpdateIntegrationInput) SetIntegrationType(v string) *UpdateIntegrationInput {
17250	s.IntegrationType = &v
17251	return s
17252}
17253
17254// SetIntegrationUri sets the IntegrationUri field's value.
17255func (s *UpdateIntegrationInput) SetIntegrationUri(v string) *UpdateIntegrationInput {
17256	s.IntegrationUri = &v
17257	return s
17258}
17259
17260// SetPassthroughBehavior sets the PassthroughBehavior field's value.
17261func (s *UpdateIntegrationInput) SetPassthroughBehavior(v string) *UpdateIntegrationInput {
17262	s.PassthroughBehavior = &v
17263	return s
17264}
17265
17266// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
17267func (s *UpdateIntegrationInput) SetPayloadFormatVersion(v string) *UpdateIntegrationInput {
17268	s.PayloadFormatVersion = &v
17269	return s
17270}
17271
17272// SetRequestParameters sets the RequestParameters field's value.
17273func (s *UpdateIntegrationInput) SetRequestParameters(v map[string]*string) *UpdateIntegrationInput {
17274	s.RequestParameters = v
17275	return s
17276}
17277
17278// SetRequestTemplates sets the RequestTemplates field's value.
17279func (s *UpdateIntegrationInput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationInput {
17280	s.RequestTemplates = v
17281	return s
17282}
17283
17284// SetResponseParameters sets the ResponseParameters field's value.
17285func (s *UpdateIntegrationInput) SetResponseParameters(v map[string]map[string]*string) *UpdateIntegrationInput {
17286	s.ResponseParameters = v
17287	return s
17288}
17289
17290// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17291func (s *UpdateIntegrationInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationInput {
17292	s.TemplateSelectionExpression = &v
17293	return s
17294}
17295
17296// SetTimeoutInMillis sets the TimeoutInMillis field's value.
17297func (s *UpdateIntegrationInput) SetTimeoutInMillis(v int64) *UpdateIntegrationInput {
17298	s.TimeoutInMillis = &v
17299	return s
17300}
17301
17302// SetTlsConfig sets the TlsConfig field's value.
17303func (s *UpdateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *UpdateIntegrationInput {
17304	s.TlsConfig = v
17305	return s
17306}
17307
17308type UpdateIntegrationOutput struct {
17309	_ struct{} `type:"structure"`
17310
17311	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
17312
17313	// A string with a length between [1-1024].
17314	ConnectionId *string `locationName:"connectionId" type:"string"`
17315
17316	// Represents a connection type.
17317	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
17318
17319	// Specifies how to handle response payload content type conversions. Supported
17320	// only for WebSocket APIs.
17321	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17322
17323	// Represents an Amazon Resource Name (ARN).
17324	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
17325
17326	// A string with a length between [0-1024].
17327	Description *string `locationName:"description" type:"string"`
17328
17329	// The identifier.
17330	IntegrationId *string `locationName:"integrationId" type:"string"`
17331
17332	// A string with a length between [1-64].
17333	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
17334
17335	// An expression used to extract information at runtime. See Selection Expressions
17336	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17337	// for more information.
17338	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
17339
17340	// A string with a length between [1-128].
17341	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
17342
17343	// Represents an API method integration type.
17344	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
17345
17346	// A string representation of a URI with a length between [1-2048].
17347	IntegrationUri *string `locationName:"integrationUri" type:"string"`
17348
17349	// Represents passthrough behavior for an integration response. Supported only
17350	// for WebSocket APIs.
17351	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
17352
17353	// A string with a length between [1-64].
17354	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
17355
17356	// For WebSocket APIs, a key-value map specifying request parameters that are
17357	// passed from the method request to the backend. The key is an integration
17358	// request parameter name and the associated value is a method request parameter
17359	// value or static value that must be enclosed within single quotes and pre-encoded
17360	// as required by the backend. The method request parameter value must match
17361	// the pattern of method.request.{location}.{name} , where {location} is querystring,
17362	// path, or header; and {name} must be a valid and unique method request parameter
17363	// name.
17364	//
17365	// For HTTP API integrations with a specified integrationSubtype, request parameters
17366	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
17367	// You can provide static values, or map request data, stage variables, or context
17368	// variables that are evaluated at runtime. To learn more, see Working with
17369	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
17370	//
17371	// For HTTP API integrations without a specified integrationSubtype request
17372	// parameters are a key-value map specifying how to transform HTTP requests
17373	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
17374	// where action can be append, overwrite or remove. For values, you can provide
17375	// static values, or map request data, stage variables, or context variables
17376	// that are evaluated at runtime. To learn more, see Transforming API requests
17377	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
17378	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
17379
17380	// A mapping of identifier keys to templates. The value is an actual template
17381	// script. The key is typically a SelectionKey which is chosen based on evaluating
17382	// a selection expression.
17383	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
17384
17385	// Supported only for HTTP APIs. You use response parameters to transform the
17386	// HTTP response from a backend integration before returning the response to
17387	// clients.
17388	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
17389
17390	// An expression used to extract information at runtime. See Selection Expressions
17391	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17392	// for more information.
17393	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17394
17395	// An integer with a value between [50-30000].
17396	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
17397
17398	// The TLS configuration for a private integration. If you specify a TLS configuration,
17399	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
17400	// APIs.
17401	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
17402}
17403
17404// String returns the string representation
17405func (s UpdateIntegrationOutput) String() string {
17406	return awsutil.Prettify(s)
17407}
17408
17409// GoString returns the string representation
17410func (s UpdateIntegrationOutput) GoString() string {
17411	return s.String()
17412}
17413
17414// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
17415func (s *UpdateIntegrationOutput) SetApiGatewayManaged(v bool) *UpdateIntegrationOutput {
17416	s.ApiGatewayManaged = &v
17417	return s
17418}
17419
17420// SetConnectionId sets the ConnectionId field's value.
17421func (s *UpdateIntegrationOutput) SetConnectionId(v string) *UpdateIntegrationOutput {
17422	s.ConnectionId = &v
17423	return s
17424}
17425
17426// SetConnectionType sets the ConnectionType field's value.
17427func (s *UpdateIntegrationOutput) SetConnectionType(v string) *UpdateIntegrationOutput {
17428	s.ConnectionType = &v
17429	return s
17430}
17431
17432// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17433func (s *UpdateIntegrationOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationOutput {
17434	s.ContentHandlingStrategy = &v
17435	return s
17436}
17437
17438// SetCredentialsArn sets the CredentialsArn field's value.
17439func (s *UpdateIntegrationOutput) SetCredentialsArn(v string) *UpdateIntegrationOutput {
17440	s.CredentialsArn = &v
17441	return s
17442}
17443
17444// SetDescription sets the Description field's value.
17445func (s *UpdateIntegrationOutput) SetDescription(v string) *UpdateIntegrationOutput {
17446	s.Description = &v
17447	return s
17448}
17449
17450// SetIntegrationId sets the IntegrationId field's value.
17451func (s *UpdateIntegrationOutput) SetIntegrationId(v string) *UpdateIntegrationOutput {
17452	s.IntegrationId = &v
17453	return s
17454}
17455
17456// SetIntegrationMethod sets the IntegrationMethod field's value.
17457func (s *UpdateIntegrationOutput) SetIntegrationMethod(v string) *UpdateIntegrationOutput {
17458	s.IntegrationMethod = &v
17459	return s
17460}
17461
17462// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
17463func (s *UpdateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *UpdateIntegrationOutput {
17464	s.IntegrationResponseSelectionExpression = &v
17465	return s
17466}
17467
17468// SetIntegrationSubtype sets the IntegrationSubtype field's value.
17469func (s *UpdateIntegrationOutput) SetIntegrationSubtype(v string) *UpdateIntegrationOutput {
17470	s.IntegrationSubtype = &v
17471	return s
17472}
17473
17474// SetIntegrationType sets the IntegrationType field's value.
17475func (s *UpdateIntegrationOutput) SetIntegrationType(v string) *UpdateIntegrationOutput {
17476	s.IntegrationType = &v
17477	return s
17478}
17479
17480// SetIntegrationUri sets the IntegrationUri field's value.
17481func (s *UpdateIntegrationOutput) SetIntegrationUri(v string) *UpdateIntegrationOutput {
17482	s.IntegrationUri = &v
17483	return s
17484}
17485
17486// SetPassthroughBehavior sets the PassthroughBehavior field's value.
17487func (s *UpdateIntegrationOutput) SetPassthroughBehavior(v string) *UpdateIntegrationOutput {
17488	s.PassthroughBehavior = &v
17489	return s
17490}
17491
17492// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
17493func (s *UpdateIntegrationOutput) SetPayloadFormatVersion(v string) *UpdateIntegrationOutput {
17494	s.PayloadFormatVersion = &v
17495	return s
17496}
17497
17498// SetRequestParameters sets the RequestParameters field's value.
17499func (s *UpdateIntegrationOutput) SetRequestParameters(v map[string]*string) *UpdateIntegrationOutput {
17500	s.RequestParameters = v
17501	return s
17502}
17503
17504// SetRequestTemplates sets the RequestTemplates field's value.
17505func (s *UpdateIntegrationOutput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationOutput {
17506	s.RequestTemplates = v
17507	return s
17508}
17509
17510// SetResponseParameters sets the ResponseParameters field's value.
17511func (s *UpdateIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *UpdateIntegrationOutput {
17512	s.ResponseParameters = v
17513	return s
17514}
17515
17516// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17517func (s *UpdateIntegrationOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationOutput {
17518	s.TemplateSelectionExpression = &v
17519	return s
17520}
17521
17522// SetTimeoutInMillis sets the TimeoutInMillis field's value.
17523func (s *UpdateIntegrationOutput) SetTimeoutInMillis(v int64) *UpdateIntegrationOutput {
17524	s.TimeoutInMillis = &v
17525	return s
17526}
17527
17528// SetTlsConfig sets the TlsConfig field's value.
17529func (s *UpdateIntegrationOutput) SetTlsConfig(v *TlsConfig) *UpdateIntegrationOutput {
17530	s.TlsConfig = v
17531	return s
17532}
17533
17534type UpdateIntegrationResponseInput struct {
17535	_ struct{} `type:"structure"`
17536
17537	// ApiId is a required field
17538	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17539
17540	// Specifies how to handle response payload content type conversions. Supported
17541	// only for WebSocket APIs.
17542	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17543
17544	// IntegrationId is a required field
17545	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
17546
17547	// IntegrationResponseId is a required field
17548	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
17549
17550	// After evaluating a selection expression, the result is compared against one
17551	// or more selection keys to find a matching key. See Selection Expressions
17552	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17553	// for a list of expressions and each expression's associated selection key
17554	// type.
17555	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
17556
17557	// For WebSocket APIs, a key-value map specifying request parameters that are
17558	// passed from the method request to the backend. The key is an integration
17559	// request parameter name and the associated value is a method request parameter
17560	// value or static value that must be enclosed within single quotes and pre-encoded
17561	// as required by the backend. The method request parameter value must match
17562	// the pattern of method.request.{location}.{name} , where {location} is querystring,
17563	// path, or header; and {name} must be a valid and unique method request parameter
17564	// name.
17565	//
17566	// For HTTP API integrations with a specified integrationSubtype, request parameters
17567	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
17568	// You can provide static values, or map request data, stage variables, or context
17569	// variables that are evaluated at runtime. To learn more, see Working with
17570	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
17571	//
17572	// For HTTP API integrations without a specified integrationSubtype request
17573	// parameters are a key-value map specifying how to transform HTTP requests
17574	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
17575	// where action can be append, overwrite or remove. For values, you can provide
17576	// static values, or map request data, stage variables, or context variables
17577	// that are evaluated at runtime. To learn more, see Transforming API requests
17578	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
17579	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
17580
17581	// A mapping of identifier keys to templates. The value is an actual template
17582	// script. The key is typically a SelectionKey which is chosen based on evaluating
17583	// a selection expression.
17584	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
17585
17586	// An expression used to extract information at runtime. See Selection Expressions
17587	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17588	// for more information.
17589	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17590}
17591
17592// String returns the string representation
17593func (s UpdateIntegrationResponseInput) String() string {
17594	return awsutil.Prettify(s)
17595}
17596
17597// GoString returns the string representation
17598func (s UpdateIntegrationResponseInput) GoString() string {
17599	return s.String()
17600}
17601
17602// Validate inspects the fields of the type to determine if they are valid.
17603func (s *UpdateIntegrationResponseInput) Validate() error {
17604	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
17605	if s.ApiId == nil {
17606		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17607	}
17608	if s.ApiId != nil && len(*s.ApiId) < 1 {
17609		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17610	}
17611	if s.IntegrationId == nil {
17612		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
17613	}
17614	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
17615		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
17616	}
17617	if s.IntegrationResponseId == nil {
17618		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
17619	}
17620	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
17621		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
17622	}
17623
17624	if invalidParams.Len() > 0 {
17625		return invalidParams
17626	}
17627	return nil
17628}
17629
17630// SetApiId sets the ApiId field's value.
17631func (s *UpdateIntegrationResponseInput) SetApiId(v string) *UpdateIntegrationResponseInput {
17632	s.ApiId = &v
17633	return s
17634}
17635
17636// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17637func (s *UpdateIntegrationResponseInput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseInput {
17638	s.ContentHandlingStrategy = &v
17639	return s
17640}
17641
17642// SetIntegrationId sets the IntegrationId field's value.
17643func (s *UpdateIntegrationResponseInput) SetIntegrationId(v string) *UpdateIntegrationResponseInput {
17644	s.IntegrationId = &v
17645	return s
17646}
17647
17648// SetIntegrationResponseId sets the IntegrationResponseId field's value.
17649func (s *UpdateIntegrationResponseInput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseInput {
17650	s.IntegrationResponseId = &v
17651	return s
17652}
17653
17654// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
17655func (s *UpdateIntegrationResponseInput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseInput {
17656	s.IntegrationResponseKey = &v
17657	return s
17658}
17659
17660// SetResponseParameters sets the ResponseParameters field's value.
17661func (s *UpdateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseInput {
17662	s.ResponseParameters = v
17663	return s
17664}
17665
17666// SetResponseTemplates sets the ResponseTemplates field's value.
17667func (s *UpdateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseInput {
17668	s.ResponseTemplates = v
17669	return s
17670}
17671
17672// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17673func (s *UpdateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseInput {
17674	s.TemplateSelectionExpression = &v
17675	return s
17676}
17677
17678type UpdateIntegrationResponseOutput struct {
17679	_ struct{} `type:"structure"`
17680
17681	// Specifies how to handle response payload content type conversions. Supported
17682	// only for WebSocket APIs.
17683	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17684
17685	// The identifier.
17686	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
17687
17688	// After evaluating a selection expression, the result is compared against one
17689	// or more selection keys to find a matching key. See Selection Expressions
17690	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17691	// for a list of expressions and each expression's associated selection key
17692	// type.
17693	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
17694
17695	// For WebSocket APIs, a key-value map specifying request parameters that are
17696	// passed from the method request to the backend. The key is an integration
17697	// request parameter name and the associated value is a method request parameter
17698	// value or static value that must be enclosed within single quotes and pre-encoded
17699	// as required by the backend. The method request parameter value must match
17700	// the pattern of method.request.{location}.{name} , where {location} is querystring,
17701	// path, or header; and {name} must be a valid and unique method request parameter
17702	// name.
17703	//
17704	// For HTTP API integrations with a specified integrationSubtype, request parameters
17705	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
17706	// You can provide static values, or map request data, stage variables, or context
17707	// variables that are evaluated at runtime. To learn more, see Working with
17708	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
17709	//
17710	// For HTTP API integrations without a specified integrationSubtype request
17711	// parameters are a key-value map specifying how to transform HTTP requests
17712	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
17713	// where action can be append, overwrite or remove. For values, you can provide
17714	// static values, or map request data, stage variables, or context variables
17715	// that are evaluated at runtime. To learn more, see Transforming API requests
17716	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
17717	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
17718
17719	// A mapping of identifier keys to templates. The value is an actual template
17720	// script. The key is typically a SelectionKey which is chosen based on evaluating
17721	// a selection expression.
17722	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
17723
17724	// An expression used to extract information at runtime. See Selection Expressions
17725	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17726	// for more information.
17727	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17728}
17729
17730// String returns the string representation
17731func (s UpdateIntegrationResponseOutput) String() string {
17732	return awsutil.Prettify(s)
17733}
17734
17735// GoString returns the string representation
17736func (s UpdateIntegrationResponseOutput) GoString() string {
17737	return s.String()
17738}
17739
17740// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17741func (s *UpdateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseOutput {
17742	s.ContentHandlingStrategy = &v
17743	return s
17744}
17745
17746// SetIntegrationResponseId sets the IntegrationResponseId field's value.
17747func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseOutput {
17748	s.IntegrationResponseId = &v
17749	return s
17750}
17751
17752// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
17753func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseOutput {
17754	s.IntegrationResponseKey = &v
17755	return s
17756}
17757
17758// SetResponseParameters sets the ResponseParameters field's value.
17759func (s *UpdateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseOutput {
17760	s.ResponseParameters = v
17761	return s
17762}
17763
17764// SetResponseTemplates sets the ResponseTemplates field's value.
17765func (s *UpdateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseOutput {
17766	s.ResponseTemplates = v
17767	return s
17768}
17769
17770// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17771func (s *UpdateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseOutput {
17772	s.TemplateSelectionExpression = &v
17773	return s
17774}
17775
17776type UpdateModelInput struct {
17777	_ struct{} `type:"structure"`
17778
17779	// ApiId is a required field
17780	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17781
17782	// A string with a length between [1-256].
17783	ContentType *string `locationName:"contentType" type:"string"`
17784
17785	// A string with a length between [0-1024].
17786	Description *string `locationName:"description" type:"string"`
17787
17788	// ModelId is a required field
17789	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
17790
17791	// A string with a length between [1-128].
17792	Name *string `locationName:"name" type:"string"`
17793
17794	// A string with a length between [0-32768].
17795	Schema *string `locationName:"schema" type:"string"`
17796}
17797
17798// String returns the string representation
17799func (s UpdateModelInput) String() string {
17800	return awsutil.Prettify(s)
17801}
17802
17803// GoString returns the string representation
17804func (s UpdateModelInput) GoString() string {
17805	return s.String()
17806}
17807
17808// Validate inspects the fields of the type to determine if they are valid.
17809func (s *UpdateModelInput) Validate() error {
17810	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
17811	if s.ApiId == nil {
17812		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17813	}
17814	if s.ApiId != nil && len(*s.ApiId) < 1 {
17815		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17816	}
17817	if s.ModelId == nil {
17818		invalidParams.Add(request.NewErrParamRequired("ModelId"))
17819	}
17820	if s.ModelId != nil && len(*s.ModelId) < 1 {
17821		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
17822	}
17823
17824	if invalidParams.Len() > 0 {
17825		return invalidParams
17826	}
17827	return nil
17828}
17829
17830// SetApiId sets the ApiId field's value.
17831func (s *UpdateModelInput) SetApiId(v string) *UpdateModelInput {
17832	s.ApiId = &v
17833	return s
17834}
17835
17836// SetContentType sets the ContentType field's value.
17837func (s *UpdateModelInput) SetContentType(v string) *UpdateModelInput {
17838	s.ContentType = &v
17839	return s
17840}
17841
17842// SetDescription sets the Description field's value.
17843func (s *UpdateModelInput) SetDescription(v string) *UpdateModelInput {
17844	s.Description = &v
17845	return s
17846}
17847
17848// SetModelId sets the ModelId field's value.
17849func (s *UpdateModelInput) SetModelId(v string) *UpdateModelInput {
17850	s.ModelId = &v
17851	return s
17852}
17853
17854// SetName sets the Name field's value.
17855func (s *UpdateModelInput) SetName(v string) *UpdateModelInput {
17856	s.Name = &v
17857	return s
17858}
17859
17860// SetSchema sets the Schema field's value.
17861func (s *UpdateModelInput) SetSchema(v string) *UpdateModelInput {
17862	s.Schema = &v
17863	return s
17864}
17865
17866type UpdateModelOutput struct {
17867	_ struct{} `type:"structure"`
17868
17869	// A string with a length between [1-256].
17870	ContentType *string `locationName:"contentType" type:"string"`
17871
17872	// A string with a length between [0-1024].
17873	Description *string `locationName:"description" type:"string"`
17874
17875	// The identifier.
17876	ModelId *string `locationName:"modelId" type:"string"`
17877
17878	// A string with a length between [1-128].
17879	Name *string `locationName:"name" type:"string"`
17880
17881	// A string with a length between [0-32768].
17882	Schema *string `locationName:"schema" type:"string"`
17883}
17884
17885// String returns the string representation
17886func (s UpdateModelOutput) String() string {
17887	return awsutil.Prettify(s)
17888}
17889
17890// GoString returns the string representation
17891func (s UpdateModelOutput) GoString() string {
17892	return s.String()
17893}
17894
17895// SetContentType sets the ContentType field's value.
17896func (s *UpdateModelOutput) SetContentType(v string) *UpdateModelOutput {
17897	s.ContentType = &v
17898	return s
17899}
17900
17901// SetDescription sets the Description field's value.
17902func (s *UpdateModelOutput) SetDescription(v string) *UpdateModelOutput {
17903	s.Description = &v
17904	return s
17905}
17906
17907// SetModelId sets the ModelId field's value.
17908func (s *UpdateModelOutput) SetModelId(v string) *UpdateModelOutput {
17909	s.ModelId = &v
17910	return s
17911}
17912
17913// SetName sets the Name field's value.
17914func (s *UpdateModelOutput) SetName(v string) *UpdateModelOutput {
17915	s.Name = &v
17916	return s
17917}
17918
17919// SetSchema sets the Schema field's value.
17920func (s *UpdateModelOutput) SetSchema(v string) *UpdateModelOutput {
17921	s.Schema = &v
17922	return s
17923}
17924
17925type UpdateRouteInput struct {
17926	_ struct{} `type:"structure"`
17927
17928	// ApiId is a required field
17929	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17930
17931	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
17932
17933	// A list of authorization scopes configured on a route. The scopes are used
17934	// with a JWT authorizer to authorize the method invocation. The authorization
17935	// works by matching the route scopes against the scopes parsed from the access
17936	// token in the incoming request. The method invocation is authorized if any
17937	// route scope matches a claimed scope in the access token. Otherwise, the invocation
17938	// is not authorized. When the route scope is configured, the client must provide
17939	// an access token instead of an identity token for authorization purposes.
17940	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
17941
17942	// The authorization type. For WebSocket APIs, valid values are NONE for open
17943	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
17944	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
17945	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
17946	// for using a Lambda authorizer.
17947	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
17948
17949	// The identifier.
17950	AuthorizerId *string `locationName:"authorizerId" type:"string"`
17951
17952	// An expression used to extract information at runtime. See Selection Expressions
17953	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17954	// for more information.
17955	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
17956
17957	// A string with a length between [1-64].
17958	OperationName *string `locationName:"operationName" type:"string"`
17959
17960	// The route models.
17961	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
17962
17963	// The route parameters.
17964	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
17965
17966	// RouteId is a required field
17967	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
17968
17969	// After evaluating a selection expression, the result is compared against one
17970	// or more selection keys to find a matching key. See Selection Expressions
17971	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17972	// for a list of expressions and each expression's associated selection key
17973	// type.
17974	RouteKey *string `locationName:"routeKey" type:"string"`
17975
17976	// An expression used to extract information at runtime. See Selection Expressions
17977	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17978	// for more information.
17979	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
17980
17981	// A string with a length between [1-128].
17982	Target *string `locationName:"target" type:"string"`
17983}
17984
17985// String returns the string representation
17986func (s UpdateRouteInput) String() string {
17987	return awsutil.Prettify(s)
17988}
17989
17990// GoString returns the string representation
17991func (s UpdateRouteInput) GoString() string {
17992	return s.String()
17993}
17994
17995// Validate inspects the fields of the type to determine if they are valid.
17996func (s *UpdateRouteInput) Validate() error {
17997	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"}
17998	if s.ApiId == nil {
17999		invalidParams.Add(request.NewErrParamRequired("ApiId"))
18000	}
18001	if s.ApiId != nil && len(*s.ApiId) < 1 {
18002		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
18003	}
18004	if s.RouteId == nil {
18005		invalidParams.Add(request.NewErrParamRequired("RouteId"))
18006	}
18007	if s.RouteId != nil && len(*s.RouteId) < 1 {
18008		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
18009	}
18010
18011	if invalidParams.Len() > 0 {
18012		return invalidParams
18013	}
18014	return nil
18015}
18016
18017// SetApiId sets the ApiId field's value.
18018func (s *UpdateRouteInput) SetApiId(v string) *UpdateRouteInput {
18019	s.ApiId = &v
18020	return s
18021}
18022
18023// SetApiKeyRequired sets the ApiKeyRequired field's value.
18024func (s *UpdateRouteInput) SetApiKeyRequired(v bool) *UpdateRouteInput {
18025	s.ApiKeyRequired = &v
18026	return s
18027}
18028
18029// SetAuthorizationScopes sets the AuthorizationScopes field's value.
18030func (s *UpdateRouteInput) SetAuthorizationScopes(v []*string) *UpdateRouteInput {
18031	s.AuthorizationScopes = v
18032	return s
18033}
18034
18035// SetAuthorizationType sets the AuthorizationType field's value.
18036func (s *UpdateRouteInput) SetAuthorizationType(v string) *UpdateRouteInput {
18037	s.AuthorizationType = &v
18038	return s
18039}
18040
18041// SetAuthorizerId sets the AuthorizerId field's value.
18042func (s *UpdateRouteInput) SetAuthorizerId(v string) *UpdateRouteInput {
18043	s.AuthorizerId = &v
18044	return s
18045}
18046
18047// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18048func (s *UpdateRouteInput) SetModelSelectionExpression(v string) *UpdateRouteInput {
18049	s.ModelSelectionExpression = &v
18050	return s
18051}
18052
18053// SetOperationName sets the OperationName field's value.
18054func (s *UpdateRouteInput) SetOperationName(v string) *UpdateRouteInput {
18055	s.OperationName = &v
18056	return s
18057}
18058
18059// SetRequestModels sets the RequestModels field's value.
18060func (s *UpdateRouteInput) SetRequestModels(v map[string]*string) *UpdateRouteInput {
18061	s.RequestModels = v
18062	return s
18063}
18064
18065// SetRequestParameters sets the RequestParameters field's value.
18066func (s *UpdateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteInput {
18067	s.RequestParameters = v
18068	return s
18069}
18070
18071// SetRouteId sets the RouteId field's value.
18072func (s *UpdateRouteInput) SetRouteId(v string) *UpdateRouteInput {
18073	s.RouteId = &v
18074	return s
18075}
18076
18077// SetRouteKey sets the RouteKey field's value.
18078func (s *UpdateRouteInput) SetRouteKey(v string) *UpdateRouteInput {
18079	s.RouteKey = &v
18080	return s
18081}
18082
18083// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
18084func (s *UpdateRouteInput) SetRouteResponseSelectionExpression(v string) *UpdateRouteInput {
18085	s.RouteResponseSelectionExpression = &v
18086	return s
18087}
18088
18089// SetTarget sets the Target field's value.
18090func (s *UpdateRouteInput) SetTarget(v string) *UpdateRouteInput {
18091	s.Target = &v
18092	return s
18093}
18094
18095type UpdateRouteOutput struct {
18096	_ struct{} `type:"structure"`
18097
18098	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
18099
18100	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
18101
18102	// A list of authorization scopes configured on a route. The scopes are used
18103	// with a JWT authorizer to authorize the method invocation. The authorization
18104	// works by matching the route scopes against the scopes parsed from the access
18105	// token in the incoming request. The method invocation is authorized if any
18106	// route scope matches a claimed scope in the access token. Otherwise, the invocation
18107	// is not authorized. When the route scope is configured, the client must provide
18108	// an access token instead of an identity token for authorization purposes.
18109	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
18110
18111	// The authorization type. For WebSocket APIs, valid values are NONE for open
18112	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
18113	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
18114	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
18115	// for using a Lambda authorizer.
18116	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
18117
18118	// The identifier.
18119	AuthorizerId *string `locationName:"authorizerId" type:"string"`
18120
18121	// An expression used to extract information at runtime. See Selection Expressions
18122	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18123	// for more information.
18124	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
18125
18126	// A string with a length between [1-64].
18127	OperationName *string `locationName:"operationName" type:"string"`
18128
18129	// The route models.
18130	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
18131
18132	// The route parameters.
18133	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
18134
18135	// The identifier.
18136	RouteId *string `locationName:"routeId" type:"string"`
18137
18138	// After evaluating a selection expression, the result is compared against one
18139	// or more selection keys to find a matching key. See Selection Expressions
18140	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18141	// for a list of expressions and each expression's associated selection key
18142	// type.
18143	RouteKey *string `locationName:"routeKey" type:"string"`
18144
18145	// An expression used to extract information at runtime. See Selection Expressions
18146	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18147	// for more information.
18148	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
18149
18150	// A string with a length between [1-128].
18151	Target *string `locationName:"target" type:"string"`
18152}
18153
18154// String returns the string representation
18155func (s UpdateRouteOutput) String() string {
18156	return awsutil.Prettify(s)
18157}
18158
18159// GoString returns the string representation
18160func (s UpdateRouteOutput) GoString() string {
18161	return s.String()
18162}
18163
18164// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
18165func (s *UpdateRouteOutput) SetApiGatewayManaged(v bool) *UpdateRouteOutput {
18166	s.ApiGatewayManaged = &v
18167	return s
18168}
18169
18170// SetApiKeyRequired sets the ApiKeyRequired field's value.
18171func (s *UpdateRouteOutput) SetApiKeyRequired(v bool) *UpdateRouteOutput {
18172	s.ApiKeyRequired = &v
18173	return s
18174}
18175
18176// SetAuthorizationScopes sets the AuthorizationScopes field's value.
18177func (s *UpdateRouteOutput) SetAuthorizationScopes(v []*string) *UpdateRouteOutput {
18178	s.AuthorizationScopes = v
18179	return s
18180}
18181
18182// SetAuthorizationType sets the AuthorizationType field's value.
18183func (s *UpdateRouteOutput) SetAuthorizationType(v string) *UpdateRouteOutput {
18184	s.AuthorizationType = &v
18185	return s
18186}
18187
18188// SetAuthorizerId sets the AuthorizerId field's value.
18189func (s *UpdateRouteOutput) SetAuthorizerId(v string) *UpdateRouteOutput {
18190	s.AuthorizerId = &v
18191	return s
18192}
18193
18194// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18195func (s *UpdateRouteOutput) SetModelSelectionExpression(v string) *UpdateRouteOutput {
18196	s.ModelSelectionExpression = &v
18197	return s
18198}
18199
18200// SetOperationName sets the OperationName field's value.
18201func (s *UpdateRouteOutput) SetOperationName(v string) *UpdateRouteOutput {
18202	s.OperationName = &v
18203	return s
18204}
18205
18206// SetRequestModels sets the RequestModels field's value.
18207func (s *UpdateRouteOutput) SetRequestModels(v map[string]*string) *UpdateRouteOutput {
18208	s.RequestModels = v
18209	return s
18210}
18211
18212// SetRequestParameters sets the RequestParameters field's value.
18213func (s *UpdateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteOutput {
18214	s.RequestParameters = v
18215	return s
18216}
18217
18218// SetRouteId sets the RouteId field's value.
18219func (s *UpdateRouteOutput) SetRouteId(v string) *UpdateRouteOutput {
18220	s.RouteId = &v
18221	return s
18222}
18223
18224// SetRouteKey sets the RouteKey field's value.
18225func (s *UpdateRouteOutput) SetRouteKey(v string) *UpdateRouteOutput {
18226	s.RouteKey = &v
18227	return s
18228}
18229
18230// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
18231func (s *UpdateRouteOutput) SetRouteResponseSelectionExpression(v string) *UpdateRouteOutput {
18232	s.RouteResponseSelectionExpression = &v
18233	return s
18234}
18235
18236// SetTarget sets the Target field's value.
18237func (s *UpdateRouteOutput) SetTarget(v string) *UpdateRouteOutput {
18238	s.Target = &v
18239	return s
18240}
18241
18242type UpdateRouteResponseInput struct {
18243	_ struct{} `type:"structure"`
18244
18245	// ApiId is a required field
18246	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
18247
18248	// An expression used to extract information at runtime. See Selection Expressions
18249	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18250	// for more information.
18251	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
18252
18253	// The route models.
18254	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
18255
18256	// The route parameters.
18257	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
18258
18259	// RouteId is a required field
18260	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
18261
18262	// RouteResponseId is a required field
18263	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
18264
18265	// After evaluating a selection expression, the result is compared against one
18266	// or more selection keys to find a matching key. See Selection Expressions
18267	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18268	// for a list of expressions and each expression's associated selection key
18269	// type.
18270	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
18271}
18272
18273// String returns the string representation
18274func (s UpdateRouteResponseInput) String() string {
18275	return awsutil.Prettify(s)
18276}
18277
18278// GoString returns the string representation
18279func (s UpdateRouteResponseInput) GoString() string {
18280	return s.String()
18281}
18282
18283// Validate inspects the fields of the type to determine if they are valid.
18284func (s *UpdateRouteResponseInput) Validate() error {
18285	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteResponseInput"}
18286	if s.ApiId == nil {
18287		invalidParams.Add(request.NewErrParamRequired("ApiId"))
18288	}
18289	if s.ApiId != nil && len(*s.ApiId) < 1 {
18290		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
18291	}
18292	if s.RouteId == nil {
18293		invalidParams.Add(request.NewErrParamRequired("RouteId"))
18294	}
18295	if s.RouteId != nil && len(*s.RouteId) < 1 {
18296		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
18297	}
18298	if s.RouteResponseId == nil {
18299		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
18300	}
18301	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
18302		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
18303	}
18304
18305	if invalidParams.Len() > 0 {
18306		return invalidParams
18307	}
18308	return nil
18309}
18310
18311// SetApiId sets the ApiId field's value.
18312func (s *UpdateRouteResponseInput) SetApiId(v string) *UpdateRouteResponseInput {
18313	s.ApiId = &v
18314	return s
18315}
18316
18317// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18318func (s *UpdateRouteResponseInput) SetModelSelectionExpression(v string) *UpdateRouteResponseInput {
18319	s.ModelSelectionExpression = &v
18320	return s
18321}
18322
18323// SetResponseModels sets the ResponseModels field's value.
18324func (s *UpdateRouteResponseInput) SetResponseModels(v map[string]*string) *UpdateRouteResponseInput {
18325	s.ResponseModels = v
18326	return s
18327}
18328
18329// SetResponseParameters sets the ResponseParameters field's value.
18330func (s *UpdateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseInput {
18331	s.ResponseParameters = v
18332	return s
18333}
18334
18335// SetRouteId sets the RouteId field's value.
18336func (s *UpdateRouteResponseInput) SetRouteId(v string) *UpdateRouteResponseInput {
18337	s.RouteId = &v
18338	return s
18339}
18340
18341// SetRouteResponseId sets the RouteResponseId field's value.
18342func (s *UpdateRouteResponseInput) SetRouteResponseId(v string) *UpdateRouteResponseInput {
18343	s.RouteResponseId = &v
18344	return s
18345}
18346
18347// SetRouteResponseKey sets the RouteResponseKey field's value.
18348func (s *UpdateRouteResponseInput) SetRouteResponseKey(v string) *UpdateRouteResponseInput {
18349	s.RouteResponseKey = &v
18350	return s
18351}
18352
18353type UpdateRouteResponseOutput struct {
18354	_ struct{} `type:"structure"`
18355
18356	// An expression used to extract information at runtime. See Selection Expressions
18357	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18358	// for more information.
18359	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
18360
18361	// The route models.
18362	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
18363
18364	// The route parameters.
18365	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
18366
18367	// The identifier.
18368	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
18369
18370	// After evaluating a selection expression, the result is compared against one
18371	// or more selection keys to find a matching key. See Selection Expressions
18372	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18373	// for a list of expressions and each expression's associated selection key
18374	// type.
18375	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
18376}
18377
18378// String returns the string representation
18379func (s UpdateRouteResponseOutput) String() string {
18380	return awsutil.Prettify(s)
18381}
18382
18383// GoString returns the string representation
18384func (s UpdateRouteResponseOutput) GoString() string {
18385	return s.String()
18386}
18387
18388// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18389func (s *UpdateRouteResponseOutput) SetModelSelectionExpression(v string) *UpdateRouteResponseOutput {
18390	s.ModelSelectionExpression = &v
18391	return s
18392}
18393
18394// SetResponseModels sets the ResponseModels field's value.
18395func (s *UpdateRouteResponseOutput) SetResponseModels(v map[string]*string) *UpdateRouteResponseOutput {
18396	s.ResponseModels = v
18397	return s
18398}
18399
18400// SetResponseParameters sets the ResponseParameters field's value.
18401func (s *UpdateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseOutput {
18402	s.ResponseParameters = v
18403	return s
18404}
18405
18406// SetRouteResponseId sets the RouteResponseId field's value.
18407func (s *UpdateRouteResponseOutput) SetRouteResponseId(v string) *UpdateRouteResponseOutput {
18408	s.RouteResponseId = &v
18409	return s
18410}
18411
18412// SetRouteResponseKey sets the RouteResponseKey field's value.
18413func (s *UpdateRouteResponseOutput) SetRouteResponseKey(v string) *UpdateRouteResponseOutput {
18414	s.RouteResponseKey = &v
18415	return s
18416}
18417
18418type UpdateStageInput struct {
18419	_ struct{} `type:"structure"`
18420
18421	// Settings for logging access in a stage.
18422	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
18423
18424	// ApiId is a required field
18425	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
18426
18427	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
18428
18429	// The identifier.
18430	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
18431
18432	// Represents a collection of route settings.
18433	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
18434
18435	// The identifier.
18436	DeploymentId *string `locationName:"deploymentId" type:"string"`
18437
18438	// A string with a length between [0-1024].
18439	Description *string `locationName:"description" type:"string"`
18440
18441	// The route settings map.
18442	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
18443
18444	// StageName is a required field
18445	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
18446
18447	// The stage variable map.
18448	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
18449}
18450
18451// String returns the string representation
18452func (s UpdateStageInput) String() string {
18453	return awsutil.Prettify(s)
18454}
18455
18456// GoString returns the string representation
18457func (s UpdateStageInput) GoString() string {
18458	return s.String()
18459}
18460
18461// Validate inspects the fields of the type to determine if they are valid.
18462func (s *UpdateStageInput) Validate() error {
18463	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
18464	if s.ApiId == nil {
18465		invalidParams.Add(request.NewErrParamRequired("ApiId"))
18466	}
18467	if s.ApiId != nil && len(*s.ApiId) < 1 {
18468		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
18469	}
18470	if s.StageName == nil {
18471		invalidParams.Add(request.NewErrParamRequired("StageName"))
18472	}
18473	if s.StageName != nil && len(*s.StageName) < 1 {
18474		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18475	}
18476
18477	if invalidParams.Len() > 0 {
18478		return invalidParams
18479	}
18480	return nil
18481}
18482
18483// SetAccessLogSettings sets the AccessLogSettings field's value.
18484func (s *UpdateStageInput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageInput {
18485	s.AccessLogSettings = v
18486	return s
18487}
18488
18489// SetApiId sets the ApiId field's value.
18490func (s *UpdateStageInput) SetApiId(v string) *UpdateStageInput {
18491	s.ApiId = &v
18492	return s
18493}
18494
18495// SetAutoDeploy sets the AutoDeploy field's value.
18496func (s *UpdateStageInput) SetAutoDeploy(v bool) *UpdateStageInput {
18497	s.AutoDeploy = &v
18498	return s
18499}
18500
18501// SetClientCertificateId sets the ClientCertificateId field's value.
18502func (s *UpdateStageInput) SetClientCertificateId(v string) *UpdateStageInput {
18503	s.ClientCertificateId = &v
18504	return s
18505}
18506
18507// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
18508func (s *UpdateStageInput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageInput {
18509	s.DefaultRouteSettings = v
18510	return s
18511}
18512
18513// SetDeploymentId sets the DeploymentId field's value.
18514func (s *UpdateStageInput) SetDeploymentId(v string) *UpdateStageInput {
18515	s.DeploymentId = &v
18516	return s
18517}
18518
18519// SetDescription sets the Description field's value.
18520func (s *UpdateStageInput) SetDescription(v string) *UpdateStageInput {
18521	s.Description = &v
18522	return s
18523}
18524
18525// SetRouteSettings sets the RouteSettings field's value.
18526func (s *UpdateStageInput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageInput {
18527	s.RouteSettings = v
18528	return s
18529}
18530
18531// SetStageName sets the StageName field's value.
18532func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
18533	s.StageName = &v
18534	return s
18535}
18536
18537// SetStageVariables sets the StageVariables field's value.
18538func (s *UpdateStageInput) SetStageVariables(v map[string]*string) *UpdateStageInput {
18539	s.StageVariables = v
18540	return s
18541}
18542
18543type UpdateStageOutput struct {
18544	_ struct{} `type:"structure"`
18545
18546	// Settings for logging access in a stage.
18547	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
18548
18549	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
18550
18551	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
18552
18553	// The identifier.
18554	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
18555
18556	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18557
18558	// Represents a collection of route settings.
18559	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
18560
18561	// The identifier.
18562	DeploymentId *string `locationName:"deploymentId" type:"string"`
18563
18564	// A string with a length between [0-1024].
18565	Description *string `locationName:"description" type:"string"`
18566
18567	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
18568
18569	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
18570
18571	// The route settings map.
18572	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
18573
18574	// A string with a length between [1-128].
18575	StageName *string `locationName:"stageName" type:"string"`
18576
18577	// The stage variable map.
18578	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
18579
18580	// Represents a collection of tags associated with the resource.
18581	Tags map[string]*string `locationName:"tags" type:"map"`
18582}
18583
18584// String returns the string representation
18585func (s UpdateStageOutput) String() string {
18586	return awsutil.Prettify(s)
18587}
18588
18589// GoString returns the string representation
18590func (s UpdateStageOutput) GoString() string {
18591	return s.String()
18592}
18593
18594// SetAccessLogSettings sets the AccessLogSettings field's value.
18595func (s *UpdateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageOutput {
18596	s.AccessLogSettings = v
18597	return s
18598}
18599
18600// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
18601func (s *UpdateStageOutput) SetApiGatewayManaged(v bool) *UpdateStageOutput {
18602	s.ApiGatewayManaged = &v
18603	return s
18604}
18605
18606// SetAutoDeploy sets the AutoDeploy field's value.
18607func (s *UpdateStageOutput) SetAutoDeploy(v bool) *UpdateStageOutput {
18608	s.AutoDeploy = &v
18609	return s
18610}
18611
18612// SetClientCertificateId sets the ClientCertificateId field's value.
18613func (s *UpdateStageOutput) SetClientCertificateId(v string) *UpdateStageOutput {
18614	s.ClientCertificateId = &v
18615	return s
18616}
18617
18618// SetCreatedDate sets the CreatedDate field's value.
18619func (s *UpdateStageOutput) SetCreatedDate(v time.Time) *UpdateStageOutput {
18620	s.CreatedDate = &v
18621	return s
18622}
18623
18624// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
18625func (s *UpdateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageOutput {
18626	s.DefaultRouteSettings = v
18627	return s
18628}
18629
18630// SetDeploymentId sets the DeploymentId field's value.
18631func (s *UpdateStageOutput) SetDeploymentId(v string) *UpdateStageOutput {
18632	s.DeploymentId = &v
18633	return s
18634}
18635
18636// SetDescription sets the Description field's value.
18637func (s *UpdateStageOutput) SetDescription(v string) *UpdateStageOutput {
18638	s.Description = &v
18639	return s
18640}
18641
18642// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
18643func (s *UpdateStageOutput) SetLastDeploymentStatusMessage(v string) *UpdateStageOutput {
18644	s.LastDeploymentStatusMessage = &v
18645	return s
18646}
18647
18648// SetLastUpdatedDate sets the LastUpdatedDate field's value.
18649func (s *UpdateStageOutput) SetLastUpdatedDate(v time.Time) *UpdateStageOutput {
18650	s.LastUpdatedDate = &v
18651	return s
18652}
18653
18654// SetRouteSettings sets the RouteSettings field's value.
18655func (s *UpdateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageOutput {
18656	s.RouteSettings = v
18657	return s
18658}
18659
18660// SetStageName sets the StageName field's value.
18661func (s *UpdateStageOutput) SetStageName(v string) *UpdateStageOutput {
18662	s.StageName = &v
18663	return s
18664}
18665
18666// SetStageVariables sets the StageVariables field's value.
18667func (s *UpdateStageOutput) SetStageVariables(v map[string]*string) *UpdateStageOutput {
18668	s.StageVariables = v
18669	return s
18670}
18671
18672// SetTags sets the Tags field's value.
18673func (s *UpdateStageOutput) SetTags(v map[string]*string) *UpdateStageOutput {
18674	s.Tags = v
18675	return s
18676}
18677
18678type UpdateVpcLinkInput struct {
18679	_ struct{} `type:"structure"`
18680
18681	// A string with a length between [1-128].
18682	Name *string `locationName:"name" type:"string"`
18683
18684	// VpcLinkId is a required field
18685	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
18686}
18687
18688// String returns the string representation
18689func (s UpdateVpcLinkInput) String() string {
18690	return awsutil.Prettify(s)
18691}
18692
18693// GoString returns the string representation
18694func (s UpdateVpcLinkInput) GoString() string {
18695	return s.String()
18696}
18697
18698// Validate inspects the fields of the type to determine if they are valid.
18699func (s *UpdateVpcLinkInput) Validate() error {
18700	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
18701	if s.VpcLinkId == nil {
18702		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
18703	}
18704	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
18705		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
18706	}
18707
18708	if invalidParams.Len() > 0 {
18709		return invalidParams
18710	}
18711	return nil
18712}
18713
18714// SetName sets the Name field's value.
18715func (s *UpdateVpcLinkInput) SetName(v string) *UpdateVpcLinkInput {
18716	s.Name = &v
18717	return s
18718}
18719
18720// SetVpcLinkId sets the VpcLinkId field's value.
18721func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
18722	s.VpcLinkId = &v
18723	return s
18724}
18725
18726type UpdateVpcLinkOutput struct {
18727	_ struct{} `type:"structure"`
18728
18729	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18730
18731	// A string with a length between [1-128].
18732	Name *string `locationName:"name" type:"string"`
18733
18734	// A list of security group IDs for the VPC link.
18735	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
18736
18737	// A list of subnet IDs to include in the VPC link.
18738	SubnetIds []*string `locationName:"subnetIds" type:"list"`
18739
18740	// Represents a collection of tags associated with the resource.
18741	Tags map[string]*string `locationName:"tags" type:"map"`
18742
18743	// The identifier.
18744	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
18745
18746	// The status of the VPC link.
18747	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
18748
18749	// A string with a length between [0-1024].
18750	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
18751
18752	// The version of the VPC link.
18753	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
18754}
18755
18756// String returns the string representation
18757func (s UpdateVpcLinkOutput) String() string {
18758	return awsutil.Prettify(s)
18759}
18760
18761// GoString returns the string representation
18762func (s UpdateVpcLinkOutput) GoString() string {
18763	return s.String()
18764}
18765
18766// SetCreatedDate sets the CreatedDate field's value.
18767func (s *UpdateVpcLinkOutput) SetCreatedDate(v time.Time) *UpdateVpcLinkOutput {
18768	s.CreatedDate = &v
18769	return s
18770}
18771
18772// SetName sets the Name field's value.
18773func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
18774	s.Name = &v
18775	return s
18776}
18777
18778// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18779func (s *UpdateVpcLinkOutput) SetSecurityGroupIds(v []*string) *UpdateVpcLinkOutput {
18780	s.SecurityGroupIds = v
18781	return s
18782}
18783
18784// SetSubnetIds sets the SubnetIds field's value.
18785func (s *UpdateVpcLinkOutput) SetSubnetIds(v []*string) *UpdateVpcLinkOutput {
18786	s.SubnetIds = v
18787	return s
18788}
18789
18790// SetTags sets the Tags field's value.
18791func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
18792	s.Tags = v
18793	return s
18794}
18795
18796// SetVpcLinkId sets the VpcLinkId field's value.
18797func (s *UpdateVpcLinkOutput) SetVpcLinkId(v string) *UpdateVpcLinkOutput {
18798	s.VpcLinkId = &v
18799	return s
18800}
18801
18802// SetVpcLinkStatus sets the VpcLinkStatus field's value.
18803func (s *UpdateVpcLinkOutput) SetVpcLinkStatus(v string) *UpdateVpcLinkOutput {
18804	s.VpcLinkStatus = &v
18805	return s
18806}
18807
18808// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
18809func (s *UpdateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *UpdateVpcLinkOutput {
18810	s.VpcLinkStatusMessage = &v
18811	return s
18812}
18813
18814// SetVpcLinkVersion sets the VpcLinkVersion field's value.
18815func (s *UpdateVpcLinkOutput) SetVpcLinkVersion(v string) *UpdateVpcLinkOutput {
18816	s.VpcLinkVersion = &v
18817	return s
18818}
18819
18820// Represents a VPC link.
18821type VpcLink struct {
18822	_ struct{} `type:"structure"`
18823
18824	// The timestamp when the VPC link was created.
18825	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18826
18827	// The name of the VPC link.
18828	//
18829	// Name is a required field
18830	Name *string `locationName:"name" type:"string" required:"true"`
18831
18832	// A list of security group IDs for the VPC link.
18833	//
18834	// SecurityGroupIds is a required field
18835	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
18836
18837	// A list of subnet IDs to include in the VPC link.
18838	//
18839	// SubnetIds is a required field
18840	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
18841
18842	// Tags for the VPC link.
18843	Tags map[string]*string `locationName:"tags" type:"map"`
18844
18845	// The ID of the VPC link.
18846	//
18847	// VpcLinkId is a required field
18848	VpcLinkId *string `locationName:"vpcLinkId" type:"string" required:"true"`
18849
18850	// The status of the VPC link.
18851	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
18852
18853	// A message summarizing the cause of the status of the VPC link.
18854	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
18855
18856	// The version of the VPC link.
18857	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
18858}
18859
18860// String returns the string representation
18861func (s VpcLink) String() string {
18862	return awsutil.Prettify(s)
18863}
18864
18865// GoString returns the string representation
18866func (s VpcLink) GoString() string {
18867	return s.String()
18868}
18869
18870// SetCreatedDate sets the CreatedDate field's value.
18871func (s *VpcLink) SetCreatedDate(v time.Time) *VpcLink {
18872	s.CreatedDate = &v
18873	return s
18874}
18875
18876// SetName sets the Name field's value.
18877func (s *VpcLink) SetName(v string) *VpcLink {
18878	s.Name = &v
18879	return s
18880}
18881
18882// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18883func (s *VpcLink) SetSecurityGroupIds(v []*string) *VpcLink {
18884	s.SecurityGroupIds = v
18885	return s
18886}
18887
18888// SetSubnetIds sets the SubnetIds field's value.
18889func (s *VpcLink) SetSubnetIds(v []*string) *VpcLink {
18890	s.SubnetIds = v
18891	return s
18892}
18893
18894// SetTags sets the Tags field's value.
18895func (s *VpcLink) SetTags(v map[string]*string) *VpcLink {
18896	s.Tags = v
18897	return s
18898}
18899
18900// SetVpcLinkId sets the VpcLinkId field's value.
18901func (s *VpcLink) SetVpcLinkId(v string) *VpcLink {
18902	s.VpcLinkId = &v
18903	return s
18904}
18905
18906// SetVpcLinkStatus sets the VpcLinkStatus field's value.
18907func (s *VpcLink) SetVpcLinkStatus(v string) *VpcLink {
18908	s.VpcLinkStatus = &v
18909	return s
18910}
18911
18912// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
18913func (s *VpcLink) SetVpcLinkStatusMessage(v string) *VpcLink {
18914	s.VpcLinkStatusMessage = &v
18915	return s
18916}
18917
18918// SetVpcLinkVersion sets the VpcLinkVersion field's value.
18919func (s *VpcLink) SetVpcLinkVersion(v string) *VpcLink {
18920	s.VpcLinkVersion = &v
18921	return s
18922}
18923
18924// The authorization type. For WebSocket APIs, valid values are NONE for open
18925// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
18926// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
18927// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
18928// for using a Lambda authorizer.
18929const (
18930	// AuthorizationTypeNone is a AuthorizationType enum value
18931	AuthorizationTypeNone = "NONE"
18932
18933	// AuthorizationTypeAwsIam is a AuthorizationType enum value
18934	AuthorizationTypeAwsIam = "AWS_IAM"
18935
18936	// AuthorizationTypeCustom is a AuthorizationType enum value
18937	AuthorizationTypeCustom = "CUSTOM"
18938
18939	// AuthorizationTypeJwt is a AuthorizationType enum value
18940	AuthorizationTypeJwt = "JWT"
18941)
18942
18943// AuthorizationType_Values returns all elements of the AuthorizationType enum
18944func AuthorizationType_Values() []string {
18945	return []string{
18946		AuthorizationTypeNone,
18947		AuthorizationTypeAwsIam,
18948		AuthorizationTypeCustom,
18949		AuthorizationTypeJwt,
18950	}
18951}
18952
18953// The authorizer type. Specify REQUEST for a Lambda function using incoming
18954// request parameters. Specify JWT to use JSON Web Tokens (supported only for
18955// HTTP APIs).
18956const (
18957	// AuthorizerTypeRequest is a AuthorizerType enum value
18958	AuthorizerTypeRequest = "REQUEST"
18959
18960	// AuthorizerTypeJwt is a AuthorizerType enum value
18961	AuthorizerTypeJwt = "JWT"
18962)
18963
18964// AuthorizerType_Values returns all elements of the AuthorizerType enum
18965func AuthorizerType_Values() []string {
18966	return []string{
18967		AuthorizerTypeRequest,
18968		AuthorizerTypeJwt,
18969	}
18970}
18971
18972// Represents a connection type.
18973const (
18974	// ConnectionTypeInternet is a ConnectionType enum value
18975	ConnectionTypeInternet = "INTERNET"
18976
18977	// ConnectionTypeVpcLink is a ConnectionType enum value
18978	ConnectionTypeVpcLink = "VPC_LINK"
18979)
18980
18981// ConnectionType_Values returns all elements of the ConnectionType enum
18982func ConnectionType_Values() []string {
18983	return []string{
18984		ConnectionTypeInternet,
18985		ConnectionTypeVpcLink,
18986	}
18987}
18988
18989// Specifies how to handle response payload content type conversions. Supported
18990// only for WebSocket APIs.
18991const (
18992	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
18993	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
18994
18995	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
18996	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
18997)
18998
18999// ContentHandlingStrategy_Values returns all elements of the ContentHandlingStrategy enum
19000func ContentHandlingStrategy_Values() []string {
19001	return []string{
19002		ContentHandlingStrategyConvertToBinary,
19003		ContentHandlingStrategyConvertToText,
19004	}
19005}
19006
19007// Represents a deployment status.
19008const (
19009	// DeploymentStatusPending is a DeploymentStatus enum value
19010	DeploymentStatusPending = "PENDING"
19011
19012	// DeploymentStatusFailed is a DeploymentStatus enum value
19013	DeploymentStatusFailed = "FAILED"
19014
19015	// DeploymentStatusDeployed is a DeploymentStatus enum value
19016	DeploymentStatusDeployed = "DEPLOYED"
19017)
19018
19019// DeploymentStatus_Values returns all elements of the DeploymentStatus enum
19020func DeploymentStatus_Values() []string {
19021	return []string{
19022		DeploymentStatusPending,
19023		DeploymentStatusFailed,
19024		DeploymentStatusDeployed,
19025	}
19026}
19027
19028// The status of the domain name migration. The valid values are AVAILABLE and
19029// UPDATING. If the status is UPDATING, the domain cannot be modified further
19030// until the existing operation is complete. If it is AVAILABLE, the domain
19031// can be updated.
19032const (
19033	// DomainNameStatusAvailable is a DomainNameStatus enum value
19034	DomainNameStatusAvailable = "AVAILABLE"
19035
19036	// DomainNameStatusUpdating is a DomainNameStatus enum value
19037	DomainNameStatusUpdating = "UPDATING"
19038)
19039
19040// DomainNameStatus_Values returns all elements of the DomainNameStatus enum
19041func DomainNameStatus_Values() []string {
19042	return []string{
19043		DomainNameStatusAvailable,
19044		DomainNameStatusUpdating,
19045	}
19046}
19047
19048// Represents an endpoint type.
19049const (
19050	// EndpointTypeRegional is a EndpointType enum value
19051	EndpointTypeRegional = "REGIONAL"
19052
19053	// EndpointTypeEdge is a EndpointType enum value
19054	EndpointTypeEdge = "EDGE"
19055)
19056
19057// EndpointType_Values returns all elements of the EndpointType enum
19058func EndpointType_Values() []string {
19059	return []string{
19060		EndpointTypeRegional,
19061		EndpointTypeEdge,
19062	}
19063}
19064
19065// Represents an API method integration type.
19066const (
19067	// IntegrationTypeAws is a IntegrationType enum value
19068	IntegrationTypeAws = "AWS"
19069
19070	// IntegrationTypeHttp is a IntegrationType enum value
19071	IntegrationTypeHttp = "HTTP"
19072
19073	// IntegrationTypeMock is a IntegrationType enum value
19074	IntegrationTypeMock = "MOCK"
19075
19076	// IntegrationTypeHttpProxy is a IntegrationType enum value
19077	IntegrationTypeHttpProxy = "HTTP_PROXY"
19078
19079	// IntegrationTypeAwsProxy is a IntegrationType enum value
19080	IntegrationTypeAwsProxy = "AWS_PROXY"
19081)
19082
19083// IntegrationType_Values returns all elements of the IntegrationType enum
19084func IntegrationType_Values() []string {
19085	return []string{
19086		IntegrationTypeAws,
19087		IntegrationTypeHttp,
19088		IntegrationTypeMock,
19089		IntegrationTypeHttpProxy,
19090		IntegrationTypeAwsProxy,
19091	}
19092}
19093
19094// The logging level.
19095const (
19096	// LoggingLevelError is a LoggingLevel enum value
19097	LoggingLevelError = "ERROR"
19098
19099	// LoggingLevelInfo is a LoggingLevel enum value
19100	LoggingLevelInfo = "INFO"
19101
19102	// LoggingLevelOff is a LoggingLevel enum value
19103	LoggingLevelOff = "OFF"
19104)
19105
19106// LoggingLevel_Values returns all elements of the LoggingLevel enum
19107func LoggingLevel_Values() []string {
19108	return []string{
19109		LoggingLevelError,
19110		LoggingLevelInfo,
19111		LoggingLevelOff,
19112	}
19113}
19114
19115// Represents passthrough behavior for an integration response. Supported only
19116// for WebSocket APIs.
19117const (
19118	// PassthroughBehaviorWhenNoMatch is a PassthroughBehavior enum value
19119	PassthroughBehaviorWhenNoMatch = "WHEN_NO_MATCH"
19120
19121	// PassthroughBehaviorNever is a PassthroughBehavior enum value
19122	PassthroughBehaviorNever = "NEVER"
19123
19124	// PassthroughBehaviorWhenNoTemplates is a PassthroughBehavior enum value
19125	PassthroughBehaviorWhenNoTemplates = "WHEN_NO_TEMPLATES"
19126)
19127
19128// PassthroughBehavior_Values returns all elements of the PassthroughBehavior enum
19129func PassthroughBehavior_Values() []string {
19130	return []string{
19131		PassthroughBehaviorWhenNoMatch,
19132		PassthroughBehaviorNever,
19133		PassthroughBehaviorWhenNoTemplates,
19134	}
19135}
19136
19137// Represents a protocol type.
19138const (
19139	// ProtocolTypeWebsocket is a ProtocolType enum value
19140	ProtocolTypeWebsocket = "WEBSOCKET"
19141
19142	// ProtocolTypeHttp is a ProtocolType enum value
19143	ProtocolTypeHttp = "HTTP"
19144)
19145
19146// ProtocolType_Values returns all elements of the ProtocolType enum
19147func ProtocolType_Values() []string {
19148	return []string{
19149		ProtocolTypeWebsocket,
19150		ProtocolTypeHttp,
19151	}
19152}
19153
19154// The Transport Layer Security (TLS) version of the security policy for this
19155// domain name. The valid values are TLS_1_0 and TLS_1_2.
19156const (
19157	// SecurityPolicyTls10 is a SecurityPolicy enum value
19158	SecurityPolicyTls10 = "TLS_1_0"
19159
19160	// SecurityPolicyTls12 is a SecurityPolicy enum value
19161	SecurityPolicyTls12 = "TLS_1_2"
19162)
19163
19164// SecurityPolicy_Values returns all elements of the SecurityPolicy enum
19165func SecurityPolicy_Values() []string {
19166	return []string{
19167		SecurityPolicyTls10,
19168		SecurityPolicyTls12,
19169	}
19170}
19171
19172// The status of the VPC link.
19173const (
19174	// VpcLinkStatusPending is a VpcLinkStatus enum value
19175	VpcLinkStatusPending = "PENDING"
19176
19177	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
19178	VpcLinkStatusAvailable = "AVAILABLE"
19179
19180	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
19181	VpcLinkStatusDeleting = "DELETING"
19182
19183	// VpcLinkStatusFailed is a VpcLinkStatus enum value
19184	VpcLinkStatusFailed = "FAILED"
19185
19186	// VpcLinkStatusInactive is a VpcLinkStatus enum value
19187	VpcLinkStatusInactive = "INACTIVE"
19188)
19189
19190// VpcLinkStatus_Values returns all elements of the VpcLinkStatus enum
19191func VpcLinkStatus_Values() []string {
19192	return []string{
19193		VpcLinkStatusPending,
19194		VpcLinkStatusAvailable,
19195		VpcLinkStatusDeleting,
19196		VpcLinkStatusFailed,
19197		VpcLinkStatusInactive,
19198	}
19199}
19200
19201// The version of the VPC link.
19202const (
19203	// VpcLinkVersionV2 is a VpcLinkVersion enum value
19204	VpcLinkVersionV2 = "V2"
19205)
19206
19207// VpcLinkVersion_Values returns all elements of the VpcLinkVersion enum
19208func VpcLinkVersion_Values() []string {
19209	return []string{
19210		VpcLinkVersionV2,
19211	}
19212}
19213