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	// A key-value map specifying response parameters that are passed to the method
8038	// response from the backend. The key is a method response header parameter
8039	// name and the mapped value is an integration response header value, a static
8040	// value enclosed within a pair of single quotes, or a JSON expression from
8041	// the integration response body. The mapping key must match the pattern of
8042	// method.response.header.{name}, where name is a valid and unique header name.
8043	// The mapped non-static value must match the pattern of integration.response.header.{name}
8044	// or integration.response.body.{JSON-expression}, where name is a valid and
8045	// unique response header name and JSON-expression is a valid JSON expression
8046	// without the $ prefix.
8047	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
8048
8049	// A mapping of identifier keys to templates. The value is an actual template
8050	// script. The key is typically a SelectionKey which is chosen based on evaluating
8051	// a selection expression.
8052	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
8053
8054	// An expression used to extract information at runtime. See Selection Expressions
8055	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8056	// for more information.
8057	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8058
8059	// An integer with a value between [50-30000].
8060	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
8061
8062	// The TLS configuration for a private integration. If you specify a TLS configuration,
8063	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
8064	// APIs.
8065	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
8066}
8067
8068// String returns the string representation
8069func (s CreateIntegrationInput) String() string {
8070	return awsutil.Prettify(s)
8071}
8072
8073// GoString returns the string representation
8074func (s CreateIntegrationInput) GoString() string {
8075	return s.String()
8076}
8077
8078// Validate inspects the fields of the type to determine if they are valid.
8079func (s *CreateIntegrationInput) Validate() error {
8080	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationInput"}
8081	if s.ApiId == nil {
8082		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8083	}
8084	if s.ApiId != nil && len(*s.ApiId) < 1 {
8085		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8086	}
8087	if s.IntegrationType == nil {
8088		invalidParams.Add(request.NewErrParamRequired("IntegrationType"))
8089	}
8090	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
8091		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
8092	}
8093
8094	if invalidParams.Len() > 0 {
8095		return invalidParams
8096	}
8097	return nil
8098}
8099
8100// SetApiId sets the ApiId field's value.
8101func (s *CreateIntegrationInput) SetApiId(v string) *CreateIntegrationInput {
8102	s.ApiId = &v
8103	return s
8104}
8105
8106// SetConnectionId sets the ConnectionId field's value.
8107func (s *CreateIntegrationInput) SetConnectionId(v string) *CreateIntegrationInput {
8108	s.ConnectionId = &v
8109	return s
8110}
8111
8112// SetConnectionType sets the ConnectionType field's value.
8113func (s *CreateIntegrationInput) SetConnectionType(v string) *CreateIntegrationInput {
8114	s.ConnectionType = &v
8115	return s
8116}
8117
8118// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8119func (s *CreateIntegrationInput) SetContentHandlingStrategy(v string) *CreateIntegrationInput {
8120	s.ContentHandlingStrategy = &v
8121	return s
8122}
8123
8124// SetCredentialsArn sets the CredentialsArn field's value.
8125func (s *CreateIntegrationInput) SetCredentialsArn(v string) *CreateIntegrationInput {
8126	s.CredentialsArn = &v
8127	return s
8128}
8129
8130// SetDescription sets the Description field's value.
8131func (s *CreateIntegrationInput) SetDescription(v string) *CreateIntegrationInput {
8132	s.Description = &v
8133	return s
8134}
8135
8136// SetIntegrationMethod sets the IntegrationMethod field's value.
8137func (s *CreateIntegrationInput) SetIntegrationMethod(v string) *CreateIntegrationInput {
8138	s.IntegrationMethod = &v
8139	return s
8140}
8141
8142// SetIntegrationSubtype sets the IntegrationSubtype field's value.
8143func (s *CreateIntegrationInput) SetIntegrationSubtype(v string) *CreateIntegrationInput {
8144	s.IntegrationSubtype = &v
8145	return s
8146}
8147
8148// SetIntegrationType sets the IntegrationType field's value.
8149func (s *CreateIntegrationInput) SetIntegrationType(v string) *CreateIntegrationInput {
8150	s.IntegrationType = &v
8151	return s
8152}
8153
8154// SetIntegrationUri sets the IntegrationUri field's value.
8155func (s *CreateIntegrationInput) SetIntegrationUri(v string) *CreateIntegrationInput {
8156	s.IntegrationUri = &v
8157	return s
8158}
8159
8160// SetPassthroughBehavior sets the PassthroughBehavior field's value.
8161func (s *CreateIntegrationInput) SetPassthroughBehavior(v string) *CreateIntegrationInput {
8162	s.PassthroughBehavior = &v
8163	return s
8164}
8165
8166// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
8167func (s *CreateIntegrationInput) SetPayloadFormatVersion(v string) *CreateIntegrationInput {
8168	s.PayloadFormatVersion = &v
8169	return s
8170}
8171
8172// SetRequestParameters sets the RequestParameters field's value.
8173func (s *CreateIntegrationInput) SetRequestParameters(v map[string]*string) *CreateIntegrationInput {
8174	s.RequestParameters = v
8175	return s
8176}
8177
8178// SetRequestTemplates sets the RequestTemplates field's value.
8179func (s *CreateIntegrationInput) SetRequestTemplates(v map[string]*string) *CreateIntegrationInput {
8180	s.RequestTemplates = v
8181	return s
8182}
8183
8184// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8185func (s *CreateIntegrationInput) SetTemplateSelectionExpression(v string) *CreateIntegrationInput {
8186	s.TemplateSelectionExpression = &v
8187	return s
8188}
8189
8190// SetTimeoutInMillis sets the TimeoutInMillis field's value.
8191func (s *CreateIntegrationInput) SetTimeoutInMillis(v int64) *CreateIntegrationInput {
8192	s.TimeoutInMillis = &v
8193	return s
8194}
8195
8196// SetTlsConfig sets the TlsConfig field's value.
8197func (s *CreateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *CreateIntegrationInput {
8198	s.TlsConfig = v
8199	return s
8200}
8201
8202type CreateIntegrationOutput struct {
8203	_ struct{} `type:"structure"`
8204
8205	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
8206
8207	// A string with a length between [1-1024].
8208	ConnectionId *string `locationName:"connectionId" type:"string"`
8209
8210	// Represents a connection type.
8211	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
8212
8213	// Specifies how to handle response payload content type conversions. Supported
8214	// only for WebSocket APIs.
8215	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8216
8217	// Represents an Amazon Resource Name (ARN).
8218	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
8219
8220	// A string with a length between [0-1024].
8221	Description *string `locationName:"description" type:"string"`
8222
8223	// The identifier.
8224	IntegrationId *string `locationName:"integrationId" type:"string"`
8225
8226	// A string with a length between [1-64].
8227	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
8228
8229	// An expression used to extract information at runtime. See Selection Expressions
8230	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8231	// for more information.
8232	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
8233
8234	// A string with a length between [1-128].
8235	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
8236
8237	// Represents an API method integration type.
8238	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
8239
8240	// A string representation of a URI with a length between [1-2048].
8241	IntegrationUri *string `locationName:"integrationUri" type:"string"`
8242
8243	// Represents passthrough behavior for an integration response. Supported only
8244	// for WebSocket APIs.
8245	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
8246
8247	// A string with a length between [1-64].
8248	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
8249
8250	// A key-value map specifying response parameters that are passed to the method
8251	// response from the backend. The key is a method response header parameter
8252	// name and the mapped value is an integration response header value, a static
8253	// value enclosed within a pair of single quotes, or a JSON expression from
8254	// the integration response body. The mapping key must match the pattern of
8255	// method.response.header.{name}, where name is a valid and unique header name.
8256	// The mapped non-static value must match the pattern of integration.response.header.{name}
8257	// or integration.response.body.{JSON-expression}, where name is a valid and
8258	// unique response header name and JSON-expression is a valid JSON expression
8259	// without the $ prefix.
8260	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
8261
8262	// A mapping of identifier keys to templates. The value is an actual template
8263	// script. The key is typically a SelectionKey which is chosen based on evaluating
8264	// a selection expression.
8265	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
8266
8267	// An expression used to extract information at runtime. See Selection Expressions
8268	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8269	// for more information.
8270	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8271
8272	// An integer with a value between [50-30000].
8273	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
8274
8275	// The TLS configuration for a private integration. If you specify a TLS configuration,
8276	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
8277	// APIs.
8278	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
8279}
8280
8281// String returns the string representation
8282func (s CreateIntegrationOutput) String() string {
8283	return awsutil.Prettify(s)
8284}
8285
8286// GoString returns the string representation
8287func (s CreateIntegrationOutput) GoString() string {
8288	return s.String()
8289}
8290
8291// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
8292func (s *CreateIntegrationOutput) SetApiGatewayManaged(v bool) *CreateIntegrationOutput {
8293	s.ApiGatewayManaged = &v
8294	return s
8295}
8296
8297// SetConnectionId sets the ConnectionId field's value.
8298func (s *CreateIntegrationOutput) SetConnectionId(v string) *CreateIntegrationOutput {
8299	s.ConnectionId = &v
8300	return s
8301}
8302
8303// SetConnectionType sets the ConnectionType field's value.
8304func (s *CreateIntegrationOutput) SetConnectionType(v string) *CreateIntegrationOutput {
8305	s.ConnectionType = &v
8306	return s
8307}
8308
8309// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8310func (s *CreateIntegrationOutput) SetContentHandlingStrategy(v string) *CreateIntegrationOutput {
8311	s.ContentHandlingStrategy = &v
8312	return s
8313}
8314
8315// SetCredentialsArn sets the CredentialsArn field's value.
8316func (s *CreateIntegrationOutput) SetCredentialsArn(v string) *CreateIntegrationOutput {
8317	s.CredentialsArn = &v
8318	return s
8319}
8320
8321// SetDescription sets the Description field's value.
8322func (s *CreateIntegrationOutput) SetDescription(v string) *CreateIntegrationOutput {
8323	s.Description = &v
8324	return s
8325}
8326
8327// SetIntegrationId sets the IntegrationId field's value.
8328func (s *CreateIntegrationOutput) SetIntegrationId(v string) *CreateIntegrationOutput {
8329	s.IntegrationId = &v
8330	return s
8331}
8332
8333// SetIntegrationMethod sets the IntegrationMethod field's value.
8334func (s *CreateIntegrationOutput) SetIntegrationMethod(v string) *CreateIntegrationOutput {
8335	s.IntegrationMethod = &v
8336	return s
8337}
8338
8339// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
8340func (s *CreateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *CreateIntegrationOutput {
8341	s.IntegrationResponseSelectionExpression = &v
8342	return s
8343}
8344
8345// SetIntegrationSubtype sets the IntegrationSubtype field's value.
8346func (s *CreateIntegrationOutput) SetIntegrationSubtype(v string) *CreateIntegrationOutput {
8347	s.IntegrationSubtype = &v
8348	return s
8349}
8350
8351// SetIntegrationType sets the IntegrationType field's value.
8352func (s *CreateIntegrationOutput) SetIntegrationType(v string) *CreateIntegrationOutput {
8353	s.IntegrationType = &v
8354	return s
8355}
8356
8357// SetIntegrationUri sets the IntegrationUri field's value.
8358func (s *CreateIntegrationOutput) SetIntegrationUri(v string) *CreateIntegrationOutput {
8359	s.IntegrationUri = &v
8360	return s
8361}
8362
8363// SetPassthroughBehavior sets the PassthroughBehavior field's value.
8364func (s *CreateIntegrationOutput) SetPassthroughBehavior(v string) *CreateIntegrationOutput {
8365	s.PassthroughBehavior = &v
8366	return s
8367}
8368
8369// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
8370func (s *CreateIntegrationOutput) SetPayloadFormatVersion(v string) *CreateIntegrationOutput {
8371	s.PayloadFormatVersion = &v
8372	return s
8373}
8374
8375// SetRequestParameters sets the RequestParameters field's value.
8376func (s *CreateIntegrationOutput) SetRequestParameters(v map[string]*string) *CreateIntegrationOutput {
8377	s.RequestParameters = v
8378	return s
8379}
8380
8381// SetRequestTemplates sets the RequestTemplates field's value.
8382func (s *CreateIntegrationOutput) SetRequestTemplates(v map[string]*string) *CreateIntegrationOutput {
8383	s.RequestTemplates = v
8384	return s
8385}
8386
8387// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8388func (s *CreateIntegrationOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationOutput {
8389	s.TemplateSelectionExpression = &v
8390	return s
8391}
8392
8393// SetTimeoutInMillis sets the TimeoutInMillis field's value.
8394func (s *CreateIntegrationOutput) SetTimeoutInMillis(v int64) *CreateIntegrationOutput {
8395	s.TimeoutInMillis = &v
8396	return s
8397}
8398
8399// SetTlsConfig sets the TlsConfig field's value.
8400func (s *CreateIntegrationOutput) SetTlsConfig(v *TlsConfig) *CreateIntegrationOutput {
8401	s.TlsConfig = v
8402	return s
8403}
8404
8405type CreateIntegrationResponseInput struct {
8406	_ struct{} `type:"structure"`
8407
8408	// ApiId is a required field
8409	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8410
8411	// Specifies how to handle response payload content type conversions. Supported
8412	// only for WebSocket APIs.
8413	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8414
8415	// IntegrationId is a required field
8416	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
8417
8418	// After evaluating a selection expression, the result is compared against one
8419	// or more selection keys to find a matching key. See Selection Expressions
8420	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8421	// for a list of expressions and each expression's associated selection key
8422	// type.
8423	//
8424	// IntegrationResponseKey is a required field
8425	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
8426
8427	// A key-value map specifying response parameters that are passed to the method
8428	// response from the backend. The key is a method response header parameter
8429	// name and the mapped value is an integration response header value, a static
8430	// value enclosed within a pair of single quotes, or a JSON expression from
8431	// the integration response body. The mapping key must match the pattern of
8432	// method.response.header.{name}, where name is a valid and unique header name.
8433	// The mapped non-static value must match the pattern of integration.response.header.{name}
8434	// or integration.response.body.{JSON-expression}, where name is a valid and
8435	// unique response header name and JSON-expression is a valid JSON expression
8436	// without the $ prefix.
8437	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
8438
8439	// A mapping of identifier keys to templates. The value is an actual template
8440	// script. The key is typically a SelectionKey which is chosen based on evaluating
8441	// a selection expression.
8442	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
8443
8444	// An expression used to extract information at runtime. See Selection Expressions
8445	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8446	// for more information.
8447	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8448}
8449
8450// String returns the string representation
8451func (s CreateIntegrationResponseInput) String() string {
8452	return awsutil.Prettify(s)
8453}
8454
8455// GoString returns the string representation
8456func (s CreateIntegrationResponseInput) GoString() string {
8457	return s.String()
8458}
8459
8460// Validate inspects the fields of the type to determine if they are valid.
8461func (s *CreateIntegrationResponseInput) Validate() error {
8462	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationResponseInput"}
8463	if s.ApiId == nil {
8464		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8465	}
8466	if s.ApiId != nil && len(*s.ApiId) < 1 {
8467		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8468	}
8469	if s.IntegrationId == nil {
8470		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
8471	}
8472	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
8473		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
8474	}
8475	if s.IntegrationResponseKey == nil {
8476		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseKey"))
8477	}
8478
8479	if invalidParams.Len() > 0 {
8480		return invalidParams
8481	}
8482	return nil
8483}
8484
8485// SetApiId sets the ApiId field's value.
8486func (s *CreateIntegrationResponseInput) SetApiId(v string) *CreateIntegrationResponseInput {
8487	s.ApiId = &v
8488	return s
8489}
8490
8491// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8492func (s *CreateIntegrationResponseInput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseInput {
8493	s.ContentHandlingStrategy = &v
8494	return s
8495}
8496
8497// SetIntegrationId sets the IntegrationId field's value.
8498func (s *CreateIntegrationResponseInput) SetIntegrationId(v string) *CreateIntegrationResponseInput {
8499	s.IntegrationId = &v
8500	return s
8501}
8502
8503// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
8504func (s *CreateIntegrationResponseInput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseInput {
8505	s.IntegrationResponseKey = &v
8506	return s
8507}
8508
8509// SetResponseParameters sets the ResponseParameters field's value.
8510func (s *CreateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseInput {
8511	s.ResponseParameters = v
8512	return s
8513}
8514
8515// SetResponseTemplates sets the ResponseTemplates field's value.
8516func (s *CreateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseInput {
8517	s.ResponseTemplates = v
8518	return s
8519}
8520
8521// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8522func (s *CreateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseInput {
8523	s.TemplateSelectionExpression = &v
8524	return s
8525}
8526
8527type CreateIntegrationResponseOutput struct {
8528	_ struct{} `type:"structure"`
8529
8530	// Specifies how to handle response payload content type conversions. Supported
8531	// only for WebSocket APIs.
8532	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
8533
8534	// The identifier.
8535	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
8536
8537	// After evaluating a selection expression, the result is compared against one
8538	// or more selection keys to find a matching key. See Selection Expressions
8539	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8540	// for a list of expressions and each expression's associated selection key
8541	// type.
8542	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
8543
8544	// A key-value map specifying response parameters that are passed to the method
8545	// response from the backend. The key is a method response header parameter
8546	// name and the mapped value is an integration response header value, a static
8547	// value enclosed within a pair of single quotes, or a JSON expression from
8548	// the integration response body. The mapping key must match the pattern of
8549	// method.response.header.{name}, where name is a valid and unique header name.
8550	// The mapped non-static value must match the pattern of integration.response.header.{name}
8551	// or integration.response.body.{JSON-expression}, where name is a valid and
8552	// unique response header name and JSON-expression is a valid JSON expression
8553	// without the $ prefix.
8554	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
8555
8556	// A mapping of identifier keys to templates. The value is an actual template
8557	// script. The key is typically a SelectionKey which is chosen based on evaluating
8558	// a selection expression.
8559	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
8560
8561	// An expression used to extract information at runtime. See Selection Expressions
8562	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8563	// for more information.
8564	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
8565}
8566
8567// String returns the string representation
8568func (s CreateIntegrationResponseOutput) String() string {
8569	return awsutil.Prettify(s)
8570}
8571
8572// GoString returns the string representation
8573func (s CreateIntegrationResponseOutput) GoString() string {
8574	return s.String()
8575}
8576
8577// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
8578func (s *CreateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseOutput {
8579	s.ContentHandlingStrategy = &v
8580	return s
8581}
8582
8583// SetIntegrationResponseId sets the IntegrationResponseId field's value.
8584func (s *CreateIntegrationResponseOutput) SetIntegrationResponseId(v string) *CreateIntegrationResponseOutput {
8585	s.IntegrationResponseId = &v
8586	return s
8587}
8588
8589// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
8590func (s *CreateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseOutput {
8591	s.IntegrationResponseKey = &v
8592	return s
8593}
8594
8595// SetResponseParameters sets the ResponseParameters field's value.
8596func (s *CreateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseOutput {
8597	s.ResponseParameters = v
8598	return s
8599}
8600
8601// SetResponseTemplates sets the ResponseTemplates field's value.
8602func (s *CreateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseOutput {
8603	s.ResponseTemplates = v
8604	return s
8605}
8606
8607// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
8608func (s *CreateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseOutput {
8609	s.TemplateSelectionExpression = &v
8610	return s
8611}
8612
8613type CreateModelInput struct {
8614	_ struct{} `type:"structure"`
8615
8616	// ApiId is a required field
8617	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8618
8619	// A string with a length between [1-256].
8620	ContentType *string `locationName:"contentType" type:"string"`
8621
8622	// A string with a length between [0-1024].
8623	Description *string `locationName:"description" type:"string"`
8624
8625	// A string with a length between [1-128].
8626	//
8627	// Name is a required field
8628	Name *string `locationName:"name" type:"string" required:"true"`
8629
8630	// A string with a length between [0-32768].
8631	//
8632	// Schema is a required field
8633	Schema *string `locationName:"schema" type:"string" required:"true"`
8634}
8635
8636// String returns the string representation
8637func (s CreateModelInput) String() string {
8638	return awsutil.Prettify(s)
8639}
8640
8641// GoString returns the string representation
8642func (s CreateModelInput) GoString() string {
8643	return s.String()
8644}
8645
8646// Validate inspects the fields of the type to determine if they are valid.
8647func (s *CreateModelInput) Validate() error {
8648	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
8649	if s.ApiId == nil {
8650		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8651	}
8652	if s.ApiId != nil && len(*s.ApiId) < 1 {
8653		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8654	}
8655	if s.Name == nil {
8656		invalidParams.Add(request.NewErrParamRequired("Name"))
8657	}
8658	if s.Schema == nil {
8659		invalidParams.Add(request.NewErrParamRequired("Schema"))
8660	}
8661
8662	if invalidParams.Len() > 0 {
8663		return invalidParams
8664	}
8665	return nil
8666}
8667
8668// SetApiId sets the ApiId field's value.
8669func (s *CreateModelInput) SetApiId(v string) *CreateModelInput {
8670	s.ApiId = &v
8671	return s
8672}
8673
8674// SetContentType sets the ContentType field's value.
8675func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
8676	s.ContentType = &v
8677	return s
8678}
8679
8680// SetDescription sets the Description field's value.
8681func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
8682	s.Description = &v
8683	return s
8684}
8685
8686// SetName sets the Name field's value.
8687func (s *CreateModelInput) SetName(v string) *CreateModelInput {
8688	s.Name = &v
8689	return s
8690}
8691
8692// SetSchema sets the Schema field's value.
8693func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
8694	s.Schema = &v
8695	return s
8696}
8697
8698type CreateModelOutput struct {
8699	_ struct{} `type:"structure"`
8700
8701	// A string with a length between [1-256].
8702	ContentType *string `locationName:"contentType" type:"string"`
8703
8704	// A string with a length between [0-1024].
8705	Description *string `locationName:"description" type:"string"`
8706
8707	// The identifier.
8708	ModelId *string `locationName:"modelId" type:"string"`
8709
8710	// A string with a length between [1-128].
8711	Name *string `locationName:"name" type:"string"`
8712
8713	// A string with a length between [0-32768].
8714	Schema *string `locationName:"schema" type:"string"`
8715}
8716
8717// String returns the string representation
8718func (s CreateModelOutput) String() string {
8719	return awsutil.Prettify(s)
8720}
8721
8722// GoString returns the string representation
8723func (s CreateModelOutput) GoString() string {
8724	return s.String()
8725}
8726
8727// SetContentType sets the ContentType field's value.
8728func (s *CreateModelOutput) SetContentType(v string) *CreateModelOutput {
8729	s.ContentType = &v
8730	return s
8731}
8732
8733// SetDescription sets the Description field's value.
8734func (s *CreateModelOutput) SetDescription(v string) *CreateModelOutput {
8735	s.Description = &v
8736	return s
8737}
8738
8739// SetModelId sets the ModelId field's value.
8740func (s *CreateModelOutput) SetModelId(v string) *CreateModelOutput {
8741	s.ModelId = &v
8742	return s
8743}
8744
8745// SetName sets the Name field's value.
8746func (s *CreateModelOutput) SetName(v string) *CreateModelOutput {
8747	s.Name = &v
8748	return s
8749}
8750
8751// SetSchema sets the Schema field's value.
8752func (s *CreateModelOutput) SetSchema(v string) *CreateModelOutput {
8753	s.Schema = &v
8754	return s
8755}
8756
8757type CreateRouteInput struct {
8758	_ struct{} `type:"structure"`
8759
8760	// ApiId is a required field
8761	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
8762
8763	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
8764
8765	// A list of authorization scopes configured on a route. The scopes are used
8766	// with a JWT authorizer to authorize the method invocation. The authorization
8767	// works by matching the route scopes against the scopes parsed from the access
8768	// token in the incoming request. The method invocation is authorized if any
8769	// route scope matches a claimed scope in the access token. Otherwise, the invocation
8770	// is not authorized. When the route scope is configured, the client must provide
8771	// an access token instead of an identity token for authorization purposes.
8772	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
8773
8774	// The authorization type. For WebSocket APIs, valid values are NONE for open
8775	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
8776	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
8777	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
8778	// for using a Lambda authorizer.
8779	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
8780
8781	// The identifier.
8782	AuthorizerId *string `locationName:"authorizerId" type:"string"`
8783
8784	// An expression used to extract information at runtime. See Selection Expressions
8785	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8786	// for more information.
8787	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
8788
8789	// A string with a length between [1-64].
8790	OperationName *string `locationName:"operationName" type:"string"`
8791
8792	// The route models.
8793	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
8794
8795	// The route parameters.
8796	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
8797
8798	// After evaluating a selection expression, the result is compared against one
8799	// or more selection keys to find a matching key. See Selection Expressions
8800	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8801	// for a list of expressions and each expression's associated selection key
8802	// type.
8803	//
8804	// RouteKey is a required field
8805	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
8806
8807	// An expression used to extract information at runtime. See Selection Expressions
8808	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8809	// for more information.
8810	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
8811
8812	// A string with a length between [1-128].
8813	Target *string `locationName:"target" type:"string"`
8814}
8815
8816// String returns the string representation
8817func (s CreateRouteInput) String() string {
8818	return awsutil.Prettify(s)
8819}
8820
8821// GoString returns the string representation
8822func (s CreateRouteInput) GoString() string {
8823	return s.String()
8824}
8825
8826// Validate inspects the fields of the type to determine if they are valid.
8827func (s *CreateRouteInput) Validate() error {
8828	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
8829	if s.ApiId == nil {
8830		invalidParams.Add(request.NewErrParamRequired("ApiId"))
8831	}
8832	if s.ApiId != nil && len(*s.ApiId) < 1 {
8833		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
8834	}
8835	if s.RouteKey == nil {
8836		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
8837	}
8838
8839	if invalidParams.Len() > 0 {
8840		return invalidParams
8841	}
8842	return nil
8843}
8844
8845// SetApiId sets the ApiId field's value.
8846func (s *CreateRouteInput) SetApiId(v string) *CreateRouteInput {
8847	s.ApiId = &v
8848	return s
8849}
8850
8851// SetApiKeyRequired sets the ApiKeyRequired field's value.
8852func (s *CreateRouteInput) SetApiKeyRequired(v bool) *CreateRouteInput {
8853	s.ApiKeyRequired = &v
8854	return s
8855}
8856
8857// SetAuthorizationScopes sets the AuthorizationScopes field's value.
8858func (s *CreateRouteInput) SetAuthorizationScopes(v []*string) *CreateRouteInput {
8859	s.AuthorizationScopes = v
8860	return s
8861}
8862
8863// SetAuthorizationType sets the AuthorizationType field's value.
8864func (s *CreateRouteInput) SetAuthorizationType(v string) *CreateRouteInput {
8865	s.AuthorizationType = &v
8866	return s
8867}
8868
8869// SetAuthorizerId sets the AuthorizerId field's value.
8870func (s *CreateRouteInput) SetAuthorizerId(v string) *CreateRouteInput {
8871	s.AuthorizerId = &v
8872	return s
8873}
8874
8875// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
8876func (s *CreateRouteInput) SetModelSelectionExpression(v string) *CreateRouteInput {
8877	s.ModelSelectionExpression = &v
8878	return s
8879}
8880
8881// SetOperationName sets the OperationName field's value.
8882func (s *CreateRouteInput) SetOperationName(v string) *CreateRouteInput {
8883	s.OperationName = &v
8884	return s
8885}
8886
8887// SetRequestModels sets the RequestModels field's value.
8888func (s *CreateRouteInput) SetRequestModels(v map[string]*string) *CreateRouteInput {
8889	s.RequestModels = v
8890	return s
8891}
8892
8893// SetRequestParameters sets the RequestParameters field's value.
8894func (s *CreateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteInput {
8895	s.RequestParameters = v
8896	return s
8897}
8898
8899// SetRouteKey sets the RouteKey field's value.
8900func (s *CreateRouteInput) SetRouteKey(v string) *CreateRouteInput {
8901	s.RouteKey = &v
8902	return s
8903}
8904
8905// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
8906func (s *CreateRouteInput) SetRouteResponseSelectionExpression(v string) *CreateRouteInput {
8907	s.RouteResponseSelectionExpression = &v
8908	return s
8909}
8910
8911// SetTarget sets the Target field's value.
8912func (s *CreateRouteInput) SetTarget(v string) *CreateRouteInput {
8913	s.Target = &v
8914	return s
8915}
8916
8917type CreateRouteOutput struct {
8918	_ struct{} `type:"structure"`
8919
8920	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
8921
8922	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
8923
8924	// A list of authorization scopes configured on a route. The scopes are used
8925	// with a JWT authorizer to authorize the method invocation. The authorization
8926	// works by matching the route scopes against the scopes parsed from the access
8927	// token in the incoming request. The method invocation is authorized if any
8928	// route scope matches a claimed scope in the access token. Otherwise, the invocation
8929	// is not authorized. When the route scope is configured, the client must provide
8930	// an access token instead of an identity token for authorization purposes.
8931	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
8932
8933	// The authorization type. For WebSocket APIs, valid values are NONE for open
8934	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
8935	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
8936	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
8937	// for using a Lambda authorizer.
8938	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
8939
8940	// The identifier.
8941	AuthorizerId *string `locationName:"authorizerId" type:"string"`
8942
8943	// An expression used to extract information at runtime. See Selection Expressions
8944	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8945	// for more information.
8946	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
8947
8948	// A string with a length between [1-64].
8949	OperationName *string `locationName:"operationName" type:"string"`
8950
8951	// The route models.
8952	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
8953
8954	// The route parameters.
8955	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
8956
8957	// The identifier.
8958	RouteId *string `locationName:"routeId" type:"string"`
8959
8960	// After evaluating a selection expression, the result is compared against one
8961	// or more selection keys to find a matching key. See Selection Expressions
8962	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8963	// for a list of expressions and each expression's associated selection key
8964	// type.
8965	RouteKey *string `locationName:"routeKey" type:"string"`
8966
8967	// An expression used to extract information at runtime. See Selection Expressions
8968	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
8969	// for more information.
8970	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
8971
8972	// A string with a length between [1-128].
8973	Target *string `locationName:"target" type:"string"`
8974}
8975
8976// String returns the string representation
8977func (s CreateRouteOutput) String() string {
8978	return awsutil.Prettify(s)
8979}
8980
8981// GoString returns the string representation
8982func (s CreateRouteOutput) GoString() string {
8983	return s.String()
8984}
8985
8986// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
8987func (s *CreateRouteOutput) SetApiGatewayManaged(v bool) *CreateRouteOutput {
8988	s.ApiGatewayManaged = &v
8989	return s
8990}
8991
8992// SetApiKeyRequired sets the ApiKeyRequired field's value.
8993func (s *CreateRouteOutput) SetApiKeyRequired(v bool) *CreateRouteOutput {
8994	s.ApiKeyRequired = &v
8995	return s
8996}
8997
8998// SetAuthorizationScopes sets the AuthorizationScopes field's value.
8999func (s *CreateRouteOutput) SetAuthorizationScopes(v []*string) *CreateRouteOutput {
9000	s.AuthorizationScopes = v
9001	return s
9002}
9003
9004// SetAuthorizationType sets the AuthorizationType field's value.
9005func (s *CreateRouteOutput) SetAuthorizationType(v string) *CreateRouteOutput {
9006	s.AuthorizationType = &v
9007	return s
9008}
9009
9010// SetAuthorizerId sets the AuthorizerId field's value.
9011func (s *CreateRouteOutput) SetAuthorizerId(v string) *CreateRouteOutput {
9012	s.AuthorizerId = &v
9013	return s
9014}
9015
9016// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9017func (s *CreateRouteOutput) SetModelSelectionExpression(v string) *CreateRouteOutput {
9018	s.ModelSelectionExpression = &v
9019	return s
9020}
9021
9022// SetOperationName sets the OperationName field's value.
9023func (s *CreateRouteOutput) SetOperationName(v string) *CreateRouteOutput {
9024	s.OperationName = &v
9025	return s
9026}
9027
9028// SetRequestModels sets the RequestModels field's value.
9029func (s *CreateRouteOutput) SetRequestModels(v map[string]*string) *CreateRouteOutput {
9030	s.RequestModels = v
9031	return s
9032}
9033
9034// SetRequestParameters sets the RequestParameters field's value.
9035func (s *CreateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteOutput {
9036	s.RequestParameters = v
9037	return s
9038}
9039
9040// SetRouteId sets the RouteId field's value.
9041func (s *CreateRouteOutput) SetRouteId(v string) *CreateRouteOutput {
9042	s.RouteId = &v
9043	return s
9044}
9045
9046// SetRouteKey sets the RouteKey field's value.
9047func (s *CreateRouteOutput) SetRouteKey(v string) *CreateRouteOutput {
9048	s.RouteKey = &v
9049	return s
9050}
9051
9052// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
9053func (s *CreateRouteOutput) SetRouteResponseSelectionExpression(v string) *CreateRouteOutput {
9054	s.RouteResponseSelectionExpression = &v
9055	return s
9056}
9057
9058// SetTarget sets the Target field's value.
9059func (s *CreateRouteOutput) SetTarget(v string) *CreateRouteOutput {
9060	s.Target = &v
9061	return s
9062}
9063
9064type CreateRouteResponseInput struct {
9065	_ struct{} `type:"structure"`
9066
9067	// ApiId is a required field
9068	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9069
9070	// An expression used to extract information at runtime. See Selection Expressions
9071	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9072	// for more information.
9073	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
9074
9075	// The route models.
9076	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
9077
9078	// The route parameters.
9079	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
9080
9081	// RouteId is a required field
9082	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
9083
9084	// After evaluating a selection expression, the result is compared against one
9085	// or more selection keys to find a matching key. See Selection Expressions
9086	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9087	// for a list of expressions and each expression's associated selection key
9088	// type.
9089	//
9090	// RouteResponseKey is a required field
9091	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
9092}
9093
9094// String returns the string representation
9095func (s CreateRouteResponseInput) String() string {
9096	return awsutil.Prettify(s)
9097}
9098
9099// GoString returns the string representation
9100func (s CreateRouteResponseInput) GoString() string {
9101	return s.String()
9102}
9103
9104// Validate inspects the fields of the type to determine if they are valid.
9105func (s *CreateRouteResponseInput) Validate() error {
9106	invalidParams := request.ErrInvalidParams{Context: "CreateRouteResponseInput"}
9107	if s.ApiId == nil {
9108		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9109	}
9110	if s.ApiId != nil && len(*s.ApiId) < 1 {
9111		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9112	}
9113	if s.RouteId == nil {
9114		invalidParams.Add(request.NewErrParamRequired("RouteId"))
9115	}
9116	if s.RouteId != nil && len(*s.RouteId) < 1 {
9117		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
9118	}
9119	if s.RouteResponseKey == nil {
9120		invalidParams.Add(request.NewErrParamRequired("RouteResponseKey"))
9121	}
9122
9123	if invalidParams.Len() > 0 {
9124		return invalidParams
9125	}
9126	return nil
9127}
9128
9129// SetApiId sets the ApiId field's value.
9130func (s *CreateRouteResponseInput) SetApiId(v string) *CreateRouteResponseInput {
9131	s.ApiId = &v
9132	return s
9133}
9134
9135// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9136func (s *CreateRouteResponseInput) SetModelSelectionExpression(v string) *CreateRouteResponseInput {
9137	s.ModelSelectionExpression = &v
9138	return s
9139}
9140
9141// SetResponseModels sets the ResponseModels field's value.
9142func (s *CreateRouteResponseInput) SetResponseModels(v map[string]*string) *CreateRouteResponseInput {
9143	s.ResponseModels = v
9144	return s
9145}
9146
9147// SetResponseParameters sets the ResponseParameters field's value.
9148func (s *CreateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseInput {
9149	s.ResponseParameters = v
9150	return s
9151}
9152
9153// SetRouteId sets the RouteId field's value.
9154func (s *CreateRouteResponseInput) SetRouteId(v string) *CreateRouteResponseInput {
9155	s.RouteId = &v
9156	return s
9157}
9158
9159// SetRouteResponseKey sets the RouteResponseKey field's value.
9160func (s *CreateRouteResponseInput) SetRouteResponseKey(v string) *CreateRouteResponseInput {
9161	s.RouteResponseKey = &v
9162	return s
9163}
9164
9165type CreateRouteResponseOutput struct {
9166	_ struct{} `type:"structure"`
9167
9168	// An expression used to extract information at runtime. See Selection Expressions
9169	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9170	// for more information.
9171	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
9172
9173	// The route models.
9174	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
9175
9176	// The route parameters.
9177	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
9178
9179	// The identifier.
9180	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
9181
9182	// After evaluating a selection expression, the result is compared against one
9183	// or more selection keys to find a matching key. See Selection Expressions
9184	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
9185	// for a list of expressions and each expression's associated selection key
9186	// type.
9187	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
9188}
9189
9190// String returns the string representation
9191func (s CreateRouteResponseOutput) String() string {
9192	return awsutil.Prettify(s)
9193}
9194
9195// GoString returns the string representation
9196func (s CreateRouteResponseOutput) GoString() string {
9197	return s.String()
9198}
9199
9200// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
9201func (s *CreateRouteResponseOutput) SetModelSelectionExpression(v string) *CreateRouteResponseOutput {
9202	s.ModelSelectionExpression = &v
9203	return s
9204}
9205
9206// SetResponseModels sets the ResponseModels field's value.
9207func (s *CreateRouteResponseOutput) SetResponseModels(v map[string]*string) *CreateRouteResponseOutput {
9208	s.ResponseModels = v
9209	return s
9210}
9211
9212// SetResponseParameters sets the ResponseParameters field's value.
9213func (s *CreateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseOutput {
9214	s.ResponseParameters = v
9215	return s
9216}
9217
9218// SetRouteResponseId sets the RouteResponseId field's value.
9219func (s *CreateRouteResponseOutput) SetRouteResponseId(v string) *CreateRouteResponseOutput {
9220	s.RouteResponseId = &v
9221	return s
9222}
9223
9224// SetRouteResponseKey sets the RouteResponseKey field's value.
9225func (s *CreateRouteResponseOutput) SetRouteResponseKey(v string) *CreateRouteResponseOutput {
9226	s.RouteResponseKey = &v
9227	return s
9228}
9229
9230type CreateStageInput struct {
9231	_ struct{} `type:"structure"`
9232
9233	// Settings for logging access in a stage.
9234	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
9235
9236	// ApiId is a required field
9237	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9238
9239	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
9240
9241	// The identifier.
9242	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
9243
9244	// Represents a collection of route settings.
9245	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
9246
9247	// The identifier.
9248	DeploymentId *string `locationName:"deploymentId" type:"string"`
9249
9250	// A string with a length between [0-1024].
9251	Description *string `locationName:"description" type:"string"`
9252
9253	// The route settings map.
9254	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
9255
9256	// A string with a length between [1-128].
9257	//
9258	// StageName is a required field
9259	StageName *string `locationName:"stageName" type:"string" required:"true"`
9260
9261	// The stage variable map.
9262	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
9263
9264	// Represents a collection of tags associated with the resource.
9265	Tags map[string]*string `locationName:"tags" type:"map"`
9266}
9267
9268// String returns the string representation
9269func (s CreateStageInput) String() string {
9270	return awsutil.Prettify(s)
9271}
9272
9273// GoString returns the string representation
9274func (s CreateStageInput) GoString() string {
9275	return s.String()
9276}
9277
9278// Validate inspects the fields of the type to determine if they are valid.
9279func (s *CreateStageInput) Validate() error {
9280	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
9281	if s.ApiId == nil {
9282		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9283	}
9284	if s.ApiId != nil && len(*s.ApiId) < 1 {
9285		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9286	}
9287	if s.StageName == nil {
9288		invalidParams.Add(request.NewErrParamRequired("StageName"))
9289	}
9290
9291	if invalidParams.Len() > 0 {
9292		return invalidParams
9293	}
9294	return nil
9295}
9296
9297// SetAccessLogSettings sets the AccessLogSettings field's value.
9298func (s *CreateStageInput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageInput {
9299	s.AccessLogSettings = v
9300	return s
9301}
9302
9303// SetApiId sets the ApiId field's value.
9304func (s *CreateStageInput) SetApiId(v string) *CreateStageInput {
9305	s.ApiId = &v
9306	return s
9307}
9308
9309// SetAutoDeploy sets the AutoDeploy field's value.
9310func (s *CreateStageInput) SetAutoDeploy(v bool) *CreateStageInput {
9311	s.AutoDeploy = &v
9312	return s
9313}
9314
9315// SetClientCertificateId sets the ClientCertificateId field's value.
9316func (s *CreateStageInput) SetClientCertificateId(v string) *CreateStageInput {
9317	s.ClientCertificateId = &v
9318	return s
9319}
9320
9321// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
9322func (s *CreateStageInput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageInput {
9323	s.DefaultRouteSettings = v
9324	return s
9325}
9326
9327// SetDeploymentId sets the DeploymentId field's value.
9328func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
9329	s.DeploymentId = &v
9330	return s
9331}
9332
9333// SetDescription sets the Description field's value.
9334func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
9335	s.Description = &v
9336	return s
9337}
9338
9339// SetRouteSettings sets the RouteSettings field's value.
9340func (s *CreateStageInput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageInput {
9341	s.RouteSettings = v
9342	return s
9343}
9344
9345// SetStageName sets the StageName field's value.
9346func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
9347	s.StageName = &v
9348	return s
9349}
9350
9351// SetStageVariables sets the StageVariables field's value.
9352func (s *CreateStageInput) SetStageVariables(v map[string]*string) *CreateStageInput {
9353	s.StageVariables = v
9354	return s
9355}
9356
9357// SetTags sets the Tags field's value.
9358func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
9359	s.Tags = v
9360	return s
9361}
9362
9363type CreateStageOutput struct {
9364	_ struct{} `type:"structure"`
9365
9366	// Settings for logging access in a stage.
9367	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
9368
9369	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
9370
9371	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
9372
9373	// The identifier.
9374	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
9375
9376	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
9377
9378	// Represents a collection of route settings.
9379	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
9380
9381	// The identifier.
9382	DeploymentId *string `locationName:"deploymentId" type:"string"`
9383
9384	// A string with a length between [0-1024].
9385	Description *string `locationName:"description" type:"string"`
9386
9387	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
9388
9389	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
9390
9391	// The route settings map.
9392	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
9393
9394	// A string with a length between [1-128].
9395	StageName *string `locationName:"stageName" type:"string"`
9396
9397	// The stage variable map.
9398	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
9399
9400	// Represents a collection of tags associated with the resource.
9401	Tags map[string]*string `locationName:"tags" type:"map"`
9402}
9403
9404// String returns the string representation
9405func (s CreateStageOutput) String() string {
9406	return awsutil.Prettify(s)
9407}
9408
9409// GoString returns the string representation
9410func (s CreateStageOutput) GoString() string {
9411	return s.String()
9412}
9413
9414// SetAccessLogSettings sets the AccessLogSettings field's value.
9415func (s *CreateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageOutput {
9416	s.AccessLogSettings = v
9417	return s
9418}
9419
9420// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
9421func (s *CreateStageOutput) SetApiGatewayManaged(v bool) *CreateStageOutput {
9422	s.ApiGatewayManaged = &v
9423	return s
9424}
9425
9426// SetAutoDeploy sets the AutoDeploy field's value.
9427func (s *CreateStageOutput) SetAutoDeploy(v bool) *CreateStageOutput {
9428	s.AutoDeploy = &v
9429	return s
9430}
9431
9432// SetClientCertificateId sets the ClientCertificateId field's value.
9433func (s *CreateStageOutput) SetClientCertificateId(v string) *CreateStageOutput {
9434	s.ClientCertificateId = &v
9435	return s
9436}
9437
9438// SetCreatedDate sets the CreatedDate field's value.
9439func (s *CreateStageOutput) SetCreatedDate(v time.Time) *CreateStageOutput {
9440	s.CreatedDate = &v
9441	return s
9442}
9443
9444// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
9445func (s *CreateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageOutput {
9446	s.DefaultRouteSettings = v
9447	return s
9448}
9449
9450// SetDeploymentId sets the DeploymentId field's value.
9451func (s *CreateStageOutput) SetDeploymentId(v string) *CreateStageOutput {
9452	s.DeploymentId = &v
9453	return s
9454}
9455
9456// SetDescription sets the Description field's value.
9457func (s *CreateStageOutput) SetDescription(v string) *CreateStageOutput {
9458	s.Description = &v
9459	return s
9460}
9461
9462// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
9463func (s *CreateStageOutput) SetLastDeploymentStatusMessage(v string) *CreateStageOutput {
9464	s.LastDeploymentStatusMessage = &v
9465	return s
9466}
9467
9468// SetLastUpdatedDate sets the LastUpdatedDate field's value.
9469func (s *CreateStageOutput) SetLastUpdatedDate(v time.Time) *CreateStageOutput {
9470	s.LastUpdatedDate = &v
9471	return s
9472}
9473
9474// SetRouteSettings sets the RouteSettings field's value.
9475func (s *CreateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageOutput {
9476	s.RouteSettings = v
9477	return s
9478}
9479
9480// SetStageName sets the StageName field's value.
9481func (s *CreateStageOutput) SetStageName(v string) *CreateStageOutput {
9482	s.StageName = &v
9483	return s
9484}
9485
9486// SetStageVariables sets the StageVariables field's value.
9487func (s *CreateStageOutput) SetStageVariables(v map[string]*string) *CreateStageOutput {
9488	s.StageVariables = v
9489	return s
9490}
9491
9492// SetTags sets the Tags field's value.
9493func (s *CreateStageOutput) SetTags(v map[string]*string) *CreateStageOutput {
9494	s.Tags = v
9495	return s
9496}
9497
9498type CreateVpcLinkInput struct {
9499	_ struct{} `type:"structure"`
9500
9501	// A string with a length between [1-128].
9502	//
9503	// Name is a required field
9504	Name *string `locationName:"name" type:"string" required:"true"`
9505
9506	// A list of security group IDs for the VPC link.
9507	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
9508
9509	// A list of subnet IDs to include in the VPC link.
9510	//
9511	// SubnetIds is a required field
9512	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
9513
9514	// Represents a collection of tags associated with the resource.
9515	Tags map[string]*string `locationName:"tags" type:"map"`
9516}
9517
9518// String returns the string representation
9519func (s CreateVpcLinkInput) String() string {
9520	return awsutil.Prettify(s)
9521}
9522
9523// GoString returns the string representation
9524func (s CreateVpcLinkInput) GoString() string {
9525	return s.String()
9526}
9527
9528// Validate inspects the fields of the type to determine if they are valid.
9529func (s *CreateVpcLinkInput) Validate() error {
9530	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
9531	if s.Name == nil {
9532		invalidParams.Add(request.NewErrParamRequired("Name"))
9533	}
9534	if s.SubnetIds == nil {
9535		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
9536	}
9537
9538	if invalidParams.Len() > 0 {
9539		return invalidParams
9540	}
9541	return nil
9542}
9543
9544// SetName sets the Name field's value.
9545func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
9546	s.Name = &v
9547	return s
9548}
9549
9550// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9551func (s *CreateVpcLinkInput) SetSecurityGroupIds(v []*string) *CreateVpcLinkInput {
9552	s.SecurityGroupIds = v
9553	return s
9554}
9555
9556// SetSubnetIds sets the SubnetIds field's value.
9557func (s *CreateVpcLinkInput) SetSubnetIds(v []*string) *CreateVpcLinkInput {
9558	s.SubnetIds = v
9559	return s
9560}
9561
9562// SetTags sets the Tags field's value.
9563func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
9564	s.Tags = v
9565	return s
9566}
9567
9568type CreateVpcLinkOutput struct {
9569	_ struct{} `type:"structure"`
9570
9571	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
9572
9573	// A string with a length between [1-128].
9574	Name *string `locationName:"name" type:"string"`
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	SubnetIds []*string `locationName:"subnetIds" type:"list"`
9581
9582	// Represents a collection of tags associated with the resource.
9583	Tags map[string]*string `locationName:"tags" type:"map"`
9584
9585	// The identifier.
9586	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
9587
9588	// The status of the VPC link.
9589	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
9590
9591	// A string with a length between [0-1024].
9592	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
9593
9594	// The version of the VPC link.
9595	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
9596}
9597
9598// String returns the string representation
9599func (s CreateVpcLinkOutput) String() string {
9600	return awsutil.Prettify(s)
9601}
9602
9603// GoString returns the string representation
9604func (s CreateVpcLinkOutput) GoString() string {
9605	return s.String()
9606}
9607
9608// SetCreatedDate sets the CreatedDate field's value.
9609func (s *CreateVpcLinkOutput) SetCreatedDate(v time.Time) *CreateVpcLinkOutput {
9610	s.CreatedDate = &v
9611	return s
9612}
9613
9614// SetName sets the Name field's value.
9615func (s *CreateVpcLinkOutput) SetName(v string) *CreateVpcLinkOutput {
9616	s.Name = &v
9617	return s
9618}
9619
9620// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9621func (s *CreateVpcLinkOutput) SetSecurityGroupIds(v []*string) *CreateVpcLinkOutput {
9622	s.SecurityGroupIds = v
9623	return s
9624}
9625
9626// SetSubnetIds sets the SubnetIds field's value.
9627func (s *CreateVpcLinkOutput) SetSubnetIds(v []*string) *CreateVpcLinkOutput {
9628	s.SubnetIds = v
9629	return s
9630}
9631
9632// SetTags sets the Tags field's value.
9633func (s *CreateVpcLinkOutput) SetTags(v map[string]*string) *CreateVpcLinkOutput {
9634	s.Tags = v
9635	return s
9636}
9637
9638// SetVpcLinkId sets the VpcLinkId field's value.
9639func (s *CreateVpcLinkOutput) SetVpcLinkId(v string) *CreateVpcLinkOutput {
9640	s.VpcLinkId = &v
9641	return s
9642}
9643
9644// SetVpcLinkStatus sets the VpcLinkStatus field's value.
9645func (s *CreateVpcLinkOutput) SetVpcLinkStatus(v string) *CreateVpcLinkOutput {
9646	s.VpcLinkStatus = &v
9647	return s
9648}
9649
9650// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
9651func (s *CreateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *CreateVpcLinkOutput {
9652	s.VpcLinkStatusMessage = &v
9653	return s
9654}
9655
9656// SetVpcLinkVersion sets the VpcLinkVersion field's value.
9657func (s *CreateVpcLinkOutput) SetVpcLinkVersion(v string) *CreateVpcLinkOutput {
9658	s.VpcLinkVersion = &v
9659	return s
9660}
9661
9662type DeleteAccessLogSettingsInput struct {
9663	_ struct{} `type:"structure"`
9664
9665	// ApiId is a required field
9666	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9667
9668	// StageName is a required field
9669	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
9670}
9671
9672// String returns the string representation
9673func (s DeleteAccessLogSettingsInput) String() string {
9674	return awsutil.Prettify(s)
9675}
9676
9677// GoString returns the string representation
9678func (s DeleteAccessLogSettingsInput) GoString() string {
9679	return s.String()
9680}
9681
9682// Validate inspects the fields of the type to determine if they are valid.
9683func (s *DeleteAccessLogSettingsInput) Validate() error {
9684	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessLogSettingsInput"}
9685	if s.ApiId == nil {
9686		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9687	}
9688	if s.ApiId != nil && len(*s.ApiId) < 1 {
9689		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9690	}
9691	if s.StageName == nil {
9692		invalidParams.Add(request.NewErrParamRequired("StageName"))
9693	}
9694	if s.StageName != nil && len(*s.StageName) < 1 {
9695		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
9696	}
9697
9698	if invalidParams.Len() > 0 {
9699		return invalidParams
9700	}
9701	return nil
9702}
9703
9704// SetApiId sets the ApiId field's value.
9705func (s *DeleteAccessLogSettingsInput) SetApiId(v string) *DeleteAccessLogSettingsInput {
9706	s.ApiId = &v
9707	return s
9708}
9709
9710// SetStageName sets the StageName field's value.
9711func (s *DeleteAccessLogSettingsInput) SetStageName(v string) *DeleteAccessLogSettingsInput {
9712	s.StageName = &v
9713	return s
9714}
9715
9716type DeleteAccessLogSettingsOutput struct {
9717	_ struct{} `type:"structure"`
9718}
9719
9720// String returns the string representation
9721func (s DeleteAccessLogSettingsOutput) String() string {
9722	return awsutil.Prettify(s)
9723}
9724
9725// GoString returns the string representation
9726func (s DeleteAccessLogSettingsOutput) GoString() string {
9727	return s.String()
9728}
9729
9730type DeleteApiInput struct {
9731	_ struct{} `type:"structure"`
9732
9733	// ApiId is a required field
9734	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9735}
9736
9737// String returns the string representation
9738func (s DeleteApiInput) String() string {
9739	return awsutil.Prettify(s)
9740}
9741
9742// GoString returns the string representation
9743func (s DeleteApiInput) GoString() string {
9744	return s.String()
9745}
9746
9747// Validate inspects the fields of the type to determine if they are valid.
9748func (s *DeleteApiInput) Validate() error {
9749	invalidParams := request.ErrInvalidParams{Context: "DeleteApiInput"}
9750	if s.ApiId == nil {
9751		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9752	}
9753	if s.ApiId != nil && len(*s.ApiId) < 1 {
9754		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9755	}
9756
9757	if invalidParams.Len() > 0 {
9758		return invalidParams
9759	}
9760	return nil
9761}
9762
9763// SetApiId sets the ApiId field's value.
9764func (s *DeleteApiInput) SetApiId(v string) *DeleteApiInput {
9765	s.ApiId = &v
9766	return s
9767}
9768
9769type DeleteApiMappingInput struct {
9770	_ struct{} `type:"structure"`
9771
9772	// ApiMappingId is a required field
9773	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
9774
9775	// DomainName is a required field
9776	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
9777}
9778
9779// String returns the string representation
9780func (s DeleteApiMappingInput) String() string {
9781	return awsutil.Prettify(s)
9782}
9783
9784// GoString returns the string representation
9785func (s DeleteApiMappingInput) GoString() string {
9786	return s.String()
9787}
9788
9789// Validate inspects the fields of the type to determine if they are valid.
9790func (s *DeleteApiMappingInput) Validate() error {
9791	invalidParams := request.ErrInvalidParams{Context: "DeleteApiMappingInput"}
9792	if s.ApiMappingId == nil {
9793		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
9794	}
9795	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
9796		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
9797	}
9798	if s.DomainName == nil {
9799		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9800	}
9801	if s.DomainName != nil && len(*s.DomainName) < 1 {
9802		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
9803	}
9804
9805	if invalidParams.Len() > 0 {
9806		return invalidParams
9807	}
9808	return nil
9809}
9810
9811// SetApiMappingId sets the ApiMappingId field's value.
9812func (s *DeleteApiMappingInput) SetApiMappingId(v string) *DeleteApiMappingInput {
9813	s.ApiMappingId = &v
9814	return s
9815}
9816
9817// SetDomainName sets the DomainName field's value.
9818func (s *DeleteApiMappingInput) SetDomainName(v string) *DeleteApiMappingInput {
9819	s.DomainName = &v
9820	return s
9821}
9822
9823type DeleteApiMappingOutput struct {
9824	_ struct{} `type:"structure"`
9825}
9826
9827// String returns the string representation
9828func (s DeleteApiMappingOutput) String() string {
9829	return awsutil.Prettify(s)
9830}
9831
9832// GoString returns the string representation
9833func (s DeleteApiMappingOutput) GoString() string {
9834	return s.String()
9835}
9836
9837type DeleteApiOutput struct {
9838	_ struct{} `type:"structure"`
9839}
9840
9841// String returns the string representation
9842func (s DeleteApiOutput) String() string {
9843	return awsutil.Prettify(s)
9844}
9845
9846// GoString returns the string representation
9847func (s DeleteApiOutput) GoString() string {
9848	return s.String()
9849}
9850
9851type DeleteAuthorizerInput struct {
9852	_ struct{} `type:"structure"`
9853
9854	// ApiId is a required field
9855	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9856
9857	// AuthorizerId is a required field
9858	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
9859}
9860
9861// String returns the string representation
9862func (s DeleteAuthorizerInput) String() string {
9863	return awsutil.Prettify(s)
9864}
9865
9866// GoString returns the string representation
9867func (s DeleteAuthorizerInput) GoString() string {
9868	return s.String()
9869}
9870
9871// Validate inspects the fields of the type to determine if they are valid.
9872func (s *DeleteAuthorizerInput) Validate() error {
9873	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
9874	if s.ApiId == nil {
9875		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9876	}
9877	if s.ApiId != nil && len(*s.ApiId) < 1 {
9878		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9879	}
9880	if s.AuthorizerId == nil {
9881		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
9882	}
9883	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
9884		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
9885	}
9886
9887	if invalidParams.Len() > 0 {
9888		return invalidParams
9889	}
9890	return nil
9891}
9892
9893// SetApiId sets the ApiId field's value.
9894func (s *DeleteAuthorizerInput) SetApiId(v string) *DeleteAuthorizerInput {
9895	s.ApiId = &v
9896	return s
9897}
9898
9899// SetAuthorizerId sets the AuthorizerId field's value.
9900func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
9901	s.AuthorizerId = &v
9902	return s
9903}
9904
9905type DeleteAuthorizerOutput struct {
9906	_ struct{} `type:"structure"`
9907}
9908
9909// String returns the string representation
9910func (s DeleteAuthorizerOutput) String() string {
9911	return awsutil.Prettify(s)
9912}
9913
9914// GoString returns the string representation
9915func (s DeleteAuthorizerOutput) GoString() string {
9916	return s.String()
9917}
9918
9919type DeleteCorsConfigurationInput struct {
9920	_ struct{} `type:"structure"`
9921
9922	// ApiId is a required field
9923	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9924}
9925
9926// String returns the string representation
9927func (s DeleteCorsConfigurationInput) String() string {
9928	return awsutil.Prettify(s)
9929}
9930
9931// GoString returns the string representation
9932func (s DeleteCorsConfigurationInput) GoString() string {
9933	return s.String()
9934}
9935
9936// Validate inspects the fields of the type to determine if they are valid.
9937func (s *DeleteCorsConfigurationInput) Validate() error {
9938	invalidParams := request.ErrInvalidParams{Context: "DeleteCorsConfigurationInput"}
9939	if s.ApiId == nil {
9940		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9941	}
9942	if s.ApiId != nil && len(*s.ApiId) < 1 {
9943		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
9944	}
9945
9946	if invalidParams.Len() > 0 {
9947		return invalidParams
9948	}
9949	return nil
9950}
9951
9952// SetApiId sets the ApiId field's value.
9953func (s *DeleteCorsConfigurationInput) SetApiId(v string) *DeleteCorsConfigurationInput {
9954	s.ApiId = &v
9955	return s
9956}
9957
9958type DeleteCorsConfigurationOutput struct {
9959	_ struct{} `type:"structure"`
9960}
9961
9962// String returns the string representation
9963func (s DeleteCorsConfigurationOutput) String() string {
9964	return awsutil.Prettify(s)
9965}
9966
9967// GoString returns the string representation
9968func (s DeleteCorsConfigurationOutput) GoString() string {
9969	return s.String()
9970}
9971
9972type DeleteDeploymentInput struct {
9973	_ struct{} `type:"structure"`
9974
9975	// ApiId is a required field
9976	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
9977
9978	// DeploymentId is a required field
9979	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
9980}
9981
9982// String returns the string representation
9983func (s DeleteDeploymentInput) String() string {
9984	return awsutil.Prettify(s)
9985}
9986
9987// GoString returns the string representation
9988func (s DeleteDeploymentInput) GoString() string {
9989	return s.String()
9990}
9991
9992// Validate inspects the fields of the type to determine if they are valid.
9993func (s *DeleteDeploymentInput) Validate() error {
9994	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
9995	if s.ApiId == nil {
9996		invalidParams.Add(request.NewErrParamRequired("ApiId"))
9997	}
9998	if s.ApiId != nil && len(*s.ApiId) < 1 {
9999		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10000	}
10001	if s.DeploymentId == nil {
10002		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
10003	}
10004	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
10005		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
10006	}
10007
10008	if invalidParams.Len() > 0 {
10009		return invalidParams
10010	}
10011	return nil
10012}
10013
10014// SetApiId sets the ApiId field's value.
10015func (s *DeleteDeploymentInput) SetApiId(v string) *DeleteDeploymentInput {
10016	s.ApiId = &v
10017	return s
10018}
10019
10020// SetDeploymentId sets the DeploymentId field's value.
10021func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
10022	s.DeploymentId = &v
10023	return s
10024}
10025
10026type DeleteDeploymentOutput struct {
10027	_ struct{} `type:"structure"`
10028}
10029
10030// String returns the string representation
10031func (s DeleteDeploymentOutput) String() string {
10032	return awsutil.Prettify(s)
10033}
10034
10035// GoString returns the string representation
10036func (s DeleteDeploymentOutput) GoString() string {
10037	return s.String()
10038}
10039
10040type DeleteDomainNameInput struct {
10041	_ struct{} `type:"structure"`
10042
10043	// DomainName is a required field
10044	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
10045}
10046
10047// String returns the string representation
10048func (s DeleteDomainNameInput) String() string {
10049	return awsutil.Prettify(s)
10050}
10051
10052// GoString returns the string representation
10053func (s DeleteDomainNameInput) GoString() string {
10054	return s.String()
10055}
10056
10057// Validate inspects the fields of the type to determine if they are valid.
10058func (s *DeleteDomainNameInput) Validate() error {
10059	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
10060	if s.DomainName == nil {
10061		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10062	}
10063	if s.DomainName != nil && len(*s.DomainName) < 1 {
10064		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
10065	}
10066
10067	if invalidParams.Len() > 0 {
10068		return invalidParams
10069	}
10070	return nil
10071}
10072
10073// SetDomainName sets the DomainName field's value.
10074func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
10075	s.DomainName = &v
10076	return s
10077}
10078
10079type DeleteDomainNameOutput struct {
10080	_ struct{} `type:"structure"`
10081}
10082
10083// String returns the string representation
10084func (s DeleteDomainNameOutput) String() string {
10085	return awsutil.Prettify(s)
10086}
10087
10088// GoString returns the string representation
10089func (s DeleteDomainNameOutput) GoString() string {
10090	return s.String()
10091}
10092
10093type DeleteIntegrationInput struct {
10094	_ struct{} `type:"structure"`
10095
10096	// ApiId is a required field
10097	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10098
10099	// IntegrationId is a required field
10100	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
10101}
10102
10103// String returns the string representation
10104func (s DeleteIntegrationInput) String() string {
10105	return awsutil.Prettify(s)
10106}
10107
10108// GoString returns the string representation
10109func (s DeleteIntegrationInput) GoString() string {
10110	return s.String()
10111}
10112
10113// Validate inspects the fields of the type to determine if they are valid.
10114func (s *DeleteIntegrationInput) Validate() error {
10115	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
10116	if s.ApiId == nil {
10117		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10118	}
10119	if s.ApiId != nil && len(*s.ApiId) < 1 {
10120		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10121	}
10122	if s.IntegrationId == nil {
10123		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
10124	}
10125	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
10126		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
10127	}
10128
10129	if invalidParams.Len() > 0 {
10130		return invalidParams
10131	}
10132	return nil
10133}
10134
10135// SetApiId sets the ApiId field's value.
10136func (s *DeleteIntegrationInput) SetApiId(v string) *DeleteIntegrationInput {
10137	s.ApiId = &v
10138	return s
10139}
10140
10141// SetIntegrationId sets the IntegrationId field's value.
10142func (s *DeleteIntegrationInput) SetIntegrationId(v string) *DeleteIntegrationInput {
10143	s.IntegrationId = &v
10144	return s
10145}
10146
10147type DeleteIntegrationOutput struct {
10148	_ struct{} `type:"structure"`
10149}
10150
10151// String returns the string representation
10152func (s DeleteIntegrationOutput) String() string {
10153	return awsutil.Prettify(s)
10154}
10155
10156// GoString returns the string representation
10157func (s DeleteIntegrationOutput) GoString() string {
10158	return s.String()
10159}
10160
10161type DeleteIntegrationResponseInput struct {
10162	_ struct{} `type:"structure"`
10163
10164	// ApiId is a required field
10165	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10166
10167	// IntegrationId is a required field
10168	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
10169
10170	// IntegrationResponseId is a required field
10171	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
10172}
10173
10174// String returns the string representation
10175func (s DeleteIntegrationResponseInput) String() string {
10176	return awsutil.Prettify(s)
10177}
10178
10179// GoString returns the string representation
10180func (s DeleteIntegrationResponseInput) GoString() string {
10181	return s.String()
10182}
10183
10184// Validate inspects the fields of the type to determine if they are valid.
10185func (s *DeleteIntegrationResponseInput) Validate() error {
10186	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
10187	if s.ApiId == nil {
10188		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10189	}
10190	if s.ApiId != nil && len(*s.ApiId) < 1 {
10191		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10192	}
10193	if s.IntegrationId == nil {
10194		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
10195	}
10196	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
10197		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
10198	}
10199	if s.IntegrationResponseId == nil {
10200		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
10201	}
10202	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
10203		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
10204	}
10205
10206	if invalidParams.Len() > 0 {
10207		return invalidParams
10208	}
10209	return nil
10210}
10211
10212// SetApiId sets the ApiId field's value.
10213func (s *DeleteIntegrationResponseInput) SetApiId(v string) *DeleteIntegrationResponseInput {
10214	s.ApiId = &v
10215	return s
10216}
10217
10218// SetIntegrationId sets the IntegrationId field's value.
10219func (s *DeleteIntegrationResponseInput) SetIntegrationId(v string) *DeleteIntegrationResponseInput {
10220	s.IntegrationId = &v
10221	return s
10222}
10223
10224// SetIntegrationResponseId sets the IntegrationResponseId field's value.
10225func (s *DeleteIntegrationResponseInput) SetIntegrationResponseId(v string) *DeleteIntegrationResponseInput {
10226	s.IntegrationResponseId = &v
10227	return s
10228}
10229
10230type DeleteIntegrationResponseOutput struct {
10231	_ struct{} `type:"structure"`
10232}
10233
10234// String returns the string representation
10235func (s DeleteIntegrationResponseOutput) String() string {
10236	return awsutil.Prettify(s)
10237}
10238
10239// GoString returns the string representation
10240func (s DeleteIntegrationResponseOutput) GoString() string {
10241	return s.String()
10242}
10243
10244type DeleteModelInput struct {
10245	_ struct{} `type:"structure"`
10246
10247	// ApiId is a required field
10248	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10249
10250	// ModelId is a required field
10251	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
10252}
10253
10254// String returns the string representation
10255func (s DeleteModelInput) String() string {
10256	return awsutil.Prettify(s)
10257}
10258
10259// GoString returns the string representation
10260func (s DeleteModelInput) GoString() string {
10261	return s.String()
10262}
10263
10264// Validate inspects the fields of the type to determine if they are valid.
10265func (s *DeleteModelInput) Validate() error {
10266	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
10267	if s.ApiId == nil {
10268		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10269	}
10270	if s.ApiId != nil && len(*s.ApiId) < 1 {
10271		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10272	}
10273	if s.ModelId == nil {
10274		invalidParams.Add(request.NewErrParamRequired("ModelId"))
10275	}
10276	if s.ModelId != nil && len(*s.ModelId) < 1 {
10277		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
10278	}
10279
10280	if invalidParams.Len() > 0 {
10281		return invalidParams
10282	}
10283	return nil
10284}
10285
10286// SetApiId sets the ApiId field's value.
10287func (s *DeleteModelInput) SetApiId(v string) *DeleteModelInput {
10288	s.ApiId = &v
10289	return s
10290}
10291
10292// SetModelId sets the ModelId field's value.
10293func (s *DeleteModelInput) SetModelId(v string) *DeleteModelInput {
10294	s.ModelId = &v
10295	return s
10296}
10297
10298type DeleteModelOutput struct {
10299	_ struct{} `type:"structure"`
10300}
10301
10302// String returns the string representation
10303func (s DeleteModelOutput) String() string {
10304	return awsutil.Prettify(s)
10305}
10306
10307// GoString returns the string representation
10308func (s DeleteModelOutput) GoString() string {
10309	return s.String()
10310}
10311
10312type DeleteRouteInput struct {
10313	_ struct{} `type:"structure"`
10314
10315	// ApiId is a required field
10316	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10317
10318	// RouteId is a required field
10319	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10320}
10321
10322// String returns the string representation
10323func (s DeleteRouteInput) String() string {
10324	return awsutil.Prettify(s)
10325}
10326
10327// GoString returns the string representation
10328func (s DeleteRouteInput) GoString() string {
10329	return s.String()
10330}
10331
10332// Validate inspects the fields of the type to determine if they are valid.
10333func (s *DeleteRouteInput) Validate() error {
10334	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
10335	if s.ApiId == nil {
10336		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10337	}
10338	if s.ApiId != nil && len(*s.ApiId) < 1 {
10339		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10340	}
10341	if s.RouteId == nil {
10342		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10343	}
10344	if s.RouteId != nil && len(*s.RouteId) < 1 {
10345		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10346	}
10347
10348	if invalidParams.Len() > 0 {
10349		return invalidParams
10350	}
10351	return nil
10352}
10353
10354// SetApiId sets the ApiId field's value.
10355func (s *DeleteRouteInput) SetApiId(v string) *DeleteRouteInput {
10356	s.ApiId = &v
10357	return s
10358}
10359
10360// SetRouteId sets the RouteId field's value.
10361func (s *DeleteRouteInput) SetRouteId(v string) *DeleteRouteInput {
10362	s.RouteId = &v
10363	return s
10364}
10365
10366type DeleteRouteOutput struct {
10367	_ struct{} `type:"structure"`
10368}
10369
10370// String returns the string representation
10371func (s DeleteRouteOutput) String() string {
10372	return awsutil.Prettify(s)
10373}
10374
10375// GoString returns the string representation
10376func (s DeleteRouteOutput) GoString() string {
10377	return s.String()
10378}
10379
10380type DeleteRouteRequestParameterInput struct {
10381	_ struct{} `type:"structure"`
10382
10383	// ApiId is a required field
10384	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10385
10386	// RequestParameterKey is a required field
10387	RequestParameterKey *string `location:"uri" locationName:"requestParameterKey" type:"string" required:"true"`
10388
10389	// RouteId is a required field
10390	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10391}
10392
10393// String returns the string representation
10394func (s DeleteRouteRequestParameterInput) String() string {
10395	return awsutil.Prettify(s)
10396}
10397
10398// GoString returns the string representation
10399func (s DeleteRouteRequestParameterInput) GoString() string {
10400	return s.String()
10401}
10402
10403// Validate inspects the fields of the type to determine if they are valid.
10404func (s *DeleteRouteRequestParameterInput) Validate() error {
10405	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteRequestParameterInput"}
10406	if s.ApiId == nil {
10407		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10408	}
10409	if s.ApiId != nil && len(*s.ApiId) < 1 {
10410		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10411	}
10412	if s.RequestParameterKey == nil {
10413		invalidParams.Add(request.NewErrParamRequired("RequestParameterKey"))
10414	}
10415	if s.RequestParameterKey != nil && len(*s.RequestParameterKey) < 1 {
10416		invalidParams.Add(request.NewErrParamMinLen("RequestParameterKey", 1))
10417	}
10418	if s.RouteId == nil {
10419		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10420	}
10421	if s.RouteId != nil && len(*s.RouteId) < 1 {
10422		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10423	}
10424
10425	if invalidParams.Len() > 0 {
10426		return invalidParams
10427	}
10428	return nil
10429}
10430
10431// SetApiId sets the ApiId field's value.
10432func (s *DeleteRouteRequestParameterInput) SetApiId(v string) *DeleteRouteRequestParameterInput {
10433	s.ApiId = &v
10434	return s
10435}
10436
10437// SetRequestParameterKey sets the RequestParameterKey field's value.
10438func (s *DeleteRouteRequestParameterInput) SetRequestParameterKey(v string) *DeleteRouteRequestParameterInput {
10439	s.RequestParameterKey = &v
10440	return s
10441}
10442
10443// SetRouteId sets the RouteId field's value.
10444func (s *DeleteRouteRequestParameterInput) SetRouteId(v string) *DeleteRouteRequestParameterInput {
10445	s.RouteId = &v
10446	return s
10447}
10448
10449type DeleteRouteRequestParameterOutput struct {
10450	_ struct{} `type:"structure"`
10451}
10452
10453// String returns the string representation
10454func (s DeleteRouteRequestParameterOutput) String() string {
10455	return awsutil.Prettify(s)
10456}
10457
10458// GoString returns the string representation
10459func (s DeleteRouteRequestParameterOutput) GoString() string {
10460	return s.String()
10461}
10462
10463type DeleteRouteResponseInput struct {
10464	_ struct{} `type:"structure"`
10465
10466	// ApiId is a required field
10467	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10468
10469	// RouteId is a required field
10470	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
10471
10472	// RouteResponseId is a required field
10473	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
10474}
10475
10476// String returns the string representation
10477func (s DeleteRouteResponseInput) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation
10482func (s DeleteRouteResponseInput) GoString() string {
10483	return s.String()
10484}
10485
10486// Validate inspects the fields of the type to determine if they are valid.
10487func (s *DeleteRouteResponseInput) Validate() error {
10488	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteResponseInput"}
10489	if s.ApiId == nil {
10490		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10491	}
10492	if s.ApiId != nil && len(*s.ApiId) < 1 {
10493		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10494	}
10495	if s.RouteId == nil {
10496		invalidParams.Add(request.NewErrParamRequired("RouteId"))
10497	}
10498	if s.RouteId != nil && len(*s.RouteId) < 1 {
10499		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
10500	}
10501	if s.RouteResponseId == nil {
10502		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
10503	}
10504	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
10505		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
10506	}
10507
10508	if invalidParams.Len() > 0 {
10509		return invalidParams
10510	}
10511	return nil
10512}
10513
10514// SetApiId sets the ApiId field's value.
10515func (s *DeleteRouteResponseInput) SetApiId(v string) *DeleteRouteResponseInput {
10516	s.ApiId = &v
10517	return s
10518}
10519
10520// SetRouteId sets the RouteId field's value.
10521func (s *DeleteRouteResponseInput) SetRouteId(v string) *DeleteRouteResponseInput {
10522	s.RouteId = &v
10523	return s
10524}
10525
10526// SetRouteResponseId sets the RouteResponseId field's value.
10527func (s *DeleteRouteResponseInput) SetRouteResponseId(v string) *DeleteRouteResponseInput {
10528	s.RouteResponseId = &v
10529	return s
10530}
10531
10532type DeleteRouteResponseOutput struct {
10533	_ struct{} `type:"structure"`
10534}
10535
10536// String returns the string representation
10537func (s DeleteRouteResponseOutput) String() string {
10538	return awsutil.Prettify(s)
10539}
10540
10541// GoString returns the string representation
10542func (s DeleteRouteResponseOutput) GoString() string {
10543	return s.String()
10544}
10545
10546type DeleteRouteSettingsInput struct {
10547	_ struct{} `type:"structure"`
10548
10549	// ApiId is a required field
10550	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10551
10552	// RouteKey is a required field
10553	RouteKey *string `location:"uri" locationName:"routeKey" type:"string" required:"true"`
10554
10555	// StageName is a required field
10556	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
10557}
10558
10559// String returns the string representation
10560func (s DeleteRouteSettingsInput) String() string {
10561	return awsutil.Prettify(s)
10562}
10563
10564// GoString returns the string representation
10565func (s DeleteRouteSettingsInput) GoString() string {
10566	return s.String()
10567}
10568
10569// Validate inspects the fields of the type to determine if they are valid.
10570func (s *DeleteRouteSettingsInput) Validate() error {
10571	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteSettingsInput"}
10572	if s.ApiId == nil {
10573		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10574	}
10575	if s.ApiId != nil && len(*s.ApiId) < 1 {
10576		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10577	}
10578	if s.RouteKey == nil {
10579		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
10580	}
10581	if s.RouteKey != nil && len(*s.RouteKey) < 1 {
10582		invalidParams.Add(request.NewErrParamMinLen("RouteKey", 1))
10583	}
10584	if s.StageName == nil {
10585		invalidParams.Add(request.NewErrParamRequired("StageName"))
10586	}
10587	if s.StageName != nil && len(*s.StageName) < 1 {
10588		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10589	}
10590
10591	if invalidParams.Len() > 0 {
10592		return invalidParams
10593	}
10594	return nil
10595}
10596
10597// SetApiId sets the ApiId field's value.
10598func (s *DeleteRouteSettingsInput) SetApiId(v string) *DeleteRouteSettingsInput {
10599	s.ApiId = &v
10600	return s
10601}
10602
10603// SetRouteKey sets the RouteKey field's value.
10604func (s *DeleteRouteSettingsInput) SetRouteKey(v string) *DeleteRouteSettingsInput {
10605	s.RouteKey = &v
10606	return s
10607}
10608
10609// SetStageName sets the StageName field's value.
10610func (s *DeleteRouteSettingsInput) SetStageName(v string) *DeleteRouteSettingsInput {
10611	s.StageName = &v
10612	return s
10613}
10614
10615type DeleteRouteSettingsOutput struct {
10616	_ struct{} `type:"structure"`
10617}
10618
10619// String returns the string representation
10620func (s DeleteRouteSettingsOutput) String() string {
10621	return awsutil.Prettify(s)
10622}
10623
10624// GoString returns the string representation
10625func (s DeleteRouteSettingsOutput) GoString() string {
10626	return s.String()
10627}
10628
10629type DeleteStageInput struct {
10630	_ struct{} `type:"structure"`
10631
10632	// ApiId is a required field
10633	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10634
10635	// StageName is a required field
10636	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
10637}
10638
10639// String returns the string representation
10640func (s DeleteStageInput) String() string {
10641	return awsutil.Prettify(s)
10642}
10643
10644// GoString returns the string representation
10645func (s DeleteStageInput) GoString() string {
10646	return s.String()
10647}
10648
10649// Validate inspects the fields of the type to determine if they are valid.
10650func (s *DeleteStageInput) Validate() error {
10651	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
10652	if s.ApiId == nil {
10653		invalidParams.Add(request.NewErrParamRequired("ApiId"))
10654	}
10655	if s.ApiId != nil && len(*s.ApiId) < 1 {
10656		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
10657	}
10658	if s.StageName == nil {
10659		invalidParams.Add(request.NewErrParamRequired("StageName"))
10660	}
10661	if s.StageName != nil && len(*s.StageName) < 1 {
10662		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10663	}
10664
10665	if invalidParams.Len() > 0 {
10666		return invalidParams
10667	}
10668	return nil
10669}
10670
10671// SetApiId sets the ApiId field's value.
10672func (s *DeleteStageInput) SetApiId(v string) *DeleteStageInput {
10673	s.ApiId = &v
10674	return s
10675}
10676
10677// SetStageName sets the StageName field's value.
10678func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
10679	s.StageName = &v
10680	return s
10681}
10682
10683type DeleteStageOutput struct {
10684	_ struct{} `type:"structure"`
10685}
10686
10687// String returns the string representation
10688func (s DeleteStageOutput) String() string {
10689	return awsutil.Prettify(s)
10690}
10691
10692// GoString returns the string representation
10693func (s DeleteStageOutput) GoString() string {
10694	return s.String()
10695}
10696
10697type DeleteVpcLinkInput struct {
10698	_ struct{} `type:"structure"`
10699
10700	// VpcLinkId is a required field
10701	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
10702}
10703
10704// String returns the string representation
10705func (s DeleteVpcLinkInput) String() string {
10706	return awsutil.Prettify(s)
10707}
10708
10709// GoString returns the string representation
10710func (s DeleteVpcLinkInput) GoString() string {
10711	return s.String()
10712}
10713
10714// Validate inspects the fields of the type to determine if they are valid.
10715func (s *DeleteVpcLinkInput) Validate() error {
10716	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
10717	if s.VpcLinkId == nil {
10718		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
10719	}
10720	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
10721		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
10722	}
10723
10724	if invalidParams.Len() > 0 {
10725		return invalidParams
10726	}
10727	return nil
10728}
10729
10730// SetVpcLinkId sets the VpcLinkId field's value.
10731func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
10732	s.VpcLinkId = &v
10733	return s
10734}
10735
10736type DeleteVpcLinkOutput struct {
10737	_ struct{} `type:"structure"`
10738}
10739
10740// String returns the string representation
10741func (s DeleteVpcLinkOutput) String() string {
10742	return awsutil.Prettify(s)
10743}
10744
10745// GoString returns the string representation
10746func (s DeleteVpcLinkOutput) GoString() string {
10747	return s.String()
10748}
10749
10750// An immutable representation of an API that can be called by users. A Deployment
10751// must be associated with a Stage for it to be callable over the internet.
10752type Deployment struct {
10753	_ struct{} `type:"structure"`
10754
10755	// Specifies whether a deployment was automatically released.
10756	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
10757
10758	// The date and time when the Deployment resource was created.
10759	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
10760
10761	// The identifier for the deployment.
10762	DeploymentId *string `locationName:"deploymentId" type:"string"`
10763
10764	// The status of the deployment: PENDING, FAILED, or SUCCEEDED.
10765	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
10766
10767	// May contain additional feedback on the status of an API deployment.
10768	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
10769
10770	// The description for the deployment.
10771	Description *string `locationName:"description" type:"string"`
10772}
10773
10774// String returns the string representation
10775func (s Deployment) String() string {
10776	return awsutil.Prettify(s)
10777}
10778
10779// GoString returns the string representation
10780func (s Deployment) GoString() string {
10781	return s.String()
10782}
10783
10784// SetAutoDeployed sets the AutoDeployed field's value.
10785func (s *Deployment) SetAutoDeployed(v bool) *Deployment {
10786	s.AutoDeployed = &v
10787	return s
10788}
10789
10790// SetCreatedDate sets the CreatedDate field's value.
10791func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
10792	s.CreatedDate = &v
10793	return s
10794}
10795
10796// SetDeploymentId sets the DeploymentId field's value.
10797func (s *Deployment) SetDeploymentId(v string) *Deployment {
10798	s.DeploymentId = &v
10799	return s
10800}
10801
10802// SetDeploymentStatus sets the DeploymentStatus field's value.
10803func (s *Deployment) SetDeploymentStatus(v string) *Deployment {
10804	s.DeploymentStatus = &v
10805	return s
10806}
10807
10808// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
10809func (s *Deployment) SetDeploymentStatusMessage(v string) *Deployment {
10810	s.DeploymentStatusMessage = &v
10811	return s
10812}
10813
10814// SetDescription sets the Description field's value.
10815func (s *Deployment) SetDescription(v string) *Deployment {
10816	s.Description = &v
10817	return s
10818}
10819
10820// Represents a domain name.
10821type DomainName struct {
10822	_ struct{} `type:"structure"`
10823
10824	// The API mapping selection expression.
10825	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
10826
10827	// The name of the DomainName resource.
10828	//
10829	// DomainName is a required field
10830	DomainName *string `locationName:"domainName" type:"string" required:"true"`
10831
10832	// The domain name configurations.
10833	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
10834
10835	// The mutual TLS authentication configuration for a custom domain name.
10836	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
10837
10838	// The collection of tags associated with a domain name.
10839	Tags map[string]*string `locationName:"tags" type:"map"`
10840}
10841
10842// String returns the string representation
10843func (s DomainName) String() string {
10844	return awsutil.Prettify(s)
10845}
10846
10847// GoString returns the string representation
10848func (s DomainName) GoString() string {
10849	return s.String()
10850}
10851
10852// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
10853func (s *DomainName) SetApiMappingSelectionExpression(v string) *DomainName {
10854	s.ApiMappingSelectionExpression = &v
10855	return s
10856}
10857
10858// SetDomainName sets the DomainName field's value.
10859func (s *DomainName) SetDomainName(v string) *DomainName {
10860	s.DomainName = &v
10861	return s
10862}
10863
10864// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
10865func (s *DomainName) SetDomainNameConfigurations(v []*DomainNameConfiguration) *DomainName {
10866	s.DomainNameConfigurations = v
10867	return s
10868}
10869
10870// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
10871func (s *DomainName) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *DomainName {
10872	s.MutualTlsAuthentication = v
10873	return s
10874}
10875
10876// SetTags sets the Tags field's value.
10877func (s *DomainName) SetTags(v map[string]*string) *DomainName {
10878	s.Tags = v
10879	return s
10880}
10881
10882// The domain name configuration.
10883type DomainNameConfiguration struct {
10884	_ struct{} `type:"structure"`
10885
10886	// A domain name for the API.
10887	ApiGatewayDomainName *string `locationName:"apiGatewayDomainName" type:"string"`
10888
10889	// An AWS-managed certificate that will be used by the edge-optimized endpoint
10890	// for this domain name. AWS Certificate Manager is the only supported source.
10891	CertificateArn *string `locationName:"certificateArn" type:"string"`
10892
10893	// The user-friendly name of the certificate that will be used by the edge-optimized
10894	// endpoint for this domain name.
10895	CertificateName *string `locationName:"certificateName" type:"string"`
10896
10897	// The timestamp when the certificate that was used by edge-optimized endpoint
10898	// for this domain name was uploaded.
10899	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp" timestampFormat:"iso8601"`
10900
10901	// The status of the domain name migration. The valid values are AVAILABLE and
10902	// UPDATING. If the status is UPDATING, the domain cannot be modified further
10903	// until the existing operation is complete. If it is AVAILABLE, the domain
10904	// can be updated.
10905	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
10906
10907	// An optional text message containing detailed information about status of
10908	// the domain name migration.
10909	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
10910
10911	// The endpoint type.
10912	EndpointType *string `locationName:"endpointType" type:"string" enum:"EndpointType"`
10913
10914	// The Amazon Route 53 Hosted Zone ID of the endpoint.
10915	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
10916
10917	// The Transport Layer Security (TLS) version of the security policy for this
10918	// domain name. The valid values are TLS_1_0 and TLS_1_2.
10919	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
10920}
10921
10922// String returns the string representation
10923func (s DomainNameConfiguration) String() string {
10924	return awsutil.Prettify(s)
10925}
10926
10927// GoString returns the string representation
10928func (s DomainNameConfiguration) GoString() string {
10929	return s.String()
10930}
10931
10932// SetApiGatewayDomainName sets the ApiGatewayDomainName field's value.
10933func (s *DomainNameConfiguration) SetApiGatewayDomainName(v string) *DomainNameConfiguration {
10934	s.ApiGatewayDomainName = &v
10935	return s
10936}
10937
10938// SetCertificateArn sets the CertificateArn field's value.
10939func (s *DomainNameConfiguration) SetCertificateArn(v string) *DomainNameConfiguration {
10940	s.CertificateArn = &v
10941	return s
10942}
10943
10944// SetCertificateName sets the CertificateName field's value.
10945func (s *DomainNameConfiguration) SetCertificateName(v string) *DomainNameConfiguration {
10946	s.CertificateName = &v
10947	return s
10948}
10949
10950// SetCertificateUploadDate sets the CertificateUploadDate field's value.
10951func (s *DomainNameConfiguration) SetCertificateUploadDate(v time.Time) *DomainNameConfiguration {
10952	s.CertificateUploadDate = &v
10953	return s
10954}
10955
10956// SetDomainNameStatus sets the DomainNameStatus field's value.
10957func (s *DomainNameConfiguration) SetDomainNameStatus(v string) *DomainNameConfiguration {
10958	s.DomainNameStatus = &v
10959	return s
10960}
10961
10962// SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
10963func (s *DomainNameConfiguration) SetDomainNameStatusMessage(v string) *DomainNameConfiguration {
10964	s.DomainNameStatusMessage = &v
10965	return s
10966}
10967
10968// SetEndpointType sets the EndpointType field's value.
10969func (s *DomainNameConfiguration) SetEndpointType(v string) *DomainNameConfiguration {
10970	s.EndpointType = &v
10971	return s
10972}
10973
10974// SetHostedZoneId sets the HostedZoneId field's value.
10975func (s *DomainNameConfiguration) SetHostedZoneId(v string) *DomainNameConfiguration {
10976	s.HostedZoneId = &v
10977	return s
10978}
10979
10980// SetSecurityPolicy sets the SecurityPolicy field's value.
10981func (s *DomainNameConfiguration) SetSecurityPolicy(v string) *DomainNameConfiguration {
10982	s.SecurityPolicy = &v
10983	return s
10984}
10985
10986type ExportApiInput struct {
10987	_ struct{} `type:"structure"`
10988
10989	// ApiId is a required field
10990	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
10991
10992	ExportVersion *string `location:"querystring" locationName:"exportVersion" type:"string"`
10993
10994	IncludeExtensions *bool `location:"querystring" locationName:"includeExtensions" type:"boolean"`
10995
10996	// OutputType is a required field
10997	OutputType *string `location:"querystring" locationName:"outputType" type:"string" required:"true"`
10998
10999	// Specification is a required field
11000	Specification *string `location:"uri" locationName:"specification" type:"string" required:"true"`
11001
11002	StageName *string `location:"querystring" locationName:"stageName" type:"string"`
11003}
11004
11005// String returns the string representation
11006func (s ExportApiInput) String() string {
11007	return awsutil.Prettify(s)
11008}
11009
11010// GoString returns the string representation
11011func (s ExportApiInput) GoString() string {
11012	return s.String()
11013}
11014
11015// Validate inspects the fields of the type to determine if they are valid.
11016func (s *ExportApiInput) Validate() error {
11017	invalidParams := request.ErrInvalidParams{Context: "ExportApiInput"}
11018	if s.ApiId == nil {
11019		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11020	}
11021	if s.ApiId != nil && len(*s.ApiId) < 1 {
11022		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11023	}
11024	if s.OutputType == nil {
11025		invalidParams.Add(request.NewErrParamRequired("OutputType"))
11026	}
11027	if s.Specification == nil {
11028		invalidParams.Add(request.NewErrParamRequired("Specification"))
11029	}
11030	if s.Specification != nil && len(*s.Specification) < 1 {
11031		invalidParams.Add(request.NewErrParamMinLen("Specification", 1))
11032	}
11033
11034	if invalidParams.Len() > 0 {
11035		return invalidParams
11036	}
11037	return nil
11038}
11039
11040// SetApiId sets the ApiId field's value.
11041func (s *ExportApiInput) SetApiId(v string) *ExportApiInput {
11042	s.ApiId = &v
11043	return s
11044}
11045
11046// SetExportVersion sets the ExportVersion field's value.
11047func (s *ExportApiInput) SetExportVersion(v string) *ExportApiInput {
11048	s.ExportVersion = &v
11049	return s
11050}
11051
11052// SetIncludeExtensions sets the IncludeExtensions field's value.
11053func (s *ExportApiInput) SetIncludeExtensions(v bool) *ExportApiInput {
11054	s.IncludeExtensions = &v
11055	return s
11056}
11057
11058// SetOutputType sets the OutputType field's value.
11059func (s *ExportApiInput) SetOutputType(v string) *ExportApiInput {
11060	s.OutputType = &v
11061	return s
11062}
11063
11064// SetSpecification sets the Specification field's value.
11065func (s *ExportApiInput) SetSpecification(v string) *ExportApiInput {
11066	s.Specification = &v
11067	return s
11068}
11069
11070// SetStageName sets the StageName field's value.
11071func (s *ExportApiInput) SetStageName(v string) *ExportApiInput {
11072	s.StageName = &v
11073	return s
11074}
11075
11076type ExportApiOutput struct {
11077	_ struct{} `type:"structure" payload:"Body"`
11078
11079	// Represents an exported definition of an API in a particular output format,
11080	// for example, YAML. The API is serialized to the requested specification,
11081	// for example, OpenAPI 3.0.
11082	Body []byte `locationName:"body" type:"blob"`
11083}
11084
11085// String returns the string representation
11086func (s ExportApiOutput) String() string {
11087	return awsutil.Prettify(s)
11088}
11089
11090// GoString returns the string representation
11091func (s ExportApiOutput) GoString() string {
11092	return s.String()
11093}
11094
11095// SetBody sets the Body field's value.
11096func (s *ExportApiOutput) SetBody(v []byte) *ExportApiOutput {
11097	s.Body = v
11098	return s
11099}
11100
11101type GetApiInput struct {
11102	_ struct{} `type:"structure"`
11103
11104	// ApiId is a required field
11105	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11106}
11107
11108// String returns the string representation
11109func (s GetApiInput) String() string {
11110	return awsutil.Prettify(s)
11111}
11112
11113// GoString returns the string representation
11114func (s GetApiInput) GoString() string {
11115	return s.String()
11116}
11117
11118// Validate inspects the fields of the type to determine if they are valid.
11119func (s *GetApiInput) Validate() error {
11120	invalidParams := request.ErrInvalidParams{Context: "GetApiInput"}
11121	if s.ApiId == nil {
11122		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11123	}
11124	if s.ApiId != nil && len(*s.ApiId) < 1 {
11125		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11126	}
11127
11128	if invalidParams.Len() > 0 {
11129		return invalidParams
11130	}
11131	return nil
11132}
11133
11134// SetApiId sets the ApiId field's value.
11135func (s *GetApiInput) SetApiId(v string) *GetApiInput {
11136	s.ApiId = &v
11137	return s
11138}
11139
11140type GetApiMappingInput struct {
11141	_ struct{} `type:"structure"`
11142
11143	// ApiMappingId is a required field
11144	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
11145
11146	// DomainName is a required field
11147	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
11148}
11149
11150// String returns the string representation
11151func (s GetApiMappingInput) String() string {
11152	return awsutil.Prettify(s)
11153}
11154
11155// GoString returns the string representation
11156func (s GetApiMappingInput) GoString() string {
11157	return s.String()
11158}
11159
11160// Validate inspects the fields of the type to determine if they are valid.
11161func (s *GetApiMappingInput) Validate() error {
11162	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingInput"}
11163	if s.ApiMappingId == nil {
11164		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
11165	}
11166	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
11167		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
11168	}
11169	if s.DomainName == nil {
11170		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11171	}
11172	if s.DomainName != nil && len(*s.DomainName) < 1 {
11173		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
11174	}
11175
11176	if invalidParams.Len() > 0 {
11177		return invalidParams
11178	}
11179	return nil
11180}
11181
11182// SetApiMappingId sets the ApiMappingId field's value.
11183func (s *GetApiMappingInput) SetApiMappingId(v string) *GetApiMappingInput {
11184	s.ApiMappingId = &v
11185	return s
11186}
11187
11188// SetDomainName sets the DomainName field's value.
11189func (s *GetApiMappingInput) SetDomainName(v string) *GetApiMappingInput {
11190	s.DomainName = &v
11191	return s
11192}
11193
11194type GetApiMappingOutput struct {
11195	_ struct{} `type:"structure"`
11196
11197	// The identifier.
11198	ApiId *string `locationName:"apiId" type:"string"`
11199
11200	// The identifier.
11201	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
11202
11203	// After evaluating a selection expression, the result is compared against one
11204	// or more selection keys to find a matching key. See Selection Expressions
11205	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11206	// for a list of expressions and each expression's associated selection key
11207	// type.
11208	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
11209
11210	// A string with a length between [1-128].
11211	Stage *string `locationName:"stage" type:"string"`
11212}
11213
11214// String returns the string representation
11215func (s GetApiMappingOutput) String() string {
11216	return awsutil.Prettify(s)
11217}
11218
11219// GoString returns the string representation
11220func (s GetApiMappingOutput) GoString() string {
11221	return s.String()
11222}
11223
11224// SetApiId sets the ApiId field's value.
11225func (s *GetApiMappingOutput) SetApiId(v string) *GetApiMappingOutput {
11226	s.ApiId = &v
11227	return s
11228}
11229
11230// SetApiMappingId sets the ApiMappingId field's value.
11231func (s *GetApiMappingOutput) SetApiMappingId(v string) *GetApiMappingOutput {
11232	s.ApiMappingId = &v
11233	return s
11234}
11235
11236// SetApiMappingKey sets the ApiMappingKey field's value.
11237func (s *GetApiMappingOutput) SetApiMappingKey(v string) *GetApiMappingOutput {
11238	s.ApiMappingKey = &v
11239	return s
11240}
11241
11242// SetStage sets the Stage field's value.
11243func (s *GetApiMappingOutput) SetStage(v string) *GetApiMappingOutput {
11244	s.Stage = &v
11245	return s
11246}
11247
11248type GetApiMappingsInput struct {
11249	_ struct{} `type:"structure"`
11250
11251	// DomainName is a required field
11252	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
11253
11254	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11255
11256	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11257}
11258
11259// String returns the string representation
11260func (s GetApiMappingsInput) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s GetApiMappingsInput) GoString() string {
11266	return s.String()
11267}
11268
11269// Validate inspects the fields of the type to determine if they are valid.
11270func (s *GetApiMappingsInput) Validate() error {
11271	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingsInput"}
11272	if s.DomainName == nil {
11273		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11274	}
11275	if s.DomainName != nil && len(*s.DomainName) < 1 {
11276		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
11277	}
11278
11279	if invalidParams.Len() > 0 {
11280		return invalidParams
11281	}
11282	return nil
11283}
11284
11285// SetDomainName sets the DomainName field's value.
11286func (s *GetApiMappingsInput) SetDomainName(v string) *GetApiMappingsInput {
11287	s.DomainName = &v
11288	return s
11289}
11290
11291// SetMaxResults sets the MaxResults field's value.
11292func (s *GetApiMappingsInput) SetMaxResults(v string) *GetApiMappingsInput {
11293	s.MaxResults = &v
11294	return s
11295}
11296
11297// SetNextToken sets the NextToken field's value.
11298func (s *GetApiMappingsInput) SetNextToken(v string) *GetApiMappingsInput {
11299	s.NextToken = &v
11300	return s
11301}
11302
11303type GetApiMappingsOutput struct {
11304	_ struct{} `type:"structure"`
11305
11306	Items []*ApiMapping `locationName:"items" type:"list"`
11307
11308	// The next page of elements from this collection. Not valid for the last element
11309	// of the collection.
11310	NextToken *string `locationName:"nextToken" type:"string"`
11311}
11312
11313// String returns the string representation
11314func (s GetApiMappingsOutput) String() string {
11315	return awsutil.Prettify(s)
11316}
11317
11318// GoString returns the string representation
11319func (s GetApiMappingsOutput) GoString() string {
11320	return s.String()
11321}
11322
11323// SetItems sets the Items field's value.
11324func (s *GetApiMappingsOutput) SetItems(v []*ApiMapping) *GetApiMappingsOutput {
11325	s.Items = v
11326	return s
11327}
11328
11329// SetNextToken sets the NextToken field's value.
11330func (s *GetApiMappingsOutput) SetNextToken(v string) *GetApiMappingsOutput {
11331	s.NextToken = &v
11332	return s
11333}
11334
11335type GetApiOutput struct {
11336	_ struct{} `type:"structure"`
11337
11338	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
11339
11340	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
11341
11342	// The identifier.
11343	ApiId *string `locationName:"apiId" type:"string"`
11344
11345	// An expression used to extract information at runtime. See Selection Expressions
11346	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11347	// for more information.
11348	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
11349
11350	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
11351	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
11352	// for more information.
11353	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
11354
11355	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
11356
11357	// A string with a length between [0-1024].
11358	Description *string `locationName:"description" type:"string"`
11359
11360	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
11361
11362	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
11363
11364	ImportInfo []*string `locationName:"importInfo" type:"list"`
11365
11366	// A string with a length between [1-128].
11367	Name *string `locationName:"name" type:"string"`
11368
11369	// Represents a protocol type.
11370	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
11371
11372	// An expression used to extract information at runtime. See Selection Expressions
11373	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
11374	// for more information.
11375	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
11376
11377	// Represents a collection of tags associated with the resource.
11378	Tags map[string]*string `locationName:"tags" type:"map"`
11379
11380	// A string with a length between [1-64].
11381	Version *string `locationName:"version" type:"string"`
11382
11383	Warnings []*string `locationName:"warnings" type:"list"`
11384}
11385
11386// String returns the string representation
11387func (s GetApiOutput) String() string {
11388	return awsutil.Prettify(s)
11389}
11390
11391// GoString returns the string representation
11392func (s GetApiOutput) GoString() string {
11393	return s.String()
11394}
11395
11396// SetApiEndpoint sets the ApiEndpoint field's value.
11397func (s *GetApiOutput) SetApiEndpoint(v string) *GetApiOutput {
11398	s.ApiEndpoint = &v
11399	return s
11400}
11401
11402// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
11403func (s *GetApiOutput) SetApiGatewayManaged(v bool) *GetApiOutput {
11404	s.ApiGatewayManaged = &v
11405	return s
11406}
11407
11408// SetApiId sets the ApiId field's value.
11409func (s *GetApiOutput) SetApiId(v string) *GetApiOutput {
11410	s.ApiId = &v
11411	return s
11412}
11413
11414// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
11415func (s *GetApiOutput) SetApiKeySelectionExpression(v string) *GetApiOutput {
11416	s.ApiKeySelectionExpression = &v
11417	return s
11418}
11419
11420// SetCorsConfiguration sets the CorsConfiguration field's value.
11421func (s *GetApiOutput) SetCorsConfiguration(v *Cors) *GetApiOutput {
11422	s.CorsConfiguration = v
11423	return s
11424}
11425
11426// SetCreatedDate sets the CreatedDate field's value.
11427func (s *GetApiOutput) SetCreatedDate(v time.Time) *GetApiOutput {
11428	s.CreatedDate = &v
11429	return s
11430}
11431
11432// SetDescription sets the Description field's value.
11433func (s *GetApiOutput) SetDescription(v string) *GetApiOutput {
11434	s.Description = &v
11435	return s
11436}
11437
11438// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
11439func (s *GetApiOutput) SetDisableExecuteApiEndpoint(v bool) *GetApiOutput {
11440	s.DisableExecuteApiEndpoint = &v
11441	return s
11442}
11443
11444// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
11445func (s *GetApiOutput) SetDisableSchemaValidation(v bool) *GetApiOutput {
11446	s.DisableSchemaValidation = &v
11447	return s
11448}
11449
11450// SetImportInfo sets the ImportInfo field's value.
11451func (s *GetApiOutput) SetImportInfo(v []*string) *GetApiOutput {
11452	s.ImportInfo = v
11453	return s
11454}
11455
11456// SetName sets the Name field's value.
11457func (s *GetApiOutput) SetName(v string) *GetApiOutput {
11458	s.Name = &v
11459	return s
11460}
11461
11462// SetProtocolType sets the ProtocolType field's value.
11463func (s *GetApiOutput) SetProtocolType(v string) *GetApiOutput {
11464	s.ProtocolType = &v
11465	return s
11466}
11467
11468// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
11469func (s *GetApiOutput) SetRouteSelectionExpression(v string) *GetApiOutput {
11470	s.RouteSelectionExpression = &v
11471	return s
11472}
11473
11474// SetTags sets the Tags field's value.
11475func (s *GetApiOutput) SetTags(v map[string]*string) *GetApiOutput {
11476	s.Tags = v
11477	return s
11478}
11479
11480// SetVersion sets the Version field's value.
11481func (s *GetApiOutput) SetVersion(v string) *GetApiOutput {
11482	s.Version = &v
11483	return s
11484}
11485
11486// SetWarnings sets the Warnings field's value.
11487func (s *GetApiOutput) SetWarnings(v []*string) *GetApiOutput {
11488	s.Warnings = v
11489	return s
11490}
11491
11492type GetApisInput struct {
11493	_ struct{} `type:"structure"`
11494
11495	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11496
11497	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11498}
11499
11500// String returns the string representation
11501func (s GetApisInput) String() string {
11502	return awsutil.Prettify(s)
11503}
11504
11505// GoString returns the string representation
11506func (s GetApisInput) GoString() string {
11507	return s.String()
11508}
11509
11510// SetMaxResults sets the MaxResults field's value.
11511func (s *GetApisInput) SetMaxResults(v string) *GetApisInput {
11512	s.MaxResults = &v
11513	return s
11514}
11515
11516// SetNextToken sets the NextToken field's value.
11517func (s *GetApisInput) SetNextToken(v string) *GetApisInput {
11518	s.NextToken = &v
11519	return s
11520}
11521
11522type GetApisOutput struct {
11523	_ struct{} `type:"structure"`
11524
11525	Items []*Api `locationName:"items" type:"list"`
11526
11527	// The next page of elements from this collection. Not valid for the last element
11528	// of the collection.
11529	NextToken *string `locationName:"nextToken" type:"string"`
11530}
11531
11532// String returns the string representation
11533func (s GetApisOutput) String() string {
11534	return awsutil.Prettify(s)
11535}
11536
11537// GoString returns the string representation
11538func (s GetApisOutput) GoString() string {
11539	return s.String()
11540}
11541
11542// SetItems sets the Items field's value.
11543func (s *GetApisOutput) SetItems(v []*Api) *GetApisOutput {
11544	s.Items = v
11545	return s
11546}
11547
11548// SetNextToken sets the NextToken field's value.
11549func (s *GetApisOutput) SetNextToken(v string) *GetApisOutput {
11550	s.NextToken = &v
11551	return s
11552}
11553
11554type GetAuthorizerInput struct {
11555	_ struct{} `type:"structure"`
11556
11557	// ApiId is a required field
11558	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11559
11560	// AuthorizerId is a required field
11561	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
11562}
11563
11564// String returns the string representation
11565func (s GetAuthorizerInput) String() string {
11566	return awsutil.Prettify(s)
11567}
11568
11569// GoString returns the string representation
11570func (s GetAuthorizerInput) GoString() string {
11571	return s.String()
11572}
11573
11574// Validate inspects the fields of the type to determine if they are valid.
11575func (s *GetAuthorizerInput) Validate() error {
11576	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
11577	if s.ApiId == nil {
11578		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11579	}
11580	if s.ApiId != nil && len(*s.ApiId) < 1 {
11581		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11582	}
11583	if s.AuthorizerId == nil {
11584		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
11585	}
11586	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
11587		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
11588	}
11589
11590	if invalidParams.Len() > 0 {
11591		return invalidParams
11592	}
11593	return nil
11594}
11595
11596// SetApiId sets the ApiId field's value.
11597func (s *GetAuthorizerInput) SetApiId(v string) *GetAuthorizerInput {
11598	s.ApiId = &v
11599	return s
11600}
11601
11602// SetAuthorizerId sets the AuthorizerId field's value.
11603func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
11604	s.AuthorizerId = &v
11605	return s
11606}
11607
11608type GetAuthorizerOutput struct {
11609	_ struct{} `type:"structure"`
11610
11611	// Represents an Amazon Resource Name (ARN).
11612	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
11613
11614	// The identifier.
11615	AuthorizerId *string `locationName:"authorizerId" type:"string"`
11616
11617	// A string with a length between [1-64].
11618	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
11619
11620	// An integer with a value between [0-3600].
11621	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
11622
11623	// The authorizer type. Specify REQUEST for a Lambda function using incoming
11624	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
11625	// HTTP APIs).
11626	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
11627
11628	// A string representation of a URI with a length between [1-2048].
11629	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
11630
11631	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
11632
11633	// The identity source for which authorization is requested. For the REQUEST
11634	// authorizer, this is required when authorization caching is enabled. The value
11635	// is a comma-separated string of one or more mapping expressions of the specified
11636	// request parameters. For example, if an Auth header, a Name query string parameter
11637	// are defined as identity sources, this value is $method.request.header.Auth,
11638	// $method.request.querystring.Name. These parameters will be used to derive
11639	// the authorization caching key and to perform runtime validation of the REQUEST
11640	// authorizer by verifying all of the identity-related request parameters are
11641	// present, not null and non-empty. Only when this is true does the authorizer
11642	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
11643	// response without calling the Lambda function. The valid value is a string
11644	// of comma-separated mapping expressions of the specified request parameters.
11645	// When the authorization caching is not enabled, this property is optional.
11646	IdentitySource []*string `locationName:"identitySource" type:"list"`
11647
11648	// A string with a length between [0-1024].
11649	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
11650
11651	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
11652	// type. Supported only for HTTP APIs.
11653	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
11654
11655	// A string with a length between [1-128].
11656	Name *string `locationName:"name" type:"string"`
11657}
11658
11659// String returns the string representation
11660func (s GetAuthorizerOutput) String() string {
11661	return awsutil.Prettify(s)
11662}
11663
11664// GoString returns the string representation
11665func (s GetAuthorizerOutput) GoString() string {
11666	return s.String()
11667}
11668
11669// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
11670func (s *GetAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *GetAuthorizerOutput {
11671	s.AuthorizerCredentialsArn = &v
11672	return s
11673}
11674
11675// SetAuthorizerId sets the AuthorizerId field's value.
11676func (s *GetAuthorizerOutput) SetAuthorizerId(v string) *GetAuthorizerOutput {
11677	s.AuthorizerId = &v
11678	return s
11679}
11680
11681// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
11682func (s *GetAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *GetAuthorizerOutput {
11683	s.AuthorizerPayloadFormatVersion = &v
11684	return s
11685}
11686
11687// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
11688func (s *GetAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *GetAuthorizerOutput {
11689	s.AuthorizerResultTtlInSeconds = &v
11690	return s
11691}
11692
11693// SetAuthorizerType sets the AuthorizerType field's value.
11694func (s *GetAuthorizerOutput) SetAuthorizerType(v string) *GetAuthorizerOutput {
11695	s.AuthorizerType = &v
11696	return s
11697}
11698
11699// SetAuthorizerUri sets the AuthorizerUri field's value.
11700func (s *GetAuthorizerOutput) SetAuthorizerUri(v string) *GetAuthorizerOutput {
11701	s.AuthorizerUri = &v
11702	return s
11703}
11704
11705// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
11706func (s *GetAuthorizerOutput) SetEnableSimpleResponses(v bool) *GetAuthorizerOutput {
11707	s.EnableSimpleResponses = &v
11708	return s
11709}
11710
11711// SetIdentitySource sets the IdentitySource field's value.
11712func (s *GetAuthorizerOutput) SetIdentitySource(v []*string) *GetAuthorizerOutput {
11713	s.IdentitySource = v
11714	return s
11715}
11716
11717// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
11718func (s *GetAuthorizerOutput) SetIdentityValidationExpression(v string) *GetAuthorizerOutput {
11719	s.IdentityValidationExpression = &v
11720	return s
11721}
11722
11723// SetJwtConfiguration sets the JwtConfiguration field's value.
11724func (s *GetAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *GetAuthorizerOutput {
11725	s.JwtConfiguration = v
11726	return s
11727}
11728
11729// SetName sets the Name field's value.
11730func (s *GetAuthorizerOutput) SetName(v string) *GetAuthorizerOutput {
11731	s.Name = &v
11732	return s
11733}
11734
11735type GetAuthorizersInput struct {
11736	_ struct{} `type:"structure"`
11737
11738	// ApiId is a required field
11739	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11740
11741	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11742
11743	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11744}
11745
11746// String returns the string representation
11747func (s GetAuthorizersInput) String() string {
11748	return awsutil.Prettify(s)
11749}
11750
11751// GoString returns the string representation
11752func (s GetAuthorizersInput) GoString() string {
11753	return s.String()
11754}
11755
11756// Validate inspects the fields of the type to determine if they are valid.
11757func (s *GetAuthorizersInput) Validate() error {
11758	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
11759	if s.ApiId == nil {
11760		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11761	}
11762	if s.ApiId != nil && len(*s.ApiId) < 1 {
11763		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11764	}
11765
11766	if invalidParams.Len() > 0 {
11767		return invalidParams
11768	}
11769	return nil
11770}
11771
11772// SetApiId sets the ApiId field's value.
11773func (s *GetAuthorizersInput) SetApiId(v string) *GetAuthorizersInput {
11774	s.ApiId = &v
11775	return s
11776}
11777
11778// SetMaxResults sets the MaxResults field's value.
11779func (s *GetAuthorizersInput) SetMaxResults(v string) *GetAuthorizersInput {
11780	s.MaxResults = &v
11781	return s
11782}
11783
11784// SetNextToken sets the NextToken field's value.
11785func (s *GetAuthorizersInput) SetNextToken(v string) *GetAuthorizersInput {
11786	s.NextToken = &v
11787	return s
11788}
11789
11790type GetAuthorizersOutput struct {
11791	_ struct{} `type:"structure"`
11792
11793	Items []*Authorizer `locationName:"items" type:"list"`
11794
11795	// The next page of elements from this collection. Not valid for the last element
11796	// of the collection.
11797	NextToken *string `locationName:"nextToken" type:"string"`
11798}
11799
11800// String returns the string representation
11801func (s GetAuthorizersOutput) String() string {
11802	return awsutil.Prettify(s)
11803}
11804
11805// GoString returns the string representation
11806func (s GetAuthorizersOutput) GoString() string {
11807	return s.String()
11808}
11809
11810// SetItems sets the Items field's value.
11811func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
11812	s.Items = v
11813	return s
11814}
11815
11816// SetNextToken sets the NextToken field's value.
11817func (s *GetAuthorizersOutput) SetNextToken(v string) *GetAuthorizersOutput {
11818	s.NextToken = &v
11819	return s
11820}
11821
11822type GetDeploymentInput struct {
11823	_ struct{} `type:"structure"`
11824
11825	// ApiId is a required field
11826	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11827
11828	// DeploymentId is a required field
11829	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
11830}
11831
11832// String returns the string representation
11833func (s GetDeploymentInput) String() string {
11834	return awsutil.Prettify(s)
11835}
11836
11837// GoString returns the string representation
11838func (s GetDeploymentInput) GoString() string {
11839	return s.String()
11840}
11841
11842// Validate inspects the fields of the type to determine if they are valid.
11843func (s *GetDeploymentInput) Validate() error {
11844	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
11845	if s.ApiId == nil {
11846		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11847	}
11848	if s.ApiId != nil && len(*s.ApiId) < 1 {
11849		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11850	}
11851	if s.DeploymentId == nil {
11852		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
11853	}
11854	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
11855		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
11856	}
11857
11858	if invalidParams.Len() > 0 {
11859		return invalidParams
11860	}
11861	return nil
11862}
11863
11864// SetApiId sets the ApiId field's value.
11865func (s *GetDeploymentInput) SetApiId(v string) *GetDeploymentInput {
11866	s.ApiId = &v
11867	return s
11868}
11869
11870// SetDeploymentId sets the DeploymentId field's value.
11871func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
11872	s.DeploymentId = &v
11873	return s
11874}
11875
11876type GetDeploymentOutput struct {
11877	_ struct{} `type:"structure"`
11878
11879	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
11880
11881	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
11882
11883	// The identifier.
11884	DeploymentId *string `locationName:"deploymentId" type:"string"`
11885
11886	// Represents a deployment status.
11887	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
11888
11889	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
11890
11891	// A string with a length between [0-1024].
11892	Description *string `locationName:"description" type:"string"`
11893}
11894
11895// String returns the string representation
11896func (s GetDeploymentOutput) String() string {
11897	return awsutil.Prettify(s)
11898}
11899
11900// GoString returns the string representation
11901func (s GetDeploymentOutput) GoString() string {
11902	return s.String()
11903}
11904
11905// SetAutoDeployed sets the AutoDeployed field's value.
11906func (s *GetDeploymentOutput) SetAutoDeployed(v bool) *GetDeploymentOutput {
11907	s.AutoDeployed = &v
11908	return s
11909}
11910
11911// SetCreatedDate sets the CreatedDate field's value.
11912func (s *GetDeploymentOutput) SetCreatedDate(v time.Time) *GetDeploymentOutput {
11913	s.CreatedDate = &v
11914	return s
11915}
11916
11917// SetDeploymentId sets the DeploymentId field's value.
11918func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput {
11919	s.DeploymentId = &v
11920	return s
11921}
11922
11923// SetDeploymentStatus sets the DeploymentStatus field's value.
11924func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput {
11925	s.DeploymentStatus = &v
11926	return s
11927}
11928
11929// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
11930func (s *GetDeploymentOutput) SetDeploymentStatusMessage(v string) *GetDeploymentOutput {
11931	s.DeploymentStatusMessage = &v
11932	return s
11933}
11934
11935// SetDescription sets the Description field's value.
11936func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput {
11937	s.Description = &v
11938	return s
11939}
11940
11941type GetDeploymentsInput struct {
11942	_ struct{} `type:"structure"`
11943
11944	// ApiId is a required field
11945	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
11946
11947	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
11948
11949	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11950}
11951
11952// String returns the string representation
11953func (s GetDeploymentsInput) String() string {
11954	return awsutil.Prettify(s)
11955}
11956
11957// GoString returns the string representation
11958func (s GetDeploymentsInput) GoString() string {
11959	return s.String()
11960}
11961
11962// Validate inspects the fields of the type to determine if they are valid.
11963func (s *GetDeploymentsInput) Validate() error {
11964	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
11965	if s.ApiId == nil {
11966		invalidParams.Add(request.NewErrParamRequired("ApiId"))
11967	}
11968	if s.ApiId != nil && len(*s.ApiId) < 1 {
11969		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
11970	}
11971
11972	if invalidParams.Len() > 0 {
11973		return invalidParams
11974	}
11975	return nil
11976}
11977
11978// SetApiId sets the ApiId field's value.
11979func (s *GetDeploymentsInput) SetApiId(v string) *GetDeploymentsInput {
11980	s.ApiId = &v
11981	return s
11982}
11983
11984// SetMaxResults sets the MaxResults field's value.
11985func (s *GetDeploymentsInput) SetMaxResults(v string) *GetDeploymentsInput {
11986	s.MaxResults = &v
11987	return s
11988}
11989
11990// SetNextToken sets the NextToken field's value.
11991func (s *GetDeploymentsInput) SetNextToken(v string) *GetDeploymentsInput {
11992	s.NextToken = &v
11993	return s
11994}
11995
11996type GetDeploymentsOutput struct {
11997	_ struct{} `type:"structure"`
11998
11999	Items []*Deployment `locationName:"items" type:"list"`
12000
12001	// The next page of elements from this collection. Not valid for the last element
12002	// of the collection.
12003	NextToken *string `locationName:"nextToken" type:"string"`
12004}
12005
12006// String returns the string representation
12007func (s GetDeploymentsOutput) String() string {
12008	return awsutil.Prettify(s)
12009}
12010
12011// GoString returns the string representation
12012func (s GetDeploymentsOutput) GoString() string {
12013	return s.String()
12014}
12015
12016// SetItems sets the Items field's value.
12017func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
12018	s.Items = v
12019	return s
12020}
12021
12022// SetNextToken sets the NextToken field's value.
12023func (s *GetDeploymentsOutput) SetNextToken(v string) *GetDeploymentsOutput {
12024	s.NextToken = &v
12025	return s
12026}
12027
12028type GetDomainNameInput struct {
12029	_ struct{} `type:"structure"`
12030
12031	// DomainName is a required field
12032	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
12033}
12034
12035// String returns the string representation
12036func (s GetDomainNameInput) String() string {
12037	return awsutil.Prettify(s)
12038}
12039
12040// GoString returns the string representation
12041func (s GetDomainNameInput) GoString() string {
12042	return s.String()
12043}
12044
12045// Validate inspects the fields of the type to determine if they are valid.
12046func (s *GetDomainNameInput) Validate() error {
12047	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
12048	if s.DomainName == nil {
12049		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12050	}
12051	if s.DomainName != nil && len(*s.DomainName) < 1 {
12052		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
12053	}
12054
12055	if invalidParams.Len() > 0 {
12056		return invalidParams
12057	}
12058	return nil
12059}
12060
12061// SetDomainName sets the DomainName field's value.
12062func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
12063	s.DomainName = &v
12064	return s
12065}
12066
12067type GetDomainNameOutput struct {
12068	_ struct{} `type:"structure"`
12069
12070	// An expression used to extract information at runtime. See Selection Expressions
12071	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12072	// for more information.
12073	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
12074
12075	// A string with a length between [1-512].
12076	DomainName *string `locationName:"domainName" type:"string"`
12077
12078	// The domain name configurations.
12079	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
12080
12081	// If specified, API Gateway performs two-way authentication between the client
12082	// and the server. Clients must present a trusted certificate to access your
12083	// API.
12084	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
12085
12086	// Represents a collection of tags associated with the resource.
12087	Tags map[string]*string `locationName:"tags" type:"map"`
12088}
12089
12090// String returns the string representation
12091func (s GetDomainNameOutput) String() string {
12092	return awsutil.Prettify(s)
12093}
12094
12095// GoString returns the string representation
12096func (s GetDomainNameOutput) GoString() string {
12097	return s.String()
12098}
12099
12100// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
12101func (s *GetDomainNameOutput) SetApiMappingSelectionExpression(v string) *GetDomainNameOutput {
12102	s.ApiMappingSelectionExpression = &v
12103	return s
12104}
12105
12106// SetDomainName sets the DomainName field's value.
12107func (s *GetDomainNameOutput) SetDomainName(v string) *GetDomainNameOutput {
12108	s.DomainName = &v
12109	return s
12110}
12111
12112// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
12113func (s *GetDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *GetDomainNameOutput {
12114	s.DomainNameConfigurations = v
12115	return s
12116}
12117
12118// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
12119func (s *GetDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *GetDomainNameOutput {
12120	s.MutualTlsAuthentication = v
12121	return s
12122}
12123
12124// SetTags sets the Tags field's value.
12125func (s *GetDomainNameOutput) SetTags(v map[string]*string) *GetDomainNameOutput {
12126	s.Tags = v
12127	return s
12128}
12129
12130type GetDomainNamesInput struct {
12131	_ struct{} `type:"structure"`
12132
12133	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12134
12135	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12136}
12137
12138// String returns the string representation
12139func (s GetDomainNamesInput) String() string {
12140	return awsutil.Prettify(s)
12141}
12142
12143// GoString returns the string representation
12144func (s GetDomainNamesInput) GoString() string {
12145	return s.String()
12146}
12147
12148// SetMaxResults sets the MaxResults field's value.
12149func (s *GetDomainNamesInput) SetMaxResults(v string) *GetDomainNamesInput {
12150	s.MaxResults = &v
12151	return s
12152}
12153
12154// SetNextToken sets the NextToken field's value.
12155func (s *GetDomainNamesInput) SetNextToken(v string) *GetDomainNamesInput {
12156	s.NextToken = &v
12157	return s
12158}
12159
12160type GetDomainNamesOutput struct {
12161	_ struct{} `type:"structure"`
12162
12163	Items []*DomainName `locationName:"items" type:"list"`
12164
12165	// The next page of elements from this collection. Not valid for the last element
12166	// of the collection.
12167	NextToken *string `locationName:"nextToken" type:"string"`
12168}
12169
12170// String returns the string representation
12171func (s GetDomainNamesOutput) String() string {
12172	return awsutil.Prettify(s)
12173}
12174
12175// GoString returns the string representation
12176func (s GetDomainNamesOutput) GoString() string {
12177	return s.String()
12178}
12179
12180// SetItems sets the Items field's value.
12181func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
12182	s.Items = v
12183	return s
12184}
12185
12186// SetNextToken sets the NextToken field's value.
12187func (s *GetDomainNamesOutput) SetNextToken(v string) *GetDomainNamesOutput {
12188	s.NextToken = &v
12189	return s
12190}
12191
12192type GetIntegrationInput struct {
12193	_ struct{} `type:"structure"`
12194
12195	// ApiId is a required field
12196	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12197
12198	// IntegrationId is a required field
12199	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12200}
12201
12202// String returns the string representation
12203func (s GetIntegrationInput) String() string {
12204	return awsutil.Prettify(s)
12205}
12206
12207// GoString returns the string representation
12208func (s GetIntegrationInput) GoString() string {
12209	return s.String()
12210}
12211
12212// Validate inspects the fields of the type to determine if they are valid.
12213func (s *GetIntegrationInput) Validate() error {
12214	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
12215	if s.ApiId == nil {
12216		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12217	}
12218	if s.ApiId != nil && len(*s.ApiId) < 1 {
12219		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12220	}
12221	if s.IntegrationId == nil {
12222		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12223	}
12224	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12225		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12226	}
12227
12228	if invalidParams.Len() > 0 {
12229		return invalidParams
12230	}
12231	return nil
12232}
12233
12234// SetApiId sets the ApiId field's value.
12235func (s *GetIntegrationInput) SetApiId(v string) *GetIntegrationInput {
12236	s.ApiId = &v
12237	return s
12238}
12239
12240// SetIntegrationId sets the IntegrationId field's value.
12241func (s *GetIntegrationInput) SetIntegrationId(v string) *GetIntegrationInput {
12242	s.IntegrationId = &v
12243	return s
12244}
12245
12246type GetIntegrationOutput struct {
12247	_ struct{} `type:"structure"`
12248
12249	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
12250
12251	// A string with a length between [1-1024].
12252	ConnectionId *string `locationName:"connectionId" type:"string"`
12253
12254	// Represents a connection type.
12255	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
12256
12257	// Specifies how to handle response payload content type conversions. Supported
12258	// only for WebSocket APIs.
12259	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
12260
12261	// Represents an Amazon Resource Name (ARN).
12262	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
12263
12264	// A string with a length between [0-1024].
12265	Description *string `locationName:"description" type:"string"`
12266
12267	// The identifier.
12268	IntegrationId *string `locationName:"integrationId" type:"string"`
12269
12270	// A string with a length between [1-64].
12271	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
12272
12273	// An expression used to extract information at runtime. See Selection Expressions
12274	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12275	// for more information.
12276	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
12277
12278	// A string with a length between [1-128].
12279	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
12280
12281	// Represents an API method integration type.
12282	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
12283
12284	// A string representation of a URI with a length between [1-2048].
12285	IntegrationUri *string `locationName:"integrationUri" type:"string"`
12286
12287	// Represents passthrough behavior for an integration response. Supported only
12288	// for WebSocket APIs.
12289	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
12290
12291	// A string with a length between [1-64].
12292	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
12293
12294	// A key-value map specifying response parameters that are passed to the method
12295	// response from the backend. The key is a method response header parameter
12296	// name and the mapped value is an integration response header value, a static
12297	// value enclosed within a pair of single quotes, or a JSON expression from
12298	// the integration response body. The mapping key must match the pattern of
12299	// method.response.header.{name}, where name is a valid and unique header name.
12300	// The mapped non-static value must match the pattern of integration.response.header.{name}
12301	// or integration.response.body.{JSON-expression}, where name is a valid and
12302	// unique response header name and JSON-expression is a valid JSON expression
12303	// without the $ prefix.
12304	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
12305
12306	// A mapping of identifier keys to templates. The value is an actual template
12307	// script. The key is typically a SelectionKey which is chosen based on evaluating
12308	// a selection expression.
12309	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
12310
12311	// An expression used to extract information at runtime. See Selection Expressions
12312	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12313	// for more information.
12314	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
12315
12316	// An integer with a value between [50-30000].
12317	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
12318
12319	// The TLS configuration for a private integration. If you specify a TLS configuration,
12320	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
12321	// APIs.
12322	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
12323}
12324
12325// String returns the string representation
12326func (s GetIntegrationOutput) String() string {
12327	return awsutil.Prettify(s)
12328}
12329
12330// GoString returns the string representation
12331func (s GetIntegrationOutput) GoString() string {
12332	return s.String()
12333}
12334
12335// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
12336func (s *GetIntegrationOutput) SetApiGatewayManaged(v bool) *GetIntegrationOutput {
12337	s.ApiGatewayManaged = &v
12338	return s
12339}
12340
12341// SetConnectionId sets the ConnectionId field's value.
12342func (s *GetIntegrationOutput) SetConnectionId(v string) *GetIntegrationOutput {
12343	s.ConnectionId = &v
12344	return s
12345}
12346
12347// SetConnectionType sets the ConnectionType field's value.
12348func (s *GetIntegrationOutput) SetConnectionType(v string) *GetIntegrationOutput {
12349	s.ConnectionType = &v
12350	return s
12351}
12352
12353// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
12354func (s *GetIntegrationOutput) SetContentHandlingStrategy(v string) *GetIntegrationOutput {
12355	s.ContentHandlingStrategy = &v
12356	return s
12357}
12358
12359// SetCredentialsArn sets the CredentialsArn field's value.
12360func (s *GetIntegrationOutput) SetCredentialsArn(v string) *GetIntegrationOutput {
12361	s.CredentialsArn = &v
12362	return s
12363}
12364
12365// SetDescription sets the Description field's value.
12366func (s *GetIntegrationOutput) SetDescription(v string) *GetIntegrationOutput {
12367	s.Description = &v
12368	return s
12369}
12370
12371// SetIntegrationId sets the IntegrationId field's value.
12372func (s *GetIntegrationOutput) SetIntegrationId(v string) *GetIntegrationOutput {
12373	s.IntegrationId = &v
12374	return s
12375}
12376
12377// SetIntegrationMethod sets the IntegrationMethod field's value.
12378func (s *GetIntegrationOutput) SetIntegrationMethod(v string) *GetIntegrationOutput {
12379	s.IntegrationMethod = &v
12380	return s
12381}
12382
12383// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
12384func (s *GetIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *GetIntegrationOutput {
12385	s.IntegrationResponseSelectionExpression = &v
12386	return s
12387}
12388
12389// SetIntegrationSubtype sets the IntegrationSubtype field's value.
12390func (s *GetIntegrationOutput) SetIntegrationSubtype(v string) *GetIntegrationOutput {
12391	s.IntegrationSubtype = &v
12392	return s
12393}
12394
12395// SetIntegrationType sets the IntegrationType field's value.
12396func (s *GetIntegrationOutput) SetIntegrationType(v string) *GetIntegrationOutput {
12397	s.IntegrationType = &v
12398	return s
12399}
12400
12401// SetIntegrationUri sets the IntegrationUri field's value.
12402func (s *GetIntegrationOutput) SetIntegrationUri(v string) *GetIntegrationOutput {
12403	s.IntegrationUri = &v
12404	return s
12405}
12406
12407// SetPassthroughBehavior sets the PassthroughBehavior field's value.
12408func (s *GetIntegrationOutput) SetPassthroughBehavior(v string) *GetIntegrationOutput {
12409	s.PassthroughBehavior = &v
12410	return s
12411}
12412
12413// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
12414func (s *GetIntegrationOutput) SetPayloadFormatVersion(v string) *GetIntegrationOutput {
12415	s.PayloadFormatVersion = &v
12416	return s
12417}
12418
12419// SetRequestParameters sets the RequestParameters field's value.
12420func (s *GetIntegrationOutput) SetRequestParameters(v map[string]*string) *GetIntegrationOutput {
12421	s.RequestParameters = v
12422	return s
12423}
12424
12425// SetRequestTemplates sets the RequestTemplates field's value.
12426func (s *GetIntegrationOutput) SetRequestTemplates(v map[string]*string) *GetIntegrationOutput {
12427	s.RequestTemplates = v
12428	return s
12429}
12430
12431// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
12432func (s *GetIntegrationOutput) SetTemplateSelectionExpression(v string) *GetIntegrationOutput {
12433	s.TemplateSelectionExpression = &v
12434	return s
12435}
12436
12437// SetTimeoutInMillis sets the TimeoutInMillis field's value.
12438func (s *GetIntegrationOutput) SetTimeoutInMillis(v int64) *GetIntegrationOutput {
12439	s.TimeoutInMillis = &v
12440	return s
12441}
12442
12443// SetTlsConfig sets the TlsConfig field's value.
12444func (s *GetIntegrationOutput) SetTlsConfig(v *TlsConfig) *GetIntegrationOutput {
12445	s.TlsConfig = v
12446	return s
12447}
12448
12449type GetIntegrationResponseInput struct {
12450	_ struct{} `type:"structure"`
12451
12452	// ApiId is a required field
12453	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12454
12455	// IntegrationId is a required field
12456	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12457
12458	// IntegrationResponseId is a required field
12459	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
12460}
12461
12462// String returns the string representation
12463func (s GetIntegrationResponseInput) String() string {
12464	return awsutil.Prettify(s)
12465}
12466
12467// GoString returns the string representation
12468func (s GetIntegrationResponseInput) GoString() string {
12469	return s.String()
12470}
12471
12472// Validate inspects the fields of the type to determine if they are valid.
12473func (s *GetIntegrationResponseInput) Validate() error {
12474	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
12475	if s.ApiId == nil {
12476		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12477	}
12478	if s.ApiId != nil && len(*s.ApiId) < 1 {
12479		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12480	}
12481	if s.IntegrationId == nil {
12482		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12483	}
12484	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12485		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12486	}
12487	if s.IntegrationResponseId == nil {
12488		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
12489	}
12490	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
12491		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
12492	}
12493
12494	if invalidParams.Len() > 0 {
12495		return invalidParams
12496	}
12497	return nil
12498}
12499
12500// SetApiId sets the ApiId field's value.
12501func (s *GetIntegrationResponseInput) SetApiId(v string) *GetIntegrationResponseInput {
12502	s.ApiId = &v
12503	return s
12504}
12505
12506// SetIntegrationId sets the IntegrationId field's value.
12507func (s *GetIntegrationResponseInput) SetIntegrationId(v string) *GetIntegrationResponseInput {
12508	s.IntegrationId = &v
12509	return s
12510}
12511
12512// SetIntegrationResponseId sets the IntegrationResponseId field's value.
12513func (s *GetIntegrationResponseInput) SetIntegrationResponseId(v string) *GetIntegrationResponseInput {
12514	s.IntegrationResponseId = &v
12515	return s
12516}
12517
12518type GetIntegrationResponseOutput struct {
12519	_ struct{} `type:"structure"`
12520
12521	// Specifies how to handle response payload content type conversions. Supported
12522	// only for WebSocket APIs.
12523	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
12524
12525	// The identifier.
12526	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
12527
12528	// After evaluating a selection expression, the result is compared against one
12529	// or more selection keys to find a matching key. See Selection Expressions
12530	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12531	// for a list of expressions and each expression's associated selection key
12532	// type.
12533	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
12534
12535	// A key-value map specifying response parameters that are passed to the method
12536	// response from the backend. The key is a method response header parameter
12537	// name and the mapped value is an integration response header value, a static
12538	// value enclosed within a pair of single quotes, or a JSON expression from
12539	// the integration response body. The mapping key must match the pattern of
12540	// method.response.header.{name}, where name is a valid and unique header name.
12541	// The mapped non-static value must match the pattern of integration.response.header.{name}
12542	// or integration.response.body.{JSON-expression}, where name is a valid and
12543	// unique response header name and JSON-expression is a valid JSON expression
12544	// without the $ prefix.
12545	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
12546
12547	// A mapping of identifier keys to templates. The value is an actual template
12548	// script. The key is typically a SelectionKey which is chosen based on evaluating
12549	// a selection expression.
12550	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
12551
12552	// An expression used to extract information at runtime. See Selection Expressions
12553	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
12554	// for more information.
12555	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
12556}
12557
12558// String returns the string representation
12559func (s GetIntegrationResponseOutput) String() string {
12560	return awsutil.Prettify(s)
12561}
12562
12563// GoString returns the string representation
12564func (s GetIntegrationResponseOutput) GoString() string {
12565	return s.String()
12566}
12567
12568// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
12569func (s *GetIntegrationResponseOutput) SetContentHandlingStrategy(v string) *GetIntegrationResponseOutput {
12570	s.ContentHandlingStrategy = &v
12571	return s
12572}
12573
12574// SetIntegrationResponseId sets the IntegrationResponseId field's value.
12575func (s *GetIntegrationResponseOutput) SetIntegrationResponseId(v string) *GetIntegrationResponseOutput {
12576	s.IntegrationResponseId = &v
12577	return s
12578}
12579
12580// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
12581func (s *GetIntegrationResponseOutput) SetIntegrationResponseKey(v string) *GetIntegrationResponseOutput {
12582	s.IntegrationResponseKey = &v
12583	return s
12584}
12585
12586// SetResponseParameters sets the ResponseParameters field's value.
12587func (s *GetIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *GetIntegrationResponseOutput {
12588	s.ResponseParameters = v
12589	return s
12590}
12591
12592// SetResponseTemplates sets the ResponseTemplates field's value.
12593func (s *GetIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *GetIntegrationResponseOutput {
12594	s.ResponseTemplates = v
12595	return s
12596}
12597
12598// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
12599func (s *GetIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *GetIntegrationResponseOutput {
12600	s.TemplateSelectionExpression = &v
12601	return s
12602}
12603
12604type GetIntegrationResponsesInput struct {
12605	_ struct{} `type:"structure"`
12606
12607	// ApiId is a required field
12608	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12609
12610	// IntegrationId is a required field
12611	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
12612
12613	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12614
12615	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12616}
12617
12618// String returns the string representation
12619func (s GetIntegrationResponsesInput) String() string {
12620	return awsutil.Prettify(s)
12621}
12622
12623// GoString returns the string representation
12624func (s GetIntegrationResponsesInput) GoString() string {
12625	return s.String()
12626}
12627
12628// Validate inspects the fields of the type to determine if they are valid.
12629func (s *GetIntegrationResponsesInput) Validate() error {
12630	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponsesInput"}
12631	if s.ApiId == nil {
12632		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12633	}
12634	if s.ApiId != nil && len(*s.ApiId) < 1 {
12635		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12636	}
12637	if s.IntegrationId == nil {
12638		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
12639	}
12640	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
12641		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
12642	}
12643
12644	if invalidParams.Len() > 0 {
12645		return invalidParams
12646	}
12647	return nil
12648}
12649
12650// SetApiId sets the ApiId field's value.
12651func (s *GetIntegrationResponsesInput) SetApiId(v string) *GetIntegrationResponsesInput {
12652	s.ApiId = &v
12653	return s
12654}
12655
12656// SetIntegrationId sets the IntegrationId field's value.
12657func (s *GetIntegrationResponsesInput) SetIntegrationId(v string) *GetIntegrationResponsesInput {
12658	s.IntegrationId = &v
12659	return s
12660}
12661
12662// SetMaxResults sets the MaxResults field's value.
12663func (s *GetIntegrationResponsesInput) SetMaxResults(v string) *GetIntegrationResponsesInput {
12664	s.MaxResults = &v
12665	return s
12666}
12667
12668// SetNextToken sets the NextToken field's value.
12669func (s *GetIntegrationResponsesInput) SetNextToken(v string) *GetIntegrationResponsesInput {
12670	s.NextToken = &v
12671	return s
12672}
12673
12674type GetIntegrationResponsesOutput struct {
12675	_ struct{} `type:"structure"`
12676
12677	Items []*IntegrationResponse `locationName:"items" type:"list"`
12678
12679	// The next page of elements from this collection. Not valid for the last element
12680	// of the collection.
12681	NextToken *string `locationName:"nextToken" type:"string"`
12682}
12683
12684// String returns the string representation
12685func (s GetIntegrationResponsesOutput) String() string {
12686	return awsutil.Prettify(s)
12687}
12688
12689// GoString returns the string representation
12690func (s GetIntegrationResponsesOutput) GoString() string {
12691	return s.String()
12692}
12693
12694// SetItems sets the Items field's value.
12695func (s *GetIntegrationResponsesOutput) SetItems(v []*IntegrationResponse) *GetIntegrationResponsesOutput {
12696	s.Items = v
12697	return s
12698}
12699
12700// SetNextToken sets the NextToken field's value.
12701func (s *GetIntegrationResponsesOutput) SetNextToken(v string) *GetIntegrationResponsesOutput {
12702	s.NextToken = &v
12703	return s
12704}
12705
12706type GetIntegrationsInput struct {
12707	_ struct{} `type:"structure"`
12708
12709	// ApiId is a required field
12710	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12711
12712	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12713
12714	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12715}
12716
12717// String returns the string representation
12718func (s GetIntegrationsInput) String() string {
12719	return awsutil.Prettify(s)
12720}
12721
12722// GoString returns the string representation
12723func (s GetIntegrationsInput) GoString() string {
12724	return s.String()
12725}
12726
12727// Validate inspects the fields of the type to determine if they are valid.
12728func (s *GetIntegrationsInput) Validate() error {
12729	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationsInput"}
12730	if s.ApiId == nil {
12731		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12732	}
12733	if s.ApiId != nil && len(*s.ApiId) < 1 {
12734		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12735	}
12736
12737	if invalidParams.Len() > 0 {
12738		return invalidParams
12739	}
12740	return nil
12741}
12742
12743// SetApiId sets the ApiId field's value.
12744func (s *GetIntegrationsInput) SetApiId(v string) *GetIntegrationsInput {
12745	s.ApiId = &v
12746	return s
12747}
12748
12749// SetMaxResults sets the MaxResults field's value.
12750func (s *GetIntegrationsInput) SetMaxResults(v string) *GetIntegrationsInput {
12751	s.MaxResults = &v
12752	return s
12753}
12754
12755// SetNextToken sets the NextToken field's value.
12756func (s *GetIntegrationsInput) SetNextToken(v string) *GetIntegrationsInput {
12757	s.NextToken = &v
12758	return s
12759}
12760
12761type GetIntegrationsOutput struct {
12762	_ struct{} `type:"structure"`
12763
12764	Items []*Integration `locationName:"items" type:"list"`
12765
12766	// The next page of elements from this collection. Not valid for the last element
12767	// of the collection.
12768	NextToken *string `locationName:"nextToken" type:"string"`
12769}
12770
12771// String returns the string representation
12772func (s GetIntegrationsOutput) String() string {
12773	return awsutil.Prettify(s)
12774}
12775
12776// GoString returns the string representation
12777func (s GetIntegrationsOutput) GoString() string {
12778	return s.String()
12779}
12780
12781// SetItems sets the Items field's value.
12782func (s *GetIntegrationsOutput) SetItems(v []*Integration) *GetIntegrationsOutput {
12783	s.Items = v
12784	return s
12785}
12786
12787// SetNextToken sets the NextToken field's value.
12788func (s *GetIntegrationsOutput) SetNextToken(v string) *GetIntegrationsOutput {
12789	s.NextToken = &v
12790	return s
12791}
12792
12793type GetModelInput struct {
12794	_ struct{} `type:"structure"`
12795
12796	// ApiId is a required field
12797	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12798
12799	// ModelId is a required field
12800	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
12801}
12802
12803// String returns the string representation
12804func (s GetModelInput) String() string {
12805	return awsutil.Prettify(s)
12806}
12807
12808// GoString returns the string representation
12809func (s GetModelInput) GoString() string {
12810	return s.String()
12811}
12812
12813// Validate inspects the fields of the type to determine if they are valid.
12814func (s *GetModelInput) Validate() error {
12815	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
12816	if s.ApiId == nil {
12817		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12818	}
12819	if s.ApiId != nil && len(*s.ApiId) < 1 {
12820		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12821	}
12822	if s.ModelId == nil {
12823		invalidParams.Add(request.NewErrParamRequired("ModelId"))
12824	}
12825	if s.ModelId != nil && len(*s.ModelId) < 1 {
12826		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
12827	}
12828
12829	if invalidParams.Len() > 0 {
12830		return invalidParams
12831	}
12832	return nil
12833}
12834
12835// SetApiId sets the ApiId field's value.
12836func (s *GetModelInput) SetApiId(v string) *GetModelInput {
12837	s.ApiId = &v
12838	return s
12839}
12840
12841// SetModelId sets the ModelId field's value.
12842func (s *GetModelInput) SetModelId(v string) *GetModelInput {
12843	s.ModelId = &v
12844	return s
12845}
12846
12847type GetModelOutput struct {
12848	_ struct{} `type:"structure"`
12849
12850	// A string with a length between [1-256].
12851	ContentType *string `locationName:"contentType" type:"string"`
12852
12853	// A string with a length between [0-1024].
12854	Description *string `locationName:"description" type:"string"`
12855
12856	// The identifier.
12857	ModelId *string `locationName:"modelId" type:"string"`
12858
12859	// A string with a length between [1-128].
12860	Name *string `locationName:"name" type:"string"`
12861
12862	// A string with a length between [0-32768].
12863	Schema *string `locationName:"schema" type:"string"`
12864}
12865
12866// String returns the string representation
12867func (s GetModelOutput) String() string {
12868	return awsutil.Prettify(s)
12869}
12870
12871// GoString returns the string representation
12872func (s GetModelOutput) GoString() string {
12873	return s.String()
12874}
12875
12876// SetContentType sets the ContentType field's value.
12877func (s *GetModelOutput) SetContentType(v string) *GetModelOutput {
12878	s.ContentType = &v
12879	return s
12880}
12881
12882// SetDescription sets the Description field's value.
12883func (s *GetModelOutput) SetDescription(v string) *GetModelOutput {
12884	s.Description = &v
12885	return s
12886}
12887
12888// SetModelId sets the ModelId field's value.
12889func (s *GetModelOutput) SetModelId(v string) *GetModelOutput {
12890	s.ModelId = &v
12891	return s
12892}
12893
12894// SetName sets the Name field's value.
12895func (s *GetModelOutput) SetName(v string) *GetModelOutput {
12896	s.Name = &v
12897	return s
12898}
12899
12900// SetSchema sets the Schema field's value.
12901func (s *GetModelOutput) SetSchema(v string) *GetModelOutput {
12902	s.Schema = &v
12903	return s
12904}
12905
12906type GetModelTemplateInput struct {
12907	_ struct{} `type:"structure"`
12908
12909	// ApiId is a required field
12910	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12911
12912	// ModelId is a required field
12913	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
12914}
12915
12916// String returns the string representation
12917func (s GetModelTemplateInput) String() string {
12918	return awsutil.Prettify(s)
12919}
12920
12921// GoString returns the string representation
12922func (s GetModelTemplateInput) GoString() string {
12923	return s.String()
12924}
12925
12926// Validate inspects the fields of the type to determine if they are valid.
12927func (s *GetModelTemplateInput) Validate() error {
12928	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
12929	if s.ApiId == nil {
12930		invalidParams.Add(request.NewErrParamRequired("ApiId"))
12931	}
12932	if s.ApiId != nil && len(*s.ApiId) < 1 {
12933		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
12934	}
12935	if s.ModelId == nil {
12936		invalidParams.Add(request.NewErrParamRequired("ModelId"))
12937	}
12938	if s.ModelId != nil && len(*s.ModelId) < 1 {
12939		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
12940	}
12941
12942	if invalidParams.Len() > 0 {
12943		return invalidParams
12944	}
12945	return nil
12946}
12947
12948// SetApiId sets the ApiId field's value.
12949func (s *GetModelTemplateInput) SetApiId(v string) *GetModelTemplateInput {
12950	s.ApiId = &v
12951	return s
12952}
12953
12954// SetModelId sets the ModelId field's value.
12955func (s *GetModelTemplateInput) SetModelId(v string) *GetModelTemplateInput {
12956	s.ModelId = &v
12957	return s
12958}
12959
12960type GetModelTemplateOutput struct {
12961	_ struct{} `type:"structure"`
12962
12963	Value *string `locationName:"value" type:"string"`
12964}
12965
12966// String returns the string representation
12967func (s GetModelTemplateOutput) String() string {
12968	return awsutil.Prettify(s)
12969}
12970
12971// GoString returns the string representation
12972func (s GetModelTemplateOutput) GoString() string {
12973	return s.String()
12974}
12975
12976// SetValue sets the Value field's value.
12977func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
12978	s.Value = &v
12979	return s
12980}
12981
12982type GetModelsInput struct {
12983	_ struct{} `type:"structure"`
12984
12985	// ApiId is a required field
12986	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
12987
12988	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
12989
12990	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12991}
12992
12993// String returns the string representation
12994func (s GetModelsInput) String() string {
12995	return awsutil.Prettify(s)
12996}
12997
12998// GoString returns the string representation
12999func (s GetModelsInput) GoString() string {
13000	return s.String()
13001}
13002
13003// Validate inspects the fields of the type to determine if they are valid.
13004func (s *GetModelsInput) Validate() error {
13005	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
13006	if s.ApiId == nil {
13007		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13008	}
13009	if s.ApiId != nil && len(*s.ApiId) < 1 {
13010		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13011	}
13012
13013	if invalidParams.Len() > 0 {
13014		return invalidParams
13015	}
13016	return nil
13017}
13018
13019// SetApiId sets the ApiId field's value.
13020func (s *GetModelsInput) SetApiId(v string) *GetModelsInput {
13021	s.ApiId = &v
13022	return s
13023}
13024
13025// SetMaxResults sets the MaxResults field's value.
13026func (s *GetModelsInput) SetMaxResults(v string) *GetModelsInput {
13027	s.MaxResults = &v
13028	return s
13029}
13030
13031// SetNextToken sets the NextToken field's value.
13032func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput {
13033	s.NextToken = &v
13034	return s
13035}
13036
13037type GetModelsOutput struct {
13038	_ struct{} `type:"structure"`
13039
13040	Items []*Model `locationName:"items" type:"list"`
13041
13042	// The next page of elements from this collection. Not valid for the last element
13043	// of the collection.
13044	NextToken *string `locationName:"nextToken" type:"string"`
13045}
13046
13047// String returns the string representation
13048func (s GetModelsOutput) String() string {
13049	return awsutil.Prettify(s)
13050}
13051
13052// GoString returns the string representation
13053func (s GetModelsOutput) GoString() string {
13054	return s.String()
13055}
13056
13057// SetItems sets the Items field's value.
13058func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
13059	s.Items = v
13060	return s
13061}
13062
13063// SetNextToken sets the NextToken field's value.
13064func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput {
13065	s.NextToken = &v
13066	return s
13067}
13068
13069type GetRouteInput struct {
13070	_ struct{} `type:"structure"`
13071
13072	// ApiId is a required field
13073	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13074
13075	// RouteId is a required field
13076	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13077}
13078
13079// String returns the string representation
13080func (s GetRouteInput) String() string {
13081	return awsutil.Prettify(s)
13082}
13083
13084// GoString returns the string representation
13085func (s GetRouteInput) GoString() string {
13086	return s.String()
13087}
13088
13089// Validate inspects the fields of the type to determine if they are valid.
13090func (s *GetRouteInput) Validate() error {
13091	invalidParams := request.ErrInvalidParams{Context: "GetRouteInput"}
13092	if s.ApiId == nil {
13093		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13094	}
13095	if s.ApiId != nil && len(*s.ApiId) < 1 {
13096		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13097	}
13098	if s.RouteId == nil {
13099		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13100	}
13101	if s.RouteId != nil && len(*s.RouteId) < 1 {
13102		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13103	}
13104
13105	if invalidParams.Len() > 0 {
13106		return invalidParams
13107	}
13108	return nil
13109}
13110
13111// SetApiId sets the ApiId field's value.
13112func (s *GetRouteInput) SetApiId(v string) *GetRouteInput {
13113	s.ApiId = &v
13114	return s
13115}
13116
13117// SetRouteId sets the RouteId field's value.
13118func (s *GetRouteInput) SetRouteId(v string) *GetRouteInput {
13119	s.RouteId = &v
13120	return s
13121}
13122
13123type GetRouteOutput struct {
13124	_ struct{} `type:"structure"`
13125
13126	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
13127
13128	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
13129
13130	// A list of authorization scopes configured on a route. The scopes are used
13131	// with a JWT authorizer to authorize the method invocation. The authorization
13132	// works by matching the route scopes against the scopes parsed from the access
13133	// token in the incoming request. The method invocation is authorized if any
13134	// route scope matches a claimed scope in the access token. Otherwise, the invocation
13135	// is not authorized. When the route scope is configured, the client must provide
13136	// an access token instead of an identity token for authorization purposes.
13137	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
13138
13139	// The authorization type. For WebSocket APIs, valid values are NONE for open
13140	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
13141	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
13142	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
13143	// for using a Lambda authorizer.
13144	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
13145
13146	// The identifier.
13147	AuthorizerId *string `locationName:"authorizerId" type:"string"`
13148
13149	// An expression used to extract information at runtime. See Selection Expressions
13150	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13151	// for more information.
13152	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
13153
13154	// A string with a length between [1-64].
13155	OperationName *string `locationName:"operationName" type:"string"`
13156
13157	// The route models.
13158	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
13159
13160	// The route parameters.
13161	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
13162
13163	// The identifier.
13164	RouteId *string `locationName:"routeId" type:"string"`
13165
13166	// After evaluating a selection expression, the result is compared against one
13167	// or more selection keys to find a matching key. See Selection Expressions
13168	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13169	// for a list of expressions and each expression's associated selection key
13170	// type.
13171	RouteKey *string `locationName:"routeKey" type:"string"`
13172
13173	// An expression used to extract information at runtime. See Selection Expressions
13174	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13175	// for more information.
13176	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
13177
13178	// A string with a length between [1-128].
13179	Target *string `locationName:"target" type:"string"`
13180}
13181
13182// String returns the string representation
13183func (s GetRouteOutput) String() string {
13184	return awsutil.Prettify(s)
13185}
13186
13187// GoString returns the string representation
13188func (s GetRouteOutput) GoString() string {
13189	return s.String()
13190}
13191
13192// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
13193func (s *GetRouteOutput) SetApiGatewayManaged(v bool) *GetRouteOutput {
13194	s.ApiGatewayManaged = &v
13195	return s
13196}
13197
13198// SetApiKeyRequired sets the ApiKeyRequired field's value.
13199func (s *GetRouteOutput) SetApiKeyRequired(v bool) *GetRouteOutput {
13200	s.ApiKeyRequired = &v
13201	return s
13202}
13203
13204// SetAuthorizationScopes sets the AuthorizationScopes field's value.
13205func (s *GetRouteOutput) SetAuthorizationScopes(v []*string) *GetRouteOutput {
13206	s.AuthorizationScopes = v
13207	return s
13208}
13209
13210// SetAuthorizationType sets the AuthorizationType field's value.
13211func (s *GetRouteOutput) SetAuthorizationType(v string) *GetRouteOutput {
13212	s.AuthorizationType = &v
13213	return s
13214}
13215
13216// SetAuthorizerId sets the AuthorizerId field's value.
13217func (s *GetRouteOutput) SetAuthorizerId(v string) *GetRouteOutput {
13218	s.AuthorizerId = &v
13219	return s
13220}
13221
13222// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
13223func (s *GetRouteOutput) SetModelSelectionExpression(v string) *GetRouteOutput {
13224	s.ModelSelectionExpression = &v
13225	return s
13226}
13227
13228// SetOperationName sets the OperationName field's value.
13229func (s *GetRouteOutput) SetOperationName(v string) *GetRouteOutput {
13230	s.OperationName = &v
13231	return s
13232}
13233
13234// SetRequestModels sets the RequestModels field's value.
13235func (s *GetRouteOutput) SetRequestModels(v map[string]*string) *GetRouteOutput {
13236	s.RequestModels = v
13237	return s
13238}
13239
13240// SetRequestParameters sets the RequestParameters field's value.
13241func (s *GetRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *GetRouteOutput {
13242	s.RequestParameters = v
13243	return s
13244}
13245
13246// SetRouteId sets the RouteId field's value.
13247func (s *GetRouteOutput) SetRouteId(v string) *GetRouteOutput {
13248	s.RouteId = &v
13249	return s
13250}
13251
13252// SetRouteKey sets the RouteKey field's value.
13253func (s *GetRouteOutput) SetRouteKey(v string) *GetRouteOutput {
13254	s.RouteKey = &v
13255	return s
13256}
13257
13258// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
13259func (s *GetRouteOutput) SetRouteResponseSelectionExpression(v string) *GetRouteOutput {
13260	s.RouteResponseSelectionExpression = &v
13261	return s
13262}
13263
13264// SetTarget sets the Target field's value.
13265func (s *GetRouteOutput) SetTarget(v string) *GetRouteOutput {
13266	s.Target = &v
13267	return s
13268}
13269
13270type GetRouteResponseInput struct {
13271	_ struct{} `type:"structure"`
13272
13273	// ApiId is a required field
13274	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13275
13276	// RouteId is a required field
13277	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13278
13279	// RouteResponseId is a required field
13280	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
13281}
13282
13283// String returns the string representation
13284func (s GetRouteResponseInput) String() string {
13285	return awsutil.Prettify(s)
13286}
13287
13288// GoString returns the string representation
13289func (s GetRouteResponseInput) GoString() string {
13290	return s.String()
13291}
13292
13293// Validate inspects the fields of the type to determine if they are valid.
13294func (s *GetRouteResponseInput) Validate() error {
13295	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponseInput"}
13296	if s.ApiId == nil {
13297		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13298	}
13299	if s.ApiId != nil && len(*s.ApiId) < 1 {
13300		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13301	}
13302	if s.RouteId == nil {
13303		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13304	}
13305	if s.RouteId != nil && len(*s.RouteId) < 1 {
13306		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13307	}
13308	if s.RouteResponseId == nil {
13309		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
13310	}
13311	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
13312		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
13313	}
13314
13315	if invalidParams.Len() > 0 {
13316		return invalidParams
13317	}
13318	return nil
13319}
13320
13321// SetApiId sets the ApiId field's value.
13322func (s *GetRouteResponseInput) SetApiId(v string) *GetRouteResponseInput {
13323	s.ApiId = &v
13324	return s
13325}
13326
13327// SetRouteId sets the RouteId field's value.
13328func (s *GetRouteResponseInput) SetRouteId(v string) *GetRouteResponseInput {
13329	s.RouteId = &v
13330	return s
13331}
13332
13333// SetRouteResponseId sets the RouteResponseId field's value.
13334func (s *GetRouteResponseInput) SetRouteResponseId(v string) *GetRouteResponseInput {
13335	s.RouteResponseId = &v
13336	return s
13337}
13338
13339type GetRouteResponseOutput struct {
13340	_ struct{} `type:"structure"`
13341
13342	// An expression used to extract information at runtime. See Selection Expressions
13343	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13344	// for more information.
13345	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
13346
13347	// The route models.
13348	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
13349
13350	// The route parameters.
13351	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
13352
13353	// The identifier.
13354	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
13355
13356	// After evaluating a selection expression, the result is compared against one
13357	// or more selection keys to find a matching key. See Selection Expressions
13358	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
13359	// for a list of expressions and each expression's associated selection key
13360	// type.
13361	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
13362}
13363
13364// String returns the string representation
13365func (s GetRouteResponseOutput) String() string {
13366	return awsutil.Prettify(s)
13367}
13368
13369// GoString returns the string representation
13370func (s GetRouteResponseOutput) GoString() string {
13371	return s.String()
13372}
13373
13374// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
13375func (s *GetRouteResponseOutput) SetModelSelectionExpression(v string) *GetRouteResponseOutput {
13376	s.ModelSelectionExpression = &v
13377	return s
13378}
13379
13380// SetResponseModels sets the ResponseModels field's value.
13381func (s *GetRouteResponseOutput) SetResponseModels(v map[string]*string) *GetRouteResponseOutput {
13382	s.ResponseModels = v
13383	return s
13384}
13385
13386// SetResponseParameters sets the ResponseParameters field's value.
13387func (s *GetRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *GetRouteResponseOutput {
13388	s.ResponseParameters = v
13389	return s
13390}
13391
13392// SetRouteResponseId sets the RouteResponseId field's value.
13393func (s *GetRouteResponseOutput) SetRouteResponseId(v string) *GetRouteResponseOutput {
13394	s.RouteResponseId = &v
13395	return s
13396}
13397
13398// SetRouteResponseKey sets the RouteResponseKey field's value.
13399func (s *GetRouteResponseOutput) SetRouteResponseKey(v string) *GetRouteResponseOutput {
13400	s.RouteResponseKey = &v
13401	return s
13402}
13403
13404type GetRouteResponsesInput struct {
13405	_ struct{} `type:"structure"`
13406
13407	// ApiId is a required field
13408	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13409
13410	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13411
13412	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13413
13414	// RouteId is a required field
13415	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
13416}
13417
13418// String returns the string representation
13419func (s GetRouteResponsesInput) String() string {
13420	return awsutil.Prettify(s)
13421}
13422
13423// GoString returns the string representation
13424func (s GetRouteResponsesInput) GoString() string {
13425	return s.String()
13426}
13427
13428// Validate inspects the fields of the type to determine if they are valid.
13429func (s *GetRouteResponsesInput) Validate() error {
13430	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponsesInput"}
13431	if s.ApiId == nil {
13432		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13433	}
13434	if s.ApiId != nil && len(*s.ApiId) < 1 {
13435		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13436	}
13437	if s.RouteId == nil {
13438		invalidParams.Add(request.NewErrParamRequired("RouteId"))
13439	}
13440	if s.RouteId != nil && len(*s.RouteId) < 1 {
13441		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
13442	}
13443
13444	if invalidParams.Len() > 0 {
13445		return invalidParams
13446	}
13447	return nil
13448}
13449
13450// SetApiId sets the ApiId field's value.
13451func (s *GetRouteResponsesInput) SetApiId(v string) *GetRouteResponsesInput {
13452	s.ApiId = &v
13453	return s
13454}
13455
13456// SetMaxResults sets the MaxResults field's value.
13457func (s *GetRouteResponsesInput) SetMaxResults(v string) *GetRouteResponsesInput {
13458	s.MaxResults = &v
13459	return s
13460}
13461
13462// SetNextToken sets the NextToken field's value.
13463func (s *GetRouteResponsesInput) SetNextToken(v string) *GetRouteResponsesInput {
13464	s.NextToken = &v
13465	return s
13466}
13467
13468// SetRouteId sets the RouteId field's value.
13469func (s *GetRouteResponsesInput) SetRouteId(v string) *GetRouteResponsesInput {
13470	s.RouteId = &v
13471	return s
13472}
13473
13474type GetRouteResponsesOutput struct {
13475	_ struct{} `type:"structure"`
13476
13477	Items []*RouteResponse `locationName:"items" type:"list"`
13478
13479	// The next page of elements from this collection. Not valid for the last element
13480	// of the collection.
13481	NextToken *string `locationName:"nextToken" type:"string"`
13482}
13483
13484// String returns the string representation
13485func (s GetRouteResponsesOutput) String() string {
13486	return awsutil.Prettify(s)
13487}
13488
13489// GoString returns the string representation
13490func (s GetRouteResponsesOutput) GoString() string {
13491	return s.String()
13492}
13493
13494// SetItems sets the Items field's value.
13495func (s *GetRouteResponsesOutput) SetItems(v []*RouteResponse) *GetRouteResponsesOutput {
13496	s.Items = v
13497	return s
13498}
13499
13500// SetNextToken sets the NextToken field's value.
13501func (s *GetRouteResponsesOutput) SetNextToken(v string) *GetRouteResponsesOutput {
13502	s.NextToken = &v
13503	return s
13504}
13505
13506type GetRoutesInput struct {
13507	_ struct{} `type:"structure"`
13508
13509	// ApiId is a required field
13510	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13511
13512	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13513
13514	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13515}
13516
13517// String returns the string representation
13518func (s GetRoutesInput) String() string {
13519	return awsutil.Prettify(s)
13520}
13521
13522// GoString returns the string representation
13523func (s GetRoutesInput) GoString() string {
13524	return s.String()
13525}
13526
13527// Validate inspects the fields of the type to determine if they are valid.
13528func (s *GetRoutesInput) Validate() error {
13529	invalidParams := request.ErrInvalidParams{Context: "GetRoutesInput"}
13530	if s.ApiId == nil {
13531		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13532	}
13533	if s.ApiId != nil && len(*s.ApiId) < 1 {
13534		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13535	}
13536
13537	if invalidParams.Len() > 0 {
13538		return invalidParams
13539	}
13540	return nil
13541}
13542
13543// SetApiId sets the ApiId field's value.
13544func (s *GetRoutesInput) SetApiId(v string) *GetRoutesInput {
13545	s.ApiId = &v
13546	return s
13547}
13548
13549// SetMaxResults sets the MaxResults field's value.
13550func (s *GetRoutesInput) SetMaxResults(v string) *GetRoutesInput {
13551	s.MaxResults = &v
13552	return s
13553}
13554
13555// SetNextToken sets the NextToken field's value.
13556func (s *GetRoutesInput) SetNextToken(v string) *GetRoutesInput {
13557	s.NextToken = &v
13558	return s
13559}
13560
13561type GetRoutesOutput struct {
13562	_ struct{} `type:"structure"`
13563
13564	Items []*Route `locationName:"items" type:"list"`
13565
13566	// The next page of elements from this collection. Not valid for the last element
13567	// of the collection.
13568	NextToken *string `locationName:"nextToken" type:"string"`
13569}
13570
13571// String returns the string representation
13572func (s GetRoutesOutput) String() string {
13573	return awsutil.Prettify(s)
13574}
13575
13576// GoString returns the string representation
13577func (s GetRoutesOutput) GoString() string {
13578	return s.String()
13579}
13580
13581// SetItems sets the Items field's value.
13582func (s *GetRoutesOutput) SetItems(v []*Route) *GetRoutesOutput {
13583	s.Items = v
13584	return s
13585}
13586
13587// SetNextToken sets the NextToken field's value.
13588func (s *GetRoutesOutput) SetNextToken(v string) *GetRoutesOutput {
13589	s.NextToken = &v
13590	return s
13591}
13592
13593type GetStageInput struct {
13594	_ struct{} `type:"structure"`
13595
13596	// ApiId is a required field
13597	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13598
13599	// StageName is a required field
13600	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
13601}
13602
13603// String returns the string representation
13604func (s GetStageInput) String() string {
13605	return awsutil.Prettify(s)
13606}
13607
13608// GoString returns the string representation
13609func (s GetStageInput) GoString() string {
13610	return s.String()
13611}
13612
13613// Validate inspects the fields of the type to determine if they are valid.
13614func (s *GetStageInput) Validate() error {
13615	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
13616	if s.ApiId == nil {
13617		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13618	}
13619	if s.ApiId != nil && len(*s.ApiId) < 1 {
13620		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13621	}
13622	if s.StageName == nil {
13623		invalidParams.Add(request.NewErrParamRequired("StageName"))
13624	}
13625	if s.StageName != nil && len(*s.StageName) < 1 {
13626		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
13627	}
13628
13629	if invalidParams.Len() > 0 {
13630		return invalidParams
13631	}
13632	return nil
13633}
13634
13635// SetApiId sets the ApiId field's value.
13636func (s *GetStageInput) SetApiId(v string) *GetStageInput {
13637	s.ApiId = &v
13638	return s
13639}
13640
13641// SetStageName sets the StageName field's value.
13642func (s *GetStageInput) SetStageName(v string) *GetStageInput {
13643	s.StageName = &v
13644	return s
13645}
13646
13647type GetStageOutput struct {
13648	_ struct{} `type:"structure"`
13649
13650	// Settings for logging access in a stage.
13651	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
13652
13653	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
13654
13655	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
13656
13657	// The identifier.
13658	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
13659
13660	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
13661
13662	// Represents a collection of route settings.
13663	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
13664
13665	// The identifier.
13666	DeploymentId *string `locationName:"deploymentId" type:"string"`
13667
13668	// A string with a length between [0-1024].
13669	Description *string `locationName:"description" type:"string"`
13670
13671	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
13672
13673	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
13674
13675	// The route settings map.
13676	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
13677
13678	// A string with a length between [1-128].
13679	StageName *string `locationName:"stageName" type:"string"`
13680
13681	// The stage variable map.
13682	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
13683
13684	// Represents a collection of tags associated with the resource.
13685	Tags map[string]*string `locationName:"tags" type:"map"`
13686}
13687
13688// String returns the string representation
13689func (s GetStageOutput) String() string {
13690	return awsutil.Prettify(s)
13691}
13692
13693// GoString returns the string representation
13694func (s GetStageOutput) GoString() string {
13695	return s.String()
13696}
13697
13698// SetAccessLogSettings sets the AccessLogSettings field's value.
13699func (s *GetStageOutput) SetAccessLogSettings(v *AccessLogSettings) *GetStageOutput {
13700	s.AccessLogSettings = v
13701	return s
13702}
13703
13704// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
13705func (s *GetStageOutput) SetApiGatewayManaged(v bool) *GetStageOutput {
13706	s.ApiGatewayManaged = &v
13707	return s
13708}
13709
13710// SetAutoDeploy sets the AutoDeploy field's value.
13711func (s *GetStageOutput) SetAutoDeploy(v bool) *GetStageOutput {
13712	s.AutoDeploy = &v
13713	return s
13714}
13715
13716// SetClientCertificateId sets the ClientCertificateId field's value.
13717func (s *GetStageOutput) SetClientCertificateId(v string) *GetStageOutput {
13718	s.ClientCertificateId = &v
13719	return s
13720}
13721
13722// SetCreatedDate sets the CreatedDate field's value.
13723func (s *GetStageOutput) SetCreatedDate(v time.Time) *GetStageOutput {
13724	s.CreatedDate = &v
13725	return s
13726}
13727
13728// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
13729func (s *GetStageOutput) SetDefaultRouteSettings(v *RouteSettings) *GetStageOutput {
13730	s.DefaultRouteSettings = v
13731	return s
13732}
13733
13734// SetDeploymentId sets the DeploymentId field's value.
13735func (s *GetStageOutput) SetDeploymentId(v string) *GetStageOutput {
13736	s.DeploymentId = &v
13737	return s
13738}
13739
13740// SetDescription sets the Description field's value.
13741func (s *GetStageOutput) SetDescription(v string) *GetStageOutput {
13742	s.Description = &v
13743	return s
13744}
13745
13746// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
13747func (s *GetStageOutput) SetLastDeploymentStatusMessage(v string) *GetStageOutput {
13748	s.LastDeploymentStatusMessage = &v
13749	return s
13750}
13751
13752// SetLastUpdatedDate sets the LastUpdatedDate field's value.
13753func (s *GetStageOutput) SetLastUpdatedDate(v time.Time) *GetStageOutput {
13754	s.LastUpdatedDate = &v
13755	return s
13756}
13757
13758// SetRouteSettings sets the RouteSettings field's value.
13759func (s *GetStageOutput) SetRouteSettings(v map[string]*RouteSettings) *GetStageOutput {
13760	s.RouteSettings = v
13761	return s
13762}
13763
13764// SetStageName sets the StageName field's value.
13765func (s *GetStageOutput) SetStageName(v string) *GetStageOutput {
13766	s.StageName = &v
13767	return s
13768}
13769
13770// SetStageVariables sets the StageVariables field's value.
13771func (s *GetStageOutput) SetStageVariables(v map[string]*string) *GetStageOutput {
13772	s.StageVariables = v
13773	return s
13774}
13775
13776// SetTags sets the Tags field's value.
13777func (s *GetStageOutput) SetTags(v map[string]*string) *GetStageOutput {
13778	s.Tags = v
13779	return s
13780}
13781
13782type GetStagesInput struct {
13783	_ struct{} `type:"structure"`
13784
13785	// ApiId is a required field
13786	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
13787
13788	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
13789
13790	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13791}
13792
13793// String returns the string representation
13794func (s GetStagesInput) String() string {
13795	return awsutil.Prettify(s)
13796}
13797
13798// GoString returns the string representation
13799func (s GetStagesInput) GoString() string {
13800	return s.String()
13801}
13802
13803// Validate inspects the fields of the type to determine if they are valid.
13804func (s *GetStagesInput) Validate() error {
13805	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
13806	if s.ApiId == nil {
13807		invalidParams.Add(request.NewErrParamRequired("ApiId"))
13808	}
13809	if s.ApiId != nil && len(*s.ApiId) < 1 {
13810		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
13811	}
13812
13813	if invalidParams.Len() > 0 {
13814		return invalidParams
13815	}
13816	return nil
13817}
13818
13819// SetApiId sets the ApiId field's value.
13820func (s *GetStagesInput) SetApiId(v string) *GetStagesInput {
13821	s.ApiId = &v
13822	return s
13823}
13824
13825// SetMaxResults sets the MaxResults field's value.
13826func (s *GetStagesInput) SetMaxResults(v string) *GetStagesInput {
13827	s.MaxResults = &v
13828	return s
13829}
13830
13831// SetNextToken sets the NextToken field's value.
13832func (s *GetStagesInput) SetNextToken(v string) *GetStagesInput {
13833	s.NextToken = &v
13834	return s
13835}
13836
13837type GetStagesOutput struct {
13838	_ struct{} `type:"structure"`
13839
13840	Items []*Stage `locationName:"items" type:"list"`
13841
13842	// The next page of elements from this collection. Not valid for the last element
13843	// of the collection.
13844	NextToken *string `locationName:"nextToken" type:"string"`
13845}
13846
13847// String returns the string representation
13848func (s GetStagesOutput) String() string {
13849	return awsutil.Prettify(s)
13850}
13851
13852// GoString returns the string representation
13853func (s GetStagesOutput) GoString() string {
13854	return s.String()
13855}
13856
13857// SetItems sets the Items field's value.
13858func (s *GetStagesOutput) SetItems(v []*Stage) *GetStagesOutput {
13859	s.Items = v
13860	return s
13861}
13862
13863// SetNextToken sets the NextToken field's value.
13864func (s *GetStagesOutput) SetNextToken(v string) *GetStagesOutput {
13865	s.NextToken = &v
13866	return s
13867}
13868
13869type GetTagsInput struct {
13870	_ struct{} `type:"structure"`
13871
13872	// ResourceArn is a required field
13873	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
13874}
13875
13876// String returns the string representation
13877func (s GetTagsInput) String() string {
13878	return awsutil.Prettify(s)
13879}
13880
13881// GoString returns the string representation
13882func (s GetTagsInput) GoString() string {
13883	return s.String()
13884}
13885
13886// Validate inspects the fields of the type to determine if they are valid.
13887func (s *GetTagsInput) Validate() error {
13888	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
13889	if s.ResourceArn == nil {
13890		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13891	}
13892	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13893		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13894	}
13895
13896	if invalidParams.Len() > 0 {
13897		return invalidParams
13898	}
13899	return nil
13900}
13901
13902// SetResourceArn sets the ResourceArn field's value.
13903func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
13904	s.ResourceArn = &v
13905	return s
13906}
13907
13908type GetTagsOutput struct {
13909	_ struct{} `type:"structure"`
13910
13911	// Represents a collection of tags associated with the resource.
13912	Tags map[string]*string `locationName:"tags" type:"map"`
13913}
13914
13915// String returns the string representation
13916func (s GetTagsOutput) String() string {
13917	return awsutil.Prettify(s)
13918}
13919
13920// GoString returns the string representation
13921func (s GetTagsOutput) GoString() string {
13922	return s.String()
13923}
13924
13925// SetTags sets the Tags field's value.
13926func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
13927	s.Tags = v
13928	return s
13929}
13930
13931type GetVpcLinkInput struct {
13932	_ struct{} `type:"structure"`
13933
13934	// VpcLinkId is a required field
13935	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
13936}
13937
13938// String returns the string representation
13939func (s GetVpcLinkInput) String() string {
13940	return awsutil.Prettify(s)
13941}
13942
13943// GoString returns the string representation
13944func (s GetVpcLinkInput) GoString() string {
13945	return s.String()
13946}
13947
13948// Validate inspects the fields of the type to determine if they are valid.
13949func (s *GetVpcLinkInput) Validate() error {
13950	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
13951	if s.VpcLinkId == nil {
13952		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
13953	}
13954	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
13955		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
13956	}
13957
13958	if invalidParams.Len() > 0 {
13959		return invalidParams
13960	}
13961	return nil
13962}
13963
13964// SetVpcLinkId sets the VpcLinkId field's value.
13965func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
13966	s.VpcLinkId = &v
13967	return s
13968}
13969
13970type GetVpcLinkOutput struct {
13971	_ struct{} `type:"structure"`
13972
13973	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
13974
13975	// A string with a length between [1-128].
13976	Name *string `locationName:"name" type:"string"`
13977
13978	// A list of security group IDs for the VPC link.
13979	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
13980
13981	// A list of subnet IDs to include in the VPC link.
13982	SubnetIds []*string `locationName:"subnetIds" type:"list"`
13983
13984	// Represents a collection of tags associated with the resource.
13985	Tags map[string]*string `locationName:"tags" type:"map"`
13986
13987	// The identifier.
13988	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
13989
13990	// The status of the VPC link.
13991	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
13992
13993	// A string with a length between [0-1024].
13994	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
13995
13996	// The version of the VPC link.
13997	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
13998}
13999
14000// String returns the string representation
14001func (s GetVpcLinkOutput) String() string {
14002	return awsutil.Prettify(s)
14003}
14004
14005// GoString returns the string representation
14006func (s GetVpcLinkOutput) GoString() string {
14007	return s.String()
14008}
14009
14010// SetCreatedDate sets the CreatedDate field's value.
14011func (s *GetVpcLinkOutput) SetCreatedDate(v time.Time) *GetVpcLinkOutput {
14012	s.CreatedDate = &v
14013	return s
14014}
14015
14016// SetName sets the Name field's value.
14017func (s *GetVpcLinkOutput) SetName(v string) *GetVpcLinkOutput {
14018	s.Name = &v
14019	return s
14020}
14021
14022// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14023func (s *GetVpcLinkOutput) SetSecurityGroupIds(v []*string) *GetVpcLinkOutput {
14024	s.SecurityGroupIds = v
14025	return s
14026}
14027
14028// SetSubnetIds sets the SubnetIds field's value.
14029func (s *GetVpcLinkOutput) SetSubnetIds(v []*string) *GetVpcLinkOutput {
14030	s.SubnetIds = v
14031	return s
14032}
14033
14034// SetTags sets the Tags field's value.
14035func (s *GetVpcLinkOutput) SetTags(v map[string]*string) *GetVpcLinkOutput {
14036	s.Tags = v
14037	return s
14038}
14039
14040// SetVpcLinkId sets the VpcLinkId field's value.
14041func (s *GetVpcLinkOutput) SetVpcLinkId(v string) *GetVpcLinkOutput {
14042	s.VpcLinkId = &v
14043	return s
14044}
14045
14046// SetVpcLinkStatus sets the VpcLinkStatus field's value.
14047func (s *GetVpcLinkOutput) SetVpcLinkStatus(v string) *GetVpcLinkOutput {
14048	s.VpcLinkStatus = &v
14049	return s
14050}
14051
14052// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
14053func (s *GetVpcLinkOutput) SetVpcLinkStatusMessage(v string) *GetVpcLinkOutput {
14054	s.VpcLinkStatusMessage = &v
14055	return s
14056}
14057
14058// SetVpcLinkVersion sets the VpcLinkVersion field's value.
14059func (s *GetVpcLinkOutput) SetVpcLinkVersion(v string) *GetVpcLinkOutput {
14060	s.VpcLinkVersion = &v
14061	return s
14062}
14063
14064type GetVpcLinksInput struct {
14065	_ struct{} `type:"structure"`
14066
14067	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
14068
14069	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14070}
14071
14072// String returns the string representation
14073func (s GetVpcLinksInput) String() string {
14074	return awsutil.Prettify(s)
14075}
14076
14077// GoString returns the string representation
14078func (s GetVpcLinksInput) GoString() string {
14079	return s.String()
14080}
14081
14082// SetMaxResults sets the MaxResults field's value.
14083func (s *GetVpcLinksInput) SetMaxResults(v string) *GetVpcLinksInput {
14084	s.MaxResults = &v
14085	return s
14086}
14087
14088// SetNextToken sets the NextToken field's value.
14089func (s *GetVpcLinksInput) SetNextToken(v string) *GetVpcLinksInput {
14090	s.NextToken = &v
14091	return s
14092}
14093
14094type GetVpcLinksOutput struct {
14095	_ struct{} `type:"structure"`
14096
14097	Items []*VpcLink `locationName:"items" type:"list"`
14098
14099	// The next page of elements from this collection. Not valid for the last element
14100	// of the collection.
14101	NextToken *string `locationName:"nextToken" type:"string"`
14102}
14103
14104// String returns the string representation
14105func (s GetVpcLinksOutput) String() string {
14106	return awsutil.Prettify(s)
14107}
14108
14109// GoString returns the string representation
14110func (s GetVpcLinksOutput) GoString() string {
14111	return s.String()
14112}
14113
14114// SetItems sets the Items field's value.
14115func (s *GetVpcLinksOutput) SetItems(v []*VpcLink) *GetVpcLinksOutput {
14116	s.Items = v
14117	return s
14118}
14119
14120// SetNextToken sets the NextToken field's value.
14121func (s *GetVpcLinksOutput) SetNextToken(v string) *GetVpcLinksOutput {
14122	s.NextToken = &v
14123	return s
14124}
14125
14126type ImportApiInput struct {
14127	_ struct{} `type:"structure"`
14128
14129	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
14130
14131	// Body is a required field
14132	Body *string `locationName:"body" type:"string" required:"true"`
14133
14134	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
14135}
14136
14137// String returns the string representation
14138func (s ImportApiInput) String() string {
14139	return awsutil.Prettify(s)
14140}
14141
14142// GoString returns the string representation
14143func (s ImportApiInput) GoString() string {
14144	return s.String()
14145}
14146
14147// Validate inspects the fields of the type to determine if they are valid.
14148func (s *ImportApiInput) Validate() error {
14149	invalidParams := request.ErrInvalidParams{Context: "ImportApiInput"}
14150	if s.Body == nil {
14151		invalidParams.Add(request.NewErrParamRequired("Body"))
14152	}
14153
14154	if invalidParams.Len() > 0 {
14155		return invalidParams
14156	}
14157	return nil
14158}
14159
14160// SetBasepath sets the Basepath field's value.
14161func (s *ImportApiInput) SetBasepath(v string) *ImportApiInput {
14162	s.Basepath = &v
14163	return s
14164}
14165
14166// SetBody sets the Body field's value.
14167func (s *ImportApiInput) SetBody(v string) *ImportApiInput {
14168	s.Body = &v
14169	return s
14170}
14171
14172// SetFailOnWarnings sets the FailOnWarnings field's value.
14173func (s *ImportApiInput) SetFailOnWarnings(v bool) *ImportApiInput {
14174	s.FailOnWarnings = &v
14175	return s
14176}
14177
14178type ImportApiOutput struct {
14179	_ struct{} `type:"structure"`
14180
14181	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
14182
14183	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
14184
14185	// The identifier.
14186	ApiId *string `locationName:"apiId" type:"string"`
14187
14188	// An expression used to extract information at runtime. See Selection Expressions
14189	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
14190	// for more information.
14191	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
14192
14193	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
14194	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
14195	// for more information.
14196	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
14197
14198	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
14199
14200	// A string with a length between [0-1024].
14201	Description *string `locationName:"description" type:"string"`
14202
14203	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
14204
14205	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
14206
14207	ImportInfo []*string `locationName:"importInfo" type:"list"`
14208
14209	// A string with a length between [1-128].
14210	Name *string `locationName:"name" type:"string"`
14211
14212	// Represents a protocol type.
14213	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
14214
14215	// An expression used to extract information at runtime. See Selection Expressions
14216	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
14217	// for more information.
14218	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
14219
14220	// Represents a collection of tags associated with the resource.
14221	Tags map[string]*string `locationName:"tags" type:"map"`
14222
14223	// A string with a length between [1-64].
14224	Version *string `locationName:"version" type:"string"`
14225
14226	Warnings []*string `locationName:"warnings" type:"list"`
14227}
14228
14229// String returns the string representation
14230func (s ImportApiOutput) String() string {
14231	return awsutil.Prettify(s)
14232}
14233
14234// GoString returns the string representation
14235func (s ImportApiOutput) GoString() string {
14236	return s.String()
14237}
14238
14239// SetApiEndpoint sets the ApiEndpoint field's value.
14240func (s *ImportApiOutput) SetApiEndpoint(v string) *ImportApiOutput {
14241	s.ApiEndpoint = &v
14242	return s
14243}
14244
14245// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
14246func (s *ImportApiOutput) SetApiGatewayManaged(v bool) *ImportApiOutput {
14247	s.ApiGatewayManaged = &v
14248	return s
14249}
14250
14251// SetApiId sets the ApiId field's value.
14252func (s *ImportApiOutput) SetApiId(v string) *ImportApiOutput {
14253	s.ApiId = &v
14254	return s
14255}
14256
14257// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
14258func (s *ImportApiOutput) SetApiKeySelectionExpression(v string) *ImportApiOutput {
14259	s.ApiKeySelectionExpression = &v
14260	return s
14261}
14262
14263// SetCorsConfiguration sets the CorsConfiguration field's value.
14264func (s *ImportApiOutput) SetCorsConfiguration(v *Cors) *ImportApiOutput {
14265	s.CorsConfiguration = v
14266	return s
14267}
14268
14269// SetCreatedDate sets the CreatedDate field's value.
14270func (s *ImportApiOutput) SetCreatedDate(v time.Time) *ImportApiOutput {
14271	s.CreatedDate = &v
14272	return s
14273}
14274
14275// SetDescription sets the Description field's value.
14276func (s *ImportApiOutput) SetDescription(v string) *ImportApiOutput {
14277	s.Description = &v
14278	return s
14279}
14280
14281// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
14282func (s *ImportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ImportApiOutput {
14283	s.DisableExecuteApiEndpoint = &v
14284	return s
14285}
14286
14287// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
14288func (s *ImportApiOutput) SetDisableSchemaValidation(v bool) *ImportApiOutput {
14289	s.DisableSchemaValidation = &v
14290	return s
14291}
14292
14293// SetImportInfo sets the ImportInfo field's value.
14294func (s *ImportApiOutput) SetImportInfo(v []*string) *ImportApiOutput {
14295	s.ImportInfo = v
14296	return s
14297}
14298
14299// SetName sets the Name field's value.
14300func (s *ImportApiOutput) SetName(v string) *ImportApiOutput {
14301	s.Name = &v
14302	return s
14303}
14304
14305// SetProtocolType sets the ProtocolType field's value.
14306func (s *ImportApiOutput) SetProtocolType(v string) *ImportApiOutput {
14307	s.ProtocolType = &v
14308	return s
14309}
14310
14311// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
14312func (s *ImportApiOutput) SetRouteSelectionExpression(v string) *ImportApiOutput {
14313	s.RouteSelectionExpression = &v
14314	return s
14315}
14316
14317// SetTags sets the Tags field's value.
14318func (s *ImportApiOutput) SetTags(v map[string]*string) *ImportApiOutput {
14319	s.Tags = v
14320	return s
14321}
14322
14323// SetVersion sets the Version field's value.
14324func (s *ImportApiOutput) SetVersion(v string) *ImportApiOutput {
14325	s.Version = &v
14326	return s
14327}
14328
14329// SetWarnings sets the Warnings field's value.
14330func (s *ImportApiOutput) SetWarnings(v []*string) *ImportApiOutput {
14331	s.Warnings = v
14332	return s
14333}
14334
14335// Represents an integration.
14336type Integration struct {
14337	_ struct{} `type:"structure"`
14338
14339	// Specifies whether an integration is managed by API Gateway. If you created
14340	// an API using using quick create, the resulting integration is managed by
14341	// API Gateway. You can update a managed integration, but you can't delete it.
14342	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
14343
14344	// The ID of the VPC link for a private integration. Supported only for HTTP
14345	// APIs.
14346	ConnectionId *string `locationName:"connectionId" type:"string"`
14347
14348	// The type of the network connection to the integration endpoint. Specify INTERNET
14349	// for connections through the public routable internet or VPC_LINK for private
14350	// connections between API Gateway and resources in a VPC. The default value
14351	// is INTERNET.
14352	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
14353
14354	// Supported only for WebSocket APIs. Specifies how to handle response payload
14355	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
14356	// with the following behaviors:
14357	//
14358	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
14359	// to the corresponding binary blob.
14360	//
14361	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
14362	// string.
14363	//
14364	// If this property is not defined, the response payload will be passed through
14365	// from the integration response to the route response or method response without
14366	// modification.
14367	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
14368
14369	// Specifies the credentials required for the integration, if any. For AWS integrations,
14370	// three options are available. To specify an IAM Role for API Gateway to assume,
14371	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
14372	// be passed through from the request, specify the string arn:aws:iam::*:user/*.
14373	// To use resource-based permissions on supported AWS services, specify null.
14374	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
14375
14376	// Represents the description of an integration.
14377	Description *string `locationName:"description" type:"string"`
14378
14379	// Represents the identifier of an integration.
14380	IntegrationId *string `locationName:"integrationId" type:"string"`
14381
14382	// Specifies the integration's HTTP method type.
14383	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
14384
14385	// The integration response selection expression for the integration. Supported
14386	// 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).
14387	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
14388
14389	// Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service
14390	// 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).
14391	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
14392
14393	// The integration type of an integration. One of the following:
14394	//
14395	// AWS: for integrating the route or method request with an AWS service action,
14396	// including the Lambda function-invoking action. With the Lambda function-invoking
14397	// action, this is referred to as the Lambda custom integration. With any other
14398	// AWS service action, this is known as AWS integration. Supported only for
14399	// WebSocket APIs.
14400	//
14401	// AWS_PROXY: for integrating the route or method request with a Lambda function
14402	// or other AWS service action. This integration is also referred to as a Lambda
14403	// proxy integration.
14404	//
14405	// HTTP: for integrating the route or method request with an HTTP endpoint.
14406	// This integration is also referred to as the HTTP custom integration. Supported
14407	// only for WebSocket APIs.
14408	//
14409	// HTTP_PROXY: for integrating the route or method request with an HTTP endpoint,
14410	// with the client request passed through as-is. This is also referred to as
14411	// HTTP proxy integration.
14412	//
14413	// MOCK: for integrating the route or method request with API Gateway as a "loopback"
14414	// endpoint without invoking any backend. Supported only for WebSocket APIs.
14415	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
14416
14417	// For a Lambda integration, specify the URI of a Lambda function.
14418	//
14419	// For an HTTP integration, specify a fully-qualified URL.
14420	//
14421	// For an HTTP API private integration, specify the ARN of an Application Load
14422	// Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
14423	// If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances
14424	// to identify resources. You can use query parameters to target specific resources.
14425	// To learn more, see DiscoverInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html).
14426	// For private integrations, all resources must be owned by the same AWS account.
14427	IntegrationUri *string `locationName:"integrationUri" type:"string"`
14428
14429	// Specifies the pass-through behavior for incoming requests based on the Content-Type
14430	// header in the request, and the available mapping templates specified as the
14431	// requestTemplates property on the Integration resource. There are three valid
14432	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket
14433	// APIs.
14434	//
14435	// WHEN_NO_MATCH passes the request body for unmapped content types through
14436	// to the integration backend without transformation.
14437	//
14438	// NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type
14439	// response.
14440	//
14441	// WHEN_NO_TEMPLATES allows pass-through when the integration has no content
14442	// types mapped to templates. However, if there is at least one content type
14443	// defined, unmapped content types will be rejected with the same HTTP 415 Unsupported
14444	// Media Type response.
14445	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
14446
14447	// Specifies the format of the payload sent to an integration. Required for
14448	// HTTP APIs.
14449	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
14450
14451	// For WebSocket APIs, a key-value map specifying request parameters that are
14452	// passed from the method request to the backend. The key is an integration
14453	// request parameter name and the associated value is a method request parameter
14454	// value or static value that must be enclosed within single quotes and pre-encoded
14455	// as required by the backend. The method request parameter value must match
14456	// the pattern of method.request.{location}.{name} , where {location} is querystring,
14457	// path, or header; and {name} must be a valid and unique method request parameter
14458	// name.
14459	//
14460	// For HTTP APIs, request parameters are a key-value map specifying parameters
14461	// that are passed to AWS_PROXY integrations with a specified integrationSubtype.
14462	// You can provide static values, or map request data, stage variables, or context
14463	// variables that are evaluated at runtime. To learn more, see Working with
14464	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
14465	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
14466
14467	// Represents a map of Velocity templates that are applied on the request payload
14468	// based on the value of the Content-Type header sent by the client. The content
14469	// type value is the key in this map, and the template (as a String) is the
14470	// value. Supported only for WebSocket APIs.
14471	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
14472
14473	// The template selection expression for the integration. Supported only for
14474	// WebSocket APIs.
14475	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
14476
14477	// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and
14478	// between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is
14479	// 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
14480	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
14481
14482	// The TLS configuration for a private integration. If you specify a TLS configuration,
14483	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
14484	// APIs.
14485	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
14486}
14487
14488// String returns the string representation
14489func (s Integration) String() string {
14490	return awsutil.Prettify(s)
14491}
14492
14493// GoString returns the string representation
14494func (s Integration) GoString() string {
14495	return s.String()
14496}
14497
14498// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
14499func (s *Integration) SetApiGatewayManaged(v bool) *Integration {
14500	s.ApiGatewayManaged = &v
14501	return s
14502}
14503
14504// SetConnectionId sets the ConnectionId field's value.
14505func (s *Integration) SetConnectionId(v string) *Integration {
14506	s.ConnectionId = &v
14507	return s
14508}
14509
14510// SetConnectionType sets the ConnectionType field's value.
14511func (s *Integration) SetConnectionType(v string) *Integration {
14512	s.ConnectionType = &v
14513	return s
14514}
14515
14516// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
14517func (s *Integration) SetContentHandlingStrategy(v string) *Integration {
14518	s.ContentHandlingStrategy = &v
14519	return s
14520}
14521
14522// SetCredentialsArn sets the CredentialsArn field's value.
14523func (s *Integration) SetCredentialsArn(v string) *Integration {
14524	s.CredentialsArn = &v
14525	return s
14526}
14527
14528// SetDescription sets the Description field's value.
14529func (s *Integration) SetDescription(v string) *Integration {
14530	s.Description = &v
14531	return s
14532}
14533
14534// SetIntegrationId sets the IntegrationId field's value.
14535func (s *Integration) SetIntegrationId(v string) *Integration {
14536	s.IntegrationId = &v
14537	return s
14538}
14539
14540// SetIntegrationMethod sets the IntegrationMethod field's value.
14541func (s *Integration) SetIntegrationMethod(v string) *Integration {
14542	s.IntegrationMethod = &v
14543	return s
14544}
14545
14546// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
14547func (s *Integration) SetIntegrationResponseSelectionExpression(v string) *Integration {
14548	s.IntegrationResponseSelectionExpression = &v
14549	return s
14550}
14551
14552// SetIntegrationSubtype sets the IntegrationSubtype field's value.
14553func (s *Integration) SetIntegrationSubtype(v string) *Integration {
14554	s.IntegrationSubtype = &v
14555	return s
14556}
14557
14558// SetIntegrationType sets the IntegrationType field's value.
14559func (s *Integration) SetIntegrationType(v string) *Integration {
14560	s.IntegrationType = &v
14561	return s
14562}
14563
14564// SetIntegrationUri sets the IntegrationUri field's value.
14565func (s *Integration) SetIntegrationUri(v string) *Integration {
14566	s.IntegrationUri = &v
14567	return s
14568}
14569
14570// SetPassthroughBehavior sets the PassthroughBehavior field's value.
14571func (s *Integration) SetPassthroughBehavior(v string) *Integration {
14572	s.PassthroughBehavior = &v
14573	return s
14574}
14575
14576// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
14577func (s *Integration) SetPayloadFormatVersion(v string) *Integration {
14578	s.PayloadFormatVersion = &v
14579	return s
14580}
14581
14582// SetRequestParameters sets the RequestParameters field's value.
14583func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
14584	s.RequestParameters = v
14585	return s
14586}
14587
14588// SetRequestTemplates sets the RequestTemplates field's value.
14589func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
14590	s.RequestTemplates = v
14591	return s
14592}
14593
14594// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
14595func (s *Integration) SetTemplateSelectionExpression(v string) *Integration {
14596	s.TemplateSelectionExpression = &v
14597	return s
14598}
14599
14600// SetTimeoutInMillis sets the TimeoutInMillis field's value.
14601func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
14602	s.TimeoutInMillis = &v
14603	return s
14604}
14605
14606// SetTlsConfig sets the TlsConfig field's value.
14607func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration {
14608	s.TlsConfig = v
14609	return s
14610}
14611
14612// Represents an integration response.
14613type IntegrationResponse struct {
14614	_ struct{} `type:"structure"`
14615
14616	// Supported only for WebSocket APIs. Specifies how to handle response payload
14617	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
14618	// with the following behaviors:
14619	//
14620	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
14621	// to the corresponding binary blob.
14622	//
14623	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
14624	// string.
14625	//
14626	// If this property is not defined, the response payload will be passed through
14627	// from the integration response to the route response or method response without
14628	// modification.
14629	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
14630
14631	// The integration response ID.
14632	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
14633
14634	// The integration response key.
14635	//
14636	// IntegrationResponseKey is a required field
14637	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
14638
14639	// A key-value map specifying response parameters that are passed to the method
14640	// response from the backend. The key is a method response header parameter
14641	// name and the mapped value is an integration response header value, a static
14642	// value enclosed within a pair of single quotes, or a JSON expression from
14643	// the integration response body. The mapping key must match the pattern of
14644	// method.response.header.{name}, where name is a valid and unique header name.
14645	// The mapped non-static value must match the pattern of integration.response.header.{name}
14646	// or integration.response.body.{JSON-expression}, where name is a valid and
14647	// unique response header name and JSON-expression is a valid JSON expression
14648	// without the $ prefix.
14649	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
14650
14651	// The collection of response templates for the integration response as a string-to-string
14652	// map of key-value pairs. Response templates are represented as a key/value
14653	// map, with a content-type as the key and a template as the value.
14654	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
14655
14656	// The template selection expressions for the integration response.
14657	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
14658}
14659
14660// String returns the string representation
14661func (s IntegrationResponse) String() string {
14662	return awsutil.Prettify(s)
14663}
14664
14665// GoString returns the string representation
14666func (s IntegrationResponse) GoString() string {
14667	return s.String()
14668}
14669
14670// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
14671func (s *IntegrationResponse) SetContentHandlingStrategy(v string) *IntegrationResponse {
14672	s.ContentHandlingStrategy = &v
14673	return s
14674}
14675
14676// SetIntegrationResponseId sets the IntegrationResponseId field's value.
14677func (s *IntegrationResponse) SetIntegrationResponseId(v string) *IntegrationResponse {
14678	s.IntegrationResponseId = &v
14679	return s
14680}
14681
14682// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
14683func (s *IntegrationResponse) SetIntegrationResponseKey(v string) *IntegrationResponse {
14684	s.IntegrationResponseKey = &v
14685	return s
14686}
14687
14688// SetResponseParameters sets the ResponseParameters field's value.
14689func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
14690	s.ResponseParameters = v
14691	return s
14692}
14693
14694// SetResponseTemplates sets the ResponseTemplates field's value.
14695func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
14696	s.ResponseTemplates = v
14697	return s
14698}
14699
14700// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
14701func (s *IntegrationResponse) SetTemplateSelectionExpression(v string) *IntegrationResponse {
14702	s.TemplateSelectionExpression = &v
14703	return s
14704}
14705
14706// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
14707// type. Supported only for HTTP APIs.
14708type JWTConfiguration struct {
14709	_ struct{} `type:"structure"`
14710
14711	// A list of the intended recipients of the JWT. A valid JWT must provide an
14712	// aud that matches at least one entry in this list. See RFC 7519 (https://tools.ietf.org/html/rfc7519#section-4.1.3).
14713	// Supported only for HTTP APIs.
14714	Audience []*string `locationName:"audience" type:"list"`
14715
14716	// The base domain of the identity provider that issues JSON Web Tokens. For
14717	// example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId}
14718	// . Required for the JWT authorizer type. Supported only for HTTP APIs.
14719	Issuer *string `locationName:"issuer" type:"string"`
14720}
14721
14722// String returns the string representation
14723func (s JWTConfiguration) String() string {
14724	return awsutil.Prettify(s)
14725}
14726
14727// GoString returns the string representation
14728func (s JWTConfiguration) GoString() string {
14729	return s.String()
14730}
14731
14732// SetAudience sets the Audience field's value.
14733func (s *JWTConfiguration) SetAudience(v []*string) *JWTConfiguration {
14734	s.Audience = v
14735	return s
14736}
14737
14738// SetIssuer sets the Issuer field's value.
14739func (s *JWTConfiguration) SetIssuer(v string) *JWTConfiguration {
14740	s.Issuer = &v
14741	return s
14742}
14743
14744// Represents a data model for an API. Supported only for WebSocket APIs. See
14745// Create Models and Mapping Templates for Request and Response Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html).
14746type Model struct {
14747	_ struct{} `type:"structure"`
14748
14749	// The content-type for the model, for example, "application/json".
14750	ContentType *string `locationName:"contentType" type:"string"`
14751
14752	// The description of the model.
14753	Description *string `locationName:"description" type:"string"`
14754
14755	// The model identifier.
14756	ModelId *string `locationName:"modelId" type:"string"`
14757
14758	// The name of the model. Must be alphanumeric.
14759	//
14760	// Name is a required field
14761	Name *string `locationName:"name" type:"string" required:"true"`
14762
14763	// The schema for the model. For application/json models, this should be JSON
14764	// schema draft 4 model.
14765	Schema *string `locationName:"schema" type:"string"`
14766}
14767
14768// String returns the string representation
14769func (s Model) String() string {
14770	return awsutil.Prettify(s)
14771}
14772
14773// GoString returns the string representation
14774func (s Model) GoString() string {
14775	return s.String()
14776}
14777
14778// SetContentType sets the ContentType field's value.
14779func (s *Model) SetContentType(v string) *Model {
14780	s.ContentType = &v
14781	return s
14782}
14783
14784// SetDescription sets the Description field's value.
14785func (s *Model) SetDescription(v string) *Model {
14786	s.Description = &v
14787	return s
14788}
14789
14790// SetModelId sets the ModelId field's value.
14791func (s *Model) SetModelId(v string) *Model {
14792	s.ModelId = &v
14793	return s
14794}
14795
14796// SetName sets the Name field's value.
14797func (s *Model) SetName(v string) *Model {
14798	s.Name = &v
14799	return s
14800}
14801
14802// SetSchema sets the Schema field's value.
14803func (s *Model) SetSchema(v string) *Model {
14804	s.Schema = &v
14805	return s
14806}
14807
14808// If specified, API Gateway performs two-way authentication between the client
14809// and the server. Clients must present a trusted certificate to access your
14810// API.
14811type MutualTlsAuthentication struct {
14812	_ struct{} `type:"structure"`
14813
14814	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
14815	// for example, s3://bucket-name/key-name. The truststore can contain certificates
14816	// from public or private certificate authorities. To update the truststore,
14817	// upload a new version to S3, and then update your custom domain name to use
14818	// the new version. To update the truststore, you must have permissions to access
14819	// the S3 object.
14820	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
14821
14822	// The version of the S3 object that contains your truststore. To specify a
14823	// version, you must have versioning enabled for the S3 bucket.
14824	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
14825
14826	// A list of warnings that API Gateway returns while processing your truststore.
14827	// Invalid certificates produce warnings. Mutual TLS is still enabled, but some
14828	// clients might not be able to access your API. To resolve warnings, upload
14829	// a new truststore to S3, and then update you domain name to use the new version.
14830	TruststoreWarnings []*string `locationName:"truststoreWarnings" type:"list"`
14831}
14832
14833// String returns the string representation
14834func (s MutualTlsAuthentication) String() string {
14835	return awsutil.Prettify(s)
14836}
14837
14838// GoString returns the string representation
14839func (s MutualTlsAuthentication) GoString() string {
14840	return s.String()
14841}
14842
14843// SetTruststoreUri sets the TruststoreUri field's value.
14844func (s *MutualTlsAuthentication) SetTruststoreUri(v string) *MutualTlsAuthentication {
14845	s.TruststoreUri = &v
14846	return s
14847}
14848
14849// SetTruststoreVersion sets the TruststoreVersion field's value.
14850func (s *MutualTlsAuthentication) SetTruststoreVersion(v string) *MutualTlsAuthentication {
14851	s.TruststoreVersion = &v
14852	return s
14853}
14854
14855// SetTruststoreWarnings sets the TruststoreWarnings field's value.
14856func (s *MutualTlsAuthentication) SetTruststoreWarnings(v []*string) *MutualTlsAuthentication {
14857	s.TruststoreWarnings = v
14858	return s
14859}
14860
14861// If specified, API Gateway performs two-way authentication between the client
14862// and the server. Clients must present a trusted certificate to access your
14863// API.
14864type MutualTlsAuthenticationInput struct {
14865	_ struct{} `type:"structure"`
14866
14867	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
14868	// for example, s3://bucket-name/key-name. The truststore can contain certificates
14869	// from public or private certificate authorities. To update the truststore,
14870	// upload a new version to S3, and then update your custom domain name to use
14871	// the new version. To update the truststore, you must have permissions to access
14872	// the S3 object.
14873	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
14874
14875	// The version of the S3 object that contains your truststore. To specify a
14876	// version, you must have versioning enabled for the S3 bucket.
14877	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
14878}
14879
14880// String returns the string representation
14881func (s MutualTlsAuthenticationInput) String() string {
14882	return awsutil.Prettify(s)
14883}
14884
14885// GoString returns the string representation
14886func (s MutualTlsAuthenticationInput) GoString() string {
14887	return s.String()
14888}
14889
14890// SetTruststoreUri sets the TruststoreUri field's value.
14891func (s *MutualTlsAuthenticationInput) SetTruststoreUri(v string) *MutualTlsAuthenticationInput {
14892	s.TruststoreUri = &v
14893	return s
14894}
14895
14896// SetTruststoreVersion sets the TruststoreVersion field's value.
14897func (s *MutualTlsAuthenticationInput) SetTruststoreVersion(v string) *MutualTlsAuthenticationInput {
14898	s.TruststoreVersion = &v
14899	return s
14900}
14901
14902// The resource specified in the request was not found. See the message field
14903// for more information.
14904type NotFoundException struct {
14905	_            struct{}                  `type:"structure"`
14906	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14907
14908	// Describes the error encountered.
14909	Message_ *string `locationName:"message" type:"string"`
14910
14911	// The resource type.
14912	ResourceType *string `locationName:"resourceType" type:"string"`
14913}
14914
14915// String returns the string representation
14916func (s NotFoundException) String() string {
14917	return awsutil.Prettify(s)
14918}
14919
14920// GoString returns the string representation
14921func (s NotFoundException) GoString() string {
14922	return s.String()
14923}
14924
14925func newErrorNotFoundException(v protocol.ResponseMetadata) error {
14926	return &NotFoundException{
14927		RespMetadata: v,
14928	}
14929}
14930
14931// Code returns the exception type name.
14932func (s *NotFoundException) Code() string {
14933	return "NotFoundException"
14934}
14935
14936// Message returns the exception's message.
14937func (s *NotFoundException) Message() string {
14938	if s.Message_ != nil {
14939		return *s.Message_
14940	}
14941	return ""
14942}
14943
14944// OrigErr always returns nil, satisfies awserr.Error interface.
14945func (s *NotFoundException) OrigErr() error {
14946	return nil
14947}
14948
14949func (s *NotFoundException) Error() string {
14950	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14951}
14952
14953// Status code returns the HTTP status code for the request's response error.
14954func (s *NotFoundException) StatusCode() int {
14955	return s.RespMetadata.StatusCode
14956}
14957
14958// RequestID returns the service's response RequestID for request.
14959func (s *NotFoundException) RequestID() string {
14960	return s.RespMetadata.RequestID
14961}
14962
14963// Validation constraints imposed on parameters of a request (path, query string,
14964// headers).
14965type ParameterConstraints struct {
14966	_ struct{} `type:"structure"`
14967
14968	// Whether or not the parameter is required.
14969	Required *bool `locationName:"required" type:"boolean"`
14970}
14971
14972// String returns the string representation
14973func (s ParameterConstraints) String() string {
14974	return awsutil.Prettify(s)
14975}
14976
14977// GoString returns the string representation
14978func (s ParameterConstraints) GoString() string {
14979	return s.String()
14980}
14981
14982// SetRequired sets the Required field's value.
14983func (s *ParameterConstraints) SetRequired(v bool) *ParameterConstraints {
14984	s.Required = &v
14985	return s
14986}
14987
14988type ReimportApiInput struct {
14989	_ struct{} `type:"structure"`
14990
14991	// ApiId is a required field
14992	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
14993
14994	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
14995
14996	// Body is a required field
14997	Body *string `locationName:"body" type:"string" required:"true"`
14998
14999	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
15000}
15001
15002// String returns the string representation
15003func (s ReimportApiInput) String() string {
15004	return awsutil.Prettify(s)
15005}
15006
15007// GoString returns the string representation
15008func (s ReimportApiInput) GoString() string {
15009	return s.String()
15010}
15011
15012// Validate inspects the fields of the type to determine if they are valid.
15013func (s *ReimportApiInput) Validate() error {
15014	invalidParams := request.ErrInvalidParams{Context: "ReimportApiInput"}
15015	if s.ApiId == nil {
15016		invalidParams.Add(request.NewErrParamRequired("ApiId"))
15017	}
15018	if s.ApiId != nil && len(*s.ApiId) < 1 {
15019		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
15020	}
15021	if s.Body == nil {
15022		invalidParams.Add(request.NewErrParamRequired("Body"))
15023	}
15024
15025	if invalidParams.Len() > 0 {
15026		return invalidParams
15027	}
15028	return nil
15029}
15030
15031// SetApiId sets the ApiId field's value.
15032func (s *ReimportApiInput) SetApiId(v string) *ReimportApiInput {
15033	s.ApiId = &v
15034	return s
15035}
15036
15037// SetBasepath sets the Basepath field's value.
15038func (s *ReimportApiInput) SetBasepath(v string) *ReimportApiInput {
15039	s.Basepath = &v
15040	return s
15041}
15042
15043// SetBody sets the Body field's value.
15044func (s *ReimportApiInput) SetBody(v string) *ReimportApiInput {
15045	s.Body = &v
15046	return s
15047}
15048
15049// SetFailOnWarnings sets the FailOnWarnings field's value.
15050func (s *ReimportApiInput) SetFailOnWarnings(v bool) *ReimportApiInput {
15051	s.FailOnWarnings = &v
15052	return s
15053}
15054
15055type ReimportApiOutput struct {
15056	_ struct{} `type:"structure"`
15057
15058	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
15059
15060	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15061
15062	// The identifier.
15063	ApiId *string `locationName:"apiId" type:"string"`
15064
15065	// An expression used to extract information at runtime. See Selection Expressions
15066	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15067	// for more information.
15068	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
15069
15070	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
15071	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
15072	// for more information.
15073	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
15074
15075	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
15076
15077	// A string with a length between [0-1024].
15078	Description *string `locationName:"description" type:"string"`
15079
15080	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
15081
15082	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
15083
15084	ImportInfo []*string `locationName:"importInfo" type:"list"`
15085
15086	// A string with a length between [1-128].
15087	Name *string `locationName:"name" type:"string"`
15088
15089	// Represents a protocol type.
15090	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
15091
15092	// An expression used to extract information at runtime. See Selection Expressions
15093	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15094	// for more information.
15095	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
15096
15097	// Represents a collection of tags associated with the resource.
15098	Tags map[string]*string `locationName:"tags" type:"map"`
15099
15100	// A string with a length between [1-64].
15101	Version *string `locationName:"version" type:"string"`
15102
15103	Warnings []*string `locationName:"warnings" type:"list"`
15104}
15105
15106// String returns the string representation
15107func (s ReimportApiOutput) String() string {
15108	return awsutil.Prettify(s)
15109}
15110
15111// GoString returns the string representation
15112func (s ReimportApiOutput) GoString() string {
15113	return s.String()
15114}
15115
15116// SetApiEndpoint sets the ApiEndpoint field's value.
15117func (s *ReimportApiOutput) SetApiEndpoint(v string) *ReimportApiOutput {
15118	s.ApiEndpoint = &v
15119	return s
15120}
15121
15122// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15123func (s *ReimportApiOutput) SetApiGatewayManaged(v bool) *ReimportApiOutput {
15124	s.ApiGatewayManaged = &v
15125	return s
15126}
15127
15128// SetApiId sets the ApiId field's value.
15129func (s *ReimportApiOutput) SetApiId(v string) *ReimportApiOutput {
15130	s.ApiId = &v
15131	return s
15132}
15133
15134// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
15135func (s *ReimportApiOutput) SetApiKeySelectionExpression(v string) *ReimportApiOutput {
15136	s.ApiKeySelectionExpression = &v
15137	return s
15138}
15139
15140// SetCorsConfiguration sets the CorsConfiguration field's value.
15141func (s *ReimportApiOutput) SetCorsConfiguration(v *Cors) *ReimportApiOutput {
15142	s.CorsConfiguration = v
15143	return s
15144}
15145
15146// SetCreatedDate sets the CreatedDate field's value.
15147func (s *ReimportApiOutput) SetCreatedDate(v time.Time) *ReimportApiOutput {
15148	s.CreatedDate = &v
15149	return s
15150}
15151
15152// SetDescription sets the Description field's value.
15153func (s *ReimportApiOutput) SetDescription(v string) *ReimportApiOutput {
15154	s.Description = &v
15155	return s
15156}
15157
15158// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
15159func (s *ReimportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ReimportApiOutput {
15160	s.DisableExecuteApiEndpoint = &v
15161	return s
15162}
15163
15164// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
15165func (s *ReimportApiOutput) SetDisableSchemaValidation(v bool) *ReimportApiOutput {
15166	s.DisableSchemaValidation = &v
15167	return s
15168}
15169
15170// SetImportInfo sets the ImportInfo field's value.
15171func (s *ReimportApiOutput) SetImportInfo(v []*string) *ReimportApiOutput {
15172	s.ImportInfo = v
15173	return s
15174}
15175
15176// SetName sets the Name field's value.
15177func (s *ReimportApiOutput) SetName(v string) *ReimportApiOutput {
15178	s.Name = &v
15179	return s
15180}
15181
15182// SetProtocolType sets the ProtocolType field's value.
15183func (s *ReimportApiOutput) SetProtocolType(v string) *ReimportApiOutput {
15184	s.ProtocolType = &v
15185	return s
15186}
15187
15188// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
15189func (s *ReimportApiOutput) SetRouteSelectionExpression(v string) *ReimportApiOutput {
15190	s.RouteSelectionExpression = &v
15191	return s
15192}
15193
15194// SetTags sets the Tags field's value.
15195func (s *ReimportApiOutput) SetTags(v map[string]*string) *ReimportApiOutput {
15196	s.Tags = v
15197	return s
15198}
15199
15200// SetVersion sets the Version field's value.
15201func (s *ReimportApiOutput) SetVersion(v string) *ReimportApiOutput {
15202	s.Version = &v
15203	return s
15204}
15205
15206// SetWarnings sets the Warnings field's value.
15207func (s *ReimportApiOutput) SetWarnings(v []*string) *ReimportApiOutput {
15208	s.Warnings = v
15209	return s
15210}
15211
15212type ResetAuthorizersCacheInput struct {
15213	_ struct{} `type:"structure"`
15214
15215	// ApiId is a required field
15216	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
15217
15218	// StageName is a required field
15219	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
15220}
15221
15222// String returns the string representation
15223func (s ResetAuthorizersCacheInput) String() string {
15224	return awsutil.Prettify(s)
15225}
15226
15227// GoString returns the string representation
15228func (s ResetAuthorizersCacheInput) GoString() string {
15229	return s.String()
15230}
15231
15232// Validate inspects the fields of the type to determine if they are valid.
15233func (s *ResetAuthorizersCacheInput) Validate() error {
15234	invalidParams := request.ErrInvalidParams{Context: "ResetAuthorizersCacheInput"}
15235	if s.ApiId == nil {
15236		invalidParams.Add(request.NewErrParamRequired("ApiId"))
15237	}
15238	if s.ApiId != nil && len(*s.ApiId) < 1 {
15239		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
15240	}
15241	if s.StageName == nil {
15242		invalidParams.Add(request.NewErrParamRequired("StageName"))
15243	}
15244	if s.StageName != nil && len(*s.StageName) < 1 {
15245		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15246	}
15247
15248	if invalidParams.Len() > 0 {
15249		return invalidParams
15250	}
15251	return nil
15252}
15253
15254// SetApiId sets the ApiId field's value.
15255func (s *ResetAuthorizersCacheInput) SetApiId(v string) *ResetAuthorizersCacheInput {
15256	s.ApiId = &v
15257	return s
15258}
15259
15260// SetStageName sets the StageName field's value.
15261func (s *ResetAuthorizersCacheInput) SetStageName(v string) *ResetAuthorizersCacheInput {
15262	s.StageName = &v
15263	return s
15264}
15265
15266type ResetAuthorizersCacheOutput struct {
15267	_ struct{} `type:"structure"`
15268}
15269
15270// String returns the string representation
15271func (s ResetAuthorizersCacheOutput) String() string {
15272	return awsutil.Prettify(s)
15273}
15274
15275// GoString returns the string representation
15276func (s ResetAuthorizersCacheOutput) GoString() string {
15277	return s.String()
15278}
15279
15280// Represents a route.
15281type Route struct {
15282	_ struct{} `type:"structure"`
15283
15284	// Specifies whether a route is managed by API Gateway. If you created an API
15285	// using quick create, the $default route is managed by API Gateway. You can't
15286	// modify the $default route key.
15287	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15288
15289	// Specifies whether an API key is required for this route. Supported only for
15290	// WebSocket APIs.
15291	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
15292
15293	// A list of authorization scopes configured on a route. The scopes are used
15294	// with a JWT authorizer to authorize the method invocation. The authorization
15295	// works by matching the route scopes against the scopes parsed from the access
15296	// token in the incoming request. The method invocation is authorized if any
15297	// route scope matches a claimed scope in the access token. Otherwise, the invocation
15298	// is not authorized. When the route scope is configured, the client must provide
15299	// an access token instead of an identity token for authorization purposes.
15300	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
15301
15302	// The authorization type for the route. For WebSocket APIs, valid values are
15303	// NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for
15304	// using a Lambda authorizer For HTTP APIs, valid values are NONE for open access,
15305	// JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and
15306	// CUSTOM for using a Lambda authorizer.
15307	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
15308
15309	// The identifier of the Authorizer resource to be associated with this route.
15310	// The authorizer identifier is generated by API Gateway when you created the
15311	// authorizer.
15312	AuthorizerId *string `locationName:"authorizerId" type:"string"`
15313
15314	// The model selection expression for the route. Supported only for WebSocket
15315	// APIs.
15316	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
15317
15318	// The operation name for the route.
15319	OperationName *string `locationName:"operationName" type:"string"`
15320
15321	// The request models for the route. Supported only for WebSocket APIs.
15322	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
15323
15324	// The request parameters for the route. Supported only for WebSocket APIs.
15325	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
15326
15327	// The route ID.
15328	RouteId *string `locationName:"routeId" type:"string"`
15329
15330	// The route key for the route.
15331	//
15332	// RouteKey is a required field
15333	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
15334
15335	// The route response selection expression for the route. Supported only for
15336	// WebSocket APIs.
15337	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
15338
15339	// The target for the route.
15340	Target *string `locationName:"target" type:"string"`
15341}
15342
15343// String returns the string representation
15344func (s Route) String() string {
15345	return awsutil.Prettify(s)
15346}
15347
15348// GoString returns the string representation
15349func (s Route) GoString() string {
15350	return s.String()
15351}
15352
15353// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15354func (s *Route) SetApiGatewayManaged(v bool) *Route {
15355	s.ApiGatewayManaged = &v
15356	return s
15357}
15358
15359// SetApiKeyRequired sets the ApiKeyRequired field's value.
15360func (s *Route) SetApiKeyRequired(v bool) *Route {
15361	s.ApiKeyRequired = &v
15362	return s
15363}
15364
15365// SetAuthorizationScopes sets the AuthorizationScopes field's value.
15366func (s *Route) SetAuthorizationScopes(v []*string) *Route {
15367	s.AuthorizationScopes = v
15368	return s
15369}
15370
15371// SetAuthorizationType sets the AuthorizationType field's value.
15372func (s *Route) SetAuthorizationType(v string) *Route {
15373	s.AuthorizationType = &v
15374	return s
15375}
15376
15377// SetAuthorizerId sets the AuthorizerId field's value.
15378func (s *Route) SetAuthorizerId(v string) *Route {
15379	s.AuthorizerId = &v
15380	return s
15381}
15382
15383// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
15384func (s *Route) SetModelSelectionExpression(v string) *Route {
15385	s.ModelSelectionExpression = &v
15386	return s
15387}
15388
15389// SetOperationName sets the OperationName field's value.
15390func (s *Route) SetOperationName(v string) *Route {
15391	s.OperationName = &v
15392	return s
15393}
15394
15395// SetRequestModels sets the RequestModels field's value.
15396func (s *Route) SetRequestModels(v map[string]*string) *Route {
15397	s.RequestModels = v
15398	return s
15399}
15400
15401// SetRequestParameters sets the RequestParameters field's value.
15402func (s *Route) SetRequestParameters(v map[string]*ParameterConstraints) *Route {
15403	s.RequestParameters = v
15404	return s
15405}
15406
15407// SetRouteId sets the RouteId field's value.
15408func (s *Route) SetRouteId(v string) *Route {
15409	s.RouteId = &v
15410	return s
15411}
15412
15413// SetRouteKey sets the RouteKey field's value.
15414func (s *Route) SetRouteKey(v string) *Route {
15415	s.RouteKey = &v
15416	return s
15417}
15418
15419// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
15420func (s *Route) SetRouteResponseSelectionExpression(v string) *Route {
15421	s.RouteResponseSelectionExpression = &v
15422	return s
15423}
15424
15425// SetTarget sets the Target field's value.
15426func (s *Route) SetTarget(v string) *Route {
15427	s.Target = &v
15428	return s
15429}
15430
15431// Represents a route response.
15432type RouteResponse struct {
15433	_ struct{} `type:"structure"`
15434
15435	// Represents the model selection expression of a route response. Supported
15436	// only for WebSocket APIs.
15437	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
15438
15439	// Represents the response models of a route response.
15440	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
15441
15442	// Represents the response parameters of a route response.
15443	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
15444
15445	// Represents the identifier of a route response.
15446	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
15447
15448	// Represents the route response key of a route response.
15449	//
15450	// RouteResponseKey is a required field
15451	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
15452}
15453
15454// String returns the string representation
15455func (s RouteResponse) String() string {
15456	return awsutil.Prettify(s)
15457}
15458
15459// GoString returns the string representation
15460func (s RouteResponse) GoString() string {
15461	return s.String()
15462}
15463
15464// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
15465func (s *RouteResponse) SetModelSelectionExpression(v string) *RouteResponse {
15466	s.ModelSelectionExpression = &v
15467	return s
15468}
15469
15470// SetResponseModels sets the ResponseModels field's value.
15471func (s *RouteResponse) SetResponseModels(v map[string]*string) *RouteResponse {
15472	s.ResponseModels = v
15473	return s
15474}
15475
15476// SetResponseParameters sets the ResponseParameters field's value.
15477func (s *RouteResponse) SetResponseParameters(v map[string]*ParameterConstraints) *RouteResponse {
15478	s.ResponseParameters = v
15479	return s
15480}
15481
15482// SetRouteResponseId sets the RouteResponseId field's value.
15483func (s *RouteResponse) SetRouteResponseId(v string) *RouteResponse {
15484	s.RouteResponseId = &v
15485	return s
15486}
15487
15488// SetRouteResponseKey sets the RouteResponseKey field's value.
15489func (s *RouteResponse) SetRouteResponseKey(v string) *RouteResponse {
15490	s.RouteResponseKey = &v
15491	return s
15492}
15493
15494// Represents a collection of route settings.
15495type RouteSettings struct {
15496	_ struct{} `type:"structure"`
15497
15498	// Specifies whether (true) or not (false) data trace logging is enabled for
15499	// this route. This property affects the log entries pushed to Amazon CloudWatch
15500	// Logs. Supported only for WebSocket APIs.
15501	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
15502
15503	// Specifies whether detailed metrics are enabled.
15504	DetailedMetricsEnabled *bool `locationName:"detailedMetricsEnabled" type:"boolean"`
15505
15506	// Specifies the logging level for this route: INFO, ERROR, or OFF. This property
15507	// affects the log entries pushed to Amazon CloudWatch Logs. Supported only
15508	// for WebSocket APIs.
15509	LoggingLevel *string `locationName:"loggingLevel" type:"string" enum:"LoggingLevel"`
15510
15511	// Specifies the throttling burst limit.
15512	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
15513
15514	// Specifies the throttling rate limit.
15515	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
15516}
15517
15518// String returns the string representation
15519func (s RouteSettings) String() string {
15520	return awsutil.Prettify(s)
15521}
15522
15523// GoString returns the string representation
15524func (s RouteSettings) GoString() string {
15525	return s.String()
15526}
15527
15528// SetDataTraceEnabled sets the DataTraceEnabled field's value.
15529func (s *RouteSettings) SetDataTraceEnabled(v bool) *RouteSettings {
15530	s.DataTraceEnabled = &v
15531	return s
15532}
15533
15534// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
15535func (s *RouteSettings) SetDetailedMetricsEnabled(v bool) *RouteSettings {
15536	s.DetailedMetricsEnabled = &v
15537	return s
15538}
15539
15540// SetLoggingLevel sets the LoggingLevel field's value.
15541func (s *RouteSettings) SetLoggingLevel(v string) *RouteSettings {
15542	s.LoggingLevel = &v
15543	return s
15544}
15545
15546// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
15547func (s *RouteSettings) SetThrottlingBurstLimit(v int64) *RouteSettings {
15548	s.ThrottlingBurstLimit = &v
15549	return s
15550}
15551
15552// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
15553func (s *RouteSettings) SetThrottlingRateLimit(v float64) *RouteSettings {
15554	s.ThrottlingRateLimit = &v
15555	return s
15556}
15557
15558// Represents an API stage.
15559type Stage struct {
15560	_ struct{} `type:"structure"`
15561
15562	// Settings for logging access in this stage.
15563	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
15564
15565	// Specifies whether a stage is managed by API Gateway. If you created an API
15566	// using quick create, the $default stage is managed by API Gateway. You can't
15567	// modify the $default stage.
15568	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
15569
15570	// Specifies whether updates to an API automatically trigger a new deployment.
15571	// The default value is false.
15572	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
15573
15574	// The identifier of a client certificate for a Stage. Supported only for WebSocket
15575	// APIs.
15576	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
15577
15578	// The timestamp when the stage was created.
15579	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
15580
15581	// Default route settings for the stage.
15582	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
15583
15584	// The identifier of the Deployment that the Stage is associated with. Can't
15585	// be updated if autoDeploy is enabled.
15586	DeploymentId *string `locationName:"deploymentId" type:"string"`
15587
15588	// The description of the stage.
15589	Description *string `locationName:"description" type:"string"`
15590
15591	// Describes the status of the last deployment of a stage. Supported only for
15592	// stages with autoDeploy enabled.
15593	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
15594
15595	// The timestamp when the stage was last updated.
15596	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
15597
15598	// Route settings for the stage, by routeKey.
15599	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
15600
15601	// The name of the stage.
15602	//
15603	// StageName is a required field
15604	StageName *string `locationName:"stageName" type:"string" required:"true"`
15605
15606	// A map that defines the stage variables for a stage resource. Variable names
15607	// can have alphanumeric and underscore characters, and the values must match
15608	// [A-Za-z0-9-._~:/?#&=,]+.
15609	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
15610
15611	// The collection of tags. Each tag element is associated with a given resource.
15612	Tags map[string]*string `locationName:"tags" type:"map"`
15613}
15614
15615// String returns the string representation
15616func (s Stage) String() string {
15617	return awsutil.Prettify(s)
15618}
15619
15620// GoString returns the string representation
15621func (s Stage) GoString() string {
15622	return s.String()
15623}
15624
15625// SetAccessLogSettings sets the AccessLogSettings field's value.
15626func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
15627	s.AccessLogSettings = v
15628	return s
15629}
15630
15631// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
15632func (s *Stage) SetApiGatewayManaged(v bool) *Stage {
15633	s.ApiGatewayManaged = &v
15634	return s
15635}
15636
15637// SetAutoDeploy sets the AutoDeploy field's value.
15638func (s *Stage) SetAutoDeploy(v bool) *Stage {
15639	s.AutoDeploy = &v
15640	return s
15641}
15642
15643// SetClientCertificateId sets the ClientCertificateId field's value.
15644func (s *Stage) SetClientCertificateId(v string) *Stage {
15645	s.ClientCertificateId = &v
15646	return s
15647}
15648
15649// SetCreatedDate sets the CreatedDate field's value.
15650func (s *Stage) SetCreatedDate(v time.Time) *Stage {
15651	s.CreatedDate = &v
15652	return s
15653}
15654
15655// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
15656func (s *Stage) SetDefaultRouteSettings(v *RouteSettings) *Stage {
15657	s.DefaultRouteSettings = v
15658	return s
15659}
15660
15661// SetDeploymentId sets the DeploymentId field's value.
15662func (s *Stage) SetDeploymentId(v string) *Stage {
15663	s.DeploymentId = &v
15664	return s
15665}
15666
15667// SetDescription sets the Description field's value.
15668func (s *Stage) SetDescription(v string) *Stage {
15669	s.Description = &v
15670	return s
15671}
15672
15673// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
15674func (s *Stage) SetLastDeploymentStatusMessage(v string) *Stage {
15675	s.LastDeploymentStatusMessage = &v
15676	return s
15677}
15678
15679// SetLastUpdatedDate sets the LastUpdatedDate field's value.
15680func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
15681	s.LastUpdatedDate = &v
15682	return s
15683}
15684
15685// SetRouteSettings sets the RouteSettings field's value.
15686func (s *Stage) SetRouteSettings(v map[string]*RouteSettings) *Stage {
15687	s.RouteSettings = v
15688	return s
15689}
15690
15691// SetStageName sets the StageName field's value.
15692func (s *Stage) SetStageName(v string) *Stage {
15693	s.StageName = &v
15694	return s
15695}
15696
15697// SetStageVariables sets the StageVariables field's value.
15698func (s *Stage) SetStageVariables(v map[string]*string) *Stage {
15699	s.StageVariables = v
15700	return s
15701}
15702
15703// SetTags sets the Tags field's value.
15704func (s *Stage) SetTags(v map[string]*string) *Stage {
15705	s.Tags = v
15706	return s
15707}
15708
15709type TagResourceInput struct {
15710	_ struct{} `type:"structure"`
15711
15712	// ResourceArn is a required field
15713	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
15714
15715	// Represents a collection of tags associated with the resource.
15716	Tags map[string]*string `locationName:"tags" type:"map"`
15717}
15718
15719// String returns the string representation
15720func (s TagResourceInput) String() string {
15721	return awsutil.Prettify(s)
15722}
15723
15724// GoString returns the string representation
15725func (s TagResourceInput) GoString() string {
15726	return s.String()
15727}
15728
15729// Validate inspects the fields of the type to determine if they are valid.
15730func (s *TagResourceInput) Validate() error {
15731	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
15732	if s.ResourceArn == nil {
15733		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15734	}
15735	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15736		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15737	}
15738
15739	if invalidParams.Len() > 0 {
15740		return invalidParams
15741	}
15742	return nil
15743}
15744
15745// SetResourceArn sets the ResourceArn field's value.
15746func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
15747	s.ResourceArn = &v
15748	return s
15749}
15750
15751// SetTags sets the Tags field's value.
15752func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
15753	s.Tags = v
15754	return s
15755}
15756
15757type TagResourceOutput struct {
15758	_ struct{} `type:"structure"`
15759}
15760
15761// String returns the string representation
15762func (s TagResourceOutput) String() string {
15763	return awsutil.Prettify(s)
15764}
15765
15766// GoString returns the string representation
15767func (s TagResourceOutput) GoString() string {
15768	return s.String()
15769}
15770
15771// The TLS configuration for a private integration. If you specify a TLS configuration,
15772// private integration traffic uses the HTTPS protocol. Supported only for HTTP
15773// APIs.
15774type TlsConfig struct {
15775	_ struct{} `type:"structure"`
15776
15777	// If you specify a server name, API Gateway uses it to verify the hostname
15778	// on the integration's certificate. The server name is also included in the
15779	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
15780	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
15781}
15782
15783// String returns the string representation
15784func (s TlsConfig) String() string {
15785	return awsutil.Prettify(s)
15786}
15787
15788// GoString returns the string representation
15789func (s TlsConfig) GoString() string {
15790	return s.String()
15791}
15792
15793// SetServerNameToVerify sets the ServerNameToVerify field's value.
15794func (s *TlsConfig) SetServerNameToVerify(v string) *TlsConfig {
15795	s.ServerNameToVerify = &v
15796	return s
15797}
15798
15799// The TLS configuration for a private integration. If you specify a TLS configuration,
15800// private integration traffic uses the HTTPS protocol. Supported only for HTTP
15801// APIs.
15802type TlsConfigInput struct {
15803	_ struct{} `type:"structure"`
15804
15805	// If you specify a server name, API Gateway uses it to verify the hostname
15806	// on the integration's certificate. The server name is also included in the
15807	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
15808	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
15809}
15810
15811// String returns the string representation
15812func (s TlsConfigInput) String() string {
15813	return awsutil.Prettify(s)
15814}
15815
15816// GoString returns the string representation
15817func (s TlsConfigInput) GoString() string {
15818	return s.String()
15819}
15820
15821// SetServerNameToVerify sets the ServerNameToVerify field's value.
15822func (s *TlsConfigInput) SetServerNameToVerify(v string) *TlsConfigInput {
15823	s.ServerNameToVerify = &v
15824	return s
15825}
15826
15827// A limit has been exceeded. See the accompanying error message for details.
15828type TooManyRequestsException struct {
15829	_            struct{}                  `type:"structure"`
15830	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15831
15832	LimitType *string `locationName:"limitType" type:"string"`
15833
15834	Message_ *string `locationName:"message" type:"string"`
15835}
15836
15837// String returns the string representation
15838func (s TooManyRequestsException) String() string {
15839	return awsutil.Prettify(s)
15840}
15841
15842// GoString returns the string representation
15843func (s TooManyRequestsException) GoString() string {
15844	return s.String()
15845}
15846
15847func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
15848	return &TooManyRequestsException{
15849		RespMetadata: v,
15850	}
15851}
15852
15853// Code returns the exception type name.
15854func (s *TooManyRequestsException) Code() string {
15855	return "TooManyRequestsException"
15856}
15857
15858// Message returns the exception's message.
15859func (s *TooManyRequestsException) Message() string {
15860	if s.Message_ != nil {
15861		return *s.Message_
15862	}
15863	return ""
15864}
15865
15866// OrigErr always returns nil, satisfies awserr.Error interface.
15867func (s *TooManyRequestsException) OrigErr() error {
15868	return nil
15869}
15870
15871func (s *TooManyRequestsException) Error() string {
15872	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15873}
15874
15875// Status code returns the HTTP status code for the request's response error.
15876func (s *TooManyRequestsException) StatusCode() int {
15877	return s.RespMetadata.StatusCode
15878}
15879
15880// RequestID returns the service's response RequestID for request.
15881func (s *TooManyRequestsException) RequestID() string {
15882	return s.RespMetadata.RequestID
15883}
15884
15885type UntagResourceInput struct {
15886	_ struct{} `type:"structure"`
15887
15888	// ResourceArn is a required field
15889	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
15890
15891	// TagKeys is a required field
15892	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
15893}
15894
15895// String returns the string representation
15896func (s UntagResourceInput) String() string {
15897	return awsutil.Prettify(s)
15898}
15899
15900// GoString returns the string representation
15901func (s UntagResourceInput) GoString() string {
15902	return s.String()
15903}
15904
15905// Validate inspects the fields of the type to determine if they are valid.
15906func (s *UntagResourceInput) Validate() error {
15907	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15908	if s.ResourceArn == nil {
15909		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15910	}
15911	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15912		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15913	}
15914	if s.TagKeys == nil {
15915		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15916	}
15917
15918	if invalidParams.Len() > 0 {
15919		return invalidParams
15920	}
15921	return nil
15922}
15923
15924// SetResourceArn sets the ResourceArn field's value.
15925func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
15926	s.ResourceArn = &v
15927	return s
15928}
15929
15930// SetTagKeys sets the TagKeys field's value.
15931func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15932	s.TagKeys = v
15933	return s
15934}
15935
15936type UntagResourceOutput struct {
15937	_ struct{} `type:"structure"`
15938}
15939
15940// String returns the string representation
15941func (s UntagResourceOutput) String() string {
15942	return awsutil.Prettify(s)
15943}
15944
15945// GoString returns the string representation
15946func (s UntagResourceOutput) GoString() string {
15947	return s.String()
15948}
15949
15950type UpdateApiInput struct {
15951	_ struct{} `type:"structure"`
15952
15953	// ApiId is a required field
15954	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
15955
15956	// An expression used to extract information at runtime. See Selection Expressions
15957	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15958	// for more information.
15959	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
15960
15961	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
15962	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
15963	// for more information.
15964	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
15965
15966	// Represents an Amazon Resource Name (ARN).
15967	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
15968
15969	// A string with a length between [0-1024].
15970	Description *string `locationName:"description" type:"string"`
15971
15972	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
15973
15974	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
15975
15976	// A string with a length between [1-128].
15977	Name *string `locationName:"name" type:"string"`
15978
15979	// After evaluating a selection expression, the result is compared against one
15980	// or more selection keys to find a matching key. See Selection Expressions
15981	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15982	// for a list of expressions and each expression's associated selection key
15983	// type.
15984	RouteKey *string `locationName:"routeKey" type:"string"`
15985
15986	// An expression used to extract information at runtime. See Selection Expressions
15987	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
15988	// for more information.
15989	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
15990
15991	// A string representation of a URI with a length between [1-2048].
15992	Target *string `locationName:"target" type:"string"`
15993
15994	// A string with a length between [1-64].
15995	Version *string `locationName:"version" type:"string"`
15996}
15997
15998// String returns the string representation
15999func (s UpdateApiInput) String() string {
16000	return awsutil.Prettify(s)
16001}
16002
16003// GoString returns the string representation
16004func (s UpdateApiInput) GoString() string {
16005	return s.String()
16006}
16007
16008// Validate inspects the fields of the type to determine if they are valid.
16009func (s *UpdateApiInput) Validate() error {
16010	invalidParams := request.ErrInvalidParams{Context: "UpdateApiInput"}
16011	if s.ApiId == nil {
16012		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16013	}
16014	if s.ApiId != nil && len(*s.ApiId) < 1 {
16015		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16016	}
16017	if s.CorsConfiguration != nil {
16018		if err := s.CorsConfiguration.Validate(); err != nil {
16019			invalidParams.AddNested("CorsConfiguration", err.(request.ErrInvalidParams))
16020		}
16021	}
16022
16023	if invalidParams.Len() > 0 {
16024		return invalidParams
16025	}
16026	return nil
16027}
16028
16029// SetApiId sets the ApiId field's value.
16030func (s *UpdateApiInput) SetApiId(v string) *UpdateApiInput {
16031	s.ApiId = &v
16032	return s
16033}
16034
16035// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
16036func (s *UpdateApiInput) SetApiKeySelectionExpression(v string) *UpdateApiInput {
16037	s.ApiKeySelectionExpression = &v
16038	return s
16039}
16040
16041// SetCorsConfiguration sets the CorsConfiguration field's value.
16042func (s *UpdateApiInput) SetCorsConfiguration(v *Cors) *UpdateApiInput {
16043	s.CorsConfiguration = v
16044	return s
16045}
16046
16047// SetCredentialsArn sets the CredentialsArn field's value.
16048func (s *UpdateApiInput) SetCredentialsArn(v string) *UpdateApiInput {
16049	s.CredentialsArn = &v
16050	return s
16051}
16052
16053// SetDescription sets the Description field's value.
16054func (s *UpdateApiInput) SetDescription(v string) *UpdateApiInput {
16055	s.Description = &v
16056	return s
16057}
16058
16059// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
16060func (s *UpdateApiInput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiInput {
16061	s.DisableExecuteApiEndpoint = &v
16062	return s
16063}
16064
16065// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
16066func (s *UpdateApiInput) SetDisableSchemaValidation(v bool) *UpdateApiInput {
16067	s.DisableSchemaValidation = &v
16068	return s
16069}
16070
16071// SetName sets the Name field's value.
16072func (s *UpdateApiInput) SetName(v string) *UpdateApiInput {
16073	s.Name = &v
16074	return s
16075}
16076
16077// SetRouteKey sets the RouteKey field's value.
16078func (s *UpdateApiInput) SetRouteKey(v string) *UpdateApiInput {
16079	s.RouteKey = &v
16080	return s
16081}
16082
16083// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
16084func (s *UpdateApiInput) SetRouteSelectionExpression(v string) *UpdateApiInput {
16085	s.RouteSelectionExpression = &v
16086	return s
16087}
16088
16089// SetTarget sets the Target field's value.
16090func (s *UpdateApiInput) SetTarget(v string) *UpdateApiInput {
16091	s.Target = &v
16092	return s
16093}
16094
16095// SetVersion sets the Version field's value.
16096func (s *UpdateApiInput) SetVersion(v string) *UpdateApiInput {
16097	s.Version = &v
16098	return s
16099}
16100
16101type UpdateApiMappingInput struct {
16102	_ struct{} `type:"structure"`
16103
16104	// The identifier.
16105	//
16106	// ApiId is a required field
16107	ApiId *string `locationName:"apiId" type:"string" required:"true"`
16108
16109	// ApiMappingId is a required field
16110	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
16111
16112	// After evaluating a selection expression, the result is compared against one
16113	// or more selection keys to find a matching key. See Selection Expressions
16114	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16115	// for a list of expressions and each expression's associated selection key
16116	// type.
16117	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
16118
16119	// DomainName is a required field
16120	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
16121
16122	// A string with a length between [1-128].
16123	Stage *string `locationName:"stage" type:"string"`
16124}
16125
16126// String returns the string representation
16127func (s UpdateApiMappingInput) String() string {
16128	return awsutil.Prettify(s)
16129}
16130
16131// GoString returns the string representation
16132func (s UpdateApiMappingInput) GoString() string {
16133	return s.String()
16134}
16135
16136// Validate inspects the fields of the type to determine if they are valid.
16137func (s *UpdateApiMappingInput) Validate() error {
16138	invalidParams := request.ErrInvalidParams{Context: "UpdateApiMappingInput"}
16139	if s.ApiId == nil {
16140		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16141	}
16142	if s.ApiMappingId == nil {
16143		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
16144	}
16145	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
16146		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
16147	}
16148	if s.DomainName == nil {
16149		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16150	}
16151	if s.DomainName != nil && len(*s.DomainName) < 1 {
16152		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16153	}
16154
16155	if invalidParams.Len() > 0 {
16156		return invalidParams
16157	}
16158	return nil
16159}
16160
16161// SetApiId sets the ApiId field's value.
16162func (s *UpdateApiMappingInput) SetApiId(v string) *UpdateApiMappingInput {
16163	s.ApiId = &v
16164	return s
16165}
16166
16167// SetApiMappingId sets the ApiMappingId field's value.
16168func (s *UpdateApiMappingInput) SetApiMappingId(v string) *UpdateApiMappingInput {
16169	s.ApiMappingId = &v
16170	return s
16171}
16172
16173// SetApiMappingKey sets the ApiMappingKey field's value.
16174func (s *UpdateApiMappingInput) SetApiMappingKey(v string) *UpdateApiMappingInput {
16175	s.ApiMappingKey = &v
16176	return s
16177}
16178
16179// SetDomainName sets the DomainName field's value.
16180func (s *UpdateApiMappingInput) SetDomainName(v string) *UpdateApiMappingInput {
16181	s.DomainName = &v
16182	return s
16183}
16184
16185// SetStage sets the Stage field's value.
16186func (s *UpdateApiMappingInput) SetStage(v string) *UpdateApiMappingInput {
16187	s.Stage = &v
16188	return s
16189}
16190
16191type UpdateApiMappingOutput struct {
16192	_ struct{} `type:"structure"`
16193
16194	// The identifier.
16195	ApiId *string `locationName:"apiId" type:"string"`
16196
16197	// The identifier.
16198	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
16199
16200	// After evaluating a selection expression, the result is compared against one
16201	// or more selection keys to find a matching key. See Selection Expressions
16202	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16203	// for a list of expressions and each expression's associated selection key
16204	// type.
16205	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
16206
16207	// A string with a length between [1-128].
16208	Stage *string `locationName:"stage" type:"string"`
16209}
16210
16211// String returns the string representation
16212func (s UpdateApiMappingOutput) String() string {
16213	return awsutil.Prettify(s)
16214}
16215
16216// GoString returns the string representation
16217func (s UpdateApiMappingOutput) GoString() string {
16218	return s.String()
16219}
16220
16221// SetApiId sets the ApiId field's value.
16222func (s *UpdateApiMappingOutput) SetApiId(v string) *UpdateApiMappingOutput {
16223	s.ApiId = &v
16224	return s
16225}
16226
16227// SetApiMappingId sets the ApiMappingId field's value.
16228func (s *UpdateApiMappingOutput) SetApiMappingId(v string) *UpdateApiMappingOutput {
16229	s.ApiMappingId = &v
16230	return s
16231}
16232
16233// SetApiMappingKey sets the ApiMappingKey field's value.
16234func (s *UpdateApiMappingOutput) SetApiMappingKey(v string) *UpdateApiMappingOutput {
16235	s.ApiMappingKey = &v
16236	return s
16237}
16238
16239// SetStage sets the Stage field's value.
16240func (s *UpdateApiMappingOutput) SetStage(v string) *UpdateApiMappingOutput {
16241	s.Stage = &v
16242	return s
16243}
16244
16245type UpdateApiOutput struct {
16246	_ struct{} `type:"structure"`
16247
16248	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
16249
16250	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
16251
16252	// The identifier.
16253	ApiId *string `locationName:"apiId" type:"string"`
16254
16255	// An expression used to extract information at runtime. See Selection Expressions
16256	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16257	// for more information.
16258	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
16259
16260	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
16261	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
16262	// for more information.
16263	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
16264
16265	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
16266
16267	// A string with a length between [0-1024].
16268	Description *string `locationName:"description" type:"string"`
16269
16270	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
16271
16272	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
16273
16274	ImportInfo []*string `locationName:"importInfo" type:"list"`
16275
16276	// A string with a length between [1-128].
16277	Name *string `locationName:"name" type:"string"`
16278
16279	// Represents a protocol type.
16280	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
16281
16282	// An expression used to extract information at runtime. See Selection Expressions
16283	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16284	// for more information.
16285	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
16286
16287	// Represents a collection of tags associated with the resource.
16288	Tags map[string]*string `locationName:"tags" type:"map"`
16289
16290	// A string with a length between [1-64].
16291	Version *string `locationName:"version" type:"string"`
16292
16293	Warnings []*string `locationName:"warnings" type:"list"`
16294}
16295
16296// String returns the string representation
16297func (s UpdateApiOutput) String() string {
16298	return awsutil.Prettify(s)
16299}
16300
16301// GoString returns the string representation
16302func (s UpdateApiOutput) GoString() string {
16303	return s.String()
16304}
16305
16306// SetApiEndpoint sets the ApiEndpoint field's value.
16307func (s *UpdateApiOutput) SetApiEndpoint(v string) *UpdateApiOutput {
16308	s.ApiEndpoint = &v
16309	return s
16310}
16311
16312// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
16313func (s *UpdateApiOutput) SetApiGatewayManaged(v bool) *UpdateApiOutput {
16314	s.ApiGatewayManaged = &v
16315	return s
16316}
16317
16318// SetApiId sets the ApiId field's value.
16319func (s *UpdateApiOutput) SetApiId(v string) *UpdateApiOutput {
16320	s.ApiId = &v
16321	return s
16322}
16323
16324// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
16325func (s *UpdateApiOutput) SetApiKeySelectionExpression(v string) *UpdateApiOutput {
16326	s.ApiKeySelectionExpression = &v
16327	return s
16328}
16329
16330// SetCorsConfiguration sets the CorsConfiguration field's value.
16331func (s *UpdateApiOutput) SetCorsConfiguration(v *Cors) *UpdateApiOutput {
16332	s.CorsConfiguration = v
16333	return s
16334}
16335
16336// SetCreatedDate sets the CreatedDate field's value.
16337func (s *UpdateApiOutput) SetCreatedDate(v time.Time) *UpdateApiOutput {
16338	s.CreatedDate = &v
16339	return s
16340}
16341
16342// SetDescription sets the Description field's value.
16343func (s *UpdateApiOutput) SetDescription(v string) *UpdateApiOutput {
16344	s.Description = &v
16345	return s
16346}
16347
16348// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
16349func (s *UpdateApiOutput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiOutput {
16350	s.DisableExecuteApiEndpoint = &v
16351	return s
16352}
16353
16354// SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
16355func (s *UpdateApiOutput) SetDisableSchemaValidation(v bool) *UpdateApiOutput {
16356	s.DisableSchemaValidation = &v
16357	return s
16358}
16359
16360// SetImportInfo sets the ImportInfo field's value.
16361func (s *UpdateApiOutput) SetImportInfo(v []*string) *UpdateApiOutput {
16362	s.ImportInfo = v
16363	return s
16364}
16365
16366// SetName sets the Name field's value.
16367func (s *UpdateApiOutput) SetName(v string) *UpdateApiOutput {
16368	s.Name = &v
16369	return s
16370}
16371
16372// SetProtocolType sets the ProtocolType field's value.
16373func (s *UpdateApiOutput) SetProtocolType(v string) *UpdateApiOutput {
16374	s.ProtocolType = &v
16375	return s
16376}
16377
16378// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
16379func (s *UpdateApiOutput) SetRouteSelectionExpression(v string) *UpdateApiOutput {
16380	s.RouteSelectionExpression = &v
16381	return s
16382}
16383
16384// SetTags sets the Tags field's value.
16385func (s *UpdateApiOutput) SetTags(v map[string]*string) *UpdateApiOutput {
16386	s.Tags = v
16387	return s
16388}
16389
16390// SetVersion sets the Version field's value.
16391func (s *UpdateApiOutput) SetVersion(v string) *UpdateApiOutput {
16392	s.Version = &v
16393	return s
16394}
16395
16396// SetWarnings sets the Warnings field's value.
16397func (s *UpdateApiOutput) SetWarnings(v []*string) *UpdateApiOutput {
16398	s.Warnings = v
16399	return s
16400}
16401
16402type UpdateAuthorizerInput struct {
16403	_ struct{} `type:"structure"`
16404
16405	// ApiId is a required field
16406	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16407
16408	// Represents an Amazon Resource Name (ARN).
16409	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
16410
16411	// AuthorizerId is a required field
16412	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
16413
16414	// A string with a length between [1-64].
16415	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
16416
16417	// An integer with a value between [0-3600].
16418	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
16419
16420	// The authorizer type. Specify REQUEST for a Lambda function using incoming
16421	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
16422	// HTTP APIs).
16423	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
16424
16425	// A string representation of a URI with a length between [1-2048].
16426	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
16427
16428	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
16429
16430	// The identity source for which authorization is requested. For the REQUEST
16431	// authorizer, this is required when authorization caching is enabled. The value
16432	// is a comma-separated string of one or more mapping expressions of the specified
16433	// request parameters. For example, if an Auth header, a Name query string parameter
16434	// are defined as identity sources, this value is $method.request.header.Auth,
16435	// $method.request.querystring.Name. These parameters will be used to derive
16436	// the authorization caching key and to perform runtime validation of the REQUEST
16437	// authorizer by verifying all of the identity-related request parameters are
16438	// present, not null and non-empty. Only when this is true does the authorizer
16439	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
16440	// response without calling the Lambda function. The valid value is a string
16441	// of comma-separated mapping expressions of the specified request parameters.
16442	// When the authorization caching is not enabled, this property is optional.
16443	IdentitySource []*string `locationName:"identitySource" type:"list"`
16444
16445	// A string with a length between [0-1024].
16446	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
16447
16448	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
16449	// type. Supported only for HTTP APIs.
16450	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
16451
16452	// A string with a length between [1-128].
16453	Name *string `locationName:"name" type:"string"`
16454}
16455
16456// String returns the string representation
16457func (s UpdateAuthorizerInput) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s UpdateAuthorizerInput) GoString() string {
16463	return s.String()
16464}
16465
16466// Validate inspects the fields of the type to determine if they are valid.
16467func (s *UpdateAuthorizerInput) Validate() error {
16468	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
16469	if s.ApiId == nil {
16470		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16471	}
16472	if s.ApiId != nil && len(*s.ApiId) < 1 {
16473		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16474	}
16475	if s.AuthorizerId == nil {
16476		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
16477	}
16478	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
16479		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
16480	}
16481
16482	if invalidParams.Len() > 0 {
16483		return invalidParams
16484	}
16485	return nil
16486}
16487
16488// SetApiId sets the ApiId field's value.
16489func (s *UpdateAuthorizerInput) SetApiId(v string) *UpdateAuthorizerInput {
16490	s.ApiId = &v
16491	return s
16492}
16493
16494// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
16495func (s *UpdateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerInput {
16496	s.AuthorizerCredentialsArn = &v
16497	return s
16498}
16499
16500// SetAuthorizerId sets the AuthorizerId field's value.
16501func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
16502	s.AuthorizerId = &v
16503	return s
16504}
16505
16506// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
16507func (s *UpdateAuthorizerInput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerInput {
16508	s.AuthorizerPayloadFormatVersion = &v
16509	return s
16510}
16511
16512// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
16513func (s *UpdateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerInput {
16514	s.AuthorizerResultTtlInSeconds = &v
16515	return s
16516}
16517
16518// SetAuthorizerType sets the AuthorizerType field's value.
16519func (s *UpdateAuthorizerInput) SetAuthorizerType(v string) *UpdateAuthorizerInput {
16520	s.AuthorizerType = &v
16521	return s
16522}
16523
16524// SetAuthorizerUri sets the AuthorizerUri field's value.
16525func (s *UpdateAuthorizerInput) SetAuthorizerUri(v string) *UpdateAuthorizerInput {
16526	s.AuthorizerUri = &v
16527	return s
16528}
16529
16530// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
16531func (s *UpdateAuthorizerInput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerInput {
16532	s.EnableSimpleResponses = &v
16533	return s
16534}
16535
16536// SetIdentitySource sets the IdentitySource field's value.
16537func (s *UpdateAuthorizerInput) SetIdentitySource(v []*string) *UpdateAuthorizerInput {
16538	s.IdentitySource = v
16539	return s
16540}
16541
16542// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
16543func (s *UpdateAuthorizerInput) SetIdentityValidationExpression(v string) *UpdateAuthorizerInput {
16544	s.IdentityValidationExpression = &v
16545	return s
16546}
16547
16548// SetJwtConfiguration sets the JwtConfiguration field's value.
16549func (s *UpdateAuthorizerInput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerInput {
16550	s.JwtConfiguration = v
16551	return s
16552}
16553
16554// SetName sets the Name field's value.
16555func (s *UpdateAuthorizerInput) SetName(v string) *UpdateAuthorizerInput {
16556	s.Name = &v
16557	return s
16558}
16559
16560type UpdateAuthorizerOutput struct {
16561	_ struct{} `type:"structure"`
16562
16563	// Represents an Amazon Resource Name (ARN).
16564	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
16565
16566	// The identifier.
16567	AuthorizerId *string `locationName:"authorizerId" type:"string"`
16568
16569	// A string with a length between [1-64].
16570	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
16571
16572	// An integer with a value between [0-3600].
16573	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
16574
16575	// The authorizer type. Specify REQUEST for a Lambda function using incoming
16576	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
16577	// HTTP APIs).
16578	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
16579
16580	// A string representation of a URI with a length between [1-2048].
16581	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
16582
16583	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
16584
16585	// The identity source for which authorization is requested. For the REQUEST
16586	// authorizer, this is required when authorization caching is enabled. The value
16587	// is a comma-separated string of one or more mapping expressions of the specified
16588	// request parameters. For example, if an Auth header, a Name query string parameter
16589	// are defined as identity sources, this value is $method.request.header.Auth,
16590	// $method.request.querystring.Name. These parameters will be used to derive
16591	// the authorization caching key and to perform runtime validation of the REQUEST
16592	// authorizer by verifying all of the identity-related request parameters are
16593	// present, not null and non-empty. Only when this is true does the authorizer
16594	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
16595	// response without calling the Lambda function. The valid value is a string
16596	// of comma-separated mapping expressions of the specified request parameters.
16597	// When the authorization caching is not enabled, this property is optional.
16598	IdentitySource []*string `locationName:"identitySource" type:"list"`
16599
16600	// A string with a length between [0-1024].
16601	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
16602
16603	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
16604	// type. Supported only for HTTP APIs.
16605	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
16606
16607	// A string with a length between [1-128].
16608	Name *string `locationName:"name" type:"string"`
16609}
16610
16611// String returns the string representation
16612func (s UpdateAuthorizerOutput) String() string {
16613	return awsutil.Prettify(s)
16614}
16615
16616// GoString returns the string representation
16617func (s UpdateAuthorizerOutput) GoString() string {
16618	return s.String()
16619}
16620
16621// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
16622func (s *UpdateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerOutput {
16623	s.AuthorizerCredentialsArn = &v
16624	return s
16625}
16626
16627// SetAuthorizerId sets the AuthorizerId field's value.
16628func (s *UpdateAuthorizerOutput) SetAuthorizerId(v string) *UpdateAuthorizerOutput {
16629	s.AuthorizerId = &v
16630	return s
16631}
16632
16633// SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
16634func (s *UpdateAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerOutput {
16635	s.AuthorizerPayloadFormatVersion = &v
16636	return s
16637}
16638
16639// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
16640func (s *UpdateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerOutput {
16641	s.AuthorizerResultTtlInSeconds = &v
16642	return s
16643}
16644
16645// SetAuthorizerType sets the AuthorizerType field's value.
16646func (s *UpdateAuthorizerOutput) SetAuthorizerType(v string) *UpdateAuthorizerOutput {
16647	s.AuthorizerType = &v
16648	return s
16649}
16650
16651// SetAuthorizerUri sets the AuthorizerUri field's value.
16652func (s *UpdateAuthorizerOutput) SetAuthorizerUri(v string) *UpdateAuthorizerOutput {
16653	s.AuthorizerUri = &v
16654	return s
16655}
16656
16657// SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
16658func (s *UpdateAuthorizerOutput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerOutput {
16659	s.EnableSimpleResponses = &v
16660	return s
16661}
16662
16663// SetIdentitySource sets the IdentitySource field's value.
16664func (s *UpdateAuthorizerOutput) SetIdentitySource(v []*string) *UpdateAuthorizerOutput {
16665	s.IdentitySource = v
16666	return s
16667}
16668
16669// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
16670func (s *UpdateAuthorizerOutput) SetIdentityValidationExpression(v string) *UpdateAuthorizerOutput {
16671	s.IdentityValidationExpression = &v
16672	return s
16673}
16674
16675// SetJwtConfiguration sets the JwtConfiguration field's value.
16676func (s *UpdateAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerOutput {
16677	s.JwtConfiguration = v
16678	return s
16679}
16680
16681// SetName sets the Name field's value.
16682func (s *UpdateAuthorizerOutput) SetName(v string) *UpdateAuthorizerOutput {
16683	s.Name = &v
16684	return s
16685}
16686
16687type UpdateDeploymentInput struct {
16688	_ struct{} `type:"structure"`
16689
16690	// ApiId is a required field
16691	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16692
16693	// DeploymentId is a required field
16694	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
16695
16696	// A string with a length between [0-1024].
16697	Description *string `locationName:"description" type:"string"`
16698}
16699
16700// String returns the string representation
16701func (s UpdateDeploymentInput) String() string {
16702	return awsutil.Prettify(s)
16703}
16704
16705// GoString returns the string representation
16706func (s UpdateDeploymentInput) GoString() string {
16707	return s.String()
16708}
16709
16710// Validate inspects the fields of the type to determine if they are valid.
16711func (s *UpdateDeploymentInput) Validate() error {
16712	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
16713	if s.ApiId == nil {
16714		invalidParams.Add(request.NewErrParamRequired("ApiId"))
16715	}
16716	if s.ApiId != nil && len(*s.ApiId) < 1 {
16717		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
16718	}
16719	if s.DeploymentId == nil {
16720		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
16721	}
16722	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
16723		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
16724	}
16725
16726	if invalidParams.Len() > 0 {
16727		return invalidParams
16728	}
16729	return nil
16730}
16731
16732// SetApiId sets the ApiId field's value.
16733func (s *UpdateDeploymentInput) SetApiId(v string) *UpdateDeploymentInput {
16734	s.ApiId = &v
16735	return s
16736}
16737
16738// SetDeploymentId sets the DeploymentId field's value.
16739func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
16740	s.DeploymentId = &v
16741	return s
16742}
16743
16744// SetDescription sets the Description field's value.
16745func (s *UpdateDeploymentInput) SetDescription(v string) *UpdateDeploymentInput {
16746	s.Description = &v
16747	return s
16748}
16749
16750type UpdateDeploymentOutput struct {
16751	_ struct{} `type:"structure"`
16752
16753	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
16754
16755	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
16756
16757	// The identifier.
16758	DeploymentId *string `locationName:"deploymentId" type:"string"`
16759
16760	// Represents a deployment status.
16761	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
16762
16763	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
16764
16765	// A string with a length between [0-1024].
16766	Description *string `locationName:"description" type:"string"`
16767}
16768
16769// String returns the string representation
16770func (s UpdateDeploymentOutput) String() string {
16771	return awsutil.Prettify(s)
16772}
16773
16774// GoString returns the string representation
16775func (s UpdateDeploymentOutput) GoString() string {
16776	return s.String()
16777}
16778
16779// SetAutoDeployed sets the AutoDeployed field's value.
16780func (s *UpdateDeploymentOutput) SetAutoDeployed(v bool) *UpdateDeploymentOutput {
16781	s.AutoDeployed = &v
16782	return s
16783}
16784
16785// SetCreatedDate sets the CreatedDate field's value.
16786func (s *UpdateDeploymentOutput) SetCreatedDate(v time.Time) *UpdateDeploymentOutput {
16787	s.CreatedDate = &v
16788	return s
16789}
16790
16791// SetDeploymentId sets the DeploymentId field's value.
16792func (s *UpdateDeploymentOutput) SetDeploymentId(v string) *UpdateDeploymentOutput {
16793	s.DeploymentId = &v
16794	return s
16795}
16796
16797// SetDeploymentStatus sets the DeploymentStatus field's value.
16798func (s *UpdateDeploymentOutput) SetDeploymentStatus(v string) *UpdateDeploymentOutput {
16799	s.DeploymentStatus = &v
16800	return s
16801}
16802
16803// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
16804func (s *UpdateDeploymentOutput) SetDeploymentStatusMessage(v string) *UpdateDeploymentOutput {
16805	s.DeploymentStatusMessage = &v
16806	return s
16807}
16808
16809// SetDescription sets the Description field's value.
16810func (s *UpdateDeploymentOutput) SetDescription(v string) *UpdateDeploymentOutput {
16811	s.Description = &v
16812	return s
16813}
16814
16815type UpdateDomainNameInput struct {
16816	_ struct{} `type:"structure"`
16817
16818	// DomainName is a required field
16819	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
16820
16821	// The domain name configurations.
16822	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
16823
16824	// If specified, API Gateway performs two-way authentication between the client
16825	// and the server. Clients must present a trusted certificate to access your
16826	// API.
16827	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
16828}
16829
16830// String returns the string representation
16831func (s UpdateDomainNameInput) String() string {
16832	return awsutil.Prettify(s)
16833}
16834
16835// GoString returns the string representation
16836func (s UpdateDomainNameInput) GoString() string {
16837	return s.String()
16838}
16839
16840// Validate inspects the fields of the type to determine if they are valid.
16841func (s *UpdateDomainNameInput) Validate() error {
16842	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
16843	if s.DomainName == nil {
16844		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16845	}
16846	if s.DomainName != nil && len(*s.DomainName) < 1 {
16847		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16848	}
16849
16850	if invalidParams.Len() > 0 {
16851		return invalidParams
16852	}
16853	return nil
16854}
16855
16856// SetDomainName sets the DomainName field's value.
16857func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
16858	s.DomainName = &v
16859	return s
16860}
16861
16862// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
16863func (s *UpdateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameInput {
16864	s.DomainNameConfigurations = v
16865	return s
16866}
16867
16868// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
16869func (s *UpdateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *UpdateDomainNameInput {
16870	s.MutualTlsAuthentication = v
16871	return s
16872}
16873
16874type UpdateDomainNameOutput struct {
16875	_ struct{} `type:"structure"`
16876
16877	// An expression used to extract information at runtime. See Selection Expressions
16878	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
16879	// for more information.
16880	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
16881
16882	// A string with a length between [1-512].
16883	DomainName *string `locationName:"domainName" type:"string"`
16884
16885	// The domain name configurations.
16886	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
16887
16888	// If specified, API Gateway performs two-way authentication between the client
16889	// and the server. Clients must present a trusted certificate to access your
16890	// API.
16891	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
16892
16893	// Represents a collection of tags associated with the resource.
16894	Tags map[string]*string `locationName:"tags" type:"map"`
16895}
16896
16897// String returns the string representation
16898func (s UpdateDomainNameOutput) String() string {
16899	return awsutil.Prettify(s)
16900}
16901
16902// GoString returns the string representation
16903func (s UpdateDomainNameOutput) GoString() string {
16904	return s.String()
16905}
16906
16907// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
16908func (s *UpdateDomainNameOutput) SetApiMappingSelectionExpression(v string) *UpdateDomainNameOutput {
16909	s.ApiMappingSelectionExpression = &v
16910	return s
16911}
16912
16913// SetDomainName sets the DomainName field's value.
16914func (s *UpdateDomainNameOutput) SetDomainName(v string) *UpdateDomainNameOutput {
16915	s.DomainName = &v
16916	return s
16917}
16918
16919// SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
16920func (s *UpdateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameOutput {
16921	s.DomainNameConfigurations = v
16922	return s
16923}
16924
16925// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
16926func (s *UpdateDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *UpdateDomainNameOutput {
16927	s.MutualTlsAuthentication = v
16928	return s
16929}
16930
16931// SetTags sets the Tags field's value.
16932func (s *UpdateDomainNameOutput) SetTags(v map[string]*string) *UpdateDomainNameOutput {
16933	s.Tags = v
16934	return s
16935}
16936
16937type UpdateIntegrationInput struct {
16938	_ struct{} `type:"structure"`
16939
16940	// ApiId is a required field
16941	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
16942
16943	// A string with a length between [1-1024].
16944	ConnectionId *string `locationName:"connectionId" type:"string"`
16945
16946	// Represents a connection type.
16947	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
16948
16949	// Specifies how to handle response payload content type conversions. Supported
16950	// only for WebSocket APIs.
16951	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
16952
16953	// Represents an Amazon Resource Name (ARN).
16954	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
16955
16956	// A string with a length between [0-1024].
16957	Description *string `locationName:"description" type:"string"`
16958
16959	// IntegrationId is a required field
16960	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
16961
16962	// A string with a length between [1-64].
16963	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
16964
16965	// A string with a length between [1-128].
16966	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
16967
16968	// Represents an API method integration type.
16969	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
16970
16971	// A string representation of a URI with a length between [1-2048].
16972	IntegrationUri *string `locationName:"integrationUri" type:"string"`
16973
16974	// Represents passthrough behavior for an integration response. Supported only
16975	// for WebSocket APIs.
16976	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
16977
16978	// A string with a length between [1-64].
16979	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
16980
16981	// A key-value map specifying response parameters that are passed to the method
16982	// response from the backend. The key is a method response header parameter
16983	// name and the mapped value is an integration response header value, a static
16984	// value enclosed within a pair of single quotes, or a JSON expression from
16985	// the integration response body. The mapping key must match the pattern of
16986	// method.response.header.{name}, where name is a valid and unique header name.
16987	// The mapped non-static value must match the pattern of integration.response.header.{name}
16988	// or integration.response.body.{JSON-expression}, where name is a valid and
16989	// unique response header name and JSON-expression is a valid JSON expression
16990	// without the $ prefix.
16991	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
16992
16993	// A mapping of identifier keys to templates. The value is an actual template
16994	// script. The key is typically a SelectionKey which is chosen based on evaluating
16995	// a selection expression.
16996	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
16997
16998	// An expression used to extract information at runtime. See Selection Expressions
16999	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17000	// for more information.
17001	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17002
17003	// An integer with a value between [50-30000].
17004	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
17005
17006	// The TLS configuration for a private integration. If you specify a TLS configuration,
17007	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
17008	// APIs.
17009	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
17010}
17011
17012// String returns the string representation
17013func (s UpdateIntegrationInput) String() string {
17014	return awsutil.Prettify(s)
17015}
17016
17017// GoString returns the string representation
17018func (s UpdateIntegrationInput) GoString() string {
17019	return s.String()
17020}
17021
17022// Validate inspects the fields of the type to determine if they are valid.
17023func (s *UpdateIntegrationInput) Validate() error {
17024	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
17025	if s.ApiId == nil {
17026		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17027	}
17028	if s.ApiId != nil && len(*s.ApiId) < 1 {
17029		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17030	}
17031	if s.IntegrationId == nil {
17032		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
17033	}
17034	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
17035		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
17036	}
17037	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
17038		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
17039	}
17040
17041	if invalidParams.Len() > 0 {
17042		return invalidParams
17043	}
17044	return nil
17045}
17046
17047// SetApiId sets the ApiId field's value.
17048func (s *UpdateIntegrationInput) SetApiId(v string) *UpdateIntegrationInput {
17049	s.ApiId = &v
17050	return s
17051}
17052
17053// SetConnectionId sets the ConnectionId field's value.
17054func (s *UpdateIntegrationInput) SetConnectionId(v string) *UpdateIntegrationInput {
17055	s.ConnectionId = &v
17056	return s
17057}
17058
17059// SetConnectionType sets the ConnectionType field's value.
17060func (s *UpdateIntegrationInput) SetConnectionType(v string) *UpdateIntegrationInput {
17061	s.ConnectionType = &v
17062	return s
17063}
17064
17065// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17066func (s *UpdateIntegrationInput) SetContentHandlingStrategy(v string) *UpdateIntegrationInput {
17067	s.ContentHandlingStrategy = &v
17068	return s
17069}
17070
17071// SetCredentialsArn sets the CredentialsArn field's value.
17072func (s *UpdateIntegrationInput) SetCredentialsArn(v string) *UpdateIntegrationInput {
17073	s.CredentialsArn = &v
17074	return s
17075}
17076
17077// SetDescription sets the Description field's value.
17078func (s *UpdateIntegrationInput) SetDescription(v string) *UpdateIntegrationInput {
17079	s.Description = &v
17080	return s
17081}
17082
17083// SetIntegrationId sets the IntegrationId field's value.
17084func (s *UpdateIntegrationInput) SetIntegrationId(v string) *UpdateIntegrationInput {
17085	s.IntegrationId = &v
17086	return s
17087}
17088
17089// SetIntegrationMethod sets the IntegrationMethod field's value.
17090func (s *UpdateIntegrationInput) SetIntegrationMethod(v string) *UpdateIntegrationInput {
17091	s.IntegrationMethod = &v
17092	return s
17093}
17094
17095// SetIntegrationSubtype sets the IntegrationSubtype field's value.
17096func (s *UpdateIntegrationInput) SetIntegrationSubtype(v string) *UpdateIntegrationInput {
17097	s.IntegrationSubtype = &v
17098	return s
17099}
17100
17101// SetIntegrationType sets the IntegrationType field's value.
17102func (s *UpdateIntegrationInput) SetIntegrationType(v string) *UpdateIntegrationInput {
17103	s.IntegrationType = &v
17104	return s
17105}
17106
17107// SetIntegrationUri sets the IntegrationUri field's value.
17108func (s *UpdateIntegrationInput) SetIntegrationUri(v string) *UpdateIntegrationInput {
17109	s.IntegrationUri = &v
17110	return s
17111}
17112
17113// SetPassthroughBehavior sets the PassthroughBehavior field's value.
17114func (s *UpdateIntegrationInput) SetPassthroughBehavior(v string) *UpdateIntegrationInput {
17115	s.PassthroughBehavior = &v
17116	return s
17117}
17118
17119// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
17120func (s *UpdateIntegrationInput) SetPayloadFormatVersion(v string) *UpdateIntegrationInput {
17121	s.PayloadFormatVersion = &v
17122	return s
17123}
17124
17125// SetRequestParameters sets the RequestParameters field's value.
17126func (s *UpdateIntegrationInput) SetRequestParameters(v map[string]*string) *UpdateIntegrationInput {
17127	s.RequestParameters = v
17128	return s
17129}
17130
17131// SetRequestTemplates sets the RequestTemplates field's value.
17132func (s *UpdateIntegrationInput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationInput {
17133	s.RequestTemplates = v
17134	return s
17135}
17136
17137// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17138func (s *UpdateIntegrationInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationInput {
17139	s.TemplateSelectionExpression = &v
17140	return s
17141}
17142
17143// SetTimeoutInMillis sets the TimeoutInMillis field's value.
17144func (s *UpdateIntegrationInput) SetTimeoutInMillis(v int64) *UpdateIntegrationInput {
17145	s.TimeoutInMillis = &v
17146	return s
17147}
17148
17149// SetTlsConfig sets the TlsConfig field's value.
17150func (s *UpdateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *UpdateIntegrationInput {
17151	s.TlsConfig = v
17152	return s
17153}
17154
17155type UpdateIntegrationOutput struct {
17156	_ struct{} `type:"structure"`
17157
17158	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
17159
17160	// A string with a length between [1-1024].
17161	ConnectionId *string `locationName:"connectionId" type:"string"`
17162
17163	// Represents a connection type.
17164	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
17165
17166	// Specifies how to handle response payload content type conversions. Supported
17167	// only for WebSocket APIs.
17168	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17169
17170	// Represents an Amazon Resource Name (ARN).
17171	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
17172
17173	// A string with a length between [0-1024].
17174	Description *string `locationName:"description" type:"string"`
17175
17176	// The identifier.
17177	IntegrationId *string `locationName:"integrationId" type:"string"`
17178
17179	// A string with a length between [1-64].
17180	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
17181
17182	// An expression used to extract information at runtime. See Selection Expressions
17183	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17184	// for more information.
17185	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
17186
17187	// A string with a length between [1-128].
17188	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
17189
17190	// Represents an API method integration type.
17191	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
17192
17193	// A string representation of a URI with a length between [1-2048].
17194	IntegrationUri *string `locationName:"integrationUri" type:"string"`
17195
17196	// Represents passthrough behavior for an integration response. Supported only
17197	// for WebSocket APIs.
17198	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
17199
17200	// A string with a length between [1-64].
17201	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
17202
17203	// A key-value map specifying response parameters that are passed to the method
17204	// response from the backend. The key is a method response header parameter
17205	// name and the mapped value is an integration response header value, a static
17206	// value enclosed within a pair of single quotes, or a JSON expression from
17207	// the integration response body. The mapping key must match the pattern of
17208	// method.response.header.{name}, where name is a valid and unique header name.
17209	// The mapped non-static value must match the pattern of integration.response.header.{name}
17210	// or integration.response.body.{JSON-expression}, where name is a valid and
17211	// unique response header name and JSON-expression is a valid JSON expression
17212	// without the $ prefix.
17213	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
17214
17215	// A mapping of identifier keys to templates. The value is an actual template
17216	// script. The key is typically a SelectionKey which is chosen based on evaluating
17217	// a selection expression.
17218	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
17219
17220	// An expression used to extract information at runtime. See Selection Expressions
17221	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17222	// for more information.
17223	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17224
17225	// An integer with a value between [50-30000].
17226	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
17227
17228	// The TLS configuration for a private integration. If you specify a TLS configuration,
17229	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
17230	// APIs.
17231	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
17232}
17233
17234// String returns the string representation
17235func (s UpdateIntegrationOutput) String() string {
17236	return awsutil.Prettify(s)
17237}
17238
17239// GoString returns the string representation
17240func (s UpdateIntegrationOutput) GoString() string {
17241	return s.String()
17242}
17243
17244// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
17245func (s *UpdateIntegrationOutput) SetApiGatewayManaged(v bool) *UpdateIntegrationOutput {
17246	s.ApiGatewayManaged = &v
17247	return s
17248}
17249
17250// SetConnectionId sets the ConnectionId field's value.
17251func (s *UpdateIntegrationOutput) SetConnectionId(v string) *UpdateIntegrationOutput {
17252	s.ConnectionId = &v
17253	return s
17254}
17255
17256// SetConnectionType sets the ConnectionType field's value.
17257func (s *UpdateIntegrationOutput) SetConnectionType(v string) *UpdateIntegrationOutput {
17258	s.ConnectionType = &v
17259	return s
17260}
17261
17262// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17263func (s *UpdateIntegrationOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationOutput {
17264	s.ContentHandlingStrategy = &v
17265	return s
17266}
17267
17268// SetCredentialsArn sets the CredentialsArn field's value.
17269func (s *UpdateIntegrationOutput) SetCredentialsArn(v string) *UpdateIntegrationOutput {
17270	s.CredentialsArn = &v
17271	return s
17272}
17273
17274// SetDescription sets the Description field's value.
17275func (s *UpdateIntegrationOutput) SetDescription(v string) *UpdateIntegrationOutput {
17276	s.Description = &v
17277	return s
17278}
17279
17280// SetIntegrationId sets the IntegrationId field's value.
17281func (s *UpdateIntegrationOutput) SetIntegrationId(v string) *UpdateIntegrationOutput {
17282	s.IntegrationId = &v
17283	return s
17284}
17285
17286// SetIntegrationMethod sets the IntegrationMethod field's value.
17287func (s *UpdateIntegrationOutput) SetIntegrationMethod(v string) *UpdateIntegrationOutput {
17288	s.IntegrationMethod = &v
17289	return s
17290}
17291
17292// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
17293func (s *UpdateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *UpdateIntegrationOutput {
17294	s.IntegrationResponseSelectionExpression = &v
17295	return s
17296}
17297
17298// SetIntegrationSubtype sets the IntegrationSubtype field's value.
17299func (s *UpdateIntegrationOutput) SetIntegrationSubtype(v string) *UpdateIntegrationOutput {
17300	s.IntegrationSubtype = &v
17301	return s
17302}
17303
17304// SetIntegrationType sets the IntegrationType field's value.
17305func (s *UpdateIntegrationOutput) SetIntegrationType(v string) *UpdateIntegrationOutput {
17306	s.IntegrationType = &v
17307	return s
17308}
17309
17310// SetIntegrationUri sets the IntegrationUri field's value.
17311func (s *UpdateIntegrationOutput) SetIntegrationUri(v string) *UpdateIntegrationOutput {
17312	s.IntegrationUri = &v
17313	return s
17314}
17315
17316// SetPassthroughBehavior sets the PassthroughBehavior field's value.
17317func (s *UpdateIntegrationOutput) SetPassthroughBehavior(v string) *UpdateIntegrationOutput {
17318	s.PassthroughBehavior = &v
17319	return s
17320}
17321
17322// SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
17323func (s *UpdateIntegrationOutput) SetPayloadFormatVersion(v string) *UpdateIntegrationOutput {
17324	s.PayloadFormatVersion = &v
17325	return s
17326}
17327
17328// SetRequestParameters sets the RequestParameters field's value.
17329func (s *UpdateIntegrationOutput) SetRequestParameters(v map[string]*string) *UpdateIntegrationOutput {
17330	s.RequestParameters = v
17331	return s
17332}
17333
17334// SetRequestTemplates sets the RequestTemplates field's value.
17335func (s *UpdateIntegrationOutput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationOutput {
17336	s.RequestTemplates = v
17337	return s
17338}
17339
17340// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17341func (s *UpdateIntegrationOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationOutput {
17342	s.TemplateSelectionExpression = &v
17343	return s
17344}
17345
17346// SetTimeoutInMillis sets the TimeoutInMillis field's value.
17347func (s *UpdateIntegrationOutput) SetTimeoutInMillis(v int64) *UpdateIntegrationOutput {
17348	s.TimeoutInMillis = &v
17349	return s
17350}
17351
17352// SetTlsConfig sets the TlsConfig field's value.
17353func (s *UpdateIntegrationOutput) SetTlsConfig(v *TlsConfig) *UpdateIntegrationOutput {
17354	s.TlsConfig = v
17355	return s
17356}
17357
17358type UpdateIntegrationResponseInput struct {
17359	_ struct{} `type:"structure"`
17360
17361	// ApiId is a required field
17362	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17363
17364	// Specifies how to handle response payload content type conversions. Supported
17365	// only for WebSocket APIs.
17366	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17367
17368	// IntegrationId is a required field
17369	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
17370
17371	// IntegrationResponseId is a required field
17372	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
17373
17374	// After evaluating a selection expression, the result is compared against one
17375	// or more selection keys to find a matching key. See Selection Expressions
17376	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17377	// for a list of expressions and each expression's associated selection key
17378	// type.
17379	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
17380
17381	// A key-value map specifying response parameters that are passed to the method
17382	// response from the backend. The key is a method response header parameter
17383	// name and the mapped value is an integration response header value, a static
17384	// value enclosed within a pair of single quotes, or a JSON expression from
17385	// the integration response body. The mapping key must match the pattern of
17386	// method.response.header.{name}, where name is a valid and unique header name.
17387	// The mapped non-static value must match the pattern of integration.response.header.{name}
17388	// or integration.response.body.{JSON-expression}, where name is a valid and
17389	// unique response header name and JSON-expression is a valid JSON expression
17390	// without the $ prefix.
17391	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
17392
17393	// A mapping of identifier keys to templates. The value is an actual template
17394	// script. The key is typically a SelectionKey which is chosen based on evaluating
17395	// a selection expression.
17396	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
17397
17398	// An expression used to extract information at runtime. See Selection Expressions
17399	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17400	// for more information.
17401	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17402}
17403
17404// String returns the string representation
17405func (s UpdateIntegrationResponseInput) String() string {
17406	return awsutil.Prettify(s)
17407}
17408
17409// GoString returns the string representation
17410func (s UpdateIntegrationResponseInput) GoString() string {
17411	return s.String()
17412}
17413
17414// Validate inspects the fields of the type to determine if they are valid.
17415func (s *UpdateIntegrationResponseInput) Validate() error {
17416	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
17417	if s.ApiId == nil {
17418		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17419	}
17420	if s.ApiId != nil && len(*s.ApiId) < 1 {
17421		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17422	}
17423	if s.IntegrationId == nil {
17424		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
17425	}
17426	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
17427		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
17428	}
17429	if s.IntegrationResponseId == nil {
17430		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
17431	}
17432	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
17433		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
17434	}
17435
17436	if invalidParams.Len() > 0 {
17437		return invalidParams
17438	}
17439	return nil
17440}
17441
17442// SetApiId sets the ApiId field's value.
17443func (s *UpdateIntegrationResponseInput) SetApiId(v string) *UpdateIntegrationResponseInput {
17444	s.ApiId = &v
17445	return s
17446}
17447
17448// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17449func (s *UpdateIntegrationResponseInput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseInput {
17450	s.ContentHandlingStrategy = &v
17451	return s
17452}
17453
17454// SetIntegrationId sets the IntegrationId field's value.
17455func (s *UpdateIntegrationResponseInput) SetIntegrationId(v string) *UpdateIntegrationResponseInput {
17456	s.IntegrationId = &v
17457	return s
17458}
17459
17460// SetIntegrationResponseId sets the IntegrationResponseId field's value.
17461func (s *UpdateIntegrationResponseInput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseInput {
17462	s.IntegrationResponseId = &v
17463	return s
17464}
17465
17466// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
17467func (s *UpdateIntegrationResponseInput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseInput {
17468	s.IntegrationResponseKey = &v
17469	return s
17470}
17471
17472// SetResponseParameters sets the ResponseParameters field's value.
17473func (s *UpdateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseInput {
17474	s.ResponseParameters = v
17475	return s
17476}
17477
17478// SetResponseTemplates sets the ResponseTemplates field's value.
17479func (s *UpdateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseInput {
17480	s.ResponseTemplates = v
17481	return s
17482}
17483
17484// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17485func (s *UpdateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseInput {
17486	s.TemplateSelectionExpression = &v
17487	return s
17488}
17489
17490type UpdateIntegrationResponseOutput struct {
17491	_ struct{} `type:"structure"`
17492
17493	// Specifies how to handle response payload content type conversions. Supported
17494	// only for WebSocket APIs.
17495	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
17496
17497	// The identifier.
17498	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
17499
17500	// After evaluating a selection expression, the result is compared against one
17501	// or more selection keys to find a matching key. See Selection Expressions
17502	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17503	// for a list of expressions and each expression's associated selection key
17504	// type.
17505	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
17506
17507	// A key-value map specifying response parameters that are passed to the method
17508	// response from the backend. The key is a method response header parameter
17509	// name and the mapped value is an integration response header value, a static
17510	// value enclosed within a pair of single quotes, or a JSON expression from
17511	// the integration response body. The mapping key must match the pattern of
17512	// method.response.header.{name}, where name is a valid and unique header name.
17513	// The mapped non-static value must match the pattern of integration.response.header.{name}
17514	// or integration.response.body.{JSON-expression}, where name is a valid and
17515	// unique response header name and JSON-expression is a valid JSON expression
17516	// without the $ prefix.
17517	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
17518
17519	// A mapping of identifier keys to templates. The value is an actual template
17520	// script. The key is typically a SelectionKey which is chosen based on evaluating
17521	// a selection expression.
17522	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
17523
17524	// An expression used to extract information at runtime. See Selection Expressions
17525	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17526	// for more information.
17527	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
17528}
17529
17530// String returns the string representation
17531func (s UpdateIntegrationResponseOutput) String() string {
17532	return awsutil.Prettify(s)
17533}
17534
17535// GoString returns the string representation
17536func (s UpdateIntegrationResponseOutput) GoString() string {
17537	return s.String()
17538}
17539
17540// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
17541func (s *UpdateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseOutput {
17542	s.ContentHandlingStrategy = &v
17543	return s
17544}
17545
17546// SetIntegrationResponseId sets the IntegrationResponseId field's value.
17547func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseOutput {
17548	s.IntegrationResponseId = &v
17549	return s
17550}
17551
17552// SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
17553func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseOutput {
17554	s.IntegrationResponseKey = &v
17555	return s
17556}
17557
17558// SetResponseParameters sets the ResponseParameters field's value.
17559func (s *UpdateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseOutput {
17560	s.ResponseParameters = v
17561	return s
17562}
17563
17564// SetResponseTemplates sets the ResponseTemplates field's value.
17565func (s *UpdateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseOutput {
17566	s.ResponseTemplates = v
17567	return s
17568}
17569
17570// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
17571func (s *UpdateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseOutput {
17572	s.TemplateSelectionExpression = &v
17573	return s
17574}
17575
17576type UpdateModelInput struct {
17577	_ struct{} `type:"structure"`
17578
17579	// ApiId is a required field
17580	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17581
17582	// A string with a length between [1-256].
17583	ContentType *string `locationName:"contentType" type:"string"`
17584
17585	// A string with a length between [0-1024].
17586	Description *string `locationName:"description" type:"string"`
17587
17588	// ModelId is a required field
17589	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
17590
17591	// A string with a length between [1-128].
17592	Name *string `locationName:"name" type:"string"`
17593
17594	// A string with a length between [0-32768].
17595	Schema *string `locationName:"schema" type:"string"`
17596}
17597
17598// String returns the string representation
17599func (s UpdateModelInput) String() string {
17600	return awsutil.Prettify(s)
17601}
17602
17603// GoString returns the string representation
17604func (s UpdateModelInput) GoString() string {
17605	return s.String()
17606}
17607
17608// Validate inspects the fields of the type to determine if they are valid.
17609func (s *UpdateModelInput) Validate() error {
17610	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
17611	if s.ApiId == nil {
17612		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17613	}
17614	if s.ApiId != nil && len(*s.ApiId) < 1 {
17615		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17616	}
17617	if s.ModelId == nil {
17618		invalidParams.Add(request.NewErrParamRequired("ModelId"))
17619	}
17620	if s.ModelId != nil && len(*s.ModelId) < 1 {
17621		invalidParams.Add(request.NewErrParamMinLen("ModelId", 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 *UpdateModelInput) SetApiId(v string) *UpdateModelInput {
17632	s.ApiId = &v
17633	return s
17634}
17635
17636// SetContentType sets the ContentType field's value.
17637func (s *UpdateModelInput) SetContentType(v string) *UpdateModelInput {
17638	s.ContentType = &v
17639	return s
17640}
17641
17642// SetDescription sets the Description field's value.
17643func (s *UpdateModelInput) SetDescription(v string) *UpdateModelInput {
17644	s.Description = &v
17645	return s
17646}
17647
17648// SetModelId sets the ModelId field's value.
17649func (s *UpdateModelInput) SetModelId(v string) *UpdateModelInput {
17650	s.ModelId = &v
17651	return s
17652}
17653
17654// SetName sets the Name field's value.
17655func (s *UpdateModelInput) SetName(v string) *UpdateModelInput {
17656	s.Name = &v
17657	return s
17658}
17659
17660// SetSchema sets the Schema field's value.
17661func (s *UpdateModelInput) SetSchema(v string) *UpdateModelInput {
17662	s.Schema = &v
17663	return s
17664}
17665
17666type UpdateModelOutput struct {
17667	_ struct{} `type:"structure"`
17668
17669	// A string with a length between [1-256].
17670	ContentType *string `locationName:"contentType" type:"string"`
17671
17672	// A string with a length between [0-1024].
17673	Description *string `locationName:"description" type:"string"`
17674
17675	// The identifier.
17676	ModelId *string `locationName:"modelId" type:"string"`
17677
17678	// A string with a length between [1-128].
17679	Name *string `locationName:"name" type:"string"`
17680
17681	// A string with a length between [0-32768].
17682	Schema *string `locationName:"schema" type:"string"`
17683}
17684
17685// String returns the string representation
17686func (s UpdateModelOutput) String() string {
17687	return awsutil.Prettify(s)
17688}
17689
17690// GoString returns the string representation
17691func (s UpdateModelOutput) GoString() string {
17692	return s.String()
17693}
17694
17695// SetContentType sets the ContentType field's value.
17696func (s *UpdateModelOutput) SetContentType(v string) *UpdateModelOutput {
17697	s.ContentType = &v
17698	return s
17699}
17700
17701// SetDescription sets the Description field's value.
17702func (s *UpdateModelOutput) SetDescription(v string) *UpdateModelOutput {
17703	s.Description = &v
17704	return s
17705}
17706
17707// SetModelId sets the ModelId field's value.
17708func (s *UpdateModelOutput) SetModelId(v string) *UpdateModelOutput {
17709	s.ModelId = &v
17710	return s
17711}
17712
17713// SetName sets the Name field's value.
17714func (s *UpdateModelOutput) SetName(v string) *UpdateModelOutput {
17715	s.Name = &v
17716	return s
17717}
17718
17719// SetSchema sets the Schema field's value.
17720func (s *UpdateModelOutput) SetSchema(v string) *UpdateModelOutput {
17721	s.Schema = &v
17722	return s
17723}
17724
17725type UpdateRouteInput struct {
17726	_ struct{} `type:"structure"`
17727
17728	// ApiId is a required field
17729	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
17730
17731	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
17732
17733	// A list of authorization scopes configured on a route. The scopes are used
17734	// with a JWT authorizer to authorize the method invocation. The authorization
17735	// works by matching the route scopes against the scopes parsed from the access
17736	// token in the incoming request. The method invocation is authorized if any
17737	// route scope matches a claimed scope in the access token. Otherwise, the invocation
17738	// is not authorized. When the route scope is configured, the client must provide
17739	// an access token instead of an identity token for authorization purposes.
17740	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
17741
17742	// The authorization type. For WebSocket APIs, valid values are NONE for open
17743	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
17744	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
17745	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
17746	// for using a Lambda authorizer.
17747	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
17748
17749	// The identifier.
17750	AuthorizerId *string `locationName:"authorizerId" type:"string"`
17751
17752	// An expression used to extract information at runtime. See Selection Expressions
17753	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17754	// for more information.
17755	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
17756
17757	// A string with a length between [1-64].
17758	OperationName *string `locationName:"operationName" type:"string"`
17759
17760	// The route models.
17761	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
17762
17763	// The route parameters.
17764	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
17765
17766	// RouteId is a required field
17767	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
17768
17769	// After evaluating a selection expression, the result is compared against one
17770	// or more selection keys to find a matching key. See Selection Expressions
17771	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17772	// for a list of expressions and each expression's associated selection key
17773	// type.
17774	RouteKey *string `locationName:"routeKey" type:"string"`
17775
17776	// An expression used to extract information at runtime. See Selection Expressions
17777	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17778	// for more information.
17779	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
17780
17781	// A string with a length between [1-128].
17782	Target *string `locationName:"target" type:"string"`
17783}
17784
17785// String returns the string representation
17786func (s UpdateRouteInput) String() string {
17787	return awsutil.Prettify(s)
17788}
17789
17790// GoString returns the string representation
17791func (s UpdateRouteInput) GoString() string {
17792	return s.String()
17793}
17794
17795// Validate inspects the fields of the type to determine if they are valid.
17796func (s *UpdateRouteInput) Validate() error {
17797	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"}
17798	if s.ApiId == nil {
17799		invalidParams.Add(request.NewErrParamRequired("ApiId"))
17800	}
17801	if s.ApiId != nil && len(*s.ApiId) < 1 {
17802		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
17803	}
17804	if s.RouteId == nil {
17805		invalidParams.Add(request.NewErrParamRequired("RouteId"))
17806	}
17807	if s.RouteId != nil && len(*s.RouteId) < 1 {
17808		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
17809	}
17810
17811	if invalidParams.Len() > 0 {
17812		return invalidParams
17813	}
17814	return nil
17815}
17816
17817// SetApiId sets the ApiId field's value.
17818func (s *UpdateRouteInput) SetApiId(v string) *UpdateRouteInput {
17819	s.ApiId = &v
17820	return s
17821}
17822
17823// SetApiKeyRequired sets the ApiKeyRequired field's value.
17824func (s *UpdateRouteInput) SetApiKeyRequired(v bool) *UpdateRouteInput {
17825	s.ApiKeyRequired = &v
17826	return s
17827}
17828
17829// SetAuthorizationScopes sets the AuthorizationScopes field's value.
17830func (s *UpdateRouteInput) SetAuthorizationScopes(v []*string) *UpdateRouteInput {
17831	s.AuthorizationScopes = v
17832	return s
17833}
17834
17835// SetAuthorizationType sets the AuthorizationType field's value.
17836func (s *UpdateRouteInput) SetAuthorizationType(v string) *UpdateRouteInput {
17837	s.AuthorizationType = &v
17838	return s
17839}
17840
17841// SetAuthorizerId sets the AuthorizerId field's value.
17842func (s *UpdateRouteInput) SetAuthorizerId(v string) *UpdateRouteInput {
17843	s.AuthorizerId = &v
17844	return s
17845}
17846
17847// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
17848func (s *UpdateRouteInput) SetModelSelectionExpression(v string) *UpdateRouteInput {
17849	s.ModelSelectionExpression = &v
17850	return s
17851}
17852
17853// SetOperationName sets the OperationName field's value.
17854func (s *UpdateRouteInput) SetOperationName(v string) *UpdateRouteInput {
17855	s.OperationName = &v
17856	return s
17857}
17858
17859// SetRequestModels sets the RequestModels field's value.
17860func (s *UpdateRouteInput) SetRequestModels(v map[string]*string) *UpdateRouteInput {
17861	s.RequestModels = v
17862	return s
17863}
17864
17865// SetRequestParameters sets the RequestParameters field's value.
17866func (s *UpdateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteInput {
17867	s.RequestParameters = v
17868	return s
17869}
17870
17871// SetRouteId sets the RouteId field's value.
17872func (s *UpdateRouteInput) SetRouteId(v string) *UpdateRouteInput {
17873	s.RouteId = &v
17874	return s
17875}
17876
17877// SetRouteKey sets the RouteKey field's value.
17878func (s *UpdateRouteInput) SetRouteKey(v string) *UpdateRouteInput {
17879	s.RouteKey = &v
17880	return s
17881}
17882
17883// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
17884func (s *UpdateRouteInput) SetRouteResponseSelectionExpression(v string) *UpdateRouteInput {
17885	s.RouteResponseSelectionExpression = &v
17886	return s
17887}
17888
17889// SetTarget sets the Target field's value.
17890func (s *UpdateRouteInput) SetTarget(v string) *UpdateRouteInput {
17891	s.Target = &v
17892	return s
17893}
17894
17895type UpdateRouteOutput struct {
17896	_ struct{} `type:"structure"`
17897
17898	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
17899
17900	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
17901
17902	// A list of authorization scopes configured on a route. The scopes are used
17903	// with a JWT authorizer to authorize the method invocation. The authorization
17904	// works by matching the route scopes against the scopes parsed from the access
17905	// token in the incoming request. The method invocation is authorized if any
17906	// route scope matches a claimed scope in the access token. Otherwise, the invocation
17907	// is not authorized. When the route scope is configured, the client must provide
17908	// an access token instead of an identity token for authorization purposes.
17909	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
17910
17911	// The authorization type. For WebSocket APIs, valid values are NONE for open
17912	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
17913	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
17914	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
17915	// for using a Lambda authorizer.
17916	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
17917
17918	// The identifier.
17919	AuthorizerId *string `locationName:"authorizerId" type:"string"`
17920
17921	// An expression used to extract information at runtime. See Selection Expressions
17922	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17923	// for more information.
17924	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
17925
17926	// A string with a length between [1-64].
17927	OperationName *string `locationName:"operationName" type:"string"`
17928
17929	// The route models.
17930	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
17931
17932	// The route parameters.
17933	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
17934
17935	// The identifier.
17936	RouteId *string `locationName:"routeId" type:"string"`
17937
17938	// After evaluating a selection expression, the result is compared against one
17939	// or more selection keys to find a matching key. See Selection Expressions
17940	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17941	// for a list of expressions and each expression's associated selection key
17942	// type.
17943	RouteKey *string `locationName:"routeKey" type:"string"`
17944
17945	// An expression used to extract information at runtime. See Selection Expressions
17946	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
17947	// for more information.
17948	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
17949
17950	// A string with a length between [1-128].
17951	Target *string `locationName:"target" type:"string"`
17952}
17953
17954// String returns the string representation
17955func (s UpdateRouteOutput) String() string {
17956	return awsutil.Prettify(s)
17957}
17958
17959// GoString returns the string representation
17960func (s UpdateRouteOutput) GoString() string {
17961	return s.String()
17962}
17963
17964// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
17965func (s *UpdateRouteOutput) SetApiGatewayManaged(v bool) *UpdateRouteOutput {
17966	s.ApiGatewayManaged = &v
17967	return s
17968}
17969
17970// SetApiKeyRequired sets the ApiKeyRequired field's value.
17971func (s *UpdateRouteOutput) SetApiKeyRequired(v bool) *UpdateRouteOutput {
17972	s.ApiKeyRequired = &v
17973	return s
17974}
17975
17976// SetAuthorizationScopes sets the AuthorizationScopes field's value.
17977func (s *UpdateRouteOutput) SetAuthorizationScopes(v []*string) *UpdateRouteOutput {
17978	s.AuthorizationScopes = v
17979	return s
17980}
17981
17982// SetAuthorizationType sets the AuthorizationType field's value.
17983func (s *UpdateRouteOutput) SetAuthorizationType(v string) *UpdateRouteOutput {
17984	s.AuthorizationType = &v
17985	return s
17986}
17987
17988// SetAuthorizerId sets the AuthorizerId field's value.
17989func (s *UpdateRouteOutput) SetAuthorizerId(v string) *UpdateRouteOutput {
17990	s.AuthorizerId = &v
17991	return s
17992}
17993
17994// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
17995func (s *UpdateRouteOutput) SetModelSelectionExpression(v string) *UpdateRouteOutput {
17996	s.ModelSelectionExpression = &v
17997	return s
17998}
17999
18000// SetOperationName sets the OperationName field's value.
18001func (s *UpdateRouteOutput) SetOperationName(v string) *UpdateRouteOutput {
18002	s.OperationName = &v
18003	return s
18004}
18005
18006// SetRequestModels sets the RequestModels field's value.
18007func (s *UpdateRouteOutput) SetRequestModels(v map[string]*string) *UpdateRouteOutput {
18008	s.RequestModels = v
18009	return s
18010}
18011
18012// SetRequestParameters sets the RequestParameters field's value.
18013func (s *UpdateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteOutput {
18014	s.RequestParameters = v
18015	return s
18016}
18017
18018// SetRouteId sets the RouteId field's value.
18019func (s *UpdateRouteOutput) SetRouteId(v string) *UpdateRouteOutput {
18020	s.RouteId = &v
18021	return s
18022}
18023
18024// SetRouteKey sets the RouteKey field's value.
18025func (s *UpdateRouteOutput) SetRouteKey(v string) *UpdateRouteOutput {
18026	s.RouteKey = &v
18027	return s
18028}
18029
18030// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
18031func (s *UpdateRouteOutput) SetRouteResponseSelectionExpression(v string) *UpdateRouteOutput {
18032	s.RouteResponseSelectionExpression = &v
18033	return s
18034}
18035
18036// SetTarget sets the Target field's value.
18037func (s *UpdateRouteOutput) SetTarget(v string) *UpdateRouteOutput {
18038	s.Target = &v
18039	return s
18040}
18041
18042type UpdateRouteResponseInput struct {
18043	_ struct{} `type:"structure"`
18044
18045	// ApiId is a required field
18046	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
18047
18048	// An expression used to extract information at runtime. See Selection Expressions
18049	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18050	// for more information.
18051	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
18052
18053	// The route models.
18054	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
18055
18056	// The route parameters.
18057	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
18058
18059	// RouteId is a required field
18060	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
18061
18062	// RouteResponseId is a required field
18063	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
18064
18065	// After evaluating a selection expression, the result is compared against one
18066	// or more selection keys to find a matching key. See Selection Expressions
18067	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18068	// for a list of expressions and each expression's associated selection key
18069	// type.
18070	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
18071}
18072
18073// String returns the string representation
18074func (s UpdateRouteResponseInput) String() string {
18075	return awsutil.Prettify(s)
18076}
18077
18078// GoString returns the string representation
18079func (s UpdateRouteResponseInput) GoString() string {
18080	return s.String()
18081}
18082
18083// Validate inspects the fields of the type to determine if they are valid.
18084func (s *UpdateRouteResponseInput) Validate() error {
18085	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteResponseInput"}
18086	if s.ApiId == nil {
18087		invalidParams.Add(request.NewErrParamRequired("ApiId"))
18088	}
18089	if s.ApiId != nil && len(*s.ApiId) < 1 {
18090		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
18091	}
18092	if s.RouteId == nil {
18093		invalidParams.Add(request.NewErrParamRequired("RouteId"))
18094	}
18095	if s.RouteId != nil && len(*s.RouteId) < 1 {
18096		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
18097	}
18098	if s.RouteResponseId == nil {
18099		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
18100	}
18101	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
18102		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
18103	}
18104
18105	if invalidParams.Len() > 0 {
18106		return invalidParams
18107	}
18108	return nil
18109}
18110
18111// SetApiId sets the ApiId field's value.
18112func (s *UpdateRouteResponseInput) SetApiId(v string) *UpdateRouteResponseInput {
18113	s.ApiId = &v
18114	return s
18115}
18116
18117// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18118func (s *UpdateRouteResponseInput) SetModelSelectionExpression(v string) *UpdateRouteResponseInput {
18119	s.ModelSelectionExpression = &v
18120	return s
18121}
18122
18123// SetResponseModels sets the ResponseModels field's value.
18124func (s *UpdateRouteResponseInput) SetResponseModels(v map[string]*string) *UpdateRouteResponseInput {
18125	s.ResponseModels = v
18126	return s
18127}
18128
18129// SetResponseParameters sets the ResponseParameters field's value.
18130func (s *UpdateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseInput {
18131	s.ResponseParameters = v
18132	return s
18133}
18134
18135// SetRouteId sets the RouteId field's value.
18136func (s *UpdateRouteResponseInput) SetRouteId(v string) *UpdateRouteResponseInput {
18137	s.RouteId = &v
18138	return s
18139}
18140
18141// SetRouteResponseId sets the RouteResponseId field's value.
18142func (s *UpdateRouteResponseInput) SetRouteResponseId(v string) *UpdateRouteResponseInput {
18143	s.RouteResponseId = &v
18144	return s
18145}
18146
18147// SetRouteResponseKey sets the RouteResponseKey field's value.
18148func (s *UpdateRouteResponseInput) SetRouteResponseKey(v string) *UpdateRouteResponseInput {
18149	s.RouteResponseKey = &v
18150	return s
18151}
18152
18153type UpdateRouteResponseOutput struct {
18154	_ struct{} `type:"structure"`
18155
18156	// An expression used to extract information at runtime. See Selection Expressions
18157	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18158	// for more information.
18159	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
18160
18161	// The route models.
18162	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
18163
18164	// The route parameters.
18165	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
18166
18167	// The identifier.
18168	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
18169
18170	// After evaluating a selection expression, the result is compared against one
18171	// or more selection keys to find a matching key. See Selection Expressions
18172	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
18173	// for a list of expressions and each expression's associated selection key
18174	// type.
18175	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
18176}
18177
18178// String returns the string representation
18179func (s UpdateRouteResponseOutput) String() string {
18180	return awsutil.Prettify(s)
18181}
18182
18183// GoString returns the string representation
18184func (s UpdateRouteResponseOutput) GoString() string {
18185	return s.String()
18186}
18187
18188// SetModelSelectionExpression sets the ModelSelectionExpression field's value.
18189func (s *UpdateRouteResponseOutput) SetModelSelectionExpression(v string) *UpdateRouteResponseOutput {
18190	s.ModelSelectionExpression = &v
18191	return s
18192}
18193
18194// SetResponseModels sets the ResponseModels field's value.
18195func (s *UpdateRouteResponseOutput) SetResponseModels(v map[string]*string) *UpdateRouteResponseOutput {
18196	s.ResponseModels = v
18197	return s
18198}
18199
18200// SetResponseParameters sets the ResponseParameters field's value.
18201func (s *UpdateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseOutput {
18202	s.ResponseParameters = v
18203	return s
18204}
18205
18206// SetRouteResponseId sets the RouteResponseId field's value.
18207func (s *UpdateRouteResponseOutput) SetRouteResponseId(v string) *UpdateRouteResponseOutput {
18208	s.RouteResponseId = &v
18209	return s
18210}
18211
18212// SetRouteResponseKey sets the RouteResponseKey field's value.
18213func (s *UpdateRouteResponseOutput) SetRouteResponseKey(v string) *UpdateRouteResponseOutput {
18214	s.RouteResponseKey = &v
18215	return s
18216}
18217
18218type UpdateStageInput struct {
18219	_ struct{} `type:"structure"`
18220
18221	// Settings for logging access in a stage.
18222	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
18223
18224	// ApiId is a required field
18225	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
18226
18227	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
18228
18229	// The identifier.
18230	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
18231
18232	// Represents a collection of route settings.
18233	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
18234
18235	// The identifier.
18236	DeploymentId *string `locationName:"deploymentId" type:"string"`
18237
18238	// A string with a length between [0-1024].
18239	Description *string `locationName:"description" type:"string"`
18240
18241	// The route settings map.
18242	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
18243
18244	// StageName is a required field
18245	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
18246
18247	// The stage variable map.
18248	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
18249}
18250
18251// String returns the string representation
18252func (s UpdateStageInput) String() string {
18253	return awsutil.Prettify(s)
18254}
18255
18256// GoString returns the string representation
18257func (s UpdateStageInput) GoString() string {
18258	return s.String()
18259}
18260
18261// Validate inspects the fields of the type to determine if they are valid.
18262func (s *UpdateStageInput) Validate() error {
18263	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
18264	if s.ApiId == nil {
18265		invalidParams.Add(request.NewErrParamRequired("ApiId"))
18266	}
18267	if s.ApiId != nil && len(*s.ApiId) < 1 {
18268		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
18269	}
18270	if s.StageName == nil {
18271		invalidParams.Add(request.NewErrParamRequired("StageName"))
18272	}
18273	if s.StageName != nil && len(*s.StageName) < 1 {
18274		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18275	}
18276
18277	if invalidParams.Len() > 0 {
18278		return invalidParams
18279	}
18280	return nil
18281}
18282
18283// SetAccessLogSettings sets the AccessLogSettings field's value.
18284func (s *UpdateStageInput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageInput {
18285	s.AccessLogSettings = v
18286	return s
18287}
18288
18289// SetApiId sets the ApiId field's value.
18290func (s *UpdateStageInput) SetApiId(v string) *UpdateStageInput {
18291	s.ApiId = &v
18292	return s
18293}
18294
18295// SetAutoDeploy sets the AutoDeploy field's value.
18296func (s *UpdateStageInput) SetAutoDeploy(v bool) *UpdateStageInput {
18297	s.AutoDeploy = &v
18298	return s
18299}
18300
18301// SetClientCertificateId sets the ClientCertificateId field's value.
18302func (s *UpdateStageInput) SetClientCertificateId(v string) *UpdateStageInput {
18303	s.ClientCertificateId = &v
18304	return s
18305}
18306
18307// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
18308func (s *UpdateStageInput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageInput {
18309	s.DefaultRouteSettings = v
18310	return s
18311}
18312
18313// SetDeploymentId sets the DeploymentId field's value.
18314func (s *UpdateStageInput) SetDeploymentId(v string) *UpdateStageInput {
18315	s.DeploymentId = &v
18316	return s
18317}
18318
18319// SetDescription sets the Description field's value.
18320func (s *UpdateStageInput) SetDescription(v string) *UpdateStageInput {
18321	s.Description = &v
18322	return s
18323}
18324
18325// SetRouteSettings sets the RouteSettings field's value.
18326func (s *UpdateStageInput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageInput {
18327	s.RouteSettings = v
18328	return s
18329}
18330
18331// SetStageName sets the StageName field's value.
18332func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
18333	s.StageName = &v
18334	return s
18335}
18336
18337// SetStageVariables sets the StageVariables field's value.
18338func (s *UpdateStageInput) SetStageVariables(v map[string]*string) *UpdateStageInput {
18339	s.StageVariables = v
18340	return s
18341}
18342
18343type UpdateStageOutput struct {
18344	_ struct{} `type:"structure"`
18345
18346	// Settings for logging access in a stage.
18347	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
18348
18349	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
18350
18351	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
18352
18353	// The identifier.
18354	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
18355
18356	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18357
18358	// Represents a collection of route settings.
18359	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
18360
18361	// The identifier.
18362	DeploymentId *string `locationName:"deploymentId" type:"string"`
18363
18364	// A string with a length between [0-1024].
18365	Description *string `locationName:"description" type:"string"`
18366
18367	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
18368
18369	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
18370
18371	// The route settings map.
18372	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
18373
18374	// A string with a length between [1-128].
18375	StageName *string `locationName:"stageName" type:"string"`
18376
18377	// The stage variable map.
18378	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
18379
18380	// Represents a collection of tags associated with the resource.
18381	Tags map[string]*string `locationName:"tags" type:"map"`
18382}
18383
18384// String returns the string representation
18385func (s UpdateStageOutput) String() string {
18386	return awsutil.Prettify(s)
18387}
18388
18389// GoString returns the string representation
18390func (s UpdateStageOutput) GoString() string {
18391	return s.String()
18392}
18393
18394// SetAccessLogSettings sets the AccessLogSettings field's value.
18395func (s *UpdateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageOutput {
18396	s.AccessLogSettings = v
18397	return s
18398}
18399
18400// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
18401func (s *UpdateStageOutput) SetApiGatewayManaged(v bool) *UpdateStageOutput {
18402	s.ApiGatewayManaged = &v
18403	return s
18404}
18405
18406// SetAutoDeploy sets the AutoDeploy field's value.
18407func (s *UpdateStageOutput) SetAutoDeploy(v bool) *UpdateStageOutput {
18408	s.AutoDeploy = &v
18409	return s
18410}
18411
18412// SetClientCertificateId sets the ClientCertificateId field's value.
18413func (s *UpdateStageOutput) SetClientCertificateId(v string) *UpdateStageOutput {
18414	s.ClientCertificateId = &v
18415	return s
18416}
18417
18418// SetCreatedDate sets the CreatedDate field's value.
18419func (s *UpdateStageOutput) SetCreatedDate(v time.Time) *UpdateStageOutput {
18420	s.CreatedDate = &v
18421	return s
18422}
18423
18424// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
18425func (s *UpdateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageOutput {
18426	s.DefaultRouteSettings = v
18427	return s
18428}
18429
18430// SetDeploymentId sets the DeploymentId field's value.
18431func (s *UpdateStageOutput) SetDeploymentId(v string) *UpdateStageOutput {
18432	s.DeploymentId = &v
18433	return s
18434}
18435
18436// SetDescription sets the Description field's value.
18437func (s *UpdateStageOutput) SetDescription(v string) *UpdateStageOutput {
18438	s.Description = &v
18439	return s
18440}
18441
18442// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
18443func (s *UpdateStageOutput) SetLastDeploymentStatusMessage(v string) *UpdateStageOutput {
18444	s.LastDeploymentStatusMessage = &v
18445	return s
18446}
18447
18448// SetLastUpdatedDate sets the LastUpdatedDate field's value.
18449func (s *UpdateStageOutput) SetLastUpdatedDate(v time.Time) *UpdateStageOutput {
18450	s.LastUpdatedDate = &v
18451	return s
18452}
18453
18454// SetRouteSettings sets the RouteSettings field's value.
18455func (s *UpdateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageOutput {
18456	s.RouteSettings = v
18457	return s
18458}
18459
18460// SetStageName sets the StageName field's value.
18461func (s *UpdateStageOutput) SetStageName(v string) *UpdateStageOutput {
18462	s.StageName = &v
18463	return s
18464}
18465
18466// SetStageVariables sets the StageVariables field's value.
18467func (s *UpdateStageOutput) SetStageVariables(v map[string]*string) *UpdateStageOutput {
18468	s.StageVariables = v
18469	return s
18470}
18471
18472// SetTags sets the Tags field's value.
18473func (s *UpdateStageOutput) SetTags(v map[string]*string) *UpdateStageOutput {
18474	s.Tags = v
18475	return s
18476}
18477
18478type UpdateVpcLinkInput struct {
18479	_ struct{} `type:"structure"`
18480
18481	// A string with a length between [1-128].
18482	Name *string `locationName:"name" type:"string"`
18483
18484	// VpcLinkId is a required field
18485	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
18486}
18487
18488// String returns the string representation
18489func (s UpdateVpcLinkInput) String() string {
18490	return awsutil.Prettify(s)
18491}
18492
18493// GoString returns the string representation
18494func (s UpdateVpcLinkInput) GoString() string {
18495	return s.String()
18496}
18497
18498// Validate inspects the fields of the type to determine if they are valid.
18499func (s *UpdateVpcLinkInput) Validate() error {
18500	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
18501	if s.VpcLinkId == nil {
18502		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
18503	}
18504	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
18505		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
18506	}
18507
18508	if invalidParams.Len() > 0 {
18509		return invalidParams
18510	}
18511	return nil
18512}
18513
18514// SetName sets the Name field's value.
18515func (s *UpdateVpcLinkInput) SetName(v string) *UpdateVpcLinkInput {
18516	s.Name = &v
18517	return s
18518}
18519
18520// SetVpcLinkId sets the VpcLinkId field's value.
18521func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
18522	s.VpcLinkId = &v
18523	return s
18524}
18525
18526type UpdateVpcLinkOutput struct {
18527	_ struct{} `type:"structure"`
18528
18529	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18530
18531	// A string with a length between [1-128].
18532	Name *string `locationName:"name" type:"string"`
18533
18534	// A list of security group IDs for the VPC link.
18535	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
18536
18537	// A list of subnet IDs to include in the VPC link.
18538	SubnetIds []*string `locationName:"subnetIds" type:"list"`
18539
18540	// Represents a collection of tags associated with the resource.
18541	Tags map[string]*string `locationName:"tags" type:"map"`
18542
18543	// The identifier.
18544	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
18545
18546	// The status of the VPC link.
18547	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
18548
18549	// A string with a length between [0-1024].
18550	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
18551
18552	// The version of the VPC link.
18553	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
18554}
18555
18556// String returns the string representation
18557func (s UpdateVpcLinkOutput) String() string {
18558	return awsutil.Prettify(s)
18559}
18560
18561// GoString returns the string representation
18562func (s UpdateVpcLinkOutput) GoString() string {
18563	return s.String()
18564}
18565
18566// SetCreatedDate sets the CreatedDate field's value.
18567func (s *UpdateVpcLinkOutput) SetCreatedDate(v time.Time) *UpdateVpcLinkOutput {
18568	s.CreatedDate = &v
18569	return s
18570}
18571
18572// SetName sets the Name field's value.
18573func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
18574	s.Name = &v
18575	return s
18576}
18577
18578// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18579func (s *UpdateVpcLinkOutput) SetSecurityGroupIds(v []*string) *UpdateVpcLinkOutput {
18580	s.SecurityGroupIds = v
18581	return s
18582}
18583
18584// SetSubnetIds sets the SubnetIds field's value.
18585func (s *UpdateVpcLinkOutput) SetSubnetIds(v []*string) *UpdateVpcLinkOutput {
18586	s.SubnetIds = v
18587	return s
18588}
18589
18590// SetTags sets the Tags field's value.
18591func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
18592	s.Tags = v
18593	return s
18594}
18595
18596// SetVpcLinkId sets the VpcLinkId field's value.
18597func (s *UpdateVpcLinkOutput) SetVpcLinkId(v string) *UpdateVpcLinkOutput {
18598	s.VpcLinkId = &v
18599	return s
18600}
18601
18602// SetVpcLinkStatus sets the VpcLinkStatus field's value.
18603func (s *UpdateVpcLinkOutput) SetVpcLinkStatus(v string) *UpdateVpcLinkOutput {
18604	s.VpcLinkStatus = &v
18605	return s
18606}
18607
18608// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
18609func (s *UpdateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *UpdateVpcLinkOutput {
18610	s.VpcLinkStatusMessage = &v
18611	return s
18612}
18613
18614// SetVpcLinkVersion sets the VpcLinkVersion field's value.
18615func (s *UpdateVpcLinkOutput) SetVpcLinkVersion(v string) *UpdateVpcLinkOutput {
18616	s.VpcLinkVersion = &v
18617	return s
18618}
18619
18620// Represents a VPC link.
18621type VpcLink struct {
18622	_ struct{} `type:"structure"`
18623
18624	// The timestamp when the VPC link was created.
18625	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
18626
18627	// The name of the VPC link.
18628	//
18629	// Name is a required field
18630	Name *string `locationName:"name" type:"string" required:"true"`
18631
18632	// A list of security group IDs for the VPC link.
18633	//
18634	// SecurityGroupIds is a required field
18635	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
18636
18637	// A list of subnet IDs to include in the VPC link.
18638	//
18639	// SubnetIds is a required field
18640	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
18641
18642	// Tags for the VPC link.
18643	Tags map[string]*string `locationName:"tags" type:"map"`
18644
18645	// The ID of the VPC link.
18646	//
18647	// VpcLinkId is a required field
18648	VpcLinkId *string `locationName:"vpcLinkId" type:"string" required:"true"`
18649
18650	// The status of the VPC link.
18651	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
18652
18653	// A message summarizing the cause of the status of the VPC link.
18654	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
18655
18656	// The version of the VPC link.
18657	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
18658}
18659
18660// String returns the string representation
18661func (s VpcLink) String() string {
18662	return awsutil.Prettify(s)
18663}
18664
18665// GoString returns the string representation
18666func (s VpcLink) GoString() string {
18667	return s.String()
18668}
18669
18670// SetCreatedDate sets the CreatedDate field's value.
18671func (s *VpcLink) SetCreatedDate(v time.Time) *VpcLink {
18672	s.CreatedDate = &v
18673	return s
18674}
18675
18676// SetName sets the Name field's value.
18677func (s *VpcLink) SetName(v string) *VpcLink {
18678	s.Name = &v
18679	return s
18680}
18681
18682// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18683func (s *VpcLink) SetSecurityGroupIds(v []*string) *VpcLink {
18684	s.SecurityGroupIds = v
18685	return s
18686}
18687
18688// SetSubnetIds sets the SubnetIds field's value.
18689func (s *VpcLink) SetSubnetIds(v []*string) *VpcLink {
18690	s.SubnetIds = v
18691	return s
18692}
18693
18694// SetTags sets the Tags field's value.
18695func (s *VpcLink) SetTags(v map[string]*string) *VpcLink {
18696	s.Tags = v
18697	return s
18698}
18699
18700// SetVpcLinkId sets the VpcLinkId field's value.
18701func (s *VpcLink) SetVpcLinkId(v string) *VpcLink {
18702	s.VpcLinkId = &v
18703	return s
18704}
18705
18706// SetVpcLinkStatus sets the VpcLinkStatus field's value.
18707func (s *VpcLink) SetVpcLinkStatus(v string) *VpcLink {
18708	s.VpcLinkStatus = &v
18709	return s
18710}
18711
18712// SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
18713func (s *VpcLink) SetVpcLinkStatusMessage(v string) *VpcLink {
18714	s.VpcLinkStatusMessage = &v
18715	return s
18716}
18717
18718// SetVpcLinkVersion sets the VpcLinkVersion field's value.
18719func (s *VpcLink) SetVpcLinkVersion(v string) *VpcLink {
18720	s.VpcLinkVersion = &v
18721	return s
18722}
18723
18724// The authorization type. For WebSocket APIs, valid values are NONE for open
18725// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
18726// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
18727// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
18728// for using a Lambda authorizer.
18729const (
18730	// AuthorizationTypeNone is a AuthorizationType enum value
18731	AuthorizationTypeNone = "NONE"
18732
18733	// AuthorizationTypeAwsIam is a AuthorizationType enum value
18734	AuthorizationTypeAwsIam = "AWS_IAM"
18735
18736	// AuthorizationTypeCustom is a AuthorizationType enum value
18737	AuthorizationTypeCustom = "CUSTOM"
18738
18739	// AuthorizationTypeJwt is a AuthorizationType enum value
18740	AuthorizationTypeJwt = "JWT"
18741)
18742
18743// AuthorizationType_Values returns all elements of the AuthorizationType enum
18744func AuthorizationType_Values() []string {
18745	return []string{
18746		AuthorizationTypeNone,
18747		AuthorizationTypeAwsIam,
18748		AuthorizationTypeCustom,
18749		AuthorizationTypeJwt,
18750	}
18751}
18752
18753// The authorizer type. Specify REQUEST for a Lambda function using incoming
18754// request parameters. Specify JWT to use JSON Web Tokens (supported only for
18755// HTTP APIs).
18756const (
18757	// AuthorizerTypeRequest is a AuthorizerType enum value
18758	AuthorizerTypeRequest = "REQUEST"
18759
18760	// AuthorizerTypeJwt is a AuthorizerType enum value
18761	AuthorizerTypeJwt = "JWT"
18762)
18763
18764// AuthorizerType_Values returns all elements of the AuthorizerType enum
18765func AuthorizerType_Values() []string {
18766	return []string{
18767		AuthorizerTypeRequest,
18768		AuthorizerTypeJwt,
18769	}
18770}
18771
18772// Represents a connection type.
18773const (
18774	// ConnectionTypeInternet is a ConnectionType enum value
18775	ConnectionTypeInternet = "INTERNET"
18776
18777	// ConnectionTypeVpcLink is a ConnectionType enum value
18778	ConnectionTypeVpcLink = "VPC_LINK"
18779)
18780
18781// ConnectionType_Values returns all elements of the ConnectionType enum
18782func ConnectionType_Values() []string {
18783	return []string{
18784		ConnectionTypeInternet,
18785		ConnectionTypeVpcLink,
18786	}
18787}
18788
18789// Specifies how to handle response payload content type conversions. Supported
18790// only for WebSocket APIs.
18791const (
18792	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
18793	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
18794
18795	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
18796	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
18797)
18798
18799// ContentHandlingStrategy_Values returns all elements of the ContentHandlingStrategy enum
18800func ContentHandlingStrategy_Values() []string {
18801	return []string{
18802		ContentHandlingStrategyConvertToBinary,
18803		ContentHandlingStrategyConvertToText,
18804	}
18805}
18806
18807// Represents a deployment status.
18808const (
18809	// DeploymentStatusPending is a DeploymentStatus enum value
18810	DeploymentStatusPending = "PENDING"
18811
18812	// DeploymentStatusFailed is a DeploymentStatus enum value
18813	DeploymentStatusFailed = "FAILED"
18814
18815	// DeploymentStatusDeployed is a DeploymentStatus enum value
18816	DeploymentStatusDeployed = "DEPLOYED"
18817)
18818
18819// DeploymentStatus_Values returns all elements of the DeploymentStatus enum
18820func DeploymentStatus_Values() []string {
18821	return []string{
18822		DeploymentStatusPending,
18823		DeploymentStatusFailed,
18824		DeploymentStatusDeployed,
18825	}
18826}
18827
18828// The status of the domain name migration. The valid values are AVAILABLE and
18829// UPDATING. If the status is UPDATING, the domain cannot be modified further
18830// until the existing operation is complete. If it is AVAILABLE, the domain
18831// can be updated.
18832const (
18833	// DomainNameStatusAvailable is a DomainNameStatus enum value
18834	DomainNameStatusAvailable = "AVAILABLE"
18835
18836	// DomainNameStatusUpdating is a DomainNameStatus enum value
18837	DomainNameStatusUpdating = "UPDATING"
18838)
18839
18840// DomainNameStatus_Values returns all elements of the DomainNameStatus enum
18841func DomainNameStatus_Values() []string {
18842	return []string{
18843		DomainNameStatusAvailable,
18844		DomainNameStatusUpdating,
18845	}
18846}
18847
18848// Represents an endpoint type.
18849const (
18850	// EndpointTypeRegional is a EndpointType enum value
18851	EndpointTypeRegional = "REGIONAL"
18852
18853	// EndpointTypeEdge is a EndpointType enum value
18854	EndpointTypeEdge = "EDGE"
18855)
18856
18857// EndpointType_Values returns all elements of the EndpointType enum
18858func EndpointType_Values() []string {
18859	return []string{
18860		EndpointTypeRegional,
18861		EndpointTypeEdge,
18862	}
18863}
18864
18865// Represents an API method integration type.
18866const (
18867	// IntegrationTypeAws is a IntegrationType enum value
18868	IntegrationTypeAws = "AWS"
18869
18870	// IntegrationTypeHttp is a IntegrationType enum value
18871	IntegrationTypeHttp = "HTTP"
18872
18873	// IntegrationTypeMock is a IntegrationType enum value
18874	IntegrationTypeMock = "MOCK"
18875
18876	// IntegrationTypeHttpProxy is a IntegrationType enum value
18877	IntegrationTypeHttpProxy = "HTTP_PROXY"
18878
18879	// IntegrationTypeAwsProxy is a IntegrationType enum value
18880	IntegrationTypeAwsProxy = "AWS_PROXY"
18881)
18882
18883// IntegrationType_Values returns all elements of the IntegrationType enum
18884func IntegrationType_Values() []string {
18885	return []string{
18886		IntegrationTypeAws,
18887		IntegrationTypeHttp,
18888		IntegrationTypeMock,
18889		IntegrationTypeHttpProxy,
18890		IntegrationTypeAwsProxy,
18891	}
18892}
18893
18894// The logging level.
18895const (
18896	// LoggingLevelError is a LoggingLevel enum value
18897	LoggingLevelError = "ERROR"
18898
18899	// LoggingLevelInfo is a LoggingLevel enum value
18900	LoggingLevelInfo = "INFO"
18901
18902	// LoggingLevelOff is a LoggingLevel enum value
18903	LoggingLevelOff = "OFF"
18904)
18905
18906// LoggingLevel_Values returns all elements of the LoggingLevel enum
18907func LoggingLevel_Values() []string {
18908	return []string{
18909		LoggingLevelError,
18910		LoggingLevelInfo,
18911		LoggingLevelOff,
18912	}
18913}
18914
18915// Represents passthrough behavior for an integration response. Supported only
18916// for WebSocket APIs.
18917const (
18918	// PassthroughBehaviorWhenNoMatch is a PassthroughBehavior enum value
18919	PassthroughBehaviorWhenNoMatch = "WHEN_NO_MATCH"
18920
18921	// PassthroughBehaviorNever is a PassthroughBehavior enum value
18922	PassthroughBehaviorNever = "NEVER"
18923
18924	// PassthroughBehaviorWhenNoTemplates is a PassthroughBehavior enum value
18925	PassthroughBehaviorWhenNoTemplates = "WHEN_NO_TEMPLATES"
18926)
18927
18928// PassthroughBehavior_Values returns all elements of the PassthroughBehavior enum
18929func PassthroughBehavior_Values() []string {
18930	return []string{
18931		PassthroughBehaviorWhenNoMatch,
18932		PassthroughBehaviorNever,
18933		PassthroughBehaviorWhenNoTemplates,
18934	}
18935}
18936
18937// Represents a protocol type.
18938const (
18939	// ProtocolTypeWebsocket is a ProtocolType enum value
18940	ProtocolTypeWebsocket = "WEBSOCKET"
18941
18942	// ProtocolTypeHttp is a ProtocolType enum value
18943	ProtocolTypeHttp = "HTTP"
18944)
18945
18946// ProtocolType_Values returns all elements of the ProtocolType enum
18947func ProtocolType_Values() []string {
18948	return []string{
18949		ProtocolTypeWebsocket,
18950		ProtocolTypeHttp,
18951	}
18952}
18953
18954// The Transport Layer Security (TLS) version of the security policy for this
18955// domain name. The valid values are TLS_1_0 and TLS_1_2.
18956const (
18957	// SecurityPolicyTls10 is a SecurityPolicy enum value
18958	SecurityPolicyTls10 = "TLS_1_0"
18959
18960	// SecurityPolicyTls12 is a SecurityPolicy enum value
18961	SecurityPolicyTls12 = "TLS_1_2"
18962)
18963
18964// SecurityPolicy_Values returns all elements of the SecurityPolicy enum
18965func SecurityPolicy_Values() []string {
18966	return []string{
18967		SecurityPolicyTls10,
18968		SecurityPolicyTls12,
18969	}
18970}
18971
18972// The status of the VPC link.
18973const (
18974	// VpcLinkStatusPending is a VpcLinkStatus enum value
18975	VpcLinkStatusPending = "PENDING"
18976
18977	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
18978	VpcLinkStatusAvailable = "AVAILABLE"
18979
18980	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
18981	VpcLinkStatusDeleting = "DELETING"
18982
18983	// VpcLinkStatusFailed is a VpcLinkStatus enum value
18984	VpcLinkStatusFailed = "FAILED"
18985
18986	// VpcLinkStatusInactive is a VpcLinkStatus enum value
18987	VpcLinkStatusInactive = "INACTIVE"
18988)
18989
18990// VpcLinkStatus_Values returns all elements of the VpcLinkStatus enum
18991func VpcLinkStatus_Values() []string {
18992	return []string{
18993		VpcLinkStatusPending,
18994		VpcLinkStatusAvailable,
18995		VpcLinkStatusDeleting,
18996		VpcLinkStatusFailed,
18997		VpcLinkStatusInactive,
18998	}
18999}
19000
19001// The version of the VPC link.
19002const (
19003	// VpcLinkVersionV2 is a VpcLinkVersion enum value
19004	VpcLinkVersionV2 = "V2"
19005)
19006
19007// VpcLinkVersion_Values returns all elements of the VpcLinkVersion enum
19008func VpcLinkVersion_Values() []string {
19009	return []string{
19010		VpcLinkVersionV2,
19011	}
19012}
19013