1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package apigateway
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 opCreateApiKey = "CreateApiKey"
17
18// CreateApiKeyRequest generates a "aws/request.Request" representing the
19// client's request for the CreateApiKey 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 CreateApiKey for more information on using the CreateApiKey
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 CreateApiKeyRequest method.
34//    req, resp := client.CreateApiKeyRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40func (c *APIGateway) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *ApiKey) {
41	op := &request.Operation{
42		Name:       opCreateApiKey,
43		HTTPMethod: "POST",
44		HTTPPath:   "/apikeys",
45	}
46
47	if input == nil {
48		input = &CreateApiKeyInput{}
49	}
50
51	output = &ApiKey{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// CreateApiKey API operation for Amazon API Gateway.
57//
58// Create an ApiKey resource.
59//
60// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html)
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 Amazon API Gateway's
67// API operation CreateApiKey for usage and error information.
68//
69// Returned Error Types:
70//   * UnauthorizedException
71//   The request is denied because the caller has insufficient permissions.
72//
73//   * NotFoundException
74//   The requested resource is not found. Make sure that the request URI is correct.
75//
76//   * TooManyRequestsException
77//   The request has reached its throttling limit. Retry after the specified time
78//   period.
79//
80//   * LimitExceededException
81//   The request exceeded the rate limit. Retry after the specified time period.
82//
83//   * BadRequestException
84//   The submitted request is not valid, for example, the input is incomplete
85//   or incorrect. See the accompanying error message for details.
86//
87//   * ConflictException
88//   The request configuration has conflicts. For details, see the accompanying
89//   error message.
90//
91func (c *APIGateway) CreateApiKey(input *CreateApiKeyInput) (*ApiKey, error) {
92	req, out := c.CreateApiKeyRequest(input)
93	return out, req.Send()
94}
95
96// CreateApiKeyWithContext is the same as CreateApiKey with the addition of
97// the ability to pass a context and additional request options.
98//
99// See CreateApiKey for details on how to use this API operation.
100//
101// The context must be non-nil and will be used for request cancellation. If
102// the context is nil a panic will occur. In the future the SDK may create
103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
104// for more information on using Contexts.
105func (c *APIGateway) CreateApiKeyWithContext(ctx aws.Context, input *CreateApiKeyInput, opts ...request.Option) (*ApiKey, error) {
106	req, out := c.CreateApiKeyRequest(input)
107	req.SetContext(ctx)
108	req.ApplyOptions(opts...)
109	return out, req.Send()
110}
111
112const opCreateAuthorizer = "CreateAuthorizer"
113
114// CreateAuthorizerRequest generates a "aws/request.Request" representing the
115// client's request for the CreateAuthorizer operation. The "output" return
116// value will be populated with the request's response once the request completes
117// successfully.
118//
119// Use "Send" method on the returned Request to send the API call to the service.
120// the "output" return value is not valid until after Send returns without error.
121//
122// See CreateAuthorizer for more information on using the CreateAuthorizer
123// API call, and error handling.
124//
125// This method is useful when you want to inject custom logic or configuration
126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
127//
128//
129//    // Example sending a request using the CreateAuthorizerRequest method.
130//    req, resp := client.CreateAuthorizerRequest(params)
131//
132//    err := req.Send()
133//    if err == nil { // resp is now filled
134//        fmt.Println(resp)
135//    }
136func (c *APIGateway) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *Authorizer) {
137	op := &request.Operation{
138		Name:       opCreateAuthorizer,
139		HTTPMethod: "POST",
140		HTTPPath:   "/restapis/{restapi_id}/authorizers",
141	}
142
143	if input == nil {
144		input = &CreateAuthorizerInput{}
145	}
146
147	output = &Authorizer{}
148	req = c.newRequest(op, input, output)
149	return
150}
151
152// CreateAuthorizer API operation for Amazon API Gateway.
153//
154// Adds a new Authorizer resource to an existing RestApi resource.
155//
156// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-authorizer.html)
157//
158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
159// with awserr.Error's Code and Message methods to get detailed information about
160// the error.
161//
162// See the AWS API reference guide for Amazon API Gateway's
163// API operation CreateAuthorizer for usage and error information.
164//
165// Returned Error Types:
166//   * BadRequestException
167//   The submitted request is not valid, for example, the input is incomplete
168//   or incorrect. See the accompanying error message for details.
169//
170//   * UnauthorizedException
171//   The request is denied because the caller has insufficient permissions.
172//
173//   * NotFoundException
174//   The requested resource is not found. Make sure that the request URI is correct.
175//
176//   * LimitExceededException
177//   The request exceeded the rate limit. Retry after the specified time period.
178//
179//   * TooManyRequestsException
180//   The request has reached its throttling limit. Retry after the specified time
181//   period.
182//
183func (c *APIGateway) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error) {
184	req, out := c.CreateAuthorizerRequest(input)
185	return out, req.Send()
186}
187
188// CreateAuthorizerWithContext is the same as CreateAuthorizer with the addition of
189// the ability to pass a context and additional request options.
190//
191// See CreateAuthorizer for details on how to use this API operation.
192//
193// The context must be non-nil and will be used for request cancellation. If
194// the context is nil a panic will occur. In the future the SDK may create
195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
196// for more information on using Contexts.
197func (c *APIGateway) CreateAuthorizerWithContext(ctx aws.Context, input *CreateAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
198	req, out := c.CreateAuthorizerRequest(input)
199	req.SetContext(ctx)
200	req.ApplyOptions(opts...)
201	return out, req.Send()
202}
203
204const opCreateBasePathMapping = "CreateBasePathMapping"
205
206// CreateBasePathMappingRequest generates a "aws/request.Request" representing the
207// client's request for the CreateBasePathMapping operation. The "output" return
208// value will be populated with the request's response once the request completes
209// successfully.
210//
211// Use "Send" method on the returned Request to send the API call to the service.
212// the "output" return value is not valid until after Send returns without error.
213//
214// See CreateBasePathMapping for more information on using the CreateBasePathMapping
215// API call, and error handling.
216//
217// This method is useful when you want to inject custom logic or configuration
218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
219//
220//
221//    // Example sending a request using the CreateBasePathMappingRequest method.
222//    req, resp := client.CreateBasePathMappingRequest(params)
223//
224//    err := req.Send()
225//    if err == nil { // resp is now filled
226//        fmt.Println(resp)
227//    }
228func (c *APIGateway) CreateBasePathMappingRequest(input *CreateBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
229	op := &request.Operation{
230		Name:       opCreateBasePathMapping,
231		HTTPMethod: "POST",
232		HTTPPath:   "/domainnames/{domain_name}/basepathmappings",
233	}
234
235	if input == nil {
236		input = &CreateBasePathMappingInput{}
237	}
238
239	output = &BasePathMapping{}
240	req = c.newRequest(op, input, output)
241	return
242}
243
244// CreateBasePathMapping API operation for Amazon API Gateway.
245//
246// Creates a new BasePathMapping resource.
247//
248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
249// with awserr.Error's Code and Message methods to get detailed information about
250// the error.
251//
252// See the AWS API reference guide for Amazon API Gateway's
253// API operation CreateBasePathMapping for usage and error information.
254//
255// Returned Error Types:
256//   * UnauthorizedException
257//   The request is denied because the caller has insufficient permissions.
258//
259//   * ConflictException
260//   The request configuration has conflicts. For details, see the accompanying
261//   error message.
262//
263//   * BadRequestException
264//   The submitted request is not valid, for example, the input is incomplete
265//   or incorrect. See the accompanying error message for details.
266//
267//   * NotFoundException
268//   The requested resource is not found. Make sure that the request URI is correct.
269//
270//   * TooManyRequestsException
271//   The request has reached its throttling limit. Retry after the specified time
272//   period.
273//
274func (c *APIGateway) CreateBasePathMapping(input *CreateBasePathMappingInput) (*BasePathMapping, error) {
275	req, out := c.CreateBasePathMappingRequest(input)
276	return out, req.Send()
277}
278
279// CreateBasePathMappingWithContext is the same as CreateBasePathMapping with the addition of
280// the ability to pass a context and additional request options.
281//
282// See CreateBasePathMapping for details on how to use this API operation.
283//
284// The context must be non-nil and will be used for request cancellation. If
285// the context is nil a panic will occur. In the future the SDK may create
286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
287// for more information on using Contexts.
288func (c *APIGateway) CreateBasePathMappingWithContext(ctx aws.Context, input *CreateBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
289	req, out := c.CreateBasePathMappingRequest(input)
290	req.SetContext(ctx)
291	req.ApplyOptions(opts...)
292	return out, req.Send()
293}
294
295const opCreateDeployment = "CreateDeployment"
296
297// CreateDeploymentRequest generates a "aws/request.Request" representing the
298// client's request for the CreateDeployment operation. The "output" return
299// value will be populated with the request's response once the request completes
300// successfully.
301//
302// Use "Send" method on the returned Request to send the API call to the service.
303// the "output" return value is not valid until after Send returns without error.
304//
305// See CreateDeployment for more information on using the CreateDeployment
306// API call, and error handling.
307//
308// This method is useful when you want to inject custom logic or configuration
309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
310//
311//
312//    // Example sending a request using the CreateDeploymentRequest method.
313//    req, resp := client.CreateDeploymentRequest(params)
314//
315//    err := req.Send()
316//    if err == nil { // resp is now filled
317//        fmt.Println(resp)
318//    }
319func (c *APIGateway) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *Deployment) {
320	op := &request.Operation{
321		Name:       opCreateDeployment,
322		HTTPMethod: "POST",
323		HTTPPath:   "/restapis/{restapi_id}/deployments",
324	}
325
326	if input == nil {
327		input = &CreateDeploymentInput{}
328	}
329
330	output = &Deployment{}
331	req = c.newRequest(op, input, output)
332	return
333}
334
335// CreateDeployment API operation for Amazon API Gateway.
336//
337// Creates a Deployment resource, which makes a specified RestApi callable over
338// the internet.
339//
340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
341// with awserr.Error's Code and Message methods to get detailed information about
342// the error.
343//
344// See the AWS API reference guide for Amazon API Gateway's
345// API operation CreateDeployment for usage and error information.
346//
347// Returned Error Types:
348//   * UnauthorizedException
349//   The request is denied because the caller has insufficient permissions.
350//
351//   * BadRequestException
352//   The submitted request is not valid, for example, the input is incomplete
353//   or incorrect. See the accompanying error message for details.
354//
355//   * NotFoundException
356//   The requested resource is not found. Make sure that the request URI is correct.
357//
358//   * ConflictException
359//   The request configuration has conflicts. For details, see the accompanying
360//   error message.
361//
362//   * LimitExceededException
363//   The request exceeded the rate limit. Retry after the specified time period.
364//
365//   * TooManyRequestsException
366//   The request has reached its throttling limit. Retry after the specified time
367//   period.
368//
369//   * ServiceUnavailableException
370//   The requested service is not available. For details see the accompanying
371//   error message. Retry after the specified time period.
372//
373func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment, error) {
374	req, out := c.CreateDeploymentRequest(input)
375	return out, req.Send()
376}
377
378// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
379// the ability to pass a context and additional request options.
380//
381// See CreateDeployment for details on how to use this API operation.
382//
383// The context must be non-nil and will be used for request cancellation. If
384// the context is nil a panic will occur. In the future the SDK may create
385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
386// for more information on using Contexts.
387func (c *APIGateway) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*Deployment, error) {
388	req, out := c.CreateDeploymentRequest(input)
389	req.SetContext(ctx)
390	req.ApplyOptions(opts...)
391	return out, req.Send()
392}
393
394const opCreateDocumentationPart = "CreateDocumentationPart"
395
396// CreateDocumentationPartRequest generates a "aws/request.Request" representing the
397// client's request for the CreateDocumentationPart operation. The "output" return
398// value will be populated with the request's response once the request completes
399// successfully.
400//
401// Use "Send" method on the returned Request to send the API call to the service.
402// the "output" return value is not valid until after Send returns without error.
403//
404// See CreateDocumentationPart for more information on using the CreateDocumentationPart
405// API call, and error handling.
406//
407// This method is useful when you want to inject custom logic or configuration
408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
409//
410//
411//    // Example sending a request using the CreateDocumentationPartRequest method.
412//    req, resp := client.CreateDocumentationPartRequest(params)
413//
414//    err := req.Send()
415//    if err == nil { // resp is now filled
416//        fmt.Println(resp)
417//    }
418func (c *APIGateway) CreateDocumentationPartRequest(input *CreateDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
419	op := &request.Operation{
420		Name:       opCreateDocumentationPart,
421		HTTPMethod: "POST",
422		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
423	}
424
425	if input == nil {
426		input = &CreateDocumentationPartInput{}
427	}
428
429	output = &DocumentationPart{}
430	req = c.newRequest(op, input, output)
431	return
432}
433
434// CreateDocumentationPart API operation for Amazon API Gateway.
435//
436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
437// with awserr.Error's Code and Message methods to get detailed information about
438// the error.
439//
440// See the AWS API reference guide for Amazon API Gateway's
441// API operation CreateDocumentationPart for usage and error information.
442//
443// Returned Error Types:
444//   * BadRequestException
445//   The submitted request is not valid, for example, the input is incomplete
446//   or incorrect. See the accompanying error message for details.
447//
448//   * ConflictException
449//   The request configuration has conflicts. For details, see the accompanying
450//   error message.
451//
452//   * UnauthorizedException
453//   The request is denied because the caller has insufficient permissions.
454//
455//   * NotFoundException
456//   The requested resource is not found. Make sure that the request URI is correct.
457//
458//   * LimitExceededException
459//   The request exceeded the rate limit. Retry after the specified time period.
460//
461//   * TooManyRequestsException
462//   The request has reached its throttling limit. Retry after the specified time
463//   period.
464//
465func (c *APIGateway) CreateDocumentationPart(input *CreateDocumentationPartInput) (*DocumentationPart, error) {
466	req, out := c.CreateDocumentationPartRequest(input)
467	return out, req.Send()
468}
469
470// CreateDocumentationPartWithContext is the same as CreateDocumentationPart with the addition of
471// the ability to pass a context and additional request options.
472//
473// See CreateDocumentationPart for details on how to use this API operation.
474//
475// The context must be non-nil and will be used for request cancellation. If
476// the context is nil a panic will occur. In the future the SDK may create
477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
478// for more information on using Contexts.
479func (c *APIGateway) CreateDocumentationPartWithContext(ctx aws.Context, input *CreateDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
480	req, out := c.CreateDocumentationPartRequest(input)
481	req.SetContext(ctx)
482	req.ApplyOptions(opts...)
483	return out, req.Send()
484}
485
486const opCreateDocumentationVersion = "CreateDocumentationVersion"
487
488// CreateDocumentationVersionRequest generates a "aws/request.Request" representing the
489// client's request for the CreateDocumentationVersion operation. The "output" return
490// value will be populated with the request's response once the request completes
491// successfully.
492//
493// Use "Send" method on the returned Request to send the API call to the service.
494// the "output" return value is not valid until after Send returns without error.
495//
496// See CreateDocumentationVersion for more information on using the CreateDocumentationVersion
497// API call, and error handling.
498//
499// This method is useful when you want to inject custom logic or configuration
500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
501//
502//
503//    // Example sending a request using the CreateDocumentationVersionRequest method.
504//    req, resp := client.CreateDocumentationVersionRequest(params)
505//
506//    err := req.Send()
507//    if err == nil { // resp is now filled
508//        fmt.Println(resp)
509//    }
510func (c *APIGateway) CreateDocumentationVersionRequest(input *CreateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
511	op := &request.Operation{
512		Name:       opCreateDocumentationVersion,
513		HTTPMethod: "POST",
514		HTTPPath:   "/restapis/{restapi_id}/documentation/versions",
515	}
516
517	if input == nil {
518		input = &CreateDocumentationVersionInput{}
519	}
520
521	output = &DocumentationVersion{}
522	req = c.newRequest(op, input, output)
523	return
524}
525
526// CreateDocumentationVersion API operation for Amazon API Gateway.
527//
528// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
529// with awserr.Error's Code and Message methods to get detailed information about
530// the error.
531//
532// See the AWS API reference guide for Amazon API Gateway's
533// API operation CreateDocumentationVersion for usage and error information.
534//
535// Returned Error Types:
536//   * BadRequestException
537//   The submitted request is not valid, for example, the input is incomplete
538//   or incorrect. See the accompanying error message for details.
539//
540//   * ConflictException
541//   The request configuration has conflicts. For details, see the accompanying
542//   error message.
543//
544//   * UnauthorizedException
545//   The request is denied because the caller has insufficient permissions.
546//
547//   * NotFoundException
548//   The requested resource is not found. Make sure that the request URI is correct.
549//
550//   * LimitExceededException
551//   The request exceeded the rate limit. Retry after the specified time period.
552//
553//   * TooManyRequestsException
554//   The request has reached its throttling limit. Retry after the specified time
555//   period.
556//
557func (c *APIGateway) CreateDocumentationVersion(input *CreateDocumentationVersionInput) (*DocumentationVersion, error) {
558	req, out := c.CreateDocumentationVersionRequest(input)
559	return out, req.Send()
560}
561
562// CreateDocumentationVersionWithContext is the same as CreateDocumentationVersion with the addition of
563// the ability to pass a context and additional request options.
564//
565// See CreateDocumentationVersion for details on how to use this API operation.
566//
567// The context must be non-nil and will be used for request cancellation. If
568// the context is nil a panic will occur. In the future the SDK may create
569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
570// for more information on using Contexts.
571func (c *APIGateway) CreateDocumentationVersionWithContext(ctx aws.Context, input *CreateDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
572	req, out := c.CreateDocumentationVersionRequest(input)
573	req.SetContext(ctx)
574	req.ApplyOptions(opts...)
575	return out, req.Send()
576}
577
578const opCreateDomainName = "CreateDomainName"
579
580// CreateDomainNameRequest generates a "aws/request.Request" representing the
581// client's request for the CreateDomainName operation. The "output" return
582// value will be populated with the request's response once the request completes
583// successfully.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
587//
588// See CreateDomainName for more information on using the CreateDomainName
589// API call, and error handling.
590//
591// This method is useful when you want to inject custom logic or configuration
592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
593//
594//
595//    // Example sending a request using the CreateDomainNameRequest method.
596//    req, resp := client.CreateDomainNameRequest(params)
597//
598//    err := req.Send()
599//    if err == nil { // resp is now filled
600//        fmt.Println(resp)
601//    }
602func (c *APIGateway) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *DomainName) {
603	op := &request.Operation{
604		Name:       opCreateDomainName,
605		HTTPMethod: "POST",
606		HTTPPath:   "/domainnames",
607	}
608
609	if input == nil {
610		input = &CreateDomainNameInput{}
611	}
612
613	output = &DomainName{}
614	req = c.newRequest(op, input, output)
615	return
616}
617
618// CreateDomainName API operation for Amazon API Gateway.
619//
620// Creates a new domain name.
621//
622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
623// with awserr.Error's Code and Message methods to get detailed information about
624// the error.
625//
626// See the AWS API reference guide for Amazon API Gateway's
627// API operation CreateDomainName for usage and error information.
628//
629// Returned Error Types:
630//   * UnauthorizedException
631//   The request is denied because the caller has insufficient permissions.
632//
633//   * BadRequestException
634//   The submitted request is not valid, for example, the input is incomplete
635//   or incorrect. See the accompanying error message for details.
636//
637//   * ConflictException
638//   The request configuration has conflicts. For details, see the accompanying
639//   error message.
640//
641//   * TooManyRequestsException
642//   The request has reached its throttling limit. Retry after the specified time
643//   period.
644//
645func (c *APIGateway) CreateDomainName(input *CreateDomainNameInput) (*DomainName, error) {
646	req, out := c.CreateDomainNameRequest(input)
647	return out, req.Send()
648}
649
650// CreateDomainNameWithContext is the same as CreateDomainName with the addition of
651// the ability to pass a context and additional request options.
652//
653// See CreateDomainName for details on how to use this API operation.
654//
655// The context must be non-nil and will be used for request cancellation. If
656// the context is nil a panic will occur. In the future the SDK may create
657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
658// for more information on using Contexts.
659func (c *APIGateway) CreateDomainNameWithContext(ctx aws.Context, input *CreateDomainNameInput, opts ...request.Option) (*DomainName, error) {
660	req, out := c.CreateDomainNameRequest(input)
661	req.SetContext(ctx)
662	req.ApplyOptions(opts...)
663	return out, req.Send()
664}
665
666const opCreateModel = "CreateModel"
667
668// CreateModelRequest generates a "aws/request.Request" representing the
669// client's request for the CreateModel operation. The "output" return
670// value will be populated with the request's response once the request completes
671// successfully.
672//
673// Use "Send" method on the returned Request to send the API call to the service.
674// the "output" return value is not valid until after Send returns without error.
675//
676// See CreateModel for more information on using the CreateModel
677// API call, and error handling.
678//
679// This method is useful when you want to inject custom logic or configuration
680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
681//
682//
683//    // Example sending a request using the CreateModelRequest method.
684//    req, resp := client.CreateModelRequest(params)
685//
686//    err := req.Send()
687//    if err == nil { // resp is now filled
688//        fmt.Println(resp)
689//    }
690func (c *APIGateway) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *Model) {
691	op := &request.Operation{
692		Name:       opCreateModel,
693		HTTPMethod: "POST",
694		HTTPPath:   "/restapis/{restapi_id}/models",
695	}
696
697	if input == nil {
698		input = &CreateModelInput{}
699	}
700
701	output = &Model{}
702	req = c.newRequest(op, input, output)
703	return
704}
705
706// CreateModel API operation for Amazon API Gateway.
707//
708// Adds a new Model resource to an existing RestApi resource.
709//
710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
711// with awserr.Error's Code and Message methods to get detailed information about
712// the error.
713//
714// See the AWS API reference guide for Amazon API Gateway's
715// API operation CreateModel for usage and error information.
716//
717// Returned Error Types:
718//   * BadRequestException
719//   The submitted request is not valid, for example, the input is incomplete
720//   or incorrect. See the accompanying error message for details.
721//
722//   * UnauthorizedException
723//   The request is denied because the caller has insufficient permissions.
724//
725//   * NotFoundException
726//   The requested resource is not found. Make sure that the request URI is correct.
727//
728//   * ConflictException
729//   The request configuration has conflicts. For details, see the accompanying
730//   error message.
731//
732//   * LimitExceededException
733//   The request exceeded the rate limit. Retry after the specified time period.
734//
735//   * TooManyRequestsException
736//   The request has reached its throttling limit. Retry after the specified time
737//   period.
738//
739func (c *APIGateway) CreateModel(input *CreateModelInput) (*Model, error) {
740	req, out := c.CreateModelRequest(input)
741	return out, req.Send()
742}
743
744// CreateModelWithContext is the same as CreateModel with the addition of
745// the ability to pass a context and additional request options.
746//
747// See CreateModel for details on how to use this API operation.
748//
749// The context must be non-nil and will be used for request cancellation. If
750// the context is nil a panic will occur. In the future the SDK may create
751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
752// for more information on using Contexts.
753func (c *APIGateway) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*Model, error) {
754	req, out := c.CreateModelRequest(input)
755	req.SetContext(ctx)
756	req.ApplyOptions(opts...)
757	return out, req.Send()
758}
759
760const opCreateRequestValidator = "CreateRequestValidator"
761
762// CreateRequestValidatorRequest generates a "aws/request.Request" representing the
763// client's request for the CreateRequestValidator operation. The "output" return
764// value will be populated with the request's response once the request completes
765// successfully.
766//
767// Use "Send" method on the returned Request to send the API call to the service.
768// the "output" return value is not valid until after Send returns without error.
769//
770// See CreateRequestValidator for more information on using the CreateRequestValidator
771// API call, and error handling.
772//
773// This method is useful when you want to inject custom logic or configuration
774// into the SDK's request lifecycle. Such as custom headers, or retry logic.
775//
776//
777//    // Example sending a request using the CreateRequestValidatorRequest method.
778//    req, resp := client.CreateRequestValidatorRequest(params)
779//
780//    err := req.Send()
781//    if err == nil { // resp is now filled
782//        fmt.Println(resp)
783//    }
784func (c *APIGateway) CreateRequestValidatorRequest(input *CreateRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
785	op := &request.Operation{
786		Name:       opCreateRequestValidator,
787		HTTPMethod: "POST",
788		HTTPPath:   "/restapis/{restapi_id}/requestvalidators",
789	}
790
791	if input == nil {
792		input = &CreateRequestValidatorInput{}
793	}
794
795	output = &UpdateRequestValidatorOutput{}
796	req = c.newRequest(op, input, output)
797	return
798}
799
800// CreateRequestValidator API operation for Amazon API Gateway.
801//
802// Creates a ReqeustValidator of a given RestApi.
803//
804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
805// with awserr.Error's Code and Message methods to get detailed information about
806// the error.
807//
808// See the AWS API reference guide for Amazon API Gateway's
809// API operation CreateRequestValidator for usage and error information.
810//
811// Returned Error Types:
812//   * BadRequestException
813//   The submitted request is not valid, for example, the input is incomplete
814//   or incorrect. See the accompanying error message for details.
815//
816//   * UnauthorizedException
817//   The request is denied because the caller has insufficient permissions.
818//
819//   * NotFoundException
820//   The requested resource is not found. Make sure that the request URI is correct.
821//
822//   * LimitExceededException
823//   The request exceeded the rate limit. Retry after the specified time period.
824//
825//   * TooManyRequestsException
826//   The request has reached its throttling limit. Retry after the specified time
827//   period.
828//
829func (c *APIGateway) CreateRequestValidator(input *CreateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
830	req, out := c.CreateRequestValidatorRequest(input)
831	return out, req.Send()
832}
833
834// CreateRequestValidatorWithContext is the same as CreateRequestValidator with the addition of
835// the ability to pass a context and additional request options.
836//
837// See CreateRequestValidator for details on how to use this API operation.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *APIGateway) CreateRequestValidatorWithContext(ctx aws.Context, input *CreateRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
844	req, out := c.CreateRequestValidatorRequest(input)
845	req.SetContext(ctx)
846	req.ApplyOptions(opts...)
847	return out, req.Send()
848}
849
850const opCreateResource = "CreateResource"
851
852// CreateResourceRequest generates a "aws/request.Request" representing the
853// client's request for the CreateResource operation. The "output" return
854// value will be populated with the request's response once the request completes
855// successfully.
856//
857// Use "Send" method on the returned Request to send the API call to the service.
858// the "output" return value is not valid until after Send returns without error.
859//
860// See CreateResource for more information on using the CreateResource
861// API call, and error handling.
862//
863// This method is useful when you want to inject custom logic or configuration
864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
865//
866//
867//    // Example sending a request using the CreateResourceRequest method.
868//    req, resp := client.CreateResourceRequest(params)
869//
870//    err := req.Send()
871//    if err == nil { // resp is now filled
872//        fmt.Println(resp)
873//    }
874func (c *APIGateway) CreateResourceRequest(input *CreateResourceInput) (req *request.Request, output *Resource) {
875	op := &request.Operation{
876		Name:       opCreateResource,
877		HTTPMethod: "POST",
878		HTTPPath:   "/restapis/{restapi_id}/resources/{parent_id}",
879	}
880
881	if input == nil {
882		input = &CreateResourceInput{}
883	}
884
885	output = &Resource{}
886	req = c.newRequest(op, input, output)
887	return
888}
889
890// CreateResource API operation for Amazon API Gateway.
891//
892// Creates a Resource resource.
893//
894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
895// with awserr.Error's Code and Message methods to get detailed information about
896// the error.
897//
898// See the AWS API reference guide for Amazon API Gateway's
899// API operation CreateResource for usage and error information.
900//
901// Returned Error Types:
902//   * UnauthorizedException
903//   The request is denied because the caller has insufficient permissions.
904//
905//   * NotFoundException
906//   The requested resource is not found. Make sure that the request URI is correct.
907//
908//   * ConflictException
909//   The request configuration has conflicts. For details, see the accompanying
910//   error message.
911//
912//   * LimitExceededException
913//   The request exceeded the rate limit. Retry after the specified time period.
914//
915//   * BadRequestException
916//   The submitted request is not valid, for example, the input is incomplete
917//   or incorrect. See the accompanying error message for details.
918//
919//   * TooManyRequestsException
920//   The request has reached its throttling limit. Retry after the specified time
921//   period.
922//
923func (c *APIGateway) CreateResource(input *CreateResourceInput) (*Resource, error) {
924	req, out := c.CreateResourceRequest(input)
925	return out, req.Send()
926}
927
928// CreateResourceWithContext is the same as CreateResource with the addition of
929// the ability to pass a context and additional request options.
930//
931// See CreateResource for details on how to use this API operation.
932//
933// The context must be non-nil and will be used for request cancellation. If
934// the context is nil a panic will occur. In the future the SDK may create
935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
936// for more information on using Contexts.
937func (c *APIGateway) CreateResourceWithContext(ctx aws.Context, input *CreateResourceInput, opts ...request.Option) (*Resource, error) {
938	req, out := c.CreateResourceRequest(input)
939	req.SetContext(ctx)
940	req.ApplyOptions(opts...)
941	return out, req.Send()
942}
943
944const opCreateRestApi = "CreateRestApi"
945
946// CreateRestApiRequest generates a "aws/request.Request" representing the
947// client's request for the CreateRestApi operation. The "output" return
948// value will be populated with the request's response once the request completes
949// successfully.
950//
951// Use "Send" method on the returned Request to send the API call to the service.
952// the "output" return value is not valid until after Send returns without error.
953//
954// See CreateRestApi for more information on using the CreateRestApi
955// API call, and error handling.
956//
957// This method is useful when you want to inject custom logic or configuration
958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
959//
960//
961//    // Example sending a request using the CreateRestApiRequest method.
962//    req, resp := client.CreateRestApiRequest(params)
963//
964//    err := req.Send()
965//    if err == nil { // resp is now filled
966//        fmt.Println(resp)
967//    }
968func (c *APIGateway) CreateRestApiRequest(input *CreateRestApiInput) (req *request.Request, output *RestApi) {
969	op := &request.Operation{
970		Name:       opCreateRestApi,
971		HTTPMethod: "POST",
972		HTTPPath:   "/restapis",
973	}
974
975	if input == nil {
976		input = &CreateRestApiInput{}
977	}
978
979	output = &RestApi{}
980	req = c.newRequest(op, input, output)
981	return
982}
983
984// CreateRestApi API operation for Amazon API Gateway.
985//
986// Creates a new RestApi resource.
987//
988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
989// with awserr.Error's Code and Message methods to get detailed information about
990// the error.
991//
992// See the AWS API reference guide for Amazon API Gateway's
993// API operation CreateRestApi for usage and error information.
994//
995// Returned Error Types:
996//   * UnauthorizedException
997//   The request is denied because the caller has insufficient permissions.
998//
999//   * LimitExceededException
1000//   The request exceeded the rate limit. Retry after the specified time period.
1001//
1002//   * BadRequestException
1003//   The submitted request is not valid, for example, the input is incomplete
1004//   or incorrect. See the accompanying error message for details.
1005//
1006//   * TooManyRequestsException
1007//   The request has reached its throttling limit. Retry after the specified time
1008//   period.
1009//
1010func (c *APIGateway) CreateRestApi(input *CreateRestApiInput) (*RestApi, error) {
1011	req, out := c.CreateRestApiRequest(input)
1012	return out, req.Send()
1013}
1014
1015// CreateRestApiWithContext is the same as CreateRestApi with the addition of
1016// the ability to pass a context and additional request options.
1017//
1018// See CreateRestApi for details on how to use this API operation.
1019//
1020// The context must be non-nil and will be used for request cancellation. If
1021// the context is nil a panic will occur. In the future the SDK may create
1022// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1023// for more information on using Contexts.
1024func (c *APIGateway) CreateRestApiWithContext(ctx aws.Context, input *CreateRestApiInput, opts ...request.Option) (*RestApi, error) {
1025	req, out := c.CreateRestApiRequest(input)
1026	req.SetContext(ctx)
1027	req.ApplyOptions(opts...)
1028	return out, req.Send()
1029}
1030
1031const opCreateStage = "CreateStage"
1032
1033// CreateStageRequest generates a "aws/request.Request" representing the
1034// client's request for the CreateStage operation. The "output" return
1035// value will be populated with the request's response once the request completes
1036// successfully.
1037//
1038// Use "Send" method on the returned Request to send the API call to the service.
1039// the "output" return value is not valid until after Send returns without error.
1040//
1041// See CreateStage for more information on using the CreateStage
1042// API call, and error handling.
1043//
1044// This method is useful when you want to inject custom logic or configuration
1045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1046//
1047//
1048//    // Example sending a request using the CreateStageRequest method.
1049//    req, resp := client.CreateStageRequest(params)
1050//
1051//    err := req.Send()
1052//    if err == nil { // resp is now filled
1053//        fmt.Println(resp)
1054//    }
1055func (c *APIGateway) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *Stage) {
1056	op := &request.Operation{
1057		Name:       opCreateStage,
1058		HTTPMethod: "POST",
1059		HTTPPath:   "/restapis/{restapi_id}/stages",
1060	}
1061
1062	if input == nil {
1063		input = &CreateStageInput{}
1064	}
1065
1066	output = &Stage{}
1067	req = c.newRequest(op, input, output)
1068	return
1069}
1070
1071// CreateStage API operation for Amazon API Gateway.
1072//
1073// Creates a new Stage resource that references a pre-existing Deployment for
1074// the API.
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 Amazon API Gateway's
1081// API operation CreateStage for usage and error information.
1082//
1083// Returned Error Types:
1084//   * UnauthorizedException
1085//   The request is denied because the caller has insufficient permissions.
1086//
1087//   * BadRequestException
1088//   The submitted request is not valid, for example, the input is incomplete
1089//   or incorrect. See the accompanying error message for details.
1090//
1091//   * NotFoundException
1092//   The requested resource is not found. Make sure that the request URI is correct.
1093//
1094//   * ConflictException
1095//   The request configuration has conflicts. For details, see the accompanying
1096//   error message.
1097//
1098//   * LimitExceededException
1099//   The request exceeded the rate limit. Retry after the specified time period.
1100//
1101//   * TooManyRequestsException
1102//   The request has reached its throttling limit. Retry after the specified time
1103//   period.
1104//
1105func (c *APIGateway) CreateStage(input *CreateStageInput) (*Stage, error) {
1106	req, out := c.CreateStageRequest(input)
1107	return out, req.Send()
1108}
1109
1110// CreateStageWithContext is the same as CreateStage with the addition of
1111// the ability to pass a context and additional request options.
1112//
1113// See CreateStage for details on how to use this API operation.
1114//
1115// The context must be non-nil and will be used for request cancellation. If
1116// the context is nil a panic will occur. In the future the SDK may create
1117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1118// for more information on using Contexts.
1119func (c *APIGateway) CreateStageWithContext(ctx aws.Context, input *CreateStageInput, opts ...request.Option) (*Stage, error) {
1120	req, out := c.CreateStageRequest(input)
1121	req.SetContext(ctx)
1122	req.ApplyOptions(opts...)
1123	return out, req.Send()
1124}
1125
1126const opCreateUsagePlan = "CreateUsagePlan"
1127
1128// CreateUsagePlanRequest generates a "aws/request.Request" representing the
1129// client's request for the CreateUsagePlan operation. The "output" return
1130// value will be populated with the request's response once the request completes
1131// successfully.
1132//
1133// Use "Send" method on the returned Request to send the API call to the service.
1134// the "output" return value is not valid until after Send returns without error.
1135//
1136// See CreateUsagePlan for more information on using the CreateUsagePlan
1137// API call, and error handling.
1138//
1139// This method is useful when you want to inject custom logic or configuration
1140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1141//
1142//
1143//    // Example sending a request using the CreateUsagePlanRequest method.
1144//    req, resp := client.CreateUsagePlanRequest(params)
1145//
1146//    err := req.Send()
1147//    if err == nil { // resp is now filled
1148//        fmt.Println(resp)
1149//    }
1150func (c *APIGateway) CreateUsagePlanRequest(input *CreateUsagePlanInput) (req *request.Request, output *UsagePlan) {
1151	op := &request.Operation{
1152		Name:       opCreateUsagePlan,
1153		HTTPMethod: "POST",
1154		HTTPPath:   "/usageplans",
1155	}
1156
1157	if input == nil {
1158		input = &CreateUsagePlanInput{}
1159	}
1160
1161	output = &UsagePlan{}
1162	req = c.newRequest(op, input, output)
1163	return
1164}
1165
1166// CreateUsagePlan API operation for Amazon API Gateway.
1167//
1168// Creates a usage plan with the throttle and quota limits, as well as the associated
1169// API stages, specified in the payload.
1170//
1171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1172// with awserr.Error's Code and Message methods to get detailed information about
1173// the error.
1174//
1175// See the AWS API reference guide for Amazon API Gateway's
1176// API operation CreateUsagePlan for usage and error information.
1177//
1178// Returned Error Types:
1179//   * BadRequestException
1180//   The submitted request is not valid, for example, the input is incomplete
1181//   or incorrect. See the accompanying error message for details.
1182//
1183//   * UnauthorizedException
1184//   The request is denied because the caller has insufficient permissions.
1185//
1186//   * TooManyRequestsException
1187//   The request has reached its throttling limit. Retry after the specified time
1188//   period.
1189//
1190//   * LimitExceededException
1191//   The request exceeded the rate limit. Retry after the specified time period.
1192//
1193//   * ConflictException
1194//   The request configuration has conflicts. For details, see the accompanying
1195//   error message.
1196//
1197//   * NotFoundException
1198//   The requested resource is not found. Make sure that the request URI is correct.
1199//
1200func (c *APIGateway) CreateUsagePlan(input *CreateUsagePlanInput) (*UsagePlan, error) {
1201	req, out := c.CreateUsagePlanRequest(input)
1202	return out, req.Send()
1203}
1204
1205// CreateUsagePlanWithContext is the same as CreateUsagePlan with the addition of
1206// the ability to pass a context and additional request options.
1207//
1208// See CreateUsagePlan for details on how to use this API operation.
1209//
1210// The context must be non-nil and will be used for request cancellation. If
1211// the context is nil a panic will occur. In the future the SDK may create
1212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1213// for more information on using Contexts.
1214func (c *APIGateway) CreateUsagePlanWithContext(ctx aws.Context, input *CreateUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
1215	req, out := c.CreateUsagePlanRequest(input)
1216	req.SetContext(ctx)
1217	req.ApplyOptions(opts...)
1218	return out, req.Send()
1219}
1220
1221const opCreateUsagePlanKey = "CreateUsagePlanKey"
1222
1223// CreateUsagePlanKeyRequest generates a "aws/request.Request" representing the
1224// client's request for the CreateUsagePlanKey operation. The "output" return
1225// value will be populated with the request's response once the request completes
1226// successfully.
1227//
1228// Use "Send" method on the returned Request to send the API call to the service.
1229// the "output" return value is not valid until after Send returns without error.
1230//
1231// See CreateUsagePlanKey for more information on using the CreateUsagePlanKey
1232// API call, and error handling.
1233//
1234// This method is useful when you want to inject custom logic or configuration
1235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1236//
1237//
1238//    // Example sending a request using the CreateUsagePlanKeyRequest method.
1239//    req, resp := client.CreateUsagePlanKeyRequest(params)
1240//
1241//    err := req.Send()
1242//    if err == nil { // resp is now filled
1243//        fmt.Println(resp)
1244//    }
1245func (c *APIGateway) CreateUsagePlanKeyRequest(input *CreateUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) {
1246	op := &request.Operation{
1247		Name:       opCreateUsagePlanKey,
1248		HTTPMethod: "POST",
1249		HTTPPath:   "/usageplans/{usageplanId}/keys",
1250	}
1251
1252	if input == nil {
1253		input = &CreateUsagePlanKeyInput{}
1254	}
1255
1256	output = &UsagePlanKey{}
1257	req = c.newRequest(op, input, output)
1258	return
1259}
1260
1261// CreateUsagePlanKey API operation for Amazon API Gateway.
1262//
1263// Creates a usage plan key for adding an existing API key to a usage plan.
1264//
1265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1266// with awserr.Error's Code and Message methods to get detailed information about
1267// the error.
1268//
1269// See the AWS API reference guide for Amazon API Gateway's
1270// API operation CreateUsagePlanKey for usage and error information.
1271//
1272// Returned Error Types:
1273//   * BadRequestException
1274//   The submitted request is not valid, for example, the input is incomplete
1275//   or incorrect. See the accompanying error message for details.
1276//
1277//   * ConflictException
1278//   The request configuration has conflicts. For details, see the accompanying
1279//   error message.
1280//
1281//   * UnauthorizedException
1282//   The request is denied because the caller has insufficient permissions.
1283//
1284//   * NotFoundException
1285//   The requested resource is not found. Make sure that the request URI is correct.
1286//
1287//   * TooManyRequestsException
1288//   The request has reached its throttling limit. Retry after the specified time
1289//   period.
1290//
1291func (c *APIGateway) CreateUsagePlanKey(input *CreateUsagePlanKeyInput) (*UsagePlanKey, error) {
1292	req, out := c.CreateUsagePlanKeyRequest(input)
1293	return out, req.Send()
1294}
1295
1296// CreateUsagePlanKeyWithContext is the same as CreateUsagePlanKey with the addition of
1297// the ability to pass a context and additional request options.
1298//
1299// See CreateUsagePlanKey for details on how to use this API operation.
1300//
1301// The context must be non-nil and will be used for request cancellation. If
1302// the context is nil a panic will occur. In the future the SDK may create
1303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1304// for more information on using Contexts.
1305func (c *APIGateway) CreateUsagePlanKeyWithContext(ctx aws.Context, input *CreateUsagePlanKeyInput, opts ...request.Option) (*UsagePlanKey, error) {
1306	req, out := c.CreateUsagePlanKeyRequest(input)
1307	req.SetContext(ctx)
1308	req.ApplyOptions(opts...)
1309	return out, req.Send()
1310}
1311
1312const opCreateVpcLink = "CreateVpcLink"
1313
1314// CreateVpcLinkRequest generates a "aws/request.Request" representing the
1315// client's request for the CreateVpcLink operation. The "output" return
1316// value will be populated with the request's response once the request completes
1317// successfully.
1318//
1319// Use "Send" method on the returned Request to send the API call to the service.
1320// the "output" return value is not valid until after Send returns without error.
1321//
1322// See CreateVpcLink for more information on using the CreateVpcLink
1323// API call, and error handling.
1324//
1325// This method is useful when you want to inject custom logic or configuration
1326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1327//
1328//
1329//    // Example sending a request using the CreateVpcLinkRequest method.
1330//    req, resp := client.CreateVpcLinkRequest(params)
1331//
1332//    err := req.Send()
1333//    if err == nil { // resp is now filled
1334//        fmt.Println(resp)
1335//    }
1336func (c *APIGateway) CreateVpcLinkRequest(input *CreateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
1337	op := &request.Operation{
1338		Name:       opCreateVpcLink,
1339		HTTPMethod: "POST",
1340		HTTPPath:   "/vpclinks",
1341	}
1342
1343	if input == nil {
1344		input = &CreateVpcLinkInput{}
1345	}
1346
1347	output = &UpdateVpcLinkOutput{}
1348	req = c.newRequest(op, input, output)
1349	return
1350}
1351
1352// CreateVpcLink API operation for Amazon API Gateway.
1353//
1354// Creates a VPC link, under the caller's account in a selected region, in an
1355// asynchronous operation that typically takes 2-4 minutes to complete and become
1356// operational. The caller must have permissions to create and update VPC Endpoint
1357// services.
1358//
1359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1360// with awserr.Error's Code and Message methods to get detailed information about
1361// the error.
1362//
1363// See the AWS API reference guide for Amazon API Gateway's
1364// API operation CreateVpcLink for usage and error information.
1365//
1366// Returned Error Types:
1367//   * UnauthorizedException
1368//   The request is denied because the caller has insufficient permissions.
1369//
1370//   * BadRequestException
1371//   The submitted request is not valid, for example, the input is incomplete
1372//   or incorrect. See the accompanying error message for details.
1373//
1374//   * TooManyRequestsException
1375//   The request has reached its throttling limit. Retry after the specified time
1376//   period.
1377//
1378func (c *APIGateway) CreateVpcLink(input *CreateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
1379	req, out := c.CreateVpcLinkRequest(input)
1380	return out, req.Send()
1381}
1382
1383// CreateVpcLinkWithContext is the same as CreateVpcLink with the addition of
1384// the ability to pass a context and additional request options.
1385//
1386// See CreateVpcLink for details on how to use this API operation.
1387//
1388// The context must be non-nil and will be used for request cancellation. If
1389// the context is nil a panic will occur. In the future the SDK may create
1390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1391// for more information on using Contexts.
1392func (c *APIGateway) CreateVpcLinkWithContext(ctx aws.Context, input *CreateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
1393	req, out := c.CreateVpcLinkRequest(input)
1394	req.SetContext(ctx)
1395	req.ApplyOptions(opts...)
1396	return out, req.Send()
1397}
1398
1399const opDeleteApiKey = "DeleteApiKey"
1400
1401// DeleteApiKeyRequest generates a "aws/request.Request" representing the
1402// client's request for the DeleteApiKey operation. The "output" return
1403// value will be populated with the request's response once the request completes
1404// successfully.
1405//
1406// Use "Send" method on the returned Request to send the API call to the service.
1407// the "output" return value is not valid until after Send returns without error.
1408//
1409// See DeleteApiKey for more information on using the DeleteApiKey
1410// API call, and error handling.
1411//
1412// This method is useful when you want to inject custom logic or configuration
1413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1414//
1415//
1416//    // Example sending a request using the DeleteApiKeyRequest method.
1417//    req, resp := client.DeleteApiKeyRequest(params)
1418//
1419//    err := req.Send()
1420//    if err == nil { // resp is now filled
1421//        fmt.Println(resp)
1422//    }
1423func (c *APIGateway) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) {
1424	op := &request.Operation{
1425		Name:       opDeleteApiKey,
1426		HTTPMethod: "DELETE",
1427		HTTPPath:   "/apikeys/{api_Key}",
1428	}
1429
1430	if input == nil {
1431		input = &DeleteApiKeyInput{}
1432	}
1433
1434	output = &DeleteApiKeyOutput{}
1435	req = c.newRequest(op, input, output)
1436	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1437	return
1438}
1439
1440// DeleteApiKey API operation for Amazon API Gateway.
1441//
1442// Deletes the ApiKey resource.
1443//
1444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1445// with awserr.Error's Code and Message methods to get detailed information about
1446// the error.
1447//
1448// See the AWS API reference guide for Amazon API Gateway's
1449// API operation DeleteApiKey for usage and error information.
1450//
1451// Returned Error Types:
1452//   * UnauthorizedException
1453//   The request is denied because the caller has insufficient permissions.
1454//
1455//   * NotFoundException
1456//   The requested resource is not found. Make sure that the request URI is correct.
1457//
1458//   * TooManyRequestsException
1459//   The request has reached its throttling limit. Retry after the specified time
1460//   period.
1461//
1462func (c *APIGateway) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) {
1463	req, out := c.DeleteApiKeyRequest(input)
1464	return out, req.Send()
1465}
1466
1467// DeleteApiKeyWithContext is the same as DeleteApiKey with the addition of
1468// the ability to pass a context and additional request options.
1469//
1470// See DeleteApiKey for details on how to use this API operation.
1471//
1472// The context must be non-nil and will be used for request cancellation. If
1473// the context is nil a panic will occur. In the future the SDK may create
1474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1475// for more information on using Contexts.
1476func (c *APIGateway) DeleteApiKeyWithContext(ctx aws.Context, input *DeleteApiKeyInput, opts ...request.Option) (*DeleteApiKeyOutput, error) {
1477	req, out := c.DeleteApiKeyRequest(input)
1478	req.SetContext(ctx)
1479	req.ApplyOptions(opts...)
1480	return out, req.Send()
1481}
1482
1483const opDeleteAuthorizer = "DeleteAuthorizer"
1484
1485// DeleteAuthorizerRequest generates a "aws/request.Request" representing the
1486// client's request for the DeleteAuthorizer operation. The "output" return
1487// value will be populated with the request's response once the request completes
1488// successfully.
1489//
1490// Use "Send" method on the returned Request to send the API call to the service.
1491// the "output" return value is not valid until after Send returns without error.
1492//
1493// See DeleteAuthorizer for more information on using the DeleteAuthorizer
1494// API call, and error handling.
1495//
1496// This method is useful when you want to inject custom logic or configuration
1497// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1498//
1499//
1500//    // Example sending a request using the DeleteAuthorizerRequest method.
1501//    req, resp := client.DeleteAuthorizerRequest(params)
1502//
1503//    err := req.Send()
1504//    if err == nil { // resp is now filled
1505//        fmt.Println(resp)
1506//    }
1507func (c *APIGateway) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) {
1508	op := &request.Operation{
1509		Name:       opDeleteAuthorizer,
1510		HTTPMethod: "DELETE",
1511		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
1512	}
1513
1514	if input == nil {
1515		input = &DeleteAuthorizerInput{}
1516	}
1517
1518	output = &DeleteAuthorizerOutput{}
1519	req = c.newRequest(op, input, output)
1520	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1521	return
1522}
1523
1524// DeleteAuthorizer API operation for Amazon API Gateway.
1525//
1526// Deletes an existing Authorizer resource.
1527//
1528// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/delete-authorizer.html)
1529//
1530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1531// with awserr.Error's Code and Message methods to get detailed information about
1532// the error.
1533//
1534// See the AWS API reference guide for Amazon API Gateway's
1535// API operation DeleteAuthorizer for usage and error information.
1536//
1537// Returned Error Types:
1538//   * UnauthorizedException
1539//   The request is denied because the caller has insufficient permissions.
1540//
1541//   * NotFoundException
1542//   The requested resource is not found. Make sure that the request URI is correct.
1543//
1544//   * TooManyRequestsException
1545//   The request has reached its throttling limit. Retry after the specified time
1546//   period.
1547//
1548//   * BadRequestException
1549//   The submitted request is not valid, for example, the input is incomplete
1550//   or incorrect. See the accompanying error message for details.
1551//
1552//   * ConflictException
1553//   The request configuration has conflicts. For details, see the accompanying
1554//   error message.
1555//
1556func (c *APIGateway) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) {
1557	req, out := c.DeleteAuthorizerRequest(input)
1558	return out, req.Send()
1559}
1560
1561// DeleteAuthorizerWithContext is the same as DeleteAuthorizer with the addition of
1562// the ability to pass a context and additional request options.
1563//
1564// See DeleteAuthorizer for details on how to use this API operation.
1565//
1566// The context must be non-nil and will be used for request cancellation. If
1567// the context is nil a panic will occur. In the future the SDK may create
1568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1569// for more information on using Contexts.
1570func (c *APIGateway) DeleteAuthorizerWithContext(ctx aws.Context, input *DeleteAuthorizerInput, opts ...request.Option) (*DeleteAuthorizerOutput, error) {
1571	req, out := c.DeleteAuthorizerRequest(input)
1572	req.SetContext(ctx)
1573	req.ApplyOptions(opts...)
1574	return out, req.Send()
1575}
1576
1577const opDeleteBasePathMapping = "DeleteBasePathMapping"
1578
1579// DeleteBasePathMappingRequest generates a "aws/request.Request" representing the
1580// client's request for the DeleteBasePathMapping operation. The "output" return
1581// value will be populated with the request's response once the request completes
1582// successfully.
1583//
1584// Use "Send" method on the returned Request to send the API call to the service.
1585// the "output" return value is not valid until after Send returns without error.
1586//
1587// See DeleteBasePathMapping for more information on using the DeleteBasePathMapping
1588// API call, and error handling.
1589//
1590// This method is useful when you want to inject custom logic or configuration
1591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1592//
1593//
1594//    // Example sending a request using the DeleteBasePathMappingRequest method.
1595//    req, resp := client.DeleteBasePathMappingRequest(params)
1596//
1597//    err := req.Send()
1598//    if err == nil { // resp is now filled
1599//        fmt.Println(resp)
1600//    }
1601func (c *APIGateway) DeleteBasePathMappingRequest(input *DeleteBasePathMappingInput) (req *request.Request, output *DeleteBasePathMappingOutput) {
1602	op := &request.Operation{
1603		Name:       opDeleteBasePathMapping,
1604		HTTPMethod: "DELETE",
1605		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
1606	}
1607
1608	if input == nil {
1609		input = &DeleteBasePathMappingInput{}
1610	}
1611
1612	output = &DeleteBasePathMappingOutput{}
1613	req = c.newRequest(op, input, output)
1614	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1615	return
1616}
1617
1618// DeleteBasePathMapping API operation for Amazon API Gateway.
1619//
1620// Deletes the BasePathMapping resource.
1621//
1622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1623// with awserr.Error's Code and Message methods to get detailed information about
1624// the error.
1625//
1626// See the AWS API reference guide for Amazon API Gateway's
1627// API operation DeleteBasePathMapping for usage and error information.
1628//
1629// Returned Error Types:
1630//   * UnauthorizedException
1631//   The request is denied because the caller has insufficient permissions.
1632//
1633//   * NotFoundException
1634//   The requested resource is not found. Make sure that the request URI is correct.
1635//
1636//   * ConflictException
1637//   The request configuration has conflicts. For details, see the accompanying
1638//   error message.
1639//
1640//   * BadRequestException
1641//   The submitted request is not valid, for example, the input is incomplete
1642//   or incorrect. See the accompanying error message for details.
1643//
1644//   * TooManyRequestsException
1645//   The request has reached its throttling limit. Retry after the specified time
1646//   period.
1647//
1648func (c *APIGateway) DeleteBasePathMapping(input *DeleteBasePathMappingInput) (*DeleteBasePathMappingOutput, error) {
1649	req, out := c.DeleteBasePathMappingRequest(input)
1650	return out, req.Send()
1651}
1652
1653// DeleteBasePathMappingWithContext is the same as DeleteBasePathMapping with the addition of
1654// the ability to pass a context and additional request options.
1655//
1656// See DeleteBasePathMapping for details on how to use this API operation.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *APIGateway) DeleteBasePathMappingWithContext(ctx aws.Context, input *DeleteBasePathMappingInput, opts ...request.Option) (*DeleteBasePathMappingOutput, error) {
1663	req, out := c.DeleteBasePathMappingRequest(input)
1664	req.SetContext(ctx)
1665	req.ApplyOptions(opts...)
1666	return out, req.Send()
1667}
1668
1669const opDeleteClientCertificate = "DeleteClientCertificate"
1670
1671// DeleteClientCertificateRequest generates a "aws/request.Request" representing the
1672// client's request for the DeleteClientCertificate operation. The "output" return
1673// value will be populated with the request's response once the request completes
1674// successfully.
1675//
1676// Use "Send" method on the returned Request to send the API call to the service.
1677// the "output" return value is not valid until after Send returns without error.
1678//
1679// See DeleteClientCertificate for more information on using the DeleteClientCertificate
1680// API call, and error handling.
1681//
1682// This method is useful when you want to inject custom logic or configuration
1683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1684//
1685//
1686//    // Example sending a request using the DeleteClientCertificateRequest method.
1687//    req, resp := client.DeleteClientCertificateRequest(params)
1688//
1689//    err := req.Send()
1690//    if err == nil { // resp is now filled
1691//        fmt.Println(resp)
1692//    }
1693func (c *APIGateway) DeleteClientCertificateRequest(input *DeleteClientCertificateInput) (req *request.Request, output *DeleteClientCertificateOutput) {
1694	op := &request.Operation{
1695		Name:       opDeleteClientCertificate,
1696		HTTPMethod: "DELETE",
1697		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
1698	}
1699
1700	if input == nil {
1701		input = &DeleteClientCertificateInput{}
1702	}
1703
1704	output = &DeleteClientCertificateOutput{}
1705	req = c.newRequest(op, input, output)
1706	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1707	return
1708}
1709
1710// DeleteClientCertificate API operation for Amazon API Gateway.
1711//
1712// Deletes the ClientCertificate resource.
1713//
1714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1715// with awserr.Error's Code and Message methods to get detailed information about
1716// the error.
1717//
1718// See the AWS API reference guide for Amazon API Gateway's
1719// API operation DeleteClientCertificate for usage and error information.
1720//
1721// Returned Error Types:
1722//   * UnauthorizedException
1723//   The request is denied because the caller has insufficient permissions.
1724//
1725//   * TooManyRequestsException
1726//   The request has reached its throttling limit. Retry after the specified time
1727//   period.
1728//
1729//   * BadRequestException
1730//   The submitted request is not valid, for example, the input is incomplete
1731//   or incorrect. See the accompanying error message for details.
1732//
1733//   * NotFoundException
1734//   The requested resource is not found. Make sure that the request URI is correct.
1735//
1736func (c *APIGateway) DeleteClientCertificate(input *DeleteClientCertificateInput) (*DeleteClientCertificateOutput, error) {
1737	req, out := c.DeleteClientCertificateRequest(input)
1738	return out, req.Send()
1739}
1740
1741// DeleteClientCertificateWithContext is the same as DeleteClientCertificate with the addition of
1742// the ability to pass a context and additional request options.
1743//
1744// See DeleteClientCertificate for details on how to use this API operation.
1745//
1746// The context must be non-nil and will be used for request cancellation. If
1747// the context is nil a panic will occur. In the future the SDK may create
1748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1749// for more information on using Contexts.
1750func (c *APIGateway) DeleteClientCertificateWithContext(ctx aws.Context, input *DeleteClientCertificateInput, opts ...request.Option) (*DeleteClientCertificateOutput, error) {
1751	req, out := c.DeleteClientCertificateRequest(input)
1752	req.SetContext(ctx)
1753	req.ApplyOptions(opts...)
1754	return out, req.Send()
1755}
1756
1757const opDeleteDeployment = "DeleteDeployment"
1758
1759// DeleteDeploymentRequest generates a "aws/request.Request" representing the
1760// client's request for the DeleteDeployment operation. The "output" return
1761// value will be populated with the request's response once the request completes
1762// successfully.
1763//
1764// Use "Send" method on the returned Request to send the API call to the service.
1765// the "output" return value is not valid until after Send returns without error.
1766//
1767// See DeleteDeployment for more information on using the DeleteDeployment
1768// API call, and error handling.
1769//
1770// This method is useful when you want to inject custom logic or configuration
1771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1772//
1773//
1774//    // Example sending a request using the DeleteDeploymentRequest method.
1775//    req, resp := client.DeleteDeploymentRequest(params)
1776//
1777//    err := req.Send()
1778//    if err == nil { // resp is now filled
1779//        fmt.Println(resp)
1780//    }
1781func (c *APIGateway) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) {
1782	op := &request.Operation{
1783		Name:       opDeleteDeployment,
1784		HTTPMethod: "DELETE",
1785		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
1786	}
1787
1788	if input == nil {
1789		input = &DeleteDeploymentInput{}
1790	}
1791
1792	output = &DeleteDeploymentOutput{}
1793	req = c.newRequest(op, input, output)
1794	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1795	return
1796}
1797
1798// DeleteDeployment API operation for Amazon API Gateway.
1799//
1800// Deletes a Deployment resource. Deleting a deployment will only succeed if
1801// there are no Stage resources associated with it.
1802//
1803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1804// with awserr.Error's Code and Message methods to get detailed information about
1805// the error.
1806//
1807// See the AWS API reference guide for Amazon API Gateway's
1808// API operation DeleteDeployment for usage and error information.
1809//
1810// Returned Error Types:
1811//   * UnauthorizedException
1812//   The request is denied because the caller has insufficient permissions.
1813//
1814//   * NotFoundException
1815//   The requested resource is not found. Make sure that the request URI is correct.
1816//
1817//   * BadRequestException
1818//   The submitted request is not valid, for example, the input is incomplete
1819//   or incorrect. See the accompanying error message for details.
1820//
1821//   * TooManyRequestsException
1822//   The request has reached its throttling limit. Retry after the specified time
1823//   period.
1824//
1825func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) {
1826	req, out := c.DeleteDeploymentRequest(input)
1827	return out, req.Send()
1828}
1829
1830// DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of
1831// the ability to pass a context and additional request options.
1832//
1833// See DeleteDeployment for details on how to use this API operation.
1834//
1835// The context must be non-nil and will be used for request cancellation. If
1836// the context is nil a panic will occur. In the future the SDK may create
1837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1838// for more information on using Contexts.
1839func (c *APIGateway) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) {
1840	req, out := c.DeleteDeploymentRequest(input)
1841	req.SetContext(ctx)
1842	req.ApplyOptions(opts...)
1843	return out, req.Send()
1844}
1845
1846const opDeleteDocumentationPart = "DeleteDocumentationPart"
1847
1848// DeleteDocumentationPartRequest generates a "aws/request.Request" representing the
1849// client's request for the DeleteDocumentationPart operation. The "output" return
1850// value will be populated with the request's response once the request completes
1851// successfully.
1852//
1853// Use "Send" method on the returned Request to send the API call to the service.
1854// the "output" return value is not valid until after Send returns without error.
1855//
1856// See DeleteDocumentationPart for more information on using the DeleteDocumentationPart
1857// API call, and error handling.
1858//
1859// This method is useful when you want to inject custom logic or configuration
1860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1861//
1862//
1863//    // Example sending a request using the DeleteDocumentationPartRequest method.
1864//    req, resp := client.DeleteDocumentationPartRequest(params)
1865//
1866//    err := req.Send()
1867//    if err == nil { // resp is now filled
1868//        fmt.Println(resp)
1869//    }
1870func (c *APIGateway) DeleteDocumentationPartRequest(input *DeleteDocumentationPartInput) (req *request.Request, output *DeleteDocumentationPartOutput) {
1871	op := &request.Operation{
1872		Name:       opDeleteDocumentationPart,
1873		HTTPMethod: "DELETE",
1874		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
1875	}
1876
1877	if input == nil {
1878		input = &DeleteDocumentationPartInput{}
1879	}
1880
1881	output = &DeleteDocumentationPartOutput{}
1882	req = c.newRequest(op, input, output)
1883	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1884	return
1885}
1886
1887// DeleteDocumentationPart API operation for Amazon API Gateway.
1888//
1889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1890// with awserr.Error's Code and Message methods to get detailed information about
1891// the error.
1892//
1893// See the AWS API reference guide for Amazon API Gateway's
1894// API operation DeleteDocumentationPart for usage and error information.
1895//
1896// Returned Error Types:
1897//   * UnauthorizedException
1898//   The request is denied because the caller has insufficient permissions.
1899//
1900//   * NotFoundException
1901//   The requested resource is not found. Make sure that the request URI is correct.
1902//
1903//   * TooManyRequestsException
1904//   The request has reached its throttling limit. Retry after the specified time
1905//   period.
1906//
1907//   * ConflictException
1908//   The request configuration has conflicts. For details, see the accompanying
1909//   error message.
1910//
1911//   * BadRequestException
1912//   The submitted request is not valid, for example, the input is incomplete
1913//   or incorrect. See the accompanying error message for details.
1914//
1915func (c *APIGateway) DeleteDocumentationPart(input *DeleteDocumentationPartInput) (*DeleteDocumentationPartOutput, error) {
1916	req, out := c.DeleteDocumentationPartRequest(input)
1917	return out, req.Send()
1918}
1919
1920// DeleteDocumentationPartWithContext is the same as DeleteDocumentationPart with the addition of
1921// the ability to pass a context and additional request options.
1922//
1923// See DeleteDocumentationPart for details on how to use this API operation.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *APIGateway) DeleteDocumentationPartWithContext(ctx aws.Context, input *DeleteDocumentationPartInput, opts ...request.Option) (*DeleteDocumentationPartOutput, error) {
1930	req, out := c.DeleteDocumentationPartRequest(input)
1931	req.SetContext(ctx)
1932	req.ApplyOptions(opts...)
1933	return out, req.Send()
1934}
1935
1936const opDeleteDocumentationVersion = "DeleteDocumentationVersion"
1937
1938// DeleteDocumentationVersionRequest generates a "aws/request.Request" representing the
1939// client's request for the DeleteDocumentationVersion operation. The "output" return
1940// value will be populated with the request's response once the request completes
1941// successfully.
1942//
1943// Use "Send" method on the returned Request to send the API call to the service.
1944// the "output" return value is not valid until after Send returns without error.
1945//
1946// See DeleteDocumentationVersion for more information on using the DeleteDocumentationVersion
1947// API call, and error handling.
1948//
1949// This method is useful when you want to inject custom logic or configuration
1950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1951//
1952//
1953//    // Example sending a request using the DeleteDocumentationVersionRequest method.
1954//    req, resp := client.DeleteDocumentationVersionRequest(params)
1955//
1956//    err := req.Send()
1957//    if err == nil { // resp is now filled
1958//        fmt.Println(resp)
1959//    }
1960func (c *APIGateway) DeleteDocumentationVersionRequest(input *DeleteDocumentationVersionInput) (req *request.Request, output *DeleteDocumentationVersionOutput) {
1961	op := &request.Operation{
1962		Name:       opDeleteDocumentationVersion,
1963		HTTPMethod: "DELETE",
1964		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
1965	}
1966
1967	if input == nil {
1968		input = &DeleteDocumentationVersionInput{}
1969	}
1970
1971	output = &DeleteDocumentationVersionOutput{}
1972	req = c.newRequest(op, input, output)
1973	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1974	return
1975}
1976
1977// DeleteDocumentationVersion API operation for Amazon API Gateway.
1978//
1979// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1980// with awserr.Error's Code and Message methods to get detailed information about
1981// the error.
1982//
1983// See the AWS API reference guide for Amazon API Gateway's
1984// API operation DeleteDocumentationVersion for usage and error information.
1985//
1986// Returned Error Types:
1987//   * UnauthorizedException
1988//   The request is denied because the caller has insufficient permissions.
1989//
1990//   * NotFoundException
1991//   The requested resource is not found. Make sure that the request URI is correct.
1992//
1993//   * BadRequestException
1994//   The submitted request is not valid, for example, the input is incomplete
1995//   or incorrect. See the accompanying error message for details.
1996//
1997//   * ConflictException
1998//   The request configuration has conflicts. For details, see the accompanying
1999//   error message.
2000//
2001//   * TooManyRequestsException
2002//   The request has reached its throttling limit. Retry after the specified time
2003//   period.
2004//
2005func (c *APIGateway) DeleteDocumentationVersion(input *DeleteDocumentationVersionInput) (*DeleteDocumentationVersionOutput, error) {
2006	req, out := c.DeleteDocumentationVersionRequest(input)
2007	return out, req.Send()
2008}
2009
2010// DeleteDocumentationVersionWithContext is the same as DeleteDocumentationVersion with the addition of
2011// the ability to pass a context and additional request options.
2012//
2013// See DeleteDocumentationVersion for details on how to use this API operation.
2014//
2015// The context must be non-nil and will be used for request cancellation. If
2016// the context is nil a panic will occur. In the future the SDK may create
2017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2018// for more information on using Contexts.
2019func (c *APIGateway) DeleteDocumentationVersionWithContext(ctx aws.Context, input *DeleteDocumentationVersionInput, opts ...request.Option) (*DeleteDocumentationVersionOutput, error) {
2020	req, out := c.DeleteDocumentationVersionRequest(input)
2021	req.SetContext(ctx)
2022	req.ApplyOptions(opts...)
2023	return out, req.Send()
2024}
2025
2026const opDeleteDomainName = "DeleteDomainName"
2027
2028// DeleteDomainNameRequest generates a "aws/request.Request" representing the
2029// client's request for the DeleteDomainName operation. The "output" return
2030// value will be populated with the request's response once the request completes
2031// successfully.
2032//
2033// Use "Send" method on the returned Request to send the API call to the service.
2034// the "output" return value is not valid until after Send returns without error.
2035//
2036// See DeleteDomainName for more information on using the DeleteDomainName
2037// API call, and error handling.
2038//
2039// This method is useful when you want to inject custom logic or configuration
2040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2041//
2042//
2043//    // Example sending a request using the DeleteDomainNameRequest method.
2044//    req, resp := client.DeleteDomainNameRequest(params)
2045//
2046//    err := req.Send()
2047//    if err == nil { // resp is now filled
2048//        fmt.Println(resp)
2049//    }
2050func (c *APIGateway) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) {
2051	op := &request.Operation{
2052		Name:       opDeleteDomainName,
2053		HTTPMethod: "DELETE",
2054		HTTPPath:   "/domainnames/{domain_name}",
2055	}
2056
2057	if input == nil {
2058		input = &DeleteDomainNameInput{}
2059	}
2060
2061	output = &DeleteDomainNameOutput{}
2062	req = c.newRequest(op, input, output)
2063	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2064	return
2065}
2066
2067// DeleteDomainName API operation for Amazon API Gateway.
2068//
2069// Deletes the DomainName resource.
2070//
2071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2072// with awserr.Error's Code and Message methods to get detailed information about
2073// the error.
2074//
2075// See the AWS API reference guide for Amazon API Gateway's
2076// API operation DeleteDomainName for usage and error information.
2077//
2078// Returned Error Types:
2079//   * UnauthorizedException
2080//   The request is denied because the caller has insufficient permissions.
2081//
2082//   * NotFoundException
2083//   The requested resource is not found. Make sure that the request URI is correct.
2084//
2085//   * TooManyRequestsException
2086//   The request has reached its throttling limit. Retry after the specified time
2087//   period.
2088//
2089//   * BadRequestException
2090//   The submitted request is not valid, for example, the input is incomplete
2091//   or incorrect. See the accompanying error message for details.
2092//
2093func (c *APIGateway) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) {
2094	req, out := c.DeleteDomainNameRequest(input)
2095	return out, req.Send()
2096}
2097
2098// DeleteDomainNameWithContext is the same as DeleteDomainName with the addition of
2099// the ability to pass a context and additional request options.
2100//
2101// See DeleteDomainName for details on how to use this API operation.
2102//
2103// The context must be non-nil and will be used for request cancellation. If
2104// the context is nil a panic will occur. In the future the SDK may create
2105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2106// for more information on using Contexts.
2107func (c *APIGateway) DeleteDomainNameWithContext(ctx aws.Context, input *DeleteDomainNameInput, opts ...request.Option) (*DeleteDomainNameOutput, error) {
2108	req, out := c.DeleteDomainNameRequest(input)
2109	req.SetContext(ctx)
2110	req.ApplyOptions(opts...)
2111	return out, req.Send()
2112}
2113
2114const opDeleteGatewayResponse = "DeleteGatewayResponse"
2115
2116// DeleteGatewayResponseRequest generates a "aws/request.Request" representing the
2117// client's request for the DeleteGatewayResponse operation. The "output" return
2118// value will be populated with the request's response once the request completes
2119// successfully.
2120//
2121// Use "Send" method on the returned Request to send the API call to the service.
2122// the "output" return value is not valid until after Send returns without error.
2123//
2124// See DeleteGatewayResponse for more information on using the DeleteGatewayResponse
2125// API call, and error handling.
2126//
2127// This method is useful when you want to inject custom logic or configuration
2128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2129//
2130//
2131//    // Example sending a request using the DeleteGatewayResponseRequest method.
2132//    req, resp := client.DeleteGatewayResponseRequest(params)
2133//
2134//    err := req.Send()
2135//    if err == nil { // resp is now filled
2136//        fmt.Println(resp)
2137//    }
2138func (c *APIGateway) DeleteGatewayResponseRequest(input *DeleteGatewayResponseInput) (req *request.Request, output *DeleteGatewayResponseOutput) {
2139	op := &request.Operation{
2140		Name:       opDeleteGatewayResponse,
2141		HTTPMethod: "DELETE",
2142		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
2143	}
2144
2145	if input == nil {
2146		input = &DeleteGatewayResponseInput{}
2147	}
2148
2149	output = &DeleteGatewayResponseOutput{}
2150	req = c.newRequest(op, input, output)
2151	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2152	return
2153}
2154
2155// DeleteGatewayResponse API operation for Amazon API Gateway.
2156//
2157// Clears any customization of a GatewayResponse of a specified response type
2158// on the given RestApi and resets it with the default settings.
2159//
2160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2161// with awserr.Error's Code and Message methods to get detailed information about
2162// the error.
2163//
2164// See the AWS API reference guide for Amazon API Gateway's
2165// API operation DeleteGatewayResponse for usage and error information.
2166//
2167// Returned Error Types:
2168//   * UnauthorizedException
2169//   The request is denied because the caller has insufficient permissions.
2170//
2171//   * NotFoundException
2172//   The requested resource is not found. Make sure that the request URI is correct.
2173//
2174//   * TooManyRequestsException
2175//   The request has reached its throttling limit. Retry after the specified time
2176//   period.
2177//
2178//   * BadRequestException
2179//   The submitted request is not valid, for example, the input is incomplete
2180//   or incorrect. See the accompanying error message for details.
2181//
2182//   * ConflictException
2183//   The request configuration has conflicts. For details, see the accompanying
2184//   error message.
2185//
2186func (c *APIGateway) DeleteGatewayResponse(input *DeleteGatewayResponseInput) (*DeleteGatewayResponseOutput, error) {
2187	req, out := c.DeleteGatewayResponseRequest(input)
2188	return out, req.Send()
2189}
2190
2191// DeleteGatewayResponseWithContext is the same as DeleteGatewayResponse with the addition of
2192// the ability to pass a context and additional request options.
2193//
2194// See DeleteGatewayResponse for details on how to use this API operation.
2195//
2196// The context must be non-nil and will be used for request cancellation. If
2197// the context is nil a panic will occur. In the future the SDK may create
2198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2199// for more information on using Contexts.
2200func (c *APIGateway) DeleteGatewayResponseWithContext(ctx aws.Context, input *DeleteGatewayResponseInput, opts ...request.Option) (*DeleteGatewayResponseOutput, error) {
2201	req, out := c.DeleteGatewayResponseRequest(input)
2202	req.SetContext(ctx)
2203	req.ApplyOptions(opts...)
2204	return out, req.Send()
2205}
2206
2207const opDeleteIntegration = "DeleteIntegration"
2208
2209// DeleteIntegrationRequest generates a "aws/request.Request" representing the
2210// client's request for the DeleteIntegration operation. The "output" return
2211// value will be populated with the request's response once the request completes
2212// successfully.
2213//
2214// Use "Send" method on the returned Request to send the API call to the service.
2215// the "output" return value is not valid until after Send returns without error.
2216//
2217// See DeleteIntegration for more information on using the DeleteIntegration
2218// API call, and error handling.
2219//
2220// This method is useful when you want to inject custom logic or configuration
2221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2222//
2223//
2224//    // Example sending a request using the DeleteIntegrationRequest method.
2225//    req, resp := client.DeleteIntegrationRequest(params)
2226//
2227//    err := req.Send()
2228//    if err == nil { // resp is now filled
2229//        fmt.Println(resp)
2230//    }
2231func (c *APIGateway) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) {
2232	op := &request.Operation{
2233		Name:       opDeleteIntegration,
2234		HTTPMethod: "DELETE",
2235		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
2236	}
2237
2238	if input == nil {
2239		input = &DeleteIntegrationInput{}
2240	}
2241
2242	output = &DeleteIntegrationOutput{}
2243	req = c.newRequest(op, input, output)
2244	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2245	return
2246}
2247
2248// DeleteIntegration API operation for Amazon API Gateway.
2249//
2250// Represents a delete integration.
2251//
2252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2253// with awserr.Error's Code and Message methods to get detailed information about
2254// the error.
2255//
2256// See the AWS API reference guide for Amazon API Gateway's
2257// API operation DeleteIntegration for usage and error information.
2258//
2259// Returned Error Types:
2260//   * UnauthorizedException
2261//   The request is denied because the caller has insufficient permissions.
2262//
2263//   * NotFoundException
2264//   The requested resource is not found. Make sure that the request URI is correct.
2265//
2266//   * TooManyRequestsException
2267//   The request has reached its throttling limit. Retry after the specified time
2268//   period.
2269//
2270//   * ConflictException
2271//   The request configuration has conflicts. For details, see the accompanying
2272//   error message.
2273//
2274func (c *APIGateway) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) {
2275	req, out := c.DeleteIntegrationRequest(input)
2276	return out, req.Send()
2277}
2278
2279// DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of
2280// the ability to pass a context and additional request options.
2281//
2282// See DeleteIntegration for details on how to use this API operation.
2283//
2284// The context must be non-nil and will be used for request cancellation. If
2285// the context is nil a panic will occur. In the future the SDK may create
2286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2287// for more information on using Contexts.
2288func (c *APIGateway) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) {
2289	req, out := c.DeleteIntegrationRequest(input)
2290	req.SetContext(ctx)
2291	req.ApplyOptions(opts...)
2292	return out, req.Send()
2293}
2294
2295const opDeleteIntegrationResponse = "DeleteIntegrationResponse"
2296
2297// DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the
2298// client's request for the DeleteIntegrationResponse operation. The "output" return
2299// value will be populated with the request's response once the request completes
2300// successfully.
2301//
2302// Use "Send" method on the returned Request to send the API call to the service.
2303// the "output" return value is not valid until after Send returns without error.
2304//
2305// See DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse
2306// API call, and error handling.
2307//
2308// This method is useful when you want to inject custom logic or configuration
2309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2310//
2311//
2312//    // Example sending a request using the DeleteIntegrationResponseRequest method.
2313//    req, resp := client.DeleteIntegrationResponseRequest(params)
2314//
2315//    err := req.Send()
2316//    if err == nil { // resp is now filled
2317//        fmt.Println(resp)
2318//    }
2319func (c *APIGateway) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) {
2320	op := &request.Operation{
2321		Name:       opDeleteIntegrationResponse,
2322		HTTPMethod: "DELETE",
2323		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
2324	}
2325
2326	if input == nil {
2327		input = &DeleteIntegrationResponseInput{}
2328	}
2329
2330	output = &DeleteIntegrationResponseOutput{}
2331	req = c.newRequest(op, input, output)
2332	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2333	return
2334}
2335
2336// DeleteIntegrationResponse API operation for Amazon API Gateway.
2337//
2338// Represents a delete integration response.
2339//
2340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2341// with awserr.Error's Code and Message methods to get detailed information about
2342// the error.
2343//
2344// See the AWS API reference guide for Amazon API Gateway's
2345// API operation DeleteIntegrationResponse for usage and error information.
2346//
2347// Returned Error Types:
2348//   * UnauthorizedException
2349//   The request is denied because the caller has insufficient permissions.
2350//
2351//   * NotFoundException
2352//   The requested resource is not found. Make sure that the request URI is correct.
2353//
2354//   * TooManyRequestsException
2355//   The request has reached its throttling limit. Retry after the specified time
2356//   period.
2357//
2358//   * BadRequestException
2359//   The submitted request is not valid, for example, the input is incomplete
2360//   or incorrect. See the accompanying error message for details.
2361//
2362//   * ConflictException
2363//   The request configuration has conflicts. For details, see the accompanying
2364//   error message.
2365//
2366func (c *APIGateway) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) {
2367	req, out := c.DeleteIntegrationResponseRequest(input)
2368	return out, req.Send()
2369}
2370
2371// DeleteIntegrationResponseWithContext is the same as DeleteIntegrationResponse with the addition of
2372// the ability to pass a context and additional request options.
2373//
2374// See DeleteIntegrationResponse for details on how to use this API operation.
2375//
2376// The context must be non-nil and will be used for request cancellation. If
2377// the context is nil a panic will occur. In the future the SDK may create
2378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2379// for more information on using Contexts.
2380func (c *APIGateway) DeleteIntegrationResponseWithContext(ctx aws.Context, input *DeleteIntegrationResponseInput, opts ...request.Option) (*DeleteIntegrationResponseOutput, error) {
2381	req, out := c.DeleteIntegrationResponseRequest(input)
2382	req.SetContext(ctx)
2383	req.ApplyOptions(opts...)
2384	return out, req.Send()
2385}
2386
2387const opDeleteMethod = "DeleteMethod"
2388
2389// DeleteMethodRequest generates a "aws/request.Request" representing the
2390// client's request for the DeleteMethod operation. The "output" return
2391// value will be populated with the request's response once the request completes
2392// successfully.
2393//
2394// Use "Send" method on the returned Request to send the API call to the service.
2395// the "output" return value is not valid until after Send returns without error.
2396//
2397// See DeleteMethod for more information on using the DeleteMethod
2398// API call, and error handling.
2399//
2400// This method is useful when you want to inject custom logic or configuration
2401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2402//
2403//
2404//    // Example sending a request using the DeleteMethodRequest method.
2405//    req, resp := client.DeleteMethodRequest(params)
2406//
2407//    err := req.Send()
2408//    if err == nil { // resp is now filled
2409//        fmt.Println(resp)
2410//    }
2411func (c *APIGateway) DeleteMethodRequest(input *DeleteMethodInput) (req *request.Request, output *DeleteMethodOutput) {
2412	op := &request.Operation{
2413		Name:       opDeleteMethod,
2414		HTTPMethod: "DELETE",
2415		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
2416	}
2417
2418	if input == nil {
2419		input = &DeleteMethodInput{}
2420	}
2421
2422	output = &DeleteMethodOutput{}
2423	req = c.newRequest(op, input, output)
2424	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2425	return
2426}
2427
2428// DeleteMethod API operation for Amazon API Gateway.
2429//
2430// Deletes an existing Method resource.
2431//
2432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2433// with awserr.Error's Code and Message methods to get detailed information about
2434// the error.
2435//
2436// See the AWS API reference guide for Amazon API Gateway's
2437// API operation DeleteMethod for usage and error information.
2438//
2439// Returned Error Types:
2440//   * UnauthorizedException
2441//   The request is denied because the caller has insufficient permissions.
2442//
2443//   * NotFoundException
2444//   The requested resource is not found. Make sure that the request URI is correct.
2445//
2446//   * TooManyRequestsException
2447//   The request has reached its throttling limit. Retry after the specified time
2448//   period.
2449//
2450//   * ConflictException
2451//   The request configuration has conflicts. For details, see the accompanying
2452//   error message.
2453//
2454func (c *APIGateway) DeleteMethod(input *DeleteMethodInput) (*DeleteMethodOutput, error) {
2455	req, out := c.DeleteMethodRequest(input)
2456	return out, req.Send()
2457}
2458
2459// DeleteMethodWithContext is the same as DeleteMethod with the addition of
2460// the ability to pass a context and additional request options.
2461//
2462// See DeleteMethod for details on how to use this API operation.
2463//
2464// The context must be non-nil and will be used for request cancellation. If
2465// the context is nil a panic will occur. In the future the SDK may create
2466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2467// for more information on using Contexts.
2468func (c *APIGateway) DeleteMethodWithContext(ctx aws.Context, input *DeleteMethodInput, opts ...request.Option) (*DeleteMethodOutput, error) {
2469	req, out := c.DeleteMethodRequest(input)
2470	req.SetContext(ctx)
2471	req.ApplyOptions(opts...)
2472	return out, req.Send()
2473}
2474
2475const opDeleteMethodResponse = "DeleteMethodResponse"
2476
2477// DeleteMethodResponseRequest generates a "aws/request.Request" representing the
2478// client's request for the DeleteMethodResponse operation. The "output" return
2479// value will be populated with the request's response once the request completes
2480// successfully.
2481//
2482// Use "Send" method on the returned Request to send the API call to the service.
2483// the "output" return value is not valid until after Send returns without error.
2484//
2485// See DeleteMethodResponse for more information on using the DeleteMethodResponse
2486// API call, and error handling.
2487//
2488// This method is useful when you want to inject custom logic or configuration
2489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2490//
2491//
2492//    // Example sending a request using the DeleteMethodResponseRequest method.
2493//    req, resp := client.DeleteMethodResponseRequest(params)
2494//
2495//    err := req.Send()
2496//    if err == nil { // resp is now filled
2497//        fmt.Println(resp)
2498//    }
2499func (c *APIGateway) DeleteMethodResponseRequest(input *DeleteMethodResponseInput) (req *request.Request, output *DeleteMethodResponseOutput) {
2500	op := &request.Operation{
2501		Name:       opDeleteMethodResponse,
2502		HTTPMethod: "DELETE",
2503		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
2504	}
2505
2506	if input == nil {
2507		input = &DeleteMethodResponseInput{}
2508	}
2509
2510	output = &DeleteMethodResponseOutput{}
2511	req = c.newRequest(op, input, output)
2512	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2513	return
2514}
2515
2516// DeleteMethodResponse API operation for Amazon API Gateway.
2517//
2518// Deletes an existing MethodResponse resource.
2519//
2520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2521// with awserr.Error's Code and Message methods to get detailed information about
2522// the error.
2523//
2524// See the AWS API reference guide for Amazon API Gateway's
2525// API operation DeleteMethodResponse for usage and error information.
2526//
2527// Returned Error Types:
2528//   * UnauthorizedException
2529//   The request is denied because the caller has insufficient permissions.
2530//
2531//   * NotFoundException
2532//   The requested resource is not found. Make sure that the request URI is correct.
2533//
2534//   * TooManyRequestsException
2535//   The request has reached its throttling limit. Retry after the specified time
2536//   period.
2537//
2538//   * BadRequestException
2539//   The submitted request is not valid, for example, the input is incomplete
2540//   or incorrect. See the accompanying error message for details.
2541//
2542//   * ConflictException
2543//   The request configuration has conflicts. For details, see the accompanying
2544//   error message.
2545//
2546func (c *APIGateway) DeleteMethodResponse(input *DeleteMethodResponseInput) (*DeleteMethodResponseOutput, error) {
2547	req, out := c.DeleteMethodResponseRequest(input)
2548	return out, req.Send()
2549}
2550
2551// DeleteMethodResponseWithContext is the same as DeleteMethodResponse with the addition of
2552// the ability to pass a context and additional request options.
2553//
2554// See DeleteMethodResponse for details on how to use this API operation.
2555//
2556// The context must be non-nil and will be used for request cancellation. If
2557// the context is nil a panic will occur. In the future the SDK may create
2558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2559// for more information on using Contexts.
2560func (c *APIGateway) DeleteMethodResponseWithContext(ctx aws.Context, input *DeleteMethodResponseInput, opts ...request.Option) (*DeleteMethodResponseOutput, error) {
2561	req, out := c.DeleteMethodResponseRequest(input)
2562	req.SetContext(ctx)
2563	req.ApplyOptions(opts...)
2564	return out, req.Send()
2565}
2566
2567const opDeleteModel = "DeleteModel"
2568
2569// DeleteModelRequest generates a "aws/request.Request" representing the
2570// client's request for the DeleteModel operation. The "output" return
2571// value will be populated with the request's response once the request completes
2572// successfully.
2573//
2574// Use "Send" method on the returned Request to send the API call to the service.
2575// the "output" return value is not valid until after Send returns without error.
2576//
2577// See DeleteModel for more information on using the DeleteModel
2578// API call, and error handling.
2579//
2580// This method is useful when you want to inject custom logic or configuration
2581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2582//
2583//
2584//    // Example sending a request using the DeleteModelRequest method.
2585//    req, resp := client.DeleteModelRequest(params)
2586//
2587//    err := req.Send()
2588//    if err == nil { // resp is now filled
2589//        fmt.Println(resp)
2590//    }
2591func (c *APIGateway) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) {
2592	op := &request.Operation{
2593		Name:       opDeleteModel,
2594		HTTPMethod: "DELETE",
2595		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
2596	}
2597
2598	if input == nil {
2599		input = &DeleteModelInput{}
2600	}
2601
2602	output = &DeleteModelOutput{}
2603	req = c.newRequest(op, input, output)
2604	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2605	return
2606}
2607
2608// DeleteModel API operation for Amazon API Gateway.
2609//
2610// Deletes a model.
2611//
2612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2613// with awserr.Error's Code and Message methods to get detailed information about
2614// the error.
2615//
2616// See the AWS API reference guide for Amazon API Gateway's
2617// API operation DeleteModel for usage and error information.
2618//
2619// Returned Error Types:
2620//   * UnauthorizedException
2621//   The request is denied because the caller has insufficient permissions.
2622//
2623//   * NotFoundException
2624//   The requested resource is not found. Make sure that the request URI is correct.
2625//
2626//   * TooManyRequestsException
2627//   The request has reached its throttling limit. Retry after the specified time
2628//   period.
2629//
2630//   * BadRequestException
2631//   The submitted request is not valid, for example, the input is incomplete
2632//   or incorrect. See the accompanying error message for details.
2633//
2634//   * ConflictException
2635//   The request configuration has conflicts. For details, see the accompanying
2636//   error message.
2637//
2638func (c *APIGateway) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) {
2639	req, out := c.DeleteModelRequest(input)
2640	return out, req.Send()
2641}
2642
2643// DeleteModelWithContext is the same as DeleteModel with the addition of
2644// the ability to pass a context and additional request options.
2645//
2646// See DeleteModel for details on how to use this API operation.
2647//
2648// The context must be non-nil and will be used for request cancellation. If
2649// the context is nil a panic will occur. In the future the SDK may create
2650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2651// for more information on using Contexts.
2652func (c *APIGateway) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) {
2653	req, out := c.DeleteModelRequest(input)
2654	req.SetContext(ctx)
2655	req.ApplyOptions(opts...)
2656	return out, req.Send()
2657}
2658
2659const opDeleteRequestValidator = "DeleteRequestValidator"
2660
2661// DeleteRequestValidatorRequest generates a "aws/request.Request" representing the
2662// client's request for the DeleteRequestValidator operation. The "output" return
2663// value will be populated with the request's response once the request completes
2664// successfully.
2665//
2666// Use "Send" method on the returned Request to send the API call to the service.
2667// the "output" return value is not valid until after Send returns without error.
2668//
2669// See DeleteRequestValidator for more information on using the DeleteRequestValidator
2670// API call, and error handling.
2671//
2672// This method is useful when you want to inject custom logic or configuration
2673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2674//
2675//
2676//    // Example sending a request using the DeleteRequestValidatorRequest method.
2677//    req, resp := client.DeleteRequestValidatorRequest(params)
2678//
2679//    err := req.Send()
2680//    if err == nil { // resp is now filled
2681//        fmt.Println(resp)
2682//    }
2683func (c *APIGateway) DeleteRequestValidatorRequest(input *DeleteRequestValidatorInput) (req *request.Request, output *DeleteRequestValidatorOutput) {
2684	op := &request.Operation{
2685		Name:       opDeleteRequestValidator,
2686		HTTPMethod: "DELETE",
2687		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
2688	}
2689
2690	if input == nil {
2691		input = &DeleteRequestValidatorInput{}
2692	}
2693
2694	output = &DeleteRequestValidatorOutput{}
2695	req = c.newRequest(op, input, output)
2696	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2697	return
2698}
2699
2700// DeleteRequestValidator API operation for Amazon API Gateway.
2701//
2702// Deletes a RequestValidator of a given RestApi.
2703//
2704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2705// with awserr.Error's Code and Message methods to get detailed information about
2706// the error.
2707//
2708// See the AWS API reference guide for Amazon API Gateway's
2709// API operation DeleteRequestValidator for usage and error information.
2710//
2711// Returned Error Types:
2712//   * UnauthorizedException
2713//   The request is denied because the caller has insufficient permissions.
2714//
2715//   * NotFoundException
2716//   The requested resource is not found. Make sure that the request URI is correct.
2717//
2718//   * TooManyRequestsException
2719//   The request has reached its throttling limit. Retry after the specified time
2720//   period.
2721//
2722//   * BadRequestException
2723//   The submitted request is not valid, for example, the input is incomplete
2724//   or incorrect. See the accompanying error message for details.
2725//
2726//   * ConflictException
2727//   The request configuration has conflicts. For details, see the accompanying
2728//   error message.
2729//
2730func (c *APIGateway) DeleteRequestValidator(input *DeleteRequestValidatorInput) (*DeleteRequestValidatorOutput, error) {
2731	req, out := c.DeleteRequestValidatorRequest(input)
2732	return out, req.Send()
2733}
2734
2735// DeleteRequestValidatorWithContext is the same as DeleteRequestValidator with the addition of
2736// the ability to pass a context and additional request options.
2737//
2738// See DeleteRequestValidator for details on how to use this API operation.
2739//
2740// The context must be non-nil and will be used for request cancellation. If
2741// the context is nil a panic will occur. In the future the SDK may create
2742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2743// for more information on using Contexts.
2744func (c *APIGateway) DeleteRequestValidatorWithContext(ctx aws.Context, input *DeleteRequestValidatorInput, opts ...request.Option) (*DeleteRequestValidatorOutput, error) {
2745	req, out := c.DeleteRequestValidatorRequest(input)
2746	req.SetContext(ctx)
2747	req.ApplyOptions(opts...)
2748	return out, req.Send()
2749}
2750
2751const opDeleteResource = "DeleteResource"
2752
2753// DeleteResourceRequest generates a "aws/request.Request" representing the
2754// client's request for the DeleteResource operation. The "output" return
2755// value will be populated with the request's response once the request completes
2756// successfully.
2757//
2758// Use "Send" method on the returned Request to send the API call to the service.
2759// the "output" return value is not valid until after Send returns without error.
2760//
2761// See DeleteResource for more information on using the DeleteResource
2762// API call, and error handling.
2763//
2764// This method is useful when you want to inject custom logic or configuration
2765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2766//
2767//
2768//    // Example sending a request using the DeleteResourceRequest method.
2769//    req, resp := client.DeleteResourceRequest(params)
2770//
2771//    err := req.Send()
2772//    if err == nil { // resp is now filled
2773//        fmt.Println(resp)
2774//    }
2775func (c *APIGateway) DeleteResourceRequest(input *DeleteResourceInput) (req *request.Request, output *DeleteResourceOutput) {
2776	op := &request.Operation{
2777		Name:       opDeleteResource,
2778		HTTPMethod: "DELETE",
2779		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
2780	}
2781
2782	if input == nil {
2783		input = &DeleteResourceInput{}
2784	}
2785
2786	output = &DeleteResourceOutput{}
2787	req = c.newRequest(op, input, output)
2788	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2789	return
2790}
2791
2792// DeleteResource API operation for Amazon API Gateway.
2793//
2794// Deletes a Resource resource.
2795//
2796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2797// with awserr.Error's Code and Message methods to get detailed information about
2798// the error.
2799//
2800// See the AWS API reference guide for Amazon API Gateway's
2801// API operation DeleteResource for usage and error information.
2802//
2803// Returned Error Types:
2804//   * UnauthorizedException
2805//   The request is denied because the caller has insufficient permissions.
2806//
2807//   * NotFoundException
2808//   The requested resource is not found. Make sure that the request URI is correct.
2809//
2810//   * BadRequestException
2811//   The submitted request is not valid, for example, the input is incomplete
2812//   or incorrect. See the accompanying error message for details.
2813//
2814//   * ConflictException
2815//   The request configuration has conflicts. For details, see the accompanying
2816//   error message.
2817//
2818//   * TooManyRequestsException
2819//   The request has reached its throttling limit. Retry after the specified time
2820//   period.
2821//
2822func (c *APIGateway) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) {
2823	req, out := c.DeleteResourceRequest(input)
2824	return out, req.Send()
2825}
2826
2827// DeleteResourceWithContext is the same as DeleteResource with the addition of
2828// the ability to pass a context and additional request options.
2829//
2830// See DeleteResource for details on how to use this API operation.
2831//
2832// The context must be non-nil and will be used for request cancellation. If
2833// the context is nil a panic will occur. In the future the SDK may create
2834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2835// for more information on using Contexts.
2836func (c *APIGateway) DeleteResourceWithContext(ctx aws.Context, input *DeleteResourceInput, opts ...request.Option) (*DeleteResourceOutput, error) {
2837	req, out := c.DeleteResourceRequest(input)
2838	req.SetContext(ctx)
2839	req.ApplyOptions(opts...)
2840	return out, req.Send()
2841}
2842
2843const opDeleteRestApi = "DeleteRestApi"
2844
2845// DeleteRestApiRequest generates a "aws/request.Request" representing the
2846// client's request for the DeleteRestApi operation. The "output" return
2847// value will be populated with the request's response once the request completes
2848// successfully.
2849//
2850// Use "Send" method on the returned Request to send the API call to the service.
2851// the "output" return value is not valid until after Send returns without error.
2852//
2853// See DeleteRestApi for more information on using the DeleteRestApi
2854// API call, and error handling.
2855//
2856// This method is useful when you want to inject custom logic or configuration
2857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2858//
2859//
2860//    // Example sending a request using the DeleteRestApiRequest method.
2861//    req, resp := client.DeleteRestApiRequest(params)
2862//
2863//    err := req.Send()
2864//    if err == nil { // resp is now filled
2865//        fmt.Println(resp)
2866//    }
2867func (c *APIGateway) DeleteRestApiRequest(input *DeleteRestApiInput) (req *request.Request, output *DeleteRestApiOutput) {
2868	op := &request.Operation{
2869		Name:       opDeleteRestApi,
2870		HTTPMethod: "DELETE",
2871		HTTPPath:   "/restapis/{restapi_id}",
2872	}
2873
2874	if input == nil {
2875		input = &DeleteRestApiInput{}
2876	}
2877
2878	output = &DeleteRestApiOutput{}
2879	req = c.newRequest(op, input, output)
2880	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2881	return
2882}
2883
2884// DeleteRestApi API operation for Amazon API Gateway.
2885//
2886// Deletes the specified API.
2887//
2888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2889// with awserr.Error's Code and Message methods to get detailed information about
2890// the error.
2891//
2892// See the AWS API reference guide for Amazon API Gateway's
2893// API operation DeleteRestApi for usage and error information.
2894//
2895// Returned Error Types:
2896//   * UnauthorizedException
2897//   The request is denied because the caller has insufficient permissions.
2898//
2899//   * NotFoundException
2900//   The requested resource is not found. Make sure that the request URI is correct.
2901//
2902//   * TooManyRequestsException
2903//   The request has reached its throttling limit. Retry after the specified time
2904//   period.
2905//
2906//   * BadRequestException
2907//   The submitted request is not valid, for example, the input is incomplete
2908//   or incorrect. See the accompanying error message for details.
2909//
2910func (c *APIGateway) DeleteRestApi(input *DeleteRestApiInput) (*DeleteRestApiOutput, error) {
2911	req, out := c.DeleteRestApiRequest(input)
2912	return out, req.Send()
2913}
2914
2915// DeleteRestApiWithContext is the same as DeleteRestApi with the addition of
2916// the ability to pass a context and additional request options.
2917//
2918// See DeleteRestApi for details on how to use this API operation.
2919//
2920// The context must be non-nil and will be used for request cancellation. If
2921// the context is nil a panic will occur. In the future the SDK may create
2922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2923// for more information on using Contexts.
2924func (c *APIGateway) DeleteRestApiWithContext(ctx aws.Context, input *DeleteRestApiInput, opts ...request.Option) (*DeleteRestApiOutput, error) {
2925	req, out := c.DeleteRestApiRequest(input)
2926	req.SetContext(ctx)
2927	req.ApplyOptions(opts...)
2928	return out, req.Send()
2929}
2930
2931const opDeleteStage = "DeleteStage"
2932
2933// DeleteStageRequest generates a "aws/request.Request" representing the
2934// client's request for the DeleteStage operation. The "output" return
2935// value will be populated with the request's response once the request completes
2936// successfully.
2937//
2938// Use "Send" method on the returned Request to send the API call to the service.
2939// the "output" return value is not valid until after Send returns without error.
2940//
2941// See DeleteStage for more information on using the DeleteStage
2942// API call, and error handling.
2943//
2944// This method is useful when you want to inject custom logic or configuration
2945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2946//
2947//
2948//    // Example sending a request using the DeleteStageRequest method.
2949//    req, resp := client.DeleteStageRequest(params)
2950//
2951//    err := req.Send()
2952//    if err == nil { // resp is now filled
2953//        fmt.Println(resp)
2954//    }
2955func (c *APIGateway) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) {
2956	op := &request.Operation{
2957		Name:       opDeleteStage,
2958		HTTPMethod: "DELETE",
2959		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
2960	}
2961
2962	if input == nil {
2963		input = &DeleteStageInput{}
2964	}
2965
2966	output = &DeleteStageOutput{}
2967	req = c.newRequest(op, input, output)
2968	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2969	return
2970}
2971
2972// DeleteStage API operation for Amazon API Gateway.
2973//
2974// Deletes a Stage resource.
2975//
2976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2977// with awserr.Error's Code and Message methods to get detailed information about
2978// the error.
2979//
2980// See the AWS API reference guide for Amazon API Gateway's
2981// API operation DeleteStage for usage and error information.
2982//
2983// Returned Error Types:
2984//   * UnauthorizedException
2985//   The request is denied because the caller has insufficient permissions.
2986//
2987//   * NotFoundException
2988//   The requested resource is not found. Make sure that the request URI is correct.
2989//
2990//   * TooManyRequestsException
2991//   The request has reached its throttling limit. Retry after the specified time
2992//   period.
2993//
2994//   * BadRequestException
2995//   The submitted request is not valid, for example, the input is incomplete
2996//   or incorrect. See the accompanying error message for details.
2997//
2998func (c *APIGateway) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) {
2999	req, out := c.DeleteStageRequest(input)
3000	return out, req.Send()
3001}
3002
3003// DeleteStageWithContext is the same as DeleteStage with the addition of
3004// the ability to pass a context and additional request options.
3005//
3006// See DeleteStage for details on how to use this API operation.
3007//
3008// The context must be non-nil and will be used for request cancellation. If
3009// the context is nil a panic will occur. In the future the SDK may create
3010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3011// for more information on using Contexts.
3012func (c *APIGateway) DeleteStageWithContext(ctx aws.Context, input *DeleteStageInput, opts ...request.Option) (*DeleteStageOutput, error) {
3013	req, out := c.DeleteStageRequest(input)
3014	req.SetContext(ctx)
3015	req.ApplyOptions(opts...)
3016	return out, req.Send()
3017}
3018
3019const opDeleteUsagePlan = "DeleteUsagePlan"
3020
3021// DeleteUsagePlanRequest generates a "aws/request.Request" representing the
3022// client's request for the DeleteUsagePlan operation. The "output" return
3023// value will be populated with the request's response once the request completes
3024// successfully.
3025//
3026// Use "Send" method on the returned Request to send the API call to the service.
3027// the "output" return value is not valid until after Send returns without error.
3028//
3029// See DeleteUsagePlan for more information on using the DeleteUsagePlan
3030// API call, and error handling.
3031//
3032// This method is useful when you want to inject custom logic or configuration
3033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3034//
3035//
3036//    // Example sending a request using the DeleteUsagePlanRequest method.
3037//    req, resp := client.DeleteUsagePlanRequest(params)
3038//
3039//    err := req.Send()
3040//    if err == nil { // resp is now filled
3041//        fmt.Println(resp)
3042//    }
3043func (c *APIGateway) DeleteUsagePlanRequest(input *DeleteUsagePlanInput) (req *request.Request, output *DeleteUsagePlanOutput) {
3044	op := &request.Operation{
3045		Name:       opDeleteUsagePlan,
3046		HTTPMethod: "DELETE",
3047		HTTPPath:   "/usageplans/{usageplanId}",
3048	}
3049
3050	if input == nil {
3051		input = &DeleteUsagePlanInput{}
3052	}
3053
3054	output = &DeleteUsagePlanOutput{}
3055	req = c.newRequest(op, input, output)
3056	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3057	return
3058}
3059
3060// DeleteUsagePlan API operation for Amazon API Gateway.
3061//
3062// Deletes a usage plan of a given plan Id.
3063//
3064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3065// with awserr.Error's Code and Message methods to get detailed information about
3066// the error.
3067//
3068// See the AWS API reference guide for Amazon API Gateway's
3069// API operation DeleteUsagePlan for usage and error information.
3070//
3071// Returned Error Types:
3072//   * UnauthorizedException
3073//   The request is denied because the caller has insufficient permissions.
3074//
3075//   * TooManyRequestsException
3076//   The request has reached its throttling limit. Retry after the specified time
3077//   period.
3078//
3079//   * BadRequestException
3080//   The submitted request is not valid, for example, the input is incomplete
3081//   or incorrect. See the accompanying error message for details.
3082//
3083//   * NotFoundException
3084//   The requested resource is not found. Make sure that the request URI is correct.
3085//
3086func (c *APIGateway) DeleteUsagePlan(input *DeleteUsagePlanInput) (*DeleteUsagePlanOutput, error) {
3087	req, out := c.DeleteUsagePlanRequest(input)
3088	return out, req.Send()
3089}
3090
3091// DeleteUsagePlanWithContext is the same as DeleteUsagePlan with the addition of
3092// the ability to pass a context and additional request options.
3093//
3094// See DeleteUsagePlan for details on how to use this API operation.
3095//
3096// The context must be non-nil and will be used for request cancellation. If
3097// the context is nil a panic will occur. In the future the SDK may create
3098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3099// for more information on using Contexts.
3100func (c *APIGateway) DeleteUsagePlanWithContext(ctx aws.Context, input *DeleteUsagePlanInput, opts ...request.Option) (*DeleteUsagePlanOutput, error) {
3101	req, out := c.DeleteUsagePlanRequest(input)
3102	req.SetContext(ctx)
3103	req.ApplyOptions(opts...)
3104	return out, req.Send()
3105}
3106
3107const opDeleteUsagePlanKey = "DeleteUsagePlanKey"
3108
3109// DeleteUsagePlanKeyRequest generates a "aws/request.Request" representing the
3110// client's request for the DeleteUsagePlanKey operation. The "output" return
3111// value will be populated with the request's response once the request completes
3112// successfully.
3113//
3114// Use "Send" method on the returned Request to send the API call to the service.
3115// the "output" return value is not valid until after Send returns without error.
3116//
3117// See DeleteUsagePlanKey for more information on using the DeleteUsagePlanKey
3118// API call, and error handling.
3119//
3120// This method is useful when you want to inject custom logic or configuration
3121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3122//
3123//
3124//    // Example sending a request using the DeleteUsagePlanKeyRequest method.
3125//    req, resp := client.DeleteUsagePlanKeyRequest(params)
3126//
3127//    err := req.Send()
3128//    if err == nil { // resp is now filled
3129//        fmt.Println(resp)
3130//    }
3131func (c *APIGateway) DeleteUsagePlanKeyRequest(input *DeleteUsagePlanKeyInput) (req *request.Request, output *DeleteUsagePlanKeyOutput) {
3132	op := &request.Operation{
3133		Name:       opDeleteUsagePlanKey,
3134		HTTPMethod: "DELETE",
3135		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}",
3136	}
3137
3138	if input == nil {
3139		input = &DeleteUsagePlanKeyInput{}
3140	}
3141
3142	output = &DeleteUsagePlanKeyOutput{}
3143	req = c.newRequest(op, input, output)
3144	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3145	return
3146}
3147
3148// DeleteUsagePlanKey API operation for Amazon API Gateway.
3149//
3150// Deletes a usage plan key and remove the underlying API key from the associated
3151// usage plan.
3152//
3153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3154// with awserr.Error's Code and Message methods to get detailed information about
3155// the error.
3156//
3157// See the AWS API reference guide for Amazon API Gateway's
3158// API operation DeleteUsagePlanKey for usage and error information.
3159//
3160// Returned Error Types:
3161//   * BadRequestException
3162//   The submitted request is not valid, for example, the input is incomplete
3163//   or incorrect. See the accompanying error message for details.
3164//
3165//   * ConflictException
3166//   The request configuration has conflicts. For details, see the accompanying
3167//   error message.
3168//
3169//   * UnauthorizedException
3170//   The request is denied because the caller has insufficient permissions.
3171//
3172//   * NotFoundException
3173//   The requested resource is not found. Make sure that the request URI is correct.
3174//
3175//   * TooManyRequestsException
3176//   The request has reached its throttling limit. Retry after the specified time
3177//   period.
3178//
3179func (c *APIGateway) DeleteUsagePlanKey(input *DeleteUsagePlanKeyInput) (*DeleteUsagePlanKeyOutput, error) {
3180	req, out := c.DeleteUsagePlanKeyRequest(input)
3181	return out, req.Send()
3182}
3183
3184// DeleteUsagePlanKeyWithContext is the same as DeleteUsagePlanKey with the addition of
3185// the ability to pass a context and additional request options.
3186//
3187// See DeleteUsagePlanKey for details on how to use this API operation.
3188//
3189// The context must be non-nil and will be used for request cancellation. If
3190// the context is nil a panic will occur. In the future the SDK may create
3191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3192// for more information on using Contexts.
3193func (c *APIGateway) DeleteUsagePlanKeyWithContext(ctx aws.Context, input *DeleteUsagePlanKeyInput, opts ...request.Option) (*DeleteUsagePlanKeyOutput, error) {
3194	req, out := c.DeleteUsagePlanKeyRequest(input)
3195	req.SetContext(ctx)
3196	req.ApplyOptions(opts...)
3197	return out, req.Send()
3198}
3199
3200const opDeleteVpcLink = "DeleteVpcLink"
3201
3202// DeleteVpcLinkRequest generates a "aws/request.Request" representing the
3203// client's request for the DeleteVpcLink operation. The "output" return
3204// value will be populated with the request's response once the request completes
3205// successfully.
3206//
3207// Use "Send" method on the returned Request to send the API call to the service.
3208// the "output" return value is not valid until after Send returns without error.
3209//
3210// See DeleteVpcLink for more information on using the DeleteVpcLink
3211// API call, and error handling.
3212//
3213// This method is useful when you want to inject custom logic or configuration
3214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3215//
3216//
3217//    // Example sending a request using the DeleteVpcLinkRequest method.
3218//    req, resp := client.DeleteVpcLinkRequest(params)
3219//
3220//    err := req.Send()
3221//    if err == nil { // resp is now filled
3222//        fmt.Println(resp)
3223//    }
3224func (c *APIGateway) DeleteVpcLinkRequest(input *DeleteVpcLinkInput) (req *request.Request, output *DeleteVpcLinkOutput) {
3225	op := &request.Operation{
3226		Name:       opDeleteVpcLink,
3227		HTTPMethod: "DELETE",
3228		HTTPPath:   "/vpclinks/{vpclink_id}",
3229	}
3230
3231	if input == nil {
3232		input = &DeleteVpcLinkInput{}
3233	}
3234
3235	output = &DeleteVpcLinkOutput{}
3236	req = c.newRequest(op, input, output)
3237	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3238	return
3239}
3240
3241// DeleteVpcLink API operation for Amazon API Gateway.
3242//
3243// Deletes an existing VpcLink of a specified identifier.
3244//
3245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3246// with awserr.Error's Code and Message methods to get detailed information about
3247// the error.
3248//
3249// See the AWS API reference guide for Amazon API Gateway's
3250// API operation DeleteVpcLink for usage and error information.
3251//
3252// Returned Error Types:
3253//   * UnauthorizedException
3254//   The request is denied because the caller has insufficient permissions.
3255//
3256//   * NotFoundException
3257//   The requested resource is not found. Make sure that the request URI is correct.
3258//
3259//   * TooManyRequestsException
3260//   The request has reached its throttling limit. Retry after the specified time
3261//   period.
3262//
3263//   * BadRequestException
3264//   The submitted request is not valid, for example, the input is incomplete
3265//   or incorrect. See the accompanying error message for details.
3266//
3267func (c *APIGateway) DeleteVpcLink(input *DeleteVpcLinkInput) (*DeleteVpcLinkOutput, error) {
3268	req, out := c.DeleteVpcLinkRequest(input)
3269	return out, req.Send()
3270}
3271
3272// DeleteVpcLinkWithContext is the same as DeleteVpcLink with the addition of
3273// the ability to pass a context and additional request options.
3274//
3275// See DeleteVpcLink for details on how to use this API operation.
3276//
3277// The context must be non-nil and will be used for request cancellation. If
3278// the context is nil a panic will occur. In the future the SDK may create
3279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3280// for more information on using Contexts.
3281func (c *APIGateway) DeleteVpcLinkWithContext(ctx aws.Context, input *DeleteVpcLinkInput, opts ...request.Option) (*DeleteVpcLinkOutput, error) {
3282	req, out := c.DeleteVpcLinkRequest(input)
3283	req.SetContext(ctx)
3284	req.ApplyOptions(opts...)
3285	return out, req.Send()
3286}
3287
3288const opFlushStageAuthorizersCache = "FlushStageAuthorizersCache"
3289
3290// FlushStageAuthorizersCacheRequest generates a "aws/request.Request" representing the
3291// client's request for the FlushStageAuthorizersCache operation. The "output" return
3292// value will be populated with the request's response once the request completes
3293// successfully.
3294//
3295// Use "Send" method on the returned Request to send the API call to the service.
3296// the "output" return value is not valid until after Send returns without error.
3297//
3298// See FlushStageAuthorizersCache for more information on using the FlushStageAuthorizersCache
3299// API call, and error handling.
3300//
3301// This method is useful when you want to inject custom logic or configuration
3302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3303//
3304//
3305//    // Example sending a request using the FlushStageAuthorizersCacheRequest method.
3306//    req, resp := client.FlushStageAuthorizersCacheRequest(params)
3307//
3308//    err := req.Send()
3309//    if err == nil { // resp is now filled
3310//        fmt.Println(resp)
3311//    }
3312func (c *APIGateway) FlushStageAuthorizersCacheRequest(input *FlushStageAuthorizersCacheInput) (req *request.Request, output *FlushStageAuthorizersCacheOutput) {
3313	op := &request.Operation{
3314		Name:       opFlushStageAuthorizersCache,
3315		HTTPMethod: "DELETE",
3316		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
3317	}
3318
3319	if input == nil {
3320		input = &FlushStageAuthorizersCacheInput{}
3321	}
3322
3323	output = &FlushStageAuthorizersCacheOutput{}
3324	req = c.newRequest(op, input, output)
3325	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3326	return
3327}
3328
3329// FlushStageAuthorizersCache API operation for Amazon API Gateway.
3330//
3331// Flushes all authorizer cache entries on a stage.
3332//
3333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3334// with awserr.Error's Code and Message methods to get detailed information about
3335// the error.
3336//
3337// See the AWS API reference guide for Amazon API Gateway's
3338// API operation FlushStageAuthorizersCache for usage and error information.
3339//
3340// Returned Error Types:
3341//   * UnauthorizedException
3342//   The request is denied because the caller has insufficient permissions.
3343//
3344//   * NotFoundException
3345//   The requested resource is not found. Make sure that the request URI is correct.
3346//
3347//   * BadRequestException
3348//   The submitted request is not valid, for example, the input is incomplete
3349//   or incorrect. See the accompanying error message for details.
3350//
3351//   * TooManyRequestsException
3352//   The request has reached its throttling limit. Retry after the specified time
3353//   period.
3354//
3355func (c *APIGateway) FlushStageAuthorizersCache(input *FlushStageAuthorizersCacheInput) (*FlushStageAuthorizersCacheOutput, error) {
3356	req, out := c.FlushStageAuthorizersCacheRequest(input)
3357	return out, req.Send()
3358}
3359
3360// FlushStageAuthorizersCacheWithContext is the same as FlushStageAuthorizersCache with the addition of
3361// the ability to pass a context and additional request options.
3362//
3363// See FlushStageAuthorizersCache for details on how to use this API operation.
3364//
3365// The context must be non-nil and will be used for request cancellation. If
3366// the context is nil a panic will occur. In the future the SDK may create
3367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3368// for more information on using Contexts.
3369func (c *APIGateway) FlushStageAuthorizersCacheWithContext(ctx aws.Context, input *FlushStageAuthorizersCacheInput, opts ...request.Option) (*FlushStageAuthorizersCacheOutput, error) {
3370	req, out := c.FlushStageAuthorizersCacheRequest(input)
3371	req.SetContext(ctx)
3372	req.ApplyOptions(opts...)
3373	return out, req.Send()
3374}
3375
3376const opFlushStageCache = "FlushStageCache"
3377
3378// FlushStageCacheRequest generates a "aws/request.Request" representing the
3379// client's request for the FlushStageCache operation. The "output" return
3380// value will be populated with the request's response once the request completes
3381// successfully.
3382//
3383// Use "Send" method on the returned Request to send the API call to the service.
3384// the "output" return value is not valid until after Send returns without error.
3385//
3386// See FlushStageCache for more information on using the FlushStageCache
3387// API call, and error handling.
3388//
3389// This method is useful when you want to inject custom logic or configuration
3390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3391//
3392//
3393//    // Example sending a request using the FlushStageCacheRequest method.
3394//    req, resp := client.FlushStageCacheRequest(params)
3395//
3396//    err := req.Send()
3397//    if err == nil { // resp is now filled
3398//        fmt.Println(resp)
3399//    }
3400func (c *APIGateway) FlushStageCacheRequest(input *FlushStageCacheInput) (req *request.Request, output *FlushStageCacheOutput) {
3401	op := &request.Operation{
3402		Name:       opFlushStageCache,
3403		HTTPMethod: "DELETE",
3404		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/cache/data",
3405	}
3406
3407	if input == nil {
3408		input = &FlushStageCacheInput{}
3409	}
3410
3411	output = &FlushStageCacheOutput{}
3412	req = c.newRequest(op, input, output)
3413	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3414	return
3415}
3416
3417// FlushStageCache API operation for Amazon API Gateway.
3418//
3419// Flushes a stage's cache.
3420//
3421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3422// with awserr.Error's Code and Message methods to get detailed information about
3423// the error.
3424//
3425// See the AWS API reference guide for Amazon API Gateway's
3426// API operation FlushStageCache for usage and error information.
3427//
3428// Returned Error Types:
3429//   * UnauthorizedException
3430//   The request is denied because the caller has insufficient permissions.
3431//
3432//   * NotFoundException
3433//   The requested resource is not found. Make sure that the request URI is correct.
3434//
3435//   * BadRequestException
3436//   The submitted request is not valid, for example, the input is incomplete
3437//   or incorrect. See the accompanying error message for details.
3438//
3439//   * TooManyRequestsException
3440//   The request has reached its throttling limit. Retry after the specified time
3441//   period.
3442//
3443func (c *APIGateway) FlushStageCache(input *FlushStageCacheInput) (*FlushStageCacheOutput, error) {
3444	req, out := c.FlushStageCacheRequest(input)
3445	return out, req.Send()
3446}
3447
3448// FlushStageCacheWithContext is the same as FlushStageCache with the addition of
3449// the ability to pass a context and additional request options.
3450//
3451// See FlushStageCache for details on how to use this API operation.
3452//
3453// The context must be non-nil and will be used for request cancellation. If
3454// the context is nil a panic will occur. In the future the SDK may create
3455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3456// for more information on using Contexts.
3457func (c *APIGateway) FlushStageCacheWithContext(ctx aws.Context, input *FlushStageCacheInput, opts ...request.Option) (*FlushStageCacheOutput, error) {
3458	req, out := c.FlushStageCacheRequest(input)
3459	req.SetContext(ctx)
3460	req.ApplyOptions(opts...)
3461	return out, req.Send()
3462}
3463
3464const opGenerateClientCertificate = "GenerateClientCertificate"
3465
3466// GenerateClientCertificateRequest generates a "aws/request.Request" representing the
3467// client's request for the GenerateClientCertificate operation. The "output" return
3468// value will be populated with the request's response once the request completes
3469// successfully.
3470//
3471// Use "Send" method on the returned Request to send the API call to the service.
3472// the "output" return value is not valid until after Send returns without error.
3473//
3474// See GenerateClientCertificate for more information on using the GenerateClientCertificate
3475// API call, and error handling.
3476//
3477// This method is useful when you want to inject custom logic or configuration
3478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3479//
3480//
3481//    // Example sending a request using the GenerateClientCertificateRequest method.
3482//    req, resp := client.GenerateClientCertificateRequest(params)
3483//
3484//    err := req.Send()
3485//    if err == nil { // resp is now filled
3486//        fmt.Println(resp)
3487//    }
3488func (c *APIGateway) GenerateClientCertificateRequest(input *GenerateClientCertificateInput) (req *request.Request, output *ClientCertificate) {
3489	op := &request.Operation{
3490		Name:       opGenerateClientCertificate,
3491		HTTPMethod: "POST",
3492		HTTPPath:   "/clientcertificates",
3493	}
3494
3495	if input == nil {
3496		input = &GenerateClientCertificateInput{}
3497	}
3498
3499	output = &ClientCertificate{}
3500	req = c.newRequest(op, input, output)
3501	return
3502}
3503
3504// GenerateClientCertificate API operation for Amazon API Gateway.
3505//
3506// Generates a ClientCertificate resource.
3507//
3508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3509// with awserr.Error's Code and Message methods to get detailed information about
3510// the error.
3511//
3512// See the AWS API reference guide for Amazon API Gateway's
3513// API operation GenerateClientCertificate for usage and error information.
3514//
3515// Returned Error Types:
3516//   * UnauthorizedException
3517//   The request is denied because the caller has insufficient permissions.
3518//
3519//   * TooManyRequestsException
3520//   The request has reached its throttling limit. Retry after the specified time
3521//   period.
3522//
3523//   * LimitExceededException
3524//   The request exceeded the rate limit. Retry after the specified time period.
3525//
3526func (c *APIGateway) GenerateClientCertificate(input *GenerateClientCertificateInput) (*ClientCertificate, error) {
3527	req, out := c.GenerateClientCertificateRequest(input)
3528	return out, req.Send()
3529}
3530
3531// GenerateClientCertificateWithContext is the same as GenerateClientCertificate with the addition of
3532// the ability to pass a context and additional request options.
3533//
3534// See GenerateClientCertificate for details on how to use this API operation.
3535//
3536// The context must be non-nil and will be used for request cancellation. If
3537// the context is nil a panic will occur. In the future the SDK may create
3538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3539// for more information on using Contexts.
3540func (c *APIGateway) GenerateClientCertificateWithContext(ctx aws.Context, input *GenerateClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
3541	req, out := c.GenerateClientCertificateRequest(input)
3542	req.SetContext(ctx)
3543	req.ApplyOptions(opts...)
3544	return out, req.Send()
3545}
3546
3547const opGetAccount = "GetAccount"
3548
3549// GetAccountRequest generates a "aws/request.Request" representing the
3550// client's request for the GetAccount operation. The "output" return
3551// value will be populated with the request's response once the request completes
3552// successfully.
3553//
3554// Use "Send" method on the returned Request to send the API call to the service.
3555// the "output" return value is not valid until after Send returns without error.
3556//
3557// See GetAccount for more information on using the GetAccount
3558// API call, and error handling.
3559//
3560// This method is useful when you want to inject custom logic or configuration
3561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3562//
3563//
3564//    // Example sending a request using the GetAccountRequest method.
3565//    req, resp := client.GetAccountRequest(params)
3566//
3567//    err := req.Send()
3568//    if err == nil { // resp is now filled
3569//        fmt.Println(resp)
3570//    }
3571func (c *APIGateway) GetAccountRequest(input *GetAccountInput) (req *request.Request, output *Account) {
3572	op := &request.Operation{
3573		Name:       opGetAccount,
3574		HTTPMethod: "GET",
3575		HTTPPath:   "/account",
3576	}
3577
3578	if input == nil {
3579		input = &GetAccountInput{}
3580	}
3581
3582	output = &Account{}
3583	req = c.newRequest(op, input, output)
3584	return
3585}
3586
3587// GetAccount API operation for Amazon API Gateway.
3588//
3589// Gets information about the current Account resource.
3590//
3591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3592// with awserr.Error's Code and Message methods to get detailed information about
3593// the error.
3594//
3595// See the AWS API reference guide for Amazon API Gateway's
3596// API operation GetAccount for usage and error information.
3597//
3598// Returned Error Types:
3599//   * UnauthorizedException
3600//   The request is denied because the caller has insufficient permissions.
3601//
3602//   * NotFoundException
3603//   The requested resource is not found. Make sure that the request URI is correct.
3604//
3605//   * TooManyRequestsException
3606//   The request has reached its throttling limit. Retry after the specified time
3607//   period.
3608//
3609func (c *APIGateway) GetAccount(input *GetAccountInput) (*Account, error) {
3610	req, out := c.GetAccountRequest(input)
3611	return out, req.Send()
3612}
3613
3614// GetAccountWithContext is the same as GetAccount with the addition of
3615// the ability to pass a context and additional request options.
3616//
3617// See GetAccount for details on how to use this API operation.
3618//
3619// The context must be non-nil and will be used for request cancellation. If
3620// the context is nil a panic will occur. In the future the SDK may create
3621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3622// for more information on using Contexts.
3623func (c *APIGateway) GetAccountWithContext(ctx aws.Context, input *GetAccountInput, opts ...request.Option) (*Account, error) {
3624	req, out := c.GetAccountRequest(input)
3625	req.SetContext(ctx)
3626	req.ApplyOptions(opts...)
3627	return out, req.Send()
3628}
3629
3630const opGetApiKey = "GetApiKey"
3631
3632// GetApiKeyRequest generates a "aws/request.Request" representing the
3633// client's request for the GetApiKey operation. The "output" return
3634// value will be populated with the request's response once the request completes
3635// successfully.
3636//
3637// Use "Send" method on the returned Request to send the API call to the service.
3638// the "output" return value is not valid until after Send returns without error.
3639//
3640// See GetApiKey for more information on using the GetApiKey
3641// API call, and error handling.
3642//
3643// This method is useful when you want to inject custom logic or configuration
3644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3645//
3646//
3647//    // Example sending a request using the GetApiKeyRequest method.
3648//    req, resp := client.GetApiKeyRequest(params)
3649//
3650//    err := req.Send()
3651//    if err == nil { // resp is now filled
3652//        fmt.Println(resp)
3653//    }
3654func (c *APIGateway) GetApiKeyRequest(input *GetApiKeyInput) (req *request.Request, output *ApiKey) {
3655	op := &request.Operation{
3656		Name:       opGetApiKey,
3657		HTTPMethod: "GET",
3658		HTTPPath:   "/apikeys/{api_Key}",
3659	}
3660
3661	if input == nil {
3662		input = &GetApiKeyInput{}
3663	}
3664
3665	output = &ApiKey{}
3666	req = c.newRequest(op, input, output)
3667	return
3668}
3669
3670// GetApiKey API operation for Amazon API Gateway.
3671//
3672// Gets information about the current ApiKey resource.
3673//
3674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3675// with awserr.Error's Code and Message methods to get detailed information about
3676// the error.
3677//
3678// See the AWS API reference guide for Amazon API Gateway's
3679// API operation GetApiKey for usage and error information.
3680//
3681// Returned Error Types:
3682//   * UnauthorizedException
3683//   The request is denied because the caller has insufficient permissions.
3684//
3685//   * NotFoundException
3686//   The requested resource is not found. Make sure that the request URI is correct.
3687//
3688//   * TooManyRequestsException
3689//   The request has reached its throttling limit. Retry after the specified time
3690//   period.
3691//
3692func (c *APIGateway) GetApiKey(input *GetApiKeyInput) (*ApiKey, error) {
3693	req, out := c.GetApiKeyRequest(input)
3694	return out, req.Send()
3695}
3696
3697// GetApiKeyWithContext is the same as GetApiKey with the addition of
3698// the ability to pass a context and additional request options.
3699//
3700// See GetApiKey for details on how to use this API operation.
3701//
3702// The context must be non-nil and will be used for request cancellation. If
3703// the context is nil a panic will occur. In the future the SDK may create
3704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3705// for more information on using Contexts.
3706func (c *APIGateway) GetApiKeyWithContext(ctx aws.Context, input *GetApiKeyInput, opts ...request.Option) (*ApiKey, error) {
3707	req, out := c.GetApiKeyRequest(input)
3708	req.SetContext(ctx)
3709	req.ApplyOptions(opts...)
3710	return out, req.Send()
3711}
3712
3713const opGetApiKeys = "GetApiKeys"
3714
3715// GetApiKeysRequest generates a "aws/request.Request" representing the
3716// client's request for the GetApiKeys operation. The "output" return
3717// value will be populated with the request's response once the request completes
3718// successfully.
3719//
3720// Use "Send" method on the returned Request to send the API call to the service.
3721// the "output" return value is not valid until after Send returns without error.
3722//
3723// See GetApiKeys for more information on using the GetApiKeys
3724// API call, and error handling.
3725//
3726// This method is useful when you want to inject custom logic or configuration
3727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3728//
3729//
3730//    // Example sending a request using the GetApiKeysRequest method.
3731//    req, resp := client.GetApiKeysRequest(params)
3732//
3733//    err := req.Send()
3734//    if err == nil { // resp is now filled
3735//        fmt.Println(resp)
3736//    }
3737func (c *APIGateway) GetApiKeysRequest(input *GetApiKeysInput) (req *request.Request, output *GetApiKeysOutput) {
3738	op := &request.Operation{
3739		Name:       opGetApiKeys,
3740		HTTPMethod: "GET",
3741		HTTPPath:   "/apikeys",
3742		Paginator: &request.Paginator{
3743			InputTokens:     []string{"position"},
3744			OutputTokens:    []string{"position"},
3745			LimitToken:      "limit",
3746			TruncationToken: "",
3747		},
3748	}
3749
3750	if input == nil {
3751		input = &GetApiKeysInput{}
3752	}
3753
3754	output = &GetApiKeysOutput{}
3755	req = c.newRequest(op, input, output)
3756	return
3757}
3758
3759// GetApiKeys API operation for Amazon API Gateway.
3760//
3761// Gets information about the current ApiKeys resource.
3762//
3763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3764// with awserr.Error's Code and Message methods to get detailed information about
3765// the error.
3766//
3767// See the AWS API reference guide for Amazon API Gateway's
3768// API operation GetApiKeys for usage and error information.
3769//
3770// Returned Error Types:
3771//   * BadRequestException
3772//   The submitted request is not valid, for example, the input is incomplete
3773//   or incorrect. See the accompanying error message for details.
3774//
3775//   * UnauthorizedException
3776//   The request is denied because the caller has insufficient permissions.
3777//
3778//   * TooManyRequestsException
3779//   The request has reached its throttling limit. Retry after the specified time
3780//   period.
3781//
3782func (c *APIGateway) GetApiKeys(input *GetApiKeysInput) (*GetApiKeysOutput, error) {
3783	req, out := c.GetApiKeysRequest(input)
3784	return out, req.Send()
3785}
3786
3787// GetApiKeysWithContext is the same as GetApiKeys with the addition of
3788// the ability to pass a context and additional request options.
3789//
3790// See GetApiKeys for details on how to use this API operation.
3791//
3792// The context must be non-nil and will be used for request cancellation. If
3793// the context is nil a panic will occur. In the future the SDK may create
3794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3795// for more information on using Contexts.
3796func (c *APIGateway) GetApiKeysWithContext(ctx aws.Context, input *GetApiKeysInput, opts ...request.Option) (*GetApiKeysOutput, error) {
3797	req, out := c.GetApiKeysRequest(input)
3798	req.SetContext(ctx)
3799	req.ApplyOptions(opts...)
3800	return out, req.Send()
3801}
3802
3803// GetApiKeysPages iterates over the pages of a GetApiKeys operation,
3804// calling the "fn" function with the response data for each page. To stop
3805// iterating, return false from the fn function.
3806//
3807// See GetApiKeys method for more information on how to use this operation.
3808//
3809// Note: This operation can generate multiple requests to a service.
3810//
3811//    // Example iterating over at most 3 pages of a GetApiKeys operation.
3812//    pageNum := 0
3813//    err := client.GetApiKeysPages(params,
3814//        func(page *apigateway.GetApiKeysOutput, lastPage bool) bool {
3815//            pageNum++
3816//            fmt.Println(page)
3817//            return pageNum <= 3
3818//        })
3819//
3820func (c *APIGateway) GetApiKeysPages(input *GetApiKeysInput, fn func(*GetApiKeysOutput, bool) bool) error {
3821	return c.GetApiKeysPagesWithContext(aws.BackgroundContext(), input, fn)
3822}
3823
3824// GetApiKeysPagesWithContext same as GetApiKeysPages except
3825// it takes a Context and allows setting request options on the pages.
3826//
3827// The context must be non-nil and will be used for request cancellation. If
3828// the context is nil a panic will occur. In the future the SDK may create
3829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3830// for more information on using Contexts.
3831func (c *APIGateway) GetApiKeysPagesWithContext(ctx aws.Context, input *GetApiKeysInput, fn func(*GetApiKeysOutput, bool) bool, opts ...request.Option) error {
3832	p := request.Pagination{
3833		NewRequest: func() (*request.Request, error) {
3834			var inCpy *GetApiKeysInput
3835			if input != nil {
3836				tmp := *input
3837				inCpy = &tmp
3838			}
3839			req, _ := c.GetApiKeysRequest(inCpy)
3840			req.SetContext(ctx)
3841			req.ApplyOptions(opts...)
3842			return req, nil
3843		},
3844	}
3845
3846	for p.Next() {
3847		if !fn(p.Page().(*GetApiKeysOutput), !p.HasNextPage()) {
3848			break
3849		}
3850	}
3851
3852	return p.Err()
3853}
3854
3855const opGetAuthorizer = "GetAuthorizer"
3856
3857// GetAuthorizerRequest generates a "aws/request.Request" representing the
3858// client's request for the GetAuthorizer operation. The "output" return
3859// value will be populated with the request's response once the request completes
3860// successfully.
3861//
3862// Use "Send" method on the returned Request to send the API call to the service.
3863// the "output" return value is not valid until after Send returns without error.
3864//
3865// See GetAuthorizer for more information on using the GetAuthorizer
3866// API call, and error handling.
3867//
3868// This method is useful when you want to inject custom logic or configuration
3869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3870//
3871//
3872//    // Example sending a request using the GetAuthorizerRequest method.
3873//    req, resp := client.GetAuthorizerRequest(params)
3874//
3875//    err := req.Send()
3876//    if err == nil { // resp is now filled
3877//        fmt.Println(resp)
3878//    }
3879func (c *APIGateway) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *Authorizer) {
3880	op := &request.Operation{
3881		Name:       opGetAuthorizer,
3882		HTTPMethod: "GET",
3883		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
3884	}
3885
3886	if input == nil {
3887		input = &GetAuthorizerInput{}
3888	}
3889
3890	output = &Authorizer{}
3891	req = c.newRequest(op, input, output)
3892	return
3893}
3894
3895// GetAuthorizer API operation for Amazon API Gateway.
3896//
3897// Describe an existing Authorizer resource.
3898//
3899// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizer.html)
3900//
3901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3902// with awserr.Error's Code and Message methods to get detailed information about
3903// the error.
3904//
3905// See the AWS API reference guide for Amazon API Gateway's
3906// API operation GetAuthorizer for usage and error information.
3907//
3908// Returned Error Types:
3909//   * UnauthorizedException
3910//   The request is denied because the caller has insufficient permissions.
3911//
3912//   * NotFoundException
3913//   The requested resource is not found. Make sure that the request URI is correct.
3914//
3915//   * TooManyRequestsException
3916//   The request has reached its throttling limit. Retry after the specified time
3917//   period.
3918//
3919func (c *APIGateway) GetAuthorizer(input *GetAuthorizerInput) (*Authorizer, error) {
3920	req, out := c.GetAuthorizerRequest(input)
3921	return out, req.Send()
3922}
3923
3924// GetAuthorizerWithContext is the same as GetAuthorizer with the addition of
3925// the ability to pass a context and additional request options.
3926//
3927// See GetAuthorizer for details on how to use this API operation.
3928//
3929// The context must be non-nil and will be used for request cancellation. If
3930// the context is nil a panic will occur. In the future the SDK may create
3931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3932// for more information on using Contexts.
3933func (c *APIGateway) GetAuthorizerWithContext(ctx aws.Context, input *GetAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
3934	req, out := c.GetAuthorizerRequest(input)
3935	req.SetContext(ctx)
3936	req.ApplyOptions(opts...)
3937	return out, req.Send()
3938}
3939
3940const opGetAuthorizers = "GetAuthorizers"
3941
3942// GetAuthorizersRequest generates a "aws/request.Request" representing the
3943// client's request for the GetAuthorizers operation. The "output" return
3944// value will be populated with the request's response once the request completes
3945// successfully.
3946//
3947// Use "Send" method on the returned Request to send the API call to the service.
3948// the "output" return value is not valid until after Send returns without error.
3949//
3950// See GetAuthorizers for more information on using the GetAuthorizers
3951// API call, and error handling.
3952//
3953// This method is useful when you want to inject custom logic or configuration
3954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3955//
3956//
3957//    // Example sending a request using the GetAuthorizersRequest method.
3958//    req, resp := client.GetAuthorizersRequest(params)
3959//
3960//    err := req.Send()
3961//    if err == nil { // resp is now filled
3962//        fmt.Println(resp)
3963//    }
3964func (c *APIGateway) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) {
3965	op := &request.Operation{
3966		Name:       opGetAuthorizers,
3967		HTTPMethod: "GET",
3968		HTTPPath:   "/restapis/{restapi_id}/authorizers",
3969	}
3970
3971	if input == nil {
3972		input = &GetAuthorizersInput{}
3973	}
3974
3975	output = &GetAuthorizersOutput{}
3976	req = c.newRequest(op, input, output)
3977	return
3978}
3979
3980// GetAuthorizers API operation for Amazon API Gateway.
3981//
3982// Describe an existing Authorizers resource.
3983//
3984// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizers.html)
3985//
3986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3987// with awserr.Error's Code and Message methods to get detailed information about
3988// the error.
3989//
3990// See the AWS API reference guide for Amazon API Gateway's
3991// API operation GetAuthorizers for usage and error information.
3992//
3993// Returned Error Types:
3994//   * BadRequestException
3995//   The submitted request is not valid, for example, the input is incomplete
3996//   or incorrect. See the accompanying error message for details.
3997//
3998//   * UnauthorizedException
3999//   The request is denied because the caller has insufficient permissions.
4000//
4001//   * NotFoundException
4002//   The requested resource is not found. Make sure that the request URI is correct.
4003//
4004//   * TooManyRequestsException
4005//   The request has reached its throttling limit. Retry after the specified time
4006//   period.
4007//
4008func (c *APIGateway) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) {
4009	req, out := c.GetAuthorizersRequest(input)
4010	return out, req.Send()
4011}
4012
4013// GetAuthorizersWithContext is the same as GetAuthorizers with the addition of
4014// the ability to pass a context and additional request options.
4015//
4016// See GetAuthorizers for details on how to use this API operation.
4017//
4018// The context must be non-nil and will be used for request cancellation. If
4019// the context is nil a panic will occur. In the future the SDK may create
4020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4021// for more information on using Contexts.
4022func (c *APIGateway) GetAuthorizersWithContext(ctx aws.Context, input *GetAuthorizersInput, opts ...request.Option) (*GetAuthorizersOutput, error) {
4023	req, out := c.GetAuthorizersRequest(input)
4024	req.SetContext(ctx)
4025	req.ApplyOptions(opts...)
4026	return out, req.Send()
4027}
4028
4029const opGetBasePathMapping = "GetBasePathMapping"
4030
4031// GetBasePathMappingRequest generates a "aws/request.Request" representing the
4032// client's request for the GetBasePathMapping operation. The "output" return
4033// value will be populated with the request's response once the request completes
4034// successfully.
4035//
4036// Use "Send" method on the returned Request to send the API call to the service.
4037// the "output" return value is not valid until after Send returns without error.
4038//
4039// See GetBasePathMapping for more information on using the GetBasePathMapping
4040// API call, and error handling.
4041//
4042// This method is useful when you want to inject custom logic or configuration
4043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4044//
4045//
4046//    // Example sending a request using the GetBasePathMappingRequest method.
4047//    req, resp := client.GetBasePathMappingRequest(params)
4048//
4049//    err := req.Send()
4050//    if err == nil { // resp is now filled
4051//        fmt.Println(resp)
4052//    }
4053func (c *APIGateway) GetBasePathMappingRequest(input *GetBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
4054	op := &request.Operation{
4055		Name:       opGetBasePathMapping,
4056		HTTPMethod: "GET",
4057		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
4058	}
4059
4060	if input == nil {
4061		input = &GetBasePathMappingInput{}
4062	}
4063
4064	output = &BasePathMapping{}
4065	req = c.newRequest(op, input, output)
4066	return
4067}
4068
4069// GetBasePathMapping API operation for Amazon API Gateway.
4070//
4071// Describe a BasePathMapping resource.
4072//
4073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4074// with awserr.Error's Code and Message methods to get detailed information about
4075// the error.
4076//
4077// See the AWS API reference guide for Amazon API Gateway's
4078// API operation GetBasePathMapping for usage and error information.
4079//
4080// Returned Error Types:
4081//   * UnauthorizedException
4082//   The request is denied because the caller has insufficient permissions.
4083//
4084//   * NotFoundException
4085//   The requested resource is not found. Make sure that the request URI is correct.
4086//
4087//   * TooManyRequestsException
4088//   The request has reached its throttling limit. Retry after the specified time
4089//   period.
4090//
4091func (c *APIGateway) GetBasePathMapping(input *GetBasePathMappingInput) (*BasePathMapping, error) {
4092	req, out := c.GetBasePathMappingRequest(input)
4093	return out, req.Send()
4094}
4095
4096// GetBasePathMappingWithContext is the same as GetBasePathMapping with the addition of
4097// the ability to pass a context and additional request options.
4098//
4099// See GetBasePathMapping for details on how to use this API operation.
4100//
4101// The context must be non-nil and will be used for request cancellation. If
4102// the context is nil a panic will occur. In the future the SDK may create
4103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4104// for more information on using Contexts.
4105func (c *APIGateway) GetBasePathMappingWithContext(ctx aws.Context, input *GetBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
4106	req, out := c.GetBasePathMappingRequest(input)
4107	req.SetContext(ctx)
4108	req.ApplyOptions(opts...)
4109	return out, req.Send()
4110}
4111
4112const opGetBasePathMappings = "GetBasePathMappings"
4113
4114// GetBasePathMappingsRequest generates a "aws/request.Request" representing the
4115// client's request for the GetBasePathMappings operation. The "output" return
4116// value will be populated with the request's response once the request completes
4117// successfully.
4118//
4119// Use "Send" method on the returned Request to send the API call to the service.
4120// the "output" return value is not valid until after Send returns without error.
4121//
4122// See GetBasePathMappings for more information on using the GetBasePathMappings
4123// API call, and error handling.
4124//
4125// This method is useful when you want to inject custom logic or configuration
4126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4127//
4128//
4129//    // Example sending a request using the GetBasePathMappingsRequest method.
4130//    req, resp := client.GetBasePathMappingsRequest(params)
4131//
4132//    err := req.Send()
4133//    if err == nil { // resp is now filled
4134//        fmt.Println(resp)
4135//    }
4136func (c *APIGateway) GetBasePathMappingsRequest(input *GetBasePathMappingsInput) (req *request.Request, output *GetBasePathMappingsOutput) {
4137	op := &request.Operation{
4138		Name:       opGetBasePathMappings,
4139		HTTPMethod: "GET",
4140		HTTPPath:   "/domainnames/{domain_name}/basepathmappings",
4141		Paginator: &request.Paginator{
4142			InputTokens:     []string{"position"},
4143			OutputTokens:    []string{"position"},
4144			LimitToken:      "limit",
4145			TruncationToken: "",
4146		},
4147	}
4148
4149	if input == nil {
4150		input = &GetBasePathMappingsInput{}
4151	}
4152
4153	output = &GetBasePathMappingsOutput{}
4154	req = c.newRequest(op, input, output)
4155	return
4156}
4157
4158// GetBasePathMappings API operation for Amazon API Gateway.
4159//
4160// Represents a collection of BasePathMapping resources.
4161//
4162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4163// with awserr.Error's Code and Message methods to get detailed information about
4164// the error.
4165//
4166// See the AWS API reference guide for Amazon API Gateway's
4167// API operation GetBasePathMappings for usage and error information.
4168//
4169// Returned Error Types:
4170//   * UnauthorizedException
4171//   The request is denied because the caller has insufficient permissions.
4172//
4173//   * NotFoundException
4174//   The requested resource is not found. Make sure that the request URI is correct.
4175//
4176//   * TooManyRequestsException
4177//   The request has reached its throttling limit. Retry after the specified time
4178//   period.
4179//
4180func (c *APIGateway) GetBasePathMappings(input *GetBasePathMappingsInput) (*GetBasePathMappingsOutput, error) {
4181	req, out := c.GetBasePathMappingsRequest(input)
4182	return out, req.Send()
4183}
4184
4185// GetBasePathMappingsWithContext is the same as GetBasePathMappings with the addition of
4186// the ability to pass a context and additional request options.
4187//
4188// See GetBasePathMappings for details on how to use this API operation.
4189//
4190// The context must be non-nil and will be used for request cancellation. If
4191// the context is nil a panic will occur. In the future the SDK may create
4192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4193// for more information on using Contexts.
4194func (c *APIGateway) GetBasePathMappingsWithContext(ctx aws.Context, input *GetBasePathMappingsInput, opts ...request.Option) (*GetBasePathMappingsOutput, error) {
4195	req, out := c.GetBasePathMappingsRequest(input)
4196	req.SetContext(ctx)
4197	req.ApplyOptions(opts...)
4198	return out, req.Send()
4199}
4200
4201// GetBasePathMappingsPages iterates over the pages of a GetBasePathMappings operation,
4202// calling the "fn" function with the response data for each page. To stop
4203// iterating, return false from the fn function.
4204//
4205// See GetBasePathMappings method for more information on how to use this operation.
4206//
4207// Note: This operation can generate multiple requests to a service.
4208//
4209//    // Example iterating over at most 3 pages of a GetBasePathMappings operation.
4210//    pageNum := 0
4211//    err := client.GetBasePathMappingsPages(params,
4212//        func(page *apigateway.GetBasePathMappingsOutput, lastPage bool) bool {
4213//            pageNum++
4214//            fmt.Println(page)
4215//            return pageNum <= 3
4216//        })
4217//
4218func (c *APIGateway) GetBasePathMappingsPages(input *GetBasePathMappingsInput, fn func(*GetBasePathMappingsOutput, bool) bool) error {
4219	return c.GetBasePathMappingsPagesWithContext(aws.BackgroundContext(), input, fn)
4220}
4221
4222// GetBasePathMappingsPagesWithContext same as GetBasePathMappingsPages except
4223// it takes a Context and allows setting request options on the pages.
4224//
4225// The context must be non-nil and will be used for request cancellation. If
4226// the context is nil a panic will occur. In the future the SDK may create
4227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4228// for more information on using Contexts.
4229func (c *APIGateway) GetBasePathMappingsPagesWithContext(ctx aws.Context, input *GetBasePathMappingsInput, fn func(*GetBasePathMappingsOutput, bool) bool, opts ...request.Option) error {
4230	p := request.Pagination{
4231		NewRequest: func() (*request.Request, error) {
4232			var inCpy *GetBasePathMappingsInput
4233			if input != nil {
4234				tmp := *input
4235				inCpy = &tmp
4236			}
4237			req, _ := c.GetBasePathMappingsRequest(inCpy)
4238			req.SetContext(ctx)
4239			req.ApplyOptions(opts...)
4240			return req, nil
4241		},
4242	}
4243
4244	for p.Next() {
4245		if !fn(p.Page().(*GetBasePathMappingsOutput), !p.HasNextPage()) {
4246			break
4247		}
4248	}
4249
4250	return p.Err()
4251}
4252
4253const opGetClientCertificate = "GetClientCertificate"
4254
4255// GetClientCertificateRequest generates a "aws/request.Request" representing the
4256// client's request for the GetClientCertificate operation. The "output" return
4257// value will be populated with the request's response once the request completes
4258// successfully.
4259//
4260// Use "Send" method on the returned Request to send the API call to the service.
4261// the "output" return value is not valid until after Send returns without error.
4262//
4263// See GetClientCertificate for more information on using the GetClientCertificate
4264// API call, and error handling.
4265//
4266// This method is useful when you want to inject custom logic or configuration
4267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4268//
4269//
4270//    // Example sending a request using the GetClientCertificateRequest method.
4271//    req, resp := client.GetClientCertificateRequest(params)
4272//
4273//    err := req.Send()
4274//    if err == nil { // resp is now filled
4275//        fmt.Println(resp)
4276//    }
4277func (c *APIGateway) GetClientCertificateRequest(input *GetClientCertificateInput) (req *request.Request, output *ClientCertificate) {
4278	op := &request.Operation{
4279		Name:       opGetClientCertificate,
4280		HTTPMethod: "GET",
4281		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
4282	}
4283
4284	if input == nil {
4285		input = &GetClientCertificateInput{}
4286	}
4287
4288	output = &ClientCertificate{}
4289	req = c.newRequest(op, input, output)
4290	return
4291}
4292
4293// GetClientCertificate API operation for Amazon API Gateway.
4294//
4295// Gets information about the current ClientCertificate resource.
4296//
4297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4298// with awserr.Error's Code and Message methods to get detailed information about
4299// the error.
4300//
4301// See the AWS API reference guide for Amazon API Gateway's
4302// API operation GetClientCertificate for usage and error information.
4303//
4304// Returned Error Types:
4305//   * UnauthorizedException
4306//   The request is denied because the caller has insufficient permissions.
4307//
4308//   * NotFoundException
4309//   The requested resource is not found. Make sure that the request URI is correct.
4310//
4311//   * TooManyRequestsException
4312//   The request has reached its throttling limit. Retry after the specified time
4313//   period.
4314//
4315func (c *APIGateway) GetClientCertificate(input *GetClientCertificateInput) (*ClientCertificate, error) {
4316	req, out := c.GetClientCertificateRequest(input)
4317	return out, req.Send()
4318}
4319
4320// GetClientCertificateWithContext is the same as GetClientCertificate with the addition of
4321// the ability to pass a context and additional request options.
4322//
4323// See GetClientCertificate 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 *APIGateway) GetClientCertificateWithContext(ctx aws.Context, input *GetClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
4330	req, out := c.GetClientCertificateRequest(input)
4331	req.SetContext(ctx)
4332	req.ApplyOptions(opts...)
4333	return out, req.Send()
4334}
4335
4336const opGetClientCertificates = "GetClientCertificates"
4337
4338// GetClientCertificatesRequest generates a "aws/request.Request" representing the
4339// client's request for the GetClientCertificates 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 GetClientCertificates for more information on using the GetClientCertificates
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 GetClientCertificatesRequest method.
4354//    req, resp := client.GetClientCertificatesRequest(params)
4355//
4356//    err := req.Send()
4357//    if err == nil { // resp is now filled
4358//        fmt.Println(resp)
4359//    }
4360func (c *APIGateway) GetClientCertificatesRequest(input *GetClientCertificatesInput) (req *request.Request, output *GetClientCertificatesOutput) {
4361	op := &request.Operation{
4362		Name:       opGetClientCertificates,
4363		HTTPMethod: "GET",
4364		HTTPPath:   "/clientcertificates",
4365		Paginator: &request.Paginator{
4366			InputTokens:     []string{"position"},
4367			OutputTokens:    []string{"position"},
4368			LimitToken:      "limit",
4369			TruncationToken: "",
4370		},
4371	}
4372
4373	if input == nil {
4374		input = &GetClientCertificatesInput{}
4375	}
4376
4377	output = &GetClientCertificatesOutput{}
4378	req = c.newRequest(op, input, output)
4379	return
4380}
4381
4382// GetClientCertificates API operation for Amazon API Gateway.
4383//
4384// Gets a collection of ClientCertificate resources.
4385//
4386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4387// with awserr.Error's Code and Message methods to get detailed information about
4388// the error.
4389//
4390// See the AWS API reference guide for Amazon API Gateway's
4391// API operation GetClientCertificates for usage and error information.
4392//
4393// Returned Error Types:
4394//   * BadRequestException
4395//   The submitted request is not valid, for example, the input is incomplete
4396//   or incorrect. See the accompanying error message for details.
4397//
4398//   * UnauthorizedException
4399//   The request is denied because the caller has insufficient permissions.
4400//
4401//   * TooManyRequestsException
4402//   The request has reached its throttling limit. Retry after the specified time
4403//   period.
4404//
4405func (c *APIGateway) GetClientCertificates(input *GetClientCertificatesInput) (*GetClientCertificatesOutput, error) {
4406	req, out := c.GetClientCertificatesRequest(input)
4407	return out, req.Send()
4408}
4409
4410// GetClientCertificatesWithContext is the same as GetClientCertificates with the addition of
4411// the ability to pass a context and additional request options.
4412//
4413// See GetClientCertificates for details on how to use this API operation.
4414//
4415// The context must be non-nil and will be used for request cancellation. If
4416// the context is nil a panic will occur. In the future the SDK may create
4417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4418// for more information on using Contexts.
4419func (c *APIGateway) GetClientCertificatesWithContext(ctx aws.Context, input *GetClientCertificatesInput, opts ...request.Option) (*GetClientCertificatesOutput, error) {
4420	req, out := c.GetClientCertificatesRequest(input)
4421	req.SetContext(ctx)
4422	req.ApplyOptions(opts...)
4423	return out, req.Send()
4424}
4425
4426// GetClientCertificatesPages iterates over the pages of a GetClientCertificates operation,
4427// calling the "fn" function with the response data for each page. To stop
4428// iterating, return false from the fn function.
4429//
4430// See GetClientCertificates method for more information on how to use this operation.
4431//
4432// Note: This operation can generate multiple requests to a service.
4433//
4434//    // Example iterating over at most 3 pages of a GetClientCertificates operation.
4435//    pageNum := 0
4436//    err := client.GetClientCertificatesPages(params,
4437//        func(page *apigateway.GetClientCertificatesOutput, lastPage bool) bool {
4438//            pageNum++
4439//            fmt.Println(page)
4440//            return pageNum <= 3
4441//        })
4442//
4443func (c *APIGateway) GetClientCertificatesPages(input *GetClientCertificatesInput, fn func(*GetClientCertificatesOutput, bool) bool) error {
4444	return c.GetClientCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
4445}
4446
4447// GetClientCertificatesPagesWithContext same as GetClientCertificatesPages except
4448// it takes a Context and allows setting request options on the pages.
4449//
4450// The context must be non-nil and will be used for request cancellation. If
4451// the context is nil a panic will occur. In the future the SDK may create
4452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4453// for more information on using Contexts.
4454func (c *APIGateway) GetClientCertificatesPagesWithContext(ctx aws.Context, input *GetClientCertificatesInput, fn func(*GetClientCertificatesOutput, bool) bool, opts ...request.Option) error {
4455	p := request.Pagination{
4456		NewRequest: func() (*request.Request, error) {
4457			var inCpy *GetClientCertificatesInput
4458			if input != nil {
4459				tmp := *input
4460				inCpy = &tmp
4461			}
4462			req, _ := c.GetClientCertificatesRequest(inCpy)
4463			req.SetContext(ctx)
4464			req.ApplyOptions(opts...)
4465			return req, nil
4466		},
4467	}
4468
4469	for p.Next() {
4470		if !fn(p.Page().(*GetClientCertificatesOutput), !p.HasNextPage()) {
4471			break
4472		}
4473	}
4474
4475	return p.Err()
4476}
4477
4478const opGetDeployment = "GetDeployment"
4479
4480// GetDeploymentRequest generates a "aws/request.Request" representing the
4481// client's request for the GetDeployment operation. The "output" return
4482// value will be populated with the request's response once the request completes
4483// successfully.
4484//
4485// Use "Send" method on the returned Request to send the API call to the service.
4486// the "output" return value is not valid until after Send returns without error.
4487//
4488// See GetDeployment for more information on using the GetDeployment
4489// API call, and error handling.
4490//
4491// This method is useful when you want to inject custom logic or configuration
4492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4493//
4494//
4495//    // Example sending a request using the GetDeploymentRequest method.
4496//    req, resp := client.GetDeploymentRequest(params)
4497//
4498//    err := req.Send()
4499//    if err == nil { // resp is now filled
4500//        fmt.Println(resp)
4501//    }
4502func (c *APIGateway) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *Deployment) {
4503	op := &request.Operation{
4504		Name:       opGetDeployment,
4505		HTTPMethod: "GET",
4506		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
4507	}
4508
4509	if input == nil {
4510		input = &GetDeploymentInput{}
4511	}
4512
4513	output = &Deployment{}
4514	req = c.newRequest(op, input, output)
4515	return
4516}
4517
4518// GetDeployment API operation for Amazon API Gateway.
4519//
4520// Gets information about a Deployment resource.
4521//
4522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4523// with awserr.Error's Code and Message methods to get detailed information about
4524// the error.
4525//
4526// See the AWS API reference guide for Amazon API Gateway's
4527// API operation GetDeployment for usage and error information.
4528//
4529// Returned Error Types:
4530//   * UnauthorizedException
4531//   The request is denied because the caller has insufficient permissions.
4532//
4533//   * NotFoundException
4534//   The requested resource is not found. Make sure that the request URI is correct.
4535//
4536//   * TooManyRequestsException
4537//   The request has reached its throttling limit. Retry after the specified time
4538//   period.
4539//
4540//   * ServiceUnavailableException
4541//   The requested service is not available. For details see the accompanying
4542//   error message. Retry after the specified time period.
4543//
4544func (c *APIGateway) GetDeployment(input *GetDeploymentInput) (*Deployment, error) {
4545	req, out := c.GetDeploymentRequest(input)
4546	return out, req.Send()
4547}
4548
4549// GetDeploymentWithContext is the same as GetDeployment with the addition of
4550// the ability to pass a context and additional request options.
4551//
4552// See GetDeployment for details on how to use this API operation.
4553//
4554// The context must be non-nil and will be used for request cancellation. If
4555// the context is nil a panic will occur. In the future the SDK may create
4556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4557// for more information on using Contexts.
4558func (c *APIGateway) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*Deployment, error) {
4559	req, out := c.GetDeploymentRequest(input)
4560	req.SetContext(ctx)
4561	req.ApplyOptions(opts...)
4562	return out, req.Send()
4563}
4564
4565const opGetDeployments = "GetDeployments"
4566
4567// GetDeploymentsRequest generates a "aws/request.Request" representing the
4568// client's request for the GetDeployments operation. The "output" return
4569// value will be populated with the request's response once the request completes
4570// successfully.
4571//
4572// Use "Send" method on the returned Request to send the API call to the service.
4573// the "output" return value is not valid until after Send returns without error.
4574//
4575// See GetDeployments for more information on using the GetDeployments
4576// API call, and error handling.
4577//
4578// This method is useful when you want to inject custom logic or configuration
4579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4580//
4581//
4582//    // Example sending a request using the GetDeploymentsRequest method.
4583//    req, resp := client.GetDeploymentsRequest(params)
4584//
4585//    err := req.Send()
4586//    if err == nil { // resp is now filled
4587//        fmt.Println(resp)
4588//    }
4589func (c *APIGateway) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) {
4590	op := &request.Operation{
4591		Name:       opGetDeployments,
4592		HTTPMethod: "GET",
4593		HTTPPath:   "/restapis/{restapi_id}/deployments",
4594		Paginator: &request.Paginator{
4595			InputTokens:     []string{"position"},
4596			OutputTokens:    []string{"position"},
4597			LimitToken:      "limit",
4598			TruncationToken: "",
4599		},
4600	}
4601
4602	if input == nil {
4603		input = &GetDeploymentsInput{}
4604	}
4605
4606	output = &GetDeploymentsOutput{}
4607	req = c.newRequest(op, input, output)
4608	return
4609}
4610
4611// GetDeployments API operation for Amazon API Gateway.
4612//
4613// Gets information about a Deployments collection.
4614//
4615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4616// with awserr.Error's Code and Message methods to get detailed information about
4617// the error.
4618//
4619// See the AWS API reference guide for Amazon API Gateway's
4620// API operation GetDeployments for usage and error information.
4621//
4622// Returned Error Types:
4623//   * BadRequestException
4624//   The submitted request is not valid, for example, the input is incomplete
4625//   or incorrect. See the accompanying error message for details.
4626//
4627//   * UnauthorizedException
4628//   The request is denied because the caller has insufficient permissions.
4629//
4630//   * TooManyRequestsException
4631//   The request has reached its throttling limit. Retry after the specified time
4632//   period.
4633//
4634//   * ServiceUnavailableException
4635//   The requested service is not available. For details see the accompanying
4636//   error message. Retry after the specified time period.
4637//
4638func (c *APIGateway) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) {
4639	req, out := c.GetDeploymentsRequest(input)
4640	return out, req.Send()
4641}
4642
4643// GetDeploymentsWithContext is the same as GetDeployments with the addition of
4644// the ability to pass a context and additional request options.
4645//
4646// See GetDeployments for details on how to use this API operation.
4647//
4648// The context must be non-nil and will be used for request cancellation. If
4649// the context is nil a panic will occur. In the future the SDK may create
4650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4651// for more information on using Contexts.
4652func (c *APIGateway) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) {
4653	req, out := c.GetDeploymentsRequest(input)
4654	req.SetContext(ctx)
4655	req.ApplyOptions(opts...)
4656	return out, req.Send()
4657}
4658
4659// GetDeploymentsPages iterates over the pages of a GetDeployments operation,
4660// calling the "fn" function with the response data for each page. To stop
4661// iterating, return false from the fn function.
4662//
4663// See GetDeployments method for more information on how to use this operation.
4664//
4665// Note: This operation can generate multiple requests to a service.
4666//
4667//    // Example iterating over at most 3 pages of a GetDeployments operation.
4668//    pageNum := 0
4669//    err := client.GetDeploymentsPages(params,
4670//        func(page *apigateway.GetDeploymentsOutput, lastPage bool) bool {
4671//            pageNum++
4672//            fmt.Println(page)
4673//            return pageNum <= 3
4674//        })
4675//
4676func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool) error {
4677	return c.GetDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
4678}
4679
4680// GetDeploymentsPagesWithContext same as GetDeploymentsPages except
4681// it takes a Context and allows setting request options on the pages.
4682//
4683// The context must be non-nil and will be used for request cancellation. If
4684// the context is nil a panic will occur. In the future the SDK may create
4685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4686// for more information on using Contexts.
4687func (c *APIGateway) GetDeploymentsPagesWithContext(ctx aws.Context, input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool, opts ...request.Option) error {
4688	p := request.Pagination{
4689		NewRequest: func() (*request.Request, error) {
4690			var inCpy *GetDeploymentsInput
4691			if input != nil {
4692				tmp := *input
4693				inCpy = &tmp
4694			}
4695			req, _ := c.GetDeploymentsRequest(inCpy)
4696			req.SetContext(ctx)
4697			req.ApplyOptions(opts...)
4698			return req, nil
4699		},
4700	}
4701
4702	for p.Next() {
4703		if !fn(p.Page().(*GetDeploymentsOutput), !p.HasNextPage()) {
4704			break
4705		}
4706	}
4707
4708	return p.Err()
4709}
4710
4711const opGetDocumentationPart = "GetDocumentationPart"
4712
4713// GetDocumentationPartRequest generates a "aws/request.Request" representing the
4714// client's request for the GetDocumentationPart operation. The "output" return
4715// value will be populated with the request's response once the request completes
4716// successfully.
4717//
4718// Use "Send" method on the returned Request to send the API call to the service.
4719// the "output" return value is not valid until after Send returns without error.
4720//
4721// See GetDocumentationPart for more information on using the GetDocumentationPart
4722// API call, and error handling.
4723//
4724// This method is useful when you want to inject custom logic or configuration
4725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4726//
4727//
4728//    // Example sending a request using the GetDocumentationPartRequest method.
4729//    req, resp := client.GetDocumentationPartRequest(params)
4730//
4731//    err := req.Send()
4732//    if err == nil { // resp is now filled
4733//        fmt.Println(resp)
4734//    }
4735func (c *APIGateway) GetDocumentationPartRequest(input *GetDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
4736	op := &request.Operation{
4737		Name:       opGetDocumentationPart,
4738		HTTPMethod: "GET",
4739		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
4740	}
4741
4742	if input == nil {
4743		input = &GetDocumentationPartInput{}
4744	}
4745
4746	output = &DocumentationPart{}
4747	req = c.newRequest(op, input, output)
4748	return
4749}
4750
4751// GetDocumentationPart API operation for Amazon API Gateway.
4752//
4753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4754// with awserr.Error's Code and Message methods to get detailed information about
4755// the error.
4756//
4757// See the AWS API reference guide for Amazon API Gateway's
4758// API operation GetDocumentationPart for usage and error information.
4759//
4760// Returned Error Types:
4761//   * UnauthorizedException
4762//   The request is denied because the caller has insufficient permissions.
4763//
4764//   * NotFoundException
4765//   The requested resource is not found. Make sure that the request URI is correct.
4766//
4767//   * TooManyRequestsException
4768//   The request has reached its throttling limit. Retry after the specified time
4769//   period.
4770//
4771func (c *APIGateway) GetDocumentationPart(input *GetDocumentationPartInput) (*DocumentationPart, error) {
4772	req, out := c.GetDocumentationPartRequest(input)
4773	return out, req.Send()
4774}
4775
4776// GetDocumentationPartWithContext is the same as GetDocumentationPart with the addition of
4777// the ability to pass a context and additional request options.
4778//
4779// See GetDocumentationPart for details on how to use this API operation.
4780//
4781// The context must be non-nil and will be used for request cancellation. If
4782// the context is nil a panic will occur. In the future the SDK may create
4783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4784// for more information on using Contexts.
4785func (c *APIGateway) GetDocumentationPartWithContext(ctx aws.Context, input *GetDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
4786	req, out := c.GetDocumentationPartRequest(input)
4787	req.SetContext(ctx)
4788	req.ApplyOptions(opts...)
4789	return out, req.Send()
4790}
4791
4792const opGetDocumentationParts = "GetDocumentationParts"
4793
4794// GetDocumentationPartsRequest generates a "aws/request.Request" representing the
4795// client's request for the GetDocumentationParts operation. The "output" return
4796// value will be populated with the request's response once the request completes
4797// successfully.
4798//
4799// Use "Send" method on the returned Request to send the API call to the service.
4800// the "output" return value is not valid until after Send returns without error.
4801//
4802// See GetDocumentationParts for more information on using the GetDocumentationParts
4803// API call, and error handling.
4804//
4805// This method is useful when you want to inject custom logic or configuration
4806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4807//
4808//
4809//    // Example sending a request using the GetDocumentationPartsRequest method.
4810//    req, resp := client.GetDocumentationPartsRequest(params)
4811//
4812//    err := req.Send()
4813//    if err == nil { // resp is now filled
4814//        fmt.Println(resp)
4815//    }
4816func (c *APIGateway) GetDocumentationPartsRequest(input *GetDocumentationPartsInput) (req *request.Request, output *GetDocumentationPartsOutput) {
4817	op := &request.Operation{
4818		Name:       opGetDocumentationParts,
4819		HTTPMethod: "GET",
4820		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
4821	}
4822
4823	if input == nil {
4824		input = &GetDocumentationPartsInput{}
4825	}
4826
4827	output = &GetDocumentationPartsOutput{}
4828	req = c.newRequest(op, input, output)
4829	return
4830}
4831
4832// GetDocumentationParts API operation for Amazon API Gateway.
4833//
4834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4835// with awserr.Error's Code and Message methods to get detailed information about
4836// the error.
4837//
4838// See the AWS API reference guide for Amazon API Gateway's
4839// API operation GetDocumentationParts for usage and error information.
4840//
4841// Returned Error Types:
4842//   * BadRequestException
4843//   The submitted request is not valid, for example, the input is incomplete
4844//   or incorrect. See the accompanying error message for details.
4845//
4846//   * UnauthorizedException
4847//   The request is denied because the caller has insufficient permissions.
4848//
4849//   * NotFoundException
4850//   The requested resource is not found. Make sure that the request URI is correct.
4851//
4852//   * TooManyRequestsException
4853//   The request has reached its throttling limit. Retry after the specified time
4854//   period.
4855//
4856func (c *APIGateway) GetDocumentationParts(input *GetDocumentationPartsInput) (*GetDocumentationPartsOutput, error) {
4857	req, out := c.GetDocumentationPartsRequest(input)
4858	return out, req.Send()
4859}
4860
4861// GetDocumentationPartsWithContext is the same as GetDocumentationParts with the addition of
4862// the ability to pass a context and additional request options.
4863//
4864// See GetDocumentationParts for details on how to use this API operation.
4865//
4866// The context must be non-nil and will be used for request cancellation. If
4867// the context is nil a panic will occur. In the future the SDK may create
4868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4869// for more information on using Contexts.
4870func (c *APIGateway) GetDocumentationPartsWithContext(ctx aws.Context, input *GetDocumentationPartsInput, opts ...request.Option) (*GetDocumentationPartsOutput, error) {
4871	req, out := c.GetDocumentationPartsRequest(input)
4872	req.SetContext(ctx)
4873	req.ApplyOptions(opts...)
4874	return out, req.Send()
4875}
4876
4877const opGetDocumentationVersion = "GetDocumentationVersion"
4878
4879// GetDocumentationVersionRequest generates a "aws/request.Request" representing the
4880// client's request for the GetDocumentationVersion operation. The "output" return
4881// value will be populated with the request's response once the request completes
4882// successfully.
4883//
4884// Use "Send" method on the returned Request to send the API call to the service.
4885// the "output" return value is not valid until after Send returns without error.
4886//
4887// See GetDocumentationVersion for more information on using the GetDocumentationVersion
4888// API call, and error handling.
4889//
4890// This method is useful when you want to inject custom logic or configuration
4891// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4892//
4893//
4894//    // Example sending a request using the GetDocumentationVersionRequest method.
4895//    req, resp := client.GetDocumentationVersionRequest(params)
4896//
4897//    err := req.Send()
4898//    if err == nil { // resp is now filled
4899//        fmt.Println(resp)
4900//    }
4901func (c *APIGateway) GetDocumentationVersionRequest(input *GetDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
4902	op := &request.Operation{
4903		Name:       opGetDocumentationVersion,
4904		HTTPMethod: "GET",
4905		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
4906	}
4907
4908	if input == nil {
4909		input = &GetDocumentationVersionInput{}
4910	}
4911
4912	output = &DocumentationVersion{}
4913	req = c.newRequest(op, input, output)
4914	return
4915}
4916
4917// GetDocumentationVersion API operation for Amazon API Gateway.
4918//
4919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4920// with awserr.Error's Code and Message methods to get detailed information about
4921// the error.
4922//
4923// See the AWS API reference guide for Amazon API Gateway's
4924// API operation GetDocumentationVersion for usage and error information.
4925//
4926// Returned Error Types:
4927//   * UnauthorizedException
4928//   The request is denied because the caller has insufficient permissions.
4929//
4930//   * NotFoundException
4931//   The requested resource is not found. Make sure that the request URI is correct.
4932//
4933//   * TooManyRequestsException
4934//   The request has reached its throttling limit. Retry after the specified time
4935//   period.
4936//
4937func (c *APIGateway) GetDocumentationVersion(input *GetDocumentationVersionInput) (*DocumentationVersion, error) {
4938	req, out := c.GetDocumentationVersionRequest(input)
4939	return out, req.Send()
4940}
4941
4942// GetDocumentationVersionWithContext is the same as GetDocumentationVersion with the addition of
4943// the ability to pass a context and additional request options.
4944//
4945// See GetDocumentationVersion for details on how to use this API operation.
4946//
4947// The context must be non-nil and will be used for request cancellation. If
4948// the context is nil a panic will occur. In the future the SDK may create
4949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4950// for more information on using Contexts.
4951func (c *APIGateway) GetDocumentationVersionWithContext(ctx aws.Context, input *GetDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
4952	req, out := c.GetDocumentationVersionRequest(input)
4953	req.SetContext(ctx)
4954	req.ApplyOptions(opts...)
4955	return out, req.Send()
4956}
4957
4958const opGetDocumentationVersions = "GetDocumentationVersions"
4959
4960// GetDocumentationVersionsRequest generates a "aws/request.Request" representing the
4961// client's request for the GetDocumentationVersions operation. The "output" return
4962// value will be populated with the request's response once the request completes
4963// successfully.
4964//
4965// Use "Send" method on the returned Request to send the API call to the service.
4966// the "output" return value is not valid until after Send returns without error.
4967//
4968// See GetDocumentationVersions for more information on using the GetDocumentationVersions
4969// API call, and error handling.
4970//
4971// This method is useful when you want to inject custom logic or configuration
4972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4973//
4974//
4975//    // Example sending a request using the GetDocumentationVersionsRequest method.
4976//    req, resp := client.GetDocumentationVersionsRequest(params)
4977//
4978//    err := req.Send()
4979//    if err == nil { // resp is now filled
4980//        fmt.Println(resp)
4981//    }
4982func (c *APIGateway) GetDocumentationVersionsRequest(input *GetDocumentationVersionsInput) (req *request.Request, output *GetDocumentationVersionsOutput) {
4983	op := &request.Operation{
4984		Name:       opGetDocumentationVersions,
4985		HTTPMethod: "GET",
4986		HTTPPath:   "/restapis/{restapi_id}/documentation/versions",
4987	}
4988
4989	if input == nil {
4990		input = &GetDocumentationVersionsInput{}
4991	}
4992
4993	output = &GetDocumentationVersionsOutput{}
4994	req = c.newRequest(op, input, output)
4995	return
4996}
4997
4998// GetDocumentationVersions API operation for Amazon API Gateway.
4999//
5000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5001// with awserr.Error's Code and Message methods to get detailed information about
5002// the error.
5003//
5004// See the AWS API reference guide for Amazon API Gateway's
5005// API operation GetDocumentationVersions for usage and error information.
5006//
5007// Returned Error Types:
5008//   * BadRequestException
5009//   The submitted request is not valid, for example, the input is incomplete
5010//   or incorrect. See the accompanying error message for details.
5011//
5012//   * UnauthorizedException
5013//   The request is denied because the caller has insufficient permissions.
5014//
5015//   * NotFoundException
5016//   The requested resource is not found. Make sure that the request URI is correct.
5017//
5018//   * TooManyRequestsException
5019//   The request has reached its throttling limit. Retry after the specified time
5020//   period.
5021//
5022func (c *APIGateway) GetDocumentationVersions(input *GetDocumentationVersionsInput) (*GetDocumentationVersionsOutput, error) {
5023	req, out := c.GetDocumentationVersionsRequest(input)
5024	return out, req.Send()
5025}
5026
5027// GetDocumentationVersionsWithContext is the same as GetDocumentationVersions with the addition of
5028// the ability to pass a context and additional request options.
5029//
5030// See GetDocumentationVersions for details on how to use this API operation.
5031//
5032// The context must be non-nil and will be used for request cancellation. If
5033// the context is nil a panic will occur. In the future the SDK may create
5034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5035// for more information on using Contexts.
5036func (c *APIGateway) GetDocumentationVersionsWithContext(ctx aws.Context, input *GetDocumentationVersionsInput, opts ...request.Option) (*GetDocumentationVersionsOutput, error) {
5037	req, out := c.GetDocumentationVersionsRequest(input)
5038	req.SetContext(ctx)
5039	req.ApplyOptions(opts...)
5040	return out, req.Send()
5041}
5042
5043const opGetDomainName = "GetDomainName"
5044
5045// GetDomainNameRequest generates a "aws/request.Request" representing the
5046// client's request for the GetDomainName operation. The "output" return
5047// value will be populated with the request's response once the request completes
5048// successfully.
5049//
5050// Use "Send" method on the returned Request to send the API call to the service.
5051// the "output" return value is not valid until after Send returns without error.
5052//
5053// See GetDomainName for more information on using the GetDomainName
5054// API call, and error handling.
5055//
5056// This method is useful when you want to inject custom logic or configuration
5057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5058//
5059//
5060//    // Example sending a request using the GetDomainNameRequest method.
5061//    req, resp := client.GetDomainNameRequest(params)
5062//
5063//    err := req.Send()
5064//    if err == nil { // resp is now filled
5065//        fmt.Println(resp)
5066//    }
5067func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *DomainName) {
5068	op := &request.Operation{
5069		Name:       opGetDomainName,
5070		HTTPMethod: "GET",
5071		HTTPPath:   "/domainnames/{domain_name}",
5072	}
5073
5074	if input == nil {
5075		input = &GetDomainNameInput{}
5076	}
5077
5078	output = &DomainName{}
5079	req = c.newRequest(op, input, output)
5080	return
5081}
5082
5083// GetDomainName API operation for Amazon API Gateway.
5084//
5085// Represents a domain name that is contained in a simpler, more intuitive URL
5086// that can be called.
5087//
5088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5089// with awserr.Error's Code and Message methods to get detailed information about
5090// the error.
5091//
5092// See the AWS API reference guide for Amazon API Gateway's
5093// API operation GetDomainName for usage and error information.
5094//
5095// Returned Error Types:
5096//   * UnauthorizedException
5097//   The request is denied because the caller has insufficient permissions.
5098//
5099//   * NotFoundException
5100//   The requested resource is not found. Make sure that the request URI is correct.
5101//
5102//   * ServiceUnavailableException
5103//   The requested service is not available. For details see the accompanying
5104//   error message. Retry after the specified time period.
5105//
5106//   * TooManyRequestsException
5107//   The request has reached its throttling limit. Retry after the specified time
5108//   period.
5109//
5110func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, error) {
5111	req, out := c.GetDomainNameRequest(input)
5112	return out, req.Send()
5113}
5114
5115// GetDomainNameWithContext is the same as GetDomainName with the addition of
5116// the ability to pass a context and additional request options.
5117//
5118// See GetDomainName for details on how to use this API operation.
5119//
5120// The context must be non-nil and will be used for request cancellation. If
5121// the context is nil a panic will occur. In the future the SDK may create
5122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5123// for more information on using Contexts.
5124func (c *APIGateway) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*DomainName, error) {
5125	req, out := c.GetDomainNameRequest(input)
5126	req.SetContext(ctx)
5127	req.ApplyOptions(opts...)
5128	return out, req.Send()
5129}
5130
5131const opGetDomainNames = "GetDomainNames"
5132
5133// GetDomainNamesRequest generates a "aws/request.Request" representing the
5134// client's request for the GetDomainNames operation. The "output" return
5135// value will be populated with the request's response once the request completes
5136// successfully.
5137//
5138// Use "Send" method on the returned Request to send the API call to the service.
5139// the "output" return value is not valid until after Send returns without error.
5140//
5141// See GetDomainNames for more information on using the GetDomainNames
5142// API call, and error handling.
5143//
5144// This method is useful when you want to inject custom logic or configuration
5145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5146//
5147//
5148//    // Example sending a request using the GetDomainNamesRequest method.
5149//    req, resp := client.GetDomainNamesRequest(params)
5150//
5151//    err := req.Send()
5152//    if err == nil { // resp is now filled
5153//        fmt.Println(resp)
5154//    }
5155func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) {
5156	op := &request.Operation{
5157		Name:       opGetDomainNames,
5158		HTTPMethod: "GET",
5159		HTTPPath:   "/domainnames",
5160		Paginator: &request.Paginator{
5161			InputTokens:     []string{"position"},
5162			OutputTokens:    []string{"position"},
5163			LimitToken:      "limit",
5164			TruncationToken: "",
5165		},
5166	}
5167
5168	if input == nil {
5169		input = &GetDomainNamesInput{}
5170	}
5171
5172	output = &GetDomainNamesOutput{}
5173	req = c.newRequest(op, input, output)
5174	return
5175}
5176
5177// GetDomainNames API operation for Amazon API Gateway.
5178//
5179// Represents a collection of DomainName resources.
5180//
5181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5182// with awserr.Error's Code and Message methods to get detailed information about
5183// the error.
5184//
5185// See the AWS API reference guide for Amazon API Gateway's
5186// API operation GetDomainNames for usage and error information.
5187//
5188// Returned Error Types:
5189//   * BadRequestException
5190//   The submitted request is not valid, for example, the input is incomplete
5191//   or incorrect. See the accompanying error message for details.
5192//
5193//   * UnauthorizedException
5194//   The request is denied because the caller has insufficient permissions.
5195//
5196//   * TooManyRequestsException
5197//   The request has reached its throttling limit. Retry after the specified time
5198//   period.
5199//
5200func (c *APIGateway) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) {
5201	req, out := c.GetDomainNamesRequest(input)
5202	return out, req.Send()
5203}
5204
5205// GetDomainNamesWithContext is the same as GetDomainNames with the addition of
5206// the ability to pass a context and additional request options.
5207//
5208// See GetDomainNames for details on how to use this API operation.
5209//
5210// The context must be non-nil and will be used for request cancellation. If
5211// the context is nil a panic will occur. In the future the SDK may create
5212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5213// for more information on using Contexts.
5214func (c *APIGateway) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) {
5215	req, out := c.GetDomainNamesRequest(input)
5216	req.SetContext(ctx)
5217	req.ApplyOptions(opts...)
5218	return out, req.Send()
5219}
5220
5221// GetDomainNamesPages iterates over the pages of a GetDomainNames operation,
5222// calling the "fn" function with the response data for each page. To stop
5223// iterating, return false from the fn function.
5224//
5225// See GetDomainNames method for more information on how to use this operation.
5226//
5227// Note: This operation can generate multiple requests to a service.
5228//
5229//    // Example iterating over at most 3 pages of a GetDomainNames operation.
5230//    pageNum := 0
5231//    err := client.GetDomainNamesPages(params,
5232//        func(page *apigateway.GetDomainNamesOutput, lastPage bool) bool {
5233//            pageNum++
5234//            fmt.Println(page)
5235//            return pageNum <= 3
5236//        })
5237//
5238func (c *APIGateway) GetDomainNamesPages(input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool) error {
5239	return c.GetDomainNamesPagesWithContext(aws.BackgroundContext(), input, fn)
5240}
5241
5242// GetDomainNamesPagesWithContext same as GetDomainNamesPages except
5243// it takes a Context and allows setting request options on the pages.
5244//
5245// The context must be non-nil and will be used for request cancellation. If
5246// the context is nil a panic will occur. In the future the SDK may create
5247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5248// for more information on using Contexts.
5249func (c *APIGateway) GetDomainNamesPagesWithContext(ctx aws.Context, input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool, opts ...request.Option) error {
5250	p := request.Pagination{
5251		NewRequest: func() (*request.Request, error) {
5252			var inCpy *GetDomainNamesInput
5253			if input != nil {
5254				tmp := *input
5255				inCpy = &tmp
5256			}
5257			req, _ := c.GetDomainNamesRequest(inCpy)
5258			req.SetContext(ctx)
5259			req.ApplyOptions(opts...)
5260			return req, nil
5261		},
5262	}
5263
5264	for p.Next() {
5265		if !fn(p.Page().(*GetDomainNamesOutput), !p.HasNextPage()) {
5266			break
5267		}
5268	}
5269
5270	return p.Err()
5271}
5272
5273const opGetExport = "GetExport"
5274
5275// GetExportRequest generates a "aws/request.Request" representing the
5276// client's request for the GetExport operation. The "output" return
5277// value will be populated with the request's response once the request completes
5278// successfully.
5279//
5280// Use "Send" method on the returned Request to send the API call to the service.
5281// the "output" return value is not valid until after Send returns without error.
5282//
5283// See GetExport for more information on using the GetExport
5284// API call, and error handling.
5285//
5286// This method is useful when you want to inject custom logic or configuration
5287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5288//
5289//
5290//    // Example sending a request using the GetExportRequest method.
5291//    req, resp := client.GetExportRequest(params)
5292//
5293//    err := req.Send()
5294//    if err == nil { // resp is now filled
5295//        fmt.Println(resp)
5296//    }
5297func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Request, output *GetExportOutput) {
5298	op := &request.Operation{
5299		Name:       opGetExport,
5300		HTTPMethod: "GET",
5301		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
5302	}
5303
5304	if input == nil {
5305		input = &GetExportInput{}
5306	}
5307
5308	output = &GetExportOutput{}
5309	req = c.newRequest(op, input, output)
5310	return
5311}
5312
5313// GetExport API operation for Amazon API Gateway.
5314//
5315// Exports a deployed version of a RestApi in a specified format.
5316//
5317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5318// with awserr.Error's Code and Message methods to get detailed information about
5319// the error.
5320//
5321// See the AWS API reference guide for Amazon API Gateway's
5322// API operation GetExport for usage and error information.
5323//
5324// Returned Error Types:
5325//   * UnauthorizedException
5326//   The request is denied because the caller has insufficient permissions.
5327//
5328//   * NotFoundException
5329//   The requested resource is not found. Make sure that the request URI is correct.
5330//
5331//   * BadRequestException
5332//   The submitted request is not valid, for example, the input is incomplete
5333//   or incorrect. See the accompanying error message for details.
5334//
5335//   * ConflictException
5336//   The request configuration has conflicts. For details, see the accompanying
5337//   error message.
5338//
5339//   * TooManyRequestsException
5340//   The request has reached its throttling limit. Retry after the specified time
5341//   period.
5342//
5343func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) {
5344	req, out := c.GetExportRequest(input)
5345	return out, req.Send()
5346}
5347
5348// GetExportWithContext is the same as GetExport with the addition of
5349// the ability to pass a context and additional request options.
5350//
5351// See GetExport for details on how to use this API operation.
5352//
5353// The context must be non-nil and will be used for request cancellation. If
5354// the context is nil a panic will occur. In the future the SDK may create
5355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5356// for more information on using Contexts.
5357func (c *APIGateway) GetExportWithContext(ctx aws.Context, input *GetExportInput, opts ...request.Option) (*GetExportOutput, error) {
5358	req, out := c.GetExportRequest(input)
5359	req.SetContext(ctx)
5360	req.ApplyOptions(opts...)
5361	return out, req.Send()
5362}
5363
5364const opGetGatewayResponse = "GetGatewayResponse"
5365
5366// GetGatewayResponseRequest generates a "aws/request.Request" representing the
5367// client's request for the GetGatewayResponse operation. The "output" return
5368// value will be populated with the request's response once the request completes
5369// successfully.
5370//
5371// Use "Send" method on the returned Request to send the API call to the service.
5372// the "output" return value is not valid until after Send returns without error.
5373//
5374// See GetGatewayResponse for more information on using the GetGatewayResponse
5375// API call, and error handling.
5376//
5377// This method is useful when you want to inject custom logic or configuration
5378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5379//
5380//
5381//    // Example sending a request using the GetGatewayResponseRequest method.
5382//    req, resp := client.GetGatewayResponseRequest(params)
5383//
5384//    err := req.Send()
5385//    if err == nil { // resp is now filled
5386//        fmt.Println(resp)
5387//    }
5388func (c *APIGateway) GetGatewayResponseRequest(input *GetGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
5389	op := &request.Operation{
5390		Name:       opGetGatewayResponse,
5391		HTTPMethod: "GET",
5392		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
5393	}
5394
5395	if input == nil {
5396		input = &GetGatewayResponseInput{}
5397	}
5398
5399	output = &UpdateGatewayResponseOutput{}
5400	req = c.newRequest(op, input, output)
5401	return
5402}
5403
5404// GetGatewayResponse API operation for Amazon API Gateway.
5405//
5406// Gets a GatewayResponse of a specified response type on the given RestApi.
5407//
5408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5409// with awserr.Error's Code and Message methods to get detailed information about
5410// the error.
5411//
5412// See the AWS API reference guide for Amazon API Gateway's
5413// API operation GetGatewayResponse for usage and error information.
5414//
5415// Returned Error Types:
5416//   * UnauthorizedException
5417//   The request is denied because the caller has insufficient permissions.
5418//
5419//   * NotFoundException
5420//   The requested resource is not found. Make sure that the request URI is correct.
5421//
5422//   * TooManyRequestsException
5423//   The request has reached its throttling limit. Retry after the specified time
5424//   period.
5425//
5426func (c *APIGateway) GetGatewayResponse(input *GetGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
5427	req, out := c.GetGatewayResponseRequest(input)
5428	return out, req.Send()
5429}
5430
5431// GetGatewayResponseWithContext is the same as GetGatewayResponse with the addition of
5432// the ability to pass a context and additional request options.
5433//
5434// See GetGatewayResponse for details on how to use this API operation.
5435//
5436// The context must be non-nil and will be used for request cancellation. If
5437// the context is nil a panic will occur. In the future the SDK may create
5438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5439// for more information on using Contexts.
5440func (c *APIGateway) GetGatewayResponseWithContext(ctx aws.Context, input *GetGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
5441	req, out := c.GetGatewayResponseRequest(input)
5442	req.SetContext(ctx)
5443	req.ApplyOptions(opts...)
5444	return out, req.Send()
5445}
5446
5447const opGetGatewayResponses = "GetGatewayResponses"
5448
5449// GetGatewayResponsesRequest generates a "aws/request.Request" representing the
5450// client's request for the GetGatewayResponses operation. The "output" return
5451// value will be populated with the request's response once the request completes
5452// successfully.
5453//
5454// Use "Send" method on the returned Request to send the API call to the service.
5455// the "output" return value is not valid until after Send returns without error.
5456//
5457// See GetGatewayResponses for more information on using the GetGatewayResponses
5458// API call, and error handling.
5459//
5460// This method is useful when you want to inject custom logic or configuration
5461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5462//
5463//
5464//    // Example sending a request using the GetGatewayResponsesRequest method.
5465//    req, resp := client.GetGatewayResponsesRequest(params)
5466//
5467//    err := req.Send()
5468//    if err == nil { // resp is now filled
5469//        fmt.Println(resp)
5470//    }
5471func (c *APIGateway) GetGatewayResponsesRequest(input *GetGatewayResponsesInput) (req *request.Request, output *GetGatewayResponsesOutput) {
5472	op := &request.Operation{
5473		Name:       opGetGatewayResponses,
5474		HTTPMethod: "GET",
5475		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses",
5476	}
5477
5478	if input == nil {
5479		input = &GetGatewayResponsesInput{}
5480	}
5481
5482	output = &GetGatewayResponsesOutput{}
5483	req = c.newRequest(op, input, output)
5484	return
5485}
5486
5487// GetGatewayResponses API operation for Amazon API Gateway.
5488//
5489// Gets the GatewayResponses collection on the given RestApi. If an API developer
5490// has not added any definitions for gateway responses, the result will be the
5491// API Gateway-generated default GatewayResponses collection for the supported
5492// response types.
5493//
5494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5495// with awserr.Error's Code and Message methods to get detailed information about
5496// the error.
5497//
5498// See the AWS API reference guide for Amazon API Gateway's
5499// API operation GetGatewayResponses for usage and error information.
5500//
5501// Returned Error Types:
5502//   * BadRequestException
5503//   The submitted request is not valid, for example, the input is incomplete
5504//   or incorrect. See the accompanying error message for details.
5505//
5506//   * UnauthorizedException
5507//   The request is denied because the caller has insufficient permissions.
5508//
5509//   * NotFoundException
5510//   The requested resource is not found. Make sure that the request URI is correct.
5511//
5512//   * TooManyRequestsException
5513//   The request has reached its throttling limit. Retry after the specified time
5514//   period.
5515//
5516func (c *APIGateway) GetGatewayResponses(input *GetGatewayResponsesInput) (*GetGatewayResponsesOutput, error) {
5517	req, out := c.GetGatewayResponsesRequest(input)
5518	return out, req.Send()
5519}
5520
5521// GetGatewayResponsesWithContext is the same as GetGatewayResponses with the addition of
5522// the ability to pass a context and additional request options.
5523//
5524// See GetGatewayResponses for details on how to use this API operation.
5525//
5526// The context must be non-nil and will be used for request cancellation. If
5527// the context is nil a panic will occur. In the future the SDK may create
5528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5529// for more information on using Contexts.
5530func (c *APIGateway) GetGatewayResponsesWithContext(ctx aws.Context, input *GetGatewayResponsesInput, opts ...request.Option) (*GetGatewayResponsesOutput, error) {
5531	req, out := c.GetGatewayResponsesRequest(input)
5532	req.SetContext(ctx)
5533	req.ApplyOptions(opts...)
5534	return out, req.Send()
5535}
5536
5537const opGetIntegration = "GetIntegration"
5538
5539// GetIntegrationRequest generates a "aws/request.Request" representing the
5540// client's request for the GetIntegration operation. The "output" return
5541// value will be populated with the request's response once the request completes
5542// successfully.
5543//
5544// Use "Send" method on the returned Request to send the API call to the service.
5545// the "output" return value is not valid until after Send returns without error.
5546//
5547// See GetIntegration for more information on using the GetIntegration
5548// API call, and error handling.
5549//
5550// This method is useful when you want to inject custom logic or configuration
5551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5552//
5553//
5554//    // Example sending a request using the GetIntegrationRequest method.
5555//    req, resp := client.GetIntegrationRequest(params)
5556//
5557//    err := req.Send()
5558//    if err == nil { // resp is now filled
5559//        fmt.Println(resp)
5560//    }
5561func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *Integration) {
5562	op := &request.Operation{
5563		Name:       opGetIntegration,
5564		HTTPMethod: "GET",
5565		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
5566	}
5567
5568	if input == nil {
5569		input = &GetIntegrationInput{}
5570	}
5571
5572	output = &Integration{}
5573	req = c.newRequest(op, input, output)
5574	return
5575}
5576
5577// GetIntegration API operation for Amazon API Gateway.
5578//
5579// Get the integration settings.
5580//
5581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5582// with awserr.Error's Code and Message methods to get detailed information about
5583// the error.
5584//
5585// See the AWS API reference guide for Amazon API Gateway's
5586// API operation GetIntegration for usage and error information.
5587//
5588// Returned Error Types:
5589//   * UnauthorizedException
5590//   The request is denied because the caller has insufficient permissions.
5591//
5592//   * NotFoundException
5593//   The requested resource is not found. Make sure that the request URI is correct.
5594//
5595//   * TooManyRequestsException
5596//   The request has reached its throttling limit. Retry after the specified time
5597//   period.
5598//
5599func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, error) {
5600	req, out := c.GetIntegrationRequest(input)
5601	return out, req.Send()
5602}
5603
5604// GetIntegrationWithContext is the same as GetIntegration with the addition of
5605// the ability to pass a context and additional request options.
5606//
5607// See GetIntegration for details on how to use this API operation.
5608//
5609// The context must be non-nil and will be used for request cancellation. If
5610// the context is nil a panic will occur. In the future the SDK may create
5611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5612// for more information on using Contexts.
5613func (c *APIGateway) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*Integration, error) {
5614	req, out := c.GetIntegrationRequest(input)
5615	req.SetContext(ctx)
5616	req.ApplyOptions(opts...)
5617	return out, req.Send()
5618}
5619
5620const opGetIntegrationResponse = "GetIntegrationResponse"
5621
5622// GetIntegrationResponseRequest generates a "aws/request.Request" representing the
5623// client's request for the GetIntegrationResponse operation. The "output" return
5624// value will be populated with the request's response once the request completes
5625// successfully.
5626//
5627// Use "Send" method on the returned Request to send the API call to the service.
5628// the "output" return value is not valid until after Send returns without error.
5629//
5630// See GetIntegrationResponse for more information on using the GetIntegrationResponse
5631// API call, and error handling.
5632//
5633// This method is useful when you want to inject custom logic or configuration
5634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5635//
5636//
5637//    // Example sending a request using the GetIntegrationResponseRequest method.
5638//    req, resp := client.GetIntegrationResponseRequest(params)
5639//
5640//    err := req.Send()
5641//    if err == nil { // resp is now filled
5642//        fmt.Println(resp)
5643//    }
5644func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
5645	op := &request.Operation{
5646		Name:       opGetIntegrationResponse,
5647		HTTPMethod: "GET",
5648		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
5649	}
5650
5651	if input == nil {
5652		input = &GetIntegrationResponseInput{}
5653	}
5654
5655	output = &IntegrationResponse{}
5656	req = c.newRequest(op, input, output)
5657	return
5658}
5659
5660// GetIntegrationResponse API operation for Amazon API Gateway.
5661//
5662// Represents a get integration response.
5663//
5664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5665// with awserr.Error's Code and Message methods to get detailed information about
5666// the error.
5667//
5668// See the AWS API reference guide for Amazon API Gateway's
5669// API operation GetIntegrationResponse for usage and error information.
5670//
5671// Returned Error Types:
5672//   * UnauthorizedException
5673//   The request is denied because the caller has insufficient permissions.
5674//
5675//   * NotFoundException
5676//   The requested resource is not found. Make sure that the request URI is correct.
5677//
5678//   * TooManyRequestsException
5679//   The request has reached its throttling limit. Retry after the specified time
5680//   period.
5681//
5682func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) (*IntegrationResponse, error) {
5683	req, out := c.GetIntegrationResponseRequest(input)
5684	return out, req.Send()
5685}
5686
5687// GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of
5688// the ability to pass a context and additional request options.
5689//
5690// See GetIntegrationResponse for details on how to use this API operation.
5691//
5692// The context must be non-nil and will be used for request cancellation. If
5693// the context is nil a panic will occur. In the future the SDK may create
5694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5695// for more information on using Contexts.
5696func (c *APIGateway) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
5697	req, out := c.GetIntegrationResponseRequest(input)
5698	req.SetContext(ctx)
5699	req.ApplyOptions(opts...)
5700	return out, req.Send()
5701}
5702
5703const opGetMethod = "GetMethod"
5704
5705// GetMethodRequest generates a "aws/request.Request" representing the
5706// client's request for the GetMethod operation. The "output" return
5707// value will be populated with the request's response once the request completes
5708// successfully.
5709//
5710// Use "Send" method on the returned Request to send the API call to the service.
5711// the "output" return value is not valid until after Send returns without error.
5712//
5713// See GetMethod for more information on using the GetMethod
5714// API call, and error handling.
5715//
5716// This method is useful when you want to inject custom logic or configuration
5717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5718//
5719//
5720//    // Example sending a request using the GetMethodRequest method.
5721//    req, resp := client.GetMethodRequest(params)
5722//
5723//    err := req.Send()
5724//    if err == nil { // resp is now filled
5725//        fmt.Println(resp)
5726//    }
5727func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Request, output *Method) {
5728	op := &request.Operation{
5729		Name:       opGetMethod,
5730		HTTPMethod: "GET",
5731		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
5732	}
5733
5734	if input == nil {
5735		input = &GetMethodInput{}
5736	}
5737
5738	output = &Method{}
5739	req = c.newRequest(op, input, output)
5740	return
5741}
5742
5743// GetMethod API operation for Amazon API Gateway.
5744//
5745// Describe an existing Method resource.
5746//
5747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5748// with awserr.Error's Code and Message methods to get detailed information about
5749// the error.
5750//
5751// See the AWS API reference guide for Amazon API Gateway's
5752// API operation GetMethod for usage and error information.
5753//
5754// Returned Error Types:
5755//   * UnauthorizedException
5756//   The request is denied because the caller has insufficient permissions.
5757//
5758//   * NotFoundException
5759//   The requested resource is not found. Make sure that the request URI is correct.
5760//
5761//   * TooManyRequestsException
5762//   The request has reached its throttling limit. Retry after the specified time
5763//   period.
5764//
5765func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) {
5766	req, out := c.GetMethodRequest(input)
5767	return out, req.Send()
5768}
5769
5770// GetMethodWithContext is the same as GetMethod with the addition of
5771// the ability to pass a context and additional request options.
5772//
5773// See GetMethod for details on how to use this API operation.
5774//
5775// The context must be non-nil and will be used for request cancellation. If
5776// the context is nil a panic will occur. In the future the SDK may create
5777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5778// for more information on using Contexts.
5779func (c *APIGateway) GetMethodWithContext(ctx aws.Context, input *GetMethodInput, opts ...request.Option) (*Method, error) {
5780	req, out := c.GetMethodRequest(input)
5781	req.SetContext(ctx)
5782	req.ApplyOptions(opts...)
5783	return out, req.Send()
5784}
5785
5786const opGetMethodResponse = "GetMethodResponse"
5787
5788// GetMethodResponseRequest generates a "aws/request.Request" representing the
5789// client's request for the GetMethodResponse operation. The "output" return
5790// value will be populated with the request's response once the request completes
5791// successfully.
5792//
5793// Use "Send" method on the returned Request to send the API call to the service.
5794// the "output" return value is not valid until after Send returns without error.
5795//
5796// See GetMethodResponse for more information on using the GetMethodResponse
5797// API call, and error handling.
5798//
5799// This method is useful when you want to inject custom logic or configuration
5800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5801//
5802//
5803//    // Example sending a request using the GetMethodResponseRequest method.
5804//    req, resp := client.GetMethodResponseRequest(params)
5805//
5806//    err := req.Send()
5807//    if err == nil { // resp is now filled
5808//        fmt.Println(resp)
5809//    }
5810func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (req *request.Request, output *MethodResponse) {
5811	op := &request.Operation{
5812		Name:       opGetMethodResponse,
5813		HTTPMethod: "GET",
5814		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
5815	}
5816
5817	if input == nil {
5818		input = &GetMethodResponseInput{}
5819	}
5820
5821	output = &MethodResponse{}
5822	req = c.newRequest(op, input, output)
5823	return
5824}
5825
5826// GetMethodResponse API operation for Amazon API Gateway.
5827//
5828// Describes a MethodResponse resource.
5829//
5830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5831// with awserr.Error's Code and Message methods to get detailed information about
5832// the error.
5833//
5834// See the AWS API reference guide for Amazon API Gateway's
5835// API operation GetMethodResponse for usage and error information.
5836//
5837// Returned Error Types:
5838//   * UnauthorizedException
5839//   The request is denied because the caller has insufficient permissions.
5840//
5841//   * NotFoundException
5842//   The requested resource is not found. Make sure that the request URI is correct.
5843//
5844//   * TooManyRequestsException
5845//   The request has reached its throttling limit. Retry after the specified time
5846//   period.
5847//
5848func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodResponse, error) {
5849	req, out := c.GetMethodResponseRequest(input)
5850	return out, req.Send()
5851}
5852
5853// GetMethodResponseWithContext is the same as GetMethodResponse with the addition of
5854// the ability to pass a context and additional request options.
5855//
5856// See GetMethodResponse for details on how to use this API operation.
5857//
5858// The context must be non-nil and will be used for request cancellation. If
5859// the context is nil a panic will occur. In the future the SDK may create
5860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5861// for more information on using Contexts.
5862func (c *APIGateway) GetMethodResponseWithContext(ctx aws.Context, input *GetMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
5863	req, out := c.GetMethodResponseRequest(input)
5864	req.SetContext(ctx)
5865	req.ApplyOptions(opts...)
5866	return out, req.Send()
5867}
5868
5869const opGetModel = "GetModel"
5870
5871// GetModelRequest generates a "aws/request.Request" representing the
5872// client's request for the GetModel operation. The "output" return
5873// value will be populated with the request's response once the request completes
5874// successfully.
5875//
5876// Use "Send" method on the returned Request to send the API call to the service.
5877// the "output" return value is not valid until after Send returns without error.
5878//
5879// See GetModel for more information on using the GetModel
5880// API call, and error handling.
5881//
5882// This method is useful when you want to inject custom logic or configuration
5883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5884//
5885//
5886//    // Example sending a request using the GetModelRequest method.
5887//    req, resp := client.GetModelRequest(params)
5888//
5889//    err := req.Send()
5890//    if err == nil { // resp is now filled
5891//        fmt.Println(resp)
5892//    }
5893func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request, output *Model) {
5894	op := &request.Operation{
5895		Name:       opGetModel,
5896		HTTPMethod: "GET",
5897		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
5898	}
5899
5900	if input == nil {
5901		input = &GetModelInput{}
5902	}
5903
5904	output = &Model{}
5905	req = c.newRequest(op, input, output)
5906	return
5907}
5908
5909// GetModel API operation for Amazon API Gateway.
5910//
5911// Describes an existing model defined for a RestApi resource.
5912//
5913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5914// with awserr.Error's Code and Message methods to get detailed information about
5915// the error.
5916//
5917// See the AWS API reference guide for Amazon API Gateway's
5918// API operation GetModel for usage and error information.
5919//
5920// Returned Error Types:
5921//   * UnauthorizedException
5922//   The request is denied because the caller has insufficient permissions.
5923//
5924//   * NotFoundException
5925//   The requested resource is not found. Make sure that the request URI is correct.
5926//
5927//   * TooManyRequestsException
5928//   The request has reached its throttling limit. Retry after the specified time
5929//   period.
5930//
5931func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) {
5932	req, out := c.GetModelRequest(input)
5933	return out, req.Send()
5934}
5935
5936// GetModelWithContext is the same as GetModel with the addition of
5937// the ability to pass a context and additional request options.
5938//
5939// See GetModel for details on how to use this API operation.
5940//
5941// The context must be non-nil and will be used for request cancellation. If
5942// the context is nil a panic will occur. In the future the SDK may create
5943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5944// for more information on using Contexts.
5945func (c *APIGateway) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*Model, error) {
5946	req, out := c.GetModelRequest(input)
5947	req.SetContext(ctx)
5948	req.ApplyOptions(opts...)
5949	return out, req.Send()
5950}
5951
5952const opGetModelTemplate = "GetModelTemplate"
5953
5954// GetModelTemplateRequest generates a "aws/request.Request" representing the
5955// client's request for the GetModelTemplate operation. The "output" return
5956// value will be populated with the request's response once the request completes
5957// successfully.
5958//
5959// Use "Send" method on the returned Request to send the API call to the service.
5960// the "output" return value is not valid until after Send returns without error.
5961//
5962// See GetModelTemplate for more information on using the GetModelTemplate
5963// API call, and error handling.
5964//
5965// This method is useful when you want to inject custom logic or configuration
5966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5967//
5968//
5969//    // Example sending a request using the GetModelTemplateRequest method.
5970//    req, resp := client.GetModelTemplateRequest(params)
5971//
5972//    err := req.Send()
5973//    if err == nil { // resp is now filled
5974//        fmt.Println(resp)
5975//    }
5976func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) {
5977	op := &request.Operation{
5978		Name:       opGetModelTemplate,
5979		HTTPMethod: "GET",
5980		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}/default_template",
5981	}
5982
5983	if input == nil {
5984		input = &GetModelTemplateInput{}
5985	}
5986
5987	output = &GetModelTemplateOutput{}
5988	req = c.newRequest(op, input, output)
5989	return
5990}
5991
5992// GetModelTemplate API operation for Amazon API Gateway.
5993//
5994// Generates a sample mapping template that can be used to transform a payload
5995// into the structure of a model.
5996//
5997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5998// with awserr.Error's Code and Message methods to get detailed information about
5999// the error.
6000//
6001// See the AWS API reference guide for Amazon API Gateway's
6002// API operation GetModelTemplate for usage and error information.
6003//
6004// Returned Error Types:
6005//   * UnauthorizedException
6006//   The request is denied because the caller has insufficient permissions.
6007//
6008//   * NotFoundException
6009//   The requested resource is not found. Make sure that the request URI is correct.
6010//
6011//   * BadRequestException
6012//   The submitted request is not valid, for example, the input is incomplete
6013//   or incorrect. See the accompanying error message for details.
6014//
6015//   * TooManyRequestsException
6016//   The request has reached its throttling limit. Retry after the specified time
6017//   period.
6018//
6019func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) {
6020	req, out := c.GetModelTemplateRequest(input)
6021	return out, req.Send()
6022}
6023
6024// GetModelTemplateWithContext is the same as GetModelTemplate with the addition of
6025// the ability to pass a context and additional request options.
6026//
6027// See GetModelTemplate for details on how to use this API operation.
6028//
6029// The context must be non-nil and will be used for request cancellation. If
6030// the context is nil a panic will occur. In the future the SDK may create
6031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6032// for more information on using Contexts.
6033func (c *APIGateway) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) {
6034	req, out := c.GetModelTemplateRequest(input)
6035	req.SetContext(ctx)
6036	req.ApplyOptions(opts...)
6037	return out, req.Send()
6038}
6039
6040const opGetModels = "GetModels"
6041
6042// GetModelsRequest generates a "aws/request.Request" representing the
6043// client's request for the GetModels operation. The "output" return
6044// value will be populated with the request's response once the request completes
6045// successfully.
6046//
6047// Use "Send" method on the returned Request to send the API call to the service.
6048// the "output" return value is not valid until after Send returns without error.
6049//
6050// See GetModels for more information on using the GetModels
6051// API call, and error handling.
6052//
6053// This method is useful when you want to inject custom logic or configuration
6054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6055//
6056//
6057//    // Example sending a request using the GetModelsRequest method.
6058//    req, resp := client.GetModelsRequest(params)
6059//
6060//    err := req.Send()
6061//    if err == nil { // resp is now filled
6062//        fmt.Println(resp)
6063//    }
6064func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
6065	op := &request.Operation{
6066		Name:       opGetModels,
6067		HTTPMethod: "GET",
6068		HTTPPath:   "/restapis/{restapi_id}/models",
6069		Paginator: &request.Paginator{
6070			InputTokens:     []string{"position"},
6071			OutputTokens:    []string{"position"},
6072			LimitToken:      "limit",
6073			TruncationToken: "",
6074		},
6075	}
6076
6077	if input == nil {
6078		input = &GetModelsInput{}
6079	}
6080
6081	output = &GetModelsOutput{}
6082	req = c.newRequest(op, input, output)
6083	return
6084}
6085
6086// GetModels API operation for Amazon API Gateway.
6087//
6088// Describes existing Models defined for a RestApi resource.
6089//
6090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6091// with awserr.Error's Code and Message methods to get detailed information about
6092// the error.
6093//
6094// See the AWS API reference guide for Amazon API Gateway's
6095// API operation GetModels for usage and error information.
6096//
6097// Returned Error Types:
6098//   * BadRequestException
6099//   The submitted request is not valid, for example, the input is incomplete
6100//   or incorrect. See the accompanying error message for details.
6101//
6102//   * UnauthorizedException
6103//   The request is denied because the caller has insufficient permissions.
6104//
6105//   * NotFoundException
6106//   The requested resource is not found. Make sure that the request URI is correct.
6107//
6108//   * TooManyRequestsException
6109//   The request has reached its throttling limit. Retry after the specified time
6110//   period.
6111//
6112func (c *APIGateway) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
6113	req, out := c.GetModelsRequest(input)
6114	return out, req.Send()
6115}
6116
6117// GetModelsWithContext is the same as GetModels with the addition of
6118// the ability to pass a context and additional request options.
6119//
6120// See GetModels for details on how to use this API operation.
6121//
6122// The context must be non-nil and will be used for request cancellation. If
6123// the context is nil a panic will occur. In the future the SDK may create
6124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6125// for more information on using Contexts.
6126func (c *APIGateway) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
6127	req, out := c.GetModelsRequest(input)
6128	req.SetContext(ctx)
6129	req.ApplyOptions(opts...)
6130	return out, req.Send()
6131}
6132
6133// GetModelsPages iterates over the pages of a GetModels operation,
6134// calling the "fn" function with the response data for each page. To stop
6135// iterating, return false from the fn function.
6136//
6137// See GetModels method for more information on how to use this operation.
6138//
6139// Note: This operation can generate multiple requests to a service.
6140//
6141//    // Example iterating over at most 3 pages of a GetModels operation.
6142//    pageNum := 0
6143//    err := client.GetModelsPages(params,
6144//        func(page *apigateway.GetModelsOutput, lastPage bool) bool {
6145//            pageNum++
6146//            fmt.Println(page)
6147//            return pageNum <= 3
6148//        })
6149//
6150func (c *APIGateway) GetModelsPages(input *GetModelsInput, fn func(*GetModelsOutput, bool) bool) error {
6151	return c.GetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
6152}
6153
6154// GetModelsPagesWithContext same as GetModelsPages except
6155// it takes a Context and allows setting request options on the pages.
6156//
6157// The context must be non-nil and will be used for request cancellation. If
6158// the context is nil a panic will occur. In the future the SDK may create
6159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6160// for more information on using Contexts.
6161func (c *APIGateway) GetModelsPagesWithContext(ctx aws.Context, input *GetModelsInput, fn func(*GetModelsOutput, bool) bool, opts ...request.Option) error {
6162	p := request.Pagination{
6163		NewRequest: func() (*request.Request, error) {
6164			var inCpy *GetModelsInput
6165			if input != nil {
6166				tmp := *input
6167				inCpy = &tmp
6168			}
6169			req, _ := c.GetModelsRequest(inCpy)
6170			req.SetContext(ctx)
6171			req.ApplyOptions(opts...)
6172			return req, nil
6173		},
6174	}
6175
6176	for p.Next() {
6177		if !fn(p.Page().(*GetModelsOutput), !p.HasNextPage()) {
6178			break
6179		}
6180	}
6181
6182	return p.Err()
6183}
6184
6185const opGetRequestValidator = "GetRequestValidator"
6186
6187// GetRequestValidatorRequest generates a "aws/request.Request" representing the
6188// client's request for the GetRequestValidator operation. The "output" return
6189// value will be populated with the request's response once the request completes
6190// successfully.
6191//
6192// Use "Send" method on the returned Request to send the API call to the service.
6193// the "output" return value is not valid until after Send returns without error.
6194//
6195// See GetRequestValidator for more information on using the GetRequestValidator
6196// API call, and error handling.
6197//
6198// This method is useful when you want to inject custom logic or configuration
6199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6200//
6201//
6202//    // Example sending a request using the GetRequestValidatorRequest method.
6203//    req, resp := client.GetRequestValidatorRequest(params)
6204//
6205//    err := req.Send()
6206//    if err == nil { // resp is now filled
6207//        fmt.Println(resp)
6208//    }
6209func (c *APIGateway) GetRequestValidatorRequest(input *GetRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
6210	op := &request.Operation{
6211		Name:       opGetRequestValidator,
6212		HTTPMethod: "GET",
6213		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
6214	}
6215
6216	if input == nil {
6217		input = &GetRequestValidatorInput{}
6218	}
6219
6220	output = &UpdateRequestValidatorOutput{}
6221	req = c.newRequest(op, input, output)
6222	return
6223}
6224
6225// GetRequestValidator API operation for Amazon API Gateway.
6226//
6227// Gets a RequestValidator of a given RestApi.
6228//
6229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6230// with awserr.Error's Code and Message methods to get detailed information about
6231// the error.
6232//
6233// See the AWS API reference guide for Amazon API Gateway's
6234// API operation GetRequestValidator for usage and error information.
6235//
6236// Returned Error Types:
6237//   * UnauthorizedException
6238//   The request is denied because the caller has insufficient permissions.
6239//
6240//   * NotFoundException
6241//   The requested resource is not found. Make sure that the request URI is correct.
6242//
6243//   * TooManyRequestsException
6244//   The request has reached its throttling limit. Retry after the specified time
6245//   period.
6246//
6247func (c *APIGateway) GetRequestValidator(input *GetRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
6248	req, out := c.GetRequestValidatorRequest(input)
6249	return out, req.Send()
6250}
6251
6252// GetRequestValidatorWithContext is the same as GetRequestValidator with the addition of
6253// the ability to pass a context and additional request options.
6254//
6255// See GetRequestValidator for details on how to use this API operation.
6256//
6257// The context must be non-nil and will be used for request cancellation. If
6258// the context is nil a panic will occur. In the future the SDK may create
6259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6260// for more information on using Contexts.
6261func (c *APIGateway) GetRequestValidatorWithContext(ctx aws.Context, input *GetRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
6262	req, out := c.GetRequestValidatorRequest(input)
6263	req.SetContext(ctx)
6264	req.ApplyOptions(opts...)
6265	return out, req.Send()
6266}
6267
6268const opGetRequestValidators = "GetRequestValidators"
6269
6270// GetRequestValidatorsRequest generates a "aws/request.Request" representing the
6271// client's request for the GetRequestValidators operation. The "output" return
6272// value will be populated with the request's response once the request completes
6273// successfully.
6274//
6275// Use "Send" method on the returned Request to send the API call to the service.
6276// the "output" return value is not valid until after Send returns without error.
6277//
6278// See GetRequestValidators for more information on using the GetRequestValidators
6279// API call, and error handling.
6280//
6281// This method is useful when you want to inject custom logic or configuration
6282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6283//
6284//
6285//    // Example sending a request using the GetRequestValidatorsRequest method.
6286//    req, resp := client.GetRequestValidatorsRequest(params)
6287//
6288//    err := req.Send()
6289//    if err == nil { // resp is now filled
6290//        fmt.Println(resp)
6291//    }
6292func (c *APIGateway) GetRequestValidatorsRequest(input *GetRequestValidatorsInput) (req *request.Request, output *GetRequestValidatorsOutput) {
6293	op := &request.Operation{
6294		Name:       opGetRequestValidators,
6295		HTTPMethod: "GET",
6296		HTTPPath:   "/restapis/{restapi_id}/requestvalidators",
6297	}
6298
6299	if input == nil {
6300		input = &GetRequestValidatorsInput{}
6301	}
6302
6303	output = &GetRequestValidatorsOutput{}
6304	req = c.newRequest(op, input, output)
6305	return
6306}
6307
6308// GetRequestValidators API operation for Amazon API Gateway.
6309//
6310// Gets the RequestValidators collection of a given RestApi.
6311//
6312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6313// with awserr.Error's Code and Message methods to get detailed information about
6314// the error.
6315//
6316// See the AWS API reference guide for Amazon API Gateway's
6317// API operation GetRequestValidators for usage and error information.
6318//
6319// Returned Error Types:
6320//   * BadRequestException
6321//   The submitted request is not valid, for example, the input is incomplete
6322//   or incorrect. See the accompanying error message for details.
6323//
6324//   * UnauthorizedException
6325//   The request is denied because the caller has insufficient permissions.
6326//
6327//   * NotFoundException
6328//   The requested resource is not found. Make sure that the request URI is correct.
6329//
6330//   * TooManyRequestsException
6331//   The request has reached its throttling limit. Retry after the specified time
6332//   period.
6333//
6334func (c *APIGateway) GetRequestValidators(input *GetRequestValidatorsInput) (*GetRequestValidatorsOutput, error) {
6335	req, out := c.GetRequestValidatorsRequest(input)
6336	return out, req.Send()
6337}
6338
6339// GetRequestValidatorsWithContext is the same as GetRequestValidators with the addition of
6340// the ability to pass a context and additional request options.
6341//
6342// See GetRequestValidators for details on how to use this API operation.
6343//
6344// The context must be non-nil and will be used for request cancellation. If
6345// the context is nil a panic will occur. In the future the SDK may create
6346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6347// for more information on using Contexts.
6348func (c *APIGateway) GetRequestValidatorsWithContext(ctx aws.Context, input *GetRequestValidatorsInput, opts ...request.Option) (*GetRequestValidatorsOutput, error) {
6349	req, out := c.GetRequestValidatorsRequest(input)
6350	req.SetContext(ctx)
6351	req.ApplyOptions(opts...)
6352	return out, req.Send()
6353}
6354
6355const opGetResource = "GetResource"
6356
6357// GetResourceRequest generates a "aws/request.Request" representing the
6358// client's request for the GetResource operation. The "output" return
6359// value will be populated with the request's response once the request completes
6360// successfully.
6361//
6362// Use "Send" method on the returned Request to send the API call to the service.
6363// the "output" return value is not valid until after Send returns without error.
6364//
6365// See GetResource for more information on using the GetResource
6366// API call, and error handling.
6367//
6368// This method is useful when you want to inject custom logic or configuration
6369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6370//
6371//
6372//    // Example sending a request using the GetResourceRequest method.
6373//    req, resp := client.GetResourceRequest(params)
6374//
6375//    err := req.Send()
6376//    if err == nil { // resp is now filled
6377//        fmt.Println(resp)
6378//    }
6379func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.Request, output *Resource) {
6380	op := &request.Operation{
6381		Name:       opGetResource,
6382		HTTPMethod: "GET",
6383		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
6384	}
6385
6386	if input == nil {
6387		input = &GetResourceInput{}
6388	}
6389
6390	output = &Resource{}
6391	req = c.newRequest(op, input, output)
6392	return
6393}
6394
6395// GetResource API operation for Amazon API Gateway.
6396//
6397// Lists information about a resource.
6398//
6399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6400// with awserr.Error's Code and Message methods to get detailed information about
6401// the error.
6402//
6403// See the AWS API reference guide for Amazon API Gateway's
6404// API operation GetResource for usage and error information.
6405//
6406// Returned Error Types:
6407//   * UnauthorizedException
6408//   The request is denied because the caller has insufficient permissions.
6409//
6410//   * NotFoundException
6411//   The requested resource is not found. Make sure that the request URI is correct.
6412//
6413//   * TooManyRequestsException
6414//   The request has reached its throttling limit. Retry after the specified time
6415//   period.
6416//
6417func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) {
6418	req, out := c.GetResourceRequest(input)
6419	return out, req.Send()
6420}
6421
6422// GetResourceWithContext is the same as GetResource with the addition of
6423// the ability to pass a context and additional request options.
6424//
6425// See GetResource for details on how to use this API operation.
6426//
6427// The context must be non-nil and will be used for request cancellation. If
6428// the context is nil a panic will occur. In the future the SDK may create
6429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6430// for more information on using Contexts.
6431func (c *APIGateway) GetResourceWithContext(ctx aws.Context, input *GetResourceInput, opts ...request.Option) (*Resource, error) {
6432	req, out := c.GetResourceRequest(input)
6433	req.SetContext(ctx)
6434	req.ApplyOptions(opts...)
6435	return out, req.Send()
6436}
6437
6438const opGetResources = "GetResources"
6439
6440// GetResourcesRequest generates a "aws/request.Request" representing the
6441// client's request for the GetResources operation. The "output" return
6442// value will be populated with the request's response once the request completes
6443// successfully.
6444//
6445// Use "Send" method on the returned Request to send the API call to the service.
6446// the "output" return value is not valid until after Send returns without error.
6447//
6448// See GetResources for more information on using the GetResources
6449// API call, and error handling.
6450//
6451// This method is useful when you want to inject custom logic or configuration
6452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6453//
6454//
6455//    // Example sending a request using the GetResourcesRequest method.
6456//    req, resp := client.GetResourcesRequest(params)
6457//
6458//    err := req.Send()
6459//    if err == nil { // resp is now filled
6460//        fmt.Println(resp)
6461//    }
6462func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
6463	op := &request.Operation{
6464		Name:       opGetResources,
6465		HTTPMethod: "GET",
6466		HTTPPath:   "/restapis/{restapi_id}/resources",
6467		Paginator: &request.Paginator{
6468			InputTokens:     []string{"position"},
6469			OutputTokens:    []string{"position"},
6470			LimitToken:      "limit",
6471			TruncationToken: "",
6472		},
6473	}
6474
6475	if input == nil {
6476		input = &GetResourcesInput{}
6477	}
6478
6479	output = &GetResourcesOutput{}
6480	req = c.newRequest(op, input, output)
6481	return
6482}
6483
6484// GetResources API operation for Amazon API Gateway.
6485//
6486// Lists information about a collection of Resource resources.
6487//
6488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6489// with awserr.Error's Code and Message methods to get detailed information about
6490// the error.
6491//
6492// See the AWS API reference guide for Amazon API Gateway's
6493// API operation GetResources for usage and error information.
6494//
6495// Returned Error Types:
6496//   * BadRequestException
6497//   The submitted request is not valid, for example, the input is incomplete
6498//   or incorrect. See the accompanying error message for details.
6499//
6500//   * UnauthorizedException
6501//   The request is denied because the caller has insufficient permissions.
6502//
6503//   * NotFoundException
6504//   The requested resource is not found. Make sure that the request URI is correct.
6505//
6506//   * TooManyRequestsException
6507//   The request has reached its throttling limit. Retry after the specified time
6508//   period.
6509//
6510func (c *APIGateway) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
6511	req, out := c.GetResourcesRequest(input)
6512	return out, req.Send()
6513}
6514
6515// GetResourcesWithContext is the same as GetResources with the addition of
6516// the ability to pass a context and additional request options.
6517//
6518// See GetResources for details on how to use this API operation.
6519//
6520// The context must be non-nil and will be used for request cancellation. If
6521// the context is nil a panic will occur. In the future the SDK may create
6522// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6523// for more information on using Contexts.
6524func (c *APIGateway) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
6525	req, out := c.GetResourcesRequest(input)
6526	req.SetContext(ctx)
6527	req.ApplyOptions(opts...)
6528	return out, req.Send()
6529}
6530
6531// GetResourcesPages iterates over the pages of a GetResources operation,
6532// calling the "fn" function with the response data for each page. To stop
6533// iterating, return false from the fn function.
6534//
6535// See GetResources method for more information on how to use this operation.
6536//
6537// Note: This operation can generate multiple requests to a service.
6538//
6539//    // Example iterating over at most 3 pages of a GetResources operation.
6540//    pageNum := 0
6541//    err := client.GetResourcesPages(params,
6542//        func(page *apigateway.GetResourcesOutput, lastPage bool) bool {
6543//            pageNum++
6544//            fmt.Println(page)
6545//            return pageNum <= 3
6546//        })
6547//
6548func (c *APIGateway) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error {
6549	return c.GetResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
6550}
6551
6552// GetResourcesPagesWithContext same as GetResourcesPages except
6553// it takes a Context and allows setting request options on the pages.
6554//
6555// The context must be non-nil and will be used for request cancellation. If
6556// the context is nil a panic will occur. In the future the SDK may create
6557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6558// for more information on using Contexts.
6559func (c *APIGateway) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error {
6560	p := request.Pagination{
6561		NewRequest: func() (*request.Request, error) {
6562			var inCpy *GetResourcesInput
6563			if input != nil {
6564				tmp := *input
6565				inCpy = &tmp
6566			}
6567			req, _ := c.GetResourcesRequest(inCpy)
6568			req.SetContext(ctx)
6569			req.ApplyOptions(opts...)
6570			return req, nil
6571		},
6572	}
6573
6574	for p.Next() {
6575		if !fn(p.Page().(*GetResourcesOutput), !p.HasNextPage()) {
6576			break
6577		}
6578	}
6579
6580	return p.Err()
6581}
6582
6583const opGetRestApi = "GetRestApi"
6584
6585// GetRestApiRequest generates a "aws/request.Request" representing the
6586// client's request for the GetRestApi operation. The "output" return
6587// value will be populated with the request's response once the request completes
6588// successfully.
6589//
6590// Use "Send" method on the returned Request to send the API call to the service.
6591// the "output" return value is not valid until after Send returns without error.
6592//
6593// See GetRestApi for more information on using the GetRestApi
6594// API call, and error handling.
6595//
6596// This method is useful when you want to inject custom logic or configuration
6597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6598//
6599//
6600//    // Example sending a request using the GetRestApiRequest method.
6601//    req, resp := client.GetRestApiRequest(params)
6602//
6603//    err := req.Send()
6604//    if err == nil { // resp is now filled
6605//        fmt.Println(resp)
6606//    }
6607func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Request, output *RestApi) {
6608	op := &request.Operation{
6609		Name:       opGetRestApi,
6610		HTTPMethod: "GET",
6611		HTTPPath:   "/restapis/{restapi_id}",
6612	}
6613
6614	if input == nil {
6615		input = &GetRestApiInput{}
6616	}
6617
6618	output = &RestApi{}
6619	req = c.newRequest(op, input, output)
6620	return
6621}
6622
6623// GetRestApi API operation for Amazon API Gateway.
6624//
6625// Lists the RestApi resource in the collection.
6626//
6627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6628// with awserr.Error's Code and Message methods to get detailed information about
6629// the error.
6630//
6631// See the AWS API reference guide for Amazon API Gateway's
6632// API operation GetRestApi for usage and error information.
6633//
6634// Returned Error Types:
6635//   * UnauthorizedException
6636//   The request is denied because the caller has insufficient permissions.
6637//
6638//   * NotFoundException
6639//   The requested resource is not found. Make sure that the request URI is correct.
6640//
6641//   * TooManyRequestsException
6642//   The request has reached its throttling limit. Retry after the specified time
6643//   period.
6644//
6645func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) {
6646	req, out := c.GetRestApiRequest(input)
6647	return out, req.Send()
6648}
6649
6650// GetRestApiWithContext is the same as GetRestApi with the addition of
6651// the ability to pass a context and additional request options.
6652//
6653// See GetRestApi for details on how to use this API operation.
6654//
6655// The context must be non-nil and will be used for request cancellation. If
6656// the context is nil a panic will occur. In the future the SDK may create
6657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6658// for more information on using Contexts.
6659func (c *APIGateway) GetRestApiWithContext(ctx aws.Context, input *GetRestApiInput, opts ...request.Option) (*RestApi, error) {
6660	req, out := c.GetRestApiRequest(input)
6661	req.SetContext(ctx)
6662	req.ApplyOptions(opts...)
6663	return out, req.Send()
6664}
6665
6666const opGetRestApis = "GetRestApis"
6667
6668// GetRestApisRequest generates a "aws/request.Request" representing the
6669// client's request for the GetRestApis operation. The "output" return
6670// value will be populated with the request's response once the request completes
6671// successfully.
6672//
6673// Use "Send" method on the returned Request to send the API call to the service.
6674// the "output" return value is not valid until after Send returns without error.
6675//
6676// See GetRestApis for more information on using the GetRestApis
6677// API call, and error handling.
6678//
6679// This method is useful when you want to inject custom logic or configuration
6680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6681//
6682//
6683//    // Example sending a request using the GetRestApisRequest method.
6684//    req, resp := client.GetRestApisRequest(params)
6685//
6686//    err := req.Send()
6687//    if err == nil { // resp is now filled
6688//        fmt.Println(resp)
6689//    }
6690func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.Request, output *GetRestApisOutput) {
6691	op := &request.Operation{
6692		Name:       opGetRestApis,
6693		HTTPMethod: "GET",
6694		HTTPPath:   "/restapis",
6695		Paginator: &request.Paginator{
6696			InputTokens:     []string{"position"},
6697			OutputTokens:    []string{"position"},
6698			LimitToken:      "limit",
6699			TruncationToken: "",
6700		},
6701	}
6702
6703	if input == nil {
6704		input = &GetRestApisInput{}
6705	}
6706
6707	output = &GetRestApisOutput{}
6708	req = c.newRequest(op, input, output)
6709	return
6710}
6711
6712// GetRestApis API operation for Amazon API Gateway.
6713//
6714// Lists the RestApis resources for your collection.
6715//
6716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6717// with awserr.Error's Code and Message methods to get detailed information about
6718// the error.
6719//
6720// See the AWS API reference guide for Amazon API Gateway's
6721// API operation GetRestApis for usage and error information.
6722//
6723// Returned Error Types:
6724//   * BadRequestException
6725//   The submitted request is not valid, for example, the input is incomplete
6726//   or incorrect. See the accompanying error message for details.
6727//
6728//   * UnauthorizedException
6729//   The request is denied because the caller has insufficient permissions.
6730//
6731//   * TooManyRequestsException
6732//   The request has reached its throttling limit. Retry after the specified time
6733//   period.
6734//
6735func (c *APIGateway) GetRestApis(input *GetRestApisInput) (*GetRestApisOutput, error) {
6736	req, out := c.GetRestApisRequest(input)
6737	return out, req.Send()
6738}
6739
6740// GetRestApisWithContext is the same as GetRestApis with the addition of
6741// the ability to pass a context and additional request options.
6742//
6743// See GetRestApis for details on how to use this API operation.
6744//
6745// The context must be non-nil and will be used for request cancellation. If
6746// the context is nil a panic will occur. In the future the SDK may create
6747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6748// for more information on using Contexts.
6749func (c *APIGateway) GetRestApisWithContext(ctx aws.Context, input *GetRestApisInput, opts ...request.Option) (*GetRestApisOutput, error) {
6750	req, out := c.GetRestApisRequest(input)
6751	req.SetContext(ctx)
6752	req.ApplyOptions(opts...)
6753	return out, req.Send()
6754}
6755
6756// GetRestApisPages iterates over the pages of a GetRestApis operation,
6757// calling the "fn" function with the response data for each page. To stop
6758// iterating, return false from the fn function.
6759//
6760// See GetRestApis method for more information on how to use this operation.
6761//
6762// Note: This operation can generate multiple requests to a service.
6763//
6764//    // Example iterating over at most 3 pages of a GetRestApis operation.
6765//    pageNum := 0
6766//    err := client.GetRestApisPages(params,
6767//        func(page *apigateway.GetRestApisOutput, lastPage bool) bool {
6768//            pageNum++
6769//            fmt.Println(page)
6770//            return pageNum <= 3
6771//        })
6772//
6773func (c *APIGateway) GetRestApisPages(input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool) error {
6774	return c.GetRestApisPagesWithContext(aws.BackgroundContext(), input, fn)
6775}
6776
6777// GetRestApisPagesWithContext same as GetRestApisPages except
6778// it takes a Context and allows setting request options on the pages.
6779//
6780// The context must be non-nil and will be used for request cancellation. If
6781// the context is nil a panic will occur. In the future the SDK may create
6782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6783// for more information on using Contexts.
6784func (c *APIGateway) GetRestApisPagesWithContext(ctx aws.Context, input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool, opts ...request.Option) error {
6785	p := request.Pagination{
6786		NewRequest: func() (*request.Request, error) {
6787			var inCpy *GetRestApisInput
6788			if input != nil {
6789				tmp := *input
6790				inCpy = &tmp
6791			}
6792			req, _ := c.GetRestApisRequest(inCpy)
6793			req.SetContext(ctx)
6794			req.ApplyOptions(opts...)
6795			return req, nil
6796		},
6797	}
6798
6799	for p.Next() {
6800		if !fn(p.Page().(*GetRestApisOutput), !p.HasNextPage()) {
6801			break
6802		}
6803	}
6804
6805	return p.Err()
6806}
6807
6808const opGetSdk = "GetSdk"
6809
6810// GetSdkRequest generates a "aws/request.Request" representing the
6811// client's request for the GetSdk operation. The "output" return
6812// value will be populated with the request's response once the request completes
6813// successfully.
6814//
6815// Use "Send" method on the returned Request to send the API call to the service.
6816// the "output" return value is not valid until after Send returns without error.
6817//
6818// See GetSdk for more information on using the GetSdk
6819// API call, and error handling.
6820//
6821// This method is useful when you want to inject custom logic or configuration
6822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6823//
6824//
6825//    // Example sending a request using the GetSdkRequest method.
6826//    req, resp := client.GetSdkRequest(params)
6827//
6828//    err := req.Send()
6829//    if err == nil { // resp is now filled
6830//        fmt.Println(resp)
6831//    }
6832func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, output *GetSdkOutput) {
6833	op := &request.Operation{
6834		Name:       opGetSdk,
6835		HTTPMethod: "GET",
6836		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
6837	}
6838
6839	if input == nil {
6840		input = &GetSdkInput{}
6841	}
6842
6843	output = &GetSdkOutput{}
6844	req = c.newRequest(op, input, output)
6845	return
6846}
6847
6848// GetSdk API operation for Amazon API Gateway.
6849//
6850// Generates a client SDK for a RestApi and Stage.
6851//
6852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6853// with awserr.Error's Code and Message methods to get detailed information about
6854// the error.
6855//
6856// See the AWS API reference guide for Amazon API Gateway's
6857// API operation GetSdk for usage and error information.
6858//
6859// Returned Error Types:
6860//   * UnauthorizedException
6861//   The request is denied because the caller has insufficient permissions.
6862//
6863//   * NotFoundException
6864//   The requested resource is not found. Make sure that the request URI is correct.
6865//
6866//   * BadRequestException
6867//   The submitted request is not valid, for example, the input is incomplete
6868//   or incorrect. See the accompanying error message for details.
6869//
6870//   * ConflictException
6871//   The request configuration has conflicts. For details, see the accompanying
6872//   error message.
6873//
6874//   * TooManyRequestsException
6875//   The request has reached its throttling limit. Retry after the specified time
6876//   period.
6877//
6878func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) {
6879	req, out := c.GetSdkRequest(input)
6880	return out, req.Send()
6881}
6882
6883// GetSdkWithContext is the same as GetSdk with the addition of
6884// the ability to pass a context and additional request options.
6885//
6886// See GetSdk for details on how to use this API operation.
6887//
6888// The context must be non-nil and will be used for request cancellation. If
6889// the context is nil a panic will occur. In the future the SDK may create
6890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6891// for more information on using Contexts.
6892func (c *APIGateway) GetSdkWithContext(ctx aws.Context, input *GetSdkInput, opts ...request.Option) (*GetSdkOutput, error) {
6893	req, out := c.GetSdkRequest(input)
6894	req.SetContext(ctx)
6895	req.ApplyOptions(opts...)
6896	return out, req.Send()
6897}
6898
6899const opGetSdkType = "GetSdkType"
6900
6901// GetSdkTypeRequest generates a "aws/request.Request" representing the
6902// client's request for the GetSdkType operation. The "output" return
6903// value will be populated with the request's response once the request completes
6904// successfully.
6905//
6906// Use "Send" method on the returned Request to send the API call to the service.
6907// the "output" return value is not valid until after Send returns without error.
6908//
6909// See GetSdkType for more information on using the GetSdkType
6910// API call, and error handling.
6911//
6912// This method is useful when you want to inject custom logic or configuration
6913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6914//
6915//
6916//    // Example sending a request using the GetSdkTypeRequest method.
6917//    req, resp := client.GetSdkTypeRequest(params)
6918//
6919//    err := req.Send()
6920//    if err == nil { // resp is now filled
6921//        fmt.Println(resp)
6922//    }
6923func (c *APIGateway) GetSdkTypeRequest(input *GetSdkTypeInput) (req *request.Request, output *SdkType) {
6924	op := &request.Operation{
6925		Name:       opGetSdkType,
6926		HTTPMethod: "GET",
6927		HTTPPath:   "/sdktypes/{sdktype_id}",
6928	}
6929
6930	if input == nil {
6931		input = &GetSdkTypeInput{}
6932	}
6933
6934	output = &SdkType{}
6935	req = c.newRequest(op, input, output)
6936	return
6937}
6938
6939// GetSdkType API operation for Amazon API Gateway.
6940//
6941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6942// with awserr.Error's Code and Message methods to get detailed information about
6943// the error.
6944//
6945// See the AWS API reference guide for Amazon API Gateway's
6946// API operation GetSdkType for usage and error information.
6947//
6948// Returned Error Types:
6949//   * UnauthorizedException
6950//   The request is denied because the caller has insufficient permissions.
6951//
6952//   * NotFoundException
6953//   The requested resource is not found. Make sure that the request URI is correct.
6954//
6955//   * TooManyRequestsException
6956//   The request has reached its throttling limit. Retry after the specified time
6957//   period.
6958//
6959func (c *APIGateway) GetSdkType(input *GetSdkTypeInput) (*SdkType, error) {
6960	req, out := c.GetSdkTypeRequest(input)
6961	return out, req.Send()
6962}
6963
6964// GetSdkTypeWithContext is the same as GetSdkType with the addition of
6965// the ability to pass a context and additional request options.
6966//
6967// See GetSdkType for details on how to use this API operation.
6968//
6969// The context must be non-nil and will be used for request cancellation. If
6970// the context is nil a panic will occur. In the future the SDK may create
6971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6972// for more information on using Contexts.
6973func (c *APIGateway) GetSdkTypeWithContext(ctx aws.Context, input *GetSdkTypeInput, opts ...request.Option) (*SdkType, error) {
6974	req, out := c.GetSdkTypeRequest(input)
6975	req.SetContext(ctx)
6976	req.ApplyOptions(opts...)
6977	return out, req.Send()
6978}
6979
6980const opGetSdkTypes = "GetSdkTypes"
6981
6982// GetSdkTypesRequest generates a "aws/request.Request" representing the
6983// client's request for the GetSdkTypes operation. The "output" return
6984// value will be populated with the request's response once the request completes
6985// successfully.
6986//
6987// Use "Send" method on the returned Request to send the API call to the service.
6988// the "output" return value is not valid until after Send returns without error.
6989//
6990// See GetSdkTypes for more information on using the GetSdkTypes
6991// API call, and error handling.
6992//
6993// This method is useful when you want to inject custom logic or configuration
6994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6995//
6996//
6997//    // Example sending a request using the GetSdkTypesRequest method.
6998//    req, resp := client.GetSdkTypesRequest(params)
6999//
7000//    err := req.Send()
7001//    if err == nil { // resp is now filled
7002//        fmt.Println(resp)
7003//    }
7004func (c *APIGateway) GetSdkTypesRequest(input *GetSdkTypesInput) (req *request.Request, output *GetSdkTypesOutput) {
7005	op := &request.Operation{
7006		Name:       opGetSdkTypes,
7007		HTTPMethod: "GET",
7008		HTTPPath:   "/sdktypes",
7009	}
7010
7011	if input == nil {
7012		input = &GetSdkTypesInput{}
7013	}
7014
7015	output = &GetSdkTypesOutput{}
7016	req = c.newRequest(op, input, output)
7017	return
7018}
7019
7020// GetSdkTypes API operation for Amazon API Gateway.
7021//
7022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7023// with awserr.Error's Code and Message methods to get detailed information about
7024// the error.
7025//
7026// See the AWS API reference guide for Amazon API Gateway's
7027// API operation GetSdkTypes for usage and error information.
7028//
7029// Returned Error Types:
7030//   * UnauthorizedException
7031//   The request is denied because the caller has insufficient permissions.
7032//
7033//   * TooManyRequestsException
7034//   The request has reached its throttling limit. Retry after the specified time
7035//   period.
7036//
7037func (c *APIGateway) GetSdkTypes(input *GetSdkTypesInput) (*GetSdkTypesOutput, error) {
7038	req, out := c.GetSdkTypesRequest(input)
7039	return out, req.Send()
7040}
7041
7042// GetSdkTypesWithContext is the same as GetSdkTypes with the addition of
7043// the ability to pass a context and additional request options.
7044//
7045// See GetSdkTypes for details on how to use this API operation.
7046//
7047// The context must be non-nil and will be used for request cancellation. If
7048// the context is nil a panic will occur. In the future the SDK may create
7049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7050// for more information on using Contexts.
7051func (c *APIGateway) GetSdkTypesWithContext(ctx aws.Context, input *GetSdkTypesInput, opts ...request.Option) (*GetSdkTypesOutput, error) {
7052	req, out := c.GetSdkTypesRequest(input)
7053	req.SetContext(ctx)
7054	req.ApplyOptions(opts...)
7055	return out, req.Send()
7056}
7057
7058const opGetStage = "GetStage"
7059
7060// GetStageRequest generates a "aws/request.Request" representing the
7061// client's request for the GetStage operation. The "output" return
7062// value will be populated with the request's response once the request completes
7063// successfully.
7064//
7065// Use "Send" method on the returned Request to send the API call to the service.
7066// the "output" return value is not valid until after Send returns without error.
7067//
7068// See GetStage for more information on using the GetStage
7069// API call, and error handling.
7070//
7071// This method is useful when you want to inject custom logic or configuration
7072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7073//
7074//
7075//    // Example sending a request using the GetStageRequest method.
7076//    req, resp := client.GetStageRequest(params)
7077//
7078//    err := req.Send()
7079//    if err == nil { // resp is now filled
7080//        fmt.Println(resp)
7081//    }
7082func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request, output *Stage) {
7083	op := &request.Operation{
7084		Name:       opGetStage,
7085		HTTPMethod: "GET",
7086		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
7087	}
7088
7089	if input == nil {
7090		input = &GetStageInput{}
7091	}
7092
7093	output = &Stage{}
7094	req = c.newRequest(op, input, output)
7095	return
7096}
7097
7098// GetStage API operation for Amazon API Gateway.
7099//
7100// Gets information about a Stage resource.
7101//
7102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7103// with awserr.Error's Code and Message methods to get detailed information about
7104// the error.
7105//
7106// See the AWS API reference guide for Amazon API Gateway's
7107// API operation GetStage for usage and error information.
7108//
7109// Returned Error Types:
7110//   * UnauthorizedException
7111//   The request is denied because the caller has insufficient permissions.
7112//
7113//   * NotFoundException
7114//   The requested resource is not found. Make sure that the request URI is correct.
7115//
7116//   * TooManyRequestsException
7117//   The request has reached its throttling limit. Retry after the specified time
7118//   period.
7119//
7120func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) {
7121	req, out := c.GetStageRequest(input)
7122	return out, req.Send()
7123}
7124
7125// GetStageWithContext is the same as GetStage with the addition of
7126// the ability to pass a context and additional request options.
7127//
7128// See GetStage for details on how to use this API operation.
7129//
7130// The context must be non-nil and will be used for request cancellation. If
7131// the context is nil a panic will occur. In the future the SDK may create
7132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7133// for more information on using Contexts.
7134func (c *APIGateway) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*Stage, error) {
7135	req, out := c.GetStageRequest(input)
7136	req.SetContext(ctx)
7137	req.ApplyOptions(opts...)
7138	return out, req.Send()
7139}
7140
7141const opGetStages = "GetStages"
7142
7143// GetStagesRequest generates a "aws/request.Request" representing the
7144// client's request for the GetStages operation. The "output" return
7145// value will be populated with the request's response once the request completes
7146// successfully.
7147//
7148// Use "Send" method on the returned Request to send the API call to the service.
7149// the "output" return value is not valid until after Send returns without error.
7150//
7151// See GetStages for more information on using the GetStages
7152// API call, and error handling.
7153//
7154// This method is useful when you want to inject custom logic or configuration
7155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7156//
7157//
7158//    // Example sending a request using the GetStagesRequest method.
7159//    req, resp := client.GetStagesRequest(params)
7160//
7161//    err := req.Send()
7162//    if err == nil { // resp is now filled
7163//        fmt.Println(resp)
7164//    }
7165func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) {
7166	op := &request.Operation{
7167		Name:       opGetStages,
7168		HTTPMethod: "GET",
7169		HTTPPath:   "/restapis/{restapi_id}/stages",
7170	}
7171
7172	if input == nil {
7173		input = &GetStagesInput{}
7174	}
7175
7176	output = &GetStagesOutput{}
7177	req = c.newRequest(op, input, output)
7178	return
7179}
7180
7181// GetStages API operation for Amazon API Gateway.
7182//
7183// Gets information about one or more Stage resources.
7184//
7185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7186// with awserr.Error's Code and Message methods to get detailed information about
7187// the error.
7188//
7189// See the AWS API reference guide for Amazon API Gateway's
7190// API operation GetStages for usage and error information.
7191//
7192// Returned Error Types:
7193//   * UnauthorizedException
7194//   The request is denied because the caller has insufficient permissions.
7195//
7196//   * NotFoundException
7197//   The requested resource is not found. Make sure that the request URI is correct.
7198//
7199//   * TooManyRequestsException
7200//   The request has reached its throttling limit. Retry after the specified time
7201//   period.
7202//
7203func (c *APIGateway) GetStages(input *GetStagesInput) (*GetStagesOutput, error) {
7204	req, out := c.GetStagesRequest(input)
7205	return out, req.Send()
7206}
7207
7208// GetStagesWithContext is the same as GetStages with the addition of
7209// the ability to pass a context and additional request options.
7210//
7211// See GetStages for details on how to use this API operation.
7212//
7213// The context must be non-nil and will be used for request cancellation. If
7214// the context is nil a panic will occur. In the future the SDK may create
7215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7216// for more information on using Contexts.
7217func (c *APIGateway) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) {
7218	req, out := c.GetStagesRequest(input)
7219	req.SetContext(ctx)
7220	req.ApplyOptions(opts...)
7221	return out, req.Send()
7222}
7223
7224const opGetTags = "GetTags"
7225
7226// GetTagsRequest generates a "aws/request.Request" representing the
7227// client's request for the GetTags operation. The "output" return
7228// value will be populated with the request's response once the request completes
7229// successfully.
7230//
7231// Use "Send" method on the returned Request to send the API call to the service.
7232// the "output" return value is not valid until after Send returns without error.
7233//
7234// See GetTags for more information on using the GetTags
7235// API call, and error handling.
7236//
7237// This method is useful when you want to inject custom logic or configuration
7238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7239//
7240//
7241//    // Example sending a request using the GetTagsRequest method.
7242//    req, resp := client.GetTagsRequest(params)
7243//
7244//    err := req.Send()
7245//    if err == nil { // resp is now filled
7246//        fmt.Println(resp)
7247//    }
7248func (c *APIGateway) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
7249	op := &request.Operation{
7250		Name:       opGetTags,
7251		HTTPMethod: "GET",
7252		HTTPPath:   "/tags/{resource_arn}",
7253	}
7254
7255	if input == nil {
7256		input = &GetTagsInput{}
7257	}
7258
7259	output = &GetTagsOutput{}
7260	req = c.newRequest(op, input, output)
7261	return
7262}
7263
7264// GetTags API operation for Amazon API Gateway.
7265//
7266// Gets the Tags collection for a given resource.
7267//
7268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7269// with awserr.Error's Code and Message methods to get detailed information about
7270// the error.
7271//
7272// See the AWS API reference guide for Amazon API Gateway's
7273// API operation GetTags for usage and error information.
7274//
7275// Returned Error Types:
7276//   * BadRequestException
7277//   The submitted request is not valid, for example, the input is incomplete
7278//   or incorrect. See the accompanying error message for details.
7279//
7280//   * UnauthorizedException
7281//   The request is denied because the caller has insufficient permissions.
7282//
7283//   * TooManyRequestsException
7284//   The request has reached its throttling limit. Retry after the specified time
7285//   period.
7286//
7287//   * NotFoundException
7288//   The requested resource is not found. Make sure that the request URI is correct.
7289//
7290//   * LimitExceededException
7291//   The request exceeded the rate limit. Retry after the specified time period.
7292//
7293func (c *APIGateway) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
7294	req, out := c.GetTagsRequest(input)
7295	return out, req.Send()
7296}
7297
7298// GetTagsWithContext is the same as GetTags with the addition of
7299// the ability to pass a context and additional request options.
7300//
7301// See GetTags for details on how to use this API operation.
7302//
7303// The context must be non-nil and will be used for request cancellation. If
7304// the context is nil a panic will occur. In the future the SDK may create
7305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7306// for more information on using Contexts.
7307func (c *APIGateway) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
7308	req, out := c.GetTagsRequest(input)
7309	req.SetContext(ctx)
7310	req.ApplyOptions(opts...)
7311	return out, req.Send()
7312}
7313
7314const opGetUsage = "GetUsage"
7315
7316// GetUsageRequest generates a "aws/request.Request" representing the
7317// client's request for the GetUsage operation. The "output" return
7318// value will be populated with the request's response once the request completes
7319// successfully.
7320//
7321// Use "Send" method on the returned Request to send the API call to the service.
7322// the "output" return value is not valid until after Send returns without error.
7323//
7324// See GetUsage for more information on using the GetUsage
7325// API call, and error handling.
7326//
7327// This method is useful when you want to inject custom logic or configuration
7328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7329//
7330//
7331//    // Example sending a request using the GetUsageRequest method.
7332//    req, resp := client.GetUsageRequest(params)
7333//
7334//    err := req.Send()
7335//    if err == nil { // resp is now filled
7336//        fmt.Println(resp)
7337//    }
7338func (c *APIGateway) GetUsageRequest(input *GetUsageInput) (req *request.Request, output *Usage) {
7339	op := &request.Operation{
7340		Name:       opGetUsage,
7341		HTTPMethod: "GET",
7342		HTTPPath:   "/usageplans/{usageplanId}/usage",
7343		Paginator: &request.Paginator{
7344			InputTokens:     []string{"position"},
7345			OutputTokens:    []string{"position"},
7346			LimitToken:      "limit",
7347			TruncationToken: "",
7348		},
7349	}
7350
7351	if input == nil {
7352		input = &GetUsageInput{}
7353	}
7354
7355	output = &Usage{}
7356	req = c.newRequest(op, input, output)
7357	return
7358}
7359
7360// GetUsage API operation for Amazon API Gateway.
7361//
7362// Gets the usage data of a usage plan in a specified time interval.
7363//
7364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7365// with awserr.Error's Code and Message methods to get detailed information about
7366// the error.
7367//
7368// See the AWS API reference guide for Amazon API Gateway's
7369// API operation GetUsage for usage and error information.
7370//
7371// Returned Error Types:
7372//   * BadRequestException
7373//   The submitted request is not valid, for example, the input is incomplete
7374//   or incorrect. See the accompanying error message for details.
7375//
7376//   * UnauthorizedException
7377//   The request is denied because the caller has insufficient permissions.
7378//
7379//   * NotFoundException
7380//   The requested resource is not found. Make sure that the request URI is correct.
7381//
7382//   * TooManyRequestsException
7383//   The request has reached its throttling limit. Retry after the specified time
7384//   period.
7385//
7386func (c *APIGateway) GetUsage(input *GetUsageInput) (*Usage, error) {
7387	req, out := c.GetUsageRequest(input)
7388	return out, req.Send()
7389}
7390
7391// GetUsageWithContext is the same as GetUsage with the addition of
7392// the ability to pass a context and additional request options.
7393//
7394// See GetUsage for details on how to use this API operation.
7395//
7396// The context must be non-nil and will be used for request cancellation. If
7397// the context is nil a panic will occur. In the future the SDK may create
7398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7399// for more information on using Contexts.
7400func (c *APIGateway) GetUsageWithContext(ctx aws.Context, input *GetUsageInput, opts ...request.Option) (*Usage, error) {
7401	req, out := c.GetUsageRequest(input)
7402	req.SetContext(ctx)
7403	req.ApplyOptions(opts...)
7404	return out, req.Send()
7405}
7406
7407// GetUsagePages iterates over the pages of a GetUsage operation,
7408// calling the "fn" function with the response data for each page. To stop
7409// iterating, return false from the fn function.
7410//
7411// See GetUsage method for more information on how to use this operation.
7412//
7413// Note: This operation can generate multiple requests to a service.
7414//
7415//    // Example iterating over at most 3 pages of a GetUsage operation.
7416//    pageNum := 0
7417//    err := client.GetUsagePages(params,
7418//        func(page *apigateway.Usage, lastPage bool) bool {
7419//            pageNum++
7420//            fmt.Println(page)
7421//            return pageNum <= 3
7422//        })
7423//
7424func (c *APIGateway) GetUsagePages(input *GetUsageInput, fn func(*Usage, bool) bool) error {
7425	return c.GetUsagePagesWithContext(aws.BackgroundContext(), input, fn)
7426}
7427
7428// GetUsagePagesWithContext same as GetUsagePages except
7429// it takes a Context and allows setting request options on the pages.
7430//
7431// The context must be non-nil and will be used for request cancellation. If
7432// the context is nil a panic will occur. In the future the SDK may create
7433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7434// for more information on using Contexts.
7435func (c *APIGateway) GetUsagePagesWithContext(ctx aws.Context, input *GetUsageInput, fn func(*Usage, bool) bool, opts ...request.Option) error {
7436	p := request.Pagination{
7437		NewRequest: func() (*request.Request, error) {
7438			var inCpy *GetUsageInput
7439			if input != nil {
7440				tmp := *input
7441				inCpy = &tmp
7442			}
7443			req, _ := c.GetUsageRequest(inCpy)
7444			req.SetContext(ctx)
7445			req.ApplyOptions(opts...)
7446			return req, nil
7447		},
7448	}
7449
7450	for p.Next() {
7451		if !fn(p.Page().(*Usage), !p.HasNextPage()) {
7452			break
7453		}
7454	}
7455
7456	return p.Err()
7457}
7458
7459const opGetUsagePlan = "GetUsagePlan"
7460
7461// GetUsagePlanRequest generates a "aws/request.Request" representing the
7462// client's request for the GetUsagePlan operation. The "output" return
7463// value will be populated with the request's response once the request completes
7464// successfully.
7465//
7466// Use "Send" method on the returned Request to send the API call to the service.
7467// the "output" return value is not valid until after Send returns without error.
7468//
7469// See GetUsagePlan for more information on using the GetUsagePlan
7470// API call, and error handling.
7471//
7472// This method is useful when you want to inject custom logic or configuration
7473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7474//
7475//
7476//    // Example sending a request using the GetUsagePlanRequest method.
7477//    req, resp := client.GetUsagePlanRequest(params)
7478//
7479//    err := req.Send()
7480//    if err == nil { // resp is now filled
7481//        fmt.Println(resp)
7482//    }
7483func (c *APIGateway) GetUsagePlanRequest(input *GetUsagePlanInput) (req *request.Request, output *UsagePlan) {
7484	op := &request.Operation{
7485		Name:       opGetUsagePlan,
7486		HTTPMethod: "GET",
7487		HTTPPath:   "/usageplans/{usageplanId}",
7488	}
7489
7490	if input == nil {
7491		input = &GetUsagePlanInput{}
7492	}
7493
7494	output = &UsagePlan{}
7495	req = c.newRequest(op, input, output)
7496	return
7497}
7498
7499// GetUsagePlan API operation for Amazon API Gateway.
7500//
7501// Gets a usage plan of a given plan identifier.
7502//
7503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7504// with awserr.Error's Code and Message methods to get detailed information about
7505// the error.
7506//
7507// See the AWS API reference guide for Amazon API Gateway's
7508// API operation GetUsagePlan for usage and error information.
7509//
7510// Returned Error Types:
7511//   * BadRequestException
7512//   The submitted request is not valid, for example, the input is incomplete
7513//   or incorrect. See the accompanying error message for details.
7514//
7515//   * UnauthorizedException
7516//   The request is denied because the caller has insufficient permissions.
7517//
7518//   * NotFoundException
7519//   The requested resource is not found. Make sure that the request URI is correct.
7520//
7521//   * TooManyRequestsException
7522//   The request has reached its throttling limit. Retry after the specified time
7523//   period.
7524//
7525func (c *APIGateway) GetUsagePlan(input *GetUsagePlanInput) (*UsagePlan, error) {
7526	req, out := c.GetUsagePlanRequest(input)
7527	return out, req.Send()
7528}
7529
7530// GetUsagePlanWithContext is the same as GetUsagePlan with the addition of
7531// the ability to pass a context and additional request options.
7532//
7533// See GetUsagePlan for details on how to use this API operation.
7534//
7535// The context must be non-nil and will be used for request cancellation. If
7536// the context is nil a panic will occur. In the future the SDK may create
7537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7538// for more information on using Contexts.
7539func (c *APIGateway) GetUsagePlanWithContext(ctx aws.Context, input *GetUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
7540	req, out := c.GetUsagePlanRequest(input)
7541	req.SetContext(ctx)
7542	req.ApplyOptions(opts...)
7543	return out, req.Send()
7544}
7545
7546const opGetUsagePlanKey = "GetUsagePlanKey"
7547
7548// GetUsagePlanKeyRequest generates a "aws/request.Request" representing the
7549// client's request for the GetUsagePlanKey operation. The "output" return
7550// value will be populated with the request's response once the request completes
7551// successfully.
7552//
7553// Use "Send" method on the returned Request to send the API call to the service.
7554// the "output" return value is not valid until after Send returns without error.
7555//
7556// See GetUsagePlanKey for more information on using the GetUsagePlanKey
7557// API call, and error handling.
7558//
7559// This method is useful when you want to inject custom logic or configuration
7560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7561//
7562//
7563//    // Example sending a request using the GetUsagePlanKeyRequest method.
7564//    req, resp := client.GetUsagePlanKeyRequest(params)
7565//
7566//    err := req.Send()
7567//    if err == nil { // resp is now filled
7568//        fmt.Println(resp)
7569//    }
7570func (c *APIGateway) GetUsagePlanKeyRequest(input *GetUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) {
7571	op := &request.Operation{
7572		Name:       opGetUsagePlanKey,
7573		HTTPMethod: "GET",
7574		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}",
7575	}
7576
7577	if input == nil {
7578		input = &GetUsagePlanKeyInput{}
7579	}
7580
7581	output = &UsagePlanKey{}
7582	req = c.newRequest(op, input, output)
7583	return
7584}
7585
7586// GetUsagePlanKey API operation for Amazon API Gateway.
7587//
7588// Gets a usage plan key of a given key identifier.
7589//
7590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7591// with awserr.Error's Code and Message methods to get detailed information about
7592// the error.
7593//
7594// See the AWS API reference guide for Amazon API Gateway's
7595// API operation GetUsagePlanKey for usage and error information.
7596//
7597// Returned Error Types:
7598//   * BadRequestException
7599//   The submitted request is not valid, for example, the input is incomplete
7600//   or incorrect. See the accompanying error message for details.
7601//
7602//   * UnauthorizedException
7603//   The request is denied because the caller has insufficient permissions.
7604//
7605//   * NotFoundException
7606//   The requested resource is not found. Make sure that the request URI is correct.
7607//
7608//   * TooManyRequestsException
7609//   The request has reached its throttling limit. Retry after the specified time
7610//   period.
7611//
7612func (c *APIGateway) GetUsagePlanKey(input *GetUsagePlanKeyInput) (*UsagePlanKey, error) {
7613	req, out := c.GetUsagePlanKeyRequest(input)
7614	return out, req.Send()
7615}
7616
7617// GetUsagePlanKeyWithContext is the same as GetUsagePlanKey with the addition of
7618// the ability to pass a context and additional request options.
7619//
7620// See GetUsagePlanKey for details on how to use this API operation.
7621//
7622// The context must be non-nil and will be used for request cancellation. If
7623// the context is nil a panic will occur. In the future the SDK may create
7624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7625// for more information on using Contexts.
7626func (c *APIGateway) GetUsagePlanKeyWithContext(ctx aws.Context, input *GetUsagePlanKeyInput, opts ...request.Option) (*UsagePlanKey, error) {
7627	req, out := c.GetUsagePlanKeyRequest(input)
7628	req.SetContext(ctx)
7629	req.ApplyOptions(opts...)
7630	return out, req.Send()
7631}
7632
7633const opGetUsagePlanKeys = "GetUsagePlanKeys"
7634
7635// GetUsagePlanKeysRequest generates a "aws/request.Request" representing the
7636// client's request for the GetUsagePlanKeys operation. The "output" return
7637// value will be populated with the request's response once the request completes
7638// successfully.
7639//
7640// Use "Send" method on the returned Request to send the API call to the service.
7641// the "output" return value is not valid until after Send returns without error.
7642//
7643// See GetUsagePlanKeys for more information on using the GetUsagePlanKeys
7644// API call, and error handling.
7645//
7646// This method is useful when you want to inject custom logic or configuration
7647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7648//
7649//
7650//    // Example sending a request using the GetUsagePlanKeysRequest method.
7651//    req, resp := client.GetUsagePlanKeysRequest(params)
7652//
7653//    err := req.Send()
7654//    if err == nil { // resp is now filled
7655//        fmt.Println(resp)
7656//    }
7657func (c *APIGateway) GetUsagePlanKeysRequest(input *GetUsagePlanKeysInput) (req *request.Request, output *GetUsagePlanKeysOutput) {
7658	op := &request.Operation{
7659		Name:       opGetUsagePlanKeys,
7660		HTTPMethod: "GET",
7661		HTTPPath:   "/usageplans/{usageplanId}/keys",
7662		Paginator: &request.Paginator{
7663			InputTokens:     []string{"position"},
7664			OutputTokens:    []string{"position"},
7665			LimitToken:      "limit",
7666			TruncationToken: "",
7667		},
7668	}
7669
7670	if input == nil {
7671		input = &GetUsagePlanKeysInput{}
7672	}
7673
7674	output = &GetUsagePlanKeysOutput{}
7675	req = c.newRequest(op, input, output)
7676	return
7677}
7678
7679// GetUsagePlanKeys API operation for Amazon API Gateway.
7680//
7681// Gets all the usage plan keys representing the API keys added to a specified
7682// usage plan.
7683//
7684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7685// with awserr.Error's Code and Message methods to get detailed information about
7686// the error.
7687//
7688// See the AWS API reference guide for Amazon API Gateway's
7689// API operation GetUsagePlanKeys for usage and error information.
7690//
7691// Returned Error Types:
7692//   * BadRequestException
7693//   The submitted request is not valid, for example, the input is incomplete
7694//   or incorrect. See the accompanying error message for details.
7695//
7696//   * UnauthorizedException
7697//   The request is denied because the caller has insufficient permissions.
7698//
7699//   * NotFoundException
7700//   The requested resource is not found. Make sure that the request URI is correct.
7701//
7702//   * TooManyRequestsException
7703//   The request has reached its throttling limit. Retry after the specified time
7704//   period.
7705//
7706func (c *APIGateway) GetUsagePlanKeys(input *GetUsagePlanKeysInput) (*GetUsagePlanKeysOutput, error) {
7707	req, out := c.GetUsagePlanKeysRequest(input)
7708	return out, req.Send()
7709}
7710
7711// GetUsagePlanKeysWithContext is the same as GetUsagePlanKeys with the addition of
7712// the ability to pass a context and additional request options.
7713//
7714// See GetUsagePlanKeys for details on how to use this API operation.
7715//
7716// The context must be non-nil and will be used for request cancellation. If
7717// the context is nil a panic will occur. In the future the SDK may create
7718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7719// for more information on using Contexts.
7720func (c *APIGateway) GetUsagePlanKeysWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, opts ...request.Option) (*GetUsagePlanKeysOutput, error) {
7721	req, out := c.GetUsagePlanKeysRequest(input)
7722	req.SetContext(ctx)
7723	req.ApplyOptions(opts...)
7724	return out, req.Send()
7725}
7726
7727// GetUsagePlanKeysPages iterates over the pages of a GetUsagePlanKeys operation,
7728// calling the "fn" function with the response data for each page. To stop
7729// iterating, return false from the fn function.
7730//
7731// See GetUsagePlanKeys method for more information on how to use this operation.
7732//
7733// Note: This operation can generate multiple requests to a service.
7734//
7735//    // Example iterating over at most 3 pages of a GetUsagePlanKeys operation.
7736//    pageNum := 0
7737//    err := client.GetUsagePlanKeysPages(params,
7738//        func(page *apigateway.GetUsagePlanKeysOutput, lastPage bool) bool {
7739//            pageNum++
7740//            fmt.Println(page)
7741//            return pageNum <= 3
7742//        })
7743//
7744func (c *APIGateway) GetUsagePlanKeysPages(input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool) error {
7745	return c.GetUsagePlanKeysPagesWithContext(aws.BackgroundContext(), input, fn)
7746}
7747
7748// GetUsagePlanKeysPagesWithContext same as GetUsagePlanKeysPages except
7749// it takes a Context and allows setting request options on the pages.
7750//
7751// The context must be non-nil and will be used for request cancellation. If
7752// the context is nil a panic will occur. In the future the SDK may create
7753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7754// for more information on using Contexts.
7755func (c *APIGateway) GetUsagePlanKeysPagesWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool, opts ...request.Option) error {
7756	p := request.Pagination{
7757		NewRequest: func() (*request.Request, error) {
7758			var inCpy *GetUsagePlanKeysInput
7759			if input != nil {
7760				tmp := *input
7761				inCpy = &tmp
7762			}
7763			req, _ := c.GetUsagePlanKeysRequest(inCpy)
7764			req.SetContext(ctx)
7765			req.ApplyOptions(opts...)
7766			return req, nil
7767		},
7768	}
7769
7770	for p.Next() {
7771		if !fn(p.Page().(*GetUsagePlanKeysOutput), !p.HasNextPage()) {
7772			break
7773		}
7774	}
7775
7776	return p.Err()
7777}
7778
7779const opGetUsagePlans = "GetUsagePlans"
7780
7781// GetUsagePlansRequest generates a "aws/request.Request" representing the
7782// client's request for the GetUsagePlans operation. The "output" return
7783// value will be populated with the request's response once the request completes
7784// successfully.
7785//
7786// Use "Send" method on the returned Request to send the API call to the service.
7787// the "output" return value is not valid until after Send returns without error.
7788//
7789// See GetUsagePlans for more information on using the GetUsagePlans
7790// API call, and error handling.
7791//
7792// This method is useful when you want to inject custom logic or configuration
7793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7794//
7795//
7796//    // Example sending a request using the GetUsagePlansRequest method.
7797//    req, resp := client.GetUsagePlansRequest(params)
7798//
7799//    err := req.Send()
7800//    if err == nil { // resp is now filled
7801//        fmt.Println(resp)
7802//    }
7803func (c *APIGateway) GetUsagePlansRequest(input *GetUsagePlansInput) (req *request.Request, output *GetUsagePlansOutput) {
7804	op := &request.Operation{
7805		Name:       opGetUsagePlans,
7806		HTTPMethod: "GET",
7807		HTTPPath:   "/usageplans",
7808		Paginator: &request.Paginator{
7809			InputTokens:     []string{"position"},
7810			OutputTokens:    []string{"position"},
7811			LimitToken:      "limit",
7812			TruncationToken: "",
7813		},
7814	}
7815
7816	if input == nil {
7817		input = &GetUsagePlansInput{}
7818	}
7819
7820	output = &GetUsagePlansOutput{}
7821	req = c.newRequest(op, input, output)
7822	return
7823}
7824
7825// GetUsagePlans API operation for Amazon API Gateway.
7826//
7827// Gets all the usage plans of the caller's account.
7828//
7829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7830// with awserr.Error's Code and Message methods to get detailed information about
7831// the error.
7832//
7833// See the AWS API reference guide for Amazon API Gateway's
7834// API operation GetUsagePlans for usage and error information.
7835//
7836// Returned Error Types:
7837//   * BadRequestException
7838//   The submitted request is not valid, for example, the input is incomplete
7839//   or incorrect. See the accompanying error message for details.
7840//
7841//   * UnauthorizedException
7842//   The request is denied because the caller has insufficient permissions.
7843//
7844//   * TooManyRequestsException
7845//   The request has reached its throttling limit. Retry after the specified time
7846//   period.
7847//
7848//   * ConflictException
7849//   The request configuration has conflicts. For details, see the accompanying
7850//   error message.
7851//
7852//   * NotFoundException
7853//   The requested resource is not found. Make sure that the request URI is correct.
7854//
7855func (c *APIGateway) GetUsagePlans(input *GetUsagePlansInput) (*GetUsagePlansOutput, error) {
7856	req, out := c.GetUsagePlansRequest(input)
7857	return out, req.Send()
7858}
7859
7860// GetUsagePlansWithContext is the same as GetUsagePlans with the addition of
7861// the ability to pass a context and additional request options.
7862//
7863// See GetUsagePlans for details on how to use this API operation.
7864//
7865// The context must be non-nil and will be used for request cancellation. If
7866// the context is nil a panic will occur. In the future the SDK may create
7867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7868// for more information on using Contexts.
7869func (c *APIGateway) GetUsagePlansWithContext(ctx aws.Context, input *GetUsagePlansInput, opts ...request.Option) (*GetUsagePlansOutput, error) {
7870	req, out := c.GetUsagePlansRequest(input)
7871	req.SetContext(ctx)
7872	req.ApplyOptions(opts...)
7873	return out, req.Send()
7874}
7875
7876// GetUsagePlansPages iterates over the pages of a GetUsagePlans operation,
7877// calling the "fn" function with the response data for each page. To stop
7878// iterating, return false from the fn function.
7879//
7880// See GetUsagePlans method for more information on how to use this operation.
7881//
7882// Note: This operation can generate multiple requests to a service.
7883//
7884//    // Example iterating over at most 3 pages of a GetUsagePlans operation.
7885//    pageNum := 0
7886//    err := client.GetUsagePlansPages(params,
7887//        func(page *apigateway.GetUsagePlansOutput, lastPage bool) bool {
7888//            pageNum++
7889//            fmt.Println(page)
7890//            return pageNum <= 3
7891//        })
7892//
7893func (c *APIGateway) GetUsagePlansPages(input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool) error {
7894	return c.GetUsagePlansPagesWithContext(aws.BackgroundContext(), input, fn)
7895}
7896
7897// GetUsagePlansPagesWithContext same as GetUsagePlansPages except
7898// it takes a Context and allows setting request options on the pages.
7899//
7900// The context must be non-nil and will be used for request cancellation. If
7901// the context is nil a panic will occur. In the future the SDK may create
7902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7903// for more information on using Contexts.
7904func (c *APIGateway) GetUsagePlansPagesWithContext(ctx aws.Context, input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool, opts ...request.Option) error {
7905	p := request.Pagination{
7906		NewRequest: func() (*request.Request, error) {
7907			var inCpy *GetUsagePlansInput
7908			if input != nil {
7909				tmp := *input
7910				inCpy = &tmp
7911			}
7912			req, _ := c.GetUsagePlansRequest(inCpy)
7913			req.SetContext(ctx)
7914			req.ApplyOptions(opts...)
7915			return req, nil
7916		},
7917	}
7918
7919	for p.Next() {
7920		if !fn(p.Page().(*GetUsagePlansOutput), !p.HasNextPage()) {
7921			break
7922		}
7923	}
7924
7925	return p.Err()
7926}
7927
7928const opGetVpcLink = "GetVpcLink"
7929
7930// GetVpcLinkRequest generates a "aws/request.Request" representing the
7931// client's request for the GetVpcLink operation. The "output" return
7932// value will be populated with the request's response once the request completes
7933// successfully.
7934//
7935// Use "Send" method on the returned Request to send the API call to the service.
7936// the "output" return value is not valid until after Send returns without error.
7937//
7938// See GetVpcLink for more information on using the GetVpcLink
7939// API call, and error handling.
7940//
7941// This method is useful when you want to inject custom logic or configuration
7942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7943//
7944//
7945//    // Example sending a request using the GetVpcLinkRequest method.
7946//    req, resp := client.GetVpcLinkRequest(params)
7947//
7948//    err := req.Send()
7949//    if err == nil { // resp is now filled
7950//        fmt.Println(resp)
7951//    }
7952func (c *APIGateway) GetVpcLinkRequest(input *GetVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
7953	op := &request.Operation{
7954		Name:       opGetVpcLink,
7955		HTTPMethod: "GET",
7956		HTTPPath:   "/vpclinks/{vpclink_id}",
7957	}
7958
7959	if input == nil {
7960		input = &GetVpcLinkInput{}
7961	}
7962
7963	output = &UpdateVpcLinkOutput{}
7964	req = c.newRequest(op, input, output)
7965	return
7966}
7967
7968// GetVpcLink API operation for Amazon API Gateway.
7969//
7970// Gets a specified VPC link under the caller's account in a region.
7971//
7972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7973// with awserr.Error's Code and Message methods to get detailed information about
7974// the error.
7975//
7976// See the AWS API reference guide for Amazon API Gateway's
7977// API operation GetVpcLink for usage and error information.
7978//
7979// Returned Error Types:
7980//   * UnauthorizedException
7981//   The request is denied because the caller has insufficient permissions.
7982//
7983//   * NotFoundException
7984//   The requested resource is not found. Make sure that the request URI is correct.
7985//
7986//   * TooManyRequestsException
7987//   The request has reached its throttling limit. Retry after the specified time
7988//   period.
7989//
7990func (c *APIGateway) GetVpcLink(input *GetVpcLinkInput) (*UpdateVpcLinkOutput, error) {
7991	req, out := c.GetVpcLinkRequest(input)
7992	return out, req.Send()
7993}
7994
7995// GetVpcLinkWithContext is the same as GetVpcLink with the addition of
7996// the ability to pass a context and additional request options.
7997//
7998// See GetVpcLink for details on how to use this API operation.
7999//
8000// The context must be non-nil and will be used for request cancellation. If
8001// the context is nil a panic will occur. In the future the SDK may create
8002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8003// for more information on using Contexts.
8004func (c *APIGateway) GetVpcLinkWithContext(ctx aws.Context, input *GetVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
8005	req, out := c.GetVpcLinkRequest(input)
8006	req.SetContext(ctx)
8007	req.ApplyOptions(opts...)
8008	return out, req.Send()
8009}
8010
8011const opGetVpcLinks = "GetVpcLinks"
8012
8013// GetVpcLinksRequest generates a "aws/request.Request" representing the
8014// client's request for the GetVpcLinks operation. The "output" return
8015// value will be populated with the request's response once the request completes
8016// successfully.
8017//
8018// Use "Send" method on the returned Request to send the API call to the service.
8019// the "output" return value is not valid until after Send returns without error.
8020//
8021// See GetVpcLinks for more information on using the GetVpcLinks
8022// API call, and error handling.
8023//
8024// This method is useful when you want to inject custom logic or configuration
8025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8026//
8027//
8028//    // Example sending a request using the GetVpcLinksRequest method.
8029//    req, resp := client.GetVpcLinksRequest(params)
8030//
8031//    err := req.Send()
8032//    if err == nil { // resp is now filled
8033//        fmt.Println(resp)
8034//    }
8035func (c *APIGateway) GetVpcLinksRequest(input *GetVpcLinksInput) (req *request.Request, output *GetVpcLinksOutput) {
8036	op := &request.Operation{
8037		Name:       opGetVpcLinks,
8038		HTTPMethod: "GET",
8039		HTTPPath:   "/vpclinks",
8040		Paginator: &request.Paginator{
8041			InputTokens:     []string{"position"},
8042			OutputTokens:    []string{"position"},
8043			LimitToken:      "limit",
8044			TruncationToken: "",
8045		},
8046	}
8047
8048	if input == nil {
8049		input = &GetVpcLinksInput{}
8050	}
8051
8052	output = &GetVpcLinksOutput{}
8053	req = c.newRequest(op, input, output)
8054	return
8055}
8056
8057// GetVpcLinks API operation for Amazon API Gateway.
8058//
8059// Gets the VpcLinks collection under the caller's account in a selected region.
8060//
8061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8062// with awserr.Error's Code and Message methods to get detailed information about
8063// the error.
8064//
8065// See the AWS API reference guide for Amazon API Gateway's
8066// API operation GetVpcLinks for usage and error information.
8067//
8068// Returned Error Types:
8069//   * BadRequestException
8070//   The submitted request is not valid, for example, the input is incomplete
8071//   or incorrect. See the accompanying error message for details.
8072//
8073//   * UnauthorizedException
8074//   The request is denied because the caller has insufficient permissions.
8075//
8076//   * TooManyRequestsException
8077//   The request has reached its throttling limit. Retry after the specified time
8078//   period.
8079//
8080func (c *APIGateway) GetVpcLinks(input *GetVpcLinksInput) (*GetVpcLinksOutput, error) {
8081	req, out := c.GetVpcLinksRequest(input)
8082	return out, req.Send()
8083}
8084
8085// GetVpcLinksWithContext is the same as GetVpcLinks with the addition of
8086// the ability to pass a context and additional request options.
8087//
8088// See GetVpcLinks for details on how to use this API operation.
8089//
8090// The context must be non-nil and will be used for request cancellation. If
8091// the context is nil a panic will occur. In the future the SDK may create
8092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8093// for more information on using Contexts.
8094func (c *APIGateway) GetVpcLinksWithContext(ctx aws.Context, input *GetVpcLinksInput, opts ...request.Option) (*GetVpcLinksOutput, error) {
8095	req, out := c.GetVpcLinksRequest(input)
8096	req.SetContext(ctx)
8097	req.ApplyOptions(opts...)
8098	return out, req.Send()
8099}
8100
8101// GetVpcLinksPages iterates over the pages of a GetVpcLinks operation,
8102// calling the "fn" function with the response data for each page. To stop
8103// iterating, return false from the fn function.
8104//
8105// See GetVpcLinks method for more information on how to use this operation.
8106//
8107// Note: This operation can generate multiple requests to a service.
8108//
8109//    // Example iterating over at most 3 pages of a GetVpcLinks operation.
8110//    pageNum := 0
8111//    err := client.GetVpcLinksPages(params,
8112//        func(page *apigateway.GetVpcLinksOutput, lastPage bool) bool {
8113//            pageNum++
8114//            fmt.Println(page)
8115//            return pageNum <= 3
8116//        })
8117//
8118func (c *APIGateway) GetVpcLinksPages(input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool) error {
8119	return c.GetVpcLinksPagesWithContext(aws.BackgroundContext(), input, fn)
8120}
8121
8122// GetVpcLinksPagesWithContext same as GetVpcLinksPages except
8123// it takes a Context and allows setting request options on the pages.
8124//
8125// The context must be non-nil and will be used for request cancellation. If
8126// the context is nil a panic will occur. In the future the SDK may create
8127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8128// for more information on using Contexts.
8129func (c *APIGateway) GetVpcLinksPagesWithContext(ctx aws.Context, input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool, opts ...request.Option) error {
8130	p := request.Pagination{
8131		NewRequest: func() (*request.Request, error) {
8132			var inCpy *GetVpcLinksInput
8133			if input != nil {
8134				tmp := *input
8135				inCpy = &tmp
8136			}
8137			req, _ := c.GetVpcLinksRequest(inCpy)
8138			req.SetContext(ctx)
8139			req.ApplyOptions(opts...)
8140			return req, nil
8141		},
8142	}
8143
8144	for p.Next() {
8145		if !fn(p.Page().(*GetVpcLinksOutput), !p.HasNextPage()) {
8146			break
8147		}
8148	}
8149
8150	return p.Err()
8151}
8152
8153const opImportApiKeys = "ImportApiKeys"
8154
8155// ImportApiKeysRequest generates a "aws/request.Request" representing the
8156// client's request for the ImportApiKeys operation. The "output" return
8157// value will be populated with the request's response once the request completes
8158// successfully.
8159//
8160// Use "Send" method on the returned Request to send the API call to the service.
8161// the "output" return value is not valid until after Send returns without error.
8162//
8163// See ImportApiKeys for more information on using the ImportApiKeys
8164// API call, and error handling.
8165//
8166// This method is useful when you want to inject custom logic or configuration
8167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8168//
8169//
8170//    // Example sending a request using the ImportApiKeysRequest method.
8171//    req, resp := client.ImportApiKeysRequest(params)
8172//
8173//    err := req.Send()
8174//    if err == nil { // resp is now filled
8175//        fmt.Println(resp)
8176//    }
8177func (c *APIGateway) ImportApiKeysRequest(input *ImportApiKeysInput) (req *request.Request, output *ImportApiKeysOutput) {
8178	op := &request.Operation{
8179		Name:       opImportApiKeys,
8180		HTTPMethod: "POST",
8181		HTTPPath:   "/apikeys?mode=import",
8182	}
8183
8184	if input == nil {
8185		input = &ImportApiKeysInput{}
8186	}
8187
8188	output = &ImportApiKeysOutput{}
8189	req = c.newRequest(op, input, output)
8190	return
8191}
8192
8193// ImportApiKeys API operation for Amazon API Gateway.
8194//
8195// Import API keys from an external source, such as a CSV-formatted file.
8196//
8197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8198// with awserr.Error's Code and Message methods to get detailed information about
8199// the error.
8200//
8201// See the AWS API reference guide for Amazon API Gateway's
8202// API operation ImportApiKeys for usage and error information.
8203//
8204// Returned Error Types:
8205//   * UnauthorizedException
8206//   The request is denied because the caller has insufficient permissions.
8207//
8208//   * NotFoundException
8209//   The requested resource is not found. Make sure that the request URI is correct.
8210//
8211//   * TooManyRequestsException
8212//   The request has reached its throttling limit. Retry after the specified time
8213//   period.
8214//
8215//   * LimitExceededException
8216//   The request exceeded the rate limit. Retry after the specified time period.
8217//
8218//   * BadRequestException
8219//   The submitted request is not valid, for example, the input is incomplete
8220//   or incorrect. See the accompanying error message for details.
8221//
8222//   * ConflictException
8223//   The request configuration has conflicts. For details, see the accompanying
8224//   error message.
8225//
8226func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOutput, error) {
8227	req, out := c.ImportApiKeysRequest(input)
8228	return out, req.Send()
8229}
8230
8231// ImportApiKeysWithContext is the same as ImportApiKeys with the addition of
8232// the ability to pass a context and additional request options.
8233//
8234// See ImportApiKeys for details on how to use this API operation.
8235//
8236// The context must be non-nil and will be used for request cancellation. If
8237// the context is nil a panic will occur. In the future the SDK may create
8238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8239// for more information on using Contexts.
8240func (c *APIGateway) ImportApiKeysWithContext(ctx aws.Context, input *ImportApiKeysInput, opts ...request.Option) (*ImportApiKeysOutput, error) {
8241	req, out := c.ImportApiKeysRequest(input)
8242	req.SetContext(ctx)
8243	req.ApplyOptions(opts...)
8244	return out, req.Send()
8245}
8246
8247const opImportDocumentationParts = "ImportDocumentationParts"
8248
8249// ImportDocumentationPartsRequest generates a "aws/request.Request" representing the
8250// client's request for the ImportDocumentationParts operation. The "output" return
8251// value will be populated with the request's response once the request completes
8252// successfully.
8253//
8254// Use "Send" method on the returned Request to send the API call to the service.
8255// the "output" return value is not valid until after Send returns without error.
8256//
8257// See ImportDocumentationParts for more information on using the ImportDocumentationParts
8258// API call, and error handling.
8259//
8260// This method is useful when you want to inject custom logic or configuration
8261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8262//
8263//
8264//    // Example sending a request using the ImportDocumentationPartsRequest method.
8265//    req, resp := client.ImportDocumentationPartsRequest(params)
8266//
8267//    err := req.Send()
8268//    if err == nil { // resp is now filled
8269//        fmt.Println(resp)
8270//    }
8271func (c *APIGateway) ImportDocumentationPartsRequest(input *ImportDocumentationPartsInput) (req *request.Request, output *ImportDocumentationPartsOutput) {
8272	op := &request.Operation{
8273		Name:       opImportDocumentationParts,
8274		HTTPMethod: "PUT",
8275		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
8276	}
8277
8278	if input == nil {
8279		input = &ImportDocumentationPartsInput{}
8280	}
8281
8282	output = &ImportDocumentationPartsOutput{}
8283	req = c.newRequest(op, input, output)
8284	return
8285}
8286
8287// ImportDocumentationParts API operation for Amazon API Gateway.
8288//
8289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8290// with awserr.Error's Code and Message methods to get detailed information about
8291// the error.
8292//
8293// See the AWS API reference guide for Amazon API Gateway's
8294// API operation ImportDocumentationParts for usage and error information.
8295//
8296// Returned Error Types:
8297//   * UnauthorizedException
8298//   The request is denied because the caller has insufficient permissions.
8299//
8300//   * NotFoundException
8301//   The requested resource is not found. Make sure that the request URI is correct.
8302//
8303//   * BadRequestException
8304//   The submitted request is not valid, for example, the input is incomplete
8305//   or incorrect. See the accompanying error message for details.
8306//
8307//   * LimitExceededException
8308//   The request exceeded the rate limit. Retry after the specified time period.
8309//
8310//   * TooManyRequestsException
8311//   The request has reached its throttling limit. Retry after the specified time
8312//   period.
8313//
8314func (c *APIGateway) ImportDocumentationParts(input *ImportDocumentationPartsInput) (*ImportDocumentationPartsOutput, error) {
8315	req, out := c.ImportDocumentationPartsRequest(input)
8316	return out, req.Send()
8317}
8318
8319// ImportDocumentationPartsWithContext is the same as ImportDocumentationParts with the addition of
8320// the ability to pass a context and additional request options.
8321//
8322// See ImportDocumentationParts for details on how to use this API operation.
8323//
8324// The context must be non-nil and will be used for request cancellation. If
8325// the context is nil a panic will occur. In the future the SDK may create
8326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8327// for more information on using Contexts.
8328func (c *APIGateway) ImportDocumentationPartsWithContext(ctx aws.Context, input *ImportDocumentationPartsInput, opts ...request.Option) (*ImportDocumentationPartsOutput, error) {
8329	req, out := c.ImportDocumentationPartsRequest(input)
8330	req.SetContext(ctx)
8331	req.ApplyOptions(opts...)
8332	return out, req.Send()
8333}
8334
8335const opImportRestApi = "ImportRestApi"
8336
8337// ImportRestApiRequest generates a "aws/request.Request" representing the
8338// client's request for the ImportRestApi operation. The "output" return
8339// value will be populated with the request's response once the request completes
8340// successfully.
8341//
8342// Use "Send" method on the returned Request to send the API call to the service.
8343// the "output" return value is not valid until after Send returns without error.
8344//
8345// See ImportRestApi for more information on using the ImportRestApi
8346// API call, and error handling.
8347//
8348// This method is useful when you want to inject custom logic or configuration
8349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8350//
8351//
8352//    // Example sending a request using the ImportRestApiRequest method.
8353//    req, resp := client.ImportRestApiRequest(params)
8354//
8355//    err := req.Send()
8356//    if err == nil { // resp is now filled
8357//        fmt.Println(resp)
8358//    }
8359func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *request.Request, output *RestApi) {
8360	op := &request.Operation{
8361		Name:       opImportRestApi,
8362		HTTPMethod: "POST",
8363		HTTPPath:   "/restapis?mode=import",
8364	}
8365
8366	if input == nil {
8367		input = &ImportRestApiInput{}
8368	}
8369
8370	output = &RestApi{}
8371	req = c.newRequest(op, input, output)
8372	return
8373}
8374
8375// ImportRestApi API operation for Amazon API Gateway.
8376//
8377// A feature of the API Gateway control service for creating a new API from
8378// an external API definition file.
8379//
8380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8381// with awserr.Error's Code and Message methods to get detailed information about
8382// the error.
8383//
8384// See the AWS API reference guide for Amazon API Gateway's
8385// API operation ImportRestApi for usage and error information.
8386//
8387// Returned Error Types:
8388//   * UnauthorizedException
8389//   The request is denied because the caller has insufficient permissions.
8390//
8391//   * LimitExceededException
8392//   The request exceeded the rate limit. Retry after the specified time period.
8393//
8394//   * BadRequestException
8395//   The submitted request is not valid, for example, the input is incomplete
8396//   or incorrect. See the accompanying error message for details.
8397//
8398//   * TooManyRequestsException
8399//   The request has reached its throttling limit. Retry after the specified time
8400//   period.
8401//
8402//   * ConflictException
8403//   The request configuration has conflicts. For details, see the accompanying
8404//   error message.
8405//
8406func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) {
8407	req, out := c.ImportRestApiRequest(input)
8408	return out, req.Send()
8409}
8410
8411// ImportRestApiWithContext is the same as ImportRestApi with the addition of
8412// the ability to pass a context and additional request options.
8413//
8414// See ImportRestApi for details on how to use this API operation.
8415//
8416// The context must be non-nil and will be used for request cancellation. If
8417// the context is nil a panic will occur. In the future the SDK may create
8418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8419// for more information on using Contexts.
8420func (c *APIGateway) ImportRestApiWithContext(ctx aws.Context, input *ImportRestApiInput, opts ...request.Option) (*RestApi, error) {
8421	req, out := c.ImportRestApiRequest(input)
8422	req.SetContext(ctx)
8423	req.ApplyOptions(opts...)
8424	return out, req.Send()
8425}
8426
8427const opPutGatewayResponse = "PutGatewayResponse"
8428
8429// PutGatewayResponseRequest generates a "aws/request.Request" representing the
8430// client's request for the PutGatewayResponse operation. The "output" return
8431// value will be populated with the request's response once the request completes
8432// successfully.
8433//
8434// Use "Send" method on the returned Request to send the API call to the service.
8435// the "output" return value is not valid until after Send returns without error.
8436//
8437// See PutGatewayResponse for more information on using the PutGatewayResponse
8438// API call, and error handling.
8439//
8440// This method is useful when you want to inject custom logic or configuration
8441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8442//
8443//
8444//    // Example sending a request using the PutGatewayResponseRequest method.
8445//    req, resp := client.PutGatewayResponseRequest(params)
8446//
8447//    err := req.Send()
8448//    if err == nil { // resp is now filled
8449//        fmt.Println(resp)
8450//    }
8451func (c *APIGateway) PutGatewayResponseRequest(input *PutGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
8452	op := &request.Operation{
8453		Name:       opPutGatewayResponse,
8454		HTTPMethod: "PUT",
8455		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
8456	}
8457
8458	if input == nil {
8459		input = &PutGatewayResponseInput{}
8460	}
8461
8462	output = &UpdateGatewayResponseOutput{}
8463	req = c.newRequest(op, input, output)
8464	return
8465}
8466
8467// PutGatewayResponse API operation for Amazon API Gateway.
8468//
8469// Creates a customization of a GatewayResponse of a specified response type
8470// and status code on the given RestApi.
8471//
8472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8473// with awserr.Error's Code and Message methods to get detailed information about
8474// the error.
8475//
8476// See the AWS API reference guide for Amazon API Gateway's
8477// API operation PutGatewayResponse for usage and error information.
8478//
8479// Returned Error Types:
8480//   * BadRequestException
8481//   The submitted request is not valid, for example, the input is incomplete
8482//   or incorrect. See the accompanying error message for details.
8483//
8484//   * UnauthorizedException
8485//   The request is denied because the caller has insufficient permissions.
8486//
8487//   * NotFoundException
8488//   The requested resource is not found. Make sure that the request URI is correct.
8489//
8490//   * LimitExceededException
8491//   The request exceeded the rate limit. Retry after the specified time period.
8492//
8493//   * TooManyRequestsException
8494//   The request has reached its throttling limit. Retry after the specified time
8495//   period.
8496//
8497func (c *APIGateway) PutGatewayResponse(input *PutGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
8498	req, out := c.PutGatewayResponseRequest(input)
8499	return out, req.Send()
8500}
8501
8502// PutGatewayResponseWithContext is the same as PutGatewayResponse with the addition of
8503// the ability to pass a context and additional request options.
8504//
8505// See PutGatewayResponse for details on how to use this API operation.
8506//
8507// The context must be non-nil and will be used for request cancellation. If
8508// the context is nil a panic will occur. In the future the SDK may create
8509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8510// for more information on using Contexts.
8511func (c *APIGateway) PutGatewayResponseWithContext(ctx aws.Context, input *PutGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
8512	req, out := c.PutGatewayResponseRequest(input)
8513	req.SetContext(ctx)
8514	req.ApplyOptions(opts...)
8515	return out, req.Send()
8516}
8517
8518const opPutIntegration = "PutIntegration"
8519
8520// PutIntegrationRequest generates a "aws/request.Request" representing the
8521// client's request for the PutIntegration operation. The "output" return
8522// value will be populated with the request's response once the request completes
8523// successfully.
8524//
8525// Use "Send" method on the returned Request to send the API call to the service.
8526// the "output" return value is not valid until after Send returns without error.
8527//
8528// See PutIntegration for more information on using the PutIntegration
8529// API call, and error handling.
8530//
8531// This method is useful when you want to inject custom logic or configuration
8532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8533//
8534//
8535//    // Example sending a request using the PutIntegrationRequest method.
8536//    req, resp := client.PutIntegrationRequest(params)
8537//
8538//    err := req.Send()
8539//    if err == nil { // resp is now filled
8540//        fmt.Println(resp)
8541//    }
8542func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *request.Request, output *Integration) {
8543	op := &request.Operation{
8544		Name:       opPutIntegration,
8545		HTTPMethod: "PUT",
8546		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
8547	}
8548
8549	if input == nil {
8550		input = &PutIntegrationInput{}
8551	}
8552
8553	output = &Integration{}
8554	req = c.newRequest(op, input, output)
8555	return
8556}
8557
8558// PutIntegration API operation for Amazon API Gateway.
8559//
8560// Sets up a method's integration.
8561//
8562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8563// with awserr.Error's Code and Message methods to get detailed information about
8564// the error.
8565//
8566// See the AWS API reference guide for Amazon API Gateway's
8567// API operation PutIntegration for usage and error information.
8568//
8569// Returned Error Types:
8570//   * UnauthorizedException
8571//   The request is denied because the caller has insufficient permissions.
8572//
8573//   * BadRequestException
8574//   The submitted request is not valid, for example, the input is incomplete
8575//   or incorrect. See the accompanying error message for details.
8576//
8577//   * ConflictException
8578//   The request configuration has conflicts. For details, see the accompanying
8579//   error message.
8580//
8581//   * NotFoundException
8582//   The requested resource is not found. Make sure that the request URI is correct.
8583//
8584//   * TooManyRequestsException
8585//   The request has reached its throttling limit. Retry after the specified time
8586//   period.
8587//
8588func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, error) {
8589	req, out := c.PutIntegrationRequest(input)
8590	return out, req.Send()
8591}
8592
8593// PutIntegrationWithContext is the same as PutIntegration with the addition of
8594// the ability to pass a context and additional request options.
8595//
8596// See PutIntegration for details on how to use this API operation.
8597//
8598// The context must be non-nil and will be used for request cancellation. If
8599// the context is nil a panic will occur. In the future the SDK may create
8600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8601// for more information on using Contexts.
8602func (c *APIGateway) PutIntegrationWithContext(ctx aws.Context, input *PutIntegrationInput, opts ...request.Option) (*Integration, error) {
8603	req, out := c.PutIntegrationRequest(input)
8604	req.SetContext(ctx)
8605	req.ApplyOptions(opts...)
8606	return out, req.Send()
8607}
8608
8609const opPutIntegrationResponse = "PutIntegrationResponse"
8610
8611// PutIntegrationResponseRequest generates a "aws/request.Request" representing the
8612// client's request for the PutIntegrationResponse operation. The "output" return
8613// value will be populated with the request's response once the request completes
8614// successfully.
8615//
8616// Use "Send" method on the returned Request to send the API call to the service.
8617// the "output" return value is not valid until after Send returns without error.
8618//
8619// See PutIntegrationResponse for more information on using the PutIntegrationResponse
8620// API call, and error handling.
8621//
8622// This method is useful when you want to inject custom logic or configuration
8623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8624//
8625//
8626//    // Example sending a request using the PutIntegrationResponseRequest method.
8627//    req, resp := client.PutIntegrationResponseRequest(params)
8628//
8629//    err := req.Send()
8630//    if err == nil { // resp is now filled
8631//        fmt.Println(resp)
8632//    }
8633func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
8634	op := &request.Operation{
8635		Name:       opPutIntegrationResponse,
8636		HTTPMethod: "PUT",
8637		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
8638	}
8639
8640	if input == nil {
8641		input = &PutIntegrationResponseInput{}
8642	}
8643
8644	output = &IntegrationResponse{}
8645	req = c.newRequest(op, input, output)
8646	return
8647}
8648
8649// PutIntegrationResponse API operation for Amazon API Gateway.
8650//
8651// Represents a put integration.
8652//
8653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8654// with awserr.Error's Code and Message methods to get detailed information about
8655// the error.
8656//
8657// See the AWS API reference guide for Amazon API Gateway's
8658// API operation PutIntegrationResponse for usage and error information.
8659//
8660// Returned Error Types:
8661//   * UnauthorizedException
8662//   The request is denied because the caller has insufficient permissions.
8663//
8664//   * NotFoundException
8665//   The requested resource is not found. Make sure that the request URI is correct.
8666//
8667//   * LimitExceededException
8668//   The request exceeded the rate limit. Retry after the specified time period.
8669//
8670//   * BadRequestException
8671//   The submitted request is not valid, for example, the input is incomplete
8672//   or incorrect. See the accompanying error message for details.
8673//
8674//   * TooManyRequestsException
8675//   The request has reached its throttling limit. Retry after the specified time
8676//   period.
8677//
8678//   * ConflictException
8679//   The request configuration has conflicts. For details, see the accompanying
8680//   error message.
8681//
8682func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) (*IntegrationResponse, error) {
8683	req, out := c.PutIntegrationResponseRequest(input)
8684	return out, req.Send()
8685}
8686
8687// PutIntegrationResponseWithContext is the same as PutIntegrationResponse with the addition of
8688// the ability to pass a context and additional request options.
8689//
8690// See PutIntegrationResponse for details on how to use this API operation.
8691//
8692// The context must be non-nil and will be used for request cancellation. If
8693// the context is nil a panic will occur. In the future the SDK may create
8694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8695// for more information on using Contexts.
8696func (c *APIGateway) PutIntegrationResponseWithContext(ctx aws.Context, input *PutIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
8697	req, out := c.PutIntegrationResponseRequest(input)
8698	req.SetContext(ctx)
8699	req.ApplyOptions(opts...)
8700	return out, req.Send()
8701}
8702
8703const opPutMethod = "PutMethod"
8704
8705// PutMethodRequest generates a "aws/request.Request" representing the
8706// client's request for the PutMethod operation. The "output" return
8707// value will be populated with the request's response once the request completes
8708// successfully.
8709//
8710// Use "Send" method on the returned Request to send the API call to the service.
8711// the "output" return value is not valid until after Send returns without error.
8712//
8713// See PutMethod for more information on using the PutMethod
8714// API call, and error handling.
8715//
8716// This method is useful when you want to inject custom logic or configuration
8717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8718//
8719//
8720//    // Example sending a request using the PutMethodRequest method.
8721//    req, resp := client.PutMethodRequest(params)
8722//
8723//    err := req.Send()
8724//    if err == nil { // resp is now filled
8725//        fmt.Println(resp)
8726//    }
8727func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Request, output *Method) {
8728	op := &request.Operation{
8729		Name:       opPutMethod,
8730		HTTPMethod: "PUT",
8731		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
8732	}
8733
8734	if input == nil {
8735		input = &PutMethodInput{}
8736	}
8737
8738	output = &Method{}
8739	req = c.newRequest(op, input, output)
8740	return
8741}
8742
8743// PutMethod API operation for Amazon API Gateway.
8744//
8745// Add a method to an existing Resource resource.
8746//
8747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8748// with awserr.Error's Code and Message methods to get detailed information about
8749// the error.
8750//
8751// See the AWS API reference guide for Amazon API Gateway's
8752// API operation PutMethod for usage and error information.
8753//
8754// Returned Error Types:
8755//   * BadRequestException
8756//   The submitted request is not valid, for example, the input is incomplete
8757//   or incorrect. See the accompanying error message for details.
8758//
8759//   * UnauthorizedException
8760//   The request is denied because the caller has insufficient permissions.
8761//
8762//   * NotFoundException
8763//   The requested resource is not found. Make sure that the request URI is correct.
8764//
8765//   * ConflictException
8766//   The request configuration has conflicts. For details, see the accompanying
8767//   error message.
8768//
8769//   * LimitExceededException
8770//   The request exceeded the rate limit. Retry after the specified time period.
8771//
8772//   * TooManyRequestsException
8773//   The request has reached its throttling limit. Retry after the specified time
8774//   period.
8775//
8776func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) {
8777	req, out := c.PutMethodRequest(input)
8778	return out, req.Send()
8779}
8780
8781// PutMethodWithContext is the same as PutMethod with the addition of
8782// the ability to pass a context and additional request options.
8783//
8784// See PutMethod for details on how to use this API operation.
8785//
8786// The context must be non-nil and will be used for request cancellation. If
8787// the context is nil a panic will occur. In the future the SDK may create
8788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8789// for more information on using Contexts.
8790func (c *APIGateway) PutMethodWithContext(ctx aws.Context, input *PutMethodInput, opts ...request.Option) (*Method, error) {
8791	req, out := c.PutMethodRequest(input)
8792	req.SetContext(ctx)
8793	req.ApplyOptions(opts...)
8794	return out, req.Send()
8795}
8796
8797const opPutMethodResponse = "PutMethodResponse"
8798
8799// PutMethodResponseRequest generates a "aws/request.Request" representing the
8800// client's request for the PutMethodResponse operation. The "output" return
8801// value will be populated with the request's response once the request completes
8802// successfully.
8803//
8804// Use "Send" method on the returned Request to send the API call to the service.
8805// the "output" return value is not valid until after Send returns without error.
8806//
8807// See PutMethodResponse for more information on using the PutMethodResponse
8808// API call, and error handling.
8809//
8810// This method is useful when you want to inject custom logic or configuration
8811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8812//
8813//
8814//    // Example sending a request using the PutMethodResponseRequest method.
8815//    req, resp := client.PutMethodResponseRequest(params)
8816//
8817//    err := req.Send()
8818//    if err == nil { // resp is now filled
8819//        fmt.Println(resp)
8820//    }
8821func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (req *request.Request, output *MethodResponse) {
8822	op := &request.Operation{
8823		Name:       opPutMethodResponse,
8824		HTTPMethod: "PUT",
8825		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
8826	}
8827
8828	if input == nil {
8829		input = &PutMethodResponseInput{}
8830	}
8831
8832	output = &MethodResponse{}
8833	req = c.newRequest(op, input, output)
8834	return
8835}
8836
8837// PutMethodResponse API operation for Amazon API Gateway.
8838//
8839// Adds a MethodResponse to an existing Method resource.
8840//
8841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8842// with awserr.Error's Code and Message methods to get detailed information about
8843// the error.
8844//
8845// See the AWS API reference guide for Amazon API Gateway's
8846// API operation PutMethodResponse for usage and error information.
8847//
8848// Returned Error Types:
8849//   * UnauthorizedException
8850//   The request is denied because the caller has insufficient permissions.
8851//
8852//   * NotFoundException
8853//   The requested resource is not found. Make sure that the request URI is correct.
8854//
8855//   * ConflictException
8856//   The request configuration has conflicts. For details, see the accompanying
8857//   error message.
8858//
8859//   * LimitExceededException
8860//   The request exceeded the rate limit. Retry after the specified time period.
8861//
8862//   * BadRequestException
8863//   The submitted request is not valid, for example, the input is incomplete
8864//   or incorrect. See the accompanying error message for details.
8865//
8866//   * TooManyRequestsException
8867//   The request has reached its throttling limit. Retry after the specified time
8868//   period.
8869//
8870func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodResponse, error) {
8871	req, out := c.PutMethodResponseRequest(input)
8872	return out, req.Send()
8873}
8874
8875// PutMethodResponseWithContext is the same as PutMethodResponse with the addition of
8876// the ability to pass a context and additional request options.
8877//
8878// See PutMethodResponse for details on how to use this API operation.
8879//
8880// The context must be non-nil and will be used for request cancellation. If
8881// the context is nil a panic will occur. In the future the SDK may create
8882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8883// for more information on using Contexts.
8884func (c *APIGateway) PutMethodResponseWithContext(ctx aws.Context, input *PutMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
8885	req, out := c.PutMethodResponseRequest(input)
8886	req.SetContext(ctx)
8887	req.ApplyOptions(opts...)
8888	return out, req.Send()
8889}
8890
8891const opPutRestApi = "PutRestApi"
8892
8893// PutRestApiRequest generates a "aws/request.Request" representing the
8894// client's request for the PutRestApi operation. The "output" return
8895// value will be populated with the request's response once the request completes
8896// successfully.
8897//
8898// Use "Send" method on the returned Request to send the API call to the service.
8899// the "output" return value is not valid until after Send returns without error.
8900//
8901// See PutRestApi for more information on using the PutRestApi
8902// API call, and error handling.
8903//
8904// This method is useful when you want to inject custom logic or configuration
8905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8906//
8907//
8908//    // Example sending a request using the PutRestApiRequest method.
8909//    req, resp := client.PutRestApiRequest(params)
8910//
8911//    err := req.Send()
8912//    if err == nil { // resp is now filled
8913//        fmt.Println(resp)
8914//    }
8915func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Request, output *RestApi) {
8916	op := &request.Operation{
8917		Name:       opPutRestApi,
8918		HTTPMethod: "PUT",
8919		HTTPPath:   "/restapis/{restapi_id}",
8920	}
8921
8922	if input == nil {
8923		input = &PutRestApiInput{}
8924	}
8925
8926	output = &RestApi{}
8927	req = c.newRequest(op, input, output)
8928	return
8929}
8930
8931// PutRestApi API operation for Amazon API Gateway.
8932//
8933// A feature of the API Gateway control service for updating an existing API
8934// with an input of external API definitions. The update can take the form of
8935// merging the supplied definition into the existing API or overwriting the
8936// existing API.
8937//
8938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8939// with awserr.Error's Code and Message methods to get detailed information about
8940// the error.
8941//
8942// See the AWS API reference guide for Amazon API Gateway's
8943// API operation PutRestApi for usage and error information.
8944//
8945// Returned Error Types:
8946//   * UnauthorizedException
8947//   The request is denied because the caller has insufficient permissions.
8948//
8949//   * LimitExceededException
8950//   The request exceeded the rate limit. Retry after the specified time period.
8951//
8952//   * NotFoundException
8953//   The requested resource is not found. Make sure that the request URI is correct.
8954//
8955//   * BadRequestException
8956//   The submitted request is not valid, for example, the input is incomplete
8957//   or incorrect. See the accompanying error message for details.
8958//
8959//   * TooManyRequestsException
8960//   The request has reached its throttling limit. Retry after the specified time
8961//   period.
8962//
8963//   * ConflictException
8964//   The request configuration has conflicts. For details, see the accompanying
8965//   error message.
8966//
8967func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) {
8968	req, out := c.PutRestApiRequest(input)
8969	return out, req.Send()
8970}
8971
8972// PutRestApiWithContext is the same as PutRestApi with the addition of
8973// the ability to pass a context and additional request options.
8974//
8975// See PutRestApi for details on how to use this API operation.
8976//
8977// The context must be non-nil and will be used for request cancellation. If
8978// the context is nil a panic will occur. In the future the SDK may create
8979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8980// for more information on using Contexts.
8981func (c *APIGateway) PutRestApiWithContext(ctx aws.Context, input *PutRestApiInput, opts ...request.Option) (*RestApi, error) {
8982	req, out := c.PutRestApiRequest(input)
8983	req.SetContext(ctx)
8984	req.ApplyOptions(opts...)
8985	return out, req.Send()
8986}
8987
8988const opTagResource = "TagResource"
8989
8990// TagResourceRequest generates a "aws/request.Request" representing the
8991// client's request for the TagResource operation. The "output" return
8992// value will be populated with the request's response once the request completes
8993// successfully.
8994//
8995// Use "Send" method on the returned Request to send the API call to the service.
8996// the "output" return value is not valid until after Send returns without error.
8997//
8998// See TagResource for more information on using the TagResource
8999// API call, and error handling.
9000//
9001// This method is useful when you want to inject custom logic or configuration
9002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9003//
9004//
9005//    // Example sending a request using the TagResourceRequest method.
9006//    req, resp := client.TagResourceRequest(params)
9007//
9008//    err := req.Send()
9009//    if err == nil { // resp is now filled
9010//        fmt.Println(resp)
9011//    }
9012func (c *APIGateway) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
9013	op := &request.Operation{
9014		Name:       opTagResource,
9015		HTTPMethod: "PUT",
9016		HTTPPath:   "/tags/{resource_arn}",
9017	}
9018
9019	if input == nil {
9020		input = &TagResourceInput{}
9021	}
9022
9023	output = &TagResourceOutput{}
9024	req = c.newRequest(op, input, output)
9025	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9026	return
9027}
9028
9029// TagResource API operation for Amazon API Gateway.
9030//
9031// Adds or updates a tag on a given resource.
9032//
9033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9034// with awserr.Error's Code and Message methods to get detailed information about
9035// the error.
9036//
9037// See the AWS API reference guide for Amazon API Gateway's
9038// API operation TagResource for usage and error information.
9039//
9040// Returned Error Types:
9041//   * BadRequestException
9042//   The submitted request is not valid, for example, the input is incomplete
9043//   or incorrect. See the accompanying error message for details.
9044//
9045//   * UnauthorizedException
9046//   The request is denied because the caller has insufficient permissions.
9047//
9048//   * TooManyRequestsException
9049//   The request has reached its throttling limit. Retry after the specified time
9050//   period.
9051//
9052//   * NotFoundException
9053//   The requested resource is not found. Make sure that the request URI is correct.
9054//
9055//   * LimitExceededException
9056//   The request exceeded the rate limit. Retry after the specified time period.
9057//
9058//   * ConflictException
9059//   The request configuration has conflicts. For details, see the accompanying
9060//   error message.
9061//
9062func (c *APIGateway) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
9063	req, out := c.TagResourceRequest(input)
9064	return out, req.Send()
9065}
9066
9067// TagResourceWithContext is the same as TagResource with the addition of
9068// the ability to pass a context and additional request options.
9069//
9070// See TagResource for details on how to use this API operation.
9071//
9072// The context must be non-nil and will be used for request cancellation. If
9073// the context is nil a panic will occur. In the future the SDK may create
9074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9075// for more information on using Contexts.
9076func (c *APIGateway) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
9077	req, out := c.TagResourceRequest(input)
9078	req.SetContext(ctx)
9079	req.ApplyOptions(opts...)
9080	return out, req.Send()
9081}
9082
9083const opTestInvokeAuthorizer = "TestInvokeAuthorizer"
9084
9085// TestInvokeAuthorizerRequest generates a "aws/request.Request" representing the
9086// client's request for the TestInvokeAuthorizer operation. The "output" return
9087// value will be populated with the request's response once the request completes
9088// successfully.
9089//
9090// Use "Send" method on the returned Request to send the API call to the service.
9091// the "output" return value is not valid until after Send returns without error.
9092//
9093// See TestInvokeAuthorizer for more information on using the TestInvokeAuthorizer
9094// API call, and error handling.
9095//
9096// This method is useful when you want to inject custom logic or configuration
9097// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9098//
9099//
9100//    // Example sending a request using the TestInvokeAuthorizerRequest method.
9101//    req, resp := client.TestInvokeAuthorizerRequest(params)
9102//
9103//    err := req.Send()
9104//    if err == nil { // resp is now filled
9105//        fmt.Println(resp)
9106//    }
9107func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInput) (req *request.Request, output *TestInvokeAuthorizerOutput) {
9108	op := &request.Operation{
9109		Name:       opTestInvokeAuthorizer,
9110		HTTPMethod: "POST",
9111		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
9112	}
9113
9114	if input == nil {
9115		input = &TestInvokeAuthorizerInput{}
9116	}
9117
9118	output = &TestInvokeAuthorizerOutput{}
9119	req = c.newRequest(op, input, output)
9120	return
9121}
9122
9123// TestInvokeAuthorizer API operation for Amazon API Gateway.
9124//
9125// Simulate the execution of an Authorizer in your RestApi with headers, parameters,
9126// and an incoming request body.
9127//
9128// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
9129// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
9130//
9131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9132// with awserr.Error's Code and Message methods to get detailed information about
9133// the error.
9134//
9135// See the AWS API reference guide for Amazon API Gateway's
9136// API operation TestInvokeAuthorizer for usage and error information.
9137//
9138// Returned Error Types:
9139//   * BadRequestException
9140//   The submitted request is not valid, for example, the input is incomplete
9141//   or incorrect. See the accompanying error message for details.
9142//
9143//   * UnauthorizedException
9144//   The request is denied because the caller has insufficient permissions.
9145//
9146//   * NotFoundException
9147//   The requested resource is not found. Make sure that the request URI is correct.
9148//
9149//   * TooManyRequestsException
9150//   The request has reached its throttling limit. Retry after the specified time
9151//   period.
9152//
9153func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error) {
9154	req, out := c.TestInvokeAuthorizerRequest(input)
9155	return out, req.Send()
9156}
9157
9158// TestInvokeAuthorizerWithContext is the same as TestInvokeAuthorizer with the addition of
9159// the ability to pass a context and additional request options.
9160//
9161// See TestInvokeAuthorizer for details on how to use this API operation.
9162//
9163// The context must be non-nil and will be used for request cancellation. If
9164// the context is nil a panic will occur. In the future the SDK may create
9165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9166// for more information on using Contexts.
9167func (c *APIGateway) TestInvokeAuthorizerWithContext(ctx aws.Context, input *TestInvokeAuthorizerInput, opts ...request.Option) (*TestInvokeAuthorizerOutput, error) {
9168	req, out := c.TestInvokeAuthorizerRequest(input)
9169	req.SetContext(ctx)
9170	req.ApplyOptions(opts...)
9171	return out, req.Send()
9172}
9173
9174const opTestInvokeMethod = "TestInvokeMethod"
9175
9176// TestInvokeMethodRequest generates a "aws/request.Request" representing the
9177// client's request for the TestInvokeMethod operation. The "output" return
9178// value will be populated with the request's response once the request completes
9179// successfully.
9180//
9181// Use "Send" method on the returned Request to send the API call to the service.
9182// the "output" return value is not valid until after Send returns without error.
9183//
9184// See TestInvokeMethod for more information on using the TestInvokeMethod
9185// API call, and error handling.
9186//
9187// This method is useful when you want to inject custom logic or configuration
9188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9189//
9190//
9191//    // Example sending a request using the TestInvokeMethodRequest method.
9192//    req, resp := client.TestInvokeMethodRequest(params)
9193//
9194//    err := req.Send()
9195//    if err == nil { // resp is now filled
9196//        fmt.Println(resp)
9197//    }
9198func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req *request.Request, output *TestInvokeMethodOutput) {
9199	op := &request.Operation{
9200		Name:       opTestInvokeMethod,
9201		HTTPMethod: "POST",
9202		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
9203	}
9204
9205	if input == nil {
9206		input = &TestInvokeMethodInput{}
9207	}
9208
9209	output = &TestInvokeMethodOutput{}
9210	req = c.newRequest(op, input, output)
9211	return
9212}
9213
9214// TestInvokeMethod API operation for Amazon API Gateway.
9215//
9216// Simulate the execution of a Method in your RestApi with headers, parameters,
9217// and an incoming request body.
9218//
9219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9220// with awserr.Error's Code and Message methods to get detailed information about
9221// the error.
9222//
9223// See the AWS API reference guide for Amazon API Gateway's
9224// API operation TestInvokeMethod for usage and error information.
9225//
9226// Returned Error Types:
9227//   * BadRequestException
9228//   The submitted request is not valid, for example, the input is incomplete
9229//   or incorrect. See the accompanying error message for details.
9230//
9231//   * UnauthorizedException
9232//   The request is denied because the caller has insufficient permissions.
9233//
9234//   * NotFoundException
9235//   The requested resource is not found. Make sure that the request URI is correct.
9236//
9237//   * TooManyRequestsException
9238//   The request has reached its throttling limit. Retry after the specified time
9239//   period.
9240//
9241func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvokeMethodOutput, error) {
9242	req, out := c.TestInvokeMethodRequest(input)
9243	return out, req.Send()
9244}
9245
9246// TestInvokeMethodWithContext is the same as TestInvokeMethod with the addition of
9247// the ability to pass a context and additional request options.
9248//
9249// See TestInvokeMethod for details on how to use this API operation.
9250//
9251// The context must be non-nil and will be used for request cancellation. If
9252// the context is nil a panic will occur. In the future the SDK may create
9253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9254// for more information on using Contexts.
9255func (c *APIGateway) TestInvokeMethodWithContext(ctx aws.Context, input *TestInvokeMethodInput, opts ...request.Option) (*TestInvokeMethodOutput, error) {
9256	req, out := c.TestInvokeMethodRequest(input)
9257	req.SetContext(ctx)
9258	req.ApplyOptions(opts...)
9259	return out, req.Send()
9260}
9261
9262const opUntagResource = "UntagResource"
9263
9264// UntagResourceRequest generates a "aws/request.Request" representing the
9265// client's request for the UntagResource operation. The "output" return
9266// value will be populated with the request's response once the request completes
9267// successfully.
9268//
9269// Use "Send" method on the returned Request to send the API call to the service.
9270// the "output" return value is not valid until after Send returns without error.
9271//
9272// See UntagResource for more information on using the UntagResource
9273// API call, and error handling.
9274//
9275// This method is useful when you want to inject custom logic or configuration
9276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9277//
9278//
9279//    // Example sending a request using the UntagResourceRequest method.
9280//    req, resp := client.UntagResourceRequest(params)
9281//
9282//    err := req.Send()
9283//    if err == nil { // resp is now filled
9284//        fmt.Println(resp)
9285//    }
9286func (c *APIGateway) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
9287	op := &request.Operation{
9288		Name:       opUntagResource,
9289		HTTPMethod: "DELETE",
9290		HTTPPath:   "/tags/{resource_arn}",
9291	}
9292
9293	if input == nil {
9294		input = &UntagResourceInput{}
9295	}
9296
9297	output = &UntagResourceOutput{}
9298	req = c.newRequest(op, input, output)
9299	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9300	return
9301}
9302
9303// UntagResource API operation for Amazon API Gateway.
9304//
9305// Removes a tag from a given resource.
9306//
9307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9308// with awserr.Error's Code and Message methods to get detailed information about
9309// the error.
9310//
9311// See the AWS API reference guide for Amazon API Gateway's
9312// API operation UntagResource for usage and error information.
9313//
9314// Returned Error Types:
9315//   * BadRequestException
9316//   The submitted request is not valid, for example, the input is incomplete
9317//   or incorrect. See the accompanying error message for details.
9318//
9319//   * UnauthorizedException
9320//   The request is denied because the caller has insufficient permissions.
9321//
9322//   * TooManyRequestsException
9323//   The request has reached its throttling limit. Retry after the specified time
9324//   period.
9325//
9326//   * NotFoundException
9327//   The requested resource is not found. Make sure that the request URI is correct.
9328//
9329//   * ConflictException
9330//   The request configuration has conflicts. For details, see the accompanying
9331//   error message.
9332//
9333func (c *APIGateway) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
9334	req, out := c.UntagResourceRequest(input)
9335	return out, req.Send()
9336}
9337
9338// UntagResourceWithContext is the same as UntagResource with the addition of
9339// the ability to pass a context and additional request options.
9340//
9341// See UntagResource for details on how to use this API operation.
9342//
9343// The context must be non-nil and will be used for request cancellation. If
9344// the context is nil a panic will occur. In the future the SDK may create
9345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9346// for more information on using Contexts.
9347func (c *APIGateway) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
9348	req, out := c.UntagResourceRequest(input)
9349	req.SetContext(ctx)
9350	req.ApplyOptions(opts...)
9351	return out, req.Send()
9352}
9353
9354const opUpdateAccount = "UpdateAccount"
9355
9356// UpdateAccountRequest generates a "aws/request.Request" representing the
9357// client's request for the UpdateAccount operation. The "output" return
9358// value will be populated with the request's response once the request completes
9359// successfully.
9360//
9361// Use "Send" method on the returned Request to send the API call to the service.
9362// the "output" return value is not valid until after Send returns without error.
9363//
9364// See UpdateAccount for more information on using the UpdateAccount
9365// API call, and error handling.
9366//
9367// This method is useful when you want to inject custom logic or configuration
9368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9369//
9370//
9371//    // Example sending a request using the UpdateAccountRequest method.
9372//    req, resp := client.UpdateAccountRequest(params)
9373//
9374//    err := req.Send()
9375//    if err == nil { // resp is now filled
9376//        fmt.Println(resp)
9377//    }
9378func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *request.Request, output *Account) {
9379	op := &request.Operation{
9380		Name:       opUpdateAccount,
9381		HTTPMethod: "PATCH",
9382		HTTPPath:   "/account",
9383	}
9384
9385	if input == nil {
9386		input = &UpdateAccountInput{}
9387	}
9388
9389	output = &Account{}
9390	req = c.newRequest(op, input, output)
9391	return
9392}
9393
9394// UpdateAccount API operation for Amazon API Gateway.
9395//
9396// Changes information about the current Account resource.
9397//
9398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9399// with awserr.Error's Code and Message methods to get detailed information about
9400// the error.
9401//
9402// See the AWS API reference guide for Amazon API Gateway's
9403// API operation UpdateAccount for usage and error information.
9404//
9405// Returned Error Types:
9406//   * UnauthorizedException
9407//   The request is denied because the caller has insufficient permissions.
9408//
9409//   * BadRequestException
9410//   The submitted request is not valid, for example, the input is incomplete
9411//   or incorrect. See the accompanying error message for details.
9412//
9413//   * NotFoundException
9414//   The requested resource is not found. Make sure that the request URI is correct.
9415//
9416//   * TooManyRequestsException
9417//   The request has reached its throttling limit. Retry after the specified time
9418//   period.
9419//
9420func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) {
9421	req, out := c.UpdateAccountRequest(input)
9422	return out, req.Send()
9423}
9424
9425// UpdateAccountWithContext is the same as UpdateAccount with the addition of
9426// the ability to pass a context and additional request options.
9427//
9428// See UpdateAccount for details on how to use this API operation.
9429//
9430// The context must be non-nil and will be used for request cancellation. If
9431// the context is nil a panic will occur. In the future the SDK may create
9432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9433// for more information on using Contexts.
9434func (c *APIGateway) UpdateAccountWithContext(ctx aws.Context, input *UpdateAccountInput, opts ...request.Option) (*Account, error) {
9435	req, out := c.UpdateAccountRequest(input)
9436	req.SetContext(ctx)
9437	req.ApplyOptions(opts...)
9438	return out, req.Send()
9439}
9440
9441const opUpdateApiKey = "UpdateApiKey"
9442
9443// UpdateApiKeyRequest generates a "aws/request.Request" representing the
9444// client's request for the UpdateApiKey operation. The "output" return
9445// value will be populated with the request's response once the request completes
9446// successfully.
9447//
9448// Use "Send" method on the returned Request to send the API call to the service.
9449// the "output" return value is not valid until after Send returns without error.
9450//
9451// See UpdateApiKey for more information on using the UpdateApiKey
9452// API call, and error handling.
9453//
9454// This method is useful when you want to inject custom logic or configuration
9455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9456//
9457//
9458//    // Example sending a request using the UpdateApiKeyRequest method.
9459//    req, resp := client.UpdateApiKeyRequest(params)
9460//
9461//    err := req.Send()
9462//    if err == nil { // resp is now filled
9463//        fmt.Println(resp)
9464//    }
9465func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *ApiKey) {
9466	op := &request.Operation{
9467		Name:       opUpdateApiKey,
9468		HTTPMethod: "PATCH",
9469		HTTPPath:   "/apikeys/{api_Key}",
9470	}
9471
9472	if input == nil {
9473		input = &UpdateApiKeyInput{}
9474	}
9475
9476	output = &ApiKey{}
9477	req = c.newRequest(op, input, output)
9478	return
9479}
9480
9481// UpdateApiKey API operation for Amazon API Gateway.
9482//
9483// Changes information about an ApiKey resource.
9484//
9485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9486// with awserr.Error's Code and Message methods to get detailed information about
9487// the error.
9488//
9489// See the AWS API reference guide for Amazon API Gateway's
9490// API operation UpdateApiKey for usage and error information.
9491//
9492// Returned Error Types:
9493//   * UnauthorizedException
9494//   The request is denied because the caller has insufficient permissions.
9495//
9496//   * NotFoundException
9497//   The requested resource is not found. Make sure that the request URI is correct.
9498//
9499//   * BadRequestException
9500//   The submitted request is not valid, for example, the input is incomplete
9501//   or incorrect. See the accompanying error message for details.
9502//
9503//   * TooManyRequestsException
9504//   The request has reached its throttling limit. Retry after the specified time
9505//   period.
9506//
9507//   * ConflictException
9508//   The request configuration has conflicts. For details, see the accompanying
9509//   error message.
9510//
9511func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) {
9512	req, out := c.UpdateApiKeyRequest(input)
9513	return out, req.Send()
9514}
9515
9516// UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
9517// the ability to pass a context and additional request options.
9518//
9519// See UpdateApiKey for details on how to use this API operation.
9520//
9521// The context must be non-nil and will be used for request cancellation. If
9522// the context is nil a panic will occur. In the future the SDK may create
9523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9524// for more information on using Contexts.
9525func (c *APIGateway) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*ApiKey, error) {
9526	req, out := c.UpdateApiKeyRequest(input)
9527	req.SetContext(ctx)
9528	req.ApplyOptions(opts...)
9529	return out, req.Send()
9530}
9531
9532const opUpdateAuthorizer = "UpdateAuthorizer"
9533
9534// UpdateAuthorizerRequest generates a "aws/request.Request" representing the
9535// client's request for the UpdateAuthorizer operation. The "output" return
9536// value will be populated with the request's response once the request completes
9537// successfully.
9538//
9539// Use "Send" method on the returned Request to send the API call to the service.
9540// the "output" return value is not valid until after Send returns without error.
9541//
9542// See UpdateAuthorizer for more information on using the UpdateAuthorizer
9543// API call, and error handling.
9544//
9545// This method is useful when you want to inject custom logic or configuration
9546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9547//
9548//
9549//    // Example sending a request using the UpdateAuthorizerRequest method.
9550//    req, resp := client.UpdateAuthorizerRequest(params)
9551//
9552//    err := req.Send()
9553//    if err == nil { // resp is now filled
9554//        fmt.Println(resp)
9555//    }
9556func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *Authorizer) {
9557	op := &request.Operation{
9558		Name:       opUpdateAuthorizer,
9559		HTTPMethod: "PATCH",
9560		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
9561	}
9562
9563	if input == nil {
9564		input = &UpdateAuthorizerInput{}
9565	}
9566
9567	output = &Authorizer{}
9568	req = c.newRequest(op, input, output)
9569	return
9570}
9571
9572// UpdateAuthorizer API operation for Amazon API Gateway.
9573//
9574// Updates an existing Authorizer resource.
9575//
9576// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-authorizer.html)
9577//
9578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9579// with awserr.Error's Code and Message methods to get detailed information about
9580// the error.
9581//
9582// See the AWS API reference guide for Amazon API Gateway's
9583// API operation UpdateAuthorizer for usage and error information.
9584//
9585// Returned Error Types:
9586//   * UnauthorizedException
9587//   The request is denied because the caller has insufficient permissions.
9588//
9589//   * NotFoundException
9590//   The requested resource is not found. Make sure that the request URI is correct.
9591//
9592//   * BadRequestException
9593//   The submitted request is not valid, for example, the input is incomplete
9594//   or incorrect. See the accompanying error message for details.
9595//
9596//   * TooManyRequestsException
9597//   The request has reached its throttling limit. Retry after the specified time
9598//   period.
9599//
9600func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer, error) {
9601	req, out := c.UpdateAuthorizerRequest(input)
9602	return out, req.Send()
9603}
9604
9605// UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of
9606// the ability to pass a context and additional request options.
9607//
9608// See UpdateAuthorizer for details on how to use this API operation.
9609//
9610// The context must be non-nil and will be used for request cancellation. If
9611// the context is nil a panic will occur. In the future the SDK may create
9612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9613// for more information on using Contexts.
9614func (c *APIGateway) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
9615	req, out := c.UpdateAuthorizerRequest(input)
9616	req.SetContext(ctx)
9617	req.ApplyOptions(opts...)
9618	return out, req.Send()
9619}
9620
9621const opUpdateBasePathMapping = "UpdateBasePathMapping"
9622
9623// UpdateBasePathMappingRequest generates a "aws/request.Request" representing the
9624// client's request for the UpdateBasePathMapping operation. The "output" return
9625// value will be populated with the request's response once the request completes
9626// successfully.
9627//
9628// Use "Send" method on the returned Request to send the API call to the service.
9629// the "output" return value is not valid until after Send returns without error.
9630//
9631// See UpdateBasePathMapping for more information on using the UpdateBasePathMapping
9632// API call, and error handling.
9633//
9634// This method is useful when you want to inject custom logic or configuration
9635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9636//
9637//
9638//    // Example sending a request using the UpdateBasePathMappingRequest method.
9639//    req, resp := client.UpdateBasePathMappingRequest(params)
9640//
9641//    err := req.Send()
9642//    if err == nil { // resp is now filled
9643//        fmt.Println(resp)
9644//    }
9645func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
9646	op := &request.Operation{
9647		Name:       opUpdateBasePathMapping,
9648		HTTPMethod: "PATCH",
9649		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
9650	}
9651
9652	if input == nil {
9653		input = &UpdateBasePathMappingInput{}
9654	}
9655
9656	output = &BasePathMapping{}
9657	req = c.newRequest(op, input, output)
9658	return
9659}
9660
9661// UpdateBasePathMapping API operation for Amazon API Gateway.
9662//
9663// Changes information about the BasePathMapping resource.
9664//
9665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9666// with awserr.Error's Code and Message methods to get detailed information about
9667// the error.
9668//
9669// See the AWS API reference guide for Amazon API Gateway's
9670// API operation UpdateBasePathMapping for usage and error information.
9671//
9672// Returned Error Types:
9673//   * UnauthorizedException
9674//   The request is denied because the caller has insufficient permissions.
9675//
9676//   * NotFoundException
9677//   The requested resource is not found. Make sure that the request URI is correct.
9678//
9679//   * ConflictException
9680//   The request configuration has conflicts. For details, see the accompanying
9681//   error message.
9682//
9683//   * BadRequestException
9684//   The submitted request is not valid, for example, the input is incomplete
9685//   or incorrect. See the accompanying error message for details.
9686//
9687//   * TooManyRequestsException
9688//   The request has reached its throttling limit. Retry after the specified time
9689//   period.
9690//
9691func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (*BasePathMapping, error) {
9692	req, out := c.UpdateBasePathMappingRequest(input)
9693	return out, req.Send()
9694}
9695
9696// UpdateBasePathMappingWithContext is the same as UpdateBasePathMapping with the addition of
9697// the ability to pass a context and additional request options.
9698//
9699// See UpdateBasePathMapping for details on how to use this API operation.
9700//
9701// The context must be non-nil and will be used for request cancellation. If
9702// the context is nil a panic will occur. In the future the SDK may create
9703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9704// for more information on using Contexts.
9705func (c *APIGateway) UpdateBasePathMappingWithContext(ctx aws.Context, input *UpdateBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
9706	req, out := c.UpdateBasePathMappingRequest(input)
9707	req.SetContext(ctx)
9708	req.ApplyOptions(opts...)
9709	return out, req.Send()
9710}
9711
9712const opUpdateClientCertificate = "UpdateClientCertificate"
9713
9714// UpdateClientCertificateRequest generates a "aws/request.Request" representing the
9715// client's request for the UpdateClientCertificate operation. The "output" return
9716// value will be populated with the request's response once the request completes
9717// successfully.
9718//
9719// Use "Send" method on the returned Request to send the API call to the service.
9720// the "output" return value is not valid until after Send returns without error.
9721//
9722// See UpdateClientCertificate for more information on using the UpdateClientCertificate
9723// API call, and error handling.
9724//
9725// This method is useful when you want to inject custom logic or configuration
9726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9727//
9728//
9729//    // Example sending a request using the UpdateClientCertificateRequest method.
9730//    req, resp := client.UpdateClientCertificateRequest(params)
9731//
9732//    err := req.Send()
9733//    if err == nil { // resp is now filled
9734//        fmt.Println(resp)
9735//    }
9736func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertificateInput) (req *request.Request, output *ClientCertificate) {
9737	op := &request.Operation{
9738		Name:       opUpdateClientCertificate,
9739		HTTPMethod: "PATCH",
9740		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
9741	}
9742
9743	if input == nil {
9744		input = &UpdateClientCertificateInput{}
9745	}
9746
9747	output = &ClientCertificate{}
9748	req = c.newRequest(op, input, output)
9749	return
9750}
9751
9752// UpdateClientCertificate API operation for Amazon API Gateway.
9753//
9754// Changes information about an ClientCertificate resource.
9755//
9756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9757// with awserr.Error's Code and Message methods to get detailed information about
9758// the error.
9759//
9760// See the AWS API reference guide for Amazon API Gateway's
9761// API operation UpdateClientCertificate for usage and error information.
9762//
9763// Returned Error Types:
9764//   * UnauthorizedException
9765//   The request is denied because the caller has insufficient permissions.
9766//
9767//   * TooManyRequestsException
9768//   The request has reached its throttling limit. Retry after the specified time
9769//   period.
9770//
9771//   * BadRequestException
9772//   The submitted request is not valid, for example, the input is incomplete
9773//   or incorrect. See the accompanying error message for details.
9774//
9775//   * NotFoundException
9776//   The requested resource is not found. Make sure that the request URI is correct.
9777//
9778func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput) (*ClientCertificate, error) {
9779	req, out := c.UpdateClientCertificateRequest(input)
9780	return out, req.Send()
9781}
9782
9783// UpdateClientCertificateWithContext is the same as UpdateClientCertificate with the addition of
9784// the ability to pass a context and additional request options.
9785//
9786// See UpdateClientCertificate for details on how to use this API operation.
9787//
9788// The context must be non-nil and will be used for request cancellation. If
9789// the context is nil a panic will occur. In the future the SDK may create
9790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9791// for more information on using Contexts.
9792func (c *APIGateway) UpdateClientCertificateWithContext(ctx aws.Context, input *UpdateClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
9793	req, out := c.UpdateClientCertificateRequest(input)
9794	req.SetContext(ctx)
9795	req.ApplyOptions(opts...)
9796	return out, req.Send()
9797}
9798
9799const opUpdateDeployment = "UpdateDeployment"
9800
9801// UpdateDeploymentRequest generates a "aws/request.Request" representing the
9802// client's request for the UpdateDeployment operation. The "output" return
9803// value will be populated with the request's response once the request completes
9804// successfully.
9805//
9806// Use "Send" method on the returned Request to send the API call to the service.
9807// the "output" return value is not valid until after Send returns without error.
9808//
9809// See UpdateDeployment for more information on using the UpdateDeployment
9810// API call, and error handling.
9811//
9812// This method is useful when you want to inject custom logic or configuration
9813// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9814//
9815//
9816//    // Example sending a request using the UpdateDeploymentRequest method.
9817//    req, resp := client.UpdateDeploymentRequest(params)
9818//
9819//    err := req.Send()
9820//    if err == nil { // resp is now filled
9821//        fmt.Println(resp)
9822//    }
9823func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *Deployment) {
9824	op := &request.Operation{
9825		Name:       opUpdateDeployment,
9826		HTTPMethod: "PATCH",
9827		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
9828	}
9829
9830	if input == nil {
9831		input = &UpdateDeploymentInput{}
9832	}
9833
9834	output = &Deployment{}
9835	req = c.newRequest(op, input, output)
9836	return
9837}
9838
9839// UpdateDeployment API operation for Amazon API Gateway.
9840//
9841// Changes information about a Deployment resource.
9842//
9843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9844// with awserr.Error's Code and Message methods to get detailed information about
9845// the error.
9846//
9847// See the AWS API reference guide for Amazon API Gateway's
9848// API operation UpdateDeployment for usage and error information.
9849//
9850// Returned Error Types:
9851//   * UnauthorizedException
9852//   The request is denied because the caller has insufficient permissions.
9853//
9854//   * NotFoundException
9855//   The requested resource is not found. Make sure that the request URI is correct.
9856//
9857//   * BadRequestException
9858//   The submitted request is not valid, for example, the input is incomplete
9859//   or incorrect. See the accompanying error message for details.
9860//
9861//   * TooManyRequestsException
9862//   The request has reached its throttling limit. Retry after the specified time
9863//   period.
9864//
9865//   * ServiceUnavailableException
9866//   The requested service is not available. For details see the accompanying
9867//   error message. Retry after the specified time period.
9868//
9869func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment, error) {
9870	req, out := c.UpdateDeploymentRequest(input)
9871	return out, req.Send()
9872}
9873
9874// UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of
9875// the ability to pass a context and additional request options.
9876//
9877// See UpdateDeployment for details on how to use this API operation.
9878//
9879// The context must be non-nil and will be used for request cancellation. If
9880// the context is nil a panic will occur. In the future the SDK may create
9881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9882// for more information on using Contexts.
9883func (c *APIGateway) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*Deployment, error) {
9884	req, out := c.UpdateDeploymentRequest(input)
9885	req.SetContext(ctx)
9886	req.ApplyOptions(opts...)
9887	return out, req.Send()
9888}
9889
9890const opUpdateDocumentationPart = "UpdateDocumentationPart"
9891
9892// UpdateDocumentationPartRequest generates a "aws/request.Request" representing the
9893// client's request for the UpdateDocumentationPart operation. The "output" return
9894// value will be populated with the request's response once the request completes
9895// successfully.
9896//
9897// Use "Send" method on the returned Request to send the API call to the service.
9898// the "output" return value is not valid until after Send returns without error.
9899//
9900// See UpdateDocumentationPart for more information on using the UpdateDocumentationPart
9901// API call, and error handling.
9902//
9903// This method is useful when you want to inject custom logic or configuration
9904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9905//
9906//
9907//    // Example sending a request using the UpdateDocumentationPartRequest method.
9908//    req, resp := client.UpdateDocumentationPartRequest(params)
9909//
9910//    err := req.Send()
9911//    if err == nil { // resp is now filled
9912//        fmt.Println(resp)
9913//    }
9914func (c *APIGateway) UpdateDocumentationPartRequest(input *UpdateDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
9915	op := &request.Operation{
9916		Name:       opUpdateDocumentationPart,
9917		HTTPMethod: "PATCH",
9918		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
9919	}
9920
9921	if input == nil {
9922		input = &UpdateDocumentationPartInput{}
9923	}
9924
9925	output = &DocumentationPart{}
9926	req = c.newRequest(op, input, output)
9927	return
9928}
9929
9930// UpdateDocumentationPart API operation for Amazon API Gateway.
9931//
9932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9933// with awserr.Error's Code and Message methods to get detailed information about
9934// the error.
9935//
9936// See the AWS API reference guide for Amazon API Gateway's
9937// API operation UpdateDocumentationPart for usage and error information.
9938//
9939// Returned Error Types:
9940//   * BadRequestException
9941//   The submitted request is not valid, for example, the input is incomplete
9942//   or incorrect. See the accompanying error message for details.
9943//
9944//   * UnauthorizedException
9945//   The request is denied because the caller has insufficient permissions.
9946//
9947//   * NotFoundException
9948//   The requested resource is not found. Make sure that the request URI is correct.
9949//
9950//   * ConflictException
9951//   The request configuration has conflicts. For details, see the accompanying
9952//   error message.
9953//
9954//   * LimitExceededException
9955//   The request exceeded the rate limit. Retry after the specified time period.
9956//
9957//   * TooManyRequestsException
9958//   The request has reached its throttling limit. Retry after the specified time
9959//   period.
9960//
9961func (c *APIGateway) UpdateDocumentationPart(input *UpdateDocumentationPartInput) (*DocumentationPart, error) {
9962	req, out := c.UpdateDocumentationPartRequest(input)
9963	return out, req.Send()
9964}
9965
9966// UpdateDocumentationPartWithContext is the same as UpdateDocumentationPart with the addition of
9967// the ability to pass a context and additional request options.
9968//
9969// See UpdateDocumentationPart for details on how to use this API operation.
9970//
9971// The context must be non-nil and will be used for request cancellation. If
9972// the context is nil a panic will occur. In the future the SDK may create
9973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9974// for more information on using Contexts.
9975func (c *APIGateway) UpdateDocumentationPartWithContext(ctx aws.Context, input *UpdateDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
9976	req, out := c.UpdateDocumentationPartRequest(input)
9977	req.SetContext(ctx)
9978	req.ApplyOptions(opts...)
9979	return out, req.Send()
9980}
9981
9982const opUpdateDocumentationVersion = "UpdateDocumentationVersion"
9983
9984// UpdateDocumentationVersionRequest generates a "aws/request.Request" representing the
9985// client's request for the UpdateDocumentationVersion operation. The "output" return
9986// value will be populated with the request's response once the request completes
9987// successfully.
9988//
9989// Use "Send" method on the returned Request to send the API call to the service.
9990// the "output" return value is not valid until after Send returns without error.
9991//
9992// See UpdateDocumentationVersion for more information on using the UpdateDocumentationVersion
9993// API call, and error handling.
9994//
9995// This method is useful when you want to inject custom logic or configuration
9996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9997//
9998//
9999//    // Example sending a request using the UpdateDocumentationVersionRequest method.
10000//    req, resp := client.UpdateDocumentationVersionRequest(params)
10001//
10002//    err := req.Send()
10003//    if err == nil { // resp is now filled
10004//        fmt.Println(resp)
10005//    }
10006func (c *APIGateway) UpdateDocumentationVersionRequest(input *UpdateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
10007	op := &request.Operation{
10008		Name:       opUpdateDocumentationVersion,
10009		HTTPMethod: "PATCH",
10010		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
10011	}
10012
10013	if input == nil {
10014		input = &UpdateDocumentationVersionInput{}
10015	}
10016
10017	output = &DocumentationVersion{}
10018	req = c.newRequest(op, input, output)
10019	return
10020}
10021
10022// UpdateDocumentationVersion API operation for Amazon API Gateway.
10023//
10024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10025// with awserr.Error's Code and Message methods to get detailed information about
10026// the error.
10027//
10028// See the AWS API reference guide for Amazon API Gateway's
10029// API operation UpdateDocumentationVersion for usage and error information.
10030//
10031// Returned Error Types:
10032//   * UnauthorizedException
10033//   The request is denied because the caller has insufficient permissions.
10034//
10035//   * NotFoundException
10036//   The requested resource is not found. Make sure that the request URI is correct.
10037//
10038//   * ConflictException
10039//   The request configuration has conflicts. For details, see the accompanying
10040//   error message.
10041//
10042//   * BadRequestException
10043//   The submitted request is not valid, for example, the input is incomplete
10044//   or incorrect. See the accompanying error message for details.
10045//
10046//   * TooManyRequestsException
10047//   The request has reached its throttling limit. Retry after the specified time
10048//   period.
10049//
10050func (c *APIGateway) UpdateDocumentationVersion(input *UpdateDocumentationVersionInput) (*DocumentationVersion, error) {
10051	req, out := c.UpdateDocumentationVersionRequest(input)
10052	return out, req.Send()
10053}
10054
10055// UpdateDocumentationVersionWithContext is the same as UpdateDocumentationVersion with the addition of
10056// the ability to pass a context and additional request options.
10057//
10058// See UpdateDocumentationVersion for details on how to use this API operation.
10059//
10060// The context must be non-nil and will be used for request cancellation. If
10061// the context is nil a panic will occur. In the future the SDK may create
10062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10063// for more information on using Contexts.
10064func (c *APIGateway) UpdateDocumentationVersionWithContext(ctx aws.Context, input *UpdateDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
10065	req, out := c.UpdateDocumentationVersionRequest(input)
10066	req.SetContext(ctx)
10067	req.ApplyOptions(opts...)
10068	return out, req.Send()
10069}
10070
10071const opUpdateDomainName = "UpdateDomainName"
10072
10073// UpdateDomainNameRequest generates a "aws/request.Request" representing the
10074// client's request for the UpdateDomainName operation. The "output" return
10075// value will be populated with the request's response once the request completes
10076// successfully.
10077//
10078// Use "Send" method on the returned Request to send the API call to the service.
10079// the "output" return value is not valid until after Send returns without error.
10080//
10081// See UpdateDomainName for more information on using the UpdateDomainName
10082// API call, and error handling.
10083//
10084// This method is useful when you want to inject custom logic or configuration
10085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10086//
10087//
10088//    // Example sending a request using the UpdateDomainNameRequest method.
10089//    req, resp := client.UpdateDomainNameRequest(params)
10090//
10091//    err := req.Send()
10092//    if err == nil { // resp is now filled
10093//        fmt.Println(resp)
10094//    }
10095func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *DomainName) {
10096	op := &request.Operation{
10097		Name:       opUpdateDomainName,
10098		HTTPMethod: "PATCH",
10099		HTTPPath:   "/domainnames/{domain_name}",
10100	}
10101
10102	if input == nil {
10103		input = &UpdateDomainNameInput{}
10104	}
10105
10106	output = &DomainName{}
10107	req = c.newRequest(op, input, output)
10108	return
10109}
10110
10111// UpdateDomainName API operation for Amazon API Gateway.
10112//
10113// Changes information about the DomainName resource.
10114//
10115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10116// with awserr.Error's Code and Message methods to get detailed information about
10117// the error.
10118//
10119// See the AWS API reference guide for Amazon API Gateway's
10120// API operation UpdateDomainName for usage and error information.
10121//
10122// Returned Error Types:
10123//   * UnauthorizedException
10124//   The request is denied because the caller has insufficient permissions.
10125//
10126//   * NotFoundException
10127//   The requested resource is not found. Make sure that the request URI is correct.
10128//
10129//   * BadRequestException
10130//   The submitted request is not valid, for example, the input is incomplete
10131//   or incorrect. See the accompanying error message for details.
10132//
10133//   * ConflictException
10134//   The request configuration has conflicts. For details, see the accompanying
10135//   error message.
10136//
10137//   * TooManyRequestsException
10138//   The request has reached its throttling limit. Retry after the specified time
10139//   period.
10140//
10141func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName, error) {
10142	req, out := c.UpdateDomainNameRequest(input)
10143	return out, req.Send()
10144}
10145
10146// UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of
10147// the ability to pass a context and additional request options.
10148//
10149// See UpdateDomainName for details on how to use this API operation.
10150//
10151// The context must be non-nil and will be used for request cancellation. If
10152// the context is nil a panic will occur. In the future the SDK may create
10153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10154// for more information on using Contexts.
10155func (c *APIGateway) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*DomainName, error) {
10156	req, out := c.UpdateDomainNameRequest(input)
10157	req.SetContext(ctx)
10158	req.ApplyOptions(opts...)
10159	return out, req.Send()
10160}
10161
10162const opUpdateGatewayResponse = "UpdateGatewayResponse"
10163
10164// UpdateGatewayResponseRequest generates a "aws/request.Request" representing the
10165// client's request for the UpdateGatewayResponse operation. The "output" return
10166// value will be populated with the request's response once the request completes
10167// successfully.
10168//
10169// Use "Send" method on the returned Request to send the API call to the service.
10170// the "output" return value is not valid until after Send returns without error.
10171//
10172// See UpdateGatewayResponse for more information on using the UpdateGatewayResponse
10173// API call, and error handling.
10174//
10175// This method is useful when you want to inject custom logic or configuration
10176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10177//
10178//
10179//    // Example sending a request using the UpdateGatewayResponseRequest method.
10180//    req, resp := client.UpdateGatewayResponseRequest(params)
10181//
10182//    err := req.Send()
10183//    if err == nil { // resp is now filled
10184//        fmt.Println(resp)
10185//    }
10186func (c *APIGateway) UpdateGatewayResponseRequest(input *UpdateGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
10187	op := &request.Operation{
10188		Name:       opUpdateGatewayResponse,
10189		HTTPMethod: "PATCH",
10190		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
10191	}
10192
10193	if input == nil {
10194		input = &UpdateGatewayResponseInput{}
10195	}
10196
10197	output = &UpdateGatewayResponseOutput{}
10198	req = c.newRequest(op, input, output)
10199	return
10200}
10201
10202// UpdateGatewayResponse API operation for Amazon API Gateway.
10203//
10204// Updates a GatewayResponse of a specified response type on the given RestApi.
10205//
10206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10207// with awserr.Error's Code and Message methods to get detailed information about
10208// the error.
10209//
10210// See the AWS API reference guide for Amazon API Gateway's
10211// API operation UpdateGatewayResponse for usage and error information.
10212//
10213// Returned Error Types:
10214//   * UnauthorizedException
10215//   The request is denied because the caller has insufficient permissions.
10216//
10217//   * NotFoundException
10218//   The requested resource is not found. Make sure that the request URI is correct.
10219//
10220//   * BadRequestException
10221//   The submitted request is not valid, for example, the input is incomplete
10222//   or incorrect. See the accompanying error message for details.
10223//
10224//   * TooManyRequestsException
10225//   The request has reached its throttling limit. Retry after the specified time
10226//   period.
10227//
10228func (c *APIGateway) UpdateGatewayResponse(input *UpdateGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
10229	req, out := c.UpdateGatewayResponseRequest(input)
10230	return out, req.Send()
10231}
10232
10233// UpdateGatewayResponseWithContext is the same as UpdateGatewayResponse with the addition of
10234// the ability to pass a context and additional request options.
10235//
10236// See UpdateGatewayResponse for details on how to use this API operation.
10237//
10238// The context must be non-nil and will be used for request cancellation. If
10239// the context is nil a panic will occur. In the future the SDK may create
10240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10241// for more information on using Contexts.
10242func (c *APIGateway) UpdateGatewayResponseWithContext(ctx aws.Context, input *UpdateGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
10243	req, out := c.UpdateGatewayResponseRequest(input)
10244	req.SetContext(ctx)
10245	req.ApplyOptions(opts...)
10246	return out, req.Send()
10247}
10248
10249const opUpdateIntegration = "UpdateIntegration"
10250
10251// UpdateIntegrationRequest generates a "aws/request.Request" representing the
10252// client's request for the UpdateIntegration operation. The "output" return
10253// value will be populated with the request's response once the request completes
10254// successfully.
10255//
10256// Use "Send" method on the returned Request to send the API call to the service.
10257// the "output" return value is not valid until after Send returns without error.
10258//
10259// See UpdateIntegration for more information on using the UpdateIntegration
10260// API call, and error handling.
10261//
10262// This method is useful when you want to inject custom logic or configuration
10263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10264//
10265//
10266//    // Example sending a request using the UpdateIntegrationRequest method.
10267//    req, resp := client.UpdateIntegrationRequest(params)
10268//
10269//    err := req.Send()
10270//    if err == nil { // resp is now filled
10271//        fmt.Println(resp)
10272//    }
10273func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *Integration) {
10274	op := &request.Operation{
10275		Name:       opUpdateIntegration,
10276		HTTPMethod: "PATCH",
10277		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
10278	}
10279
10280	if input == nil {
10281		input = &UpdateIntegrationInput{}
10282	}
10283
10284	output = &Integration{}
10285	req = c.newRequest(op, input, output)
10286	return
10287}
10288
10289// UpdateIntegration API operation for Amazon API Gateway.
10290//
10291// Represents an update integration.
10292//
10293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10294// with awserr.Error's Code and Message methods to get detailed information about
10295// the error.
10296//
10297// See the AWS API reference guide for Amazon API Gateway's
10298// API operation UpdateIntegration for usage and error information.
10299//
10300// Returned Error Types:
10301//   * UnauthorizedException
10302//   The request is denied because the caller has insufficient permissions.
10303//
10304//   * NotFoundException
10305//   The requested resource is not found. Make sure that the request URI is correct.
10306//
10307//   * BadRequestException
10308//   The submitted request is not valid, for example, the input is incomplete
10309//   or incorrect. See the accompanying error message for details.
10310//
10311//   * TooManyRequestsException
10312//   The request has reached its throttling limit. Retry after the specified time
10313//   period.
10314//
10315//   * ConflictException
10316//   The request configuration has conflicts. For details, see the accompanying
10317//   error message.
10318//
10319func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integration, error) {
10320	req, out := c.UpdateIntegrationRequest(input)
10321	return out, req.Send()
10322}
10323
10324// UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of
10325// the ability to pass a context and additional request options.
10326//
10327// See UpdateIntegration for details on how to use this API operation.
10328//
10329// The context must be non-nil and will be used for request cancellation. If
10330// the context is nil a panic will occur. In the future the SDK may create
10331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10332// for more information on using Contexts.
10333func (c *APIGateway) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*Integration, error) {
10334	req, out := c.UpdateIntegrationRequest(input)
10335	req.SetContext(ctx)
10336	req.ApplyOptions(opts...)
10337	return out, req.Send()
10338}
10339
10340const opUpdateIntegrationResponse = "UpdateIntegrationResponse"
10341
10342// UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the
10343// client's request for the UpdateIntegrationResponse operation. The "output" return
10344// value will be populated with the request's response once the request completes
10345// successfully.
10346//
10347// Use "Send" method on the returned Request to send the API call to the service.
10348// the "output" return value is not valid until after Send returns without error.
10349//
10350// See UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse
10351// API call, and error handling.
10352//
10353// This method is useful when you want to inject custom logic or configuration
10354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10355//
10356//
10357//    // Example sending a request using the UpdateIntegrationResponseRequest method.
10358//    req, resp := client.UpdateIntegrationResponseRequest(params)
10359//
10360//    err := req.Send()
10361//    if err == nil { // resp is now filled
10362//        fmt.Println(resp)
10363//    }
10364func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
10365	op := &request.Operation{
10366		Name:       opUpdateIntegrationResponse,
10367		HTTPMethod: "PATCH",
10368		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
10369	}
10370
10371	if input == nil {
10372		input = &UpdateIntegrationResponseInput{}
10373	}
10374
10375	output = &IntegrationResponse{}
10376	req = c.newRequest(op, input, output)
10377	return
10378}
10379
10380// UpdateIntegrationResponse API operation for Amazon API Gateway.
10381//
10382// Represents an update integration response.
10383//
10384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10385// with awserr.Error's Code and Message methods to get detailed information about
10386// the error.
10387//
10388// See the AWS API reference guide for Amazon API Gateway's
10389// API operation UpdateIntegrationResponse for usage and error information.
10390//
10391// Returned Error Types:
10392//   * UnauthorizedException
10393//   The request is denied because the caller has insufficient permissions.
10394//
10395//   * NotFoundException
10396//   The requested resource is not found. Make sure that the request URI is correct.
10397//
10398//   * ConflictException
10399//   The request configuration has conflicts. For details, see the accompanying
10400//   error message.
10401//
10402//   * BadRequestException
10403//   The submitted request is not valid, for example, the input is incomplete
10404//   or incorrect. See the accompanying error message for details.
10405//
10406//   * TooManyRequestsException
10407//   The request has reached its throttling limit. Retry after the specified time
10408//   period.
10409//
10410func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*IntegrationResponse, error) {
10411	req, out := c.UpdateIntegrationResponseRequest(input)
10412	return out, req.Send()
10413}
10414
10415// UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of
10416// the ability to pass a context and additional request options.
10417//
10418// See UpdateIntegrationResponse for details on how to use this API operation.
10419//
10420// The context must be non-nil and will be used for request cancellation. If
10421// the context is nil a panic will occur. In the future the SDK may create
10422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10423// for more information on using Contexts.
10424func (c *APIGateway) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
10425	req, out := c.UpdateIntegrationResponseRequest(input)
10426	req.SetContext(ctx)
10427	req.ApplyOptions(opts...)
10428	return out, req.Send()
10429}
10430
10431const opUpdateMethod = "UpdateMethod"
10432
10433// UpdateMethodRequest generates a "aws/request.Request" representing the
10434// client's request for the UpdateMethod operation. The "output" return
10435// value will be populated with the request's response once the request completes
10436// successfully.
10437//
10438// Use "Send" method on the returned Request to send the API call to the service.
10439// the "output" return value is not valid until after Send returns without error.
10440//
10441// See UpdateMethod for more information on using the UpdateMethod
10442// API call, and error handling.
10443//
10444// This method is useful when you want to inject custom logic or configuration
10445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10446//
10447//
10448//    // Example sending a request using the UpdateMethodRequest method.
10449//    req, resp := client.UpdateMethodRequest(params)
10450//
10451//    err := req.Send()
10452//    if err == nil { // resp is now filled
10453//        fmt.Println(resp)
10454//    }
10455func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request.Request, output *Method) {
10456	op := &request.Operation{
10457		Name:       opUpdateMethod,
10458		HTTPMethod: "PATCH",
10459		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
10460	}
10461
10462	if input == nil {
10463		input = &UpdateMethodInput{}
10464	}
10465
10466	output = &Method{}
10467	req = c.newRequest(op, input, output)
10468	return
10469}
10470
10471// UpdateMethod API operation for Amazon API Gateway.
10472//
10473// Updates an existing Method resource.
10474//
10475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10476// with awserr.Error's Code and Message methods to get detailed information about
10477// the error.
10478//
10479// See the AWS API reference guide for Amazon API Gateway's
10480// API operation UpdateMethod for usage and error information.
10481//
10482// Returned Error Types:
10483//   * UnauthorizedException
10484//   The request is denied because the caller has insufficient permissions.
10485//
10486//   * NotFoundException
10487//   The requested resource is not found. Make sure that the request URI is correct.
10488//
10489//   * BadRequestException
10490//   The submitted request is not valid, for example, the input is incomplete
10491//   or incorrect. See the accompanying error message for details.
10492//
10493//   * ConflictException
10494//   The request configuration has conflicts. For details, see the accompanying
10495//   error message.
10496//
10497//   * TooManyRequestsException
10498//   The request has reached its throttling limit. Retry after the specified time
10499//   period.
10500//
10501func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) {
10502	req, out := c.UpdateMethodRequest(input)
10503	return out, req.Send()
10504}
10505
10506// UpdateMethodWithContext is the same as UpdateMethod with the addition of
10507// the ability to pass a context and additional request options.
10508//
10509// See UpdateMethod for details on how to use this API operation.
10510//
10511// The context must be non-nil and will be used for request cancellation. If
10512// the context is nil a panic will occur. In the future the SDK may create
10513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10514// for more information on using Contexts.
10515func (c *APIGateway) UpdateMethodWithContext(ctx aws.Context, input *UpdateMethodInput, opts ...request.Option) (*Method, error) {
10516	req, out := c.UpdateMethodRequest(input)
10517	req.SetContext(ctx)
10518	req.ApplyOptions(opts...)
10519	return out, req.Send()
10520}
10521
10522const opUpdateMethodResponse = "UpdateMethodResponse"
10523
10524// UpdateMethodResponseRequest generates a "aws/request.Request" representing the
10525// client's request for the UpdateMethodResponse operation. The "output" return
10526// value will be populated with the request's response once the request completes
10527// successfully.
10528//
10529// Use "Send" method on the returned Request to send the API call to the service.
10530// the "output" return value is not valid until after Send returns without error.
10531//
10532// See UpdateMethodResponse for more information on using the UpdateMethodResponse
10533// API call, and error handling.
10534//
10535// This method is useful when you want to inject custom logic or configuration
10536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10537//
10538//
10539//    // Example sending a request using the UpdateMethodResponseRequest method.
10540//    req, resp := client.UpdateMethodResponseRequest(params)
10541//
10542//    err := req.Send()
10543//    if err == nil { // resp is now filled
10544//        fmt.Println(resp)
10545//    }
10546func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInput) (req *request.Request, output *MethodResponse) {
10547	op := &request.Operation{
10548		Name:       opUpdateMethodResponse,
10549		HTTPMethod: "PATCH",
10550		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
10551	}
10552
10553	if input == nil {
10554		input = &UpdateMethodResponseInput{}
10555	}
10556
10557	output = &MethodResponse{}
10558	req = c.newRequest(op, input, output)
10559	return
10560}
10561
10562// UpdateMethodResponse API operation for Amazon API Gateway.
10563//
10564// Updates an existing MethodResponse resource.
10565//
10566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10567// with awserr.Error's Code and Message methods to get detailed information about
10568// the error.
10569//
10570// See the AWS API reference guide for Amazon API Gateway's
10571// API operation UpdateMethodResponse for usage and error information.
10572//
10573// Returned Error Types:
10574//   * UnauthorizedException
10575//   The request is denied because the caller has insufficient permissions.
10576//
10577//   * NotFoundException
10578//   The requested resource is not found. Make sure that the request URI is correct.
10579//
10580//   * ConflictException
10581//   The request configuration has conflicts. For details, see the accompanying
10582//   error message.
10583//
10584//   * LimitExceededException
10585//   The request exceeded the rate limit. Retry after the specified time period.
10586//
10587//   * BadRequestException
10588//   The submitted request is not valid, for example, the input is incomplete
10589//   or incorrect. See the accompanying error message for details.
10590//
10591//   * TooManyRequestsException
10592//   The request has reached its throttling limit. Retry after the specified time
10593//   period.
10594//
10595func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*MethodResponse, error) {
10596	req, out := c.UpdateMethodResponseRequest(input)
10597	return out, req.Send()
10598}
10599
10600// UpdateMethodResponseWithContext is the same as UpdateMethodResponse with the addition of
10601// the ability to pass a context and additional request options.
10602//
10603// See UpdateMethodResponse for details on how to use this API operation.
10604//
10605// The context must be non-nil and will be used for request cancellation. If
10606// the context is nil a panic will occur. In the future the SDK may create
10607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10608// for more information on using Contexts.
10609func (c *APIGateway) UpdateMethodResponseWithContext(ctx aws.Context, input *UpdateMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
10610	req, out := c.UpdateMethodResponseRequest(input)
10611	req.SetContext(ctx)
10612	req.ApplyOptions(opts...)
10613	return out, req.Send()
10614}
10615
10616const opUpdateModel = "UpdateModel"
10617
10618// UpdateModelRequest generates a "aws/request.Request" representing the
10619// client's request for the UpdateModel operation. The "output" return
10620// value will be populated with the request's response once the request completes
10621// successfully.
10622//
10623// Use "Send" method on the returned Request to send the API call to the service.
10624// the "output" return value is not valid until after Send returns without error.
10625//
10626// See UpdateModel for more information on using the UpdateModel
10627// API call, and error handling.
10628//
10629// This method is useful when you want to inject custom logic or configuration
10630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10631//
10632//
10633//    // Example sending a request using the UpdateModelRequest method.
10634//    req, resp := client.UpdateModelRequest(params)
10635//
10636//    err := req.Send()
10637//    if err == nil { // resp is now filled
10638//        fmt.Println(resp)
10639//    }
10640func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *Model) {
10641	op := &request.Operation{
10642		Name:       opUpdateModel,
10643		HTTPMethod: "PATCH",
10644		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
10645	}
10646
10647	if input == nil {
10648		input = &UpdateModelInput{}
10649	}
10650
10651	output = &Model{}
10652	req = c.newRequest(op, input, output)
10653	return
10654}
10655
10656// UpdateModel API operation for Amazon API Gateway.
10657//
10658// Changes information about a model.
10659//
10660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10661// with awserr.Error's Code and Message methods to get detailed information about
10662// the error.
10663//
10664// See the AWS API reference guide for Amazon API Gateway's
10665// API operation UpdateModel for usage and error information.
10666//
10667// Returned Error Types:
10668//   * UnauthorizedException
10669//   The request is denied because the caller has insufficient permissions.
10670//
10671//   * NotFoundException
10672//   The requested resource is not found. Make sure that the request URI is correct.
10673//
10674//   * BadRequestException
10675//   The submitted request is not valid, for example, the input is incomplete
10676//   or incorrect. See the accompanying error message for details.
10677//
10678//   * ConflictException
10679//   The request configuration has conflicts. For details, see the accompanying
10680//   error message.
10681//
10682//   * TooManyRequestsException
10683//   The request has reached its throttling limit. Retry after the specified time
10684//   period.
10685//
10686func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) {
10687	req, out := c.UpdateModelRequest(input)
10688	return out, req.Send()
10689}
10690
10691// UpdateModelWithContext is the same as UpdateModel with the addition of
10692// the ability to pass a context and additional request options.
10693//
10694// See UpdateModel for details on how to use this API operation.
10695//
10696// The context must be non-nil and will be used for request cancellation. If
10697// the context is nil a panic will occur. In the future the SDK may create
10698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10699// for more information on using Contexts.
10700func (c *APIGateway) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*Model, error) {
10701	req, out := c.UpdateModelRequest(input)
10702	req.SetContext(ctx)
10703	req.ApplyOptions(opts...)
10704	return out, req.Send()
10705}
10706
10707const opUpdateRequestValidator = "UpdateRequestValidator"
10708
10709// UpdateRequestValidatorRequest generates a "aws/request.Request" representing the
10710// client's request for the UpdateRequestValidator operation. The "output" return
10711// value will be populated with the request's response once the request completes
10712// successfully.
10713//
10714// Use "Send" method on the returned Request to send the API call to the service.
10715// the "output" return value is not valid until after Send returns without error.
10716//
10717// See UpdateRequestValidator for more information on using the UpdateRequestValidator
10718// API call, and error handling.
10719//
10720// This method is useful when you want to inject custom logic or configuration
10721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10722//
10723//
10724//    // Example sending a request using the UpdateRequestValidatorRequest method.
10725//    req, resp := client.UpdateRequestValidatorRequest(params)
10726//
10727//    err := req.Send()
10728//    if err == nil { // resp is now filled
10729//        fmt.Println(resp)
10730//    }
10731func (c *APIGateway) UpdateRequestValidatorRequest(input *UpdateRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
10732	op := &request.Operation{
10733		Name:       opUpdateRequestValidator,
10734		HTTPMethod: "PATCH",
10735		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
10736	}
10737
10738	if input == nil {
10739		input = &UpdateRequestValidatorInput{}
10740	}
10741
10742	output = &UpdateRequestValidatorOutput{}
10743	req = c.newRequest(op, input, output)
10744	return
10745}
10746
10747// UpdateRequestValidator API operation for Amazon API Gateway.
10748//
10749// Updates a RequestValidator of a given RestApi.
10750//
10751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10752// with awserr.Error's Code and Message methods to get detailed information about
10753// the error.
10754//
10755// See the AWS API reference guide for Amazon API Gateway's
10756// API operation UpdateRequestValidator for usage and error information.
10757//
10758// Returned Error Types:
10759//   * UnauthorizedException
10760//   The request is denied because the caller has insufficient permissions.
10761//
10762//   * NotFoundException
10763//   The requested resource is not found. Make sure that the request URI is correct.
10764//
10765//   * BadRequestException
10766//   The submitted request is not valid, for example, the input is incomplete
10767//   or incorrect. See the accompanying error message for details.
10768//
10769//   * TooManyRequestsException
10770//   The request has reached its throttling limit. Retry after the specified time
10771//   period.
10772//
10773func (c *APIGateway) UpdateRequestValidator(input *UpdateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
10774	req, out := c.UpdateRequestValidatorRequest(input)
10775	return out, req.Send()
10776}
10777
10778// UpdateRequestValidatorWithContext is the same as UpdateRequestValidator with the addition of
10779// the ability to pass a context and additional request options.
10780//
10781// See UpdateRequestValidator for details on how to use this API operation.
10782//
10783// The context must be non-nil and will be used for request cancellation. If
10784// the context is nil a panic will occur. In the future the SDK may create
10785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10786// for more information on using Contexts.
10787func (c *APIGateway) UpdateRequestValidatorWithContext(ctx aws.Context, input *UpdateRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
10788	req, out := c.UpdateRequestValidatorRequest(input)
10789	req.SetContext(ctx)
10790	req.ApplyOptions(opts...)
10791	return out, req.Send()
10792}
10793
10794const opUpdateResource = "UpdateResource"
10795
10796// UpdateResourceRequest generates a "aws/request.Request" representing the
10797// client's request for the UpdateResource operation. The "output" return
10798// value will be populated with the request's response once the request completes
10799// successfully.
10800//
10801// Use "Send" method on the returned Request to send the API call to the service.
10802// the "output" return value is not valid until after Send returns without error.
10803//
10804// See UpdateResource for more information on using the UpdateResource
10805// API call, and error handling.
10806//
10807// This method is useful when you want to inject custom logic or configuration
10808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10809//
10810//
10811//    // Example sending a request using the UpdateResourceRequest method.
10812//    req, resp := client.UpdateResourceRequest(params)
10813//
10814//    err := req.Send()
10815//    if err == nil { // resp is now filled
10816//        fmt.Println(resp)
10817//    }
10818func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *Resource) {
10819	op := &request.Operation{
10820		Name:       opUpdateResource,
10821		HTTPMethod: "PATCH",
10822		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
10823	}
10824
10825	if input == nil {
10826		input = &UpdateResourceInput{}
10827	}
10828
10829	output = &Resource{}
10830	req = c.newRequest(op, input, output)
10831	return
10832}
10833
10834// UpdateResource API operation for Amazon API Gateway.
10835//
10836// Changes information about a Resource resource.
10837//
10838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10839// with awserr.Error's Code and Message methods to get detailed information about
10840// the error.
10841//
10842// See the AWS API reference guide for Amazon API Gateway's
10843// API operation UpdateResource for usage and error information.
10844//
10845// Returned Error Types:
10846//   * UnauthorizedException
10847//   The request is denied because the caller has insufficient permissions.
10848//
10849//   * NotFoundException
10850//   The requested resource is not found. Make sure that the request URI is correct.
10851//
10852//   * ConflictException
10853//   The request configuration has conflicts. For details, see the accompanying
10854//   error message.
10855//
10856//   * BadRequestException
10857//   The submitted request is not valid, for example, the input is incomplete
10858//   or incorrect. See the accompanying error message for details.
10859//
10860//   * TooManyRequestsException
10861//   The request has reached its throttling limit. Retry after the specified time
10862//   period.
10863//
10864func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, error) {
10865	req, out := c.UpdateResourceRequest(input)
10866	return out, req.Send()
10867}
10868
10869// UpdateResourceWithContext is the same as UpdateResource with the addition of
10870// the ability to pass a context and additional request options.
10871//
10872// See UpdateResource for details on how to use this API operation.
10873//
10874// The context must be non-nil and will be used for request cancellation. If
10875// the context is nil a panic will occur. In the future the SDK may create
10876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10877// for more information on using Contexts.
10878func (c *APIGateway) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*Resource, error) {
10879	req, out := c.UpdateResourceRequest(input)
10880	req.SetContext(ctx)
10881	req.ApplyOptions(opts...)
10882	return out, req.Send()
10883}
10884
10885const opUpdateRestApi = "UpdateRestApi"
10886
10887// UpdateRestApiRequest generates a "aws/request.Request" representing the
10888// client's request for the UpdateRestApi operation. The "output" return
10889// value will be populated with the request's response once the request completes
10890// successfully.
10891//
10892// Use "Send" method on the returned Request to send the API call to the service.
10893// the "output" return value is not valid until after Send returns without error.
10894//
10895// See UpdateRestApi for more information on using the UpdateRestApi
10896// API call, and error handling.
10897//
10898// This method is useful when you want to inject custom logic or configuration
10899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10900//
10901//
10902//    // Example sending a request using the UpdateRestApiRequest method.
10903//    req, resp := client.UpdateRestApiRequest(params)
10904//
10905//    err := req.Send()
10906//    if err == nil { // resp is now filled
10907//        fmt.Println(resp)
10908//    }
10909func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *request.Request, output *RestApi) {
10910	op := &request.Operation{
10911		Name:       opUpdateRestApi,
10912		HTTPMethod: "PATCH",
10913		HTTPPath:   "/restapis/{restapi_id}",
10914	}
10915
10916	if input == nil {
10917		input = &UpdateRestApiInput{}
10918	}
10919
10920	output = &RestApi{}
10921	req = c.newRequest(op, input, output)
10922	return
10923}
10924
10925// UpdateRestApi API operation for Amazon API Gateway.
10926//
10927// Changes information about the specified API.
10928//
10929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10930// with awserr.Error's Code and Message methods to get detailed information about
10931// the error.
10932//
10933// See the AWS API reference guide for Amazon API Gateway's
10934// API operation UpdateRestApi for usage and error information.
10935//
10936// Returned Error Types:
10937//   * UnauthorizedException
10938//   The request is denied because the caller has insufficient permissions.
10939//
10940//   * NotFoundException
10941//   The requested resource is not found. Make sure that the request URI is correct.
10942//
10943//   * ConflictException
10944//   The request configuration has conflicts. For details, see the accompanying
10945//   error message.
10946//
10947//   * BadRequestException
10948//   The submitted request is not valid, for example, the input is incomplete
10949//   or incorrect. See the accompanying error message for details.
10950//
10951//   * TooManyRequestsException
10952//   The request has reached its throttling limit. Retry after the specified time
10953//   period.
10954//
10955func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) {
10956	req, out := c.UpdateRestApiRequest(input)
10957	return out, req.Send()
10958}
10959
10960// UpdateRestApiWithContext is the same as UpdateRestApi with the addition of
10961// the ability to pass a context and additional request options.
10962//
10963// See UpdateRestApi for details on how to use this API operation.
10964//
10965// The context must be non-nil and will be used for request cancellation. If
10966// the context is nil a panic will occur. In the future the SDK may create
10967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10968// for more information on using Contexts.
10969func (c *APIGateway) UpdateRestApiWithContext(ctx aws.Context, input *UpdateRestApiInput, opts ...request.Option) (*RestApi, error) {
10970	req, out := c.UpdateRestApiRequest(input)
10971	req.SetContext(ctx)
10972	req.ApplyOptions(opts...)
10973	return out, req.Send()
10974}
10975
10976const opUpdateStage = "UpdateStage"
10977
10978// UpdateStageRequest generates a "aws/request.Request" representing the
10979// client's request for the UpdateStage operation. The "output" return
10980// value will be populated with the request's response once the request completes
10981// successfully.
10982//
10983// Use "Send" method on the returned Request to send the API call to the service.
10984// the "output" return value is not valid until after Send returns without error.
10985//
10986// See UpdateStage for more information on using the UpdateStage
10987// API call, and error handling.
10988//
10989// This method is useful when you want to inject custom logic or configuration
10990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10991//
10992//
10993//    // Example sending a request using the UpdateStageRequest method.
10994//    req, resp := client.UpdateStageRequest(params)
10995//
10996//    err := req.Send()
10997//    if err == nil { // resp is now filled
10998//        fmt.Println(resp)
10999//    }
11000func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *Stage) {
11001	op := &request.Operation{
11002		Name:       opUpdateStage,
11003		HTTPMethod: "PATCH",
11004		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
11005	}
11006
11007	if input == nil {
11008		input = &UpdateStageInput{}
11009	}
11010
11011	output = &Stage{}
11012	req = c.newRequest(op, input, output)
11013	return
11014}
11015
11016// UpdateStage API operation for Amazon API Gateway.
11017//
11018// Changes information about a Stage resource.
11019//
11020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11021// with awserr.Error's Code and Message methods to get detailed information about
11022// the error.
11023//
11024// See the AWS API reference guide for Amazon API Gateway's
11025// API operation UpdateStage for usage and error information.
11026//
11027// Returned Error Types:
11028//   * UnauthorizedException
11029//   The request is denied because the caller has insufficient permissions.
11030//
11031//   * NotFoundException
11032//   The requested resource is not found. Make sure that the request URI is correct.
11033//
11034//   * ConflictException
11035//   The request configuration has conflicts. For details, see the accompanying
11036//   error message.
11037//
11038//   * BadRequestException
11039//   The submitted request is not valid, for example, the input is incomplete
11040//   or incorrect. See the accompanying error message for details.
11041//
11042//   * TooManyRequestsException
11043//   The request has reached its throttling limit. Retry after the specified time
11044//   period.
11045//
11046func (c *APIGateway) UpdateStage(input *UpdateStageInput) (*Stage, error) {
11047	req, out := c.UpdateStageRequest(input)
11048	return out, req.Send()
11049}
11050
11051// UpdateStageWithContext is the same as UpdateStage with the addition of
11052// the ability to pass a context and additional request options.
11053//
11054// See UpdateStage for details on how to use this API operation.
11055//
11056// The context must be non-nil and will be used for request cancellation. If
11057// the context is nil a panic will occur. In the future the SDK may create
11058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11059// for more information on using Contexts.
11060func (c *APIGateway) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*Stage, error) {
11061	req, out := c.UpdateStageRequest(input)
11062	req.SetContext(ctx)
11063	req.ApplyOptions(opts...)
11064	return out, req.Send()
11065}
11066
11067const opUpdateUsage = "UpdateUsage"
11068
11069// UpdateUsageRequest generates a "aws/request.Request" representing the
11070// client's request for the UpdateUsage operation. The "output" return
11071// value will be populated with the request's response once the request completes
11072// successfully.
11073//
11074// Use "Send" method on the returned Request to send the API call to the service.
11075// the "output" return value is not valid until after Send returns without error.
11076//
11077// See UpdateUsage for more information on using the UpdateUsage
11078// API call, and error handling.
11079//
11080// This method is useful when you want to inject custom logic or configuration
11081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11082//
11083//
11084//    // Example sending a request using the UpdateUsageRequest method.
11085//    req, resp := client.UpdateUsageRequest(params)
11086//
11087//    err := req.Send()
11088//    if err == nil { // resp is now filled
11089//        fmt.Println(resp)
11090//    }
11091func (c *APIGateway) UpdateUsageRequest(input *UpdateUsageInput) (req *request.Request, output *Usage) {
11092	op := &request.Operation{
11093		Name:       opUpdateUsage,
11094		HTTPMethod: "PATCH",
11095		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}/usage",
11096	}
11097
11098	if input == nil {
11099		input = &UpdateUsageInput{}
11100	}
11101
11102	output = &Usage{}
11103	req = c.newRequest(op, input, output)
11104	return
11105}
11106
11107// UpdateUsage API operation for Amazon API Gateway.
11108//
11109// Grants a temporary extension to the remaining quota of a usage plan associated
11110// with a specified API key.
11111//
11112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11113// with awserr.Error's Code and Message methods to get detailed information about
11114// the error.
11115//
11116// See the AWS API reference guide for Amazon API Gateway's
11117// API operation UpdateUsage for usage and error information.
11118//
11119// Returned Error Types:
11120//   * UnauthorizedException
11121//   The request is denied because the caller has insufficient permissions.
11122//
11123//   * TooManyRequestsException
11124//   The request has reached its throttling limit. Retry after the specified time
11125//   period.
11126//
11127//   * BadRequestException
11128//   The submitted request is not valid, for example, the input is incomplete
11129//   or incorrect. See the accompanying error message for details.
11130//
11131//   * NotFoundException
11132//   The requested resource is not found. Make sure that the request URI is correct.
11133//
11134func (c *APIGateway) UpdateUsage(input *UpdateUsageInput) (*Usage, error) {
11135	req, out := c.UpdateUsageRequest(input)
11136	return out, req.Send()
11137}
11138
11139// UpdateUsageWithContext is the same as UpdateUsage with the addition of
11140// the ability to pass a context and additional request options.
11141//
11142// See UpdateUsage for details on how to use this API operation.
11143//
11144// The context must be non-nil and will be used for request cancellation. If
11145// the context is nil a panic will occur. In the future the SDK may create
11146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11147// for more information on using Contexts.
11148func (c *APIGateway) UpdateUsageWithContext(ctx aws.Context, input *UpdateUsageInput, opts ...request.Option) (*Usage, error) {
11149	req, out := c.UpdateUsageRequest(input)
11150	req.SetContext(ctx)
11151	req.ApplyOptions(opts...)
11152	return out, req.Send()
11153}
11154
11155const opUpdateUsagePlan = "UpdateUsagePlan"
11156
11157// UpdateUsagePlanRequest generates a "aws/request.Request" representing the
11158// client's request for the UpdateUsagePlan operation. The "output" return
11159// value will be populated with the request's response once the request completes
11160// successfully.
11161//
11162// Use "Send" method on the returned Request to send the API call to the service.
11163// the "output" return value is not valid until after Send returns without error.
11164//
11165// See UpdateUsagePlan for more information on using the UpdateUsagePlan
11166// API call, and error handling.
11167//
11168// This method is useful when you want to inject custom logic or configuration
11169// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11170//
11171//
11172//    // Example sending a request using the UpdateUsagePlanRequest method.
11173//    req, resp := client.UpdateUsagePlanRequest(params)
11174//
11175//    err := req.Send()
11176//    if err == nil { // resp is now filled
11177//        fmt.Println(resp)
11178//    }
11179func (c *APIGateway) UpdateUsagePlanRequest(input *UpdateUsagePlanInput) (req *request.Request, output *UsagePlan) {
11180	op := &request.Operation{
11181		Name:       opUpdateUsagePlan,
11182		HTTPMethod: "PATCH",
11183		HTTPPath:   "/usageplans/{usageplanId}",
11184	}
11185
11186	if input == nil {
11187		input = &UpdateUsagePlanInput{}
11188	}
11189
11190	output = &UsagePlan{}
11191	req = c.newRequest(op, input, output)
11192	return
11193}
11194
11195// UpdateUsagePlan API operation for Amazon API Gateway.
11196//
11197// Updates a usage plan of a given plan Id.
11198//
11199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11200// with awserr.Error's Code and Message methods to get detailed information about
11201// the error.
11202//
11203// See the AWS API reference guide for Amazon API Gateway's
11204// API operation UpdateUsagePlan for usage and error information.
11205//
11206// Returned Error Types:
11207//   * UnauthorizedException
11208//   The request is denied because the caller has insufficient permissions.
11209//
11210//   * TooManyRequestsException
11211//   The request has reached its throttling limit. Retry after the specified time
11212//   period.
11213//
11214//   * BadRequestException
11215//   The submitted request is not valid, for example, the input is incomplete
11216//   or incorrect. See the accompanying error message for details.
11217//
11218//   * NotFoundException
11219//   The requested resource is not found. Make sure that the request URI is correct.
11220//
11221//   * ConflictException
11222//   The request configuration has conflicts. For details, see the accompanying
11223//   error message.
11224//
11225func (c *APIGateway) UpdateUsagePlan(input *UpdateUsagePlanInput) (*UsagePlan, error) {
11226	req, out := c.UpdateUsagePlanRequest(input)
11227	return out, req.Send()
11228}
11229
11230// UpdateUsagePlanWithContext is the same as UpdateUsagePlan with the addition of
11231// the ability to pass a context and additional request options.
11232//
11233// See UpdateUsagePlan for details on how to use this API operation.
11234//
11235// The context must be non-nil and will be used for request cancellation. If
11236// the context is nil a panic will occur. In the future the SDK may create
11237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11238// for more information on using Contexts.
11239func (c *APIGateway) UpdateUsagePlanWithContext(ctx aws.Context, input *UpdateUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
11240	req, out := c.UpdateUsagePlanRequest(input)
11241	req.SetContext(ctx)
11242	req.ApplyOptions(opts...)
11243	return out, req.Send()
11244}
11245
11246const opUpdateVpcLink = "UpdateVpcLink"
11247
11248// UpdateVpcLinkRequest generates a "aws/request.Request" representing the
11249// client's request for the UpdateVpcLink operation. The "output" return
11250// value will be populated with the request's response once the request completes
11251// successfully.
11252//
11253// Use "Send" method on the returned Request to send the API call to the service.
11254// the "output" return value is not valid until after Send returns without error.
11255//
11256// See UpdateVpcLink for more information on using the UpdateVpcLink
11257// API call, and error handling.
11258//
11259// This method is useful when you want to inject custom logic or configuration
11260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11261//
11262//
11263//    // Example sending a request using the UpdateVpcLinkRequest method.
11264//    req, resp := client.UpdateVpcLinkRequest(params)
11265//
11266//    err := req.Send()
11267//    if err == nil { // resp is now filled
11268//        fmt.Println(resp)
11269//    }
11270func (c *APIGateway) UpdateVpcLinkRequest(input *UpdateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
11271	op := &request.Operation{
11272		Name:       opUpdateVpcLink,
11273		HTTPMethod: "PATCH",
11274		HTTPPath:   "/vpclinks/{vpclink_id}",
11275	}
11276
11277	if input == nil {
11278		input = &UpdateVpcLinkInput{}
11279	}
11280
11281	output = &UpdateVpcLinkOutput{}
11282	req = c.newRequest(op, input, output)
11283	return
11284}
11285
11286// UpdateVpcLink API operation for Amazon API Gateway.
11287//
11288// Updates an existing VpcLink of a specified identifier.
11289//
11290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11291// with awserr.Error's Code and Message methods to get detailed information about
11292// the error.
11293//
11294// See the AWS API reference guide for Amazon API Gateway's
11295// API operation UpdateVpcLink for usage and error information.
11296//
11297// Returned Error Types:
11298//   * UnauthorizedException
11299//   The request is denied because the caller has insufficient permissions.
11300//
11301//   * NotFoundException
11302//   The requested resource is not found. Make sure that the request URI is correct.
11303//
11304//   * BadRequestException
11305//   The submitted request is not valid, for example, the input is incomplete
11306//   or incorrect. See the accompanying error message for details.
11307//
11308//   * ConflictException
11309//   The request configuration has conflicts. For details, see the accompanying
11310//   error message.
11311//
11312//   * TooManyRequestsException
11313//   The request has reached its throttling limit. Retry after the specified time
11314//   period.
11315//
11316func (c *APIGateway) UpdateVpcLink(input *UpdateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
11317	req, out := c.UpdateVpcLinkRequest(input)
11318	return out, req.Send()
11319}
11320
11321// UpdateVpcLinkWithContext is the same as UpdateVpcLink with the addition of
11322// the ability to pass a context and additional request options.
11323//
11324// See UpdateVpcLink for details on how to use this API operation.
11325//
11326// The context must be non-nil and will be used for request cancellation. If
11327// the context is nil a panic will occur. In the future the SDK may create
11328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11329// for more information on using Contexts.
11330func (c *APIGateway) UpdateVpcLinkWithContext(ctx aws.Context, input *UpdateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
11331	req, out := c.UpdateVpcLinkRequest(input)
11332	req.SetContext(ctx)
11333	req.ApplyOptions(opts...)
11334	return out, req.Send()
11335}
11336
11337// Access log settings, including the access log format and access log destination
11338// ARN.
11339type AccessLogSettings struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The ARN of the CloudWatch Logs log group to receive access logs.
11343	DestinationArn *string `locationName:"destinationArn" type:"string"`
11344
11345	// A single line format of the access logs of data, as specified by selected
11346	// $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference).
11347	// The format must include at least $context.requestId.
11348	Format *string `locationName:"format" type:"string"`
11349}
11350
11351// String returns the string representation
11352func (s AccessLogSettings) String() string {
11353	return awsutil.Prettify(s)
11354}
11355
11356// GoString returns the string representation
11357func (s AccessLogSettings) GoString() string {
11358	return s.String()
11359}
11360
11361// SetDestinationArn sets the DestinationArn field's value.
11362func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings {
11363	s.DestinationArn = &v
11364	return s
11365}
11366
11367// SetFormat sets the Format field's value.
11368func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings {
11369	s.Format = &v
11370	return s
11371}
11372
11373// Represents an AWS account that is associated with API Gateway.
11374//
11375// To view the account info, call GET on this resource.
11376//
11377// Error Codes
11378//
11379// The following exception may be thrown when the request fails.
11380//
11381//    * UnauthorizedException
11382//
11383//    * NotFoundException
11384//
11385//    * TooManyRequestsException
11386//
11387// For detailed error code information, including the corresponding HTTP Status
11388// Codes, see API Gateway Error Codes (https://docs.aws.amazon.com/apigateway/api-reference/handling-errors/#api-error-codes)
11389//
11390// Example: Get the information about an account.
11391//
11392// Request
11393//  GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
11394//  X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request,
11395//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
11396// Response
11397//
11398// The successful response returns a 200 OK status code and a payload similar
11399// to the following:
11400//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html",
11401//  "name": "account", "templated": true }, "self": { "href": "/account" },
11402//  "account:update": { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole",
11403//  "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } }
11404// In addition to making the REST API call directly, you can use the AWS CLI
11405// and an AWS SDK to access this resource.
11406//
11407// API Gateway Limits (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-limits.html)
11408// Developer Guide (https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html),
11409// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-account.html)
11410type Account struct {
11411	_ struct{} `type:"structure"`
11412
11413	// The version of the API keys used for the account.
11414	ApiKeyVersion *string `locationName:"apiKeyVersion" type:"string"`
11415
11416	// The ARN of an Amazon CloudWatch role for the current Account.
11417	CloudwatchRoleArn *string `locationName:"cloudwatchRoleArn" type:"string"`
11418
11419	// A list of features supported for the account. When usage plans are enabled,
11420	// the features list will include an entry of "UsagePlans".
11421	Features []*string `locationName:"features" type:"list"`
11422
11423	// Specifies the API request limits configured for the current Account.
11424	ThrottleSettings *ThrottleSettings `locationName:"throttleSettings" type:"structure"`
11425}
11426
11427// String returns the string representation
11428func (s Account) String() string {
11429	return awsutil.Prettify(s)
11430}
11431
11432// GoString returns the string representation
11433func (s Account) GoString() string {
11434	return s.String()
11435}
11436
11437// SetApiKeyVersion sets the ApiKeyVersion field's value.
11438func (s *Account) SetApiKeyVersion(v string) *Account {
11439	s.ApiKeyVersion = &v
11440	return s
11441}
11442
11443// SetCloudwatchRoleArn sets the CloudwatchRoleArn field's value.
11444func (s *Account) SetCloudwatchRoleArn(v string) *Account {
11445	s.CloudwatchRoleArn = &v
11446	return s
11447}
11448
11449// SetFeatures sets the Features field's value.
11450func (s *Account) SetFeatures(v []*string) *Account {
11451	s.Features = v
11452	return s
11453}
11454
11455// SetThrottleSettings sets the ThrottleSettings field's value.
11456func (s *Account) SetThrottleSettings(v *ThrottleSettings) *Account {
11457	s.ThrottleSettings = v
11458	return s
11459}
11460
11461// A resource that can be distributed to callers for executing Method resources
11462// that require an API key. API keys can be mapped to any Stage on any RestApi,
11463// which indicates that the callers with the API key can make requests to that
11464// stage.
11465//
11466// Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
11467type ApiKey struct {
11468	_ struct{} `type:"structure"`
11469
11470	// The timestamp when the API Key was created.
11471	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
11472
11473	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
11474	// Marketplace.
11475	CustomerId *string `locationName:"customerId" type:"string"`
11476
11477	// The description of the API Key.
11478	Description *string `locationName:"description" type:"string"`
11479
11480	// Specifies whether the API Key can be used by callers.
11481	Enabled *bool `locationName:"enabled" type:"boolean"`
11482
11483	// The identifier of the API Key.
11484	Id *string `locationName:"id" type:"string"`
11485
11486	// The timestamp when the API Key was last updated.
11487	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
11488
11489	// The name of the API Key.
11490	Name *string `locationName:"name" type:"string"`
11491
11492	// A list of Stage resources that are associated with the ApiKey resource.
11493	StageKeys []*string `locationName:"stageKeys" type:"list"`
11494
11495	// The collection of tags. Each tag element is associated with a given resource.
11496	Tags map[string]*string `locationName:"tags" type:"map"`
11497
11498	// The value of the API Key.
11499	Value *string `locationName:"value" type:"string"`
11500}
11501
11502// String returns the string representation
11503func (s ApiKey) String() string {
11504	return awsutil.Prettify(s)
11505}
11506
11507// GoString returns the string representation
11508func (s ApiKey) GoString() string {
11509	return s.String()
11510}
11511
11512// SetCreatedDate sets the CreatedDate field's value.
11513func (s *ApiKey) SetCreatedDate(v time.Time) *ApiKey {
11514	s.CreatedDate = &v
11515	return s
11516}
11517
11518// SetCustomerId sets the CustomerId field's value.
11519func (s *ApiKey) SetCustomerId(v string) *ApiKey {
11520	s.CustomerId = &v
11521	return s
11522}
11523
11524// SetDescription sets the Description field's value.
11525func (s *ApiKey) SetDescription(v string) *ApiKey {
11526	s.Description = &v
11527	return s
11528}
11529
11530// SetEnabled sets the Enabled field's value.
11531func (s *ApiKey) SetEnabled(v bool) *ApiKey {
11532	s.Enabled = &v
11533	return s
11534}
11535
11536// SetId sets the Id field's value.
11537func (s *ApiKey) SetId(v string) *ApiKey {
11538	s.Id = &v
11539	return s
11540}
11541
11542// SetLastUpdatedDate sets the LastUpdatedDate field's value.
11543func (s *ApiKey) SetLastUpdatedDate(v time.Time) *ApiKey {
11544	s.LastUpdatedDate = &v
11545	return s
11546}
11547
11548// SetName sets the Name field's value.
11549func (s *ApiKey) SetName(v string) *ApiKey {
11550	s.Name = &v
11551	return s
11552}
11553
11554// SetStageKeys sets the StageKeys field's value.
11555func (s *ApiKey) SetStageKeys(v []*string) *ApiKey {
11556	s.StageKeys = v
11557	return s
11558}
11559
11560// SetTags sets the Tags field's value.
11561func (s *ApiKey) SetTags(v map[string]*string) *ApiKey {
11562	s.Tags = v
11563	return s
11564}
11565
11566// SetValue sets the Value field's value.
11567func (s *ApiKey) SetValue(v string) *ApiKey {
11568	s.Value = &v
11569	return s
11570}
11571
11572// API stage name of the associated API stage in a usage plan.
11573type ApiStage struct {
11574	_ struct{} `type:"structure"`
11575
11576	// API Id of the associated API stage in a usage plan.
11577	ApiId *string `locationName:"apiId" type:"string"`
11578
11579	// API stage name of the associated API stage in a usage plan.
11580	Stage *string `locationName:"stage" type:"string"`
11581
11582	// Map containing method level throttling information for API stage in a usage
11583	// plan.
11584	Throttle map[string]*ThrottleSettings `locationName:"throttle" type:"map"`
11585}
11586
11587// String returns the string representation
11588func (s ApiStage) String() string {
11589	return awsutil.Prettify(s)
11590}
11591
11592// GoString returns the string representation
11593func (s ApiStage) GoString() string {
11594	return s.String()
11595}
11596
11597// SetApiId sets the ApiId field's value.
11598func (s *ApiStage) SetApiId(v string) *ApiStage {
11599	s.ApiId = &v
11600	return s
11601}
11602
11603// SetStage sets the Stage field's value.
11604func (s *ApiStage) SetStage(v string) *ApiStage {
11605	s.Stage = &v
11606	return s
11607}
11608
11609// SetThrottle sets the Throttle field's value.
11610func (s *ApiStage) SetThrottle(v map[string]*ThrottleSettings) *ApiStage {
11611	s.Throttle = v
11612	return s
11613}
11614
11615// Represents an authorization layer for methods. If enabled on a method, API
11616// Gateway will activate the authorizer when a client calls the method.
11617//
11618// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
11619// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
11620type Authorizer struct {
11621	_ struct{} `type:"structure"`
11622
11623	// Optional customer-defined field, used in OpenAPI imports and exports without
11624	// functional impact.
11625	AuthType *string `locationName:"authType" type:"string"`
11626
11627	// Specifies the required credentials as an IAM role for API Gateway to invoke
11628	// the authorizer. To specify an IAM role for API Gateway to assume, use the
11629	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
11630	// Lambda function, specify null.
11631	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
11632
11633	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
11634	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
11635	// responses. If this field is not set, the default value is 300. The maximum
11636	// value is 3600, or 1 hour.
11637	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
11638
11639	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
11640	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
11641	// 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.
11642	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
11643	// where {region} is the same as the region hosting the Lambda function, path
11644	// indicates that the remaining substring in the URI should be treated as the
11645	// path to the resource, including the initial /. For Lambda functions, this
11646	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
11647	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
11648
11649	// The identifier for the authorizer resource.
11650	Id *string `locationName:"id" type:"string"`
11651
11652	// The identity source for which authorization is requested.
11653	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
11654	//    the request header mapping expression for the custom header holding the
11655	//    authorization token submitted by the client. For example, if the token
11656	//    header name is Auth, the header mapping expression is method.request.header.Auth.
11657	//
11658	//    * For the REQUEST authorizer, this is required when authorization caching
11659	//    is enabled. The value is a comma-separated string of one or more mapping
11660	//    expressions of the specified request parameters. For example, if an Auth
11661	//    header, a Name query string parameter are defined as identity sources,
11662	//    this value is method.request.header.Auth, method.request.querystring.Name.
11663	//    These parameters will be used to derive the authorization caching key
11664	//    and to perform runtime validation of the REQUEST authorizer by verifying
11665	//    all of the identity-related request parameters are present, not null and
11666	//    non-empty. Only when this is true does the authorizer invoke the authorizer
11667	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
11668	//    calling the Lambda function. The valid value is a string of comma-separated
11669	//    mapping expressions of the specified request parameters. When the authorization
11670	//    caching is not enabled, this property is optional.
11671	IdentitySource *string `locationName:"identitySource" type:"string"`
11672
11673	// A validation expression for the incoming identity token. For TOKEN authorizers,
11674	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
11675	// Gateway will match the aud field of the incoming token from the client against
11676	// the specified regular expression. It will invoke the authorizer's Lambda
11677	// function when there is a match. Otherwise, it will return a 401 Unauthorized
11678	// response without calling the Lambda function. The validation expression does
11679	// not apply to the REQUEST authorizer.
11680	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
11681
11682	// [Required] The name of the authorizer.
11683	Name *string `locationName:"name" type:"string"`
11684
11685	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
11686	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
11687	// For a TOKEN or REQUEST authorizer, this is not defined.
11688	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
11689
11690	// The authorizer type. Valid values are TOKEN for a Lambda function using a
11691	// single authorization token submitted in a custom header, REQUEST for a Lambda
11692	// function using incoming request parameters, and COGNITO_USER_POOLS for using
11693	// an Amazon Cognito user pool.
11694	Type *string `locationName:"type" type:"string" enum:"AuthorizerType"`
11695}
11696
11697// String returns the string representation
11698func (s Authorizer) String() string {
11699	return awsutil.Prettify(s)
11700}
11701
11702// GoString returns the string representation
11703func (s Authorizer) GoString() string {
11704	return s.String()
11705}
11706
11707// SetAuthType sets the AuthType field's value.
11708func (s *Authorizer) SetAuthType(v string) *Authorizer {
11709	s.AuthType = &v
11710	return s
11711}
11712
11713// SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
11714func (s *Authorizer) SetAuthorizerCredentials(v string) *Authorizer {
11715	s.AuthorizerCredentials = &v
11716	return s
11717}
11718
11719// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
11720func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer {
11721	s.AuthorizerResultTtlInSeconds = &v
11722	return s
11723}
11724
11725// SetAuthorizerUri sets the AuthorizerUri field's value.
11726func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer {
11727	s.AuthorizerUri = &v
11728	return s
11729}
11730
11731// SetId sets the Id field's value.
11732func (s *Authorizer) SetId(v string) *Authorizer {
11733	s.Id = &v
11734	return s
11735}
11736
11737// SetIdentitySource sets the IdentitySource field's value.
11738func (s *Authorizer) SetIdentitySource(v string) *Authorizer {
11739	s.IdentitySource = &v
11740	return s
11741}
11742
11743// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
11744func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer {
11745	s.IdentityValidationExpression = &v
11746	return s
11747}
11748
11749// SetName sets the Name field's value.
11750func (s *Authorizer) SetName(v string) *Authorizer {
11751	s.Name = &v
11752	return s
11753}
11754
11755// SetProviderARNs sets the ProviderARNs field's value.
11756func (s *Authorizer) SetProviderARNs(v []*string) *Authorizer {
11757	s.ProviderARNs = v
11758	return s
11759}
11760
11761// SetType sets the Type field's value.
11762func (s *Authorizer) SetType(v string) *Authorizer {
11763	s.Type = &v
11764	return s
11765}
11766
11767// The submitted request is not valid, for example, the input is incomplete
11768// or incorrect. See the accompanying error message for details.
11769type BadRequestException struct {
11770	_            struct{} `type:"structure"`
11771	respMetadata protocol.ResponseMetadata
11772
11773	Message_ *string `locationName:"message" type:"string"`
11774}
11775
11776// String returns the string representation
11777func (s BadRequestException) String() string {
11778	return awsutil.Prettify(s)
11779}
11780
11781// GoString returns the string representation
11782func (s BadRequestException) GoString() string {
11783	return s.String()
11784}
11785
11786func newErrorBadRequestException(v protocol.ResponseMetadata) error {
11787	return &BadRequestException{
11788		respMetadata: v,
11789	}
11790}
11791
11792// Code returns the exception type name.
11793func (s BadRequestException) Code() string {
11794	return "BadRequestException"
11795}
11796
11797// Message returns the exception's message.
11798func (s BadRequestException) Message() string {
11799	if s.Message_ != nil {
11800		return *s.Message_
11801	}
11802	return ""
11803}
11804
11805// OrigErr always returns nil, satisfies awserr.Error interface.
11806func (s BadRequestException) OrigErr() error {
11807	return nil
11808}
11809
11810func (s BadRequestException) Error() string {
11811	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11812}
11813
11814// Status code returns the HTTP status code for the request's response error.
11815func (s BadRequestException) StatusCode() int {
11816	return s.respMetadata.StatusCode
11817}
11818
11819// RequestID returns the service's response RequestID for request.
11820func (s BadRequestException) RequestID() string {
11821	return s.respMetadata.RequestID
11822}
11823
11824// Represents the base path that callers of the API must provide as part of
11825// the URL after the domain name.
11826//
11827// A custom domain name plus a BasePathMapping specification identifies a deployed
11828// RestApi in a given stage of the owner Account.
11829//
11830// Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
11831type BasePathMapping struct {
11832	_ struct{} `type:"structure"`
11833
11834	// The base path name that callers of the API must provide as part of the URL
11835	// after the domain name.
11836	BasePath *string `locationName:"basePath" type:"string"`
11837
11838	// The string identifier of the associated RestApi.
11839	RestApiId *string `locationName:"restApiId" type:"string"`
11840
11841	// The name of the associated stage.
11842	Stage *string `locationName:"stage" type:"string"`
11843}
11844
11845// String returns the string representation
11846func (s BasePathMapping) String() string {
11847	return awsutil.Prettify(s)
11848}
11849
11850// GoString returns the string representation
11851func (s BasePathMapping) GoString() string {
11852	return s.String()
11853}
11854
11855// SetBasePath sets the BasePath field's value.
11856func (s *BasePathMapping) SetBasePath(v string) *BasePathMapping {
11857	s.BasePath = &v
11858	return s
11859}
11860
11861// SetRestApiId sets the RestApiId field's value.
11862func (s *BasePathMapping) SetRestApiId(v string) *BasePathMapping {
11863	s.RestApiId = &v
11864	return s
11865}
11866
11867// SetStage sets the Stage field's value.
11868func (s *BasePathMapping) SetStage(v string) *BasePathMapping {
11869	s.Stage = &v
11870	return s
11871}
11872
11873// Configuration settings of a canary deployment.
11874type CanarySettings struct {
11875	_ struct{} `type:"structure"`
11876
11877	// The ID of the canary deployment.
11878	DeploymentId *string `locationName:"deploymentId" type:"string"`
11879
11880	// The percent (0-100) of traffic diverted to a canary deployment.
11881	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
11882
11883	// Stage variables overridden for a canary release deployment, including new
11884	// stage variables introduced in the canary. These stage variables are represented
11885	// as a string-to-string map between stage variable names and their values.
11886	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
11887
11888	// A Boolean flag to indicate whether the canary deployment uses the stage cache
11889	// or not.
11890	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
11891}
11892
11893// String returns the string representation
11894func (s CanarySettings) String() string {
11895	return awsutil.Prettify(s)
11896}
11897
11898// GoString returns the string representation
11899func (s CanarySettings) GoString() string {
11900	return s.String()
11901}
11902
11903// SetDeploymentId sets the DeploymentId field's value.
11904func (s *CanarySettings) SetDeploymentId(v string) *CanarySettings {
11905	s.DeploymentId = &v
11906	return s
11907}
11908
11909// SetPercentTraffic sets the PercentTraffic field's value.
11910func (s *CanarySettings) SetPercentTraffic(v float64) *CanarySettings {
11911	s.PercentTraffic = &v
11912	return s
11913}
11914
11915// SetStageVariableOverrides sets the StageVariableOverrides field's value.
11916func (s *CanarySettings) SetStageVariableOverrides(v map[string]*string) *CanarySettings {
11917	s.StageVariableOverrides = v
11918	return s
11919}
11920
11921// SetUseStageCache sets the UseStageCache field's value.
11922func (s *CanarySettings) SetUseStageCache(v bool) *CanarySettings {
11923	s.UseStageCache = &v
11924	return s
11925}
11926
11927// Represents a client certificate used to configure client-side SSL authentication
11928// while sending requests to the integration endpoint.
11929//
11930// Client certificates are used to authenticate an API by the backend server.
11931// To authenticate an API client (or user), use IAM roles and policies, a custom
11932// Authorizer or an Amazon Cognito user pool.
11933//
11934// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
11935type ClientCertificate struct {
11936	_ struct{} `type:"structure"`
11937
11938	// The identifier of the client certificate.
11939	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
11940
11941	// The timestamp when the client certificate was created.
11942	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
11943
11944	// The description of the client certificate.
11945	Description *string `locationName:"description" type:"string"`
11946
11947	// The timestamp when the client certificate will expire.
11948	ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"`
11949
11950	// The PEM-encoded public key of the client certificate, which can be used to
11951	// configure certificate authentication in the integration endpoint .
11952	PemEncodedCertificate *string `locationName:"pemEncodedCertificate" type:"string"`
11953
11954	// The collection of tags. Each tag element is associated with a given resource.
11955	Tags map[string]*string `locationName:"tags" type:"map"`
11956}
11957
11958// String returns the string representation
11959func (s ClientCertificate) String() string {
11960	return awsutil.Prettify(s)
11961}
11962
11963// GoString returns the string representation
11964func (s ClientCertificate) GoString() string {
11965	return s.String()
11966}
11967
11968// SetClientCertificateId sets the ClientCertificateId field's value.
11969func (s *ClientCertificate) SetClientCertificateId(v string) *ClientCertificate {
11970	s.ClientCertificateId = &v
11971	return s
11972}
11973
11974// SetCreatedDate sets the CreatedDate field's value.
11975func (s *ClientCertificate) SetCreatedDate(v time.Time) *ClientCertificate {
11976	s.CreatedDate = &v
11977	return s
11978}
11979
11980// SetDescription sets the Description field's value.
11981func (s *ClientCertificate) SetDescription(v string) *ClientCertificate {
11982	s.Description = &v
11983	return s
11984}
11985
11986// SetExpirationDate sets the ExpirationDate field's value.
11987func (s *ClientCertificate) SetExpirationDate(v time.Time) *ClientCertificate {
11988	s.ExpirationDate = &v
11989	return s
11990}
11991
11992// SetPemEncodedCertificate sets the PemEncodedCertificate field's value.
11993func (s *ClientCertificate) SetPemEncodedCertificate(v string) *ClientCertificate {
11994	s.PemEncodedCertificate = &v
11995	return s
11996}
11997
11998// SetTags sets the Tags field's value.
11999func (s *ClientCertificate) SetTags(v map[string]*string) *ClientCertificate {
12000	s.Tags = v
12001	return s
12002}
12003
12004// The request configuration has conflicts. For details, see the accompanying
12005// error message.
12006type ConflictException struct {
12007	_            struct{} `type:"structure"`
12008	respMetadata protocol.ResponseMetadata
12009
12010	Message_ *string `locationName:"message" type:"string"`
12011}
12012
12013// String returns the string representation
12014func (s ConflictException) String() string {
12015	return awsutil.Prettify(s)
12016}
12017
12018// GoString returns the string representation
12019func (s ConflictException) GoString() string {
12020	return s.String()
12021}
12022
12023func newErrorConflictException(v protocol.ResponseMetadata) error {
12024	return &ConflictException{
12025		respMetadata: v,
12026	}
12027}
12028
12029// Code returns the exception type name.
12030func (s ConflictException) Code() string {
12031	return "ConflictException"
12032}
12033
12034// Message returns the exception's message.
12035func (s ConflictException) Message() string {
12036	if s.Message_ != nil {
12037		return *s.Message_
12038	}
12039	return ""
12040}
12041
12042// OrigErr always returns nil, satisfies awserr.Error interface.
12043func (s ConflictException) OrigErr() error {
12044	return nil
12045}
12046
12047func (s ConflictException) Error() string {
12048	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12049}
12050
12051// Status code returns the HTTP status code for the request's response error.
12052func (s ConflictException) StatusCode() int {
12053	return s.respMetadata.StatusCode
12054}
12055
12056// RequestID returns the service's response RequestID for request.
12057func (s ConflictException) RequestID() string {
12058	return s.respMetadata.RequestID
12059}
12060
12061// Request to create an ApiKey resource.
12062type CreateApiKeyInput struct {
12063	_ struct{} `type:"structure"`
12064
12065	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
12066	// Marketplace.
12067	CustomerId *string `locationName:"customerId" type:"string"`
12068
12069	// The description of the ApiKey.
12070	Description *string `locationName:"description" type:"string"`
12071
12072	// Specifies whether the ApiKey can be used by callers.
12073	Enabled *bool `locationName:"enabled" type:"boolean"`
12074
12075	// Specifies whether (true) or not (false) the key identifier is distinct from
12076	// the created API key value.
12077	GenerateDistinctId *bool `locationName:"generateDistinctId" type:"boolean"`
12078
12079	// The name of the ApiKey.
12080	Name *string `locationName:"name" type:"string"`
12081
12082	// DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
12083	StageKeys []*StageKey `locationName:"stageKeys" type:"list"`
12084
12085	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
12086	// The tag key can be up to 128 characters and must not start with aws:. The
12087	// tag value can be up to 256 characters.
12088	Tags map[string]*string `locationName:"tags" type:"map"`
12089
12090	// Specifies a value of the API key.
12091	Value *string `locationName:"value" type:"string"`
12092}
12093
12094// String returns the string representation
12095func (s CreateApiKeyInput) String() string {
12096	return awsutil.Prettify(s)
12097}
12098
12099// GoString returns the string representation
12100func (s CreateApiKeyInput) GoString() string {
12101	return s.String()
12102}
12103
12104// SetCustomerId sets the CustomerId field's value.
12105func (s *CreateApiKeyInput) SetCustomerId(v string) *CreateApiKeyInput {
12106	s.CustomerId = &v
12107	return s
12108}
12109
12110// SetDescription sets the Description field's value.
12111func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
12112	s.Description = &v
12113	return s
12114}
12115
12116// SetEnabled sets the Enabled field's value.
12117func (s *CreateApiKeyInput) SetEnabled(v bool) *CreateApiKeyInput {
12118	s.Enabled = &v
12119	return s
12120}
12121
12122// SetGenerateDistinctId sets the GenerateDistinctId field's value.
12123func (s *CreateApiKeyInput) SetGenerateDistinctId(v bool) *CreateApiKeyInput {
12124	s.GenerateDistinctId = &v
12125	return s
12126}
12127
12128// SetName sets the Name field's value.
12129func (s *CreateApiKeyInput) SetName(v string) *CreateApiKeyInput {
12130	s.Name = &v
12131	return s
12132}
12133
12134// SetStageKeys sets the StageKeys field's value.
12135func (s *CreateApiKeyInput) SetStageKeys(v []*StageKey) *CreateApiKeyInput {
12136	s.StageKeys = v
12137	return s
12138}
12139
12140// SetTags sets the Tags field's value.
12141func (s *CreateApiKeyInput) SetTags(v map[string]*string) *CreateApiKeyInput {
12142	s.Tags = v
12143	return s
12144}
12145
12146// SetValue sets the Value field's value.
12147func (s *CreateApiKeyInput) SetValue(v string) *CreateApiKeyInput {
12148	s.Value = &v
12149	return s
12150}
12151
12152// Request to add a new Authorizer to an existing RestApi resource.
12153type CreateAuthorizerInput struct {
12154	_ struct{} `type:"structure"`
12155
12156	// Optional customer-defined field, used in OpenAPI imports and exports without
12157	// functional impact.
12158	AuthType *string `locationName:"authType" type:"string"`
12159
12160	// Specifies the required credentials as an IAM role for API Gateway to invoke
12161	// the authorizer. To specify an IAM role for API Gateway to assume, use the
12162	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
12163	// Lambda function, specify null.
12164	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
12165
12166	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
12167	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
12168	// responses. If this field is not set, the default value is 300. The maximum
12169	// value is 3600, or 1 hour.
12170	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
12171
12172	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
12173	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
12174	// 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.
12175	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
12176	// where {region} is the same as the region hosting the Lambda function, path
12177	// indicates that the remaining substring in the URI should be treated as the
12178	// path to the resource, including the initial /. For Lambda functions, this
12179	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
12180	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
12181
12182	// The identity source for which authorization is requested.
12183	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
12184	//    the request header mapping expression for the custom header holding the
12185	//    authorization token submitted by the client. For example, if the token
12186	//    header name is Auth, the header mapping expression is method.request.header.Auth.
12187	//
12188	//    * For the REQUEST authorizer, this is required when authorization caching
12189	//    is enabled. The value is a comma-separated string of one or more mapping
12190	//    expressions of the specified request parameters. For example, if an Auth
12191	//    header, a Name query string parameter are defined as identity sources,
12192	//    this value is method.request.header.Auth, method.request.querystring.Name.
12193	//    These parameters will be used to derive the authorization caching key
12194	//    and to perform runtime validation of the REQUEST authorizer by verifying
12195	//    all of the identity-related request parameters are present, not null and
12196	//    non-empty. Only when this is true does the authorizer invoke the authorizer
12197	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
12198	//    calling the Lambda function. The valid value is a string of comma-separated
12199	//    mapping expressions of the specified request parameters. When the authorization
12200	//    caching is not enabled, this property is optional.
12201	IdentitySource *string `locationName:"identitySource" type:"string"`
12202
12203	// A validation expression for the incoming identity token. For TOKEN authorizers,
12204	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
12205	// Gateway will match the aud field of the incoming token from the client against
12206	// the specified regular expression. It will invoke the authorizer's Lambda
12207	// function when there is a match. Otherwise, it will return a 401 Unauthorized
12208	// response without calling the Lambda function. The validation expression does
12209	// not apply to the REQUEST authorizer.
12210	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
12211
12212	// [Required] The name of the authorizer.
12213	//
12214	// Name is a required field
12215	Name *string `locationName:"name" type:"string" required:"true"`
12216
12217	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
12218	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
12219	// For a TOKEN or REQUEST authorizer, this is not defined.
12220	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
12221
12222	// [Required] The string identifier of the associated RestApi.
12223	//
12224	// RestApiId is a required field
12225	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12226
12227	// [Required] The authorizer type. Valid values are TOKEN for a Lambda function
12228	// using a single authorization token submitted in a custom header, REQUEST
12229	// for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
12230	// for using an Amazon Cognito user pool.
12231	//
12232	// Type is a required field
12233	Type *string `locationName:"type" type:"string" required:"true" enum:"AuthorizerType"`
12234}
12235
12236// String returns the string representation
12237func (s CreateAuthorizerInput) String() string {
12238	return awsutil.Prettify(s)
12239}
12240
12241// GoString returns the string representation
12242func (s CreateAuthorizerInput) GoString() string {
12243	return s.String()
12244}
12245
12246// Validate inspects the fields of the type to determine if they are valid.
12247func (s *CreateAuthorizerInput) Validate() error {
12248	invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"}
12249	if s.Name == nil {
12250		invalidParams.Add(request.NewErrParamRequired("Name"))
12251	}
12252	if s.RestApiId == nil {
12253		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12254	}
12255	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12256		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12257	}
12258	if s.Type == nil {
12259		invalidParams.Add(request.NewErrParamRequired("Type"))
12260	}
12261
12262	if invalidParams.Len() > 0 {
12263		return invalidParams
12264	}
12265	return nil
12266}
12267
12268// SetAuthType sets the AuthType field's value.
12269func (s *CreateAuthorizerInput) SetAuthType(v string) *CreateAuthorizerInput {
12270	s.AuthType = &v
12271	return s
12272}
12273
12274// SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
12275func (s *CreateAuthorizerInput) SetAuthorizerCredentials(v string) *CreateAuthorizerInput {
12276	s.AuthorizerCredentials = &v
12277	return s
12278}
12279
12280// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
12281func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput {
12282	s.AuthorizerResultTtlInSeconds = &v
12283	return s
12284}
12285
12286// SetAuthorizerUri sets the AuthorizerUri field's value.
12287func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput {
12288	s.AuthorizerUri = &v
12289	return s
12290}
12291
12292// SetIdentitySource sets the IdentitySource field's value.
12293func (s *CreateAuthorizerInput) SetIdentitySource(v string) *CreateAuthorizerInput {
12294	s.IdentitySource = &v
12295	return s
12296}
12297
12298// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
12299func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput {
12300	s.IdentityValidationExpression = &v
12301	return s
12302}
12303
12304// SetName sets the Name field's value.
12305func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput {
12306	s.Name = &v
12307	return s
12308}
12309
12310// SetProviderARNs sets the ProviderARNs field's value.
12311func (s *CreateAuthorizerInput) SetProviderARNs(v []*string) *CreateAuthorizerInput {
12312	s.ProviderARNs = v
12313	return s
12314}
12315
12316// SetRestApiId sets the RestApiId field's value.
12317func (s *CreateAuthorizerInput) SetRestApiId(v string) *CreateAuthorizerInput {
12318	s.RestApiId = &v
12319	return s
12320}
12321
12322// SetType sets the Type field's value.
12323func (s *CreateAuthorizerInput) SetType(v string) *CreateAuthorizerInput {
12324	s.Type = &v
12325	return s
12326}
12327
12328// Requests API Gateway to create a new BasePathMapping resource.
12329type CreateBasePathMappingInput struct {
12330	_ struct{} `type:"structure"`
12331
12332	// The base path name that callers of the API must provide as part of the URL
12333	// after the domain name. This value must be unique for all of the mappings
12334	// across a single API. Specify '(none)' if you do not want callers to specify
12335	// a base path name after the domain name.
12336	BasePath *string `locationName:"basePath" type:"string"`
12337
12338	// [Required] The domain name of the BasePathMapping resource to create.
12339	//
12340	// DomainName is a required field
12341	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
12342
12343	// [Required] The string identifier of the associated RestApi.
12344	//
12345	// RestApiId is a required field
12346	RestApiId *string `locationName:"restApiId" type:"string" required:"true"`
12347
12348	// The name of the API's stage that you want to use for this mapping. Specify
12349	// '(none)' if you do not want callers to explicitly specify the stage name
12350	// after any base path name.
12351	Stage *string `locationName:"stage" type:"string"`
12352}
12353
12354// String returns the string representation
12355func (s CreateBasePathMappingInput) String() string {
12356	return awsutil.Prettify(s)
12357}
12358
12359// GoString returns the string representation
12360func (s CreateBasePathMappingInput) GoString() string {
12361	return s.String()
12362}
12363
12364// Validate inspects the fields of the type to determine if they are valid.
12365func (s *CreateBasePathMappingInput) Validate() error {
12366	invalidParams := request.ErrInvalidParams{Context: "CreateBasePathMappingInput"}
12367	if s.DomainName == nil {
12368		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12369	}
12370	if s.DomainName != nil && len(*s.DomainName) < 1 {
12371		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
12372	}
12373	if s.RestApiId == nil {
12374		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12375	}
12376
12377	if invalidParams.Len() > 0 {
12378		return invalidParams
12379	}
12380	return nil
12381}
12382
12383// SetBasePath sets the BasePath field's value.
12384func (s *CreateBasePathMappingInput) SetBasePath(v string) *CreateBasePathMappingInput {
12385	s.BasePath = &v
12386	return s
12387}
12388
12389// SetDomainName sets the DomainName field's value.
12390func (s *CreateBasePathMappingInput) SetDomainName(v string) *CreateBasePathMappingInput {
12391	s.DomainName = &v
12392	return s
12393}
12394
12395// SetRestApiId sets the RestApiId field's value.
12396func (s *CreateBasePathMappingInput) SetRestApiId(v string) *CreateBasePathMappingInput {
12397	s.RestApiId = &v
12398	return s
12399}
12400
12401// SetStage sets the Stage field's value.
12402func (s *CreateBasePathMappingInput) SetStage(v string) *CreateBasePathMappingInput {
12403	s.Stage = &v
12404	return s
12405}
12406
12407// Requests API Gateway to create a Deployment resource.
12408type CreateDeploymentInput struct {
12409	_ struct{} `type:"structure"`
12410
12411	// Enables a cache cluster for the Stage resource specified in the input.
12412	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
12413
12414	// Specifies the cache cluster size for the Stage resource specified in the
12415	// input, if a cache cluster is enabled.
12416	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
12417
12418	// The input configuration for the canary deployment when the deployment is
12419	// a canary release deployment.
12420	CanarySettings *DeploymentCanarySettings `locationName:"canarySettings" type:"structure"`
12421
12422	// The description for the Deployment resource to create.
12423	Description *string `locationName:"description" type:"string"`
12424
12425	// [Required] The string identifier of the associated RestApi.
12426	//
12427	// RestApiId is a required field
12428	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12429
12430	// The description of the Stage resource for the Deployment resource to create.
12431	StageDescription *string `locationName:"stageDescription" type:"string"`
12432
12433	// The name of the Stage resource for the Deployment resource to create.
12434	StageName *string `locationName:"stageName" type:"string"`
12435
12436	// Specifies whether active tracing with X-ray is enabled for the Stage.
12437	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
12438
12439	// A map that defines the stage variables for the Stage resource that is associated
12440	// with the new deployment. Variable names can have alphanumeric and underscore
12441	// characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
12442	Variables map[string]*string `locationName:"variables" type:"map"`
12443}
12444
12445// String returns the string representation
12446func (s CreateDeploymentInput) String() string {
12447	return awsutil.Prettify(s)
12448}
12449
12450// GoString returns the string representation
12451func (s CreateDeploymentInput) GoString() string {
12452	return s.String()
12453}
12454
12455// Validate inspects the fields of the type to determine if they are valid.
12456func (s *CreateDeploymentInput) Validate() error {
12457	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
12458	if s.RestApiId == nil {
12459		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12460	}
12461	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12462		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12463	}
12464
12465	if invalidParams.Len() > 0 {
12466		return invalidParams
12467	}
12468	return nil
12469}
12470
12471// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
12472func (s *CreateDeploymentInput) SetCacheClusterEnabled(v bool) *CreateDeploymentInput {
12473	s.CacheClusterEnabled = &v
12474	return s
12475}
12476
12477// SetCacheClusterSize sets the CacheClusterSize field's value.
12478func (s *CreateDeploymentInput) SetCacheClusterSize(v string) *CreateDeploymentInput {
12479	s.CacheClusterSize = &v
12480	return s
12481}
12482
12483// SetCanarySettings sets the CanarySettings field's value.
12484func (s *CreateDeploymentInput) SetCanarySettings(v *DeploymentCanarySettings) *CreateDeploymentInput {
12485	s.CanarySettings = v
12486	return s
12487}
12488
12489// SetDescription sets the Description field's value.
12490func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
12491	s.Description = &v
12492	return s
12493}
12494
12495// SetRestApiId sets the RestApiId field's value.
12496func (s *CreateDeploymentInput) SetRestApiId(v string) *CreateDeploymentInput {
12497	s.RestApiId = &v
12498	return s
12499}
12500
12501// SetStageDescription sets the StageDescription field's value.
12502func (s *CreateDeploymentInput) SetStageDescription(v string) *CreateDeploymentInput {
12503	s.StageDescription = &v
12504	return s
12505}
12506
12507// SetStageName sets the StageName field's value.
12508func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput {
12509	s.StageName = &v
12510	return s
12511}
12512
12513// SetTracingEnabled sets the TracingEnabled field's value.
12514func (s *CreateDeploymentInput) SetTracingEnabled(v bool) *CreateDeploymentInput {
12515	s.TracingEnabled = &v
12516	return s
12517}
12518
12519// SetVariables sets the Variables field's value.
12520func (s *CreateDeploymentInput) SetVariables(v map[string]*string) *CreateDeploymentInput {
12521	s.Variables = v
12522	return s
12523}
12524
12525// Creates a new documentation part of a given API.
12526type CreateDocumentationPartInput struct {
12527	_ struct{} `type:"structure"`
12528
12529	// [Required] The location of the targeted API entity of the to-be-created documentation
12530	// part.
12531	//
12532	// Location is a required field
12533	Location *DocumentationPartLocation `locationName:"location" type:"structure" required:"true"`
12534
12535	// [Required] The new documentation content map of the targeted API entity.
12536	// Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value
12537	// pairs can be exported and, hence, published.
12538	//
12539	// Properties is a required field
12540	Properties *string `locationName:"properties" type:"string" required:"true"`
12541
12542	// [Required] The string identifier of the associated RestApi.
12543	//
12544	// RestApiId is a required field
12545	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12546}
12547
12548// String returns the string representation
12549func (s CreateDocumentationPartInput) String() string {
12550	return awsutil.Prettify(s)
12551}
12552
12553// GoString returns the string representation
12554func (s CreateDocumentationPartInput) GoString() string {
12555	return s.String()
12556}
12557
12558// Validate inspects the fields of the type to determine if they are valid.
12559func (s *CreateDocumentationPartInput) Validate() error {
12560	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationPartInput"}
12561	if s.Location == nil {
12562		invalidParams.Add(request.NewErrParamRequired("Location"))
12563	}
12564	if s.Properties == nil {
12565		invalidParams.Add(request.NewErrParamRequired("Properties"))
12566	}
12567	if s.RestApiId == nil {
12568		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12569	}
12570	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12571		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12572	}
12573	if s.Location != nil {
12574		if err := s.Location.Validate(); err != nil {
12575			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
12576		}
12577	}
12578
12579	if invalidParams.Len() > 0 {
12580		return invalidParams
12581	}
12582	return nil
12583}
12584
12585// SetLocation sets the Location field's value.
12586func (s *CreateDocumentationPartInput) SetLocation(v *DocumentationPartLocation) *CreateDocumentationPartInput {
12587	s.Location = v
12588	return s
12589}
12590
12591// SetProperties sets the Properties field's value.
12592func (s *CreateDocumentationPartInput) SetProperties(v string) *CreateDocumentationPartInput {
12593	s.Properties = &v
12594	return s
12595}
12596
12597// SetRestApiId sets the RestApiId field's value.
12598func (s *CreateDocumentationPartInput) SetRestApiId(v string) *CreateDocumentationPartInput {
12599	s.RestApiId = &v
12600	return s
12601}
12602
12603// Creates a new documentation version of a given API.
12604type CreateDocumentationVersionInput struct {
12605	_ struct{} `type:"structure"`
12606
12607	// A description about the new documentation snapshot.
12608	Description *string `locationName:"description" type:"string"`
12609
12610	// [Required] The version identifier of the new snapshot.
12611	//
12612	// DocumentationVersion is a required field
12613	DocumentationVersion *string `locationName:"documentationVersion" type:"string" required:"true"`
12614
12615	// [Required] The string identifier of the associated RestApi.
12616	//
12617	// RestApiId is a required field
12618	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12619
12620	// The stage name to be associated with the new documentation snapshot.
12621	StageName *string `locationName:"stageName" type:"string"`
12622}
12623
12624// String returns the string representation
12625func (s CreateDocumentationVersionInput) String() string {
12626	return awsutil.Prettify(s)
12627}
12628
12629// GoString returns the string representation
12630func (s CreateDocumentationVersionInput) GoString() string {
12631	return s.String()
12632}
12633
12634// Validate inspects the fields of the type to determine if they are valid.
12635func (s *CreateDocumentationVersionInput) Validate() error {
12636	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationVersionInput"}
12637	if s.DocumentationVersion == nil {
12638		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
12639	}
12640	if s.RestApiId == nil {
12641		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12642	}
12643	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12644		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12645	}
12646
12647	if invalidParams.Len() > 0 {
12648		return invalidParams
12649	}
12650	return nil
12651}
12652
12653// SetDescription sets the Description field's value.
12654func (s *CreateDocumentationVersionInput) SetDescription(v string) *CreateDocumentationVersionInput {
12655	s.Description = &v
12656	return s
12657}
12658
12659// SetDocumentationVersion sets the DocumentationVersion field's value.
12660func (s *CreateDocumentationVersionInput) SetDocumentationVersion(v string) *CreateDocumentationVersionInput {
12661	s.DocumentationVersion = &v
12662	return s
12663}
12664
12665// SetRestApiId sets the RestApiId field's value.
12666func (s *CreateDocumentationVersionInput) SetRestApiId(v string) *CreateDocumentationVersionInput {
12667	s.RestApiId = &v
12668	return s
12669}
12670
12671// SetStageName sets the StageName field's value.
12672func (s *CreateDocumentationVersionInput) SetStageName(v string) *CreateDocumentationVersionInput {
12673	s.StageName = &v
12674	return s
12675}
12676
12677// A request to create a new domain name.
12678type CreateDomainNameInput struct {
12679	_ struct{} `type:"structure"`
12680
12681	// The reference to an AWS-managed certificate that will be used by edge-optimized
12682	// endpoint for this domain name. AWS Certificate Manager is the only supported
12683	// source.
12684	CertificateArn *string `locationName:"certificateArn" type:"string"`
12685
12686	// [Deprecated] The body of the server certificate that will be used by edge-optimized
12687	// endpoint for this domain name provided by your certificate authority.
12688	CertificateBody *string `locationName:"certificateBody" type:"string"`
12689
12690	// [Deprecated] The intermediate certificates and optionally the root certificate,
12691	// one after the other without any blank lines, used by an edge-optimized endpoint
12692	// for this domain name. If you include the root certificate, your certificate
12693	// chain must start with intermediate certificates and end with the root certificate.
12694	// Use the intermediate certificates that were provided by your certificate
12695	// authority. Do not include any intermediaries that are not in the chain of
12696	// trust path.
12697	CertificateChain *string `locationName:"certificateChain" type:"string"`
12698
12699	// The user-friendly name of the certificate that will be used by edge-optimized
12700	// endpoint for this domain name.
12701	CertificateName *string `locationName:"certificateName" type:"string"`
12702
12703	// [Deprecated] Your edge-optimized endpoint's domain name certificate's private
12704	// key.
12705	CertificatePrivateKey *string `locationName:"certificatePrivateKey" type:"string"`
12706
12707	// [Required] The name of the DomainName resource.
12708	//
12709	// DomainName is a required field
12710	DomainName *string `locationName:"domainName" type:"string" required:"true"`
12711
12712	// The endpoint configuration of this DomainName showing the endpoint types
12713	// of the domain name.
12714	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
12715
12716	// The reference to an AWS-managed certificate that will be used by regional
12717	// endpoint for this domain name. AWS Certificate Manager is the only supported
12718	// source.
12719	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
12720
12721	// The user-friendly name of the certificate that will be used by regional endpoint
12722	// for this domain name.
12723	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
12724
12725	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
12726	// The valid values are TLS_1_0 and TLS_1_2.
12727	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
12728
12729	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
12730	// The tag key can be up to 128 characters and must not start with aws:. The
12731	// tag value can be up to 256 characters.
12732	Tags map[string]*string `locationName:"tags" type:"map"`
12733}
12734
12735// String returns the string representation
12736func (s CreateDomainNameInput) String() string {
12737	return awsutil.Prettify(s)
12738}
12739
12740// GoString returns the string representation
12741func (s CreateDomainNameInput) GoString() string {
12742	return s.String()
12743}
12744
12745// Validate inspects the fields of the type to determine if they are valid.
12746func (s *CreateDomainNameInput) Validate() error {
12747	invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"}
12748	if s.DomainName == nil {
12749		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12750	}
12751
12752	if invalidParams.Len() > 0 {
12753		return invalidParams
12754	}
12755	return nil
12756}
12757
12758// SetCertificateArn sets the CertificateArn field's value.
12759func (s *CreateDomainNameInput) SetCertificateArn(v string) *CreateDomainNameInput {
12760	s.CertificateArn = &v
12761	return s
12762}
12763
12764// SetCertificateBody sets the CertificateBody field's value.
12765func (s *CreateDomainNameInput) SetCertificateBody(v string) *CreateDomainNameInput {
12766	s.CertificateBody = &v
12767	return s
12768}
12769
12770// SetCertificateChain sets the CertificateChain field's value.
12771func (s *CreateDomainNameInput) SetCertificateChain(v string) *CreateDomainNameInput {
12772	s.CertificateChain = &v
12773	return s
12774}
12775
12776// SetCertificateName sets the CertificateName field's value.
12777func (s *CreateDomainNameInput) SetCertificateName(v string) *CreateDomainNameInput {
12778	s.CertificateName = &v
12779	return s
12780}
12781
12782// SetCertificatePrivateKey sets the CertificatePrivateKey field's value.
12783func (s *CreateDomainNameInput) SetCertificatePrivateKey(v string) *CreateDomainNameInput {
12784	s.CertificatePrivateKey = &v
12785	return s
12786}
12787
12788// SetDomainName sets the DomainName field's value.
12789func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput {
12790	s.DomainName = &v
12791	return s
12792}
12793
12794// SetEndpointConfiguration sets the EndpointConfiguration field's value.
12795func (s *CreateDomainNameInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateDomainNameInput {
12796	s.EndpointConfiguration = v
12797	return s
12798}
12799
12800// SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
12801func (s *CreateDomainNameInput) SetRegionalCertificateArn(v string) *CreateDomainNameInput {
12802	s.RegionalCertificateArn = &v
12803	return s
12804}
12805
12806// SetRegionalCertificateName sets the RegionalCertificateName field's value.
12807func (s *CreateDomainNameInput) SetRegionalCertificateName(v string) *CreateDomainNameInput {
12808	s.RegionalCertificateName = &v
12809	return s
12810}
12811
12812// SetSecurityPolicy sets the SecurityPolicy field's value.
12813func (s *CreateDomainNameInput) SetSecurityPolicy(v string) *CreateDomainNameInput {
12814	s.SecurityPolicy = &v
12815	return s
12816}
12817
12818// SetTags sets the Tags field's value.
12819func (s *CreateDomainNameInput) SetTags(v map[string]*string) *CreateDomainNameInput {
12820	s.Tags = v
12821	return s
12822}
12823
12824// Request to add a new Model to an existing RestApi resource.
12825type CreateModelInput struct {
12826	_ struct{} `type:"structure"`
12827
12828	// [Required] The content-type for the model.
12829	//
12830	// ContentType is a required field
12831	ContentType *string `locationName:"contentType" type:"string" required:"true"`
12832
12833	// The description of the model.
12834	Description *string `locationName:"description" type:"string"`
12835
12836	// [Required] The name of the model. Must be alphanumeric.
12837	//
12838	// Name is a required field
12839	Name *string `locationName:"name" type:"string" required:"true"`
12840
12841	// [Required] The RestApi identifier under which the Model will be created.
12842	//
12843	// RestApiId is a required field
12844	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12845
12846	// The schema for the model. For application/json models, this should be JSON
12847	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
12848	Schema *string `locationName:"schema" type:"string"`
12849}
12850
12851// String returns the string representation
12852func (s CreateModelInput) String() string {
12853	return awsutil.Prettify(s)
12854}
12855
12856// GoString returns the string representation
12857func (s CreateModelInput) GoString() string {
12858	return s.String()
12859}
12860
12861// Validate inspects the fields of the type to determine if they are valid.
12862func (s *CreateModelInput) Validate() error {
12863	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
12864	if s.ContentType == nil {
12865		invalidParams.Add(request.NewErrParamRequired("ContentType"))
12866	}
12867	if s.Name == nil {
12868		invalidParams.Add(request.NewErrParamRequired("Name"))
12869	}
12870	if s.RestApiId == nil {
12871		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12872	}
12873	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12874		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12875	}
12876
12877	if invalidParams.Len() > 0 {
12878		return invalidParams
12879	}
12880	return nil
12881}
12882
12883// SetContentType sets the ContentType field's value.
12884func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
12885	s.ContentType = &v
12886	return s
12887}
12888
12889// SetDescription sets the Description field's value.
12890func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
12891	s.Description = &v
12892	return s
12893}
12894
12895// SetName sets the Name field's value.
12896func (s *CreateModelInput) SetName(v string) *CreateModelInput {
12897	s.Name = &v
12898	return s
12899}
12900
12901// SetRestApiId sets the RestApiId field's value.
12902func (s *CreateModelInput) SetRestApiId(v string) *CreateModelInput {
12903	s.RestApiId = &v
12904	return s
12905}
12906
12907// SetSchema sets the Schema field's value.
12908func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
12909	s.Schema = &v
12910	return s
12911}
12912
12913// Creates a RequestValidator of a given RestApi.
12914type CreateRequestValidatorInput struct {
12915	_ struct{} `type:"structure"`
12916
12917	// The name of the to-be-created RequestValidator.
12918	Name *string `locationName:"name" type:"string"`
12919
12920	// [Required] The string identifier of the associated RestApi.
12921	//
12922	// RestApiId is a required field
12923	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12924
12925	// A Boolean flag to indicate whether to validate request body according to
12926	// the configured model schema for the method (true) or not (false).
12927	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
12928
12929	// A Boolean flag to indicate whether to validate request parameters, true,
12930	// or not false.
12931	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
12932}
12933
12934// String returns the string representation
12935func (s CreateRequestValidatorInput) String() string {
12936	return awsutil.Prettify(s)
12937}
12938
12939// GoString returns the string representation
12940func (s CreateRequestValidatorInput) GoString() string {
12941	return s.String()
12942}
12943
12944// Validate inspects the fields of the type to determine if they are valid.
12945func (s *CreateRequestValidatorInput) Validate() error {
12946	invalidParams := request.ErrInvalidParams{Context: "CreateRequestValidatorInput"}
12947	if s.RestApiId == nil {
12948		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12949	}
12950	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12951		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12952	}
12953
12954	if invalidParams.Len() > 0 {
12955		return invalidParams
12956	}
12957	return nil
12958}
12959
12960// SetName sets the Name field's value.
12961func (s *CreateRequestValidatorInput) SetName(v string) *CreateRequestValidatorInput {
12962	s.Name = &v
12963	return s
12964}
12965
12966// SetRestApiId sets the RestApiId field's value.
12967func (s *CreateRequestValidatorInput) SetRestApiId(v string) *CreateRequestValidatorInput {
12968	s.RestApiId = &v
12969	return s
12970}
12971
12972// SetValidateRequestBody sets the ValidateRequestBody field's value.
12973func (s *CreateRequestValidatorInput) SetValidateRequestBody(v bool) *CreateRequestValidatorInput {
12974	s.ValidateRequestBody = &v
12975	return s
12976}
12977
12978// SetValidateRequestParameters sets the ValidateRequestParameters field's value.
12979func (s *CreateRequestValidatorInput) SetValidateRequestParameters(v bool) *CreateRequestValidatorInput {
12980	s.ValidateRequestParameters = &v
12981	return s
12982}
12983
12984// Requests API Gateway to create a Resource resource.
12985type CreateResourceInput struct {
12986	_ struct{} `type:"structure"`
12987
12988	// [Required] The parent resource's identifier.
12989	//
12990	// ParentId is a required field
12991	ParentId *string `location:"uri" locationName:"parent_id" type:"string" required:"true"`
12992
12993	// The last path segment for this resource.
12994	//
12995	// PathPart is a required field
12996	PathPart *string `locationName:"pathPart" type:"string" required:"true"`
12997
12998	// [Required] The string identifier of the associated RestApi.
12999	//
13000	// RestApiId is a required field
13001	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13002}
13003
13004// String returns the string representation
13005func (s CreateResourceInput) String() string {
13006	return awsutil.Prettify(s)
13007}
13008
13009// GoString returns the string representation
13010func (s CreateResourceInput) GoString() string {
13011	return s.String()
13012}
13013
13014// Validate inspects the fields of the type to determine if they are valid.
13015func (s *CreateResourceInput) Validate() error {
13016	invalidParams := request.ErrInvalidParams{Context: "CreateResourceInput"}
13017	if s.ParentId == nil {
13018		invalidParams.Add(request.NewErrParamRequired("ParentId"))
13019	}
13020	if s.ParentId != nil && len(*s.ParentId) < 1 {
13021		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
13022	}
13023	if s.PathPart == nil {
13024		invalidParams.Add(request.NewErrParamRequired("PathPart"))
13025	}
13026	if s.RestApiId == nil {
13027		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13028	}
13029	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13030		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13031	}
13032
13033	if invalidParams.Len() > 0 {
13034		return invalidParams
13035	}
13036	return nil
13037}
13038
13039// SetParentId sets the ParentId field's value.
13040func (s *CreateResourceInput) SetParentId(v string) *CreateResourceInput {
13041	s.ParentId = &v
13042	return s
13043}
13044
13045// SetPathPart sets the PathPart field's value.
13046func (s *CreateResourceInput) SetPathPart(v string) *CreateResourceInput {
13047	s.PathPart = &v
13048	return s
13049}
13050
13051// SetRestApiId sets the RestApiId field's value.
13052func (s *CreateResourceInput) SetRestApiId(v string) *CreateResourceInput {
13053	s.RestApiId = &v
13054	return s
13055}
13056
13057// The POST Request to add a new RestApi resource to your collection.
13058type CreateRestApiInput struct {
13059	_ struct{} `type:"structure"`
13060
13061	// The source of the API key for metering requests according to a usage plan.
13062	// Valid values are:
13063	//    * HEADER to read the API key from the X-API-Key header of a request.
13064	//
13065	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
13066	//    authorizer.
13067	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
13068
13069	// The list of binary media types supported by the RestApi. By default, the
13070	// RestApi supports only UTF-8-encoded text payloads.
13071	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
13072
13073	// The ID of the RestApi that you want to clone from.
13074	CloneFrom *string `locationName:"cloneFrom" type:"string"`
13075
13076	// The description of the RestApi.
13077	Description *string `locationName:"description" type:"string"`
13078
13079	// The endpoint configuration of this RestApi showing the endpoint types of
13080	// the API.
13081	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
13082
13083	// A nullable integer that is used to enable compression (with non-negative
13084	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
13085	// a null value) on an API. When compression is enabled, compression or decompression
13086	// is not applied on the payload if the payload size is smaller than this value.
13087	// Setting it to zero allows compression for any payload size.
13088	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
13089
13090	// [Required] The name of the RestApi.
13091	//
13092	// Name is a required field
13093	Name *string `locationName:"name" type:"string" required:"true"`
13094
13095	// A stringified JSON policy document that applies to this RestApi regardless
13096	// of the caller and Method configuration.
13097	Policy *string `locationName:"policy" type:"string"`
13098
13099	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13100	// The tag key can be up to 128 characters and must not start with aws:. The
13101	// tag value can be up to 256 characters.
13102	Tags map[string]*string `locationName:"tags" type:"map"`
13103
13104	// A version identifier for the API.
13105	Version *string `locationName:"version" type:"string"`
13106}
13107
13108// String returns the string representation
13109func (s CreateRestApiInput) String() string {
13110	return awsutil.Prettify(s)
13111}
13112
13113// GoString returns the string representation
13114func (s CreateRestApiInput) GoString() string {
13115	return s.String()
13116}
13117
13118// Validate inspects the fields of the type to determine if they are valid.
13119func (s *CreateRestApiInput) Validate() error {
13120	invalidParams := request.ErrInvalidParams{Context: "CreateRestApiInput"}
13121	if s.Name == nil {
13122		invalidParams.Add(request.NewErrParamRequired("Name"))
13123	}
13124
13125	if invalidParams.Len() > 0 {
13126		return invalidParams
13127	}
13128	return nil
13129}
13130
13131// SetApiKeySource sets the ApiKeySource field's value.
13132func (s *CreateRestApiInput) SetApiKeySource(v string) *CreateRestApiInput {
13133	s.ApiKeySource = &v
13134	return s
13135}
13136
13137// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
13138func (s *CreateRestApiInput) SetBinaryMediaTypes(v []*string) *CreateRestApiInput {
13139	s.BinaryMediaTypes = v
13140	return s
13141}
13142
13143// SetCloneFrom sets the CloneFrom field's value.
13144func (s *CreateRestApiInput) SetCloneFrom(v string) *CreateRestApiInput {
13145	s.CloneFrom = &v
13146	return s
13147}
13148
13149// SetDescription sets the Description field's value.
13150func (s *CreateRestApiInput) SetDescription(v string) *CreateRestApiInput {
13151	s.Description = &v
13152	return s
13153}
13154
13155// SetEndpointConfiguration sets the EndpointConfiguration field's value.
13156func (s *CreateRestApiInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateRestApiInput {
13157	s.EndpointConfiguration = v
13158	return s
13159}
13160
13161// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
13162func (s *CreateRestApiInput) SetMinimumCompressionSize(v int64) *CreateRestApiInput {
13163	s.MinimumCompressionSize = &v
13164	return s
13165}
13166
13167// SetName sets the Name field's value.
13168func (s *CreateRestApiInput) SetName(v string) *CreateRestApiInput {
13169	s.Name = &v
13170	return s
13171}
13172
13173// SetPolicy sets the Policy field's value.
13174func (s *CreateRestApiInput) SetPolicy(v string) *CreateRestApiInput {
13175	s.Policy = &v
13176	return s
13177}
13178
13179// SetTags sets the Tags field's value.
13180func (s *CreateRestApiInput) SetTags(v map[string]*string) *CreateRestApiInput {
13181	s.Tags = v
13182	return s
13183}
13184
13185// SetVersion sets the Version field's value.
13186func (s *CreateRestApiInput) SetVersion(v string) *CreateRestApiInput {
13187	s.Version = &v
13188	return s
13189}
13190
13191// Requests API Gateway to create a Stage resource.
13192type CreateStageInput struct {
13193	_ struct{} `type:"structure"`
13194
13195	// Whether cache clustering is enabled for the stage.
13196	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
13197
13198	// The stage's cache cluster size.
13199	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
13200
13201	// The canary deployment settings of this stage.
13202	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
13203
13204	// [Required] The identifier of the Deployment resource for the Stage resource.
13205	//
13206	// DeploymentId is a required field
13207	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
13208
13209	// The description of the Stage resource.
13210	Description *string `locationName:"description" type:"string"`
13211
13212	// The version of the associated API documentation.
13213	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
13214
13215	// [Required] The string identifier of the associated RestApi.
13216	//
13217	// RestApiId is a required field
13218	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13219
13220	// [Required] The name for the Stage resource. Stage names can only contain
13221	// alphanumeric characters, hyphens, and underscores. Maximum length is 128
13222	// characters.
13223	//
13224	// StageName is a required field
13225	StageName *string `locationName:"stageName" type:"string" required:"true"`
13226
13227	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13228	// The tag key can be up to 128 characters and must not start with aws:. The
13229	// tag value can be up to 256 characters.
13230	Tags map[string]*string `locationName:"tags" type:"map"`
13231
13232	// Specifies whether active tracing with X-ray is enabled for the Stage.
13233	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
13234
13235	// A map that defines the stage variables for the new Stage resource. Variable
13236	// names can have alphanumeric and underscore characters, and the values must
13237	// match [A-Za-z0-9-._~:/?#&=,]+.
13238	Variables map[string]*string `locationName:"variables" type:"map"`
13239}
13240
13241// String returns the string representation
13242func (s CreateStageInput) String() string {
13243	return awsutil.Prettify(s)
13244}
13245
13246// GoString returns the string representation
13247func (s CreateStageInput) GoString() string {
13248	return s.String()
13249}
13250
13251// Validate inspects the fields of the type to determine if they are valid.
13252func (s *CreateStageInput) Validate() error {
13253	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
13254	if s.DeploymentId == nil {
13255		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
13256	}
13257	if s.RestApiId == nil {
13258		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13259	}
13260	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13261		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13262	}
13263	if s.StageName == nil {
13264		invalidParams.Add(request.NewErrParamRequired("StageName"))
13265	}
13266
13267	if invalidParams.Len() > 0 {
13268		return invalidParams
13269	}
13270	return nil
13271}
13272
13273// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
13274func (s *CreateStageInput) SetCacheClusterEnabled(v bool) *CreateStageInput {
13275	s.CacheClusterEnabled = &v
13276	return s
13277}
13278
13279// SetCacheClusterSize sets the CacheClusterSize field's value.
13280func (s *CreateStageInput) SetCacheClusterSize(v string) *CreateStageInput {
13281	s.CacheClusterSize = &v
13282	return s
13283}
13284
13285// SetCanarySettings sets the CanarySettings field's value.
13286func (s *CreateStageInput) SetCanarySettings(v *CanarySettings) *CreateStageInput {
13287	s.CanarySettings = v
13288	return s
13289}
13290
13291// SetDeploymentId sets the DeploymentId field's value.
13292func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
13293	s.DeploymentId = &v
13294	return s
13295}
13296
13297// SetDescription sets the Description field's value.
13298func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
13299	s.Description = &v
13300	return s
13301}
13302
13303// SetDocumentationVersion sets the DocumentationVersion field's value.
13304func (s *CreateStageInput) SetDocumentationVersion(v string) *CreateStageInput {
13305	s.DocumentationVersion = &v
13306	return s
13307}
13308
13309// SetRestApiId sets the RestApiId field's value.
13310func (s *CreateStageInput) SetRestApiId(v string) *CreateStageInput {
13311	s.RestApiId = &v
13312	return s
13313}
13314
13315// SetStageName sets the StageName field's value.
13316func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
13317	s.StageName = &v
13318	return s
13319}
13320
13321// SetTags sets the Tags field's value.
13322func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
13323	s.Tags = v
13324	return s
13325}
13326
13327// SetTracingEnabled sets the TracingEnabled field's value.
13328func (s *CreateStageInput) SetTracingEnabled(v bool) *CreateStageInput {
13329	s.TracingEnabled = &v
13330	return s
13331}
13332
13333// SetVariables sets the Variables field's value.
13334func (s *CreateStageInput) SetVariables(v map[string]*string) *CreateStageInput {
13335	s.Variables = v
13336	return s
13337}
13338
13339// The POST request to create a usage plan with the name, description, throttle
13340// limits and quota limits, as well as the associated API stages, specified
13341// in the payload.
13342type CreateUsagePlanInput struct {
13343	_ struct{} `type:"structure"`
13344
13345	// The associated API stages of the usage plan.
13346	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
13347
13348	// The description of the usage plan.
13349	Description *string `locationName:"description" type:"string"`
13350
13351	// [Required] The name of the usage plan.
13352	//
13353	// Name is a required field
13354	Name *string `locationName:"name" type:"string" required:"true"`
13355
13356	// The quota of the usage plan.
13357	Quota *QuotaSettings `locationName:"quota" type:"structure"`
13358
13359	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13360	// The tag key can be up to 128 characters and must not start with aws:. The
13361	// tag value can be up to 256 characters.
13362	Tags map[string]*string `locationName:"tags" type:"map"`
13363
13364	// The throttling limits of the usage plan.
13365	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
13366}
13367
13368// String returns the string representation
13369func (s CreateUsagePlanInput) String() string {
13370	return awsutil.Prettify(s)
13371}
13372
13373// GoString returns the string representation
13374func (s CreateUsagePlanInput) GoString() string {
13375	return s.String()
13376}
13377
13378// Validate inspects the fields of the type to determine if they are valid.
13379func (s *CreateUsagePlanInput) Validate() error {
13380	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanInput"}
13381	if s.Name == nil {
13382		invalidParams.Add(request.NewErrParamRequired("Name"))
13383	}
13384
13385	if invalidParams.Len() > 0 {
13386		return invalidParams
13387	}
13388	return nil
13389}
13390
13391// SetApiStages sets the ApiStages field's value.
13392func (s *CreateUsagePlanInput) SetApiStages(v []*ApiStage) *CreateUsagePlanInput {
13393	s.ApiStages = v
13394	return s
13395}
13396
13397// SetDescription sets the Description field's value.
13398func (s *CreateUsagePlanInput) SetDescription(v string) *CreateUsagePlanInput {
13399	s.Description = &v
13400	return s
13401}
13402
13403// SetName sets the Name field's value.
13404func (s *CreateUsagePlanInput) SetName(v string) *CreateUsagePlanInput {
13405	s.Name = &v
13406	return s
13407}
13408
13409// SetQuota sets the Quota field's value.
13410func (s *CreateUsagePlanInput) SetQuota(v *QuotaSettings) *CreateUsagePlanInput {
13411	s.Quota = v
13412	return s
13413}
13414
13415// SetTags sets the Tags field's value.
13416func (s *CreateUsagePlanInput) SetTags(v map[string]*string) *CreateUsagePlanInput {
13417	s.Tags = v
13418	return s
13419}
13420
13421// SetThrottle sets the Throttle field's value.
13422func (s *CreateUsagePlanInput) SetThrottle(v *ThrottleSettings) *CreateUsagePlanInput {
13423	s.Throttle = v
13424	return s
13425}
13426
13427// The POST request to create a usage plan key for adding an existing API key
13428// to a usage plan.
13429type CreateUsagePlanKeyInput struct {
13430	_ struct{} `type:"structure"`
13431
13432	// [Required] The identifier of a UsagePlanKey resource for a plan customer.
13433	//
13434	// KeyId is a required field
13435	KeyId *string `locationName:"keyId" type:"string" required:"true"`
13436
13437	// [Required] The type of a UsagePlanKey resource for a plan customer.
13438	//
13439	// KeyType is a required field
13440	KeyType *string `locationName:"keyType" type:"string" required:"true"`
13441
13442	// [Required] The Id of the UsagePlan resource representing the usage plan containing
13443	// the to-be-created UsagePlanKey resource representing a plan customer.
13444	//
13445	// UsagePlanId is a required field
13446	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
13447}
13448
13449// String returns the string representation
13450func (s CreateUsagePlanKeyInput) String() string {
13451	return awsutil.Prettify(s)
13452}
13453
13454// GoString returns the string representation
13455func (s CreateUsagePlanKeyInput) GoString() string {
13456	return s.String()
13457}
13458
13459// Validate inspects the fields of the type to determine if they are valid.
13460func (s *CreateUsagePlanKeyInput) Validate() error {
13461	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanKeyInput"}
13462	if s.KeyId == nil {
13463		invalidParams.Add(request.NewErrParamRequired("KeyId"))
13464	}
13465	if s.KeyType == nil {
13466		invalidParams.Add(request.NewErrParamRequired("KeyType"))
13467	}
13468	if s.UsagePlanId == nil {
13469		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
13470	}
13471	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
13472		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
13473	}
13474
13475	if invalidParams.Len() > 0 {
13476		return invalidParams
13477	}
13478	return nil
13479}
13480
13481// SetKeyId sets the KeyId field's value.
13482func (s *CreateUsagePlanKeyInput) SetKeyId(v string) *CreateUsagePlanKeyInput {
13483	s.KeyId = &v
13484	return s
13485}
13486
13487// SetKeyType sets the KeyType field's value.
13488func (s *CreateUsagePlanKeyInput) SetKeyType(v string) *CreateUsagePlanKeyInput {
13489	s.KeyType = &v
13490	return s
13491}
13492
13493// SetUsagePlanId sets the UsagePlanId field's value.
13494func (s *CreateUsagePlanKeyInput) SetUsagePlanId(v string) *CreateUsagePlanKeyInput {
13495	s.UsagePlanId = &v
13496	return s
13497}
13498
13499// Creates a VPC link, under the caller's account in a selected region, in an
13500// asynchronous operation that typically takes 2-4 minutes to complete and become
13501// operational. The caller must have permissions to create and update VPC Endpoint
13502// services.
13503type CreateVpcLinkInput struct {
13504	_ struct{} `type:"structure"`
13505
13506	// The description of the VPC link.
13507	Description *string `locationName:"description" type:"string"`
13508
13509	// [Required] The name used to label and identify the VPC link.
13510	//
13511	// Name is a required field
13512	Name *string `locationName:"name" type:"string" required:"true"`
13513
13514	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13515	// The tag key can be up to 128 characters and must not start with aws:. The
13516	// tag value can be up to 256 characters.
13517	Tags map[string]*string `locationName:"tags" type:"map"`
13518
13519	// [Required] The ARNs of network load balancers of the VPC targeted by the
13520	// VPC link. The network load balancers must be owned by the same AWS account
13521	// of the API owner.
13522	//
13523	// TargetArns is a required field
13524	TargetArns []*string `locationName:"targetArns" type:"list" required:"true"`
13525}
13526
13527// String returns the string representation
13528func (s CreateVpcLinkInput) String() string {
13529	return awsutil.Prettify(s)
13530}
13531
13532// GoString returns the string representation
13533func (s CreateVpcLinkInput) GoString() string {
13534	return s.String()
13535}
13536
13537// Validate inspects the fields of the type to determine if they are valid.
13538func (s *CreateVpcLinkInput) Validate() error {
13539	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
13540	if s.Name == nil {
13541		invalidParams.Add(request.NewErrParamRequired("Name"))
13542	}
13543	if s.TargetArns == nil {
13544		invalidParams.Add(request.NewErrParamRequired("TargetArns"))
13545	}
13546
13547	if invalidParams.Len() > 0 {
13548		return invalidParams
13549	}
13550	return nil
13551}
13552
13553// SetDescription sets the Description field's value.
13554func (s *CreateVpcLinkInput) SetDescription(v string) *CreateVpcLinkInput {
13555	s.Description = &v
13556	return s
13557}
13558
13559// SetName sets the Name field's value.
13560func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
13561	s.Name = &v
13562	return s
13563}
13564
13565// SetTags sets the Tags field's value.
13566func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
13567	s.Tags = v
13568	return s
13569}
13570
13571// SetTargetArns sets the TargetArns field's value.
13572func (s *CreateVpcLinkInput) SetTargetArns(v []*string) *CreateVpcLinkInput {
13573	s.TargetArns = v
13574	return s
13575}
13576
13577// A request to delete the ApiKey resource.
13578type DeleteApiKeyInput struct {
13579	_ struct{} `type:"structure"`
13580
13581	// [Required] The identifier of the ApiKey resource to be deleted.
13582	//
13583	// ApiKey is a required field
13584	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
13585}
13586
13587// String returns the string representation
13588func (s DeleteApiKeyInput) String() string {
13589	return awsutil.Prettify(s)
13590}
13591
13592// GoString returns the string representation
13593func (s DeleteApiKeyInput) GoString() string {
13594	return s.String()
13595}
13596
13597// Validate inspects the fields of the type to determine if they are valid.
13598func (s *DeleteApiKeyInput) Validate() error {
13599	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
13600	if s.ApiKey == nil {
13601		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
13602	}
13603	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
13604		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
13605	}
13606
13607	if invalidParams.Len() > 0 {
13608		return invalidParams
13609	}
13610	return nil
13611}
13612
13613// SetApiKey sets the ApiKey field's value.
13614func (s *DeleteApiKeyInput) SetApiKey(v string) *DeleteApiKeyInput {
13615	s.ApiKey = &v
13616	return s
13617}
13618
13619type DeleteApiKeyOutput struct {
13620	_ struct{} `type:"structure"`
13621}
13622
13623// String returns the string representation
13624func (s DeleteApiKeyOutput) String() string {
13625	return awsutil.Prettify(s)
13626}
13627
13628// GoString returns the string representation
13629func (s DeleteApiKeyOutput) GoString() string {
13630	return s.String()
13631}
13632
13633// Request to delete an existing Authorizer resource.
13634type DeleteAuthorizerInput struct {
13635	_ struct{} `type:"structure"`
13636
13637	// [Required] The identifier of the Authorizer resource.
13638	//
13639	// AuthorizerId is a required field
13640	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
13641
13642	// [Required] The string identifier of the associated RestApi.
13643	//
13644	// RestApiId is a required field
13645	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13646}
13647
13648// String returns the string representation
13649func (s DeleteAuthorizerInput) String() string {
13650	return awsutil.Prettify(s)
13651}
13652
13653// GoString returns the string representation
13654func (s DeleteAuthorizerInput) GoString() string {
13655	return s.String()
13656}
13657
13658// Validate inspects the fields of the type to determine if they are valid.
13659func (s *DeleteAuthorizerInput) Validate() error {
13660	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
13661	if s.AuthorizerId == nil {
13662		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
13663	}
13664	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
13665		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
13666	}
13667	if s.RestApiId == nil {
13668		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13669	}
13670	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13671		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13672	}
13673
13674	if invalidParams.Len() > 0 {
13675		return invalidParams
13676	}
13677	return nil
13678}
13679
13680// SetAuthorizerId sets the AuthorizerId field's value.
13681func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
13682	s.AuthorizerId = &v
13683	return s
13684}
13685
13686// SetRestApiId sets the RestApiId field's value.
13687func (s *DeleteAuthorizerInput) SetRestApiId(v string) *DeleteAuthorizerInput {
13688	s.RestApiId = &v
13689	return s
13690}
13691
13692type DeleteAuthorizerOutput struct {
13693	_ struct{} `type:"structure"`
13694}
13695
13696// String returns the string representation
13697func (s DeleteAuthorizerOutput) String() string {
13698	return awsutil.Prettify(s)
13699}
13700
13701// GoString returns the string representation
13702func (s DeleteAuthorizerOutput) GoString() string {
13703	return s.String()
13704}
13705
13706// A request to delete the BasePathMapping resource.
13707type DeleteBasePathMappingInput struct {
13708	_ struct{} `type:"structure"`
13709
13710	// [Required] The base path name of the BasePathMapping resource to delete.
13711	//
13712	// To specify an empty base path, set this parameter to '(none)'.
13713	//
13714	// BasePath is a required field
13715	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
13716
13717	// [Required] The domain name of the BasePathMapping resource to delete.
13718	//
13719	// DomainName is a required field
13720	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
13721}
13722
13723// String returns the string representation
13724func (s DeleteBasePathMappingInput) String() string {
13725	return awsutil.Prettify(s)
13726}
13727
13728// GoString returns the string representation
13729func (s DeleteBasePathMappingInput) GoString() string {
13730	return s.String()
13731}
13732
13733// Validate inspects the fields of the type to determine if they are valid.
13734func (s *DeleteBasePathMappingInput) Validate() error {
13735	invalidParams := request.ErrInvalidParams{Context: "DeleteBasePathMappingInput"}
13736	if s.BasePath == nil {
13737		invalidParams.Add(request.NewErrParamRequired("BasePath"))
13738	}
13739	if s.BasePath != nil && len(*s.BasePath) < 1 {
13740		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
13741	}
13742	if s.DomainName == nil {
13743		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13744	}
13745	if s.DomainName != nil && len(*s.DomainName) < 1 {
13746		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
13747	}
13748
13749	if invalidParams.Len() > 0 {
13750		return invalidParams
13751	}
13752	return nil
13753}
13754
13755// SetBasePath sets the BasePath field's value.
13756func (s *DeleteBasePathMappingInput) SetBasePath(v string) *DeleteBasePathMappingInput {
13757	s.BasePath = &v
13758	return s
13759}
13760
13761// SetDomainName sets the DomainName field's value.
13762func (s *DeleteBasePathMappingInput) SetDomainName(v string) *DeleteBasePathMappingInput {
13763	s.DomainName = &v
13764	return s
13765}
13766
13767type DeleteBasePathMappingOutput struct {
13768	_ struct{} `type:"structure"`
13769}
13770
13771// String returns the string representation
13772func (s DeleteBasePathMappingOutput) String() string {
13773	return awsutil.Prettify(s)
13774}
13775
13776// GoString returns the string representation
13777func (s DeleteBasePathMappingOutput) GoString() string {
13778	return s.String()
13779}
13780
13781// A request to delete the ClientCertificate resource.
13782type DeleteClientCertificateInput struct {
13783	_ struct{} `type:"structure"`
13784
13785	// [Required] The identifier of the ClientCertificate resource to be deleted.
13786	//
13787	// ClientCertificateId is a required field
13788	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
13789}
13790
13791// String returns the string representation
13792func (s DeleteClientCertificateInput) String() string {
13793	return awsutil.Prettify(s)
13794}
13795
13796// GoString returns the string representation
13797func (s DeleteClientCertificateInput) GoString() string {
13798	return s.String()
13799}
13800
13801// Validate inspects the fields of the type to determine if they are valid.
13802func (s *DeleteClientCertificateInput) Validate() error {
13803	invalidParams := request.ErrInvalidParams{Context: "DeleteClientCertificateInput"}
13804	if s.ClientCertificateId == nil {
13805		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
13806	}
13807	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
13808		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
13809	}
13810
13811	if invalidParams.Len() > 0 {
13812		return invalidParams
13813	}
13814	return nil
13815}
13816
13817// SetClientCertificateId sets the ClientCertificateId field's value.
13818func (s *DeleteClientCertificateInput) SetClientCertificateId(v string) *DeleteClientCertificateInput {
13819	s.ClientCertificateId = &v
13820	return s
13821}
13822
13823type DeleteClientCertificateOutput struct {
13824	_ struct{} `type:"structure"`
13825}
13826
13827// String returns the string representation
13828func (s DeleteClientCertificateOutput) String() string {
13829	return awsutil.Prettify(s)
13830}
13831
13832// GoString returns the string representation
13833func (s DeleteClientCertificateOutput) GoString() string {
13834	return s.String()
13835}
13836
13837// Requests API Gateway to delete a Deployment resource.
13838type DeleteDeploymentInput struct {
13839	_ struct{} `type:"structure"`
13840
13841	// [Required] The identifier of the Deployment resource to delete.
13842	//
13843	// DeploymentId is a required field
13844	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
13845
13846	// [Required] The string identifier of the associated RestApi.
13847	//
13848	// RestApiId is a required field
13849	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13850}
13851
13852// String returns the string representation
13853func (s DeleteDeploymentInput) String() string {
13854	return awsutil.Prettify(s)
13855}
13856
13857// GoString returns the string representation
13858func (s DeleteDeploymentInput) GoString() string {
13859	return s.String()
13860}
13861
13862// Validate inspects the fields of the type to determine if they are valid.
13863func (s *DeleteDeploymentInput) Validate() error {
13864	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
13865	if s.DeploymentId == nil {
13866		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
13867	}
13868	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
13869		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
13870	}
13871	if s.RestApiId == nil {
13872		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13873	}
13874	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13875		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13876	}
13877
13878	if invalidParams.Len() > 0 {
13879		return invalidParams
13880	}
13881	return nil
13882}
13883
13884// SetDeploymentId sets the DeploymentId field's value.
13885func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
13886	s.DeploymentId = &v
13887	return s
13888}
13889
13890// SetRestApiId sets the RestApiId field's value.
13891func (s *DeleteDeploymentInput) SetRestApiId(v string) *DeleteDeploymentInput {
13892	s.RestApiId = &v
13893	return s
13894}
13895
13896type DeleteDeploymentOutput struct {
13897	_ struct{} `type:"structure"`
13898}
13899
13900// String returns the string representation
13901func (s DeleteDeploymentOutput) String() string {
13902	return awsutil.Prettify(s)
13903}
13904
13905// GoString returns the string representation
13906func (s DeleteDeploymentOutput) GoString() string {
13907	return s.String()
13908}
13909
13910// Deletes an existing documentation part of an API.
13911type DeleteDocumentationPartInput struct {
13912	_ struct{} `type:"structure"`
13913
13914	// [Required] The identifier of the to-be-deleted documentation part.
13915	//
13916	// DocumentationPartId is a required field
13917	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
13918
13919	// [Required] The string identifier of the associated RestApi.
13920	//
13921	// RestApiId is a required field
13922	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13923}
13924
13925// String returns the string representation
13926func (s DeleteDocumentationPartInput) String() string {
13927	return awsutil.Prettify(s)
13928}
13929
13930// GoString returns the string representation
13931func (s DeleteDocumentationPartInput) GoString() string {
13932	return s.String()
13933}
13934
13935// Validate inspects the fields of the type to determine if they are valid.
13936func (s *DeleteDocumentationPartInput) Validate() error {
13937	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationPartInput"}
13938	if s.DocumentationPartId == nil {
13939		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
13940	}
13941	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
13942		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
13943	}
13944	if s.RestApiId == nil {
13945		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13946	}
13947	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13948		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13949	}
13950
13951	if invalidParams.Len() > 0 {
13952		return invalidParams
13953	}
13954	return nil
13955}
13956
13957// SetDocumentationPartId sets the DocumentationPartId field's value.
13958func (s *DeleteDocumentationPartInput) SetDocumentationPartId(v string) *DeleteDocumentationPartInput {
13959	s.DocumentationPartId = &v
13960	return s
13961}
13962
13963// SetRestApiId sets the RestApiId field's value.
13964func (s *DeleteDocumentationPartInput) SetRestApiId(v string) *DeleteDocumentationPartInput {
13965	s.RestApiId = &v
13966	return s
13967}
13968
13969type DeleteDocumentationPartOutput struct {
13970	_ struct{} `type:"structure"`
13971}
13972
13973// String returns the string representation
13974func (s DeleteDocumentationPartOutput) String() string {
13975	return awsutil.Prettify(s)
13976}
13977
13978// GoString returns the string representation
13979func (s DeleteDocumentationPartOutput) GoString() string {
13980	return s.String()
13981}
13982
13983// Deletes an existing documentation version of an API.
13984type DeleteDocumentationVersionInput struct {
13985	_ struct{} `type:"structure"`
13986
13987	// [Required] The version identifier of a to-be-deleted documentation snapshot.
13988	//
13989	// DocumentationVersion is a required field
13990	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
13991
13992	// [Required] The string identifier of the associated RestApi.
13993	//
13994	// RestApiId is a required field
13995	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13996}
13997
13998// String returns the string representation
13999func (s DeleteDocumentationVersionInput) String() string {
14000	return awsutil.Prettify(s)
14001}
14002
14003// GoString returns the string representation
14004func (s DeleteDocumentationVersionInput) GoString() string {
14005	return s.String()
14006}
14007
14008// Validate inspects the fields of the type to determine if they are valid.
14009func (s *DeleteDocumentationVersionInput) Validate() error {
14010	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationVersionInput"}
14011	if s.DocumentationVersion == nil {
14012		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
14013	}
14014	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
14015		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
14016	}
14017	if s.RestApiId == nil {
14018		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14019	}
14020	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14021		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14022	}
14023
14024	if invalidParams.Len() > 0 {
14025		return invalidParams
14026	}
14027	return nil
14028}
14029
14030// SetDocumentationVersion sets the DocumentationVersion field's value.
14031func (s *DeleteDocumentationVersionInput) SetDocumentationVersion(v string) *DeleteDocumentationVersionInput {
14032	s.DocumentationVersion = &v
14033	return s
14034}
14035
14036// SetRestApiId sets the RestApiId field's value.
14037func (s *DeleteDocumentationVersionInput) SetRestApiId(v string) *DeleteDocumentationVersionInput {
14038	s.RestApiId = &v
14039	return s
14040}
14041
14042type DeleteDocumentationVersionOutput struct {
14043	_ struct{} `type:"structure"`
14044}
14045
14046// String returns the string representation
14047func (s DeleteDocumentationVersionOutput) String() string {
14048	return awsutil.Prettify(s)
14049}
14050
14051// GoString returns the string representation
14052func (s DeleteDocumentationVersionOutput) GoString() string {
14053	return s.String()
14054}
14055
14056// A request to delete the DomainName resource.
14057type DeleteDomainNameInput struct {
14058	_ struct{} `type:"structure"`
14059
14060	// [Required] The name of the DomainName resource to be deleted.
14061	//
14062	// DomainName is a required field
14063	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
14064}
14065
14066// String returns the string representation
14067func (s DeleteDomainNameInput) String() string {
14068	return awsutil.Prettify(s)
14069}
14070
14071// GoString returns the string representation
14072func (s DeleteDomainNameInput) GoString() string {
14073	return s.String()
14074}
14075
14076// Validate inspects the fields of the type to determine if they are valid.
14077func (s *DeleteDomainNameInput) Validate() error {
14078	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
14079	if s.DomainName == nil {
14080		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14081	}
14082	if s.DomainName != nil && len(*s.DomainName) < 1 {
14083		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
14084	}
14085
14086	if invalidParams.Len() > 0 {
14087		return invalidParams
14088	}
14089	return nil
14090}
14091
14092// SetDomainName sets the DomainName field's value.
14093func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
14094	s.DomainName = &v
14095	return s
14096}
14097
14098type DeleteDomainNameOutput struct {
14099	_ struct{} `type:"structure"`
14100}
14101
14102// String returns the string representation
14103func (s DeleteDomainNameOutput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation
14108func (s DeleteDomainNameOutput) GoString() string {
14109	return s.String()
14110}
14111
14112// Clears any customization of a GatewayResponse of a specified response type
14113// on the given RestApi and resets it with the default settings.
14114type DeleteGatewayResponseInput struct {
14115	_ struct{} `type:"structure"`
14116
14117	// [Required]
14118	// The response type of the associated GatewayResponse. Valid values are
14119	//    * ACCESS_DENIED
14120	//
14121	//    * API_CONFIGURATION_ERROR
14122	//
14123	//    * AUTHORIZER_FAILURE
14124	//
14125	//    * AUTHORIZER_CONFIGURATION_ERROR
14126	//
14127	//    * BAD_REQUEST_PARAMETERS
14128	//
14129	//    * BAD_REQUEST_BODY
14130	//
14131	//    * DEFAULT_4XX
14132	//
14133	//    * DEFAULT_5XX
14134	//
14135	//    * EXPIRED_TOKEN
14136	//
14137	//    * INVALID_SIGNATURE
14138	//
14139	//    * INTEGRATION_FAILURE
14140	//
14141	//    * INTEGRATION_TIMEOUT
14142	//
14143	//    * INVALID_API_KEY
14144	//
14145	//    * MISSING_AUTHENTICATION_TOKEN
14146	//
14147	//    * QUOTA_EXCEEDED
14148	//
14149	//    * REQUEST_TOO_LARGE
14150	//
14151	//    * RESOURCE_NOT_FOUND
14152	//
14153	//    * THROTTLED
14154	//
14155	//    * UNAUTHORIZED
14156	//
14157	//    * UNSUPPORTED_MEDIA_TYPE
14158	//
14159	// ResponseType is a required field
14160	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
14161
14162	// [Required] The string identifier of the associated RestApi.
14163	//
14164	// RestApiId is a required field
14165	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14166}
14167
14168// String returns the string representation
14169func (s DeleteGatewayResponseInput) String() string {
14170	return awsutil.Prettify(s)
14171}
14172
14173// GoString returns the string representation
14174func (s DeleteGatewayResponseInput) GoString() string {
14175	return s.String()
14176}
14177
14178// Validate inspects the fields of the type to determine if they are valid.
14179func (s *DeleteGatewayResponseInput) Validate() error {
14180	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayResponseInput"}
14181	if s.ResponseType == nil {
14182		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
14183	}
14184	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
14185		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
14186	}
14187	if s.RestApiId == nil {
14188		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14189	}
14190	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14191		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14192	}
14193
14194	if invalidParams.Len() > 0 {
14195		return invalidParams
14196	}
14197	return nil
14198}
14199
14200// SetResponseType sets the ResponseType field's value.
14201func (s *DeleteGatewayResponseInput) SetResponseType(v string) *DeleteGatewayResponseInput {
14202	s.ResponseType = &v
14203	return s
14204}
14205
14206// SetRestApiId sets the RestApiId field's value.
14207func (s *DeleteGatewayResponseInput) SetRestApiId(v string) *DeleteGatewayResponseInput {
14208	s.RestApiId = &v
14209	return s
14210}
14211
14212type DeleteGatewayResponseOutput struct {
14213	_ struct{} `type:"structure"`
14214}
14215
14216// String returns the string representation
14217func (s DeleteGatewayResponseOutput) String() string {
14218	return awsutil.Prettify(s)
14219}
14220
14221// GoString returns the string representation
14222func (s DeleteGatewayResponseOutput) GoString() string {
14223	return s.String()
14224}
14225
14226// Represents a delete integration request.
14227type DeleteIntegrationInput struct {
14228	_ struct{} `type:"structure"`
14229
14230	// [Required] Specifies a delete integration request's HTTP method.
14231	//
14232	// HttpMethod is a required field
14233	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14234
14235	// [Required] Specifies a delete integration request's resource identifier.
14236	//
14237	// ResourceId is a required field
14238	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14239
14240	// [Required] The string identifier of the associated RestApi.
14241	//
14242	// RestApiId is a required field
14243	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14244}
14245
14246// String returns the string representation
14247func (s DeleteIntegrationInput) String() string {
14248	return awsutil.Prettify(s)
14249}
14250
14251// GoString returns the string representation
14252func (s DeleteIntegrationInput) GoString() string {
14253	return s.String()
14254}
14255
14256// Validate inspects the fields of the type to determine if they are valid.
14257func (s *DeleteIntegrationInput) Validate() error {
14258	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
14259	if s.HttpMethod == nil {
14260		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14261	}
14262	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14263		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14264	}
14265	if s.ResourceId == nil {
14266		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14267	}
14268	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14269		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14270	}
14271	if s.RestApiId == nil {
14272		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14273	}
14274	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14275		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14276	}
14277
14278	if invalidParams.Len() > 0 {
14279		return invalidParams
14280	}
14281	return nil
14282}
14283
14284// SetHttpMethod sets the HttpMethod field's value.
14285func (s *DeleteIntegrationInput) SetHttpMethod(v string) *DeleteIntegrationInput {
14286	s.HttpMethod = &v
14287	return s
14288}
14289
14290// SetResourceId sets the ResourceId field's value.
14291func (s *DeleteIntegrationInput) SetResourceId(v string) *DeleteIntegrationInput {
14292	s.ResourceId = &v
14293	return s
14294}
14295
14296// SetRestApiId sets the RestApiId field's value.
14297func (s *DeleteIntegrationInput) SetRestApiId(v string) *DeleteIntegrationInput {
14298	s.RestApiId = &v
14299	return s
14300}
14301
14302type DeleteIntegrationOutput struct {
14303	_ struct{} `type:"structure"`
14304}
14305
14306// String returns the string representation
14307func (s DeleteIntegrationOutput) String() string {
14308	return awsutil.Prettify(s)
14309}
14310
14311// GoString returns the string representation
14312func (s DeleteIntegrationOutput) GoString() string {
14313	return s.String()
14314}
14315
14316// Represents a delete integration response request.
14317type DeleteIntegrationResponseInput struct {
14318	_ struct{} `type:"structure"`
14319
14320	// [Required] Specifies a delete integration response request's HTTP method.
14321	//
14322	// HttpMethod is a required field
14323	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14324
14325	// [Required] Specifies a delete integration response request's resource identifier.
14326	//
14327	// ResourceId is a required field
14328	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14329
14330	// [Required] The string identifier of the associated RestApi.
14331	//
14332	// RestApiId is a required field
14333	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14334
14335	// [Required] Specifies a delete integration response request's status code.
14336	//
14337	// StatusCode is a required field
14338	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
14339}
14340
14341// String returns the string representation
14342func (s DeleteIntegrationResponseInput) String() string {
14343	return awsutil.Prettify(s)
14344}
14345
14346// GoString returns the string representation
14347func (s DeleteIntegrationResponseInput) GoString() string {
14348	return s.String()
14349}
14350
14351// Validate inspects the fields of the type to determine if they are valid.
14352func (s *DeleteIntegrationResponseInput) Validate() error {
14353	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
14354	if s.HttpMethod == nil {
14355		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14356	}
14357	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14358		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14359	}
14360	if s.ResourceId == nil {
14361		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14362	}
14363	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14364		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14365	}
14366	if s.RestApiId == nil {
14367		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14368	}
14369	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14370		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14371	}
14372	if s.StatusCode == nil {
14373		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
14374	}
14375	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
14376		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
14377	}
14378
14379	if invalidParams.Len() > 0 {
14380		return invalidParams
14381	}
14382	return nil
14383}
14384
14385// SetHttpMethod sets the HttpMethod field's value.
14386func (s *DeleteIntegrationResponseInput) SetHttpMethod(v string) *DeleteIntegrationResponseInput {
14387	s.HttpMethod = &v
14388	return s
14389}
14390
14391// SetResourceId sets the ResourceId field's value.
14392func (s *DeleteIntegrationResponseInput) SetResourceId(v string) *DeleteIntegrationResponseInput {
14393	s.ResourceId = &v
14394	return s
14395}
14396
14397// SetRestApiId sets the RestApiId field's value.
14398func (s *DeleteIntegrationResponseInput) SetRestApiId(v string) *DeleteIntegrationResponseInput {
14399	s.RestApiId = &v
14400	return s
14401}
14402
14403// SetStatusCode sets the StatusCode field's value.
14404func (s *DeleteIntegrationResponseInput) SetStatusCode(v string) *DeleteIntegrationResponseInput {
14405	s.StatusCode = &v
14406	return s
14407}
14408
14409type DeleteIntegrationResponseOutput struct {
14410	_ struct{} `type:"structure"`
14411}
14412
14413// String returns the string representation
14414func (s DeleteIntegrationResponseOutput) String() string {
14415	return awsutil.Prettify(s)
14416}
14417
14418// GoString returns the string representation
14419func (s DeleteIntegrationResponseOutput) GoString() string {
14420	return s.String()
14421}
14422
14423// Request to delete an existing Method resource.
14424type DeleteMethodInput struct {
14425	_ struct{} `type:"structure"`
14426
14427	// [Required] The HTTP verb of the Method resource.
14428	//
14429	// HttpMethod is a required field
14430	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14431
14432	// [Required] The Resource identifier for the Method resource.
14433	//
14434	// ResourceId is a required field
14435	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14436
14437	// [Required] The string identifier of the associated RestApi.
14438	//
14439	// RestApiId is a required field
14440	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14441}
14442
14443// String returns the string representation
14444func (s DeleteMethodInput) String() string {
14445	return awsutil.Prettify(s)
14446}
14447
14448// GoString returns the string representation
14449func (s DeleteMethodInput) GoString() string {
14450	return s.String()
14451}
14452
14453// Validate inspects the fields of the type to determine if they are valid.
14454func (s *DeleteMethodInput) Validate() error {
14455	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodInput"}
14456	if s.HttpMethod == nil {
14457		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14458	}
14459	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14460		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14461	}
14462	if s.ResourceId == nil {
14463		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14464	}
14465	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14466		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14467	}
14468	if s.RestApiId == nil {
14469		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14470	}
14471	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14472		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14473	}
14474
14475	if invalidParams.Len() > 0 {
14476		return invalidParams
14477	}
14478	return nil
14479}
14480
14481// SetHttpMethod sets the HttpMethod field's value.
14482func (s *DeleteMethodInput) SetHttpMethod(v string) *DeleteMethodInput {
14483	s.HttpMethod = &v
14484	return s
14485}
14486
14487// SetResourceId sets the ResourceId field's value.
14488func (s *DeleteMethodInput) SetResourceId(v string) *DeleteMethodInput {
14489	s.ResourceId = &v
14490	return s
14491}
14492
14493// SetRestApiId sets the RestApiId field's value.
14494func (s *DeleteMethodInput) SetRestApiId(v string) *DeleteMethodInput {
14495	s.RestApiId = &v
14496	return s
14497}
14498
14499type DeleteMethodOutput struct {
14500	_ struct{} `type:"structure"`
14501}
14502
14503// String returns the string representation
14504func (s DeleteMethodOutput) String() string {
14505	return awsutil.Prettify(s)
14506}
14507
14508// GoString returns the string representation
14509func (s DeleteMethodOutput) GoString() string {
14510	return s.String()
14511}
14512
14513// A request to delete an existing MethodResponse resource.
14514type DeleteMethodResponseInput struct {
14515	_ struct{} `type:"structure"`
14516
14517	// [Required] The HTTP verb of the Method resource.
14518	//
14519	// HttpMethod is a required field
14520	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14521
14522	// [Required] The Resource identifier for the MethodResponse resource.
14523	//
14524	// ResourceId is a required field
14525	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14526
14527	// [Required] The string identifier of the associated RestApi.
14528	//
14529	// RestApiId is a required field
14530	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14531
14532	// [Required] The status code identifier for the MethodResponse resource.
14533	//
14534	// StatusCode is a required field
14535	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
14536}
14537
14538// String returns the string representation
14539func (s DeleteMethodResponseInput) String() string {
14540	return awsutil.Prettify(s)
14541}
14542
14543// GoString returns the string representation
14544func (s DeleteMethodResponseInput) GoString() string {
14545	return s.String()
14546}
14547
14548// Validate inspects the fields of the type to determine if they are valid.
14549func (s *DeleteMethodResponseInput) Validate() error {
14550	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodResponseInput"}
14551	if s.HttpMethod == nil {
14552		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14553	}
14554	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14555		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14556	}
14557	if s.ResourceId == nil {
14558		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14559	}
14560	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14561		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14562	}
14563	if s.RestApiId == nil {
14564		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14565	}
14566	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14567		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14568	}
14569	if s.StatusCode == nil {
14570		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
14571	}
14572	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
14573		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
14574	}
14575
14576	if invalidParams.Len() > 0 {
14577		return invalidParams
14578	}
14579	return nil
14580}
14581
14582// SetHttpMethod sets the HttpMethod field's value.
14583func (s *DeleteMethodResponseInput) SetHttpMethod(v string) *DeleteMethodResponseInput {
14584	s.HttpMethod = &v
14585	return s
14586}
14587
14588// SetResourceId sets the ResourceId field's value.
14589func (s *DeleteMethodResponseInput) SetResourceId(v string) *DeleteMethodResponseInput {
14590	s.ResourceId = &v
14591	return s
14592}
14593
14594// SetRestApiId sets the RestApiId field's value.
14595func (s *DeleteMethodResponseInput) SetRestApiId(v string) *DeleteMethodResponseInput {
14596	s.RestApiId = &v
14597	return s
14598}
14599
14600// SetStatusCode sets the StatusCode field's value.
14601func (s *DeleteMethodResponseInput) SetStatusCode(v string) *DeleteMethodResponseInput {
14602	s.StatusCode = &v
14603	return s
14604}
14605
14606type DeleteMethodResponseOutput struct {
14607	_ struct{} `type:"structure"`
14608}
14609
14610// String returns the string representation
14611func (s DeleteMethodResponseOutput) String() string {
14612	return awsutil.Prettify(s)
14613}
14614
14615// GoString returns the string representation
14616func (s DeleteMethodResponseOutput) GoString() string {
14617	return s.String()
14618}
14619
14620// Request to delete an existing model in an existing RestApi resource.
14621type DeleteModelInput struct {
14622	_ struct{} `type:"structure"`
14623
14624	// [Required] The name of the model to delete.
14625	//
14626	// ModelName is a required field
14627	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
14628
14629	// [Required] The string identifier of the associated RestApi.
14630	//
14631	// RestApiId is a required field
14632	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14633}
14634
14635// String returns the string representation
14636func (s DeleteModelInput) String() string {
14637	return awsutil.Prettify(s)
14638}
14639
14640// GoString returns the string representation
14641func (s DeleteModelInput) GoString() string {
14642	return s.String()
14643}
14644
14645// Validate inspects the fields of the type to determine if they are valid.
14646func (s *DeleteModelInput) Validate() error {
14647	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
14648	if s.ModelName == nil {
14649		invalidParams.Add(request.NewErrParamRequired("ModelName"))
14650	}
14651	if s.ModelName != nil && len(*s.ModelName) < 1 {
14652		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
14653	}
14654	if s.RestApiId == nil {
14655		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14656	}
14657	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14658		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14659	}
14660
14661	if invalidParams.Len() > 0 {
14662		return invalidParams
14663	}
14664	return nil
14665}
14666
14667// SetModelName sets the ModelName field's value.
14668func (s *DeleteModelInput) SetModelName(v string) *DeleteModelInput {
14669	s.ModelName = &v
14670	return s
14671}
14672
14673// SetRestApiId sets the RestApiId field's value.
14674func (s *DeleteModelInput) SetRestApiId(v string) *DeleteModelInput {
14675	s.RestApiId = &v
14676	return s
14677}
14678
14679type DeleteModelOutput struct {
14680	_ struct{} `type:"structure"`
14681}
14682
14683// String returns the string representation
14684func (s DeleteModelOutput) String() string {
14685	return awsutil.Prettify(s)
14686}
14687
14688// GoString returns the string representation
14689func (s DeleteModelOutput) GoString() string {
14690	return s.String()
14691}
14692
14693// Deletes a specified RequestValidator of a given RestApi.
14694type DeleteRequestValidatorInput struct {
14695	_ struct{} `type:"structure"`
14696
14697	// [Required] The identifier of the RequestValidator to be deleted.
14698	//
14699	// RequestValidatorId is a required field
14700	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
14701
14702	// [Required] The string identifier of the associated RestApi.
14703	//
14704	// RestApiId is a required field
14705	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14706}
14707
14708// String returns the string representation
14709func (s DeleteRequestValidatorInput) String() string {
14710	return awsutil.Prettify(s)
14711}
14712
14713// GoString returns the string representation
14714func (s DeleteRequestValidatorInput) GoString() string {
14715	return s.String()
14716}
14717
14718// Validate inspects the fields of the type to determine if they are valid.
14719func (s *DeleteRequestValidatorInput) Validate() error {
14720	invalidParams := request.ErrInvalidParams{Context: "DeleteRequestValidatorInput"}
14721	if s.RequestValidatorId == nil {
14722		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
14723	}
14724	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
14725		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
14726	}
14727	if s.RestApiId == nil {
14728		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14729	}
14730	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14731		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14732	}
14733
14734	if invalidParams.Len() > 0 {
14735		return invalidParams
14736	}
14737	return nil
14738}
14739
14740// SetRequestValidatorId sets the RequestValidatorId field's value.
14741func (s *DeleteRequestValidatorInput) SetRequestValidatorId(v string) *DeleteRequestValidatorInput {
14742	s.RequestValidatorId = &v
14743	return s
14744}
14745
14746// SetRestApiId sets the RestApiId field's value.
14747func (s *DeleteRequestValidatorInput) SetRestApiId(v string) *DeleteRequestValidatorInput {
14748	s.RestApiId = &v
14749	return s
14750}
14751
14752type DeleteRequestValidatorOutput struct {
14753	_ struct{} `type:"structure"`
14754}
14755
14756// String returns the string representation
14757func (s DeleteRequestValidatorOutput) String() string {
14758	return awsutil.Prettify(s)
14759}
14760
14761// GoString returns the string representation
14762func (s DeleteRequestValidatorOutput) GoString() string {
14763	return s.String()
14764}
14765
14766// Request to delete a Resource.
14767type DeleteResourceInput struct {
14768	_ struct{} `type:"structure"`
14769
14770	// [Required] The identifier of the Resource resource.
14771	//
14772	// ResourceId is a required field
14773	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14774
14775	// [Required] The string identifier of the associated RestApi.
14776	//
14777	// RestApiId is a required field
14778	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14779}
14780
14781// String returns the string representation
14782func (s DeleteResourceInput) String() string {
14783	return awsutil.Prettify(s)
14784}
14785
14786// GoString returns the string representation
14787func (s DeleteResourceInput) GoString() string {
14788	return s.String()
14789}
14790
14791// Validate inspects the fields of the type to determine if they are valid.
14792func (s *DeleteResourceInput) Validate() error {
14793	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceInput"}
14794	if s.ResourceId == nil {
14795		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14796	}
14797	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14798		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14799	}
14800	if s.RestApiId == nil {
14801		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14802	}
14803	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14804		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14805	}
14806
14807	if invalidParams.Len() > 0 {
14808		return invalidParams
14809	}
14810	return nil
14811}
14812
14813// SetResourceId sets the ResourceId field's value.
14814func (s *DeleteResourceInput) SetResourceId(v string) *DeleteResourceInput {
14815	s.ResourceId = &v
14816	return s
14817}
14818
14819// SetRestApiId sets the RestApiId field's value.
14820func (s *DeleteResourceInput) SetRestApiId(v string) *DeleteResourceInput {
14821	s.RestApiId = &v
14822	return s
14823}
14824
14825type DeleteResourceOutput struct {
14826	_ struct{} `type:"structure"`
14827}
14828
14829// String returns the string representation
14830func (s DeleteResourceOutput) String() string {
14831	return awsutil.Prettify(s)
14832}
14833
14834// GoString returns the string representation
14835func (s DeleteResourceOutput) GoString() string {
14836	return s.String()
14837}
14838
14839// Request to delete the specified API from your collection.
14840type DeleteRestApiInput struct {
14841	_ struct{} `type:"structure"`
14842
14843	// [Required] The string identifier of the associated RestApi.
14844	//
14845	// RestApiId is a required field
14846	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14847}
14848
14849// String returns the string representation
14850func (s DeleteRestApiInput) String() string {
14851	return awsutil.Prettify(s)
14852}
14853
14854// GoString returns the string representation
14855func (s DeleteRestApiInput) GoString() string {
14856	return s.String()
14857}
14858
14859// Validate inspects the fields of the type to determine if they are valid.
14860func (s *DeleteRestApiInput) Validate() error {
14861	invalidParams := request.ErrInvalidParams{Context: "DeleteRestApiInput"}
14862	if s.RestApiId == nil {
14863		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14864	}
14865	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14866		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14867	}
14868
14869	if invalidParams.Len() > 0 {
14870		return invalidParams
14871	}
14872	return nil
14873}
14874
14875// SetRestApiId sets the RestApiId field's value.
14876func (s *DeleteRestApiInput) SetRestApiId(v string) *DeleteRestApiInput {
14877	s.RestApiId = &v
14878	return s
14879}
14880
14881type DeleteRestApiOutput struct {
14882	_ struct{} `type:"structure"`
14883}
14884
14885// String returns the string representation
14886func (s DeleteRestApiOutput) String() string {
14887	return awsutil.Prettify(s)
14888}
14889
14890// GoString returns the string representation
14891func (s DeleteRestApiOutput) GoString() string {
14892	return s.String()
14893}
14894
14895// Requests API Gateway to delete a Stage resource.
14896type DeleteStageInput struct {
14897	_ struct{} `type:"structure"`
14898
14899	// [Required] The string identifier of the associated RestApi.
14900	//
14901	// RestApiId is a required field
14902	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14903
14904	// [Required] The name of the Stage resource to delete.
14905	//
14906	// StageName is a required field
14907	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
14908}
14909
14910// String returns the string representation
14911func (s DeleteStageInput) String() string {
14912	return awsutil.Prettify(s)
14913}
14914
14915// GoString returns the string representation
14916func (s DeleteStageInput) GoString() string {
14917	return s.String()
14918}
14919
14920// Validate inspects the fields of the type to determine if they are valid.
14921func (s *DeleteStageInput) Validate() error {
14922	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
14923	if s.RestApiId == nil {
14924		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14925	}
14926	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14927		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14928	}
14929	if s.StageName == nil {
14930		invalidParams.Add(request.NewErrParamRequired("StageName"))
14931	}
14932	if s.StageName != nil && len(*s.StageName) < 1 {
14933		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
14934	}
14935
14936	if invalidParams.Len() > 0 {
14937		return invalidParams
14938	}
14939	return nil
14940}
14941
14942// SetRestApiId sets the RestApiId field's value.
14943func (s *DeleteStageInput) SetRestApiId(v string) *DeleteStageInput {
14944	s.RestApiId = &v
14945	return s
14946}
14947
14948// SetStageName sets the StageName field's value.
14949func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
14950	s.StageName = &v
14951	return s
14952}
14953
14954type DeleteStageOutput struct {
14955	_ struct{} `type:"structure"`
14956}
14957
14958// String returns the string representation
14959func (s DeleteStageOutput) String() string {
14960	return awsutil.Prettify(s)
14961}
14962
14963// GoString returns the string representation
14964func (s DeleteStageOutput) GoString() string {
14965	return s.String()
14966}
14967
14968// The DELETE request to delete a usage plan of a given plan Id.
14969type DeleteUsagePlanInput struct {
14970	_ struct{} `type:"structure"`
14971
14972	// [Required] The Id of the to-be-deleted usage plan.
14973	//
14974	// UsagePlanId is a required field
14975	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
14976}
14977
14978// String returns the string representation
14979func (s DeleteUsagePlanInput) String() string {
14980	return awsutil.Prettify(s)
14981}
14982
14983// GoString returns the string representation
14984func (s DeleteUsagePlanInput) GoString() string {
14985	return s.String()
14986}
14987
14988// Validate inspects the fields of the type to determine if they are valid.
14989func (s *DeleteUsagePlanInput) Validate() error {
14990	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanInput"}
14991	if s.UsagePlanId == nil {
14992		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
14993	}
14994	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
14995		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
14996	}
14997
14998	if invalidParams.Len() > 0 {
14999		return invalidParams
15000	}
15001	return nil
15002}
15003
15004// SetUsagePlanId sets the UsagePlanId field's value.
15005func (s *DeleteUsagePlanInput) SetUsagePlanId(v string) *DeleteUsagePlanInput {
15006	s.UsagePlanId = &v
15007	return s
15008}
15009
15010// The DELETE request to delete a usage plan key and remove the underlying API
15011// key from the associated usage plan.
15012type DeleteUsagePlanKeyInput struct {
15013	_ struct{} `type:"structure"`
15014
15015	// [Required] The Id of the UsagePlanKey resource to be deleted.
15016	//
15017	// KeyId is a required field
15018	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
15019
15020	// [Required] The Id of the UsagePlan resource representing the usage plan containing
15021	// the to-be-deleted UsagePlanKey resource representing a plan customer.
15022	//
15023	// UsagePlanId is a required field
15024	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
15025}
15026
15027// String returns the string representation
15028func (s DeleteUsagePlanKeyInput) String() string {
15029	return awsutil.Prettify(s)
15030}
15031
15032// GoString returns the string representation
15033func (s DeleteUsagePlanKeyInput) GoString() string {
15034	return s.String()
15035}
15036
15037// Validate inspects the fields of the type to determine if they are valid.
15038func (s *DeleteUsagePlanKeyInput) Validate() error {
15039	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanKeyInput"}
15040	if s.KeyId == nil {
15041		invalidParams.Add(request.NewErrParamRequired("KeyId"))
15042	}
15043	if s.KeyId != nil && len(*s.KeyId) < 1 {
15044		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
15045	}
15046	if s.UsagePlanId == nil {
15047		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
15048	}
15049	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
15050		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
15051	}
15052
15053	if invalidParams.Len() > 0 {
15054		return invalidParams
15055	}
15056	return nil
15057}
15058
15059// SetKeyId sets the KeyId field's value.
15060func (s *DeleteUsagePlanKeyInput) SetKeyId(v string) *DeleteUsagePlanKeyInput {
15061	s.KeyId = &v
15062	return s
15063}
15064
15065// SetUsagePlanId sets the UsagePlanId field's value.
15066func (s *DeleteUsagePlanKeyInput) SetUsagePlanId(v string) *DeleteUsagePlanKeyInput {
15067	s.UsagePlanId = &v
15068	return s
15069}
15070
15071type DeleteUsagePlanKeyOutput struct {
15072	_ struct{} `type:"structure"`
15073}
15074
15075// String returns the string representation
15076func (s DeleteUsagePlanKeyOutput) String() string {
15077	return awsutil.Prettify(s)
15078}
15079
15080// GoString returns the string representation
15081func (s DeleteUsagePlanKeyOutput) GoString() string {
15082	return s.String()
15083}
15084
15085type DeleteUsagePlanOutput struct {
15086	_ struct{} `type:"structure"`
15087}
15088
15089// String returns the string representation
15090func (s DeleteUsagePlanOutput) String() string {
15091	return awsutil.Prettify(s)
15092}
15093
15094// GoString returns the string representation
15095func (s DeleteUsagePlanOutput) GoString() string {
15096	return s.String()
15097}
15098
15099// Deletes an existing VpcLink of a specified identifier.
15100type DeleteVpcLinkInput struct {
15101	_ struct{} `type:"structure"`
15102
15103	// [Required] The identifier of the VpcLink. It is used in an Integration to
15104	// reference this VpcLink.
15105	//
15106	// VpcLinkId is a required field
15107	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
15108}
15109
15110// String returns the string representation
15111func (s DeleteVpcLinkInput) String() string {
15112	return awsutil.Prettify(s)
15113}
15114
15115// GoString returns the string representation
15116func (s DeleteVpcLinkInput) GoString() string {
15117	return s.String()
15118}
15119
15120// Validate inspects the fields of the type to determine if they are valid.
15121func (s *DeleteVpcLinkInput) Validate() error {
15122	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
15123	if s.VpcLinkId == nil {
15124		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
15125	}
15126	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
15127		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
15128	}
15129
15130	if invalidParams.Len() > 0 {
15131		return invalidParams
15132	}
15133	return nil
15134}
15135
15136// SetVpcLinkId sets the VpcLinkId field's value.
15137func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
15138	s.VpcLinkId = &v
15139	return s
15140}
15141
15142type DeleteVpcLinkOutput struct {
15143	_ struct{} `type:"structure"`
15144}
15145
15146// String returns the string representation
15147func (s DeleteVpcLinkOutput) String() string {
15148	return awsutil.Prettify(s)
15149}
15150
15151// GoString returns the string representation
15152func (s DeleteVpcLinkOutput) GoString() string {
15153	return s.String()
15154}
15155
15156// An immutable representation of a RestApi resource that can be called by users
15157// using Stages. A deployment must be associated with a Stage for it to be callable
15158// over the Internet.
15159//
15160// To create a deployment, call POST on the Deployments resource of a RestApi.
15161// To view, update, or delete a deployment, call GET, PATCH, or DELETE on the
15162// specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
15163//
15164// RestApi, Deployments, Stage, AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
15165// AWS SDKs (https://aws.amazon.com/tools/)
15166type Deployment struct {
15167	_ struct{} `type:"structure"`
15168
15169	// A summary of the RestApi at the date and time that the deployment resource
15170	// was created.
15171	ApiSummary map[string]map[string]*MethodSnapshot `locationName:"apiSummary" type:"map"`
15172
15173	// The date and time that the deployment resource was created.
15174	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
15175
15176	// The description for the deployment resource.
15177	Description *string `locationName:"description" type:"string"`
15178
15179	// The identifier for the deployment resource.
15180	Id *string `locationName:"id" type:"string"`
15181}
15182
15183// String returns the string representation
15184func (s Deployment) String() string {
15185	return awsutil.Prettify(s)
15186}
15187
15188// GoString returns the string representation
15189func (s Deployment) GoString() string {
15190	return s.String()
15191}
15192
15193// SetApiSummary sets the ApiSummary field's value.
15194func (s *Deployment) SetApiSummary(v map[string]map[string]*MethodSnapshot) *Deployment {
15195	s.ApiSummary = v
15196	return s
15197}
15198
15199// SetCreatedDate sets the CreatedDate field's value.
15200func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
15201	s.CreatedDate = &v
15202	return s
15203}
15204
15205// SetDescription sets the Description field's value.
15206func (s *Deployment) SetDescription(v string) *Deployment {
15207	s.Description = &v
15208	return s
15209}
15210
15211// SetId sets the Id field's value.
15212func (s *Deployment) SetId(v string) *Deployment {
15213	s.Id = &v
15214	return s
15215}
15216
15217// The input configuration for a canary deployment.
15218type DeploymentCanarySettings struct {
15219	_ struct{} `type:"structure"`
15220
15221	// The percentage (0.0-100.0) of traffic routed to the canary deployment.
15222	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
15223
15224	// A stage variable overrides used for the canary release deployment. They can
15225	// override existing stage variables or add new stage variables for the canary
15226	// release deployment. These stage variables are represented as a string-to-string
15227	// map between stage variable names and their values.
15228	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
15229
15230	// A Boolean flag to indicate whether the canary release deployment uses the
15231	// stage cache or not.
15232	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
15233}
15234
15235// String returns the string representation
15236func (s DeploymentCanarySettings) String() string {
15237	return awsutil.Prettify(s)
15238}
15239
15240// GoString returns the string representation
15241func (s DeploymentCanarySettings) GoString() string {
15242	return s.String()
15243}
15244
15245// SetPercentTraffic sets the PercentTraffic field's value.
15246func (s *DeploymentCanarySettings) SetPercentTraffic(v float64) *DeploymentCanarySettings {
15247	s.PercentTraffic = &v
15248	return s
15249}
15250
15251// SetStageVariableOverrides sets the StageVariableOverrides field's value.
15252func (s *DeploymentCanarySettings) SetStageVariableOverrides(v map[string]*string) *DeploymentCanarySettings {
15253	s.StageVariableOverrides = v
15254	return s
15255}
15256
15257// SetUseStageCache sets the UseStageCache field's value.
15258func (s *DeploymentCanarySettings) SetUseStageCache(v bool) *DeploymentCanarySettings {
15259	s.UseStageCache = &v
15260	return s
15261}
15262
15263// A documentation part for a targeted API entity.
15264//
15265// A documentation part consists of a content map (properties) and a target
15266// (location). The target specifies an API entity to which the documentation
15267// content applies. The supported API entity types are API, AUTHORIZER, MODEL,
15268// RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
15269// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend
15270// on the API entity type. All valid fields are not required.
15271//
15272// The content map is a JSON string of API-specific key-value pairs. Although
15273// an API can use any shape for the content map, only the OpenAPI-compliant
15274// documentation fields will be injected into the associated API entity definition
15275// in the exported OpenAPI definition file.
15276//
15277// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
15278// DocumentationParts
15279type DocumentationPart struct {
15280	_ struct{} `type:"structure"`
15281
15282	// The DocumentationPart identifier, generated by API Gateway when the DocumentationPart
15283	// is created.
15284	Id *string `locationName:"id" type:"string"`
15285
15286	// The location of the API entity to which the documentation applies. Valid
15287	// fields depend on the targeted API entity type. All the valid location fields
15288	// are not required. If not explicitly specified, a valid location field is
15289	// treated as a wildcard and associated documentation content may be inherited
15290	// by matching entities, unless overridden.
15291	Location *DocumentationPartLocation `locationName:"location" type:"structure"`
15292
15293	// A content map of API-specific key-value pairs describing the targeted API
15294	// entity. The map must be encoded as a JSON string, e.g., "{ \"description\":
15295	// \"The API does ...\" }". Only OpenAPI-compliant documentation-related fields
15296	// from the properties map are exported and, hence, published as part of the
15297	// API entity definitions, while the original documentation parts are exported
15298	// in a OpenAPI extension of x-amazon-apigateway-documentation.
15299	Properties *string `locationName:"properties" type:"string"`
15300}
15301
15302// String returns the string representation
15303func (s DocumentationPart) String() string {
15304	return awsutil.Prettify(s)
15305}
15306
15307// GoString returns the string representation
15308func (s DocumentationPart) GoString() string {
15309	return s.String()
15310}
15311
15312// SetId sets the Id field's value.
15313func (s *DocumentationPart) SetId(v string) *DocumentationPart {
15314	s.Id = &v
15315	return s
15316}
15317
15318// SetLocation sets the Location field's value.
15319func (s *DocumentationPart) SetLocation(v *DocumentationPartLocation) *DocumentationPart {
15320	s.Location = v
15321	return s
15322}
15323
15324// SetProperties sets the Properties field's value.
15325func (s *DocumentationPart) SetProperties(v string) *DocumentationPart {
15326	s.Properties = &v
15327	return s
15328}
15329
15330// Specifies the target API entity to which the documentation applies.
15331type DocumentationPartLocation struct {
15332	_ struct{} `type:"structure"`
15333
15334	// The HTTP verb of a method. It is a valid field for the API entity types of
15335	// METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE,
15336	// RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method.
15337	// When an applicable child entity inherits the content of an entity of the
15338	// same type with more general specifications of the other location attributes,
15339	// the child entity's method attribute must match that of the parent entity
15340	// exactly.
15341	Method *string `locationName:"method" type:"string"`
15342
15343	// The name of the targeted API entity. It is a valid and required field for
15344	// the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER,
15345	// REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field
15346	// for any other entity type.
15347	Name *string `locationName:"name" type:"string"`
15348
15349	// The URL path of the target. It is a valid field for the API entity types
15350	// of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
15351	// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for
15352	// the root resource. When an applicable child entity inherits the content of
15353	// another entity of the same type with more general specifications of the other
15354	// location attributes, the child entity's path attribute must match that of
15355	// the parent entity as a prefix.
15356	Path *string `locationName:"path" type:"string"`
15357
15358	// The HTTP status code of a response. It is a valid field for the API entity
15359	// types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value
15360	// is * for any status code. When an applicable child entity inherits the content
15361	// of an entity of the same type with more general specifications of the other
15362	// location attributes, the child entity's statusCode attribute must match that
15363	// of the parent entity exactly.
15364	StatusCode *string `locationName:"statusCode" type:"string"`
15365
15366	// [Required] The type of API entity to which the documentation content applies.
15367	// Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER,
15368	// QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER,
15369	// and RESPONSE_BODY. Content inheritance does not apply to any entity of the
15370	// API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.
15371	//
15372	// Type is a required field
15373	Type *string `locationName:"type" type:"string" required:"true" enum:"DocumentationPartType"`
15374}
15375
15376// String returns the string representation
15377func (s DocumentationPartLocation) String() string {
15378	return awsutil.Prettify(s)
15379}
15380
15381// GoString returns the string representation
15382func (s DocumentationPartLocation) GoString() string {
15383	return s.String()
15384}
15385
15386// Validate inspects the fields of the type to determine if they are valid.
15387func (s *DocumentationPartLocation) Validate() error {
15388	invalidParams := request.ErrInvalidParams{Context: "DocumentationPartLocation"}
15389	if s.Type == nil {
15390		invalidParams.Add(request.NewErrParamRequired("Type"))
15391	}
15392
15393	if invalidParams.Len() > 0 {
15394		return invalidParams
15395	}
15396	return nil
15397}
15398
15399// SetMethod sets the Method field's value.
15400func (s *DocumentationPartLocation) SetMethod(v string) *DocumentationPartLocation {
15401	s.Method = &v
15402	return s
15403}
15404
15405// SetName sets the Name field's value.
15406func (s *DocumentationPartLocation) SetName(v string) *DocumentationPartLocation {
15407	s.Name = &v
15408	return s
15409}
15410
15411// SetPath sets the Path field's value.
15412func (s *DocumentationPartLocation) SetPath(v string) *DocumentationPartLocation {
15413	s.Path = &v
15414	return s
15415}
15416
15417// SetStatusCode sets the StatusCode field's value.
15418func (s *DocumentationPartLocation) SetStatusCode(v string) *DocumentationPartLocation {
15419	s.StatusCode = &v
15420	return s
15421}
15422
15423// SetType sets the Type field's value.
15424func (s *DocumentationPartLocation) SetType(v string) *DocumentationPartLocation {
15425	s.Type = &v
15426	return s
15427}
15428
15429// A snapshot of the documentation of an API.
15430//
15431// Publishing API documentation involves creating a documentation version associated
15432// with an API stage and exporting the versioned documentation to an external
15433// (e.g., OpenAPI) file.
15434//
15435// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
15436// DocumentationPart, DocumentationVersions
15437type DocumentationVersion struct {
15438	_ struct{} `type:"structure"`
15439
15440	// The date when the API documentation snapshot is created.
15441	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
15442
15443	// The description of the API documentation snapshot.
15444	Description *string `locationName:"description" type:"string"`
15445
15446	// The version identifier of the API documentation snapshot.
15447	Version *string `locationName:"version" type:"string"`
15448}
15449
15450// String returns the string representation
15451func (s DocumentationVersion) String() string {
15452	return awsutil.Prettify(s)
15453}
15454
15455// GoString returns the string representation
15456func (s DocumentationVersion) GoString() string {
15457	return s.String()
15458}
15459
15460// SetCreatedDate sets the CreatedDate field's value.
15461func (s *DocumentationVersion) SetCreatedDate(v time.Time) *DocumentationVersion {
15462	s.CreatedDate = &v
15463	return s
15464}
15465
15466// SetDescription sets the Description field's value.
15467func (s *DocumentationVersion) SetDescription(v string) *DocumentationVersion {
15468	s.Description = &v
15469	return s
15470}
15471
15472// SetVersion sets the Version field's value.
15473func (s *DocumentationVersion) SetVersion(v string) *DocumentationVersion {
15474	s.Version = &v
15475	return s
15476}
15477
15478// Represents a custom domain name as a user-friendly host name of an API (RestApi).
15479//
15480// When you deploy an API, API Gateway creates a default host name for the API.
15481// This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com
15482// format. With the default host name, you can access the API's root resource
15483// with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/.
15484// When you set up a custom domain name of apis.example.com for this API, you
15485// can then access the same resource using the URL of the https://apis.examples.com/myApi,
15486// where myApi is the base path mapping (BasePathMapping) of your API under
15487// the custom domain name.
15488//
15489// Set a Custom Host Name for an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
15490type DomainName struct {
15491	_ struct{} `type:"structure"`
15492
15493	// The reference to an AWS-managed certificate that will be used by edge-optimized
15494	// endpoint for this domain name. AWS Certificate Manager is the only supported
15495	// source.
15496	CertificateArn *string `locationName:"certificateArn" type:"string"`
15497
15498	// The name of the certificate that will be used by edge-optimized endpoint
15499	// for this domain name.
15500	CertificateName *string `locationName:"certificateName" type:"string"`
15501
15502	// The timestamp when the certificate that was used by edge-optimized endpoint
15503	// for this domain name was uploaded.
15504	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp"`
15505
15506	// The domain name of the Amazon CloudFront distribution associated with this
15507	// custom domain name for an edge-optimized endpoint. You set up this association
15508	// when adding a DNS record pointing the custom domain name to this distribution
15509	// name. For more information about CloudFront distributions, see the Amazon
15510	// CloudFront documentation (https://aws.amazon.com/documentation/cloudfront/).
15511	DistributionDomainName *string `locationName:"distributionDomainName" type:"string"`
15512
15513	// The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
15514	// endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more
15515	// information, see Set up a Regional Custom Domain Name (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-regional-api-custom-domain-create.html)
15516	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
15517	DistributionHostedZoneId *string `locationName:"distributionHostedZoneId" type:"string"`
15518
15519	// The custom domain name as an API host name, for example, my-api.example.com.
15520	DomainName *string `locationName:"domainName" type:"string"`
15521
15522	// The status of the DomainName migration. The valid values are AVAILABLE and
15523	// UPDATING. If the status is UPDATING, the domain cannot be modified further
15524	// until the existing operation is complete. If it is AVAILABLE, the domain
15525	// can be updated.
15526	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
15527
15528	// An optional text message containing detailed information about status of
15529	// the DomainName migration.
15530	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
15531
15532	// The endpoint configuration of this DomainName showing the endpoint types
15533	// of the domain name.
15534	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
15535
15536	// The reference to an AWS-managed certificate that will be used for validating
15537	// the regional domain name. AWS Certificate Manager is the only supported source.
15538	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
15539
15540	// The name of the certificate that will be used for validating the regional
15541	// domain name.
15542	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
15543
15544	// The domain name associated with the regional endpoint for this custom domain
15545	// name. You set up this association by adding a DNS record that points the
15546	// custom domain name to this regional domain name. The regional domain name
15547	// is returned by API Gateway when you create a regional endpoint.
15548	RegionalDomainName *string `locationName:"regionalDomainName" type:"string"`
15549
15550	// The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
15551	// For more information, see Set up a Regional Custom Domain Name (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-regional-api-custom-domain-create.html)
15552	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
15553	RegionalHostedZoneId *string `locationName:"regionalHostedZoneId" type:"string"`
15554
15555	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
15556	// The valid values are TLS_1_0 and TLS_1_2.
15557	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
15558
15559	// The collection of tags. Each tag element is associated with a given resource.
15560	Tags map[string]*string `locationName:"tags" type:"map"`
15561}
15562
15563// String returns the string representation
15564func (s DomainName) String() string {
15565	return awsutil.Prettify(s)
15566}
15567
15568// GoString returns the string representation
15569func (s DomainName) GoString() string {
15570	return s.String()
15571}
15572
15573// SetCertificateArn sets the CertificateArn field's value.
15574func (s *DomainName) SetCertificateArn(v string) *DomainName {
15575	s.CertificateArn = &v
15576	return s
15577}
15578
15579// SetCertificateName sets the CertificateName field's value.
15580func (s *DomainName) SetCertificateName(v string) *DomainName {
15581	s.CertificateName = &v
15582	return s
15583}
15584
15585// SetCertificateUploadDate sets the CertificateUploadDate field's value.
15586func (s *DomainName) SetCertificateUploadDate(v time.Time) *DomainName {
15587	s.CertificateUploadDate = &v
15588	return s
15589}
15590
15591// SetDistributionDomainName sets the DistributionDomainName field's value.
15592func (s *DomainName) SetDistributionDomainName(v string) *DomainName {
15593	s.DistributionDomainName = &v
15594	return s
15595}
15596
15597// SetDistributionHostedZoneId sets the DistributionHostedZoneId field's value.
15598func (s *DomainName) SetDistributionHostedZoneId(v string) *DomainName {
15599	s.DistributionHostedZoneId = &v
15600	return s
15601}
15602
15603// SetDomainName sets the DomainName field's value.
15604func (s *DomainName) SetDomainName(v string) *DomainName {
15605	s.DomainName = &v
15606	return s
15607}
15608
15609// SetDomainNameStatus sets the DomainNameStatus field's value.
15610func (s *DomainName) SetDomainNameStatus(v string) *DomainName {
15611	s.DomainNameStatus = &v
15612	return s
15613}
15614
15615// SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
15616func (s *DomainName) SetDomainNameStatusMessage(v string) *DomainName {
15617	s.DomainNameStatusMessage = &v
15618	return s
15619}
15620
15621// SetEndpointConfiguration sets the EndpointConfiguration field's value.
15622func (s *DomainName) SetEndpointConfiguration(v *EndpointConfiguration) *DomainName {
15623	s.EndpointConfiguration = v
15624	return s
15625}
15626
15627// SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
15628func (s *DomainName) SetRegionalCertificateArn(v string) *DomainName {
15629	s.RegionalCertificateArn = &v
15630	return s
15631}
15632
15633// SetRegionalCertificateName sets the RegionalCertificateName field's value.
15634func (s *DomainName) SetRegionalCertificateName(v string) *DomainName {
15635	s.RegionalCertificateName = &v
15636	return s
15637}
15638
15639// SetRegionalDomainName sets the RegionalDomainName field's value.
15640func (s *DomainName) SetRegionalDomainName(v string) *DomainName {
15641	s.RegionalDomainName = &v
15642	return s
15643}
15644
15645// SetRegionalHostedZoneId sets the RegionalHostedZoneId field's value.
15646func (s *DomainName) SetRegionalHostedZoneId(v string) *DomainName {
15647	s.RegionalHostedZoneId = &v
15648	return s
15649}
15650
15651// SetSecurityPolicy sets the SecurityPolicy field's value.
15652func (s *DomainName) SetSecurityPolicy(v string) *DomainName {
15653	s.SecurityPolicy = &v
15654	return s
15655}
15656
15657// SetTags sets the Tags field's value.
15658func (s *DomainName) SetTags(v map[string]*string) *DomainName {
15659	s.Tags = v
15660	return s
15661}
15662
15663// The endpoint configuration to indicate the types of endpoints an API (RestApi)
15664// or its custom domain name (DomainName) has.
15665type EndpointConfiguration struct {
15666	_ struct{} `type:"structure"`
15667
15668	// A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
15669	// For an edge-optimized API and its custom domain name, the endpoint type is
15670	// "EDGE". For a regional API and its custom domain name, the endpoint type
15671	// is REGIONAL. For a private API, the endpoint type is PRIVATE.
15672	Types []*string `locationName:"types" type:"list"`
15673
15674	// A list of VpcEndpointIds of an API (RestApi) against which to create Route53
15675	// ALIASes. It is only supported for PRIVATE endpoint type.
15676	VpcEndpointIds []*string `locationName:"vpcEndpointIds" type:"list"`
15677}
15678
15679// String returns the string representation
15680func (s EndpointConfiguration) String() string {
15681	return awsutil.Prettify(s)
15682}
15683
15684// GoString returns the string representation
15685func (s EndpointConfiguration) GoString() string {
15686	return s.String()
15687}
15688
15689// SetTypes sets the Types field's value.
15690func (s *EndpointConfiguration) SetTypes(v []*string) *EndpointConfiguration {
15691	s.Types = v
15692	return s
15693}
15694
15695// SetVpcEndpointIds sets the VpcEndpointIds field's value.
15696func (s *EndpointConfiguration) SetVpcEndpointIds(v []*string) *EndpointConfiguration {
15697	s.VpcEndpointIds = v
15698	return s
15699}
15700
15701// Request to flush authorizer cache entries on a specified stage.
15702type FlushStageAuthorizersCacheInput struct {
15703	_ struct{} `type:"structure"`
15704
15705	// The string identifier of the associated RestApi.
15706	//
15707	// RestApiId is a required field
15708	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
15709
15710	// The name of the stage to flush.
15711	//
15712	// StageName is a required field
15713	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
15714}
15715
15716// String returns the string representation
15717func (s FlushStageAuthorizersCacheInput) String() string {
15718	return awsutil.Prettify(s)
15719}
15720
15721// GoString returns the string representation
15722func (s FlushStageAuthorizersCacheInput) GoString() string {
15723	return s.String()
15724}
15725
15726// Validate inspects the fields of the type to determine if they are valid.
15727func (s *FlushStageAuthorizersCacheInput) Validate() error {
15728	invalidParams := request.ErrInvalidParams{Context: "FlushStageAuthorizersCacheInput"}
15729	if s.RestApiId == nil {
15730		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
15731	}
15732	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
15733		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
15734	}
15735	if s.StageName == nil {
15736		invalidParams.Add(request.NewErrParamRequired("StageName"))
15737	}
15738	if s.StageName != nil && len(*s.StageName) < 1 {
15739		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15740	}
15741
15742	if invalidParams.Len() > 0 {
15743		return invalidParams
15744	}
15745	return nil
15746}
15747
15748// SetRestApiId sets the RestApiId field's value.
15749func (s *FlushStageAuthorizersCacheInput) SetRestApiId(v string) *FlushStageAuthorizersCacheInput {
15750	s.RestApiId = &v
15751	return s
15752}
15753
15754// SetStageName sets the StageName field's value.
15755func (s *FlushStageAuthorizersCacheInput) SetStageName(v string) *FlushStageAuthorizersCacheInput {
15756	s.StageName = &v
15757	return s
15758}
15759
15760type FlushStageAuthorizersCacheOutput struct {
15761	_ struct{} `type:"structure"`
15762}
15763
15764// String returns the string representation
15765func (s FlushStageAuthorizersCacheOutput) String() string {
15766	return awsutil.Prettify(s)
15767}
15768
15769// GoString returns the string representation
15770func (s FlushStageAuthorizersCacheOutput) GoString() string {
15771	return s.String()
15772}
15773
15774// Requests API Gateway to flush a stage's cache.
15775type FlushStageCacheInput struct {
15776	_ struct{} `type:"structure"`
15777
15778	// [Required] The string identifier of the associated RestApi.
15779	//
15780	// RestApiId is a required field
15781	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
15782
15783	// [Required] The name of the stage to flush its cache.
15784	//
15785	// StageName is a required field
15786	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
15787}
15788
15789// String returns the string representation
15790func (s FlushStageCacheInput) String() string {
15791	return awsutil.Prettify(s)
15792}
15793
15794// GoString returns the string representation
15795func (s FlushStageCacheInput) GoString() string {
15796	return s.String()
15797}
15798
15799// Validate inspects the fields of the type to determine if they are valid.
15800func (s *FlushStageCacheInput) Validate() error {
15801	invalidParams := request.ErrInvalidParams{Context: "FlushStageCacheInput"}
15802	if s.RestApiId == nil {
15803		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
15804	}
15805	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
15806		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
15807	}
15808	if s.StageName == nil {
15809		invalidParams.Add(request.NewErrParamRequired("StageName"))
15810	}
15811	if s.StageName != nil && len(*s.StageName) < 1 {
15812		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15813	}
15814
15815	if invalidParams.Len() > 0 {
15816		return invalidParams
15817	}
15818	return nil
15819}
15820
15821// SetRestApiId sets the RestApiId field's value.
15822func (s *FlushStageCacheInput) SetRestApiId(v string) *FlushStageCacheInput {
15823	s.RestApiId = &v
15824	return s
15825}
15826
15827// SetStageName sets the StageName field's value.
15828func (s *FlushStageCacheInput) SetStageName(v string) *FlushStageCacheInput {
15829	s.StageName = &v
15830	return s
15831}
15832
15833type FlushStageCacheOutput struct {
15834	_ struct{} `type:"structure"`
15835}
15836
15837// String returns the string representation
15838func (s FlushStageCacheOutput) String() string {
15839	return awsutil.Prettify(s)
15840}
15841
15842// GoString returns the string representation
15843func (s FlushStageCacheOutput) GoString() string {
15844	return s.String()
15845}
15846
15847// A request to generate a ClientCertificate resource.
15848type GenerateClientCertificateInput struct {
15849	_ struct{} `type:"structure"`
15850
15851	// The description of the ClientCertificate.
15852	Description *string `locationName:"description" type:"string"`
15853
15854	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
15855	// The tag key can be up to 128 characters and must not start with aws:. The
15856	// tag value can be up to 256 characters.
15857	Tags map[string]*string `locationName:"tags" type:"map"`
15858}
15859
15860// String returns the string representation
15861func (s GenerateClientCertificateInput) String() string {
15862	return awsutil.Prettify(s)
15863}
15864
15865// GoString returns the string representation
15866func (s GenerateClientCertificateInput) GoString() string {
15867	return s.String()
15868}
15869
15870// SetDescription sets the Description field's value.
15871func (s *GenerateClientCertificateInput) SetDescription(v string) *GenerateClientCertificateInput {
15872	s.Description = &v
15873	return s
15874}
15875
15876// SetTags sets the Tags field's value.
15877func (s *GenerateClientCertificateInput) SetTags(v map[string]*string) *GenerateClientCertificateInput {
15878	s.Tags = v
15879	return s
15880}
15881
15882// Requests API Gateway to get information about the current Account resource.
15883type GetAccountInput struct {
15884	_ struct{} `type:"structure"`
15885}
15886
15887// String returns the string representation
15888func (s GetAccountInput) String() string {
15889	return awsutil.Prettify(s)
15890}
15891
15892// GoString returns the string representation
15893func (s GetAccountInput) GoString() string {
15894	return s.String()
15895}
15896
15897// A request to get information about the current ApiKey resource.
15898type GetApiKeyInput struct {
15899	_ struct{} `type:"structure"`
15900
15901	// [Required] The identifier of the ApiKey resource.
15902	//
15903	// ApiKey is a required field
15904	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
15905
15906	// A boolean flag to specify whether (true) or not (false) the result contains
15907	// the key value.
15908	IncludeValue *bool `location:"querystring" locationName:"includeValue" type:"boolean"`
15909}
15910
15911// String returns the string representation
15912func (s GetApiKeyInput) String() string {
15913	return awsutil.Prettify(s)
15914}
15915
15916// GoString returns the string representation
15917func (s GetApiKeyInput) GoString() string {
15918	return s.String()
15919}
15920
15921// Validate inspects the fields of the type to determine if they are valid.
15922func (s *GetApiKeyInput) Validate() error {
15923	invalidParams := request.ErrInvalidParams{Context: "GetApiKeyInput"}
15924	if s.ApiKey == nil {
15925		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
15926	}
15927	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
15928		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
15929	}
15930
15931	if invalidParams.Len() > 0 {
15932		return invalidParams
15933	}
15934	return nil
15935}
15936
15937// SetApiKey sets the ApiKey field's value.
15938func (s *GetApiKeyInput) SetApiKey(v string) *GetApiKeyInput {
15939	s.ApiKey = &v
15940	return s
15941}
15942
15943// SetIncludeValue sets the IncludeValue field's value.
15944func (s *GetApiKeyInput) SetIncludeValue(v bool) *GetApiKeyInput {
15945	s.IncludeValue = &v
15946	return s
15947}
15948
15949// A request to get information about the current ApiKeys resource.
15950type GetApiKeysInput struct {
15951	_ struct{} `type:"structure"`
15952
15953	// The identifier of a customer in AWS Marketplace or an external system, such
15954	// as a developer portal.
15955	CustomerId *string `location:"querystring" locationName:"customerId" type:"string"`
15956
15957	// A boolean flag to specify whether (true) or not (false) the result contains
15958	// key values.
15959	IncludeValues *bool `location:"querystring" locationName:"includeValues" type:"boolean"`
15960
15961	// The maximum number of returned results per page. The default value is 25
15962	// and the maximum value is 500.
15963	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
15964
15965	// The name of queried API keys.
15966	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
15967
15968	// The current pagination position in the paged result set.
15969	Position *string `location:"querystring" locationName:"position" type:"string"`
15970}
15971
15972// String returns the string representation
15973func (s GetApiKeysInput) String() string {
15974	return awsutil.Prettify(s)
15975}
15976
15977// GoString returns the string representation
15978func (s GetApiKeysInput) GoString() string {
15979	return s.String()
15980}
15981
15982// SetCustomerId sets the CustomerId field's value.
15983func (s *GetApiKeysInput) SetCustomerId(v string) *GetApiKeysInput {
15984	s.CustomerId = &v
15985	return s
15986}
15987
15988// SetIncludeValues sets the IncludeValues field's value.
15989func (s *GetApiKeysInput) SetIncludeValues(v bool) *GetApiKeysInput {
15990	s.IncludeValues = &v
15991	return s
15992}
15993
15994// SetLimit sets the Limit field's value.
15995func (s *GetApiKeysInput) SetLimit(v int64) *GetApiKeysInput {
15996	s.Limit = &v
15997	return s
15998}
15999
16000// SetNameQuery sets the NameQuery field's value.
16001func (s *GetApiKeysInput) SetNameQuery(v string) *GetApiKeysInput {
16002	s.NameQuery = &v
16003	return s
16004}
16005
16006// SetPosition sets the Position field's value.
16007func (s *GetApiKeysInput) SetPosition(v string) *GetApiKeysInput {
16008	s.Position = &v
16009	return s
16010}
16011
16012// Represents a collection of API keys as represented by an ApiKeys resource.
16013//
16014// Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
16015type GetApiKeysOutput struct {
16016	_ struct{} `type:"structure"`
16017
16018	// The current page of elements from this collection.
16019	Items []*ApiKey `locationName:"item" type:"list"`
16020
16021	Position *string `locationName:"position" type:"string"`
16022
16023	// A list of warning messages logged during the import of API keys when the
16024	// failOnWarnings option is set to true.
16025	Warnings []*string `locationName:"warnings" type:"list"`
16026}
16027
16028// String returns the string representation
16029func (s GetApiKeysOutput) String() string {
16030	return awsutil.Prettify(s)
16031}
16032
16033// GoString returns the string representation
16034func (s GetApiKeysOutput) GoString() string {
16035	return s.String()
16036}
16037
16038// SetItems sets the Items field's value.
16039func (s *GetApiKeysOutput) SetItems(v []*ApiKey) *GetApiKeysOutput {
16040	s.Items = v
16041	return s
16042}
16043
16044// SetPosition sets the Position field's value.
16045func (s *GetApiKeysOutput) SetPosition(v string) *GetApiKeysOutput {
16046	s.Position = &v
16047	return s
16048}
16049
16050// SetWarnings sets the Warnings field's value.
16051func (s *GetApiKeysOutput) SetWarnings(v []*string) *GetApiKeysOutput {
16052	s.Warnings = v
16053	return s
16054}
16055
16056// Request to describe an existing Authorizer resource.
16057type GetAuthorizerInput struct {
16058	_ struct{} `type:"structure"`
16059
16060	// [Required] The identifier of the Authorizer resource.
16061	//
16062	// AuthorizerId is a required field
16063	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
16064
16065	// [Required] The string identifier of the associated RestApi.
16066	//
16067	// RestApiId is a required field
16068	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16069}
16070
16071// String returns the string representation
16072func (s GetAuthorizerInput) String() string {
16073	return awsutil.Prettify(s)
16074}
16075
16076// GoString returns the string representation
16077func (s GetAuthorizerInput) GoString() string {
16078	return s.String()
16079}
16080
16081// Validate inspects the fields of the type to determine if they are valid.
16082func (s *GetAuthorizerInput) Validate() error {
16083	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
16084	if s.AuthorizerId == nil {
16085		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
16086	}
16087	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
16088		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
16089	}
16090	if s.RestApiId == nil {
16091		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16092	}
16093	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16094		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16095	}
16096
16097	if invalidParams.Len() > 0 {
16098		return invalidParams
16099	}
16100	return nil
16101}
16102
16103// SetAuthorizerId sets the AuthorizerId field's value.
16104func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
16105	s.AuthorizerId = &v
16106	return s
16107}
16108
16109// SetRestApiId sets the RestApiId field's value.
16110func (s *GetAuthorizerInput) SetRestApiId(v string) *GetAuthorizerInput {
16111	s.RestApiId = &v
16112	return s
16113}
16114
16115// Request to describe an existing Authorizers resource.
16116type GetAuthorizersInput struct {
16117	_ struct{} `type:"structure"`
16118
16119	// The maximum number of returned results per page. The default value is 25
16120	// and the maximum value is 500.
16121	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16122
16123	// The current pagination position in the paged result set.
16124	Position *string `location:"querystring" locationName:"position" type:"string"`
16125
16126	// [Required] The string identifier of the associated RestApi.
16127	//
16128	// RestApiId is a required field
16129	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16130}
16131
16132// String returns the string representation
16133func (s GetAuthorizersInput) String() string {
16134	return awsutil.Prettify(s)
16135}
16136
16137// GoString returns the string representation
16138func (s GetAuthorizersInput) GoString() string {
16139	return s.String()
16140}
16141
16142// Validate inspects the fields of the type to determine if they are valid.
16143func (s *GetAuthorizersInput) Validate() error {
16144	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
16145	if s.RestApiId == nil {
16146		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16147	}
16148	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16149		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16150	}
16151
16152	if invalidParams.Len() > 0 {
16153		return invalidParams
16154	}
16155	return nil
16156}
16157
16158// SetLimit sets the Limit field's value.
16159func (s *GetAuthorizersInput) SetLimit(v int64) *GetAuthorizersInput {
16160	s.Limit = &v
16161	return s
16162}
16163
16164// SetPosition sets the Position field's value.
16165func (s *GetAuthorizersInput) SetPosition(v string) *GetAuthorizersInput {
16166	s.Position = &v
16167	return s
16168}
16169
16170// SetRestApiId sets the RestApiId field's value.
16171func (s *GetAuthorizersInput) SetRestApiId(v string) *GetAuthorizersInput {
16172	s.RestApiId = &v
16173	return s
16174}
16175
16176// Represents a collection of Authorizer resources.
16177//
16178// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
16179// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
16180type GetAuthorizersOutput struct {
16181	_ struct{} `type:"structure"`
16182
16183	// The current page of elements from this collection.
16184	Items []*Authorizer `locationName:"item" type:"list"`
16185
16186	Position *string `locationName:"position" type:"string"`
16187}
16188
16189// String returns the string representation
16190func (s GetAuthorizersOutput) String() string {
16191	return awsutil.Prettify(s)
16192}
16193
16194// GoString returns the string representation
16195func (s GetAuthorizersOutput) GoString() string {
16196	return s.String()
16197}
16198
16199// SetItems sets the Items field's value.
16200func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
16201	s.Items = v
16202	return s
16203}
16204
16205// SetPosition sets the Position field's value.
16206func (s *GetAuthorizersOutput) SetPosition(v string) *GetAuthorizersOutput {
16207	s.Position = &v
16208	return s
16209}
16210
16211// Request to describe a BasePathMapping resource.
16212type GetBasePathMappingInput struct {
16213	_ struct{} `type:"structure"`
16214
16215	// [Required] The base path name that callers of the API must provide as part
16216	// of the URL after the domain name. This value must be unique for all of the
16217	// mappings across a single API. Specify '(none)' if you do not want callers
16218	// to specify any base path name after the domain name.
16219	//
16220	// BasePath is a required field
16221	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
16222
16223	// [Required] The domain name of the BasePathMapping resource to be described.
16224	//
16225	// DomainName is a required field
16226	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
16227}
16228
16229// String returns the string representation
16230func (s GetBasePathMappingInput) String() string {
16231	return awsutil.Prettify(s)
16232}
16233
16234// GoString returns the string representation
16235func (s GetBasePathMappingInput) GoString() string {
16236	return s.String()
16237}
16238
16239// Validate inspects the fields of the type to determine if they are valid.
16240func (s *GetBasePathMappingInput) Validate() error {
16241	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingInput"}
16242	if s.BasePath == nil {
16243		invalidParams.Add(request.NewErrParamRequired("BasePath"))
16244	}
16245	if s.BasePath != nil && len(*s.BasePath) < 1 {
16246		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
16247	}
16248	if s.DomainName == nil {
16249		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16250	}
16251	if s.DomainName != nil && len(*s.DomainName) < 1 {
16252		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16253	}
16254
16255	if invalidParams.Len() > 0 {
16256		return invalidParams
16257	}
16258	return nil
16259}
16260
16261// SetBasePath sets the BasePath field's value.
16262func (s *GetBasePathMappingInput) SetBasePath(v string) *GetBasePathMappingInput {
16263	s.BasePath = &v
16264	return s
16265}
16266
16267// SetDomainName sets the DomainName field's value.
16268func (s *GetBasePathMappingInput) SetDomainName(v string) *GetBasePathMappingInput {
16269	s.DomainName = &v
16270	return s
16271}
16272
16273// A request to get information about a collection of BasePathMapping resources.
16274type GetBasePathMappingsInput struct {
16275	_ struct{} `type:"structure"`
16276
16277	// [Required] The domain name of a BasePathMapping resource.
16278	//
16279	// DomainName is a required field
16280	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
16281
16282	// The maximum number of returned results per page. The default value is 25
16283	// and the maximum value is 500.
16284	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16285
16286	// The current pagination position in the paged result set.
16287	Position *string `location:"querystring" locationName:"position" type:"string"`
16288}
16289
16290// String returns the string representation
16291func (s GetBasePathMappingsInput) String() string {
16292	return awsutil.Prettify(s)
16293}
16294
16295// GoString returns the string representation
16296func (s GetBasePathMappingsInput) GoString() string {
16297	return s.String()
16298}
16299
16300// Validate inspects the fields of the type to determine if they are valid.
16301func (s *GetBasePathMappingsInput) Validate() error {
16302	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingsInput"}
16303	if s.DomainName == nil {
16304		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16305	}
16306	if s.DomainName != nil && len(*s.DomainName) < 1 {
16307		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16308	}
16309
16310	if invalidParams.Len() > 0 {
16311		return invalidParams
16312	}
16313	return nil
16314}
16315
16316// SetDomainName sets the DomainName field's value.
16317func (s *GetBasePathMappingsInput) SetDomainName(v string) *GetBasePathMappingsInput {
16318	s.DomainName = &v
16319	return s
16320}
16321
16322// SetLimit sets the Limit field's value.
16323func (s *GetBasePathMappingsInput) SetLimit(v int64) *GetBasePathMappingsInput {
16324	s.Limit = &v
16325	return s
16326}
16327
16328// SetPosition sets the Position field's value.
16329func (s *GetBasePathMappingsInput) SetPosition(v string) *GetBasePathMappingsInput {
16330	s.Position = &v
16331	return s
16332}
16333
16334// Represents a collection of BasePathMapping resources.
16335//
16336// Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
16337type GetBasePathMappingsOutput struct {
16338	_ struct{} `type:"structure"`
16339
16340	// The current page of elements from this collection.
16341	Items []*BasePathMapping `locationName:"item" type:"list"`
16342
16343	Position *string `locationName:"position" type:"string"`
16344}
16345
16346// String returns the string representation
16347func (s GetBasePathMappingsOutput) String() string {
16348	return awsutil.Prettify(s)
16349}
16350
16351// GoString returns the string representation
16352func (s GetBasePathMappingsOutput) GoString() string {
16353	return s.String()
16354}
16355
16356// SetItems sets the Items field's value.
16357func (s *GetBasePathMappingsOutput) SetItems(v []*BasePathMapping) *GetBasePathMappingsOutput {
16358	s.Items = v
16359	return s
16360}
16361
16362// SetPosition sets the Position field's value.
16363func (s *GetBasePathMappingsOutput) SetPosition(v string) *GetBasePathMappingsOutput {
16364	s.Position = &v
16365	return s
16366}
16367
16368// A request to get information about the current ClientCertificate resource.
16369type GetClientCertificateInput struct {
16370	_ struct{} `type:"structure"`
16371
16372	// [Required] The identifier of the ClientCertificate resource to be described.
16373	//
16374	// ClientCertificateId is a required field
16375	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
16376}
16377
16378// String returns the string representation
16379func (s GetClientCertificateInput) String() string {
16380	return awsutil.Prettify(s)
16381}
16382
16383// GoString returns the string representation
16384func (s GetClientCertificateInput) GoString() string {
16385	return s.String()
16386}
16387
16388// Validate inspects the fields of the type to determine if they are valid.
16389func (s *GetClientCertificateInput) Validate() error {
16390	invalidParams := request.ErrInvalidParams{Context: "GetClientCertificateInput"}
16391	if s.ClientCertificateId == nil {
16392		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
16393	}
16394	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
16395		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
16396	}
16397
16398	if invalidParams.Len() > 0 {
16399		return invalidParams
16400	}
16401	return nil
16402}
16403
16404// SetClientCertificateId sets the ClientCertificateId field's value.
16405func (s *GetClientCertificateInput) SetClientCertificateId(v string) *GetClientCertificateInput {
16406	s.ClientCertificateId = &v
16407	return s
16408}
16409
16410// A request to get information about a collection of ClientCertificate resources.
16411type GetClientCertificatesInput struct {
16412	_ struct{} `type:"structure"`
16413
16414	// The maximum number of returned results per page. The default value is 25
16415	// and the maximum value is 500.
16416	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16417
16418	// The current pagination position in the paged result set.
16419	Position *string `location:"querystring" locationName:"position" type:"string"`
16420}
16421
16422// String returns the string representation
16423func (s GetClientCertificatesInput) String() string {
16424	return awsutil.Prettify(s)
16425}
16426
16427// GoString returns the string representation
16428func (s GetClientCertificatesInput) GoString() string {
16429	return s.String()
16430}
16431
16432// SetLimit sets the Limit field's value.
16433func (s *GetClientCertificatesInput) SetLimit(v int64) *GetClientCertificatesInput {
16434	s.Limit = &v
16435	return s
16436}
16437
16438// SetPosition sets the Position field's value.
16439func (s *GetClientCertificatesInput) SetPosition(v string) *GetClientCertificatesInput {
16440	s.Position = &v
16441	return s
16442}
16443
16444// Represents a collection of ClientCertificate resources.
16445//
16446// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
16447type GetClientCertificatesOutput struct {
16448	_ struct{} `type:"structure"`
16449
16450	// The current page of elements from this collection.
16451	Items []*ClientCertificate `locationName:"item" type:"list"`
16452
16453	Position *string `locationName:"position" type:"string"`
16454}
16455
16456// String returns the string representation
16457func (s GetClientCertificatesOutput) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s GetClientCertificatesOutput) GoString() string {
16463	return s.String()
16464}
16465
16466// SetItems sets the Items field's value.
16467func (s *GetClientCertificatesOutput) SetItems(v []*ClientCertificate) *GetClientCertificatesOutput {
16468	s.Items = v
16469	return s
16470}
16471
16472// SetPosition sets the Position field's value.
16473func (s *GetClientCertificatesOutput) SetPosition(v string) *GetClientCertificatesOutput {
16474	s.Position = &v
16475	return s
16476}
16477
16478// Requests API Gateway to get information about a Deployment resource.
16479type GetDeploymentInput struct {
16480	_ struct{} `type:"structure"`
16481
16482	// [Required] The identifier of the Deployment resource to get information about.
16483	//
16484	// DeploymentId is a required field
16485	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
16486
16487	// A query parameter to retrieve the specified embedded resources of the returned
16488	// Deployment resource in the response. In a REST API call, this embed parameter
16489	// value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2.
16490	// The SDK and other platform-dependent libraries might use a different format
16491	// for the list. Currently, this request supports only retrieval of the embedded
16492	// API summary this way. Hence, the parameter value must be a single-valued
16493	// list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.
16494	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
16495
16496	// [Required] The string identifier of the associated RestApi.
16497	//
16498	// RestApiId is a required field
16499	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16500}
16501
16502// String returns the string representation
16503func (s GetDeploymentInput) String() string {
16504	return awsutil.Prettify(s)
16505}
16506
16507// GoString returns the string representation
16508func (s GetDeploymentInput) GoString() string {
16509	return s.String()
16510}
16511
16512// Validate inspects the fields of the type to determine if they are valid.
16513func (s *GetDeploymentInput) Validate() error {
16514	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
16515	if s.DeploymentId == nil {
16516		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
16517	}
16518	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
16519		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
16520	}
16521	if s.RestApiId == nil {
16522		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16523	}
16524	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16525		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16526	}
16527
16528	if invalidParams.Len() > 0 {
16529		return invalidParams
16530	}
16531	return nil
16532}
16533
16534// SetDeploymentId sets the DeploymentId field's value.
16535func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
16536	s.DeploymentId = &v
16537	return s
16538}
16539
16540// SetEmbed sets the Embed field's value.
16541func (s *GetDeploymentInput) SetEmbed(v []*string) *GetDeploymentInput {
16542	s.Embed = v
16543	return s
16544}
16545
16546// SetRestApiId sets the RestApiId field's value.
16547func (s *GetDeploymentInput) SetRestApiId(v string) *GetDeploymentInput {
16548	s.RestApiId = &v
16549	return s
16550}
16551
16552// Requests API Gateway to get information about a Deployments collection.
16553type GetDeploymentsInput struct {
16554	_ struct{} `type:"structure"`
16555
16556	// The maximum number of returned results per page. The default value is 25
16557	// and the maximum value is 500.
16558	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16559
16560	// The current pagination position in the paged result set.
16561	Position *string `location:"querystring" locationName:"position" type:"string"`
16562
16563	// [Required] The string identifier of the associated RestApi.
16564	//
16565	// RestApiId is a required field
16566	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16567}
16568
16569// String returns the string representation
16570func (s GetDeploymentsInput) String() string {
16571	return awsutil.Prettify(s)
16572}
16573
16574// GoString returns the string representation
16575func (s GetDeploymentsInput) GoString() string {
16576	return s.String()
16577}
16578
16579// Validate inspects the fields of the type to determine if they are valid.
16580func (s *GetDeploymentsInput) Validate() error {
16581	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
16582	if s.RestApiId == nil {
16583		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16584	}
16585	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16586		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16587	}
16588
16589	if invalidParams.Len() > 0 {
16590		return invalidParams
16591	}
16592	return nil
16593}
16594
16595// SetLimit sets the Limit field's value.
16596func (s *GetDeploymentsInput) SetLimit(v int64) *GetDeploymentsInput {
16597	s.Limit = &v
16598	return s
16599}
16600
16601// SetPosition sets the Position field's value.
16602func (s *GetDeploymentsInput) SetPosition(v string) *GetDeploymentsInput {
16603	s.Position = &v
16604	return s
16605}
16606
16607// SetRestApiId sets the RestApiId field's value.
16608func (s *GetDeploymentsInput) SetRestApiId(v string) *GetDeploymentsInput {
16609	s.RestApiId = &v
16610	return s
16611}
16612
16613// Represents a collection resource that contains zero or more references to
16614// your existing deployments, and links that guide you on how to interact with
16615// your collection. The collection offers a paginated view of the contained
16616// deployments.
16617//
16618// To create a new deployment of a RestApi, make a POST request against this
16619// resource. To view, update, or delete an existing deployment, make a GET,
16620// PATCH, or DELETE request, respectively, on a specified Deployment resource.
16621//
16622// Deploying an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html),
16623// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
16624// AWS SDKs (https://aws.amazon.com/tools/)
16625type GetDeploymentsOutput struct {
16626	_ struct{} `type:"structure"`
16627
16628	// The current page of elements from this collection.
16629	Items []*Deployment `locationName:"item" type:"list"`
16630
16631	Position *string `locationName:"position" type:"string"`
16632}
16633
16634// String returns the string representation
16635func (s GetDeploymentsOutput) String() string {
16636	return awsutil.Prettify(s)
16637}
16638
16639// GoString returns the string representation
16640func (s GetDeploymentsOutput) GoString() string {
16641	return s.String()
16642}
16643
16644// SetItems sets the Items field's value.
16645func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
16646	s.Items = v
16647	return s
16648}
16649
16650// SetPosition sets the Position field's value.
16651func (s *GetDeploymentsOutput) SetPosition(v string) *GetDeploymentsOutput {
16652	s.Position = &v
16653	return s
16654}
16655
16656// Gets a specified documentation part of a given API.
16657type GetDocumentationPartInput struct {
16658	_ struct{} `type:"structure"`
16659
16660	// [Required] The string identifier of the associated RestApi.
16661	//
16662	// DocumentationPartId is a required field
16663	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
16664
16665	// [Required] The string identifier of the associated RestApi.
16666	//
16667	// RestApiId is a required field
16668	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16669}
16670
16671// String returns the string representation
16672func (s GetDocumentationPartInput) String() string {
16673	return awsutil.Prettify(s)
16674}
16675
16676// GoString returns the string representation
16677func (s GetDocumentationPartInput) GoString() string {
16678	return s.String()
16679}
16680
16681// Validate inspects the fields of the type to determine if they are valid.
16682func (s *GetDocumentationPartInput) Validate() error {
16683	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartInput"}
16684	if s.DocumentationPartId == nil {
16685		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
16686	}
16687	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
16688		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
16689	}
16690	if s.RestApiId == nil {
16691		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16692	}
16693	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16694		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16695	}
16696
16697	if invalidParams.Len() > 0 {
16698		return invalidParams
16699	}
16700	return nil
16701}
16702
16703// SetDocumentationPartId sets the DocumentationPartId field's value.
16704func (s *GetDocumentationPartInput) SetDocumentationPartId(v string) *GetDocumentationPartInput {
16705	s.DocumentationPartId = &v
16706	return s
16707}
16708
16709// SetRestApiId sets the RestApiId field's value.
16710func (s *GetDocumentationPartInput) SetRestApiId(v string) *GetDocumentationPartInput {
16711	s.RestApiId = &v
16712	return s
16713}
16714
16715// Gets the documentation parts of an API. The result may be filtered by the
16716// type, name, or path of API entities (targets).
16717type GetDocumentationPartsInput struct {
16718	_ struct{} `type:"structure"`
16719
16720	// The maximum number of returned results per page. The default value is 25
16721	// and the maximum value is 500.
16722	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16723
16724	// The status of the API documentation parts to retrieve. Valid values are DOCUMENTED
16725	// for retrieving DocumentationPart resources with content and UNDOCUMENTED
16726	// for DocumentationPart resources without content.
16727	LocationStatus *string `location:"querystring" locationName:"locationStatus" type:"string" enum:"LocationStatusType"`
16728
16729	// The name of API entities of the to-be-retrieved documentation parts.
16730	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
16731
16732	// The path of API entities of the to-be-retrieved documentation parts.
16733	Path *string `location:"querystring" locationName:"path" type:"string"`
16734
16735	// The current pagination position in the paged result set.
16736	Position *string `location:"querystring" locationName:"position" type:"string"`
16737
16738	// [Required] The string identifier of the associated RestApi.
16739	//
16740	// RestApiId is a required field
16741	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16742
16743	// The type of API entities of the to-be-retrieved documentation parts.
16744	Type *string `location:"querystring" locationName:"type" type:"string" enum:"DocumentationPartType"`
16745}
16746
16747// String returns the string representation
16748func (s GetDocumentationPartsInput) String() string {
16749	return awsutil.Prettify(s)
16750}
16751
16752// GoString returns the string representation
16753func (s GetDocumentationPartsInput) GoString() string {
16754	return s.String()
16755}
16756
16757// Validate inspects the fields of the type to determine if they are valid.
16758func (s *GetDocumentationPartsInput) Validate() error {
16759	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartsInput"}
16760	if s.RestApiId == nil {
16761		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16762	}
16763	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16764		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16765	}
16766
16767	if invalidParams.Len() > 0 {
16768		return invalidParams
16769	}
16770	return nil
16771}
16772
16773// SetLimit sets the Limit field's value.
16774func (s *GetDocumentationPartsInput) SetLimit(v int64) *GetDocumentationPartsInput {
16775	s.Limit = &v
16776	return s
16777}
16778
16779// SetLocationStatus sets the LocationStatus field's value.
16780func (s *GetDocumentationPartsInput) SetLocationStatus(v string) *GetDocumentationPartsInput {
16781	s.LocationStatus = &v
16782	return s
16783}
16784
16785// SetNameQuery sets the NameQuery field's value.
16786func (s *GetDocumentationPartsInput) SetNameQuery(v string) *GetDocumentationPartsInput {
16787	s.NameQuery = &v
16788	return s
16789}
16790
16791// SetPath sets the Path field's value.
16792func (s *GetDocumentationPartsInput) SetPath(v string) *GetDocumentationPartsInput {
16793	s.Path = &v
16794	return s
16795}
16796
16797// SetPosition sets the Position field's value.
16798func (s *GetDocumentationPartsInput) SetPosition(v string) *GetDocumentationPartsInput {
16799	s.Position = &v
16800	return s
16801}
16802
16803// SetRestApiId sets the RestApiId field's value.
16804func (s *GetDocumentationPartsInput) SetRestApiId(v string) *GetDocumentationPartsInput {
16805	s.RestApiId = &v
16806	return s
16807}
16808
16809// SetType sets the Type field's value.
16810func (s *GetDocumentationPartsInput) SetType(v string) *GetDocumentationPartsInput {
16811	s.Type = &v
16812	return s
16813}
16814
16815// The collection of documentation parts of an API.
16816//
16817// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
16818// DocumentationPart
16819type GetDocumentationPartsOutput struct {
16820	_ struct{} `type:"structure"`
16821
16822	// The current page of elements from this collection.
16823	Items []*DocumentationPart `locationName:"item" type:"list"`
16824
16825	Position *string `locationName:"position" type:"string"`
16826}
16827
16828// String returns the string representation
16829func (s GetDocumentationPartsOutput) String() string {
16830	return awsutil.Prettify(s)
16831}
16832
16833// GoString returns the string representation
16834func (s GetDocumentationPartsOutput) GoString() string {
16835	return s.String()
16836}
16837
16838// SetItems sets the Items field's value.
16839func (s *GetDocumentationPartsOutput) SetItems(v []*DocumentationPart) *GetDocumentationPartsOutput {
16840	s.Items = v
16841	return s
16842}
16843
16844// SetPosition sets the Position field's value.
16845func (s *GetDocumentationPartsOutput) SetPosition(v string) *GetDocumentationPartsOutput {
16846	s.Position = &v
16847	return s
16848}
16849
16850// Gets a documentation snapshot of an API.
16851type GetDocumentationVersionInput struct {
16852	_ struct{} `type:"structure"`
16853
16854	// [Required] The version identifier of the to-be-retrieved documentation snapshot.
16855	//
16856	// DocumentationVersion is a required field
16857	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
16858
16859	// [Required] The string identifier of the associated RestApi.
16860	//
16861	// RestApiId is a required field
16862	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16863}
16864
16865// String returns the string representation
16866func (s GetDocumentationVersionInput) String() string {
16867	return awsutil.Prettify(s)
16868}
16869
16870// GoString returns the string representation
16871func (s GetDocumentationVersionInput) GoString() string {
16872	return s.String()
16873}
16874
16875// Validate inspects the fields of the type to determine if they are valid.
16876func (s *GetDocumentationVersionInput) Validate() error {
16877	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionInput"}
16878	if s.DocumentationVersion == nil {
16879		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
16880	}
16881	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
16882		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
16883	}
16884	if s.RestApiId == nil {
16885		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16886	}
16887	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16888		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16889	}
16890
16891	if invalidParams.Len() > 0 {
16892		return invalidParams
16893	}
16894	return nil
16895}
16896
16897// SetDocumentationVersion sets the DocumentationVersion field's value.
16898func (s *GetDocumentationVersionInput) SetDocumentationVersion(v string) *GetDocumentationVersionInput {
16899	s.DocumentationVersion = &v
16900	return s
16901}
16902
16903// SetRestApiId sets the RestApiId field's value.
16904func (s *GetDocumentationVersionInput) SetRestApiId(v string) *GetDocumentationVersionInput {
16905	s.RestApiId = &v
16906	return s
16907}
16908
16909// Gets the documentation versions of an API.
16910type GetDocumentationVersionsInput struct {
16911	_ struct{} `type:"structure"`
16912
16913	// The maximum number of returned results per page. The default value is 25
16914	// and the maximum value is 500.
16915	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16916
16917	// The current pagination position in the paged result set.
16918	Position *string `location:"querystring" locationName:"position" type:"string"`
16919
16920	// [Required] The string identifier of the associated RestApi.
16921	//
16922	// RestApiId is a required field
16923	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16924}
16925
16926// String returns the string representation
16927func (s GetDocumentationVersionsInput) String() string {
16928	return awsutil.Prettify(s)
16929}
16930
16931// GoString returns the string representation
16932func (s GetDocumentationVersionsInput) GoString() string {
16933	return s.String()
16934}
16935
16936// Validate inspects the fields of the type to determine if they are valid.
16937func (s *GetDocumentationVersionsInput) Validate() error {
16938	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionsInput"}
16939	if s.RestApiId == nil {
16940		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16941	}
16942	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16943		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16944	}
16945
16946	if invalidParams.Len() > 0 {
16947		return invalidParams
16948	}
16949	return nil
16950}
16951
16952// SetLimit sets the Limit field's value.
16953func (s *GetDocumentationVersionsInput) SetLimit(v int64) *GetDocumentationVersionsInput {
16954	s.Limit = &v
16955	return s
16956}
16957
16958// SetPosition sets the Position field's value.
16959func (s *GetDocumentationVersionsInput) SetPosition(v string) *GetDocumentationVersionsInput {
16960	s.Position = &v
16961	return s
16962}
16963
16964// SetRestApiId sets the RestApiId field's value.
16965func (s *GetDocumentationVersionsInput) SetRestApiId(v string) *GetDocumentationVersionsInput {
16966	s.RestApiId = &v
16967	return s
16968}
16969
16970// The collection of documentation snapshots of an API.
16971//
16972// Use the DocumentationVersions to manage documentation snapshots associated
16973// with various API stages.
16974//
16975// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
16976// DocumentationPart, DocumentationVersion
16977type GetDocumentationVersionsOutput struct {
16978	_ struct{} `type:"structure"`
16979
16980	// The current page of elements from this collection.
16981	Items []*DocumentationVersion `locationName:"item" type:"list"`
16982
16983	Position *string `locationName:"position" type:"string"`
16984}
16985
16986// String returns the string representation
16987func (s GetDocumentationVersionsOutput) String() string {
16988	return awsutil.Prettify(s)
16989}
16990
16991// GoString returns the string representation
16992func (s GetDocumentationVersionsOutput) GoString() string {
16993	return s.String()
16994}
16995
16996// SetItems sets the Items field's value.
16997func (s *GetDocumentationVersionsOutput) SetItems(v []*DocumentationVersion) *GetDocumentationVersionsOutput {
16998	s.Items = v
16999	return s
17000}
17001
17002// SetPosition sets the Position field's value.
17003func (s *GetDocumentationVersionsOutput) SetPosition(v string) *GetDocumentationVersionsOutput {
17004	s.Position = &v
17005	return s
17006}
17007
17008// Request to get the name of a DomainName resource.
17009type GetDomainNameInput struct {
17010	_ struct{} `type:"structure"`
17011
17012	// [Required] The name of the DomainName resource.
17013	//
17014	// DomainName is a required field
17015	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
17016}
17017
17018// String returns the string representation
17019func (s GetDomainNameInput) String() string {
17020	return awsutil.Prettify(s)
17021}
17022
17023// GoString returns the string representation
17024func (s GetDomainNameInput) GoString() string {
17025	return s.String()
17026}
17027
17028// Validate inspects the fields of the type to determine if they are valid.
17029func (s *GetDomainNameInput) Validate() error {
17030	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
17031	if s.DomainName == nil {
17032		invalidParams.Add(request.NewErrParamRequired("DomainName"))
17033	}
17034	if s.DomainName != nil && len(*s.DomainName) < 1 {
17035		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
17036	}
17037
17038	if invalidParams.Len() > 0 {
17039		return invalidParams
17040	}
17041	return nil
17042}
17043
17044// SetDomainName sets the DomainName field's value.
17045func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
17046	s.DomainName = &v
17047	return s
17048}
17049
17050// Request to describe a collection of DomainName resources.
17051type GetDomainNamesInput struct {
17052	_ struct{} `type:"structure"`
17053
17054	// The maximum number of returned results per page. The default value is 25
17055	// and the maximum value is 500.
17056	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
17057
17058	// The current pagination position in the paged result set.
17059	Position *string `location:"querystring" locationName:"position" type:"string"`
17060}
17061
17062// String returns the string representation
17063func (s GetDomainNamesInput) String() string {
17064	return awsutil.Prettify(s)
17065}
17066
17067// GoString returns the string representation
17068func (s GetDomainNamesInput) GoString() string {
17069	return s.String()
17070}
17071
17072// SetLimit sets the Limit field's value.
17073func (s *GetDomainNamesInput) SetLimit(v int64) *GetDomainNamesInput {
17074	s.Limit = &v
17075	return s
17076}
17077
17078// SetPosition sets the Position field's value.
17079func (s *GetDomainNamesInput) SetPosition(v string) *GetDomainNamesInput {
17080	s.Position = &v
17081	return s
17082}
17083
17084// Represents a collection of DomainName resources.
17085//
17086// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
17087type GetDomainNamesOutput struct {
17088	_ struct{} `type:"structure"`
17089
17090	// The current page of elements from this collection.
17091	Items []*DomainName `locationName:"item" type:"list"`
17092
17093	Position *string `locationName:"position" type:"string"`
17094}
17095
17096// String returns the string representation
17097func (s GetDomainNamesOutput) String() string {
17098	return awsutil.Prettify(s)
17099}
17100
17101// GoString returns the string representation
17102func (s GetDomainNamesOutput) GoString() string {
17103	return s.String()
17104}
17105
17106// SetItems sets the Items field's value.
17107func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
17108	s.Items = v
17109	return s
17110}
17111
17112// SetPosition sets the Position field's value.
17113func (s *GetDomainNamesOutput) SetPosition(v string) *GetDomainNamesOutput {
17114	s.Position = &v
17115	return s
17116}
17117
17118// Request a new export of a RestApi for a particular Stage.
17119type GetExportInput struct {
17120	_ struct{} `type:"structure"`
17121
17122	// The content-type of the export, for example application/json. Currently application/json
17123	// and application/yaml are supported for exportType ofoas30 and swagger. This
17124	// should be specified in the Accept header for direct API requests.
17125	Accepts *string `location:"header" locationName:"Accept" type:"string"`
17126
17127	// [Required] The type of export. Acceptable values are 'oas30' for OpenAPI
17128	// 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
17129	//
17130	// ExportType is a required field
17131	ExportType *string `location:"uri" locationName:"export_type" type:"string" required:"true"`
17132
17133	// A key-value map of query string parameters that specify properties of the
17134	// export, depending on the requested exportType. For exportType oas30 and swagger,
17135	// any combination of the following parameters are supported: extensions='integrations'
17136	// or extensions='apigateway' will export the API with x-amazon-apigateway-integration
17137	// extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer
17138	// extensions. postman will export the API with Postman extensions, allowing
17139	// for import to the Postman tool
17140	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
17141
17142	// [Required] The string identifier of the associated RestApi.
17143	//
17144	// RestApiId is a required field
17145	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17146
17147	// [Required] The name of the Stage that will be exported.
17148	//
17149	// StageName is a required field
17150	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
17151}
17152
17153// String returns the string representation
17154func (s GetExportInput) String() string {
17155	return awsutil.Prettify(s)
17156}
17157
17158// GoString returns the string representation
17159func (s GetExportInput) GoString() string {
17160	return s.String()
17161}
17162
17163// Validate inspects the fields of the type to determine if they are valid.
17164func (s *GetExportInput) Validate() error {
17165	invalidParams := request.ErrInvalidParams{Context: "GetExportInput"}
17166	if s.ExportType == nil {
17167		invalidParams.Add(request.NewErrParamRequired("ExportType"))
17168	}
17169	if s.ExportType != nil && len(*s.ExportType) < 1 {
17170		invalidParams.Add(request.NewErrParamMinLen("ExportType", 1))
17171	}
17172	if s.RestApiId == nil {
17173		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17174	}
17175	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17176		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17177	}
17178	if s.StageName == nil {
17179		invalidParams.Add(request.NewErrParamRequired("StageName"))
17180	}
17181	if s.StageName != nil && len(*s.StageName) < 1 {
17182		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
17183	}
17184
17185	if invalidParams.Len() > 0 {
17186		return invalidParams
17187	}
17188	return nil
17189}
17190
17191// SetAccepts sets the Accepts field's value.
17192func (s *GetExportInput) SetAccepts(v string) *GetExportInput {
17193	s.Accepts = &v
17194	return s
17195}
17196
17197// SetExportType sets the ExportType field's value.
17198func (s *GetExportInput) SetExportType(v string) *GetExportInput {
17199	s.ExportType = &v
17200	return s
17201}
17202
17203// SetParameters sets the Parameters field's value.
17204func (s *GetExportInput) SetParameters(v map[string]*string) *GetExportInput {
17205	s.Parameters = v
17206	return s
17207}
17208
17209// SetRestApiId sets the RestApiId field's value.
17210func (s *GetExportInput) SetRestApiId(v string) *GetExportInput {
17211	s.RestApiId = &v
17212	return s
17213}
17214
17215// SetStageName sets the StageName field's value.
17216func (s *GetExportInput) SetStageName(v string) *GetExportInput {
17217	s.StageName = &v
17218	return s
17219}
17220
17221// The binary blob response to GetExport, which contains the generated SDK.
17222type GetExportOutput struct {
17223	_ struct{} `type:"structure" payload:"Body"`
17224
17225	// The binary blob response to GetExport, which contains the export.
17226	Body []byte `locationName:"body" type:"blob"`
17227
17228	// The content-disposition header value in the HTTP response.
17229	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
17230
17231	// The content-type header value in the HTTP response. This will correspond
17232	// to a valid 'accept' type in the request.
17233	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
17234}
17235
17236// String returns the string representation
17237func (s GetExportOutput) String() string {
17238	return awsutil.Prettify(s)
17239}
17240
17241// GoString returns the string representation
17242func (s GetExportOutput) GoString() string {
17243	return s.String()
17244}
17245
17246// SetBody sets the Body field's value.
17247func (s *GetExportOutput) SetBody(v []byte) *GetExportOutput {
17248	s.Body = v
17249	return s
17250}
17251
17252// SetContentDisposition sets the ContentDisposition field's value.
17253func (s *GetExportOutput) SetContentDisposition(v string) *GetExportOutput {
17254	s.ContentDisposition = &v
17255	return s
17256}
17257
17258// SetContentType sets the ContentType field's value.
17259func (s *GetExportOutput) SetContentType(v string) *GetExportOutput {
17260	s.ContentType = &v
17261	return s
17262}
17263
17264// Gets a GatewayResponse of a specified response type on the given RestApi.
17265type GetGatewayResponseInput struct {
17266	_ struct{} `type:"structure"`
17267
17268	// [Required]
17269	// The response type of the associated GatewayResponse. Valid values are
17270	//    * ACCESS_DENIED
17271	//
17272	//    * API_CONFIGURATION_ERROR
17273	//
17274	//    * AUTHORIZER_FAILURE
17275	//
17276	//    * AUTHORIZER_CONFIGURATION_ERROR
17277	//
17278	//    * BAD_REQUEST_PARAMETERS
17279	//
17280	//    * BAD_REQUEST_BODY
17281	//
17282	//    * DEFAULT_4XX
17283	//
17284	//    * DEFAULT_5XX
17285	//
17286	//    * EXPIRED_TOKEN
17287	//
17288	//    * INVALID_SIGNATURE
17289	//
17290	//    * INTEGRATION_FAILURE
17291	//
17292	//    * INTEGRATION_TIMEOUT
17293	//
17294	//    * INVALID_API_KEY
17295	//
17296	//    * MISSING_AUTHENTICATION_TOKEN
17297	//
17298	//    * QUOTA_EXCEEDED
17299	//
17300	//    * REQUEST_TOO_LARGE
17301	//
17302	//    * RESOURCE_NOT_FOUND
17303	//
17304	//    * THROTTLED
17305	//
17306	//    * UNAUTHORIZED
17307	//
17308	//    * UNSUPPORTED_MEDIA_TYPE
17309	//
17310	// ResponseType is a required field
17311	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
17312
17313	// [Required] The string identifier of the associated RestApi.
17314	//
17315	// RestApiId is a required field
17316	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17317}
17318
17319// String returns the string representation
17320func (s GetGatewayResponseInput) String() string {
17321	return awsutil.Prettify(s)
17322}
17323
17324// GoString returns the string representation
17325func (s GetGatewayResponseInput) GoString() string {
17326	return s.String()
17327}
17328
17329// Validate inspects the fields of the type to determine if they are valid.
17330func (s *GetGatewayResponseInput) Validate() error {
17331	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponseInput"}
17332	if s.ResponseType == nil {
17333		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
17334	}
17335	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
17336		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
17337	}
17338	if s.RestApiId == nil {
17339		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17340	}
17341	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17342		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17343	}
17344
17345	if invalidParams.Len() > 0 {
17346		return invalidParams
17347	}
17348	return nil
17349}
17350
17351// SetResponseType sets the ResponseType field's value.
17352func (s *GetGatewayResponseInput) SetResponseType(v string) *GetGatewayResponseInput {
17353	s.ResponseType = &v
17354	return s
17355}
17356
17357// SetRestApiId sets the RestApiId field's value.
17358func (s *GetGatewayResponseInput) SetRestApiId(v string) *GetGatewayResponseInput {
17359	s.RestApiId = &v
17360	return s
17361}
17362
17363// Gets the GatewayResponses collection on the given RestApi. If an API developer
17364// has not added any definitions for gateway responses, the result will be the
17365// API Gateway-generated default GatewayResponses collection for the supported
17366// response types.
17367type GetGatewayResponsesInput struct {
17368	_ struct{} `type:"structure"`
17369
17370	// The maximum number of returned results per page. The default value is 25
17371	// and the maximum value is 500. The GatewayResponses collection does not support
17372	// pagination and the limit does not apply here.
17373	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
17374
17375	// The current pagination position in the paged result set. The GatewayResponse
17376	// collection does not support pagination and the position does not apply here.
17377	Position *string `location:"querystring" locationName:"position" type:"string"`
17378
17379	// [Required] The string identifier of the associated RestApi.
17380	//
17381	// RestApiId is a required field
17382	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17383}
17384
17385// String returns the string representation
17386func (s GetGatewayResponsesInput) String() string {
17387	return awsutil.Prettify(s)
17388}
17389
17390// GoString returns the string representation
17391func (s GetGatewayResponsesInput) GoString() string {
17392	return s.String()
17393}
17394
17395// Validate inspects the fields of the type to determine if they are valid.
17396func (s *GetGatewayResponsesInput) Validate() error {
17397	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponsesInput"}
17398	if s.RestApiId == nil {
17399		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17400	}
17401	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17402		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17403	}
17404
17405	if invalidParams.Len() > 0 {
17406		return invalidParams
17407	}
17408	return nil
17409}
17410
17411// SetLimit sets the Limit field's value.
17412func (s *GetGatewayResponsesInput) SetLimit(v int64) *GetGatewayResponsesInput {
17413	s.Limit = &v
17414	return s
17415}
17416
17417// SetPosition sets the Position field's value.
17418func (s *GetGatewayResponsesInput) SetPosition(v string) *GetGatewayResponsesInput {
17419	s.Position = &v
17420	return s
17421}
17422
17423// SetRestApiId sets the RestApiId field's value.
17424func (s *GetGatewayResponsesInput) SetRestApiId(v string) *GetGatewayResponsesInput {
17425	s.RestApiId = &v
17426	return s
17427}
17428
17429// The collection of the GatewayResponse instances of a RestApi as a responseType-to-GatewayResponse
17430// object map of key-value pairs. As such, pagination is not supported for querying
17431// this collection.
17432//
17433// For more information about valid gateway response types, see Gateway Response
17434// Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
17435//
17436// Example: Get the collection of gateway responses of an API
17437//
17438// Request
17439//
17440// This example request shows how to retrieve the GatewayResponses collection
17441// from an API.
17442//  GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com
17443//  Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization:
17444//  AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
17445//  SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a
17446//  Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515
17447//
17448// Response
17449//
17450// The successful operation returns the 200 OK status code and a payload similar
17451// to the following:
17452//  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
17453//  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses"
17454//  }, "first": { "href": "/restapis/o81lxisefl/gatewayresponses" }, "gatewayresponse:by-type":
17455//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17456//  true }, "item": [ { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17457//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
17458//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" },
17459//  { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, { "href":
17460//  "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE" }, { "href":
17461//  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR" },
17462//  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, { "href":
17463//  "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX" }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17464//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" },
17465//  { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, { "href":
17466//  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
17467//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, { "href":
17468//  "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR" }, { "href":
17469//  "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
17470//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
17471//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" },
17472//  { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" } ]
17473//  }, "_embedded": { "item": [ { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17474//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17475//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17476//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17477//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17478//  "INTEGRATION_FAILURE", "statusCode": "504" }, { "_links": { "self": { "href":
17479//  "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND" }, "gatewayresponse:put":
17480//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17481//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
17482//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17483//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17484//  "RESOURCE_NOT_FOUND", "statusCode": "404" }, { "_links": { "self": { "href":
17485//  "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" }, "gatewayresponse:put":
17486//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17487//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE"
17488//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17489//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17490//  "REQUEST_TOO_LARGE", "statusCode": "413" }, { "_links": { "self": { "href":
17491//  "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, "gatewayresponse:put":
17492//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17493//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED"
17494//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17495//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17496//  "THROTTLED", "statusCode": "429" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
17497//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17498//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
17499//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17500//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17501//  "UNSUPPORTED_MEDIA_TYPE", "statusCode": "415" }, { "_links": { "self": {
17502//  "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
17503//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17504//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
17505//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17506//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17507//  "AUTHORIZER_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
17508//  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, "gatewayresponse:put":
17509//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17510//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX"
17511//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17512//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17513//  "DEFAULT_5XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
17514//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17515//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
17516//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17517//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17518//  "DEFAULT_4XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17519//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17520//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17521//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17522//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17523//  "BAD_REQUEST_PARAMETERS", "statusCode": "400" }, { "_links": { "self": {
17524//  "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" }, "gatewayresponse:put":
17525//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17526//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY"
17527//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17528//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17529//  "BAD_REQUEST_BODY", "statusCode": "400" }, { "_links": { "self": { "href":
17530//  "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, "gatewayresponse:put":
17531//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17532//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN"
17533//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17534//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17535//  "EXPIRED_TOKEN", "statusCode": "403" }, { "_links": { "self": { "href":
17536//  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, "gatewayresponse:put":
17537//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17538//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED"
17539//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17540//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17541//  "ACCESS_DENIED", "statusCode": "403" }, { "_links": { "self": { "href":
17542//  "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY" }, "gatewayresponse:put":
17543//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17544//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
17545//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17546//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17547//  "INVALID_API_KEY", "statusCode": "403" }, { "_links": { "self": { "href":
17548//  "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, "gatewayresponse:put":
17549//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17550//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED"
17551//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17552//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17553//  "UNAUTHORIZED", "statusCode": "401" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
17554//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17555//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
17556//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17557//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17558//  "API_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
17559//  { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, "gatewayresponse:put":
17560//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17561//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED"
17562//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17563//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17564//  "QUOTA_EXCEEDED", "statusCode": "429" }, { "_links": { "self": { "href":
17565//  "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT" }, "gatewayresponse:put":
17566//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17567//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
17568//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17569//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17570//  "INTEGRATION_TIMEOUT", "statusCode": "504" }, { "_links": { "self": { "href":
17571//  "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" },
17572//  "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17573//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
17574//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17575//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17576//  "MISSING_AUTHENTICATION_TOKEN", "statusCode": "403" }, { "_links": { "self":
17577//  { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" }, "gatewayresponse:put":
17578//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17579//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE"
17580//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17581//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17582//  "INVALID_SIGNATURE", "statusCode": "403" }, { "_links": { "self": { "href":
17583//  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" }, "gatewayresponse:put":
17584//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17585//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE"
17586//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17587//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17588//  "AUTHORIZER_FAILURE", "statusCode": "500" } ] } }
17589//
17590// Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
17591type GetGatewayResponsesOutput struct {
17592	_ struct{} `type:"structure"`
17593
17594	// Returns the entire collection, because of no pagination support.
17595	Items []*UpdateGatewayResponseOutput `locationName:"item" type:"list"`
17596
17597	Position *string `locationName:"position" type:"string"`
17598}
17599
17600// String returns the string representation
17601func (s GetGatewayResponsesOutput) String() string {
17602	return awsutil.Prettify(s)
17603}
17604
17605// GoString returns the string representation
17606func (s GetGatewayResponsesOutput) GoString() string {
17607	return s.String()
17608}
17609
17610// SetItems sets the Items field's value.
17611func (s *GetGatewayResponsesOutput) SetItems(v []*UpdateGatewayResponseOutput) *GetGatewayResponsesOutput {
17612	s.Items = v
17613	return s
17614}
17615
17616// SetPosition sets the Position field's value.
17617func (s *GetGatewayResponsesOutput) SetPosition(v string) *GetGatewayResponsesOutput {
17618	s.Position = &v
17619	return s
17620}
17621
17622// Represents a request to get the integration configuration.
17623type GetIntegrationInput struct {
17624	_ struct{} `type:"structure"`
17625
17626	// [Required] Specifies a get integration request's HTTP method.
17627	//
17628	// HttpMethod is a required field
17629	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17630
17631	// [Required] Specifies a get integration request's resource identifier
17632	//
17633	// ResourceId is a required field
17634	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17635
17636	// [Required] The string identifier of the associated RestApi.
17637	//
17638	// RestApiId is a required field
17639	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17640}
17641
17642// String returns the string representation
17643func (s GetIntegrationInput) String() string {
17644	return awsutil.Prettify(s)
17645}
17646
17647// GoString returns the string representation
17648func (s GetIntegrationInput) GoString() string {
17649	return s.String()
17650}
17651
17652// Validate inspects the fields of the type to determine if they are valid.
17653func (s *GetIntegrationInput) Validate() error {
17654	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
17655	if s.HttpMethod == nil {
17656		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17657	}
17658	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17659		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17660	}
17661	if s.ResourceId == nil {
17662		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17663	}
17664	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17665		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17666	}
17667	if s.RestApiId == nil {
17668		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17669	}
17670	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17671		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17672	}
17673
17674	if invalidParams.Len() > 0 {
17675		return invalidParams
17676	}
17677	return nil
17678}
17679
17680// SetHttpMethod sets the HttpMethod field's value.
17681func (s *GetIntegrationInput) SetHttpMethod(v string) *GetIntegrationInput {
17682	s.HttpMethod = &v
17683	return s
17684}
17685
17686// SetResourceId sets the ResourceId field's value.
17687func (s *GetIntegrationInput) SetResourceId(v string) *GetIntegrationInput {
17688	s.ResourceId = &v
17689	return s
17690}
17691
17692// SetRestApiId sets the RestApiId field's value.
17693func (s *GetIntegrationInput) SetRestApiId(v string) *GetIntegrationInput {
17694	s.RestApiId = &v
17695	return s
17696}
17697
17698// Represents a get integration response request.
17699type GetIntegrationResponseInput struct {
17700	_ struct{} `type:"structure"`
17701
17702	// [Required] Specifies a get integration response request's HTTP method.
17703	//
17704	// HttpMethod is a required field
17705	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17706
17707	// [Required] Specifies a get integration response request's resource identifier.
17708	//
17709	// ResourceId is a required field
17710	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17711
17712	// [Required] The string identifier of the associated RestApi.
17713	//
17714	// RestApiId is a required field
17715	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17716
17717	// [Required] Specifies a get integration response request's status code.
17718	//
17719	// StatusCode is a required field
17720	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
17721}
17722
17723// String returns the string representation
17724func (s GetIntegrationResponseInput) String() string {
17725	return awsutil.Prettify(s)
17726}
17727
17728// GoString returns the string representation
17729func (s GetIntegrationResponseInput) GoString() string {
17730	return s.String()
17731}
17732
17733// Validate inspects the fields of the type to determine if they are valid.
17734func (s *GetIntegrationResponseInput) Validate() error {
17735	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
17736	if s.HttpMethod == nil {
17737		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17738	}
17739	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17740		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17741	}
17742	if s.ResourceId == nil {
17743		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17744	}
17745	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17746		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17747	}
17748	if s.RestApiId == nil {
17749		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17750	}
17751	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17752		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17753	}
17754	if s.StatusCode == nil {
17755		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
17756	}
17757	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
17758		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
17759	}
17760
17761	if invalidParams.Len() > 0 {
17762		return invalidParams
17763	}
17764	return nil
17765}
17766
17767// SetHttpMethod sets the HttpMethod field's value.
17768func (s *GetIntegrationResponseInput) SetHttpMethod(v string) *GetIntegrationResponseInput {
17769	s.HttpMethod = &v
17770	return s
17771}
17772
17773// SetResourceId sets the ResourceId field's value.
17774func (s *GetIntegrationResponseInput) SetResourceId(v string) *GetIntegrationResponseInput {
17775	s.ResourceId = &v
17776	return s
17777}
17778
17779// SetRestApiId sets the RestApiId field's value.
17780func (s *GetIntegrationResponseInput) SetRestApiId(v string) *GetIntegrationResponseInput {
17781	s.RestApiId = &v
17782	return s
17783}
17784
17785// SetStatusCode sets the StatusCode field's value.
17786func (s *GetIntegrationResponseInput) SetStatusCode(v string) *GetIntegrationResponseInput {
17787	s.StatusCode = &v
17788	return s
17789}
17790
17791// Request to describe an existing Method resource.
17792type GetMethodInput struct {
17793	_ struct{} `type:"structure"`
17794
17795	// [Required] Specifies the method request's HTTP method type.
17796	//
17797	// HttpMethod is a required field
17798	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17799
17800	// [Required] The Resource identifier for the Method resource.
17801	//
17802	// ResourceId is a required field
17803	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17804
17805	// [Required] The string identifier of the associated RestApi.
17806	//
17807	// RestApiId is a required field
17808	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17809}
17810
17811// String returns the string representation
17812func (s GetMethodInput) String() string {
17813	return awsutil.Prettify(s)
17814}
17815
17816// GoString returns the string representation
17817func (s GetMethodInput) GoString() string {
17818	return s.String()
17819}
17820
17821// Validate inspects the fields of the type to determine if they are valid.
17822func (s *GetMethodInput) Validate() error {
17823	invalidParams := request.ErrInvalidParams{Context: "GetMethodInput"}
17824	if s.HttpMethod == nil {
17825		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17826	}
17827	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17828		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17829	}
17830	if s.ResourceId == nil {
17831		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17832	}
17833	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17834		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17835	}
17836	if s.RestApiId == nil {
17837		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17838	}
17839	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17840		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17841	}
17842
17843	if invalidParams.Len() > 0 {
17844		return invalidParams
17845	}
17846	return nil
17847}
17848
17849// SetHttpMethod sets the HttpMethod field's value.
17850func (s *GetMethodInput) SetHttpMethod(v string) *GetMethodInput {
17851	s.HttpMethod = &v
17852	return s
17853}
17854
17855// SetResourceId sets the ResourceId field's value.
17856func (s *GetMethodInput) SetResourceId(v string) *GetMethodInput {
17857	s.ResourceId = &v
17858	return s
17859}
17860
17861// SetRestApiId sets the RestApiId field's value.
17862func (s *GetMethodInput) SetRestApiId(v string) *GetMethodInput {
17863	s.RestApiId = &v
17864	return s
17865}
17866
17867// Request to describe a MethodResponse resource.
17868type GetMethodResponseInput struct {
17869	_ struct{} `type:"structure"`
17870
17871	// [Required] The HTTP verb of the Method resource.
17872	//
17873	// HttpMethod is a required field
17874	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17875
17876	// [Required] The Resource identifier for the MethodResponse resource.
17877	//
17878	// ResourceId is a required field
17879	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17880
17881	// [Required] The string identifier of the associated RestApi.
17882	//
17883	// RestApiId is a required field
17884	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17885
17886	// [Required] The status code for the MethodResponse resource.
17887	//
17888	// StatusCode is a required field
17889	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
17890}
17891
17892// String returns the string representation
17893func (s GetMethodResponseInput) String() string {
17894	return awsutil.Prettify(s)
17895}
17896
17897// GoString returns the string representation
17898func (s GetMethodResponseInput) GoString() string {
17899	return s.String()
17900}
17901
17902// Validate inspects the fields of the type to determine if they are valid.
17903func (s *GetMethodResponseInput) Validate() error {
17904	invalidParams := request.ErrInvalidParams{Context: "GetMethodResponseInput"}
17905	if s.HttpMethod == nil {
17906		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17907	}
17908	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17909		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17910	}
17911	if s.ResourceId == nil {
17912		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17913	}
17914	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17915		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17916	}
17917	if s.RestApiId == nil {
17918		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17919	}
17920	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17921		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17922	}
17923	if s.StatusCode == nil {
17924		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
17925	}
17926	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
17927		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
17928	}
17929
17930	if invalidParams.Len() > 0 {
17931		return invalidParams
17932	}
17933	return nil
17934}
17935
17936// SetHttpMethod sets the HttpMethod field's value.
17937func (s *GetMethodResponseInput) SetHttpMethod(v string) *GetMethodResponseInput {
17938	s.HttpMethod = &v
17939	return s
17940}
17941
17942// SetResourceId sets the ResourceId field's value.
17943func (s *GetMethodResponseInput) SetResourceId(v string) *GetMethodResponseInput {
17944	s.ResourceId = &v
17945	return s
17946}
17947
17948// SetRestApiId sets the RestApiId field's value.
17949func (s *GetMethodResponseInput) SetRestApiId(v string) *GetMethodResponseInput {
17950	s.RestApiId = &v
17951	return s
17952}
17953
17954// SetStatusCode sets the StatusCode field's value.
17955func (s *GetMethodResponseInput) SetStatusCode(v string) *GetMethodResponseInput {
17956	s.StatusCode = &v
17957	return s
17958}
17959
17960// Request to list information about a model in an existing RestApi resource.
17961type GetModelInput struct {
17962	_ struct{} `type:"structure"`
17963
17964	// A query parameter of a Boolean value to resolve (true) all external model
17965	// references and returns a flattened model schema or not (false) The default
17966	// is false.
17967	Flatten *bool `location:"querystring" locationName:"flatten" type:"boolean"`
17968
17969	// [Required] The name of the model as an identifier.
17970	//
17971	// ModelName is a required field
17972	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
17973
17974	// [Required] The RestApi identifier under which the Model exists.
17975	//
17976	// RestApiId is a required field
17977	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17978}
17979
17980// String returns the string representation
17981func (s GetModelInput) String() string {
17982	return awsutil.Prettify(s)
17983}
17984
17985// GoString returns the string representation
17986func (s GetModelInput) GoString() string {
17987	return s.String()
17988}
17989
17990// Validate inspects the fields of the type to determine if they are valid.
17991func (s *GetModelInput) Validate() error {
17992	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
17993	if s.ModelName == nil {
17994		invalidParams.Add(request.NewErrParamRequired("ModelName"))
17995	}
17996	if s.ModelName != nil && len(*s.ModelName) < 1 {
17997		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
17998	}
17999	if s.RestApiId == nil {
18000		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18001	}
18002	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18003		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18004	}
18005
18006	if invalidParams.Len() > 0 {
18007		return invalidParams
18008	}
18009	return nil
18010}
18011
18012// SetFlatten sets the Flatten field's value.
18013func (s *GetModelInput) SetFlatten(v bool) *GetModelInput {
18014	s.Flatten = &v
18015	return s
18016}
18017
18018// SetModelName sets the ModelName field's value.
18019func (s *GetModelInput) SetModelName(v string) *GetModelInput {
18020	s.ModelName = &v
18021	return s
18022}
18023
18024// SetRestApiId sets the RestApiId field's value.
18025func (s *GetModelInput) SetRestApiId(v string) *GetModelInput {
18026	s.RestApiId = &v
18027	return s
18028}
18029
18030// Request to generate a sample mapping template used to transform the payload.
18031type GetModelTemplateInput struct {
18032	_ struct{} `type:"structure"`
18033
18034	// [Required] The name of the model for which to generate a template.
18035	//
18036	// ModelName is a required field
18037	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
18038
18039	// [Required] The string identifier of the associated RestApi.
18040	//
18041	// RestApiId is a required field
18042	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18043}
18044
18045// String returns the string representation
18046func (s GetModelTemplateInput) String() string {
18047	return awsutil.Prettify(s)
18048}
18049
18050// GoString returns the string representation
18051func (s GetModelTemplateInput) GoString() string {
18052	return s.String()
18053}
18054
18055// Validate inspects the fields of the type to determine if they are valid.
18056func (s *GetModelTemplateInput) Validate() error {
18057	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
18058	if s.ModelName == nil {
18059		invalidParams.Add(request.NewErrParamRequired("ModelName"))
18060	}
18061	if s.ModelName != nil && len(*s.ModelName) < 1 {
18062		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
18063	}
18064	if s.RestApiId == nil {
18065		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18066	}
18067	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18068		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18069	}
18070
18071	if invalidParams.Len() > 0 {
18072		return invalidParams
18073	}
18074	return nil
18075}
18076
18077// SetModelName sets the ModelName field's value.
18078func (s *GetModelTemplateInput) SetModelName(v string) *GetModelTemplateInput {
18079	s.ModelName = &v
18080	return s
18081}
18082
18083// SetRestApiId sets the RestApiId field's value.
18084func (s *GetModelTemplateInput) SetRestApiId(v string) *GetModelTemplateInput {
18085	s.RestApiId = &v
18086	return s
18087}
18088
18089// Represents a mapping template used to transform a payload.
18090//
18091// Mapping Templates (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-mappings)
18092type GetModelTemplateOutput struct {
18093	_ struct{} `type:"structure"`
18094
18095	// The Apache Velocity Template Language (VTL) (https://velocity.apache.org/engine/devel/vtl-reference-guide.html)
18096	// template content used for the template resource.
18097	Value *string `locationName:"value" type:"string"`
18098}
18099
18100// String returns the string representation
18101func (s GetModelTemplateOutput) String() string {
18102	return awsutil.Prettify(s)
18103}
18104
18105// GoString returns the string representation
18106func (s GetModelTemplateOutput) GoString() string {
18107	return s.String()
18108}
18109
18110// SetValue sets the Value field's value.
18111func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
18112	s.Value = &v
18113	return s
18114}
18115
18116// Request to list existing Models defined for a RestApi resource.
18117type GetModelsInput struct {
18118	_ struct{} `type:"structure"`
18119
18120	// The maximum number of returned results per page. The default value is 25
18121	// and the maximum value is 500.
18122	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18123
18124	// The current pagination position in the paged result set.
18125	Position *string `location:"querystring" locationName:"position" type:"string"`
18126
18127	// [Required] The string identifier of the associated RestApi.
18128	//
18129	// RestApiId is a required field
18130	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18131}
18132
18133// String returns the string representation
18134func (s GetModelsInput) String() string {
18135	return awsutil.Prettify(s)
18136}
18137
18138// GoString returns the string representation
18139func (s GetModelsInput) GoString() string {
18140	return s.String()
18141}
18142
18143// Validate inspects the fields of the type to determine if they are valid.
18144func (s *GetModelsInput) Validate() error {
18145	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
18146	if s.RestApiId == nil {
18147		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18148	}
18149	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18150		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18151	}
18152
18153	if invalidParams.Len() > 0 {
18154		return invalidParams
18155	}
18156	return nil
18157}
18158
18159// SetLimit sets the Limit field's value.
18160func (s *GetModelsInput) SetLimit(v int64) *GetModelsInput {
18161	s.Limit = &v
18162	return s
18163}
18164
18165// SetPosition sets the Position field's value.
18166func (s *GetModelsInput) SetPosition(v string) *GetModelsInput {
18167	s.Position = &v
18168	return s
18169}
18170
18171// SetRestApiId sets the RestApiId field's value.
18172func (s *GetModelsInput) SetRestApiId(v string) *GetModelsInput {
18173	s.RestApiId = &v
18174	return s
18175}
18176
18177// Represents a collection of Model resources.
18178//
18179// Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
18180type GetModelsOutput struct {
18181	_ struct{} `type:"structure"`
18182
18183	// The current page of elements from this collection.
18184	Items []*Model `locationName:"item" type:"list"`
18185
18186	Position *string `locationName:"position" type:"string"`
18187}
18188
18189// String returns the string representation
18190func (s GetModelsOutput) String() string {
18191	return awsutil.Prettify(s)
18192}
18193
18194// GoString returns the string representation
18195func (s GetModelsOutput) GoString() string {
18196	return s.String()
18197}
18198
18199// SetItems sets the Items field's value.
18200func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
18201	s.Items = v
18202	return s
18203}
18204
18205// SetPosition sets the Position field's value.
18206func (s *GetModelsOutput) SetPosition(v string) *GetModelsOutput {
18207	s.Position = &v
18208	return s
18209}
18210
18211// Gets a RequestValidator of a given RestApi.
18212type GetRequestValidatorInput struct {
18213	_ struct{} `type:"structure"`
18214
18215	// [Required] The identifier of the RequestValidator to be retrieved.
18216	//
18217	// RequestValidatorId is a required field
18218	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
18219
18220	// [Required] The string identifier of the associated RestApi.
18221	//
18222	// RestApiId is a required field
18223	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18224}
18225
18226// String returns the string representation
18227func (s GetRequestValidatorInput) String() string {
18228	return awsutil.Prettify(s)
18229}
18230
18231// GoString returns the string representation
18232func (s GetRequestValidatorInput) GoString() string {
18233	return s.String()
18234}
18235
18236// Validate inspects the fields of the type to determine if they are valid.
18237func (s *GetRequestValidatorInput) Validate() error {
18238	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorInput"}
18239	if s.RequestValidatorId == nil {
18240		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
18241	}
18242	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
18243		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
18244	}
18245	if s.RestApiId == nil {
18246		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18247	}
18248	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18249		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18250	}
18251
18252	if invalidParams.Len() > 0 {
18253		return invalidParams
18254	}
18255	return nil
18256}
18257
18258// SetRequestValidatorId sets the RequestValidatorId field's value.
18259func (s *GetRequestValidatorInput) SetRequestValidatorId(v string) *GetRequestValidatorInput {
18260	s.RequestValidatorId = &v
18261	return s
18262}
18263
18264// SetRestApiId sets the RestApiId field's value.
18265func (s *GetRequestValidatorInput) SetRestApiId(v string) *GetRequestValidatorInput {
18266	s.RestApiId = &v
18267	return s
18268}
18269
18270// Gets the RequestValidators collection of a given RestApi.
18271type GetRequestValidatorsInput struct {
18272	_ struct{} `type:"structure"`
18273
18274	// The maximum number of returned results per page. The default value is 25
18275	// and the maximum value is 500.
18276	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18277
18278	// The current pagination position in the paged result set.
18279	Position *string `location:"querystring" locationName:"position" type:"string"`
18280
18281	// [Required] The string identifier of the associated RestApi.
18282	//
18283	// RestApiId is a required field
18284	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18285}
18286
18287// String returns the string representation
18288func (s GetRequestValidatorsInput) String() string {
18289	return awsutil.Prettify(s)
18290}
18291
18292// GoString returns the string representation
18293func (s GetRequestValidatorsInput) GoString() string {
18294	return s.String()
18295}
18296
18297// Validate inspects the fields of the type to determine if they are valid.
18298func (s *GetRequestValidatorsInput) Validate() error {
18299	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorsInput"}
18300	if s.RestApiId == nil {
18301		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18302	}
18303	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18304		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18305	}
18306
18307	if invalidParams.Len() > 0 {
18308		return invalidParams
18309	}
18310	return nil
18311}
18312
18313// SetLimit sets the Limit field's value.
18314func (s *GetRequestValidatorsInput) SetLimit(v int64) *GetRequestValidatorsInput {
18315	s.Limit = &v
18316	return s
18317}
18318
18319// SetPosition sets the Position field's value.
18320func (s *GetRequestValidatorsInput) SetPosition(v string) *GetRequestValidatorsInput {
18321	s.Position = &v
18322	return s
18323}
18324
18325// SetRestApiId sets the RestApiId field's value.
18326func (s *GetRequestValidatorsInput) SetRestApiId(v string) *GetRequestValidatorsInput {
18327	s.RestApiId = &v
18328	return s
18329}
18330
18331// A collection of RequestValidator resources of a given RestApi.
18332//
18333// In OpenAPI, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators
18334// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.html)
18335// extension.
18336//
18337// Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
18338type GetRequestValidatorsOutput struct {
18339	_ struct{} `type:"structure"`
18340
18341	// The current page of elements from this collection.
18342	Items []*UpdateRequestValidatorOutput `locationName:"item" type:"list"`
18343
18344	Position *string `locationName:"position" type:"string"`
18345}
18346
18347// String returns the string representation
18348func (s GetRequestValidatorsOutput) String() string {
18349	return awsutil.Prettify(s)
18350}
18351
18352// GoString returns the string representation
18353func (s GetRequestValidatorsOutput) GoString() string {
18354	return s.String()
18355}
18356
18357// SetItems sets the Items field's value.
18358func (s *GetRequestValidatorsOutput) SetItems(v []*UpdateRequestValidatorOutput) *GetRequestValidatorsOutput {
18359	s.Items = v
18360	return s
18361}
18362
18363// SetPosition sets the Position field's value.
18364func (s *GetRequestValidatorsOutput) SetPosition(v string) *GetRequestValidatorsOutput {
18365	s.Position = &v
18366	return s
18367}
18368
18369// Request to list information about a resource.
18370type GetResourceInput struct {
18371	_ struct{} `type:"structure"`
18372
18373	// A query parameter to retrieve the specified resources embedded in the returned
18374	// Resource representation in the response. This embed parameter value is a
18375	// list of comma-separated strings. Currently, the request supports only retrieval
18376	// of the embedded Method resources this way. The query parameter value must
18377	// be a single-valued list and contain the "methods" string. For example, GET
18378	// /restapis/{restapi_id}/resources/{resource_id}?embed=methods.
18379	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
18380
18381	// [Required] The identifier for the Resource resource.
18382	//
18383	// ResourceId is a required field
18384	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
18385
18386	// [Required] The string identifier of the associated RestApi.
18387	//
18388	// RestApiId is a required field
18389	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18390}
18391
18392// String returns the string representation
18393func (s GetResourceInput) String() string {
18394	return awsutil.Prettify(s)
18395}
18396
18397// GoString returns the string representation
18398func (s GetResourceInput) GoString() string {
18399	return s.String()
18400}
18401
18402// Validate inspects the fields of the type to determine if they are valid.
18403func (s *GetResourceInput) Validate() error {
18404	invalidParams := request.ErrInvalidParams{Context: "GetResourceInput"}
18405	if s.ResourceId == nil {
18406		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
18407	}
18408	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
18409		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
18410	}
18411	if s.RestApiId == nil {
18412		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18413	}
18414	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18415		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18416	}
18417
18418	if invalidParams.Len() > 0 {
18419		return invalidParams
18420	}
18421	return nil
18422}
18423
18424// SetEmbed sets the Embed field's value.
18425func (s *GetResourceInput) SetEmbed(v []*string) *GetResourceInput {
18426	s.Embed = v
18427	return s
18428}
18429
18430// SetResourceId sets the ResourceId field's value.
18431func (s *GetResourceInput) SetResourceId(v string) *GetResourceInput {
18432	s.ResourceId = &v
18433	return s
18434}
18435
18436// SetRestApiId sets the RestApiId field's value.
18437func (s *GetResourceInput) SetRestApiId(v string) *GetResourceInput {
18438	s.RestApiId = &v
18439	return s
18440}
18441
18442// Request to list information about a collection of resources.
18443type GetResourcesInput struct {
18444	_ struct{} `type:"structure"`
18445
18446	// A query parameter used to retrieve the specified resources embedded in the
18447	// returned Resources resource in the response. This embed parameter value is
18448	// a list of comma-separated strings. Currently, the request supports only retrieval
18449	// of the embedded Method resources this way. The query parameter value must
18450	// be a single-valued list and contain the "methods" string. For example, GET
18451	// /restapis/{restapi_id}/resources?embed=methods.
18452	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
18453
18454	// The maximum number of returned results per page. The default value is 25
18455	// and the maximum value is 500.
18456	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18457
18458	// The current pagination position in the paged result set.
18459	Position *string `location:"querystring" locationName:"position" type:"string"`
18460
18461	// [Required] The string identifier of the associated RestApi.
18462	//
18463	// RestApiId is a required field
18464	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18465}
18466
18467// String returns the string representation
18468func (s GetResourcesInput) String() string {
18469	return awsutil.Prettify(s)
18470}
18471
18472// GoString returns the string representation
18473func (s GetResourcesInput) GoString() string {
18474	return s.String()
18475}
18476
18477// Validate inspects the fields of the type to determine if they are valid.
18478func (s *GetResourcesInput) Validate() error {
18479	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
18480	if s.RestApiId == nil {
18481		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18482	}
18483	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18484		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18485	}
18486
18487	if invalidParams.Len() > 0 {
18488		return invalidParams
18489	}
18490	return nil
18491}
18492
18493// SetEmbed sets the Embed field's value.
18494func (s *GetResourcesInput) SetEmbed(v []*string) *GetResourcesInput {
18495	s.Embed = v
18496	return s
18497}
18498
18499// SetLimit sets the Limit field's value.
18500func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
18501	s.Limit = &v
18502	return s
18503}
18504
18505// SetPosition sets the Position field's value.
18506func (s *GetResourcesInput) SetPosition(v string) *GetResourcesInput {
18507	s.Position = &v
18508	return s
18509}
18510
18511// SetRestApiId sets the RestApiId field's value.
18512func (s *GetResourcesInput) SetRestApiId(v string) *GetResourcesInput {
18513	s.RestApiId = &v
18514	return s
18515}
18516
18517// Represents a collection of Resource resources.
18518//
18519// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
18520type GetResourcesOutput struct {
18521	_ struct{} `type:"structure"`
18522
18523	// The current page of elements from this collection.
18524	Items []*Resource `locationName:"item" type:"list"`
18525
18526	Position *string `locationName:"position" type:"string"`
18527}
18528
18529// String returns the string representation
18530func (s GetResourcesOutput) String() string {
18531	return awsutil.Prettify(s)
18532}
18533
18534// GoString returns the string representation
18535func (s GetResourcesOutput) GoString() string {
18536	return s.String()
18537}
18538
18539// SetItems sets the Items field's value.
18540func (s *GetResourcesOutput) SetItems(v []*Resource) *GetResourcesOutput {
18541	s.Items = v
18542	return s
18543}
18544
18545// SetPosition sets the Position field's value.
18546func (s *GetResourcesOutput) SetPosition(v string) *GetResourcesOutput {
18547	s.Position = &v
18548	return s
18549}
18550
18551// The GET request to list an existing RestApi defined for your collection.
18552type GetRestApiInput struct {
18553	_ struct{} `type:"structure"`
18554
18555	// [Required] The string identifier of the associated RestApi.
18556	//
18557	// RestApiId is a required field
18558	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18559}
18560
18561// String returns the string representation
18562func (s GetRestApiInput) String() string {
18563	return awsutil.Prettify(s)
18564}
18565
18566// GoString returns the string representation
18567func (s GetRestApiInput) GoString() string {
18568	return s.String()
18569}
18570
18571// Validate inspects the fields of the type to determine if they are valid.
18572func (s *GetRestApiInput) Validate() error {
18573	invalidParams := request.ErrInvalidParams{Context: "GetRestApiInput"}
18574	if s.RestApiId == nil {
18575		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18576	}
18577	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18578		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18579	}
18580
18581	if invalidParams.Len() > 0 {
18582		return invalidParams
18583	}
18584	return nil
18585}
18586
18587// SetRestApiId sets the RestApiId field's value.
18588func (s *GetRestApiInput) SetRestApiId(v string) *GetRestApiInput {
18589	s.RestApiId = &v
18590	return s
18591}
18592
18593// The GET request to list existing RestApis defined for your collection.
18594type GetRestApisInput struct {
18595	_ struct{} `type:"structure"`
18596
18597	// The maximum number of returned results per page. The default value is 25
18598	// and the maximum value is 500.
18599	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18600
18601	// The current pagination position in the paged result set.
18602	Position *string `location:"querystring" locationName:"position" type:"string"`
18603}
18604
18605// String returns the string representation
18606func (s GetRestApisInput) String() string {
18607	return awsutil.Prettify(s)
18608}
18609
18610// GoString returns the string representation
18611func (s GetRestApisInput) GoString() string {
18612	return s.String()
18613}
18614
18615// SetLimit sets the Limit field's value.
18616func (s *GetRestApisInput) SetLimit(v int64) *GetRestApisInput {
18617	s.Limit = &v
18618	return s
18619}
18620
18621// SetPosition sets the Position field's value.
18622func (s *GetRestApisInput) SetPosition(v string) *GetRestApisInput {
18623	s.Position = &v
18624	return s
18625}
18626
18627// Contains references to your APIs and links that guide you in how to interact
18628// with your collection. A collection offers a paginated view of your APIs.
18629//
18630// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
18631type GetRestApisOutput struct {
18632	_ struct{} `type:"structure"`
18633
18634	// The current page of elements from this collection.
18635	Items []*RestApi `locationName:"item" type:"list"`
18636
18637	Position *string `locationName:"position" type:"string"`
18638}
18639
18640// String returns the string representation
18641func (s GetRestApisOutput) String() string {
18642	return awsutil.Prettify(s)
18643}
18644
18645// GoString returns the string representation
18646func (s GetRestApisOutput) GoString() string {
18647	return s.String()
18648}
18649
18650// SetItems sets the Items field's value.
18651func (s *GetRestApisOutput) SetItems(v []*RestApi) *GetRestApisOutput {
18652	s.Items = v
18653	return s
18654}
18655
18656// SetPosition sets the Position field's value.
18657func (s *GetRestApisOutput) SetPosition(v string) *GetRestApisOutput {
18658	s.Position = &v
18659	return s
18660}
18661
18662// Request a new generated client SDK for a RestApi and Stage.
18663type GetSdkInput struct {
18664	_ struct{} `type:"structure"`
18665
18666	// A string-to-string key-value map of query parameters sdkType-dependent properties
18667	// of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix
18668	// is required. For sdkType of android, parameters named groupId, artifactId,
18669	// artifactVersion, and invokerPackage are required. For sdkType of java, parameters
18670	// named serviceName and javaPackageName are required.
18671	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
18672
18673	// [Required] The string identifier of the associated RestApi.
18674	//
18675	// RestApiId is a required field
18676	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18677
18678	// [Required] The language for the generated SDK. Currently java, javascript,
18679	// android, objectivec (for iOS), swift (for iOS), and ruby are supported.
18680	//
18681	// SdkType is a required field
18682	SdkType *string `location:"uri" locationName:"sdk_type" type:"string" required:"true"`
18683
18684	// [Required] The name of the Stage that the SDK will use.
18685	//
18686	// StageName is a required field
18687	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
18688}
18689
18690// String returns the string representation
18691func (s GetSdkInput) String() string {
18692	return awsutil.Prettify(s)
18693}
18694
18695// GoString returns the string representation
18696func (s GetSdkInput) GoString() string {
18697	return s.String()
18698}
18699
18700// Validate inspects the fields of the type to determine if they are valid.
18701func (s *GetSdkInput) Validate() error {
18702	invalidParams := request.ErrInvalidParams{Context: "GetSdkInput"}
18703	if s.RestApiId == nil {
18704		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18705	}
18706	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18707		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18708	}
18709	if s.SdkType == nil {
18710		invalidParams.Add(request.NewErrParamRequired("SdkType"))
18711	}
18712	if s.SdkType != nil && len(*s.SdkType) < 1 {
18713		invalidParams.Add(request.NewErrParamMinLen("SdkType", 1))
18714	}
18715	if s.StageName == nil {
18716		invalidParams.Add(request.NewErrParamRequired("StageName"))
18717	}
18718	if s.StageName != nil && len(*s.StageName) < 1 {
18719		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18720	}
18721
18722	if invalidParams.Len() > 0 {
18723		return invalidParams
18724	}
18725	return nil
18726}
18727
18728// SetParameters sets the Parameters field's value.
18729func (s *GetSdkInput) SetParameters(v map[string]*string) *GetSdkInput {
18730	s.Parameters = v
18731	return s
18732}
18733
18734// SetRestApiId sets the RestApiId field's value.
18735func (s *GetSdkInput) SetRestApiId(v string) *GetSdkInput {
18736	s.RestApiId = &v
18737	return s
18738}
18739
18740// SetSdkType sets the SdkType field's value.
18741func (s *GetSdkInput) SetSdkType(v string) *GetSdkInput {
18742	s.SdkType = &v
18743	return s
18744}
18745
18746// SetStageName sets the StageName field's value.
18747func (s *GetSdkInput) SetStageName(v string) *GetSdkInput {
18748	s.StageName = &v
18749	return s
18750}
18751
18752// The binary blob response to GetSdk, which contains the generated SDK.
18753type GetSdkOutput struct {
18754	_ struct{} `type:"structure" payload:"Body"`
18755
18756	// The binary blob response to GetSdk, which contains the generated SDK.
18757	Body []byte `locationName:"body" type:"blob"`
18758
18759	// The content-disposition header value in the HTTP response.
18760	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
18761
18762	// The content-type header value in the HTTP response.
18763	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
18764}
18765
18766// String returns the string representation
18767func (s GetSdkOutput) String() string {
18768	return awsutil.Prettify(s)
18769}
18770
18771// GoString returns the string representation
18772func (s GetSdkOutput) GoString() string {
18773	return s.String()
18774}
18775
18776// SetBody sets the Body field's value.
18777func (s *GetSdkOutput) SetBody(v []byte) *GetSdkOutput {
18778	s.Body = v
18779	return s
18780}
18781
18782// SetContentDisposition sets the ContentDisposition field's value.
18783func (s *GetSdkOutput) SetContentDisposition(v string) *GetSdkOutput {
18784	s.ContentDisposition = &v
18785	return s
18786}
18787
18788// SetContentType sets the ContentType field's value.
18789func (s *GetSdkOutput) SetContentType(v string) *GetSdkOutput {
18790	s.ContentType = &v
18791	return s
18792}
18793
18794// Get an SdkType instance.
18795type GetSdkTypeInput struct {
18796	_ struct{} `type:"structure"`
18797
18798	// [Required] The identifier of the queried SdkType instance.
18799	//
18800	// Id is a required field
18801	Id *string `location:"uri" locationName:"sdktype_id" type:"string" required:"true"`
18802}
18803
18804// String returns the string representation
18805func (s GetSdkTypeInput) String() string {
18806	return awsutil.Prettify(s)
18807}
18808
18809// GoString returns the string representation
18810func (s GetSdkTypeInput) GoString() string {
18811	return s.String()
18812}
18813
18814// Validate inspects the fields of the type to determine if they are valid.
18815func (s *GetSdkTypeInput) Validate() error {
18816	invalidParams := request.ErrInvalidParams{Context: "GetSdkTypeInput"}
18817	if s.Id == nil {
18818		invalidParams.Add(request.NewErrParamRequired("Id"))
18819	}
18820	if s.Id != nil && len(*s.Id) < 1 {
18821		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
18822	}
18823
18824	if invalidParams.Len() > 0 {
18825		return invalidParams
18826	}
18827	return nil
18828}
18829
18830// SetId sets the Id field's value.
18831func (s *GetSdkTypeInput) SetId(v string) *GetSdkTypeInput {
18832	s.Id = &v
18833	return s
18834}
18835
18836// Get the SdkTypes collection.
18837type GetSdkTypesInput struct {
18838	_ struct{} `type:"structure"`
18839
18840	// The maximum number of returned results per page. The default value is 25
18841	// and the maximum value is 500.
18842	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18843
18844	// The current pagination position in the paged result set.
18845	Position *string `location:"querystring" locationName:"position" type:"string"`
18846}
18847
18848// String returns the string representation
18849func (s GetSdkTypesInput) String() string {
18850	return awsutil.Prettify(s)
18851}
18852
18853// GoString returns the string representation
18854func (s GetSdkTypesInput) GoString() string {
18855	return s.String()
18856}
18857
18858// SetLimit sets the Limit field's value.
18859func (s *GetSdkTypesInput) SetLimit(v int64) *GetSdkTypesInput {
18860	s.Limit = &v
18861	return s
18862}
18863
18864// SetPosition sets the Position field's value.
18865func (s *GetSdkTypesInput) SetPosition(v string) *GetSdkTypesInput {
18866	s.Position = &v
18867	return s
18868}
18869
18870// The collection of SdkType instances.
18871type GetSdkTypesOutput struct {
18872	_ struct{} `type:"structure"`
18873
18874	// The current page of elements from this collection.
18875	Items []*SdkType `locationName:"item" type:"list"`
18876
18877	Position *string `locationName:"position" type:"string"`
18878}
18879
18880// String returns the string representation
18881func (s GetSdkTypesOutput) String() string {
18882	return awsutil.Prettify(s)
18883}
18884
18885// GoString returns the string representation
18886func (s GetSdkTypesOutput) GoString() string {
18887	return s.String()
18888}
18889
18890// SetItems sets the Items field's value.
18891func (s *GetSdkTypesOutput) SetItems(v []*SdkType) *GetSdkTypesOutput {
18892	s.Items = v
18893	return s
18894}
18895
18896// SetPosition sets the Position field's value.
18897func (s *GetSdkTypesOutput) SetPosition(v string) *GetSdkTypesOutput {
18898	s.Position = &v
18899	return s
18900}
18901
18902// Requests API Gateway to get information about a Stage resource.
18903type GetStageInput struct {
18904	_ struct{} `type:"structure"`
18905
18906	// [Required] The string identifier of the associated RestApi.
18907	//
18908	// RestApiId is a required field
18909	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18910
18911	// [Required] The name of the Stage resource to get information about.
18912	//
18913	// StageName is a required field
18914	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
18915}
18916
18917// String returns the string representation
18918func (s GetStageInput) String() string {
18919	return awsutil.Prettify(s)
18920}
18921
18922// GoString returns the string representation
18923func (s GetStageInput) GoString() string {
18924	return s.String()
18925}
18926
18927// Validate inspects the fields of the type to determine if they are valid.
18928func (s *GetStageInput) Validate() error {
18929	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
18930	if s.RestApiId == nil {
18931		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18932	}
18933	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18934		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18935	}
18936	if s.StageName == nil {
18937		invalidParams.Add(request.NewErrParamRequired("StageName"))
18938	}
18939	if s.StageName != nil && len(*s.StageName) < 1 {
18940		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18941	}
18942
18943	if invalidParams.Len() > 0 {
18944		return invalidParams
18945	}
18946	return nil
18947}
18948
18949// SetRestApiId sets the RestApiId field's value.
18950func (s *GetStageInput) SetRestApiId(v string) *GetStageInput {
18951	s.RestApiId = &v
18952	return s
18953}
18954
18955// SetStageName sets the StageName field's value.
18956func (s *GetStageInput) SetStageName(v string) *GetStageInput {
18957	s.StageName = &v
18958	return s
18959}
18960
18961// Requests API Gateway to get information about one or more Stage resources.
18962type GetStagesInput struct {
18963	_ struct{} `type:"structure"`
18964
18965	// The stages' deployment identifiers.
18966	DeploymentId *string `location:"querystring" locationName:"deploymentId" type:"string"`
18967
18968	// [Required] The string identifier of the associated RestApi.
18969	//
18970	// RestApiId is a required field
18971	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18972}
18973
18974// String returns the string representation
18975func (s GetStagesInput) String() string {
18976	return awsutil.Prettify(s)
18977}
18978
18979// GoString returns the string representation
18980func (s GetStagesInput) GoString() string {
18981	return s.String()
18982}
18983
18984// Validate inspects the fields of the type to determine if they are valid.
18985func (s *GetStagesInput) Validate() error {
18986	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
18987	if s.RestApiId == nil {
18988		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18989	}
18990	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18991		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18992	}
18993
18994	if invalidParams.Len() > 0 {
18995		return invalidParams
18996	}
18997	return nil
18998}
18999
19000// SetDeploymentId sets the DeploymentId field's value.
19001func (s *GetStagesInput) SetDeploymentId(v string) *GetStagesInput {
19002	s.DeploymentId = &v
19003	return s
19004}
19005
19006// SetRestApiId sets the RestApiId field's value.
19007func (s *GetStagesInput) SetRestApiId(v string) *GetStagesInput {
19008	s.RestApiId = &v
19009	return s
19010}
19011
19012// A list of Stage resources that are associated with the ApiKey resource.
19013//
19014// Deploying API in Stages (https://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html)
19015type GetStagesOutput struct {
19016	_ struct{} `type:"structure"`
19017
19018	// The current page of elements from this collection.
19019	Item []*Stage `locationName:"item" type:"list"`
19020}
19021
19022// String returns the string representation
19023func (s GetStagesOutput) String() string {
19024	return awsutil.Prettify(s)
19025}
19026
19027// GoString returns the string representation
19028func (s GetStagesOutput) GoString() string {
19029	return s.String()
19030}
19031
19032// SetItem sets the Item field's value.
19033func (s *GetStagesOutput) SetItem(v []*Stage) *GetStagesOutput {
19034	s.Item = v
19035	return s
19036}
19037
19038// Gets the Tags collection for a given resource.
19039type GetTagsInput struct {
19040	_ struct{} `type:"structure"`
19041
19042	// (Not currently supported) The maximum number of returned results per page.
19043	// The default value is 25 and the maximum value is 500.
19044	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19045
19046	// (Not currently supported) The current pagination position in the paged result
19047	// set.
19048	Position *string `location:"querystring" locationName:"position" type:"string"`
19049
19050	// [Required] The ARN of a resource that can be tagged. The resource ARN must
19051	// be URL-encoded.
19052	//
19053	// ResourceArn is a required field
19054	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
19055}
19056
19057// String returns the string representation
19058func (s GetTagsInput) String() string {
19059	return awsutil.Prettify(s)
19060}
19061
19062// GoString returns the string representation
19063func (s GetTagsInput) GoString() string {
19064	return s.String()
19065}
19066
19067// Validate inspects the fields of the type to determine if they are valid.
19068func (s *GetTagsInput) Validate() error {
19069	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
19070	if s.ResourceArn == nil {
19071		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
19072	}
19073	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
19074		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
19075	}
19076
19077	if invalidParams.Len() > 0 {
19078		return invalidParams
19079	}
19080	return nil
19081}
19082
19083// SetLimit sets the Limit field's value.
19084func (s *GetTagsInput) SetLimit(v int64) *GetTagsInput {
19085	s.Limit = &v
19086	return s
19087}
19088
19089// SetPosition sets the Position field's value.
19090func (s *GetTagsInput) SetPosition(v string) *GetTagsInput {
19091	s.Position = &v
19092	return s
19093}
19094
19095// SetResourceArn sets the ResourceArn field's value.
19096func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
19097	s.ResourceArn = &v
19098	return s
19099}
19100
19101// The collection of tags. Each tag element is associated with a given resource.
19102type GetTagsOutput struct {
19103	_ struct{} `type:"structure"`
19104
19105	// The collection of tags. Each tag element is associated with a given resource.
19106	Tags map[string]*string `locationName:"tags" type:"map"`
19107}
19108
19109// String returns the string representation
19110func (s GetTagsOutput) String() string {
19111	return awsutil.Prettify(s)
19112}
19113
19114// GoString returns the string representation
19115func (s GetTagsOutput) GoString() string {
19116	return s.String()
19117}
19118
19119// SetTags sets the Tags field's value.
19120func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
19121	s.Tags = v
19122	return s
19123}
19124
19125// The GET request to get the usage data of a usage plan in a specified time
19126// interval.
19127type GetUsageInput struct {
19128	_ struct{} `type:"structure"`
19129
19130	// [Required] The ending date (e.g., 2016-12-31) of the usage data.
19131	//
19132	// EndDate is a required field
19133	EndDate *string `location:"querystring" locationName:"endDate" type:"string" required:"true"`
19134
19135	// The Id of the API key associated with the resultant usage data.
19136	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
19137
19138	// The maximum number of returned results per page. The default value is 25
19139	// and the maximum value is 500.
19140	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19141
19142	// The current pagination position in the paged result set.
19143	Position *string `location:"querystring" locationName:"position" type:"string"`
19144
19145	// [Required] The starting date (e.g., 2016-01-01) of the usage data.
19146	//
19147	// StartDate is a required field
19148	StartDate *string `location:"querystring" locationName:"startDate" type:"string" required:"true"`
19149
19150	// [Required] The Id of the usage plan associated with the usage data.
19151	//
19152	// UsagePlanId is a required field
19153	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19154}
19155
19156// String returns the string representation
19157func (s GetUsageInput) String() string {
19158	return awsutil.Prettify(s)
19159}
19160
19161// GoString returns the string representation
19162func (s GetUsageInput) GoString() string {
19163	return s.String()
19164}
19165
19166// Validate inspects the fields of the type to determine if they are valid.
19167func (s *GetUsageInput) Validate() error {
19168	invalidParams := request.ErrInvalidParams{Context: "GetUsageInput"}
19169	if s.EndDate == nil {
19170		invalidParams.Add(request.NewErrParamRequired("EndDate"))
19171	}
19172	if s.StartDate == nil {
19173		invalidParams.Add(request.NewErrParamRequired("StartDate"))
19174	}
19175	if s.UsagePlanId == nil {
19176		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19177	}
19178	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19179		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19180	}
19181
19182	if invalidParams.Len() > 0 {
19183		return invalidParams
19184	}
19185	return nil
19186}
19187
19188// SetEndDate sets the EndDate field's value.
19189func (s *GetUsageInput) SetEndDate(v string) *GetUsageInput {
19190	s.EndDate = &v
19191	return s
19192}
19193
19194// SetKeyId sets the KeyId field's value.
19195func (s *GetUsageInput) SetKeyId(v string) *GetUsageInput {
19196	s.KeyId = &v
19197	return s
19198}
19199
19200// SetLimit sets the Limit field's value.
19201func (s *GetUsageInput) SetLimit(v int64) *GetUsageInput {
19202	s.Limit = &v
19203	return s
19204}
19205
19206// SetPosition sets the Position field's value.
19207func (s *GetUsageInput) SetPosition(v string) *GetUsageInput {
19208	s.Position = &v
19209	return s
19210}
19211
19212// SetStartDate sets the StartDate field's value.
19213func (s *GetUsageInput) SetStartDate(v string) *GetUsageInput {
19214	s.StartDate = &v
19215	return s
19216}
19217
19218// SetUsagePlanId sets the UsagePlanId field's value.
19219func (s *GetUsageInput) SetUsagePlanId(v string) *GetUsageInput {
19220	s.UsagePlanId = &v
19221	return s
19222}
19223
19224// The GET request to get a usage plan of a given plan identifier.
19225type GetUsagePlanInput struct {
19226	_ struct{} `type:"structure"`
19227
19228	// [Required] The identifier of the UsagePlan resource to be retrieved.
19229	//
19230	// UsagePlanId is a required field
19231	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19232}
19233
19234// String returns the string representation
19235func (s GetUsagePlanInput) String() string {
19236	return awsutil.Prettify(s)
19237}
19238
19239// GoString returns the string representation
19240func (s GetUsagePlanInput) GoString() string {
19241	return s.String()
19242}
19243
19244// Validate inspects the fields of the type to determine if they are valid.
19245func (s *GetUsagePlanInput) Validate() error {
19246	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanInput"}
19247	if s.UsagePlanId == nil {
19248		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19249	}
19250	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19251		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19252	}
19253
19254	if invalidParams.Len() > 0 {
19255		return invalidParams
19256	}
19257	return nil
19258}
19259
19260// SetUsagePlanId sets the UsagePlanId field's value.
19261func (s *GetUsagePlanInput) SetUsagePlanId(v string) *GetUsagePlanInput {
19262	s.UsagePlanId = &v
19263	return s
19264}
19265
19266// The GET request to get a usage plan key of a given key identifier.
19267type GetUsagePlanKeyInput struct {
19268	_ struct{} `type:"structure"`
19269
19270	// [Required] The key Id of the to-be-retrieved UsagePlanKey resource representing
19271	// a plan customer.
19272	//
19273	// KeyId is a required field
19274	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
19275
19276	// [Required] The Id of the UsagePlan resource representing the usage plan containing
19277	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
19278	//
19279	// UsagePlanId is a required field
19280	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19281}
19282
19283// String returns the string representation
19284func (s GetUsagePlanKeyInput) String() string {
19285	return awsutil.Prettify(s)
19286}
19287
19288// GoString returns the string representation
19289func (s GetUsagePlanKeyInput) GoString() string {
19290	return s.String()
19291}
19292
19293// Validate inspects the fields of the type to determine if they are valid.
19294func (s *GetUsagePlanKeyInput) Validate() error {
19295	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeyInput"}
19296	if s.KeyId == nil {
19297		invalidParams.Add(request.NewErrParamRequired("KeyId"))
19298	}
19299	if s.KeyId != nil && len(*s.KeyId) < 1 {
19300		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
19301	}
19302	if s.UsagePlanId == nil {
19303		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19304	}
19305	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19306		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19307	}
19308
19309	if invalidParams.Len() > 0 {
19310		return invalidParams
19311	}
19312	return nil
19313}
19314
19315// SetKeyId sets the KeyId field's value.
19316func (s *GetUsagePlanKeyInput) SetKeyId(v string) *GetUsagePlanKeyInput {
19317	s.KeyId = &v
19318	return s
19319}
19320
19321// SetUsagePlanId sets the UsagePlanId field's value.
19322func (s *GetUsagePlanKeyInput) SetUsagePlanId(v string) *GetUsagePlanKeyInput {
19323	s.UsagePlanId = &v
19324	return s
19325}
19326
19327// The GET request to get all the usage plan keys representing the API keys
19328// added to a specified usage plan.
19329type GetUsagePlanKeysInput struct {
19330	_ struct{} `type:"structure"`
19331
19332	// The maximum number of returned results per page. The default value is 25
19333	// and the maximum value is 500.
19334	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19335
19336	// A query parameter specifying the name of the to-be-returned usage plan keys.
19337	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
19338
19339	// The current pagination position in the paged result set.
19340	Position *string `location:"querystring" locationName:"position" type:"string"`
19341
19342	// [Required] The Id of the UsagePlan resource representing the usage plan containing
19343	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
19344	//
19345	// UsagePlanId is a required field
19346	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19347}
19348
19349// String returns the string representation
19350func (s GetUsagePlanKeysInput) String() string {
19351	return awsutil.Prettify(s)
19352}
19353
19354// GoString returns the string representation
19355func (s GetUsagePlanKeysInput) GoString() string {
19356	return s.String()
19357}
19358
19359// Validate inspects the fields of the type to determine if they are valid.
19360func (s *GetUsagePlanKeysInput) Validate() error {
19361	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeysInput"}
19362	if s.UsagePlanId == nil {
19363		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19364	}
19365	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19366		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19367	}
19368
19369	if invalidParams.Len() > 0 {
19370		return invalidParams
19371	}
19372	return nil
19373}
19374
19375// SetLimit sets the Limit field's value.
19376func (s *GetUsagePlanKeysInput) SetLimit(v int64) *GetUsagePlanKeysInput {
19377	s.Limit = &v
19378	return s
19379}
19380
19381// SetNameQuery sets the NameQuery field's value.
19382func (s *GetUsagePlanKeysInput) SetNameQuery(v string) *GetUsagePlanKeysInput {
19383	s.NameQuery = &v
19384	return s
19385}
19386
19387// SetPosition sets the Position field's value.
19388func (s *GetUsagePlanKeysInput) SetPosition(v string) *GetUsagePlanKeysInput {
19389	s.Position = &v
19390	return s
19391}
19392
19393// SetUsagePlanId sets the UsagePlanId field's value.
19394func (s *GetUsagePlanKeysInput) SetUsagePlanId(v string) *GetUsagePlanKeysInput {
19395	s.UsagePlanId = &v
19396	return s
19397}
19398
19399// Represents the collection of usage plan keys added to usage plans for the
19400// associated API keys and, possibly, other types of keys.
19401//
19402// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
19403type GetUsagePlanKeysOutput struct {
19404	_ struct{} `type:"structure"`
19405
19406	// The current page of elements from this collection.
19407	Items []*UsagePlanKey `locationName:"item" type:"list"`
19408
19409	Position *string `locationName:"position" type:"string"`
19410}
19411
19412// String returns the string representation
19413func (s GetUsagePlanKeysOutput) String() string {
19414	return awsutil.Prettify(s)
19415}
19416
19417// GoString returns the string representation
19418func (s GetUsagePlanKeysOutput) GoString() string {
19419	return s.String()
19420}
19421
19422// SetItems sets the Items field's value.
19423func (s *GetUsagePlanKeysOutput) SetItems(v []*UsagePlanKey) *GetUsagePlanKeysOutput {
19424	s.Items = v
19425	return s
19426}
19427
19428// SetPosition sets the Position field's value.
19429func (s *GetUsagePlanKeysOutput) SetPosition(v string) *GetUsagePlanKeysOutput {
19430	s.Position = &v
19431	return s
19432}
19433
19434// The GET request to get all the usage plans of the caller's account.
19435type GetUsagePlansInput struct {
19436	_ struct{} `type:"structure"`
19437
19438	// The identifier of the API key associated with the usage plans.
19439	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
19440
19441	// The maximum number of returned results per page. The default value is 25
19442	// and the maximum value is 500.
19443	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19444
19445	// The current pagination position in the paged result set.
19446	Position *string `location:"querystring" locationName:"position" type:"string"`
19447}
19448
19449// String returns the string representation
19450func (s GetUsagePlansInput) String() string {
19451	return awsutil.Prettify(s)
19452}
19453
19454// GoString returns the string representation
19455func (s GetUsagePlansInput) GoString() string {
19456	return s.String()
19457}
19458
19459// SetKeyId sets the KeyId field's value.
19460func (s *GetUsagePlansInput) SetKeyId(v string) *GetUsagePlansInput {
19461	s.KeyId = &v
19462	return s
19463}
19464
19465// SetLimit sets the Limit field's value.
19466func (s *GetUsagePlansInput) SetLimit(v int64) *GetUsagePlansInput {
19467	s.Limit = &v
19468	return s
19469}
19470
19471// SetPosition sets the Position field's value.
19472func (s *GetUsagePlansInput) SetPosition(v string) *GetUsagePlansInput {
19473	s.Position = &v
19474	return s
19475}
19476
19477// Represents a collection of usage plans for an AWS account.
19478//
19479// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
19480type GetUsagePlansOutput struct {
19481	_ struct{} `type:"structure"`
19482
19483	// The current page of elements from this collection.
19484	Items []*UsagePlan `locationName:"item" type:"list"`
19485
19486	Position *string `locationName:"position" type:"string"`
19487}
19488
19489// String returns the string representation
19490func (s GetUsagePlansOutput) String() string {
19491	return awsutil.Prettify(s)
19492}
19493
19494// GoString returns the string representation
19495func (s GetUsagePlansOutput) GoString() string {
19496	return s.String()
19497}
19498
19499// SetItems sets the Items field's value.
19500func (s *GetUsagePlansOutput) SetItems(v []*UsagePlan) *GetUsagePlansOutput {
19501	s.Items = v
19502	return s
19503}
19504
19505// SetPosition sets the Position field's value.
19506func (s *GetUsagePlansOutput) SetPosition(v string) *GetUsagePlansOutput {
19507	s.Position = &v
19508	return s
19509}
19510
19511// Gets a specified VPC link under the caller's account in a region.
19512type GetVpcLinkInput struct {
19513	_ struct{} `type:"structure"`
19514
19515	// [Required] The identifier of the VpcLink. It is used in an Integration to
19516	// reference this VpcLink.
19517	//
19518	// VpcLinkId is a required field
19519	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
19520}
19521
19522// String returns the string representation
19523func (s GetVpcLinkInput) String() string {
19524	return awsutil.Prettify(s)
19525}
19526
19527// GoString returns the string representation
19528func (s GetVpcLinkInput) GoString() string {
19529	return s.String()
19530}
19531
19532// Validate inspects the fields of the type to determine if they are valid.
19533func (s *GetVpcLinkInput) Validate() error {
19534	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
19535	if s.VpcLinkId == nil {
19536		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
19537	}
19538	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
19539		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
19540	}
19541
19542	if invalidParams.Len() > 0 {
19543		return invalidParams
19544	}
19545	return nil
19546}
19547
19548// SetVpcLinkId sets the VpcLinkId field's value.
19549func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
19550	s.VpcLinkId = &v
19551	return s
19552}
19553
19554// Gets the VpcLinks collection under the caller's account in a selected region.
19555type GetVpcLinksInput struct {
19556	_ struct{} `type:"structure"`
19557
19558	// The maximum number of returned results per page. The default value is 25
19559	// and the maximum value is 500.
19560	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19561
19562	// The current pagination position in the paged result set.
19563	Position *string `location:"querystring" locationName:"position" type:"string"`
19564}
19565
19566// String returns the string representation
19567func (s GetVpcLinksInput) String() string {
19568	return awsutil.Prettify(s)
19569}
19570
19571// GoString returns the string representation
19572func (s GetVpcLinksInput) GoString() string {
19573	return s.String()
19574}
19575
19576// SetLimit sets the Limit field's value.
19577func (s *GetVpcLinksInput) SetLimit(v int64) *GetVpcLinksInput {
19578	s.Limit = &v
19579	return s
19580}
19581
19582// SetPosition sets the Position field's value.
19583func (s *GetVpcLinksInput) SetPosition(v string) *GetVpcLinksInput {
19584	s.Position = &v
19585	return s
19586}
19587
19588// The collection of VPC links under the caller's account in a region.
19589//
19590// Getting Started with Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html),
19591// Set up Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html)
19592type GetVpcLinksOutput struct {
19593	_ struct{} `type:"structure"`
19594
19595	// The current page of elements from this collection.
19596	Items []*UpdateVpcLinkOutput `locationName:"item" type:"list"`
19597
19598	Position *string `locationName:"position" type:"string"`
19599}
19600
19601// String returns the string representation
19602func (s GetVpcLinksOutput) String() string {
19603	return awsutil.Prettify(s)
19604}
19605
19606// GoString returns the string representation
19607func (s GetVpcLinksOutput) GoString() string {
19608	return s.String()
19609}
19610
19611// SetItems sets the Items field's value.
19612func (s *GetVpcLinksOutput) SetItems(v []*UpdateVpcLinkOutput) *GetVpcLinksOutput {
19613	s.Items = v
19614	return s
19615}
19616
19617// SetPosition sets the Position field's value.
19618func (s *GetVpcLinksOutput) SetPosition(v string) *GetVpcLinksOutput {
19619	s.Position = &v
19620	return s
19621}
19622
19623// The POST request to import API keys from an external source, such as a CSV-formatted
19624// file.
19625type ImportApiKeysInput struct {
19626	_ struct{} `type:"structure" payload:"Body"`
19627
19628	// The payload of the POST request to import API keys. For the payload format,
19629	// see API Key File Format (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-key-file-format.html).
19630	//
19631	// Body is a required field
19632	Body []byte `locationName:"body" type:"blob" required:"true"`
19633
19634	// A query parameter to indicate whether to rollback ApiKey importation (true)
19635	// or not (false) when error is encountered.
19636	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19637
19638	// A query parameter to specify the input format to imported API keys. Currently,
19639	// only the csv format is supported.
19640	//
19641	// Format is a required field
19642	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"ApiKeysFormat"`
19643}
19644
19645// String returns the string representation
19646func (s ImportApiKeysInput) String() string {
19647	return awsutil.Prettify(s)
19648}
19649
19650// GoString returns the string representation
19651func (s ImportApiKeysInput) GoString() string {
19652	return s.String()
19653}
19654
19655// Validate inspects the fields of the type to determine if they are valid.
19656func (s *ImportApiKeysInput) Validate() error {
19657	invalidParams := request.ErrInvalidParams{Context: "ImportApiKeysInput"}
19658	if s.Body == nil {
19659		invalidParams.Add(request.NewErrParamRequired("Body"))
19660	}
19661	if s.Format == nil {
19662		invalidParams.Add(request.NewErrParamRequired("Format"))
19663	}
19664
19665	if invalidParams.Len() > 0 {
19666		return invalidParams
19667	}
19668	return nil
19669}
19670
19671// SetBody sets the Body field's value.
19672func (s *ImportApiKeysInput) SetBody(v []byte) *ImportApiKeysInput {
19673	s.Body = v
19674	return s
19675}
19676
19677// SetFailOnWarnings sets the FailOnWarnings field's value.
19678func (s *ImportApiKeysInput) SetFailOnWarnings(v bool) *ImportApiKeysInput {
19679	s.FailOnWarnings = &v
19680	return s
19681}
19682
19683// SetFormat sets the Format field's value.
19684func (s *ImportApiKeysInput) SetFormat(v string) *ImportApiKeysInput {
19685	s.Format = &v
19686	return s
19687}
19688
19689// The identifier of an ApiKey used in a UsagePlan.
19690type ImportApiKeysOutput struct {
19691	_ struct{} `type:"structure"`
19692
19693	// A list of all the ApiKey identifiers.
19694	Ids []*string `locationName:"ids" type:"list"`
19695
19696	// A list of warning messages.
19697	Warnings []*string `locationName:"warnings" type:"list"`
19698}
19699
19700// String returns the string representation
19701func (s ImportApiKeysOutput) String() string {
19702	return awsutil.Prettify(s)
19703}
19704
19705// GoString returns the string representation
19706func (s ImportApiKeysOutput) GoString() string {
19707	return s.String()
19708}
19709
19710// SetIds sets the Ids field's value.
19711func (s *ImportApiKeysOutput) SetIds(v []*string) *ImportApiKeysOutput {
19712	s.Ids = v
19713	return s
19714}
19715
19716// SetWarnings sets the Warnings field's value.
19717func (s *ImportApiKeysOutput) SetWarnings(v []*string) *ImportApiKeysOutput {
19718	s.Warnings = v
19719	return s
19720}
19721
19722// Import documentation parts from an external (e.g., OpenAPI) definition file.
19723type ImportDocumentationPartsInput struct {
19724	_ struct{} `type:"structure" payload:"Body"`
19725
19726	// [Required] Raw byte array representing the to-be-imported documentation parts.
19727	// To import from an OpenAPI file, this is a JSON object.
19728	//
19729	// Body is a required field
19730	Body []byte `locationName:"body" type:"blob" required:"true"`
19731
19732	// A query parameter to specify whether to rollback the documentation importation
19733	// (true) or not (false) when a warning is encountered. The default value is
19734	// false.
19735	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19736
19737	// A query parameter to indicate whether to overwrite (OVERWRITE) any existing
19738	// DocumentationParts definition or to merge (MERGE) the new definition into
19739	// the existing one. The default value is MERGE.
19740	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
19741
19742	// [Required] The string identifier of the associated RestApi.
19743	//
19744	// RestApiId is a required field
19745	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
19746}
19747
19748// String returns the string representation
19749func (s ImportDocumentationPartsInput) String() string {
19750	return awsutil.Prettify(s)
19751}
19752
19753// GoString returns the string representation
19754func (s ImportDocumentationPartsInput) GoString() string {
19755	return s.String()
19756}
19757
19758// Validate inspects the fields of the type to determine if they are valid.
19759func (s *ImportDocumentationPartsInput) Validate() error {
19760	invalidParams := request.ErrInvalidParams{Context: "ImportDocumentationPartsInput"}
19761	if s.Body == nil {
19762		invalidParams.Add(request.NewErrParamRequired("Body"))
19763	}
19764	if s.RestApiId == nil {
19765		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
19766	}
19767	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
19768		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
19769	}
19770
19771	if invalidParams.Len() > 0 {
19772		return invalidParams
19773	}
19774	return nil
19775}
19776
19777// SetBody sets the Body field's value.
19778func (s *ImportDocumentationPartsInput) SetBody(v []byte) *ImportDocumentationPartsInput {
19779	s.Body = v
19780	return s
19781}
19782
19783// SetFailOnWarnings sets the FailOnWarnings field's value.
19784func (s *ImportDocumentationPartsInput) SetFailOnWarnings(v bool) *ImportDocumentationPartsInput {
19785	s.FailOnWarnings = &v
19786	return s
19787}
19788
19789// SetMode sets the Mode field's value.
19790func (s *ImportDocumentationPartsInput) SetMode(v string) *ImportDocumentationPartsInput {
19791	s.Mode = &v
19792	return s
19793}
19794
19795// SetRestApiId sets the RestApiId field's value.
19796func (s *ImportDocumentationPartsInput) SetRestApiId(v string) *ImportDocumentationPartsInput {
19797	s.RestApiId = &v
19798	return s
19799}
19800
19801// A collection of the imported DocumentationPart identifiers.
19802//
19803// This is used to return the result when documentation parts in an external
19804// (e.g., OpenAPI) file are imported into API Gateway
19805//
19806// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
19807// documentationpart:import (https://docs.aws.amazon.com/apigateway/api-reference/link-relation/documentationpart-import/),
19808// DocumentationPart
19809type ImportDocumentationPartsOutput struct {
19810	_ struct{} `type:"structure"`
19811
19812	// A list of the returned documentation part identifiers.
19813	Ids []*string `locationName:"ids" type:"list"`
19814
19815	// A list of warning messages reported during import of documentation parts.
19816	Warnings []*string `locationName:"warnings" type:"list"`
19817}
19818
19819// String returns the string representation
19820func (s ImportDocumentationPartsOutput) String() string {
19821	return awsutil.Prettify(s)
19822}
19823
19824// GoString returns the string representation
19825func (s ImportDocumentationPartsOutput) GoString() string {
19826	return s.String()
19827}
19828
19829// SetIds sets the Ids field's value.
19830func (s *ImportDocumentationPartsOutput) SetIds(v []*string) *ImportDocumentationPartsOutput {
19831	s.Ids = v
19832	return s
19833}
19834
19835// SetWarnings sets the Warnings field's value.
19836func (s *ImportDocumentationPartsOutput) SetWarnings(v []*string) *ImportDocumentationPartsOutput {
19837	s.Warnings = v
19838	return s
19839}
19840
19841// A POST request to import an API to API Gateway using an input of an API definition
19842// file.
19843type ImportRestApiInput struct {
19844	_ struct{} `type:"structure" payload:"Body"`
19845
19846	// [Required] The POST request body containing external API definitions. Currently,
19847	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
19848	// the API definition file is 2MB.
19849	//
19850	// Body is a required field
19851	Body []byte `locationName:"body" type:"blob" required:"true"`
19852
19853	// A query parameter to indicate whether to rollback the API creation (true)
19854	// or not (false) when a warning is encountered. The default value is false.
19855	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19856
19857	// A key-value map of context-specific query string parameters specifying the
19858	// behavior of different API importing operations. The following shows operation-specific
19859	// parameters and their supported values.
19860	//
19861	// To exclude DocumentationParts from the import, set parameters as ignore=documentation.
19862	//
19863	// To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE,
19864	// endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE.
19865	// The default endpoint type is EDGE.
19866	//
19867	// To handle imported basepath, set parameters as basepath=ignore, basepath=prepend
19868	// or basepath=split.
19869	//
19870	// For example, the AWS CLI command to exclude documentation from the imported
19871	// API is:
19872	//
19873	//    aws apigateway import-rest-api --parameters ignore=documentation --body
19874	//    'file:///path/to/imported-api-body.json'
19875	//
19876	// The AWS CLI command to set the regional endpoint on the imported API is:
19877	//
19878	//    aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL
19879	//    --body 'file:///path/to/imported-api-body.json'
19880	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
19881}
19882
19883// String returns the string representation
19884func (s ImportRestApiInput) String() string {
19885	return awsutil.Prettify(s)
19886}
19887
19888// GoString returns the string representation
19889func (s ImportRestApiInput) GoString() string {
19890	return s.String()
19891}
19892
19893// Validate inspects the fields of the type to determine if they are valid.
19894func (s *ImportRestApiInput) Validate() error {
19895	invalidParams := request.ErrInvalidParams{Context: "ImportRestApiInput"}
19896	if s.Body == nil {
19897		invalidParams.Add(request.NewErrParamRequired("Body"))
19898	}
19899
19900	if invalidParams.Len() > 0 {
19901		return invalidParams
19902	}
19903	return nil
19904}
19905
19906// SetBody sets the Body field's value.
19907func (s *ImportRestApiInput) SetBody(v []byte) *ImportRestApiInput {
19908	s.Body = v
19909	return s
19910}
19911
19912// SetFailOnWarnings sets the FailOnWarnings field's value.
19913func (s *ImportRestApiInput) SetFailOnWarnings(v bool) *ImportRestApiInput {
19914	s.FailOnWarnings = &v
19915	return s
19916}
19917
19918// SetParameters sets the Parameters field's value.
19919func (s *ImportRestApiInput) SetParameters(v map[string]*string) *ImportRestApiInput {
19920	s.Parameters = v
19921	return s
19922}
19923
19924// Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.
19925//
19926// In the API Gateway console, the built-in Lambda integration is an AWS integration.
19927//
19928// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
19929type Integration struct {
19930	_ struct{} `type:"structure"`
19931
19932	// A list of request parameters whose values API Gateway caches. To be valid
19933	// values for cacheKeyParameters, these parameters must also be specified for
19934	// Method requestParameters.
19935	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
19936
19937	// An API-specific tag group of related cached parameters. To be valid values
19938	// for cacheKeyParameters, these parameters must also be specified for Method
19939	// requestParameters.
19940	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
19941
19942	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
19943	// of the VpcLink used for the integration when connectionType=VPC_LINK and
19944	// undefined, otherwise.
19945	ConnectionId *string `locationName:"connectionId" type:"string"`
19946
19947	// The type of the network connection to the integration endpoint. The valid
19948	// value is INTERNET for connections through the public routable internet or
19949	// VPC_LINK for private connections between API Gateway and a network load balancer
19950	// in a VPC. The default value is INTERNET.
19951	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
19952
19953	// Specifies how to handle request payload content type conversions. Supported
19954	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
19955	//
19956	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
19957	//    string to the corresponding binary blob.
19958	//
19959	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
19960	//    Base64-encoded string.
19961	//
19962	// If this property is not defined, the request payload will be passed through
19963	// from the method request to integration request without modification, provided
19964	// that the passthroughBehavior is configured to support payload pass-through.
19965	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
19966
19967	// Specifies the credentials required for the integration, if any. For AWS integrations,
19968	// three options are available. To specify an IAM Role for API Gateway to assume,
19969	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
19970	// be passed through from the request, specify the string arn:aws:iam::\*:user/\*.
19971	// To use resource-based permissions on supported AWS services, specify null.
19972	Credentials *string `locationName:"credentials" type:"string"`
19973
19974	// Specifies the integration's HTTP method type.
19975	HttpMethod *string `locationName:"httpMethod" type:"string"`
19976
19977	// Specifies the integration's responses.
19978	//
19979	// Example: Get integration responses of a method
19980	//
19981	// Request
19982	//   GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200
19983	//   HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
19984	//   X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request,
19985	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
19986	// Response
19987	//
19988	// The successful response returns 200 OK status and a payload as follows:
19989	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
19990	//  "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
19991	//  "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
19992	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
19993	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
19994	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
19995	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
19996	//  }, "statusCode": "200" }
19997	//
19998	// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
19999	IntegrationResponses map[string]*IntegrationResponse `locationName:"integrationResponses" type:"map"`
20000
20001	// Specifies how the method request body of an unmapped content type will be
20002	// passed through the integration request to the back end without transformation.
20003	// A content type is unmapped if no mapping template is defined in the integration
20004	// or the content type does not match any of the mapped content types, as specified
20005	// in requestTemplates. The valid value is one of the following:
20006	//
20007	//    * WHEN_NO_MATCH: passes the method request body through the integration
20008	//    request to the back end without transformation when the method request
20009	//    content type does not match any content type associated with the mapping
20010	//    templates defined in the integration request.
20011	//
20012	//    * WHEN_NO_TEMPLATES: passes the method request body through the integration
20013	//    request to the back end without transformation when no mapping template
20014	//    is defined in the integration request. If a template is defined when this
20015	//    option is selected, the method request of an unmapped content-type will
20016	//    be rejected with an HTTP 415 Unsupported Media Type response.
20017	//
20018	//    * NEVER: rejects the method request with an HTTP 415 Unsupported Media
20019	//    Type response when either the method request content type does not match
20020	//    any content type associated with the mapping templates defined in the
20021	//    integration request or no mapping template is defined in the integration
20022	//    request.
20023	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
20024
20025	// A key-value map specifying request parameters that are passed from the method
20026	// request to the back end. The key is an integration request parameter name
20027	// and the associated value is a method request parameter value or static value
20028	// that must be enclosed within single quotes and pre-encoded as required by
20029	// the back end. The method request parameter value must match the pattern of
20030	// method.request.{location}.{name}, where location is querystring, path, or
20031	// header and name must be a valid and unique method request parameter name.
20032	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
20033
20034	// Represents a map of Velocity templates that are applied on the request payload
20035	// based on the value of the Content-Type header sent by the client. The content
20036	// type value is the key in this map, and the template (as a String) is the
20037	// value.
20038	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
20039
20040	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
20041	// milliseconds or 29 seconds.
20042	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
20043
20044	// Specifies an API method integration type. The valid value is one of the following:
20045	//
20046	//    * AWS: for integrating the API method request with an AWS service action,
20047	//    including the Lambda function-invoking action. With the Lambda function-invoking
20048	//    action, this is referred to as the Lambda custom integration. With any
20049	//    other AWS service action, this is known as AWS integration.
20050	//
20051	//    * AWS_PROXY: for integrating the API method request with the Lambda function-invoking
20052	//    action with the client request passed through as-is. This integration
20053	//    is also referred to as the Lambda proxy integration.
20054	//
20055	//    * HTTP: for integrating the API method request with an HTTP endpoint,
20056	//    including a private HTTP endpoint within a VPC. This integration is also
20057	//    referred to as the HTTP custom integration.
20058	//
20059	//    * HTTP_PROXY: for integrating the API method request with an HTTP endpoint,
20060	//    including a private HTTP endpoint within a VPC, with the client request
20061	//    passed through as-is. This is also referred to as the HTTP proxy integration.
20062	//
20063	//    * MOCK: for integrating the API method request with API Gateway as a "loop-back"
20064	//    endpoint without invoking any backend.
20065	//
20066	// For the HTTP and HTTP proxy integrations, each integration can specify a
20067	// protocol (http/https), port and path. Standard 80 and 443 ports are supported
20068	// as well as custom ports above 1024. An HTTP or HTTP proxy integration with
20069	// a connectionType of VPC_LINK is referred to as a private integration and
20070	// uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
20071	Type *string `locationName:"type" type:"string" enum:"IntegrationType"`
20072
20073	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
20074	//
20075	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
20076	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
20077	//    for either standard integration, where connectionType is not VPC_LINK,
20078	//    or private integration, where connectionType is VPC_LINK. For a private
20079	//    HTTP integration, the URI is not used for routing.
20080	//
20081	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
20082	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
20083	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
20084	//    is a designated subdomain supported by certain AWS service for fast host-name
20085	//    lookup. action can be used for an AWS service action-based API, using
20086	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
20087	//    refers to a supported action {name} plus any required input parameters.
20088	//    Alternatively, path can be used for an AWS service path-based API. The
20089	//    ensuing service_api refers to the path to an AWS service resource, including
20090	//    the region of the integrated AWS service, if applicable. For example,
20091	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
20092	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
20093	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
20094	Uri *string `locationName:"uri" type:"string"`
20095}
20096
20097// String returns the string representation
20098func (s Integration) String() string {
20099	return awsutil.Prettify(s)
20100}
20101
20102// GoString returns the string representation
20103func (s Integration) GoString() string {
20104	return s.String()
20105}
20106
20107// SetCacheKeyParameters sets the CacheKeyParameters field's value.
20108func (s *Integration) SetCacheKeyParameters(v []*string) *Integration {
20109	s.CacheKeyParameters = v
20110	return s
20111}
20112
20113// SetCacheNamespace sets the CacheNamespace field's value.
20114func (s *Integration) SetCacheNamespace(v string) *Integration {
20115	s.CacheNamespace = &v
20116	return s
20117}
20118
20119// SetConnectionId sets the ConnectionId field's value.
20120func (s *Integration) SetConnectionId(v string) *Integration {
20121	s.ConnectionId = &v
20122	return s
20123}
20124
20125// SetConnectionType sets the ConnectionType field's value.
20126func (s *Integration) SetConnectionType(v string) *Integration {
20127	s.ConnectionType = &v
20128	return s
20129}
20130
20131// SetContentHandling sets the ContentHandling field's value.
20132func (s *Integration) SetContentHandling(v string) *Integration {
20133	s.ContentHandling = &v
20134	return s
20135}
20136
20137// SetCredentials sets the Credentials field's value.
20138func (s *Integration) SetCredentials(v string) *Integration {
20139	s.Credentials = &v
20140	return s
20141}
20142
20143// SetHttpMethod sets the HttpMethod field's value.
20144func (s *Integration) SetHttpMethod(v string) *Integration {
20145	s.HttpMethod = &v
20146	return s
20147}
20148
20149// SetIntegrationResponses sets the IntegrationResponses field's value.
20150func (s *Integration) SetIntegrationResponses(v map[string]*IntegrationResponse) *Integration {
20151	s.IntegrationResponses = v
20152	return s
20153}
20154
20155// SetPassthroughBehavior sets the PassthroughBehavior field's value.
20156func (s *Integration) SetPassthroughBehavior(v string) *Integration {
20157	s.PassthroughBehavior = &v
20158	return s
20159}
20160
20161// SetRequestParameters sets the RequestParameters field's value.
20162func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
20163	s.RequestParameters = v
20164	return s
20165}
20166
20167// SetRequestTemplates sets the RequestTemplates field's value.
20168func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
20169	s.RequestTemplates = v
20170	return s
20171}
20172
20173// SetTimeoutInMillis sets the TimeoutInMillis field's value.
20174func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
20175	s.TimeoutInMillis = &v
20176	return s
20177}
20178
20179// SetType sets the Type field's value.
20180func (s *Integration) SetType(v string) *Integration {
20181	s.Type = &v
20182	return s
20183}
20184
20185// SetUri sets the Uri field's value.
20186func (s *Integration) SetUri(v string) *Integration {
20187	s.Uri = &v
20188	return s
20189}
20190
20191// Represents an integration response. The status code must map to an existing
20192// MethodResponse, and parameters and templates can be used to transform the
20193// back-end response.
20194//
20195// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
20196type IntegrationResponse struct {
20197	_ struct{} `type:"structure"`
20198
20199	// Specifies how to handle response payload content type conversions. Supported
20200	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
20201	//
20202	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
20203	//    string to the corresponding binary blob.
20204	//
20205	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
20206	//    Base64-encoded string.
20207	//
20208	// If this property is not defined, the response payload will be passed through
20209	// from the integration response to the method response without modification.
20210	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
20211
20212	// A key-value map specifying response parameters that are passed to the method
20213	// response from the back end. The key is a method response header parameter
20214	// name and the mapped value is an integration response header value, a static
20215	// value enclosed within a pair of single quotes, or a JSON expression from
20216	// the integration response body. The mapping key must match the pattern of
20217	// method.response.header.{name}, where name is a valid and unique header name.
20218	// The mapped non-static value must match the pattern of integration.response.header.{name}
20219	// or integration.response.body.{JSON-expression}, where name is a valid and
20220	// unique response header name and JSON-expression is a valid JSON expression
20221	// without the $ prefix.
20222	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
20223
20224	// Specifies the templates used to transform the integration response body.
20225	// Response templates are represented as a key/value map, with a content-type
20226	// as the key and a template as the value.
20227	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
20228
20229	// Specifies the regular expression (regex) pattern used to choose an integration
20230	// response based on the response from the back end. For example, if the success
20231	// response returns nothing and the error response returns some string, you
20232	// could use the .+ regex to match error response. However, make sure that the
20233	// error response does not contain any newline (\n) character in such cases.
20234	// If the back end is an AWS Lambda function, the AWS Lambda function error
20235	// header is matched. For all other HTTP and AWS back ends, the HTTP status
20236	// code is matched.
20237	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
20238
20239	// Specifies the status code that is used to map the integration response to
20240	// an existing MethodResponse.
20241	StatusCode *string `locationName:"statusCode" type:"string"`
20242}
20243
20244// String returns the string representation
20245func (s IntegrationResponse) String() string {
20246	return awsutil.Prettify(s)
20247}
20248
20249// GoString returns the string representation
20250func (s IntegrationResponse) GoString() string {
20251	return s.String()
20252}
20253
20254// SetContentHandling sets the ContentHandling field's value.
20255func (s *IntegrationResponse) SetContentHandling(v string) *IntegrationResponse {
20256	s.ContentHandling = &v
20257	return s
20258}
20259
20260// SetResponseParameters sets the ResponseParameters field's value.
20261func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
20262	s.ResponseParameters = v
20263	return s
20264}
20265
20266// SetResponseTemplates sets the ResponseTemplates field's value.
20267func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
20268	s.ResponseTemplates = v
20269	return s
20270}
20271
20272// SetSelectionPattern sets the SelectionPattern field's value.
20273func (s *IntegrationResponse) SetSelectionPattern(v string) *IntegrationResponse {
20274	s.SelectionPattern = &v
20275	return s
20276}
20277
20278// SetStatusCode sets the StatusCode field's value.
20279func (s *IntegrationResponse) SetStatusCode(v string) *IntegrationResponse {
20280	s.StatusCode = &v
20281	return s
20282}
20283
20284// The request exceeded the rate limit. Retry after the specified time period.
20285type LimitExceededException struct {
20286	_            struct{} `type:"structure"`
20287	respMetadata protocol.ResponseMetadata
20288
20289	Message_ *string `locationName:"message" type:"string"`
20290
20291	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
20292}
20293
20294// String returns the string representation
20295func (s LimitExceededException) String() string {
20296	return awsutil.Prettify(s)
20297}
20298
20299// GoString returns the string representation
20300func (s LimitExceededException) GoString() string {
20301	return s.String()
20302}
20303
20304func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
20305	return &LimitExceededException{
20306		respMetadata: v,
20307	}
20308}
20309
20310// Code returns the exception type name.
20311func (s LimitExceededException) Code() string {
20312	return "LimitExceededException"
20313}
20314
20315// Message returns the exception's message.
20316func (s LimitExceededException) Message() string {
20317	if s.Message_ != nil {
20318		return *s.Message_
20319	}
20320	return ""
20321}
20322
20323// OrigErr always returns nil, satisfies awserr.Error interface.
20324func (s LimitExceededException) OrigErr() error {
20325	return nil
20326}
20327
20328func (s LimitExceededException) Error() string {
20329	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20330}
20331
20332// Status code returns the HTTP status code for the request's response error.
20333func (s LimitExceededException) StatusCode() int {
20334	return s.respMetadata.StatusCode
20335}
20336
20337// RequestID returns the service's response RequestID for request.
20338func (s LimitExceededException) RequestID() string {
20339	return s.respMetadata.RequestID
20340}
20341
20342// Represents a client-facing interface by which the client calls the API to
20343// access back-end resources. A Method resource is integrated with an Integration
20344// resource. Both consist of a request and one or more responses. The method
20345// request takes the client input that is passed to the back end through the
20346// integration request. A method response returns the output from the back end
20347// to the client through an integration response. A method request is embodied
20348// in a Method resource, whereas an integration request is embodied in an Integration
20349// resource. On the other hand, a method response is represented by a MethodResponse
20350// resource, whereas an integration response is represented by an IntegrationResponse
20351// resource.
20352//
20353// Example: Retrive the GET method on a specified resource
20354//
20355// Request
20356//
20357// The following example request retrieves the information about the GET method
20358// on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).
20359//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
20360//  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z
20361//  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
20362//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20363// Response
20364//
20365// The successful response returns a 200 OK status code and a payload similar
20366// to the following:
20367//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
20368//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
20369//  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
20370//  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20371//  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
20372//  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20373//  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
20374//  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20375//  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20376//  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
20377//  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
20378//  "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE",
20379//  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
20380//  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20381//  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20382//  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
20383//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20384//  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
20385//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
20386//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
20387//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
20388//  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
20389//  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
20390//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
20391//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
20392//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
20393//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20394//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20395//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
20396//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\")"
20397//  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
20398//  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20399//  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20400//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20401//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20402//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
20403//  } }
20404// In the example above, the response template for the 200 OK response maps
20405// the JSON output from the ListStreams action in the back end to an XML output.
20406// The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E
20407// and the output is decoded using the $util.urlDecode() (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#util-templat-reference)
20408// helper function.
20409//
20410// MethodResponse, Integration, IntegrationResponse, Resource, Set up an API's
20411// method (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html)
20412type Method struct {
20413	_ struct{} `type:"structure"`
20414
20415	// A boolean flag specifying whether a valid ApiKey is required to invoke this
20416	// method.
20417	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
20418
20419	// A list of authorization scopes configured on the method. The scopes are used
20420	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
20421	// The authorization works by matching the method scopes against the scopes
20422	// parsed from the access token in the incoming request. The method invocation
20423	// is authorized if any method scopes matches a claimed scope in the access
20424	// token. Otherwise, the invocation is not authorized. When the method scope
20425	// is configured, the client must provide an access token instead of an identity
20426	// token for authorization purposes.
20427	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
20428
20429	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
20430	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
20431	// for using a Cognito user pool.
20432	AuthorizationType *string `locationName:"authorizationType" type:"string"`
20433
20434	// The identifier of an Authorizer to use on this method. The authorizationType
20435	// must be CUSTOM.
20436	AuthorizerId *string `locationName:"authorizerId" type:"string"`
20437
20438	// The method's HTTP verb.
20439	HttpMethod *string `locationName:"httpMethod" type:"string"`
20440
20441	// Gets the method's integration responsible for passing the client-submitted
20442	// request to the back end and performing necessary transformations to make
20443	// the request compliant with the back end.
20444	//
20445	// Example:
20446	//
20447	// Request
20448	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
20449	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20450	//   Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
20451	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
20452	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20453	// Response
20454	//
20455	// The successful response returns a 200 OK status code and a payload similar
20456	// to the following:
20457	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
20458	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
20459	//  "name": "integrationresponse", "templated": true } ], "self": { "href":
20460	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete":
20461	//  { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
20462	//  }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
20463	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
20464	//  }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
20465	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
20466	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
20467	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json":
20468	//  "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\",
20469	//  \n \"op\": \"$input.params('operator')\" \n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
20470	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
20471	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
20472	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
20473	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
20474	//  }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
20475	//  } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op",
20476	//  "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1":
20477	//  "integration.response.body.a" }, "responseTemplates": { "application/json":
20478	//  "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op
20479	//  => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
20480	//  \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" }
20481	//  } }
20482	//
20483	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-integration.html)
20484	MethodIntegration *Integration `locationName:"methodIntegration" type:"structure"`
20485
20486	// Gets a method response associated with a given HTTP status code.
20487	//
20488	// The collection of method responses are encapsulated in a key-value map, where
20489	// the key is a response's HTTP status code and the value is a MethodResponse
20490	// resource that specifies the response returned to the caller from the back
20491	// end through the integration response.
20492	//
20493	// Example: Get a 200 OK response of a GET method
20494	//
20495	// Request
20496	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
20497	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20498	//   Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
20499	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
20500	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20501	// Response
20502	//
20503	// The successful response returns a 200 OK status code and a payload similar
20504	// to the following:
20505	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20506	//  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
20507	//  "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
20508	//  }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
20509	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20510	//  { "method.response.header.operator": false, "method.response.header.operand_2":
20511	//  false, "method.response.header.operand_1": false }, "statusCode": "200"
20512	//  }
20513	//
20514	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-method-response.html)
20515	MethodResponses map[string]*MethodResponse `locationName:"methodResponses" type:"map"`
20516
20517	// A human-friendly operation identifier for the method. For example, you can
20518	// assign the operationName of ListPets for the GET /pets method in the PetStore
20519	// example.
20520	OperationName *string `locationName:"operationName" type:"string"`
20521
20522	// A key-value map specifying data schemas, represented by Model resources,
20523	// (as the mapped value) of the request payloads of given content types (as
20524	// the mapping key).
20525	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
20526
20527	// A key-value map defining required or optional method request parameters that
20528	// can be accepted by API Gateway. A key is a method request parameter name
20529	// matching the pattern of method.request.{location}.{name}, where location
20530	// is querystring, path, or header and name is a valid and unique parameter
20531	// name. The value associated with the key is a Boolean flag indicating whether
20532	// the parameter is required (true) or optional (false). The method request
20533	// parameter names defined here are available in Integration to be mapped to
20534	// integration request parameters or templates.
20535	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
20536
20537	// The identifier of a RequestValidator for request validation.
20538	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
20539}
20540
20541// String returns the string representation
20542func (s Method) String() string {
20543	return awsutil.Prettify(s)
20544}
20545
20546// GoString returns the string representation
20547func (s Method) GoString() string {
20548	return s.String()
20549}
20550
20551// SetApiKeyRequired sets the ApiKeyRequired field's value.
20552func (s *Method) SetApiKeyRequired(v bool) *Method {
20553	s.ApiKeyRequired = &v
20554	return s
20555}
20556
20557// SetAuthorizationScopes sets the AuthorizationScopes field's value.
20558func (s *Method) SetAuthorizationScopes(v []*string) *Method {
20559	s.AuthorizationScopes = v
20560	return s
20561}
20562
20563// SetAuthorizationType sets the AuthorizationType field's value.
20564func (s *Method) SetAuthorizationType(v string) *Method {
20565	s.AuthorizationType = &v
20566	return s
20567}
20568
20569// SetAuthorizerId sets the AuthorizerId field's value.
20570func (s *Method) SetAuthorizerId(v string) *Method {
20571	s.AuthorizerId = &v
20572	return s
20573}
20574
20575// SetHttpMethod sets the HttpMethod field's value.
20576func (s *Method) SetHttpMethod(v string) *Method {
20577	s.HttpMethod = &v
20578	return s
20579}
20580
20581// SetMethodIntegration sets the MethodIntegration field's value.
20582func (s *Method) SetMethodIntegration(v *Integration) *Method {
20583	s.MethodIntegration = v
20584	return s
20585}
20586
20587// SetMethodResponses sets the MethodResponses field's value.
20588func (s *Method) SetMethodResponses(v map[string]*MethodResponse) *Method {
20589	s.MethodResponses = v
20590	return s
20591}
20592
20593// SetOperationName sets the OperationName field's value.
20594func (s *Method) SetOperationName(v string) *Method {
20595	s.OperationName = &v
20596	return s
20597}
20598
20599// SetRequestModels sets the RequestModels field's value.
20600func (s *Method) SetRequestModels(v map[string]*string) *Method {
20601	s.RequestModels = v
20602	return s
20603}
20604
20605// SetRequestParameters sets the RequestParameters field's value.
20606func (s *Method) SetRequestParameters(v map[string]*bool) *Method {
20607	s.RequestParameters = v
20608	return s
20609}
20610
20611// SetRequestValidatorId sets the RequestValidatorId field's value.
20612func (s *Method) SetRequestValidatorId(v string) *Method {
20613	s.RequestValidatorId = &v
20614	return s
20615}
20616
20617// Represents a method response of a given HTTP status code returned to the
20618// client. The method response is passed from the back end through the associated
20619// integration response that can be transformed using a mapping template.
20620//
20621// Example: A MethodResponse instance of an API
20622//
20623// Request
20624//
20625// The example request retrieves a MethodResponse of the 200 status code.
20626//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200
20627//  HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20628//  X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
20629//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20630// Response
20631//
20632// The successful response returns 200 OK status and a payload as follows:
20633//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20634//  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20635//  "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20636//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20637//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20638//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
20639//
20640// Method, IntegrationResponse, Integration Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
20641type MethodResponse struct {
20642	_ struct{} `type:"structure"`
20643
20644	// Specifies the Model resources used for the response's content-type. Response
20645	// models are represented as a key/value map, with a content-type as the key
20646	// and a Model name as the value.
20647	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
20648
20649	// A key-value map specifying required or optional response parameters that
20650	// API Gateway can send back to the caller. A key defines a method response
20651	// header and the value specifies whether the associated method response header
20652	// is required or not. The expression of the key must match the pattern method.response.header.{name},
20653	// where name is a valid and unique header name. API Gateway passes certain
20654	// integration response data to the method response headers specified here according
20655	// to the mapping you prescribe in the API's IntegrationResponse. The integration
20656	// response data that can be mapped include an integration response header expressed
20657	// in integration.response.header.{name}, a static value enclosed within a pair
20658	// of single quotes (e.g., 'application/json'), or a JSON expression from the
20659	// back-end response payload in the form of integration.response.body.{JSON-expression},
20660	// where JSON-expression is a valid JSON expression without the $ prefix.)
20661	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
20662
20663	// The method response's status code.
20664	StatusCode *string `locationName:"statusCode" type:"string"`
20665}
20666
20667// String returns the string representation
20668func (s MethodResponse) String() string {
20669	return awsutil.Prettify(s)
20670}
20671
20672// GoString returns the string representation
20673func (s MethodResponse) GoString() string {
20674	return s.String()
20675}
20676
20677// SetResponseModels sets the ResponseModels field's value.
20678func (s *MethodResponse) SetResponseModels(v map[string]*string) *MethodResponse {
20679	s.ResponseModels = v
20680	return s
20681}
20682
20683// SetResponseParameters sets the ResponseParameters field's value.
20684func (s *MethodResponse) SetResponseParameters(v map[string]*bool) *MethodResponse {
20685	s.ResponseParameters = v
20686	return s
20687}
20688
20689// SetStatusCode sets the StatusCode field's value.
20690func (s *MethodResponse) SetStatusCode(v string) *MethodResponse {
20691	s.StatusCode = &v
20692	return s
20693}
20694
20695// Specifies the method setting properties.
20696type MethodSetting struct {
20697	_ struct{} `type:"structure"`
20698
20699	// Specifies whether the cached responses are encrypted. The PATCH path for
20700	// this setting is /{method_setting_key}/caching/dataEncrypted, and the value
20701	// is a Boolean.
20702	CacheDataEncrypted *bool `locationName:"cacheDataEncrypted" type:"boolean"`
20703
20704	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
20705	// the TTL, the longer the response will be cached. The PATCH path for this
20706	// setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an
20707	// integer.
20708	CacheTtlInSeconds *int64 `locationName:"cacheTtlInSeconds" type:"integer"`
20709
20710	// Specifies whether responses should be cached and returned for requests. A
20711	// cache cluster must be enabled on the stage for responses to be cached. The
20712	// PATCH path for this setting is /{method_setting_key}/caching/enabled, and
20713	// the value is a Boolean.
20714	CachingEnabled *bool `locationName:"cachingEnabled" type:"boolean"`
20715
20716	// Specifies whether data trace logging is enabled for this method, which affects
20717	// the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this
20718	// setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.
20719	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
20720
20721	// Specifies the logging level for this method, which affects the log entries
20722	// pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel,
20723	// and the available levels are OFF, ERROR, and INFO.
20724	LoggingLevel *string `locationName:"loggingLevel" type:"string"`
20725
20726	// Specifies whether Amazon CloudWatch metrics are enabled for this method.
20727	// The PATCH path for this setting is /{method_setting_key}/metrics/enabled,
20728	// and the value is a Boolean.
20729	MetricsEnabled *bool `locationName:"metricsEnabled" type:"boolean"`
20730
20731	// Specifies whether authorization is required for a cache invalidation request.
20732	// The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl,
20733	// and the value is a Boolean.
20734	RequireAuthorizationForCacheControl *bool `locationName:"requireAuthorizationForCacheControl" type:"boolean"`
20735
20736	// Specifies the throttling burst limit. The PATCH path for this setting is
20737	// /{method_setting_key}/throttling/burstLimit, and the value is an integer.
20738	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
20739
20740	// Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit,
20741	// and the value is a double.
20742	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
20743
20744	// Specifies how to handle unauthorized requests for cache invalidation. The
20745	// PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy,
20746	// and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER,
20747	// SUCCEED_WITHOUT_RESPONSE_HEADER.
20748	UnauthorizedCacheControlHeaderStrategy *string `locationName:"unauthorizedCacheControlHeaderStrategy" type:"string" enum:"UnauthorizedCacheControlHeaderStrategy"`
20749}
20750
20751// String returns the string representation
20752func (s MethodSetting) String() string {
20753	return awsutil.Prettify(s)
20754}
20755
20756// GoString returns the string representation
20757func (s MethodSetting) GoString() string {
20758	return s.String()
20759}
20760
20761// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
20762func (s *MethodSetting) SetCacheDataEncrypted(v bool) *MethodSetting {
20763	s.CacheDataEncrypted = &v
20764	return s
20765}
20766
20767// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
20768func (s *MethodSetting) SetCacheTtlInSeconds(v int64) *MethodSetting {
20769	s.CacheTtlInSeconds = &v
20770	return s
20771}
20772
20773// SetCachingEnabled sets the CachingEnabled field's value.
20774func (s *MethodSetting) SetCachingEnabled(v bool) *MethodSetting {
20775	s.CachingEnabled = &v
20776	return s
20777}
20778
20779// SetDataTraceEnabled sets the DataTraceEnabled field's value.
20780func (s *MethodSetting) SetDataTraceEnabled(v bool) *MethodSetting {
20781	s.DataTraceEnabled = &v
20782	return s
20783}
20784
20785// SetLoggingLevel sets the LoggingLevel field's value.
20786func (s *MethodSetting) SetLoggingLevel(v string) *MethodSetting {
20787	s.LoggingLevel = &v
20788	return s
20789}
20790
20791// SetMetricsEnabled sets the MetricsEnabled field's value.
20792func (s *MethodSetting) SetMetricsEnabled(v bool) *MethodSetting {
20793	s.MetricsEnabled = &v
20794	return s
20795}
20796
20797// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
20798func (s *MethodSetting) SetRequireAuthorizationForCacheControl(v bool) *MethodSetting {
20799	s.RequireAuthorizationForCacheControl = &v
20800	return s
20801}
20802
20803// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
20804func (s *MethodSetting) SetThrottlingBurstLimit(v int64) *MethodSetting {
20805	s.ThrottlingBurstLimit = &v
20806	return s
20807}
20808
20809// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
20810func (s *MethodSetting) SetThrottlingRateLimit(v float64) *MethodSetting {
20811	s.ThrottlingRateLimit = &v
20812	return s
20813}
20814
20815// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
20816func (s *MethodSetting) SetUnauthorizedCacheControlHeaderStrategy(v string) *MethodSetting {
20817	s.UnauthorizedCacheControlHeaderStrategy = &v
20818	return s
20819}
20820
20821// Represents a summary of a Method resource, given a particular date and time.
20822type MethodSnapshot struct {
20823	_ struct{} `type:"structure"`
20824
20825	// Specifies whether the method requires a valid ApiKey.
20826	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
20827
20828	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
20829	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
20830	// for using a Cognito user pool.
20831	AuthorizationType *string `locationName:"authorizationType" type:"string"`
20832}
20833
20834// String returns the string representation
20835func (s MethodSnapshot) String() string {
20836	return awsutil.Prettify(s)
20837}
20838
20839// GoString returns the string representation
20840func (s MethodSnapshot) GoString() string {
20841	return s.String()
20842}
20843
20844// SetApiKeyRequired sets the ApiKeyRequired field's value.
20845func (s *MethodSnapshot) SetApiKeyRequired(v bool) *MethodSnapshot {
20846	s.ApiKeyRequired = &v
20847	return s
20848}
20849
20850// SetAuthorizationType sets the AuthorizationType field's value.
20851func (s *MethodSnapshot) SetAuthorizationType(v string) *MethodSnapshot {
20852	s.AuthorizationType = &v
20853	return s
20854}
20855
20856// Represents the data structure of a method's request or response payload.
20857//
20858// A request model defines the data structure of the client-supplied request
20859// payload. A response model defines the data structure of the response payload
20860// returned by the back end. Although not required, models are useful for mapping
20861// payloads between the front end and back end.
20862//
20863// A model is used for generating an API's SDK, validating the input request
20864// body, and creating a skeletal mapping template.
20865//
20866// Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
20867type Model struct {
20868	_ struct{} `type:"structure"`
20869
20870	// The content-type for the model.
20871	ContentType *string `locationName:"contentType" type:"string"`
20872
20873	// The description of the model.
20874	Description *string `locationName:"description" type:"string"`
20875
20876	// The identifier for the model resource.
20877	Id *string `locationName:"id" type:"string"`
20878
20879	// The name of the model. Must be an alphanumeric string.
20880	Name *string `locationName:"name" type:"string"`
20881
20882	// The schema for the model. For application/json models, this should be JSON
20883	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
20884	// Do not include "\*/" characters in the description of any properties because
20885	// such "\*/" characters may be interpreted as the closing marker for comments
20886	// in some languages, such as Java or JavaScript, causing the installation of
20887	// your API's SDK generated by API Gateway to fail.
20888	Schema *string `locationName:"schema" type:"string"`
20889}
20890
20891// String returns the string representation
20892func (s Model) String() string {
20893	return awsutil.Prettify(s)
20894}
20895
20896// GoString returns the string representation
20897func (s Model) GoString() string {
20898	return s.String()
20899}
20900
20901// SetContentType sets the ContentType field's value.
20902func (s *Model) SetContentType(v string) *Model {
20903	s.ContentType = &v
20904	return s
20905}
20906
20907// SetDescription sets the Description field's value.
20908func (s *Model) SetDescription(v string) *Model {
20909	s.Description = &v
20910	return s
20911}
20912
20913// SetId sets the Id field's value.
20914func (s *Model) SetId(v string) *Model {
20915	s.Id = &v
20916	return s
20917}
20918
20919// SetName sets the Name field's value.
20920func (s *Model) SetName(v string) *Model {
20921	s.Name = &v
20922	return s
20923}
20924
20925// SetSchema sets the Schema field's value.
20926func (s *Model) SetSchema(v string) *Model {
20927	s.Schema = &v
20928	return s
20929}
20930
20931// The requested resource is not found. Make sure that the request URI is correct.
20932type NotFoundException struct {
20933	_            struct{} `type:"structure"`
20934	respMetadata protocol.ResponseMetadata
20935
20936	Message_ *string `locationName:"message" type:"string"`
20937}
20938
20939// String returns the string representation
20940func (s NotFoundException) String() string {
20941	return awsutil.Prettify(s)
20942}
20943
20944// GoString returns the string representation
20945func (s NotFoundException) GoString() string {
20946	return s.String()
20947}
20948
20949func newErrorNotFoundException(v protocol.ResponseMetadata) error {
20950	return &NotFoundException{
20951		respMetadata: v,
20952	}
20953}
20954
20955// Code returns the exception type name.
20956func (s NotFoundException) Code() string {
20957	return "NotFoundException"
20958}
20959
20960// Message returns the exception's message.
20961func (s NotFoundException) Message() string {
20962	if s.Message_ != nil {
20963		return *s.Message_
20964	}
20965	return ""
20966}
20967
20968// OrigErr always returns nil, satisfies awserr.Error interface.
20969func (s NotFoundException) OrigErr() error {
20970	return nil
20971}
20972
20973func (s NotFoundException) Error() string {
20974	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20975}
20976
20977// Status code returns the HTTP status code for the request's response error.
20978func (s NotFoundException) StatusCode() int {
20979	return s.respMetadata.StatusCode
20980}
20981
20982// RequestID returns the service's response RequestID for request.
20983func (s NotFoundException) RequestID() string {
20984	return s.respMetadata.RequestID
20985}
20986
20987// A single patch operation to apply to the specified resource. Please refer
20988// to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how
20989// each operation is used.
20990type PatchOperation struct {
20991	_ struct{} `type:"structure"`
20992
20993	// The copy update operation's source as identified by a JSON-Pointer value
20994	// referencing the location within the targeted resource to copy the value from.
20995	// For example, to promote a canary deployment, you copy the canary deployment
20996	// ID to the affiliated deployment ID by calling a PATCH request on a Stage
20997	// resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".
20998	From *string `locationName:"from" type:"string"`
20999
21000	// An update operation to be performed with this PATCH request. The valid value
21001	// can be add, remove, replace or copy. Not all valid operations are supported
21002	// for a given resource. Support of the operations depends on specific operational
21003	// contexts. Attempts to apply an unsupported operation on a resource will return
21004	// an error message.
21005	Op *string `locationName:"op" type:"string" enum:"Op"`
21006
21007	// The op operation's target, as identified by a JSON Pointer (https://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08)
21008	// value that references a location within the targeted resource. For example,
21009	// if the target resource has an updateable property of {"name":"value"}, the
21010	// path for this property is /name. If the name property value is a JSON object
21011	// (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name
21012	// property will be /name/child~1name. Any slash ("/") character appearing in
21013	// path names must be escaped with "~1", as shown in the example above. Each
21014	// op operation can have only one path associated with it.
21015	Path *string `locationName:"path" type:"string"`
21016
21017	// The new target value of the update operation. It is applicable for the add
21018	// or replace operation. When using AWS CLI to update a property of a JSON value,
21019	// enclose the JSON object with a pair of single quotes in a Linux shell, e.g.,
21020	// '{"a": ...}'. In a Windows shell, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json).
21021	Value *string `locationName:"value" type:"string"`
21022}
21023
21024// String returns the string representation
21025func (s PatchOperation) String() string {
21026	return awsutil.Prettify(s)
21027}
21028
21029// GoString returns the string representation
21030func (s PatchOperation) GoString() string {
21031	return s.String()
21032}
21033
21034// SetFrom sets the From field's value.
21035func (s *PatchOperation) SetFrom(v string) *PatchOperation {
21036	s.From = &v
21037	return s
21038}
21039
21040// SetOp sets the Op field's value.
21041func (s *PatchOperation) SetOp(v string) *PatchOperation {
21042	s.Op = &v
21043	return s
21044}
21045
21046// SetPath sets the Path field's value.
21047func (s *PatchOperation) SetPath(v string) *PatchOperation {
21048	s.Path = &v
21049	return s
21050}
21051
21052// SetValue sets the Value field's value.
21053func (s *PatchOperation) SetValue(v string) *PatchOperation {
21054	s.Value = &v
21055	return s
21056}
21057
21058// Creates a customization of a GatewayResponse of a specified response type
21059// and status code on the given RestApi.
21060type PutGatewayResponseInput struct {
21061	_ struct{} `type:"structure"`
21062
21063	// Response parameters (paths, query strings and headers) of the GatewayResponse
21064	// as a string-to-string map of key-value pairs.
21065	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
21066
21067	// Response templates of the GatewayResponse as a string-to-string map of key-value
21068	// pairs.
21069	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
21070
21071	// [Required]
21072	// The response type of the associated GatewayResponse. Valid values are
21073	//    * ACCESS_DENIED
21074	//
21075	//    * API_CONFIGURATION_ERROR
21076	//
21077	//    * AUTHORIZER_FAILURE
21078	//
21079	//    * AUTHORIZER_CONFIGURATION_ERROR
21080	//
21081	//    * BAD_REQUEST_PARAMETERS
21082	//
21083	//    * BAD_REQUEST_BODY
21084	//
21085	//    * DEFAULT_4XX
21086	//
21087	//    * DEFAULT_5XX
21088	//
21089	//    * EXPIRED_TOKEN
21090	//
21091	//    * INVALID_SIGNATURE
21092	//
21093	//    * INTEGRATION_FAILURE
21094	//
21095	//    * INTEGRATION_TIMEOUT
21096	//
21097	//    * INVALID_API_KEY
21098	//
21099	//    * MISSING_AUTHENTICATION_TOKEN
21100	//
21101	//    * QUOTA_EXCEEDED
21102	//
21103	//    * REQUEST_TOO_LARGE
21104	//
21105	//    * RESOURCE_NOT_FOUND
21106	//
21107	//    * THROTTLED
21108	//
21109	//    * UNAUTHORIZED
21110	//
21111	//    * UNSUPPORTED_MEDIA_TYPE
21112	//
21113	// ResponseType is a required field
21114	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
21115
21116	// [Required] The string identifier of the associated RestApi.
21117	//
21118	// RestApiId is a required field
21119	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21120
21121	// The HTTP status code of the GatewayResponse.
21122	StatusCode *string `locationName:"statusCode" type:"string"`
21123}
21124
21125// String returns the string representation
21126func (s PutGatewayResponseInput) String() string {
21127	return awsutil.Prettify(s)
21128}
21129
21130// GoString returns the string representation
21131func (s PutGatewayResponseInput) GoString() string {
21132	return s.String()
21133}
21134
21135// Validate inspects the fields of the type to determine if they are valid.
21136func (s *PutGatewayResponseInput) Validate() error {
21137	invalidParams := request.ErrInvalidParams{Context: "PutGatewayResponseInput"}
21138	if s.ResponseType == nil {
21139		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
21140	}
21141	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
21142		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
21143	}
21144	if s.RestApiId == nil {
21145		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21146	}
21147	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21148		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21149	}
21150
21151	if invalidParams.Len() > 0 {
21152		return invalidParams
21153	}
21154	return nil
21155}
21156
21157// SetResponseParameters sets the ResponseParameters field's value.
21158func (s *PutGatewayResponseInput) SetResponseParameters(v map[string]*string) *PutGatewayResponseInput {
21159	s.ResponseParameters = v
21160	return s
21161}
21162
21163// SetResponseTemplates sets the ResponseTemplates field's value.
21164func (s *PutGatewayResponseInput) SetResponseTemplates(v map[string]*string) *PutGatewayResponseInput {
21165	s.ResponseTemplates = v
21166	return s
21167}
21168
21169// SetResponseType sets the ResponseType field's value.
21170func (s *PutGatewayResponseInput) SetResponseType(v string) *PutGatewayResponseInput {
21171	s.ResponseType = &v
21172	return s
21173}
21174
21175// SetRestApiId sets the RestApiId field's value.
21176func (s *PutGatewayResponseInput) SetRestApiId(v string) *PutGatewayResponseInput {
21177	s.RestApiId = &v
21178	return s
21179}
21180
21181// SetStatusCode sets the StatusCode field's value.
21182func (s *PutGatewayResponseInput) SetStatusCode(v string) *PutGatewayResponseInput {
21183	s.StatusCode = &v
21184	return s
21185}
21186
21187// Sets up a method's integration.
21188type PutIntegrationInput struct {
21189	_ struct{} `type:"structure"`
21190
21191	// An API-specific tag group of related cached parameters.
21192	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
21193
21194	// A list of request parameters whose values are to be cached.
21195	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
21196
21197	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
21198	// of the VpcLink used for the integration when connectionType=VPC_LINK and
21199	// undefined, otherwise.
21200	ConnectionId *string `locationName:"connectionId" type:"string"`
21201
21202	// The type of the network connection to the integration endpoint. The valid
21203	// value is INTERNET for connections through the public routable internet or
21204	// VPC_LINK for private connections between API Gateway and a network load balancer
21205	// in a VPC. The default value is INTERNET.
21206	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
21207
21208	// Specifies how to handle request payload content type conversions. Supported
21209	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
21210	//
21211	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
21212	//    string to the corresponding binary blob.
21213	//
21214	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
21215	//    Base64-encoded string.
21216	//
21217	// If this property is not defined, the request payload will be passed through
21218	// from the method request to integration request without modification, provided
21219	// that the passthroughBehavior is configured to support payload pass-through.
21220	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
21221
21222	// Specifies whether credentials are required for a put integration.
21223	Credentials *string `locationName:"credentials" type:"string"`
21224
21225	// [Required] Specifies a put integration request's HTTP method.
21226	//
21227	// HttpMethod is a required field
21228	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21229
21230	// Specifies a put integration HTTP method. When the integration type is HTTP
21231	// or AWS, this field is required.
21232	IntegrationHttpMethod *string `locationName:"httpMethod" type:"string"`
21233
21234	// Specifies the pass-through behavior for incoming requests based on the Content-Type
21235	// header in the request, and the available mapping templates specified as the
21236	// requestTemplates property on the Integration resource. There are three valid
21237	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.
21238	//
21239	//    * WHEN_NO_MATCH passes the request body for unmapped content types through
21240	//    to the integration back end without transformation.
21241	//
21242	//    * NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media
21243	//    Type' response.
21244	//
21245	//    * WHEN_NO_TEMPLATES allows pass-through when the integration has NO content
21246	//    types mapped to templates. However if there is at least one content type
21247	//    defined, unmapped content types will be rejected with the same 415 response.
21248	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
21249
21250	// A key-value map specifying request parameters that are passed from the method
21251	// request to the back end. The key is an integration request parameter name
21252	// and the associated value is a method request parameter value or static value
21253	// that must be enclosed within single quotes and pre-encoded as required by
21254	// the back end. The method request parameter value must match the pattern of
21255	// method.request.{location}.{name}, where location is querystring, path, or
21256	// header and name must be a valid and unique method request parameter name.
21257	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
21258
21259	// Represents a map of Velocity templates that are applied on the request payload
21260	// based on the value of the Content-Type header sent by the client. The content
21261	// type value is the key in this map, and the template (as a String) is the
21262	// value.
21263	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
21264
21265	// [Required] Specifies a put integration request's resource ID.
21266	//
21267	// ResourceId is a required field
21268	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21269
21270	// [Required] The string identifier of the associated RestApi.
21271	//
21272	// RestApiId is a required field
21273	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21274
21275	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
21276	// milliseconds or 29 seconds.
21277	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
21278
21279	// [Required] Specifies a put integration input's type.
21280	//
21281	// Type is a required field
21282	Type *string `locationName:"type" type:"string" required:"true" enum:"IntegrationType"`
21283
21284	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
21285	//
21286	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
21287	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
21288	//    for either standard integration, where connectionType is not VPC_LINK,
21289	//    or private integration, where connectionType is VPC_LINK. For a private
21290	//    HTTP integration, the URI is not used for routing.
21291	//
21292	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
21293	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
21294	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
21295	//    is a designated subdomain supported by certain AWS service for fast host-name
21296	//    lookup. action can be used for an AWS service action-based API, using
21297	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
21298	//    refers to a supported action {name} plus any required input parameters.
21299	//    Alternatively, path can be used for an AWS service path-based API. The
21300	//    ensuing service_api refers to the path to an AWS service resource, including
21301	//    the region of the integrated AWS service, if applicable. For example,
21302	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
21303	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
21304	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
21305	Uri *string `locationName:"uri" type:"string"`
21306}
21307
21308// String returns the string representation
21309func (s PutIntegrationInput) String() string {
21310	return awsutil.Prettify(s)
21311}
21312
21313// GoString returns the string representation
21314func (s PutIntegrationInput) GoString() string {
21315	return s.String()
21316}
21317
21318// Validate inspects the fields of the type to determine if they are valid.
21319func (s *PutIntegrationInput) Validate() error {
21320	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationInput"}
21321	if s.HttpMethod == nil {
21322		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21323	}
21324	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21325		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21326	}
21327	if s.ResourceId == nil {
21328		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21329	}
21330	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21331		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21332	}
21333	if s.RestApiId == nil {
21334		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21335	}
21336	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21337		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21338	}
21339	if s.Type == nil {
21340		invalidParams.Add(request.NewErrParamRequired("Type"))
21341	}
21342
21343	if invalidParams.Len() > 0 {
21344		return invalidParams
21345	}
21346	return nil
21347}
21348
21349// SetCacheKeyParameters sets the CacheKeyParameters field's value.
21350func (s *PutIntegrationInput) SetCacheKeyParameters(v []*string) *PutIntegrationInput {
21351	s.CacheKeyParameters = v
21352	return s
21353}
21354
21355// SetCacheNamespace sets the CacheNamespace field's value.
21356func (s *PutIntegrationInput) SetCacheNamespace(v string) *PutIntegrationInput {
21357	s.CacheNamespace = &v
21358	return s
21359}
21360
21361// SetConnectionId sets the ConnectionId field's value.
21362func (s *PutIntegrationInput) SetConnectionId(v string) *PutIntegrationInput {
21363	s.ConnectionId = &v
21364	return s
21365}
21366
21367// SetConnectionType sets the ConnectionType field's value.
21368func (s *PutIntegrationInput) SetConnectionType(v string) *PutIntegrationInput {
21369	s.ConnectionType = &v
21370	return s
21371}
21372
21373// SetContentHandling sets the ContentHandling field's value.
21374func (s *PutIntegrationInput) SetContentHandling(v string) *PutIntegrationInput {
21375	s.ContentHandling = &v
21376	return s
21377}
21378
21379// SetCredentials sets the Credentials field's value.
21380func (s *PutIntegrationInput) SetCredentials(v string) *PutIntegrationInput {
21381	s.Credentials = &v
21382	return s
21383}
21384
21385// SetHttpMethod sets the HttpMethod field's value.
21386func (s *PutIntegrationInput) SetHttpMethod(v string) *PutIntegrationInput {
21387	s.HttpMethod = &v
21388	return s
21389}
21390
21391// SetIntegrationHttpMethod sets the IntegrationHttpMethod field's value.
21392func (s *PutIntegrationInput) SetIntegrationHttpMethod(v string) *PutIntegrationInput {
21393	s.IntegrationHttpMethod = &v
21394	return s
21395}
21396
21397// SetPassthroughBehavior sets the PassthroughBehavior field's value.
21398func (s *PutIntegrationInput) SetPassthroughBehavior(v string) *PutIntegrationInput {
21399	s.PassthroughBehavior = &v
21400	return s
21401}
21402
21403// SetRequestParameters sets the RequestParameters field's value.
21404func (s *PutIntegrationInput) SetRequestParameters(v map[string]*string) *PutIntegrationInput {
21405	s.RequestParameters = v
21406	return s
21407}
21408
21409// SetRequestTemplates sets the RequestTemplates field's value.
21410func (s *PutIntegrationInput) SetRequestTemplates(v map[string]*string) *PutIntegrationInput {
21411	s.RequestTemplates = v
21412	return s
21413}
21414
21415// SetResourceId sets the ResourceId field's value.
21416func (s *PutIntegrationInput) SetResourceId(v string) *PutIntegrationInput {
21417	s.ResourceId = &v
21418	return s
21419}
21420
21421// SetRestApiId sets the RestApiId field's value.
21422func (s *PutIntegrationInput) SetRestApiId(v string) *PutIntegrationInput {
21423	s.RestApiId = &v
21424	return s
21425}
21426
21427// SetTimeoutInMillis sets the TimeoutInMillis field's value.
21428func (s *PutIntegrationInput) SetTimeoutInMillis(v int64) *PutIntegrationInput {
21429	s.TimeoutInMillis = &v
21430	return s
21431}
21432
21433// SetType sets the Type field's value.
21434func (s *PutIntegrationInput) SetType(v string) *PutIntegrationInput {
21435	s.Type = &v
21436	return s
21437}
21438
21439// SetUri sets the Uri field's value.
21440func (s *PutIntegrationInput) SetUri(v string) *PutIntegrationInput {
21441	s.Uri = &v
21442	return s
21443}
21444
21445// Represents a put integration response request.
21446type PutIntegrationResponseInput struct {
21447	_ struct{} `type:"structure"`
21448
21449	// Specifies how to handle response payload content type conversions. Supported
21450	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
21451	//
21452	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
21453	//    string to the corresponding binary blob.
21454	//
21455	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
21456	//    Base64-encoded string.
21457	//
21458	// If this property is not defined, the response payload will be passed through
21459	// from the integration response to the method response without modification.
21460	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
21461
21462	// [Required] Specifies a put integration response request's HTTP method.
21463	//
21464	// HttpMethod is a required field
21465	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21466
21467	// [Required] Specifies a put integration response request's resource identifier.
21468	//
21469	// ResourceId is a required field
21470	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21471
21472	// A key-value map specifying response parameters that are passed to the method
21473	// response from the back end. The key is a method response header parameter
21474	// name and the mapped value is an integration response header value, a static
21475	// value enclosed within a pair of single quotes, or a JSON expression from
21476	// the integration response body. The mapping key must match the pattern of
21477	// method.response.header.{name}, where name is a valid and unique header name.
21478	// The mapped non-static value must match the pattern of integration.response.header.{name}
21479	// or integration.response.body.{JSON-expression}, where name must be a valid
21480	// and unique response header name and JSON-expression a valid JSON expression
21481	// without the $ prefix.
21482	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
21483
21484	// Specifies a put integration response's templates.
21485	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
21486
21487	// [Required] The string identifier of the associated RestApi.
21488	//
21489	// RestApiId is a required field
21490	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21491
21492	// Specifies the selection pattern of a put integration response.
21493	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
21494
21495	// [Required] Specifies the status code that is used to map the integration
21496	// response to an existing MethodResponse.
21497	//
21498	// StatusCode is a required field
21499	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
21500}
21501
21502// String returns the string representation
21503func (s PutIntegrationResponseInput) String() string {
21504	return awsutil.Prettify(s)
21505}
21506
21507// GoString returns the string representation
21508func (s PutIntegrationResponseInput) GoString() string {
21509	return s.String()
21510}
21511
21512// Validate inspects the fields of the type to determine if they are valid.
21513func (s *PutIntegrationResponseInput) Validate() error {
21514	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationResponseInput"}
21515	if s.HttpMethod == nil {
21516		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21517	}
21518	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21519		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21520	}
21521	if s.ResourceId == nil {
21522		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21523	}
21524	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21525		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21526	}
21527	if s.RestApiId == nil {
21528		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21529	}
21530	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21531		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21532	}
21533	if s.StatusCode == nil {
21534		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
21535	}
21536	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
21537		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
21538	}
21539
21540	if invalidParams.Len() > 0 {
21541		return invalidParams
21542	}
21543	return nil
21544}
21545
21546// SetContentHandling sets the ContentHandling field's value.
21547func (s *PutIntegrationResponseInput) SetContentHandling(v string) *PutIntegrationResponseInput {
21548	s.ContentHandling = &v
21549	return s
21550}
21551
21552// SetHttpMethod sets the HttpMethod field's value.
21553func (s *PutIntegrationResponseInput) SetHttpMethod(v string) *PutIntegrationResponseInput {
21554	s.HttpMethod = &v
21555	return s
21556}
21557
21558// SetResourceId sets the ResourceId field's value.
21559func (s *PutIntegrationResponseInput) SetResourceId(v string) *PutIntegrationResponseInput {
21560	s.ResourceId = &v
21561	return s
21562}
21563
21564// SetResponseParameters sets the ResponseParameters field's value.
21565func (s *PutIntegrationResponseInput) SetResponseParameters(v map[string]*string) *PutIntegrationResponseInput {
21566	s.ResponseParameters = v
21567	return s
21568}
21569
21570// SetResponseTemplates sets the ResponseTemplates field's value.
21571func (s *PutIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *PutIntegrationResponseInput {
21572	s.ResponseTemplates = v
21573	return s
21574}
21575
21576// SetRestApiId sets the RestApiId field's value.
21577func (s *PutIntegrationResponseInput) SetRestApiId(v string) *PutIntegrationResponseInput {
21578	s.RestApiId = &v
21579	return s
21580}
21581
21582// SetSelectionPattern sets the SelectionPattern field's value.
21583func (s *PutIntegrationResponseInput) SetSelectionPattern(v string) *PutIntegrationResponseInput {
21584	s.SelectionPattern = &v
21585	return s
21586}
21587
21588// SetStatusCode sets the StatusCode field's value.
21589func (s *PutIntegrationResponseInput) SetStatusCode(v string) *PutIntegrationResponseInput {
21590	s.StatusCode = &v
21591	return s
21592}
21593
21594// Request to add a method to an existing Resource resource.
21595type PutMethodInput struct {
21596	_ struct{} `type:"structure"`
21597
21598	// Specifies whether the method required a valid ApiKey.
21599	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
21600
21601	// A list of authorization scopes configured on the method. The scopes are used
21602	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
21603	// The authorization works by matching the method scopes against the scopes
21604	// parsed from the access token in the incoming request. The method invocation
21605	// is authorized if any method scopes matches a claimed scope in the access
21606	// token. Otherwise, the invocation is not authorized. When the method scope
21607	// is configured, the client must provide an access token instead of an identity
21608	// token for authorization purposes.
21609	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
21610
21611	// [Required] The method's authorization type. Valid values are NONE for open
21612	// access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom
21613	// authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.
21614	//
21615	// AuthorizationType is a required field
21616	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true"`
21617
21618	// Specifies the identifier of an Authorizer to use on this Method, if the type
21619	// is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by
21620	// API Gateway when you created the authorizer.
21621	AuthorizerId *string `locationName:"authorizerId" type:"string"`
21622
21623	// [Required] Specifies the method request's HTTP method type.
21624	//
21625	// HttpMethod is a required field
21626	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21627
21628	// A human-friendly operation identifier for the method. For example, you can
21629	// assign the operationName of ListPets for the GET /pets method in the PetStore
21630	// example.
21631	OperationName *string `locationName:"operationName" type:"string"`
21632
21633	// Specifies the Model resources used for the request's content type. Request
21634	// models are represented as a key/value map, with a content type as the key
21635	// and a Model name as the value.
21636	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
21637
21638	// A key-value map defining required or optional method request parameters that
21639	// can be accepted by API Gateway. A key defines a method request parameter
21640	// name matching the pattern of method.request.{location}.{name}, where location
21641	// is querystring, path, or header and name is a valid and unique parameter
21642	// name. The value associated with the key is a Boolean flag indicating whether
21643	// the parameter is required (true) or optional (false). The method request
21644	// parameter names defined here are available in Integration to be mapped to
21645	// integration request parameters or body-mapping templates.
21646	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
21647
21648	// The identifier of a RequestValidator for validating the method request.
21649	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
21650
21651	// [Required] The Resource identifier for the new Method resource.
21652	//
21653	// ResourceId is a required field
21654	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21655
21656	// [Required] The string identifier of the associated RestApi.
21657	//
21658	// RestApiId is a required field
21659	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21660}
21661
21662// String returns the string representation
21663func (s PutMethodInput) String() string {
21664	return awsutil.Prettify(s)
21665}
21666
21667// GoString returns the string representation
21668func (s PutMethodInput) GoString() string {
21669	return s.String()
21670}
21671
21672// Validate inspects the fields of the type to determine if they are valid.
21673func (s *PutMethodInput) Validate() error {
21674	invalidParams := request.ErrInvalidParams{Context: "PutMethodInput"}
21675	if s.AuthorizationType == nil {
21676		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
21677	}
21678	if s.HttpMethod == nil {
21679		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21680	}
21681	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21682		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21683	}
21684	if s.ResourceId == nil {
21685		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21686	}
21687	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21688		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21689	}
21690	if s.RestApiId == nil {
21691		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21692	}
21693	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21694		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21695	}
21696
21697	if invalidParams.Len() > 0 {
21698		return invalidParams
21699	}
21700	return nil
21701}
21702
21703// SetApiKeyRequired sets the ApiKeyRequired field's value.
21704func (s *PutMethodInput) SetApiKeyRequired(v bool) *PutMethodInput {
21705	s.ApiKeyRequired = &v
21706	return s
21707}
21708
21709// SetAuthorizationScopes sets the AuthorizationScopes field's value.
21710func (s *PutMethodInput) SetAuthorizationScopes(v []*string) *PutMethodInput {
21711	s.AuthorizationScopes = v
21712	return s
21713}
21714
21715// SetAuthorizationType sets the AuthorizationType field's value.
21716func (s *PutMethodInput) SetAuthorizationType(v string) *PutMethodInput {
21717	s.AuthorizationType = &v
21718	return s
21719}
21720
21721// SetAuthorizerId sets the AuthorizerId field's value.
21722func (s *PutMethodInput) SetAuthorizerId(v string) *PutMethodInput {
21723	s.AuthorizerId = &v
21724	return s
21725}
21726
21727// SetHttpMethod sets the HttpMethod field's value.
21728func (s *PutMethodInput) SetHttpMethod(v string) *PutMethodInput {
21729	s.HttpMethod = &v
21730	return s
21731}
21732
21733// SetOperationName sets the OperationName field's value.
21734func (s *PutMethodInput) SetOperationName(v string) *PutMethodInput {
21735	s.OperationName = &v
21736	return s
21737}
21738
21739// SetRequestModels sets the RequestModels field's value.
21740func (s *PutMethodInput) SetRequestModels(v map[string]*string) *PutMethodInput {
21741	s.RequestModels = v
21742	return s
21743}
21744
21745// SetRequestParameters sets the RequestParameters field's value.
21746func (s *PutMethodInput) SetRequestParameters(v map[string]*bool) *PutMethodInput {
21747	s.RequestParameters = v
21748	return s
21749}
21750
21751// SetRequestValidatorId sets the RequestValidatorId field's value.
21752func (s *PutMethodInput) SetRequestValidatorId(v string) *PutMethodInput {
21753	s.RequestValidatorId = &v
21754	return s
21755}
21756
21757// SetResourceId sets the ResourceId field's value.
21758func (s *PutMethodInput) SetResourceId(v string) *PutMethodInput {
21759	s.ResourceId = &v
21760	return s
21761}
21762
21763// SetRestApiId sets the RestApiId field's value.
21764func (s *PutMethodInput) SetRestApiId(v string) *PutMethodInput {
21765	s.RestApiId = &v
21766	return s
21767}
21768
21769// Request to add a MethodResponse to an existing Method resource.
21770type PutMethodResponseInput struct {
21771	_ struct{} `type:"structure"`
21772
21773	// [Required] The HTTP verb of the Method resource.
21774	//
21775	// HttpMethod is a required field
21776	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21777
21778	// [Required] The Resource identifier for the Method resource.
21779	//
21780	// ResourceId is a required field
21781	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21782
21783	// Specifies the Model resources used for the response's content type. Response
21784	// models are represented as a key/value map, with a content type as the key
21785	// and a Model name as the value.
21786	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
21787
21788	// A key-value map specifying required or optional response parameters that
21789	// API Gateway can send back to the caller. A key defines a method response
21790	// header name and the associated value is a Boolean flag indicating whether
21791	// the method response parameter is required or not. The method response header
21792	// names must match the pattern of method.response.header.{name}, where name
21793	// is a valid and unique header name. The response parameter names defined here
21794	// are available in the integration response to be mapped from an integration
21795	// response header expressed in integration.response.header.{name}, a static
21796	// value enclosed within a pair of single quotes (e.g., 'application/json'),
21797	// or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression},
21798	// where JSON-expression is a valid JSON expression without the $ prefix.)
21799	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
21800
21801	// [Required] The string identifier of the associated RestApi.
21802	//
21803	// RestApiId is a required field
21804	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21805
21806	// [Required] The method response's status code.
21807	//
21808	// StatusCode is a required field
21809	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
21810}
21811
21812// String returns the string representation
21813func (s PutMethodResponseInput) String() string {
21814	return awsutil.Prettify(s)
21815}
21816
21817// GoString returns the string representation
21818func (s PutMethodResponseInput) GoString() string {
21819	return s.String()
21820}
21821
21822// Validate inspects the fields of the type to determine if they are valid.
21823func (s *PutMethodResponseInput) Validate() error {
21824	invalidParams := request.ErrInvalidParams{Context: "PutMethodResponseInput"}
21825	if s.HttpMethod == nil {
21826		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21827	}
21828	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21829		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21830	}
21831	if s.ResourceId == nil {
21832		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21833	}
21834	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21835		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21836	}
21837	if s.RestApiId == nil {
21838		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21839	}
21840	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21841		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21842	}
21843	if s.StatusCode == nil {
21844		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
21845	}
21846	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
21847		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
21848	}
21849
21850	if invalidParams.Len() > 0 {
21851		return invalidParams
21852	}
21853	return nil
21854}
21855
21856// SetHttpMethod sets the HttpMethod field's value.
21857func (s *PutMethodResponseInput) SetHttpMethod(v string) *PutMethodResponseInput {
21858	s.HttpMethod = &v
21859	return s
21860}
21861
21862// SetResourceId sets the ResourceId field's value.
21863func (s *PutMethodResponseInput) SetResourceId(v string) *PutMethodResponseInput {
21864	s.ResourceId = &v
21865	return s
21866}
21867
21868// SetResponseModels sets the ResponseModels field's value.
21869func (s *PutMethodResponseInput) SetResponseModels(v map[string]*string) *PutMethodResponseInput {
21870	s.ResponseModels = v
21871	return s
21872}
21873
21874// SetResponseParameters sets the ResponseParameters field's value.
21875func (s *PutMethodResponseInput) SetResponseParameters(v map[string]*bool) *PutMethodResponseInput {
21876	s.ResponseParameters = v
21877	return s
21878}
21879
21880// SetRestApiId sets the RestApiId field's value.
21881func (s *PutMethodResponseInput) SetRestApiId(v string) *PutMethodResponseInput {
21882	s.RestApiId = &v
21883	return s
21884}
21885
21886// SetStatusCode sets the StatusCode field's value.
21887func (s *PutMethodResponseInput) SetStatusCode(v string) *PutMethodResponseInput {
21888	s.StatusCode = &v
21889	return s
21890}
21891
21892// A PUT request to update an existing API, with external API definitions specified
21893// as the request body.
21894type PutRestApiInput struct {
21895	_ struct{} `type:"structure" payload:"Body"`
21896
21897	// [Required] The PUT request body containing external API definitions. Currently,
21898	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
21899	// the API definition file is 2MB.
21900	//
21901	// Body is a required field
21902	Body []byte `locationName:"body" type:"blob" required:"true"`
21903
21904	// A query parameter to indicate whether to rollback the API update (true) or
21905	// not (false) when a warning is encountered. The default value is false.
21906	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
21907
21908	// The mode query parameter to specify the update mode. Valid values are "merge"
21909	// and "overwrite". By default, the update mode is "merge".
21910	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
21911
21912	// Custom header parameters as part of the request. For example, to exclude
21913	// DocumentationParts from an imported API, set ignore=documentation as a parameters
21914	// value, as in the AWS CLI command of aws apigateway import-rest-api --parameters
21915	// ignore=documentation --body 'file:///path/to/imported-api-body.json'.
21916	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
21917
21918	// [Required] The string identifier of the associated RestApi.
21919	//
21920	// RestApiId is a required field
21921	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21922}
21923
21924// String returns the string representation
21925func (s PutRestApiInput) String() string {
21926	return awsutil.Prettify(s)
21927}
21928
21929// GoString returns the string representation
21930func (s PutRestApiInput) GoString() string {
21931	return s.String()
21932}
21933
21934// Validate inspects the fields of the type to determine if they are valid.
21935func (s *PutRestApiInput) Validate() error {
21936	invalidParams := request.ErrInvalidParams{Context: "PutRestApiInput"}
21937	if s.Body == nil {
21938		invalidParams.Add(request.NewErrParamRequired("Body"))
21939	}
21940	if s.RestApiId == nil {
21941		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21942	}
21943	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21944		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21945	}
21946
21947	if invalidParams.Len() > 0 {
21948		return invalidParams
21949	}
21950	return nil
21951}
21952
21953// SetBody sets the Body field's value.
21954func (s *PutRestApiInput) SetBody(v []byte) *PutRestApiInput {
21955	s.Body = v
21956	return s
21957}
21958
21959// SetFailOnWarnings sets the FailOnWarnings field's value.
21960func (s *PutRestApiInput) SetFailOnWarnings(v bool) *PutRestApiInput {
21961	s.FailOnWarnings = &v
21962	return s
21963}
21964
21965// SetMode sets the Mode field's value.
21966func (s *PutRestApiInput) SetMode(v string) *PutRestApiInput {
21967	s.Mode = &v
21968	return s
21969}
21970
21971// SetParameters sets the Parameters field's value.
21972func (s *PutRestApiInput) SetParameters(v map[string]*string) *PutRestApiInput {
21973	s.Parameters = v
21974	return s
21975}
21976
21977// SetRestApiId sets the RestApiId field's value.
21978func (s *PutRestApiInput) SetRestApiId(v string) *PutRestApiInput {
21979	s.RestApiId = &v
21980	return s
21981}
21982
21983// Quotas configured for a usage plan.
21984type QuotaSettings struct {
21985	_ struct{} `type:"structure"`
21986
21987	// The maximum number of requests that can be made in a given time period.
21988	Limit *int64 `locationName:"limit" type:"integer"`
21989
21990	// The number of requests subtracted from the given limit in the initial time
21991	// period.
21992	Offset *int64 `locationName:"offset" type:"integer"`
21993
21994	// The time period in which the limit applies. Valid values are "DAY", "WEEK"
21995	// or "MONTH".
21996	Period *string `locationName:"period" type:"string" enum:"QuotaPeriodType"`
21997}
21998
21999// String returns the string representation
22000func (s QuotaSettings) String() string {
22001	return awsutil.Prettify(s)
22002}
22003
22004// GoString returns the string representation
22005func (s QuotaSettings) GoString() string {
22006	return s.String()
22007}
22008
22009// SetLimit sets the Limit field's value.
22010func (s *QuotaSettings) SetLimit(v int64) *QuotaSettings {
22011	s.Limit = &v
22012	return s
22013}
22014
22015// SetOffset sets the Offset field's value.
22016func (s *QuotaSettings) SetOffset(v int64) *QuotaSettings {
22017	s.Offset = &v
22018	return s
22019}
22020
22021// SetPeriod sets the Period field's value.
22022func (s *QuotaSettings) SetPeriod(v string) *QuotaSettings {
22023	s.Period = &v
22024	return s
22025}
22026
22027// Represents an API resource.
22028//
22029// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
22030type Resource struct {
22031	_ struct{} `type:"structure"`
22032
22033	// The resource's identifier.
22034	Id *string `locationName:"id" type:"string"`
22035
22036	// The parent resource's identifier.
22037	ParentId *string `locationName:"parentId" type:"string"`
22038
22039	// The full path for this resource.
22040	Path *string `locationName:"path" type:"string"`
22041
22042	// The last path segment for this resource.
22043	PathPart *string `locationName:"pathPart" type:"string"`
22044
22045	// Gets an API resource's method of a given HTTP verb.
22046	//
22047	// The resource methods are a map of methods indexed by methods' HTTP verbs
22048	// enabled on the resource. This method map is included in the 200 OK response
22049	// of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
22050	// request.
22051	//
22052	// Example: Get the GET method of an API resource
22053	//
22054	// Request
22055	//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
22056	//  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z
22057	//  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
22058	//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
22059	// Response
22060	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
22061	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
22062	//  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
22063	//  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
22064	//  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
22065	//  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22066	//  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
22067	//  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22068	//  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
22069	//  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
22070	//  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
22071	//  "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE",
22072	//  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
22073	//  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22074	//  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22075	//  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
22076	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22077	//  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
22078	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
22079	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
22080	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
22081	//  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
22082	//  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
22083	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
22084	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
22085	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
22086	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
22087	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
22088	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
22089	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
22090	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
22091	//  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
22092	//  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
22093	//  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
22094	//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
22095	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
22096	//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
22097	//  } }
22098	// If the OPTIONS is enabled on the resource, you can follow the example here
22099	// to get that method. Just replace the GET of the last path segment in the
22100	// request URL with OPTIONS.
22101	ResourceMethods map[string]*Method `locationName:"resourceMethods" type:"map"`
22102}
22103
22104// String returns the string representation
22105func (s Resource) String() string {
22106	return awsutil.Prettify(s)
22107}
22108
22109// GoString returns the string representation
22110func (s Resource) GoString() string {
22111	return s.String()
22112}
22113
22114// SetId sets the Id field's value.
22115func (s *Resource) SetId(v string) *Resource {
22116	s.Id = &v
22117	return s
22118}
22119
22120// SetParentId sets the ParentId field's value.
22121func (s *Resource) SetParentId(v string) *Resource {
22122	s.ParentId = &v
22123	return s
22124}
22125
22126// SetPath sets the Path field's value.
22127func (s *Resource) SetPath(v string) *Resource {
22128	s.Path = &v
22129	return s
22130}
22131
22132// SetPathPart sets the PathPart field's value.
22133func (s *Resource) SetPathPart(v string) *Resource {
22134	s.PathPart = &v
22135	return s
22136}
22137
22138// SetResourceMethods sets the ResourceMethods field's value.
22139func (s *Resource) SetResourceMethods(v map[string]*Method) *Resource {
22140	s.ResourceMethods = v
22141	return s
22142}
22143
22144// Represents a REST API.
22145//
22146// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
22147type RestApi struct {
22148	_ struct{} `type:"structure"`
22149
22150	// The source of the API key for metering requests according to a usage plan.
22151	// Valid values are:
22152	//    * HEADER to read the API key from the X-API-Key header of a request.
22153	//
22154	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
22155	//    authorizer.
22156	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
22157
22158	// The list of binary media types supported by the RestApi. By default, the
22159	// RestApi supports only UTF-8-encoded text payloads.
22160	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
22161
22162	// The timestamp when the API was created.
22163	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
22164
22165	// The API's description.
22166	Description *string `locationName:"description" type:"string"`
22167
22168	// The endpoint configuration of this RestApi showing the endpoint types of
22169	// the API.
22170	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
22171
22172	// The API's identifier. This identifier is unique across all of your APIs in
22173	// API Gateway.
22174	Id *string `locationName:"id" type:"string"`
22175
22176	// A nullable integer that is used to enable compression (with non-negative
22177	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
22178	// a null value) on an API. When compression is enabled, compression or decompression
22179	// is not applied on the payload if the payload size is smaller than this value.
22180	// Setting it to zero allows compression for any payload size.
22181	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
22182
22183	// The API's name.
22184	Name *string `locationName:"name" type:"string"`
22185
22186	// A stringified JSON policy document that applies to this RestApi regardless
22187	// of the caller and Method configuration.
22188	Policy *string `locationName:"policy" type:"string"`
22189
22190	// The collection of tags. Each tag element is associated with a given resource.
22191	Tags map[string]*string `locationName:"tags" type:"map"`
22192
22193	// A version identifier for the API.
22194	Version *string `locationName:"version" type:"string"`
22195
22196	// The warning messages reported when failonwarnings is turned on during API
22197	// import.
22198	Warnings []*string `locationName:"warnings" type:"list"`
22199}
22200
22201// String returns the string representation
22202func (s RestApi) String() string {
22203	return awsutil.Prettify(s)
22204}
22205
22206// GoString returns the string representation
22207func (s RestApi) GoString() string {
22208	return s.String()
22209}
22210
22211// SetApiKeySource sets the ApiKeySource field's value.
22212func (s *RestApi) SetApiKeySource(v string) *RestApi {
22213	s.ApiKeySource = &v
22214	return s
22215}
22216
22217// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
22218func (s *RestApi) SetBinaryMediaTypes(v []*string) *RestApi {
22219	s.BinaryMediaTypes = v
22220	return s
22221}
22222
22223// SetCreatedDate sets the CreatedDate field's value.
22224func (s *RestApi) SetCreatedDate(v time.Time) *RestApi {
22225	s.CreatedDate = &v
22226	return s
22227}
22228
22229// SetDescription sets the Description field's value.
22230func (s *RestApi) SetDescription(v string) *RestApi {
22231	s.Description = &v
22232	return s
22233}
22234
22235// SetEndpointConfiguration sets the EndpointConfiguration field's value.
22236func (s *RestApi) SetEndpointConfiguration(v *EndpointConfiguration) *RestApi {
22237	s.EndpointConfiguration = v
22238	return s
22239}
22240
22241// SetId sets the Id field's value.
22242func (s *RestApi) SetId(v string) *RestApi {
22243	s.Id = &v
22244	return s
22245}
22246
22247// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
22248func (s *RestApi) SetMinimumCompressionSize(v int64) *RestApi {
22249	s.MinimumCompressionSize = &v
22250	return s
22251}
22252
22253// SetName sets the Name field's value.
22254func (s *RestApi) SetName(v string) *RestApi {
22255	s.Name = &v
22256	return s
22257}
22258
22259// SetPolicy sets the Policy field's value.
22260func (s *RestApi) SetPolicy(v string) *RestApi {
22261	s.Policy = &v
22262	return s
22263}
22264
22265// SetTags sets the Tags field's value.
22266func (s *RestApi) SetTags(v map[string]*string) *RestApi {
22267	s.Tags = v
22268	return s
22269}
22270
22271// SetVersion sets the Version field's value.
22272func (s *RestApi) SetVersion(v string) *RestApi {
22273	s.Version = &v
22274	return s
22275}
22276
22277// SetWarnings sets the Warnings field's value.
22278func (s *RestApi) SetWarnings(v []*string) *RestApi {
22279	s.Warnings = v
22280	return s
22281}
22282
22283// A configuration property of an SDK type.
22284type SdkConfigurationProperty struct {
22285	_ struct{} `type:"structure"`
22286
22287	// The default value of an SdkType configuration property.
22288	DefaultValue *string `locationName:"defaultValue" type:"string"`
22289
22290	// The description of an SdkType configuration property.
22291	Description *string `locationName:"description" type:"string"`
22292
22293	// The user-friendly name of an SdkType configuration property.
22294	FriendlyName *string `locationName:"friendlyName" type:"string"`
22295
22296	// The name of a an SdkType configuration property.
22297	Name *string `locationName:"name" type:"string"`
22298
22299	// A boolean flag of an SdkType configuration property to indicate if the associated
22300	// SDK configuration property is required (true) or not (false).
22301	Required *bool `locationName:"required" type:"boolean"`
22302}
22303
22304// String returns the string representation
22305func (s SdkConfigurationProperty) String() string {
22306	return awsutil.Prettify(s)
22307}
22308
22309// GoString returns the string representation
22310func (s SdkConfigurationProperty) GoString() string {
22311	return s.String()
22312}
22313
22314// SetDefaultValue sets the DefaultValue field's value.
22315func (s *SdkConfigurationProperty) SetDefaultValue(v string) *SdkConfigurationProperty {
22316	s.DefaultValue = &v
22317	return s
22318}
22319
22320// SetDescription sets the Description field's value.
22321func (s *SdkConfigurationProperty) SetDescription(v string) *SdkConfigurationProperty {
22322	s.Description = &v
22323	return s
22324}
22325
22326// SetFriendlyName sets the FriendlyName field's value.
22327func (s *SdkConfigurationProperty) SetFriendlyName(v string) *SdkConfigurationProperty {
22328	s.FriendlyName = &v
22329	return s
22330}
22331
22332// SetName sets the Name field's value.
22333func (s *SdkConfigurationProperty) SetName(v string) *SdkConfigurationProperty {
22334	s.Name = &v
22335	return s
22336}
22337
22338// SetRequired sets the Required field's value.
22339func (s *SdkConfigurationProperty) SetRequired(v bool) *SdkConfigurationProperty {
22340	s.Required = &v
22341	return s
22342}
22343
22344// A type of SDK that API Gateway can generate.
22345type SdkType struct {
22346	_ struct{} `type:"structure"`
22347
22348	// A list of configuration properties of an SdkType.
22349	ConfigurationProperties []*SdkConfigurationProperty `locationName:"configurationProperties" type:"list"`
22350
22351	// The description of an SdkType.
22352	Description *string `locationName:"description" type:"string"`
22353
22354	// The user-friendly name of an SdkType instance.
22355	FriendlyName *string `locationName:"friendlyName" type:"string"`
22356
22357	// The identifier of an SdkType instance.
22358	Id *string `locationName:"id" type:"string"`
22359}
22360
22361// String returns the string representation
22362func (s SdkType) String() string {
22363	return awsutil.Prettify(s)
22364}
22365
22366// GoString returns the string representation
22367func (s SdkType) GoString() string {
22368	return s.String()
22369}
22370
22371// SetConfigurationProperties sets the ConfigurationProperties field's value.
22372func (s *SdkType) SetConfigurationProperties(v []*SdkConfigurationProperty) *SdkType {
22373	s.ConfigurationProperties = v
22374	return s
22375}
22376
22377// SetDescription sets the Description field's value.
22378func (s *SdkType) SetDescription(v string) *SdkType {
22379	s.Description = &v
22380	return s
22381}
22382
22383// SetFriendlyName sets the FriendlyName field's value.
22384func (s *SdkType) SetFriendlyName(v string) *SdkType {
22385	s.FriendlyName = &v
22386	return s
22387}
22388
22389// SetId sets the Id field's value.
22390func (s *SdkType) SetId(v string) *SdkType {
22391	s.Id = &v
22392	return s
22393}
22394
22395// The requested service is not available. For details see the accompanying
22396// error message. Retry after the specified time period.
22397type ServiceUnavailableException struct {
22398	_            struct{} `type:"structure"`
22399	respMetadata protocol.ResponseMetadata
22400
22401	Message_ *string `locationName:"message" type:"string"`
22402
22403	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
22404}
22405
22406// String returns the string representation
22407func (s ServiceUnavailableException) String() string {
22408	return awsutil.Prettify(s)
22409}
22410
22411// GoString returns the string representation
22412func (s ServiceUnavailableException) GoString() string {
22413	return s.String()
22414}
22415
22416func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
22417	return &ServiceUnavailableException{
22418		respMetadata: v,
22419	}
22420}
22421
22422// Code returns the exception type name.
22423func (s ServiceUnavailableException) Code() string {
22424	return "ServiceUnavailableException"
22425}
22426
22427// Message returns the exception's message.
22428func (s ServiceUnavailableException) Message() string {
22429	if s.Message_ != nil {
22430		return *s.Message_
22431	}
22432	return ""
22433}
22434
22435// OrigErr always returns nil, satisfies awserr.Error interface.
22436func (s ServiceUnavailableException) OrigErr() error {
22437	return nil
22438}
22439
22440func (s ServiceUnavailableException) Error() string {
22441	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22442}
22443
22444// Status code returns the HTTP status code for the request's response error.
22445func (s ServiceUnavailableException) StatusCode() int {
22446	return s.respMetadata.StatusCode
22447}
22448
22449// RequestID returns the service's response RequestID for request.
22450func (s ServiceUnavailableException) RequestID() string {
22451	return s.respMetadata.RequestID
22452}
22453
22454// Represents a unique identifier for a version of a deployed RestApi that is
22455// callable by users.
22456//
22457// Deploy an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html)
22458type Stage struct {
22459	_ struct{} `type:"structure"`
22460
22461	// Settings for logging access in this stage.
22462	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
22463
22464	// Specifies whether a cache cluster is enabled for the stage.
22465	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
22466
22467	// The size of the cache cluster for the stage, if enabled.
22468	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
22469
22470	// The status of the cache cluster for the stage, if enabled.
22471	CacheClusterStatus *string `locationName:"cacheClusterStatus" type:"string" enum:"CacheClusterStatus"`
22472
22473	// Settings for the canary deployment in this stage.
22474	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
22475
22476	// The identifier of a client certificate for an API stage.
22477	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
22478
22479	// The timestamp when the stage was created.
22480	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
22481
22482	// The identifier of the Deployment that the stage points to.
22483	DeploymentId *string `locationName:"deploymentId" type:"string"`
22484
22485	// The stage's description.
22486	Description *string `locationName:"description" type:"string"`
22487
22488	// The version of the associated API documentation.
22489	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
22490
22491	// The timestamp when the stage last updated.
22492	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
22493
22494	// A map that defines the method settings for a Stage resource. Keys (designated
22495	// as /{method_setting_key below) are method paths defined as {resource_path}/{http_method}
22496	// for an individual method override, or /\*/\* for overriding all methods in
22497	// the stage.
22498	MethodSettings map[string]*MethodSetting `locationName:"methodSettings" type:"map"`
22499
22500	// The name of the stage is the first path segment in the Uniform Resource Identifier
22501	// (URI) of a call to API Gateway. Stage names can only contain alphanumeric
22502	// characters, hyphens, and underscores. Maximum length is 128 characters.
22503	StageName *string `locationName:"stageName" type:"string"`
22504
22505	// The collection of tags. Each tag element is associated with a given resource.
22506	Tags map[string]*string `locationName:"tags" type:"map"`
22507
22508	// Specifies whether active tracing with X-ray is enabled for the Stage.
22509	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
22510
22511	// A map that defines the stage variables for a Stage resource. Variable names
22512	// can have alphanumeric and underscore characters, and the values must match
22513	// [A-Za-z0-9-._~:/?#&=,]+.
22514	Variables map[string]*string `locationName:"variables" type:"map"`
22515
22516	// The ARN of the WebAcl associated with the Stage.
22517	WebAclArn *string `locationName:"webAclArn" type:"string"`
22518}
22519
22520// String returns the string representation
22521func (s Stage) String() string {
22522	return awsutil.Prettify(s)
22523}
22524
22525// GoString returns the string representation
22526func (s Stage) GoString() string {
22527	return s.String()
22528}
22529
22530// SetAccessLogSettings sets the AccessLogSettings field's value.
22531func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
22532	s.AccessLogSettings = v
22533	return s
22534}
22535
22536// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
22537func (s *Stage) SetCacheClusterEnabled(v bool) *Stage {
22538	s.CacheClusterEnabled = &v
22539	return s
22540}
22541
22542// SetCacheClusterSize sets the CacheClusterSize field's value.
22543func (s *Stage) SetCacheClusterSize(v string) *Stage {
22544	s.CacheClusterSize = &v
22545	return s
22546}
22547
22548// SetCacheClusterStatus sets the CacheClusterStatus field's value.
22549func (s *Stage) SetCacheClusterStatus(v string) *Stage {
22550	s.CacheClusterStatus = &v
22551	return s
22552}
22553
22554// SetCanarySettings sets the CanarySettings field's value.
22555func (s *Stage) SetCanarySettings(v *CanarySettings) *Stage {
22556	s.CanarySettings = v
22557	return s
22558}
22559
22560// SetClientCertificateId sets the ClientCertificateId field's value.
22561func (s *Stage) SetClientCertificateId(v string) *Stage {
22562	s.ClientCertificateId = &v
22563	return s
22564}
22565
22566// SetCreatedDate sets the CreatedDate field's value.
22567func (s *Stage) SetCreatedDate(v time.Time) *Stage {
22568	s.CreatedDate = &v
22569	return s
22570}
22571
22572// SetDeploymentId sets the DeploymentId field's value.
22573func (s *Stage) SetDeploymentId(v string) *Stage {
22574	s.DeploymentId = &v
22575	return s
22576}
22577
22578// SetDescription sets the Description field's value.
22579func (s *Stage) SetDescription(v string) *Stage {
22580	s.Description = &v
22581	return s
22582}
22583
22584// SetDocumentationVersion sets the DocumentationVersion field's value.
22585func (s *Stage) SetDocumentationVersion(v string) *Stage {
22586	s.DocumentationVersion = &v
22587	return s
22588}
22589
22590// SetLastUpdatedDate sets the LastUpdatedDate field's value.
22591func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
22592	s.LastUpdatedDate = &v
22593	return s
22594}
22595
22596// SetMethodSettings sets the MethodSettings field's value.
22597func (s *Stage) SetMethodSettings(v map[string]*MethodSetting) *Stage {
22598	s.MethodSettings = v
22599	return s
22600}
22601
22602// SetStageName sets the StageName field's value.
22603func (s *Stage) SetStageName(v string) *Stage {
22604	s.StageName = &v
22605	return s
22606}
22607
22608// SetTags sets the Tags field's value.
22609func (s *Stage) SetTags(v map[string]*string) *Stage {
22610	s.Tags = v
22611	return s
22612}
22613
22614// SetTracingEnabled sets the TracingEnabled field's value.
22615func (s *Stage) SetTracingEnabled(v bool) *Stage {
22616	s.TracingEnabled = &v
22617	return s
22618}
22619
22620// SetVariables sets the Variables field's value.
22621func (s *Stage) SetVariables(v map[string]*string) *Stage {
22622	s.Variables = v
22623	return s
22624}
22625
22626// SetWebAclArn sets the WebAclArn field's value.
22627func (s *Stage) SetWebAclArn(v string) *Stage {
22628	s.WebAclArn = &v
22629	return s
22630}
22631
22632// A reference to a unique stage identified in the format {restApiId}/{stage}.
22633type StageKey struct {
22634	_ struct{} `type:"structure"`
22635
22636	// The string identifier of the associated RestApi.
22637	RestApiId *string `locationName:"restApiId" type:"string"`
22638
22639	// The stage name associated with the stage key.
22640	StageName *string `locationName:"stageName" type:"string"`
22641}
22642
22643// String returns the string representation
22644func (s StageKey) String() string {
22645	return awsutil.Prettify(s)
22646}
22647
22648// GoString returns the string representation
22649func (s StageKey) GoString() string {
22650	return s.String()
22651}
22652
22653// SetRestApiId sets the RestApiId field's value.
22654func (s *StageKey) SetRestApiId(v string) *StageKey {
22655	s.RestApiId = &v
22656	return s
22657}
22658
22659// SetStageName sets the StageName field's value.
22660func (s *StageKey) SetStageName(v string) *StageKey {
22661	s.StageName = &v
22662	return s
22663}
22664
22665// Adds or updates a tag on a given resource.
22666type TagResourceInput struct {
22667	_ struct{} `type:"structure"`
22668
22669	// [Required] The ARN of a resource that can be tagged. The resource ARN must
22670	// be URL-encoded.
22671	//
22672	// ResourceArn is a required field
22673	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
22674
22675	// [Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
22676	// The tag key can be up to 128 characters and must not start with aws:. The
22677	// tag value can be up to 256 characters.
22678	//
22679	// Tags is a required field
22680	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
22681}
22682
22683// String returns the string representation
22684func (s TagResourceInput) String() string {
22685	return awsutil.Prettify(s)
22686}
22687
22688// GoString returns the string representation
22689func (s TagResourceInput) GoString() string {
22690	return s.String()
22691}
22692
22693// Validate inspects the fields of the type to determine if they are valid.
22694func (s *TagResourceInput) Validate() error {
22695	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
22696	if s.ResourceArn == nil {
22697		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
22698	}
22699	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
22700		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
22701	}
22702	if s.Tags == nil {
22703		invalidParams.Add(request.NewErrParamRequired("Tags"))
22704	}
22705
22706	if invalidParams.Len() > 0 {
22707		return invalidParams
22708	}
22709	return nil
22710}
22711
22712// SetResourceArn sets the ResourceArn field's value.
22713func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
22714	s.ResourceArn = &v
22715	return s
22716}
22717
22718// SetTags sets the Tags field's value.
22719func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
22720	s.Tags = v
22721	return s
22722}
22723
22724type TagResourceOutput struct {
22725	_ struct{} `type:"structure"`
22726}
22727
22728// String returns the string representation
22729func (s TagResourceOutput) String() string {
22730	return awsutil.Prettify(s)
22731}
22732
22733// GoString returns the string representation
22734func (s TagResourceOutput) GoString() string {
22735	return s.String()
22736}
22737
22738// Make a request to simulate the execution of an Authorizer.
22739type TestInvokeAuthorizerInput struct {
22740	_ struct{} `type:"structure"`
22741
22742	// [Optional] A key-value map of additional context variables.
22743	AdditionalContext map[string]*string `locationName:"additionalContext" type:"map"`
22744
22745	// [Required] Specifies a test invoke authorizer request's Authorizer ID.
22746	//
22747	// AuthorizerId is a required field
22748	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
22749
22750	// [Optional] The simulated request body of an incoming invocation request.
22751	Body *string `locationName:"body" type:"string"`
22752
22753	// [Required] A key-value map of headers to simulate an incoming invocation
22754	// request. This is where the incoming authorization token, or identity source,
22755	// should be specified.
22756	Headers map[string]*string `locationName:"headers" type:"map"`
22757
22758	// [Optional] The headers as a map from string to list of values to simulate
22759	// an incoming invocation request. This is where the incoming authorization
22760	// token, or identity source, may be specified.
22761	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
22762
22763	// [Optional] The URI path, including query string, of the simulated invocation
22764	// request. Use this to specify path parameters and query string parameters.
22765	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
22766
22767	// [Required] The string identifier of the associated RestApi.
22768	//
22769	// RestApiId is a required field
22770	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
22771
22772	// A key-value map of stage variables to simulate an invocation on a deployed
22773	// Stage.
22774	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
22775}
22776
22777// String returns the string representation
22778func (s TestInvokeAuthorizerInput) String() string {
22779	return awsutil.Prettify(s)
22780}
22781
22782// GoString returns the string representation
22783func (s TestInvokeAuthorizerInput) GoString() string {
22784	return s.String()
22785}
22786
22787// Validate inspects the fields of the type to determine if they are valid.
22788func (s *TestInvokeAuthorizerInput) Validate() error {
22789	invalidParams := request.ErrInvalidParams{Context: "TestInvokeAuthorizerInput"}
22790	if s.AuthorizerId == nil {
22791		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
22792	}
22793	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
22794		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
22795	}
22796	if s.RestApiId == nil {
22797		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
22798	}
22799	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
22800		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
22801	}
22802
22803	if invalidParams.Len() > 0 {
22804		return invalidParams
22805	}
22806	return nil
22807}
22808
22809// SetAdditionalContext sets the AdditionalContext field's value.
22810func (s *TestInvokeAuthorizerInput) SetAdditionalContext(v map[string]*string) *TestInvokeAuthorizerInput {
22811	s.AdditionalContext = v
22812	return s
22813}
22814
22815// SetAuthorizerId sets the AuthorizerId field's value.
22816func (s *TestInvokeAuthorizerInput) SetAuthorizerId(v string) *TestInvokeAuthorizerInput {
22817	s.AuthorizerId = &v
22818	return s
22819}
22820
22821// SetBody sets the Body field's value.
22822func (s *TestInvokeAuthorizerInput) SetBody(v string) *TestInvokeAuthorizerInput {
22823	s.Body = &v
22824	return s
22825}
22826
22827// SetHeaders sets the Headers field's value.
22828func (s *TestInvokeAuthorizerInput) SetHeaders(v map[string]*string) *TestInvokeAuthorizerInput {
22829	s.Headers = v
22830	return s
22831}
22832
22833// SetMultiValueHeaders sets the MultiValueHeaders field's value.
22834func (s *TestInvokeAuthorizerInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeAuthorizerInput {
22835	s.MultiValueHeaders = v
22836	return s
22837}
22838
22839// SetPathWithQueryString sets the PathWithQueryString field's value.
22840func (s *TestInvokeAuthorizerInput) SetPathWithQueryString(v string) *TestInvokeAuthorizerInput {
22841	s.PathWithQueryString = &v
22842	return s
22843}
22844
22845// SetRestApiId sets the RestApiId field's value.
22846func (s *TestInvokeAuthorizerInput) SetRestApiId(v string) *TestInvokeAuthorizerInput {
22847	s.RestApiId = &v
22848	return s
22849}
22850
22851// SetStageVariables sets the StageVariables field's value.
22852func (s *TestInvokeAuthorizerInput) SetStageVariables(v map[string]*string) *TestInvokeAuthorizerInput {
22853	s.StageVariables = v
22854	return s
22855}
22856
22857// Represents the response of the test invoke request for a custom Authorizer
22858type TestInvokeAuthorizerOutput struct {
22859	_ struct{} `type:"structure"`
22860
22861	Authorization map[string][]*string `locationName:"authorization" type:"map"`
22862
22863	// The open identity claims (https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims),
22864	// with any supported custom attributes, returned from the Cognito Your User
22865	// Pool configured for the API.
22866	Claims map[string]*string `locationName:"claims" type:"map"`
22867
22868	// The HTTP status code that the client would have received. Value is 0 if the
22869	// authorizer succeeded.
22870	ClientStatus *int64 `locationName:"clientStatus" type:"integer"`
22871
22872	// The execution latency of the test authorizer request.
22873	Latency *int64 `locationName:"latency" type:"long"`
22874
22875	// The API Gateway execution log for the test authorizer request.
22876	Log *string `locationName:"log" type:"string"`
22877
22878	// The JSON policy document returned by the Authorizer
22879	Policy *string `locationName:"policy" type:"string"`
22880
22881	// The principal identity returned by the Authorizer
22882	PrincipalId *string `locationName:"principalId" type:"string"`
22883}
22884
22885// String returns the string representation
22886func (s TestInvokeAuthorizerOutput) String() string {
22887	return awsutil.Prettify(s)
22888}
22889
22890// GoString returns the string representation
22891func (s TestInvokeAuthorizerOutput) GoString() string {
22892	return s.String()
22893}
22894
22895// SetAuthorization sets the Authorization field's value.
22896func (s *TestInvokeAuthorizerOutput) SetAuthorization(v map[string][]*string) *TestInvokeAuthorizerOutput {
22897	s.Authorization = v
22898	return s
22899}
22900
22901// SetClaims sets the Claims field's value.
22902func (s *TestInvokeAuthorizerOutput) SetClaims(v map[string]*string) *TestInvokeAuthorizerOutput {
22903	s.Claims = v
22904	return s
22905}
22906
22907// SetClientStatus sets the ClientStatus field's value.
22908func (s *TestInvokeAuthorizerOutput) SetClientStatus(v int64) *TestInvokeAuthorizerOutput {
22909	s.ClientStatus = &v
22910	return s
22911}
22912
22913// SetLatency sets the Latency field's value.
22914func (s *TestInvokeAuthorizerOutput) SetLatency(v int64) *TestInvokeAuthorizerOutput {
22915	s.Latency = &v
22916	return s
22917}
22918
22919// SetLog sets the Log field's value.
22920func (s *TestInvokeAuthorizerOutput) SetLog(v string) *TestInvokeAuthorizerOutput {
22921	s.Log = &v
22922	return s
22923}
22924
22925// SetPolicy sets the Policy field's value.
22926func (s *TestInvokeAuthorizerOutput) SetPolicy(v string) *TestInvokeAuthorizerOutput {
22927	s.Policy = &v
22928	return s
22929}
22930
22931// SetPrincipalId sets the PrincipalId field's value.
22932func (s *TestInvokeAuthorizerOutput) SetPrincipalId(v string) *TestInvokeAuthorizerOutput {
22933	s.PrincipalId = &v
22934	return s
22935}
22936
22937// Make a request to simulate the execution of a Method.
22938type TestInvokeMethodInput struct {
22939	_ struct{} `type:"structure"`
22940
22941	// The simulated request body of an incoming invocation request.
22942	Body *string `locationName:"body" type:"string"`
22943
22944	// A ClientCertificate identifier to use in the test invocation. API Gateway
22945	// will use the certificate when making the HTTPS request to the defined back-end
22946	// endpoint.
22947	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
22948
22949	// A key-value map of headers to simulate an incoming invocation request.
22950	Headers map[string]*string `locationName:"headers" type:"map"`
22951
22952	// [Required] Specifies a test invoke method request's HTTP method.
22953	//
22954	// HttpMethod is a required field
22955	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
22956
22957	// The headers as a map from string to list of values to simulate an incoming
22958	// invocation request.
22959	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
22960
22961	// The URI path, including query string, of the simulated invocation request.
22962	// Use this to specify path parameters and query string parameters.
22963	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
22964
22965	// [Required] Specifies a test invoke method request's resource ID.
22966	//
22967	// ResourceId is a required field
22968	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
22969
22970	// [Required] The string identifier of the associated RestApi.
22971	//
22972	// RestApiId is a required field
22973	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
22974
22975	// A key-value map of stage variables to simulate an invocation on a deployed
22976	// Stage.
22977	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
22978}
22979
22980// String returns the string representation
22981func (s TestInvokeMethodInput) String() string {
22982	return awsutil.Prettify(s)
22983}
22984
22985// GoString returns the string representation
22986func (s TestInvokeMethodInput) GoString() string {
22987	return s.String()
22988}
22989
22990// Validate inspects the fields of the type to determine if they are valid.
22991func (s *TestInvokeMethodInput) Validate() error {
22992	invalidParams := request.ErrInvalidParams{Context: "TestInvokeMethodInput"}
22993	if s.HttpMethod == nil {
22994		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
22995	}
22996	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
22997		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
22998	}
22999	if s.ResourceId == nil {
23000		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
23001	}
23002	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
23003		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
23004	}
23005	if s.RestApiId == nil {
23006		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23007	}
23008	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23009		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23010	}
23011
23012	if invalidParams.Len() > 0 {
23013		return invalidParams
23014	}
23015	return nil
23016}
23017
23018// SetBody sets the Body field's value.
23019func (s *TestInvokeMethodInput) SetBody(v string) *TestInvokeMethodInput {
23020	s.Body = &v
23021	return s
23022}
23023
23024// SetClientCertificateId sets the ClientCertificateId field's value.
23025func (s *TestInvokeMethodInput) SetClientCertificateId(v string) *TestInvokeMethodInput {
23026	s.ClientCertificateId = &v
23027	return s
23028}
23029
23030// SetHeaders sets the Headers field's value.
23031func (s *TestInvokeMethodInput) SetHeaders(v map[string]*string) *TestInvokeMethodInput {
23032	s.Headers = v
23033	return s
23034}
23035
23036// SetHttpMethod sets the HttpMethod field's value.
23037func (s *TestInvokeMethodInput) SetHttpMethod(v string) *TestInvokeMethodInput {
23038	s.HttpMethod = &v
23039	return s
23040}
23041
23042// SetMultiValueHeaders sets the MultiValueHeaders field's value.
23043func (s *TestInvokeMethodInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodInput {
23044	s.MultiValueHeaders = v
23045	return s
23046}
23047
23048// SetPathWithQueryString sets the PathWithQueryString field's value.
23049func (s *TestInvokeMethodInput) SetPathWithQueryString(v string) *TestInvokeMethodInput {
23050	s.PathWithQueryString = &v
23051	return s
23052}
23053
23054// SetResourceId sets the ResourceId field's value.
23055func (s *TestInvokeMethodInput) SetResourceId(v string) *TestInvokeMethodInput {
23056	s.ResourceId = &v
23057	return s
23058}
23059
23060// SetRestApiId sets the RestApiId field's value.
23061func (s *TestInvokeMethodInput) SetRestApiId(v string) *TestInvokeMethodInput {
23062	s.RestApiId = &v
23063	return s
23064}
23065
23066// SetStageVariables sets the StageVariables field's value.
23067func (s *TestInvokeMethodInput) SetStageVariables(v map[string]*string) *TestInvokeMethodInput {
23068	s.StageVariables = v
23069	return s
23070}
23071
23072// Represents the response of the test invoke request in the HTTP method.
23073//
23074// Test API using the API Gateway console (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-test-method.html#how-to-test-method-console)
23075type TestInvokeMethodOutput struct {
23076	_ struct{} `type:"structure"`
23077
23078	// The body of the HTTP response.
23079	Body *string `locationName:"body" type:"string"`
23080
23081	// The headers of the HTTP response.
23082	Headers map[string]*string `locationName:"headers" type:"map"`
23083
23084	// The execution latency of the test invoke request.
23085	Latency *int64 `locationName:"latency" type:"long"`
23086
23087	// The API Gateway execution log for the test invoke request.
23088	Log *string `locationName:"log" type:"string"`
23089
23090	// The headers of the HTTP response as a map from string to list of values.
23091	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
23092
23093	// The HTTP status code.
23094	Status *int64 `locationName:"status" type:"integer"`
23095}
23096
23097// String returns the string representation
23098func (s TestInvokeMethodOutput) String() string {
23099	return awsutil.Prettify(s)
23100}
23101
23102// GoString returns the string representation
23103func (s TestInvokeMethodOutput) GoString() string {
23104	return s.String()
23105}
23106
23107// SetBody sets the Body field's value.
23108func (s *TestInvokeMethodOutput) SetBody(v string) *TestInvokeMethodOutput {
23109	s.Body = &v
23110	return s
23111}
23112
23113// SetHeaders sets the Headers field's value.
23114func (s *TestInvokeMethodOutput) SetHeaders(v map[string]*string) *TestInvokeMethodOutput {
23115	s.Headers = v
23116	return s
23117}
23118
23119// SetLatency sets the Latency field's value.
23120func (s *TestInvokeMethodOutput) SetLatency(v int64) *TestInvokeMethodOutput {
23121	s.Latency = &v
23122	return s
23123}
23124
23125// SetLog sets the Log field's value.
23126func (s *TestInvokeMethodOutput) SetLog(v string) *TestInvokeMethodOutput {
23127	s.Log = &v
23128	return s
23129}
23130
23131// SetMultiValueHeaders sets the MultiValueHeaders field's value.
23132func (s *TestInvokeMethodOutput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodOutput {
23133	s.MultiValueHeaders = v
23134	return s
23135}
23136
23137// SetStatus sets the Status field's value.
23138func (s *TestInvokeMethodOutput) SetStatus(v int64) *TestInvokeMethodOutput {
23139	s.Status = &v
23140	return s
23141}
23142
23143// The API request rate limits.
23144type ThrottleSettings struct {
23145	_ struct{} `type:"structure"`
23146
23147	// The API request burst limit, the maximum rate limit over a time ranging from
23148	// one to a few seconds, depending upon whether the underlying token bucket
23149	// is at its full capacity.
23150	BurstLimit *int64 `locationName:"burstLimit" type:"integer"`
23151
23152	// The API request steady-state rate limit.
23153	RateLimit *float64 `locationName:"rateLimit" type:"double"`
23154}
23155
23156// String returns the string representation
23157func (s ThrottleSettings) String() string {
23158	return awsutil.Prettify(s)
23159}
23160
23161// GoString returns the string representation
23162func (s ThrottleSettings) GoString() string {
23163	return s.String()
23164}
23165
23166// SetBurstLimit sets the BurstLimit field's value.
23167func (s *ThrottleSettings) SetBurstLimit(v int64) *ThrottleSettings {
23168	s.BurstLimit = &v
23169	return s
23170}
23171
23172// SetRateLimit sets the RateLimit field's value.
23173func (s *ThrottleSettings) SetRateLimit(v float64) *ThrottleSettings {
23174	s.RateLimit = &v
23175	return s
23176}
23177
23178// The request has reached its throttling limit. Retry after the specified time
23179// period.
23180type TooManyRequestsException struct {
23181	_            struct{} `type:"structure"`
23182	respMetadata protocol.ResponseMetadata
23183
23184	Message_ *string `locationName:"message" type:"string"`
23185
23186	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
23187}
23188
23189// String returns the string representation
23190func (s TooManyRequestsException) String() string {
23191	return awsutil.Prettify(s)
23192}
23193
23194// GoString returns the string representation
23195func (s TooManyRequestsException) GoString() string {
23196	return s.String()
23197}
23198
23199func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
23200	return &TooManyRequestsException{
23201		respMetadata: v,
23202	}
23203}
23204
23205// Code returns the exception type name.
23206func (s TooManyRequestsException) Code() string {
23207	return "TooManyRequestsException"
23208}
23209
23210// Message returns the exception's message.
23211func (s TooManyRequestsException) Message() string {
23212	if s.Message_ != nil {
23213		return *s.Message_
23214	}
23215	return ""
23216}
23217
23218// OrigErr always returns nil, satisfies awserr.Error interface.
23219func (s TooManyRequestsException) OrigErr() error {
23220	return nil
23221}
23222
23223func (s TooManyRequestsException) Error() string {
23224	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23225}
23226
23227// Status code returns the HTTP status code for the request's response error.
23228func (s TooManyRequestsException) StatusCode() int {
23229	return s.respMetadata.StatusCode
23230}
23231
23232// RequestID returns the service's response RequestID for request.
23233func (s TooManyRequestsException) RequestID() string {
23234	return s.respMetadata.RequestID
23235}
23236
23237// The request is denied because the caller has insufficient permissions.
23238type UnauthorizedException struct {
23239	_            struct{} `type:"structure"`
23240	respMetadata protocol.ResponseMetadata
23241
23242	Message_ *string `locationName:"message" type:"string"`
23243}
23244
23245// String returns the string representation
23246func (s UnauthorizedException) String() string {
23247	return awsutil.Prettify(s)
23248}
23249
23250// GoString returns the string representation
23251func (s UnauthorizedException) GoString() string {
23252	return s.String()
23253}
23254
23255func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
23256	return &UnauthorizedException{
23257		respMetadata: v,
23258	}
23259}
23260
23261// Code returns the exception type name.
23262func (s UnauthorizedException) Code() string {
23263	return "UnauthorizedException"
23264}
23265
23266// Message returns the exception's message.
23267func (s UnauthorizedException) Message() string {
23268	if s.Message_ != nil {
23269		return *s.Message_
23270	}
23271	return ""
23272}
23273
23274// OrigErr always returns nil, satisfies awserr.Error interface.
23275func (s UnauthorizedException) OrigErr() error {
23276	return nil
23277}
23278
23279func (s UnauthorizedException) Error() string {
23280	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23281}
23282
23283// Status code returns the HTTP status code for the request's response error.
23284func (s UnauthorizedException) StatusCode() int {
23285	return s.respMetadata.StatusCode
23286}
23287
23288// RequestID returns the service's response RequestID for request.
23289func (s UnauthorizedException) RequestID() string {
23290	return s.respMetadata.RequestID
23291}
23292
23293// Removes a tag from a given resource.
23294type UntagResourceInput struct {
23295	_ struct{} `type:"structure"`
23296
23297	// [Required] The ARN of a resource that can be tagged. The resource ARN must
23298	// be URL-encoded.
23299	//
23300	// ResourceArn is a required field
23301	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
23302
23303	// [Required] The Tag keys to delete.
23304	//
23305	// TagKeys is a required field
23306	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
23307}
23308
23309// String returns the string representation
23310func (s UntagResourceInput) String() string {
23311	return awsutil.Prettify(s)
23312}
23313
23314// GoString returns the string representation
23315func (s UntagResourceInput) GoString() string {
23316	return s.String()
23317}
23318
23319// Validate inspects the fields of the type to determine if they are valid.
23320func (s *UntagResourceInput) Validate() error {
23321	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
23322	if s.ResourceArn == nil {
23323		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
23324	}
23325	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
23326		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
23327	}
23328	if s.TagKeys == nil {
23329		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
23330	}
23331
23332	if invalidParams.Len() > 0 {
23333		return invalidParams
23334	}
23335	return nil
23336}
23337
23338// SetResourceArn sets the ResourceArn field's value.
23339func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
23340	s.ResourceArn = &v
23341	return s
23342}
23343
23344// SetTagKeys sets the TagKeys field's value.
23345func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
23346	s.TagKeys = v
23347	return s
23348}
23349
23350type UntagResourceOutput struct {
23351	_ struct{} `type:"structure"`
23352}
23353
23354// String returns the string representation
23355func (s UntagResourceOutput) String() string {
23356	return awsutil.Prettify(s)
23357}
23358
23359// GoString returns the string representation
23360func (s UntagResourceOutput) GoString() string {
23361	return s.String()
23362}
23363
23364// Requests API Gateway to change information about the current Account resource.
23365type UpdateAccountInput struct {
23366	_ struct{} `type:"structure"`
23367
23368	// A list of update operations to be applied to the specified resource and in
23369	// the order specified in this list.
23370	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23371}
23372
23373// String returns the string representation
23374func (s UpdateAccountInput) String() string {
23375	return awsutil.Prettify(s)
23376}
23377
23378// GoString returns the string representation
23379func (s UpdateAccountInput) GoString() string {
23380	return s.String()
23381}
23382
23383// SetPatchOperations sets the PatchOperations field's value.
23384func (s *UpdateAccountInput) SetPatchOperations(v []*PatchOperation) *UpdateAccountInput {
23385	s.PatchOperations = v
23386	return s
23387}
23388
23389// A request to change information about an ApiKey resource.
23390type UpdateApiKeyInput struct {
23391	_ struct{} `type:"structure"`
23392
23393	// [Required] The identifier of the ApiKey resource to be updated.
23394	//
23395	// ApiKey is a required field
23396	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
23397
23398	// A list of update operations to be applied to the specified resource and in
23399	// the order specified in this list.
23400	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23401}
23402
23403// String returns the string representation
23404func (s UpdateApiKeyInput) String() string {
23405	return awsutil.Prettify(s)
23406}
23407
23408// GoString returns the string representation
23409func (s UpdateApiKeyInput) GoString() string {
23410	return s.String()
23411}
23412
23413// Validate inspects the fields of the type to determine if they are valid.
23414func (s *UpdateApiKeyInput) Validate() error {
23415	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
23416	if s.ApiKey == nil {
23417		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
23418	}
23419	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
23420		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
23421	}
23422
23423	if invalidParams.Len() > 0 {
23424		return invalidParams
23425	}
23426	return nil
23427}
23428
23429// SetApiKey sets the ApiKey field's value.
23430func (s *UpdateApiKeyInput) SetApiKey(v string) *UpdateApiKeyInput {
23431	s.ApiKey = &v
23432	return s
23433}
23434
23435// SetPatchOperations sets the PatchOperations field's value.
23436func (s *UpdateApiKeyInput) SetPatchOperations(v []*PatchOperation) *UpdateApiKeyInput {
23437	s.PatchOperations = v
23438	return s
23439}
23440
23441// Request to update an existing Authorizer resource.
23442type UpdateAuthorizerInput struct {
23443	_ struct{} `type:"structure"`
23444
23445	// [Required] The identifier of the Authorizer resource.
23446	//
23447	// AuthorizerId is a required field
23448	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
23449
23450	// A list of update operations to be applied to the specified resource and in
23451	// the order specified in this list.
23452	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23453
23454	// [Required] The string identifier of the associated RestApi.
23455	//
23456	// RestApiId is a required field
23457	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23458}
23459
23460// String returns the string representation
23461func (s UpdateAuthorizerInput) String() string {
23462	return awsutil.Prettify(s)
23463}
23464
23465// GoString returns the string representation
23466func (s UpdateAuthorizerInput) GoString() string {
23467	return s.String()
23468}
23469
23470// Validate inspects the fields of the type to determine if they are valid.
23471func (s *UpdateAuthorizerInput) Validate() error {
23472	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
23473	if s.AuthorizerId == nil {
23474		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
23475	}
23476	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
23477		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
23478	}
23479	if s.RestApiId == nil {
23480		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23481	}
23482	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23483		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23484	}
23485
23486	if invalidParams.Len() > 0 {
23487		return invalidParams
23488	}
23489	return nil
23490}
23491
23492// SetAuthorizerId sets the AuthorizerId field's value.
23493func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
23494	s.AuthorizerId = &v
23495	return s
23496}
23497
23498// SetPatchOperations sets the PatchOperations field's value.
23499func (s *UpdateAuthorizerInput) SetPatchOperations(v []*PatchOperation) *UpdateAuthorizerInput {
23500	s.PatchOperations = v
23501	return s
23502}
23503
23504// SetRestApiId sets the RestApiId field's value.
23505func (s *UpdateAuthorizerInput) SetRestApiId(v string) *UpdateAuthorizerInput {
23506	s.RestApiId = &v
23507	return s
23508}
23509
23510// A request to change information about the BasePathMapping resource.
23511type UpdateBasePathMappingInput struct {
23512	_ struct{} `type:"structure"`
23513
23514	// [Required] The base path of the BasePathMapping resource to change.
23515	//
23516	// To specify an empty base path, set this parameter to '(none)'.
23517	//
23518	// BasePath is a required field
23519	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
23520
23521	// [Required] The domain name of the BasePathMapping resource to change.
23522	//
23523	// DomainName is a required field
23524	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
23525
23526	// A list of update operations to be applied to the specified resource and in
23527	// the order specified in this list.
23528	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23529}
23530
23531// String returns the string representation
23532func (s UpdateBasePathMappingInput) String() string {
23533	return awsutil.Prettify(s)
23534}
23535
23536// GoString returns the string representation
23537func (s UpdateBasePathMappingInput) GoString() string {
23538	return s.String()
23539}
23540
23541// Validate inspects the fields of the type to determine if they are valid.
23542func (s *UpdateBasePathMappingInput) Validate() error {
23543	invalidParams := request.ErrInvalidParams{Context: "UpdateBasePathMappingInput"}
23544	if s.BasePath == nil {
23545		invalidParams.Add(request.NewErrParamRequired("BasePath"))
23546	}
23547	if s.BasePath != nil && len(*s.BasePath) < 1 {
23548		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
23549	}
23550	if s.DomainName == nil {
23551		invalidParams.Add(request.NewErrParamRequired("DomainName"))
23552	}
23553	if s.DomainName != nil && len(*s.DomainName) < 1 {
23554		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
23555	}
23556
23557	if invalidParams.Len() > 0 {
23558		return invalidParams
23559	}
23560	return nil
23561}
23562
23563// SetBasePath sets the BasePath field's value.
23564func (s *UpdateBasePathMappingInput) SetBasePath(v string) *UpdateBasePathMappingInput {
23565	s.BasePath = &v
23566	return s
23567}
23568
23569// SetDomainName sets the DomainName field's value.
23570func (s *UpdateBasePathMappingInput) SetDomainName(v string) *UpdateBasePathMappingInput {
23571	s.DomainName = &v
23572	return s
23573}
23574
23575// SetPatchOperations sets the PatchOperations field's value.
23576func (s *UpdateBasePathMappingInput) SetPatchOperations(v []*PatchOperation) *UpdateBasePathMappingInput {
23577	s.PatchOperations = v
23578	return s
23579}
23580
23581// A request to change information about an ClientCertificate resource.
23582type UpdateClientCertificateInput struct {
23583	_ struct{} `type:"structure"`
23584
23585	// [Required] The identifier of the ClientCertificate resource to be updated.
23586	//
23587	// ClientCertificateId is a required field
23588	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
23589
23590	// A list of update operations to be applied to the specified resource and in
23591	// the order specified in this list.
23592	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23593}
23594
23595// String returns the string representation
23596func (s UpdateClientCertificateInput) String() string {
23597	return awsutil.Prettify(s)
23598}
23599
23600// GoString returns the string representation
23601func (s UpdateClientCertificateInput) GoString() string {
23602	return s.String()
23603}
23604
23605// Validate inspects the fields of the type to determine if they are valid.
23606func (s *UpdateClientCertificateInput) Validate() error {
23607	invalidParams := request.ErrInvalidParams{Context: "UpdateClientCertificateInput"}
23608	if s.ClientCertificateId == nil {
23609		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
23610	}
23611	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
23612		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
23613	}
23614
23615	if invalidParams.Len() > 0 {
23616		return invalidParams
23617	}
23618	return nil
23619}
23620
23621// SetClientCertificateId sets the ClientCertificateId field's value.
23622func (s *UpdateClientCertificateInput) SetClientCertificateId(v string) *UpdateClientCertificateInput {
23623	s.ClientCertificateId = &v
23624	return s
23625}
23626
23627// SetPatchOperations sets the PatchOperations field's value.
23628func (s *UpdateClientCertificateInput) SetPatchOperations(v []*PatchOperation) *UpdateClientCertificateInput {
23629	s.PatchOperations = v
23630	return s
23631}
23632
23633// Requests API Gateway to change information about a Deployment resource.
23634type UpdateDeploymentInput struct {
23635	_ struct{} `type:"structure"`
23636
23637	// The replacement identifier for the Deployment resource to change information
23638	// about.
23639	//
23640	// DeploymentId is a required field
23641	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
23642
23643	// A list of update operations to be applied to the specified resource and in
23644	// the order specified in this list.
23645	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23646
23647	// [Required] The string identifier of the associated RestApi.
23648	//
23649	// RestApiId is a required field
23650	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23651}
23652
23653// String returns the string representation
23654func (s UpdateDeploymentInput) String() string {
23655	return awsutil.Prettify(s)
23656}
23657
23658// GoString returns the string representation
23659func (s UpdateDeploymentInput) GoString() string {
23660	return s.String()
23661}
23662
23663// Validate inspects the fields of the type to determine if they are valid.
23664func (s *UpdateDeploymentInput) Validate() error {
23665	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
23666	if s.DeploymentId == nil {
23667		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
23668	}
23669	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
23670		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
23671	}
23672	if s.RestApiId == nil {
23673		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23674	}
23675	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23676		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23677	}
23678
23679	if invalidParams.Len() > 0 {
23680		return invalidParams
23681	}
23682	return nil
23683}
23684
23685// SetDeploymentId sets the DeploymentId field's value.
23686func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
23687	s.DeploymentId = &v
23688	return s
23689}
23690
23691// SetPatchOperations sets the PatchOperations field's value.
23692func (s *UpdateDeploymentInput) SetPatchOperations(v []*PatchOperation) *UpdateDeploymentInput {
23693	s.PatchOperations = v
23694	return s
23695}
23696
23697// SetRestApiId sets the RestApiId field's value.
23698func (s *UpdateDeploymentInput) SetRestApiId(v string) *UpdateDeploymentInput {
23699	s.RestApiId = &v
23700	return s
23701}
23702
23703// Updates an existing documentation part of a given API.
23704type UpdateDocumentationPartInput struct {
23705	_ struct{} `type:"structure"`
23706
23707	// [Required] The identifier of the to-be-updated documentation part.
23708	//
23709	// DocumentationPartId is a required field
23710	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
23711
23712	// A list of update operations to be applied to the specified resource and in
23713	// the order specified in this list.
23714	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23715
23716	// [Required] The string identifier of the associated RestApi.
23717	//
23718	// RestApiId is a required field
23719	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23720}
23721
23722// String returns the string representation
23723func (s UpdateDocumentationPartInput) String() string {
23724	return awsutil.Prettify(s)
23725}
23726
23727// GoString returns the string representation
23728func (s UpdateDocumentationPartInput) GoString() string {
23729	return s.String()
23730}
23731
23732// Validate inspects the fields of the type to determine if they are valid.
23733func (s *UpdateDocumentationPartInput) Validate() error {
23734	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationPartInput"}
23735	if s.DocumentationPartId == nil {
23736		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
23737	}
23738	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
23739		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
23740	}
23741	if s.RestApiId == nil {
23742		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23743	}
23744	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23745		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23746	}
23747
23748	if invalidParams.Len() > 0 {
23749		return invalidParams
23750	}
23751	return nil
23752}
23753
23754// SetDocumentationPartId sets the DocumentationPartId field's value.
23755func (s *UpdateDocumentationPartInput) SetDocumentationPartId(v string) *UpdateDocumentationPartInput {
23756	s.DocumentationPartId = &v
23757	return s
23758}
23759
23760// SetPatchOperations sets the PatchOperations field's value.
23761func (s *UpdateDocumentationPartInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationPartInput {
23762	s.PatchOperations = v
23763	return s
23764}
23765
23766// SetRestApiId sets the RestApiId field's value.
23767func (s *UpdateDocumentationPartInput) SetRestApiId(v string) *UpdateDocumentationPartInput {
23768	s.RestApiId = &v
23769	return s
23770}
23771
23772// Updates an existing documentation version of an API.
23773type UpdateDocumentationVersionInput struct {
23774	_ struct{} `type:"structure"`
23775
23776	// [Required] The version identifier of the to-be-updated documentation version.
23777	//
23778	// DocumentationVersion is a required field
23779	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
23780
23781	// A list of update operations to be applied to the specified resource and in
23782	// the order specified in this list.
23783	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23784
23785	// [Required] The string identifier of the associated RestApi..
23786	//
23787	// RestApiId is a required field
23788	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23789}
23790
23791// String returns the string representation
23792func (s UpdateDocumentationVersionInput) String() string {
23793	return awsutil.Prettify(s)
23794}
23795
23796// GoString returns the string representation
23797func (s UpdateDocumentationVersionInput) GoString() string {
23798	return s.String()
23799}
23800
23801// Validate inspects the fields of the type to determine if they are valid.
23802func (s *UpdateDocumentationVersionInput) Validate() error {
23803	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationVersionInput"}
23804	if s.DocumentationVersion == nil {
23805		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
23806	}
23807	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
23808		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
23809	}
23810	if s.RestApiId == nil {
23811		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23812	}
23813	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23814		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23815	}
23816
23817	if invalidParams.Len() > 0 {
23818		return invalidParams
23819	}
23820	return nil
23821}
23822
23823// SetDocumentationVersion sets the DocumentationVersion field's value.
23824func (s *UpdateDocumentationVersionInput) SetDocumentationVersion(v string) *UpdateDocumentationVersionInput {
23825	s.DocumentationVersion = &v
23826	return s
23827}
23828
23829// SetPatchOperations sets the PatchOperations field's value.
23830func (s *UpdateDocumentationVersionInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationVersionInput {
23831	s.PatchOperations = v
23832	return s
23833}
23834
23835// SetRestApiId sets the RestApiId field's value.
23836func (s *UpdateDocumentationVersionInput) SetRestApiId(v string) *UpdateDocumentationVersionInput {
23837	s.RestApiId = &v
23838	return s
23839}
23840
23841// A request to change information about the DomainName resource.
23842type UpdateDomainNameInput struct {
23843	_ struct{} `type:"structure"`
23844
23845	// [Required] The name of the DomainName resource to be changed.
23846	//
23847	// DomainName is a required field
23848	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
23849
23850	// A list of update operations to be applied to the specified resource and in
23851	// the order specified in this list.
23852	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23853}
23854
23855// String returns the string representation
23856func (s UpdateDomainNameInput) String() string {
23857	return awsutil.Prettify(s)
23858}
23859
23860// GoString returns the string representation
23861func (s UpdateDomainNameInput) GoString() string {
23862	return s.String()
23863}
23864
23865// Validate inspects the fields of the type to determine if they are valid.
23866func (s *UpdateDomainNameInput) Validate() error {
23867	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
23868	if s.DomainName == nil {
23869		invalidParams.Add(request.NewErrParamRequired("DomainName"))
23870	}
23871	if s.DomainName != nil && len(*s.DomainName) < 1 {
23872		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
23873	}
23874
23875	if invalidParams.Len() > 0 {
23876		return invalidParams
23877	}
23878	return nil
23879}
23880
23881// SetDomainName sets the DomainName field's value.
23882func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
23883	s.DomainName = &v
23884	return s
23885}
23886
23887// SetPatchOperations sets the PatchOperations field's value.
23888func (s *UpdateDomainNameInput) SetPatchOperations(v []*PatchOperation) *UpdateDomainNameInput {
23889	s.PatchOperations = v
23890	return s
23891}
23892
23893// Updates a GatewayResponse of a specified response type on the given RestApi.
23894type UpdateGatewayResponseInput struct {
23895	_ struct{} `type:"structure"`
23896
23897	// A list of update operations to be applied to the specified resource and in
23898	// the order specified in this list.
23899	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23900
23901	// [Required]
23902	// The response type of the associated GatewayResponse. Valid values are
23903	//    * ACCESS_DENIED
23904	//
23905	//    * API_CONFIGURATION_ERROR
23906	//
23907	//    * AUTHORIZER_FAILURE
23908	//
23909	//    * AUTHORIZER_CONFIGURATION_ERROR
23910	//
23911	//    * BAD_REQUEST_PARAMETERS
23912	//
23913	//    * BAD_REQUEST_BODY
23914	//
23915	//    * DEFAULT_4XX
23916	//
23917	//    * DEFAULT_5XX
23918	//
23919	//    * EXPIRED_TOKEN
23920	//
23921	//    * INVALID_SIGNATURE
23922	//
23923	//    * INTEGRATION_FAILURE
23924	//
23925	//    * INTEGRATION_TIMEOUT
23926	//
23927	//    * INVALID_API_KEY
23928	//
23929	//    * MISSING_AUTHENTICATION_TOKEN
23930	//
23931	//    * QUOTA_EXCEEDED
23932	//
23933	//    * REQUEST_TOO_LARGE
23934	//
23935	//    * RESOURCE_NOT_FOUND
23936	//
23937	//    * THROTTLED
23938	//
23939	//    * UNAUTHORIZED
23940	//
23941	//    * UNSUPPORTED_MEDIA_TYPE
23942	//
23943	// ResponseType is a required field
23944	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
23945
23946	// [Required] The string identifier of the associated RestApi.
23947	//
23948	// RestApiId is a required field
23949	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23950}
23951
23952// String returns the string representation
23953func (s UpdateGatewayResponseInput) String() string {
23954	return awsutil.Prettify(s)
23955}
23956
23957// GoString returns the string representation
23958func (s UpdateGatewayResponseInput) GoString() string {
23959	return s.String()
23960}
23961
23962// Validate inspects the fields of the type to determine if they are valid.
23963func (s *UpdateGatewayResponseInput) Validate() error {
23964	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayResponseInput"}
23965	if s.ResponseType == nil {
23966		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
23967	}
23968	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
23969		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
23970	}
23971	if s.RestApiId == nil {
23972		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23973	}
23974	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23975		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23976	}
23977
23978	if invalidParams.Len() > 0 {
23979		return invalidParams
23980	}
23981	return nil
23982}
23983
23984// SetPatchOperations sets the PatchOperations field's value.
23985func (s *UpdateGatewayResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateGatewayResponseInput {
23986	s.PatchOperations = v
23987	return s
23988}
23989
23990// SetResponseType sets the ResponseType field's value.
23991func (s *UpdateGatewayResponseInput) SetResponseType(v string) *UpdateGatewayResponseInput {
23992	s.ResponseType = &v
23993	return s
23994}
23995
23996// SetRestApiId sets the RestApiId field's value.
23997func (s *UpdateGatewayResponseInput) SetRestApiId(v string) *UpdateGatewayResponseInput {
23998	s.RestApiId = &v
23999	return s
24000}
24001
24002// A gateway response of a given response type and status code, with optional
24003// response parameters and mapping templates.
24004//
24005// For more information about valid gateway response types, see Gateway Response
24006// Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
24007//
24008// Example: Get a Gateway Response of a given response type
24009//
24010// Request
24011//
24012// This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN
24013// type.
24014//  GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1
24015//  Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json
24016//  X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
24017//  SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a
24018//  Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45
24019// The response type is specified as a URL path.
24020//
24021// Response
24022//
24023// The successful operation returns the 200 OK status code and a payload similar
24024// to the following:
24025//  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
24026//  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24027//  }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24028//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
24029//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24030//  } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path":
24031//  "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin":
24032//  "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q",
24033//  "gatewayresponse.header.x-request-header": "method.request.header.Accept"
24034//  }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n
24035//  \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n
24036//  \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n
24037//  \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN",
24038//  "statusCode": "404" }
24039//
24040// Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
24041type UpdateGatewayResponseOutput struct {
24042	_ struct{} `type:"structure"`
24043
24044	// A Boolean flag to indicate whether this GatewayResponse is the default gateway
24045	// response (true) or not (false). A default gateway response is one generated
24046	// by API Gateway without any customization by an API developer.
24047	DefaultResponse *bool `locationName:"defaultResponse" type:"boolean"`
24048
24049	// Response parameters (paths, query strings and headers) of the GatewayResponse
24050	// as a string-to-string map of key-value pairs.
24051	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
24052
24053	// Response templates of the GatewayResponse as a string-to-string map of key-value
24054	// pairs.
24055	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
24056
24057	// The response type of the associated GatewayResponse. Valid values are
24058	//    * ACCESS_DENIED
24059	//
24060	//    * API_CONFIGURATION_ERROR
24061	//
24062	//    * AUTHORIZER_FAILURE
24063	//
24064	//    * AUTHORIZER_CONFIGURATION_ERROR
24065	//
24066	//    * BAD_REQUEST_PARAMETERS
24067	//
24068	//    * BAD_REQUEST_BODY
24069	//
24070	//    * DEFAULT_4XX
24071	//
24072	//    * DEFAULT_5XX
24073	//
24074	//    * EXPIRED_TOKEN
24075	//
24076	//    * INVALID_SIGNATURE
24077	//
24078	//    * INTEGRATION_FAILURE
24079	//
24080	//    * INTEGRATION_TIMEOUT
24081	//
24082	//    * INVALID_API_KEY
24083	//
24084	//    * MISSING_AUTHENTICATION_TOKEN
24085	//
24086	//    * QUOTA_EXCEEDED
24087	//
24088	//    * REQUEST_TOO_LARGE
24089	//
24090	//    * RESOURCE_NOT_FOUND
24091	//
24092	//    * THROTTLED
24093	//
24094	//    * UNAUTHORIZED
24095	//
24096	//    * UNSUPPORTED_MEDIA_TYPE
24097	ResponseType *string `locationName:"responseType" type:"string" enum:"GatewayResponseType"`
24098
24099	// The HTTP status code for this GatewayResponse.
24100	StatusCode *string `locationName:"statusCode" type:"string"`
24101}
24102
24103// String returns the string representation
24104func (s UpdateGatewayResponseOutput) String() string {
24105	return awsutil.Prettify(s)
24106}
24107
24108// GoString returns the string representation
24109func (s UpdateGatewayResponseOutput) GoString() string {
24110	return s.String()
24111}
24112
24113// SetDefaultResponse sets the DefaultResponse field's value.
24114func (s *UpdateGatewayResponseOutput) SetDefaultResponse(v bool) *UpdateGatewayResponseOutput {
24115	s.DefaultResponse = &v
24116	return s
24117}
24118
24119// SetResponseParameters sets the ResponseParameters field's value.
24120func (s *UpdateGatewayResponseOutput) SetResponseParameters(v map[string]*string) *UpdateGatewayResponseOutput {
24121	s.ResponseParameters = v
24122	return s
24123}
24124
24125// SetResponseTemplates sets the ResponseTemplates field's value.
24126func (s *UpdateGatewayResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateGatewayResponseOutput {
24127	s.ResponseTemplates = v
24128	return s
24129}
24130
24131// SetResponseType sets the ResponseType field's value.
24132func (s *UpdateGatewayResponseOutput) SetResponseType(v string) *UpdateGatewayResponseOutput {
24133	s.ResponseType = &v
24134	return s
24135}
24136
24137// SetStatusCode sets the StatusCode field's value.
24138func (s *UpdateGatewayResponseOutput) SetStatusCode(v string) *UpdateGatewayResponseOutput {
24139	s.StatusCode = &v
24140	return s
24141}
24142
24143// Represents an update integration request.
24144type UpdateIntegrationInput struct {
24145	_ struct{} `type:"structure"`
24146
24147	// [Required] Represents an update integration request's HTTP method.
24148	//
24149	// HttpMethod is a required field
24150	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24151
24152	// A list of update operations to be applied to the specified resource and in
24153	// the order specified in this list.
24154	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24155
24156	// [Required] Represents an update integration request's resource identifier.
24157	//
24158	// ResourceId is a required field
24159	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24160
24161	// [Required] The string identifier of the associated RestApi.
24162	//
24163	// RestApiId is a required field
24164	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24165}
24166
24167// String returns the string representation
24168func (s UpdateIntegrationInput) String() string {
24169	return awsutil.Prettify(s)
24170}
24171
24172// GoString returns the string representation
24173func (s UpdateIntegrationInput) GoString() string {
24174	return s.String()
24175}
24176
24177// Validate inspects the fields of the type to determine if they are valid.
24178func (s *UpdateIntegrationInput) Validate() error {
24179	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
24180	if s.HttpMethod == nil {
24181		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24182	}
24183	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24184		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24185	}
24186	if s.ResourceId == nil {
24187		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24188	}
24189	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24190		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24191	}
24192	if s.RestApiId == nil {
24193		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24194	}
24195	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24196		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24197	}
24198
24199	if invalidParams.Len() > 0 {
24200		return invalidParams
24201	}
24202	return nil
24203}
24204
24205// SetHttpMethod sets the HttpMethod field's value.
24206func (s *UpdateIntegrationInput) SetHttpMethod(v string) *UpdateIntegrationInput {
24207	s.HttpMethod = &v
24208	return s
24209}
24210
24211// SetPatchOperations sets the PatchOperations field's value.
24212func (s *UpdateIntegrationInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationInput {
24213	s.PatchOperations = v
24214	return s
24215}
24216
24217// SetResourceId sets the ResourceId field's value.
24218func (s *UpdateIntegrationInput) SetResourceId(v string) *UpdateIntegrationInput {
24219	s.ResourceId = &v
24220	return s
24221}
24222
24223// SetRestApiId sets the RestApiId field's value.
24224func (s *UpdateIntegrationInput) SetRestApiId(v string) *UpdateIntegrationInput {
24225	s.RestApiId = &v
24226	return s
24227}
24228
24229// Represents an update integration response request.
24230type UpdateIntegrationResponseInput struct {
24231	_ struct{} `type:"structure"`
24232
24233	// [Required] Specifies an update integration response request's HTTP method.
24234	//
24235	// HttpMethod is a required field
24236	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24237
24238	// A list of update operations to be applied to the specified resource and in
24239	// the order specified in this list.
24240	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24241
24242	// [Required] Specifies an update integration response request's resource identifier.
24243	//
24244	// ResourceId is a required field
24245	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24246
24247	// [Required] The string identifier of the associated RestApi.
24248	//
24249	// RestApiId is a required field
24250	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24251
24252	// [Required] Specifies an update integration response request's status code.
24253	//
24254	// StatusCode is a required field
24255	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
24256}
24257
24258// String returns the string representation
24259func (s UpdateIntegrationResponseInput) String() string {
24260	return awsutil.Prettify(s)
24261}
24262
24263// GoString returns the string representation
24264func (s UpdateIntegrationResponseInput) GoString() string {
24265	return s.String()
24266}
24267
24268// Validate inspects the fields of the type to determine if they are valid.
24269func (s *UpdateIntegrationResponseInput) Validate() error {
24270	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
24271	if s.HttpMethod == nil {
24272		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24273	}
24274	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24275		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24276	}
24277	if s.ResourceId == nil {
24278		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24279	}
24280	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24281		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24282	}
24283	if s.RestApiId == nil {
24284		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24285	}
24286	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24287		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24288	}
24289	if s.StatusCode == nil {
24290		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
24291	}
24292	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
24293		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
24294	}
24295
24296	if invalidParams.Len() > 0 {
24297		return invalidParams
24298	}
24299	return nil
24300}
24301
24302// SetHttpMethod sets the HttpMethod field's value.
24303func (s *UpdateIntegrationResponseInput) SetHttpMethod(v string) *UpdateIntegrationResponseInput {
24304	s.HttpMethod = &v
24305	return s
24306}
24307
24308// SetPatchOperations sets the PatchOperations field's value.
24309func (s *UpdateIntegrationResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationResponseInput {
24310	s.PatchOperations = v
24311	return s
24312}
24313
24314// SetResourceId sets the ResourceId field's value.
24315func (s *UpdateIntegrationResponseInput) SetResourceId(v string) *UpdateIntegrationResponseInput {
24316	s.ResourceId = &v
24317	return s
24318}
24319
24320// SetRestApiId sets the RestApiId field's value.
24321func (s *UpdateIntegrationResponseInput) SetRestApiId(v string) *UpdateIntegrationResponseInput {
24322	s.RestApiId = &v
24323	return s
24324}
24325
24326// SetStatusCode sets the StatusCode field's value.
24327func (s *UpdateIntegrationResponseInput) SetStatusCode(v string) *UpdateIntegrationResponseInput {
24328	s.StatusCode = &v
24329	return s
24330}
24331
24332// Request to update an existing Method resource.
24333type UpdateMethodInput struct {
24334	_ struct{} `type:"structure"`
24335
24336	// [Required] The HTTP verb of the Method resource.
24337	//
24338	// HttpMethod is a required field
24339	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24340
24341	// A list of update operations to be applied to the specified resource and in
24342	// the order specified in this list.
24343	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24344
24345	// [Required] The Resource identifier for the Method resource.
24346	//
24347	// ResourceId is a required field
24348	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24349
24350	// [Required] The string identifier of the associated RestApi.
24351	//
24352	// RestApiId is a required field
24353	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24354}
24355
24356// String returns the string representation
24357func (s UpdateMethodInput) String() string {
24358	return awsutil.Prettify(s)
24359}
24360
24361// GoString returns the string representation
24362func (s UpdateMethodInput) GoString() string {
24363	return s.String()
24364}
24365
24366// Validate inspects the fields of the type to determine if they are valid.
24367func (s *UpdateMethodInput) Validate() error {
24368	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodInput"}
24369	if s.HttpMethod == nil {
24370		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24371	}
24372	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24373		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24374	}
24375	if s.ResourceId == nil {
24376		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24377	}
24378	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24379		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24380	}
24381	if s.RestApiId == nil {
24382		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24383	}
24384	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24385		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24386	}
24387
24388	if invalidParams.Len() > 0 {
24389		return invalidParams
24390	}
24391	return nil
24392}
24393
24394// SetHttpMethod sets the HttpMethod field's value.
24395func (s *UpdateMethodInput) SetHttpMethod(v string) *UpdateMethodInput {
24396	s.HttpMethod = &v
24397	return s
24398}
24399
24400// SetPatchOperations sets the PatchOperations field's value.
24401func (s *UpdateMethodInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodInput {
24402	s.PatchOperations = v
24403	return s
24404}
24405
24406// SetResourceId sets the ResourceId field's value.
24407func (s *UpdateMethodInput) SetResourceId(v string) *UpdateMethodInput {
24408	s.ResourceId = &v
24409	return s
24410}
24411
24412// SetRestApiId sets the RestApiId field's value.
24413func (s *UpdateMethodInput) SetRestApiId(v string) *UpdateMethodInput {
24414	s.RestApiId = &v
24415	return s
24416}
24417
24418// A request to update an existing MethodResponse resource.
24419type UpdateMethodResponseInput struct {
24420	_ struct{} `type:"structure"`
24421
24422	// [Required] The HTTP verb of the Method resource.
24423	//
24424	// HttpMethod is a required field
24425	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24426
24427	// A list of update operations to be applied to the specified resource and in
24428	// the order specified in this list.
24429	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24430
24431	// [Required] The Resource identifier for the MethodResponse resource.
24432	//
24433	// ResourceId is a required field
24434	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24435
24436	// [Required] The string identifier of the associated RestApi.
24437	//
24438	// RestApiId is a required field
24439	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24440
24441	// [Required] The status code for the MethodResponse resource.
24442	//
24443	// StatusCode is a required field
24444	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
24445}
24446
24447// String returns the string representation
24448func (s UpdateMethodResponseInput) String() string {
24449	return awsutil.Prettify(s)
24450}
24451
24452// GoString returns the string representation
24453func (s UpdateMethodResponseInput) GoString() string {
24454	return s.String()
24455}
24456
24457// Validate inspects the fields of the type to determine if they are valid.
24458func (s *UpdateMethodResponseInput) Validate() error {
24459	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodResponseInput"}
24460	if s.HttpMethod == nil {
24461		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24462	}
24463	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24464		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24465	}
24466	if s.ResourceId == nil {
24467		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24468	}
24469	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24470		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24471	}
24472	if s.RestApiId == nil {
24473		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24474	}
24475	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24476		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24477	}
24478	if s.StatusCode == nil {
24479		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
24480	}
24481	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
24482		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
24483	}
24484
24485	if invalidParams.Len() > 0 {
24486		return invalidParams
24487	}
24488	return nil
24489}
24490
24491// SetHttpMethod sets the HttpMethod field's value.
24492func (s *UpdateMethodResponseInput) SetHttpMethod(v string) *UpdateMethodResponseInput {
24493	s.HttpMethod = &v
24494	return s
24495}
24496
24497// SetPatchOperations sets the PatchOperations field's value.
24498func (s *UpdateMethodResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodResponseInput {
24499	s.PatchOperations = v
24500	return s
24501}
24502
24503// SetResourceId sets the ResourceId field's value.
24504func (s *UpdateMethodResponseInput) SetResourceId(v string) *UpdateMethodResponseInput {
24505	s.ResourceId = &v
24506	return s
24507}
24508
24509// SetRestApiId sets the RestApiId field's value.
24510func (s *UpdateMethodResponseInput) SetRestApiId(v string) *UpdateMethodResponseInput {
24511	s.RestApiId = &v
24512	return s
24513}
24514
24515// SetStatusCode sets the StatusCode field's value.
24516func (s *UpdateMethodResponseInput) SetStatusCode(v string) *UpdateMethodResponseInput {
24517	s.StatusCode = &v
24518	return s
24519}
24520
24521// Request to update an existing model in an existing RestApi resource.
24522type UpdateModelInput struct {
24523	_ struct{} `type:"structure"`
24524
24525	// [Required] The name of the model to update.
24526	//
24527	// ModelName is a required field
24528	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
24529
24530	// A list of update operations to be applied to the specified resource and in
24531	// the order specified in this list.
24532	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24533
24534	// [Required] The string identifier of the associated RestApi.
24535	//
24536	// RestApiId is a required field
24537	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24538}
24539
24540// String returns the string representation
24541func (s UpdateModelInput) String() string {
24542	return awsutil.Prettify(s)
24543}
24544
24545// GoString returns the string representation
24546func (s UpdateModelInput) GoString() string {
24547	return s.String()
24548}
24549
24550// Validate inspects the fields of the type to determine if they are valid.
24551func (s *UpdateModelInput) Validate() error {
24552	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
24553	if s.ModelName == nil {
24554		invalidParams.Add(request.NewErrParamRequired("ModelName"))
24555	}
24556	if s.ModelName != nil && len(*s.ModelName) < 1 {
24557		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
24558	}
24559	if s.RestApiId == nil {
24560		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24561	}
24562	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24563		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24564	}
24565
24566	if invalidParams.Len() > 0 {
24567		return invalidParams
24568	}
24569	return nil
24570}
24571
24572// SetModelName sets the ModelName field's value.
24573func (s *UpdateModelInput) SetModelName(v string) *UpdateModelInput {
24574	s.ModelName = &v
24575	return s
24576}
24577
24578// SetPatchOperations sets the PatchOperations field's value.
24579func (s *UpdateModelInput) SetPatchOperations(v []*PatchOperation) *UpdateModelInput {
24580	s.PatchOperations = v
24581	return s
24582}
24583
24584// SetRestApiId sets the RestApiId field's value.
24585func (s *UpdateModelInput) SetRestApiId(v string) *UpdateModelInput {
24586	s.RestApiId = &v
24587	return s
24588}
24589
24590// Updates a RequestValidator of a given RestApi.
24591type UpdateRequestValidatorInput struct {
24592	_ struct{} `type:"structure"`
24593
24594	// A list of update operations to be applied to the specified resource and in
24595	// the order specified in this list.
24596	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24597
24598	// [Required] The identifier of RequestValidator to be updated.
24599	//
24600	// RequestValidatorId is a required field
24601	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
24602
24603	// [Required] The string identifier of the associated RestApi.
24604	//
24605	// RestApiId is a required field
24606	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24607}
24608
24609// String returns the string representation
24610func (s UpdateRequestValidatorInput) String() string {
24611	return awsutil.Prettify(s)
24612}
24613
24614// GoString returns the string representation
24615func (s UpdateRequestValidatorInput) GoString() string {
24616	return s.String()
24617}
24618
24619// Validate inspects the fields of the type to determine if they are valid.
24620func (s *UpdateRequestValidatorInput) Validate() error {
24621	invalidParams := request.ErrInvalidParams{Context: "UpdateRequestValidatorInput"}
24622	if s.RequestValidatorId == nil {
24623		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
24624	}
24625	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
24626		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
24627	}
24628	if s.RestApiId == nil {
24629		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24630	}
24631	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24632		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24633	}
24634
24635	if invalidParams.Len() > 0 {
24636		return invalidParams
24637	}
24638	return nil
24639}
24640
24641// SetPatchOperations sets the PatchOperations field's value.
24642func (s *UpdateRequestValidatorInput) SetPatchOperations(v []*PatchOperation) *UpdateRequestValidatorInput {
24643	s.PatchOperations = v
24644	return s
24645}
24646
24647// SetRequestValidatorId sets the RequestValidatorId field's value.
24648func (s *UpdateRequestValidatorInput) SetRequestValidatorId(v string) *UpdateRequestValidatorInput {
24649	s.RequestValidatorId = &v
24650	return s
24651}
24652
24653// SetRestApiId sets the RestApiId field's value.
24654func (s *UpdateRequestValidatorInput) SetRestApiId(v string) *UpdateRequestValidatorInput {
24655	s.RestApiId = &v
24656	return s
24657}
24658
24659// A set of validation rules for incoming Method requests.
24660//
24661// In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator
24662// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.requestValidator.html)
24663// object. It the referenced using the x-amazon-apigateway-request-validator
24664// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validator)
24665// property.
24666//
24667// Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
24668type UpdateRequestValidatorOutput struct {
24669	_ struct{} `type:"structure"`
24670
24671	// The identifier of this RequestValidator.
24672	Id *string `locationName:"id" type:"string"`
24673
24674	// The name of this RequestValidator
24675	Name *string `locationName:"name" type:"string"`
24676
24677	// A Boolean flag to indicate whether to validate a request body according to
24678	// the configured Model schema.
24679	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
24680
24681	// A Boolean flag to indicate whether to validate request parameters (true)
24682	// or not (false).
24683	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
24684}
24685
24686// String returns the string representation
24687func (s UpdateRequestValidatorOutput) String() string {
24688	return awsutil.Prettify(s)
24689}
24690
24691// GoString returns the string representation
24692func (s UpdateRequestValidatorOutput) GoString() string {
24693	return s.String()
24694}
24695
24696// SetId sets the Id field's value.
24697func (s *UpdateRequestValidatorOutput) SetId(v string) *UpdateRequestValidatorOutput {
24698	s.Id = &v
24699	return s
24700}
24701
24702// SetName sets the Name field's value.
24703func (s *UpdateRequestValidatorOutput) SetName(v string) *UpdateRequestValidatorOutput {
24704	s.Name = &v
24705	return s
24706}
24707
24708// SetValidateRequestBody sets the ValidateRequestBody field's value.
24709func (s *UpdateRequestValidatorOutput) SetValidateRequestBody(v bool) *UpdateRequestValidatorOutput {
24710	s.ValidateRequestBody = &v
24711	return s
24712}
24713
24714// SetValidateRequestParameters sets the ValidateRequestParameters field's value.
24715func (s *UpdateRequestValidatorOutput) SetValidateRequestParameters(v bool) *UpdateRequestValidatorOutput {
24716	s.ValidateRequestParameters = &v
24717	return s
24718}
24719
24720// Request to change information about a Resource resource.
24721type UpdateResourceInput struct {
24722	_ struct{} `type:"structure"`
24723
24724	// A list of update operations to be applied to the specified resource and in
24725	// the order specified in this list.
24726	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24727
24728	// [Required] The identifier of the Resource resource.
24729	//
24730	// ResourceId is a required field
24731	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24732
24733	// [Required] The string identifier of the associated RestApi.
24734	//
24735	// RestApiId is a required field
24736	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24737}
24738
24739// String returns the string representation
24740func (s UpdateResourceInput) String() string {
24741	return awsutil.Prettify(s)
24742}
24743
24744// GoString returns the string representation
24745func (s UpdateResourceInput) GoString() string {
24746	return s.String()
24747}
24748
24749// Validate inspects the fields of the type to determine if they are valid.
24750func (s *UpdateResourceInput) Validate() error {
24751	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"}
24752	if s.ResourceId == nil {
24753		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24754	}
24755	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24756		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24757	}
24758	if s.RestApiId == nil {
24759		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24760	}
24761	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24762		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24763	}
24764
24765	if invalidParams.Len() > 0 {
24766		return invalidParams
24767	}
24768	return nil
24769}
24770
24771// SetPatchOperations sets the PatchOperations field's value.
24772func (s *UpdateResourceInput) SetPatchOperations(v []*PatchOperation) *UpdateResourceInput {
24773	s.PatchOperations = v
24774	return s
24775}
24776
24777// SetResourceId sets the ResourceId field's value.
24778func (s *UpdateResourceInput) SetResourceId(v string) *UpdateResourceInput {
24779	s.ResourceId = &v
24780	return s
24781}
24782
24783// SetRestApiId sets the RestApiId field's value.
24784func (s *UpdateResourceInput) SetRestApiId(v string) *UpdateResourceInput {
24785	s.RestApiId = &v
24786	return s
24787}
24788
24789// Request to update an existing RestApi resource in your collection.
24790type UpdateRestApiInput struct {
24791	_ struct{} `type:"structure"`
24792
24793	// A list of update operations to be applied to the specified resource and in
24794	// the order specified in this list.
24795	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24796
24797	// [Required] The string identifier of the associated RestApi.
24798	//
24799	// RestApiId is a required field
24800	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24801}
24802
24803// String returns the string representation
24804func (s UpdateRestApiInput) String() string {
24805	return awsutil.Prettify(s)
24806}
24807
24808// GoString returns the string representation
24809func (s UpdateRestApiInput) GoString() string {
24810	return s.String()
24811}
24812
24813// Validate inspects the fields of the type to determine if they are valid.
24814func (s *UpdateRestApiInput) Validate() error {
24815	invalidParams := request.ErrInvalidParams{Context: "UpdateRestApiInput"}
24816	if s.RestApiId == nil {
24817		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24818	}
24819	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24820		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24821	}
24822
24823	if invalidParams.Len() > 0 {
24824		return invalidParams
24825	}
24826	return nil
24827}
24828
24829// SetPatchOperations sets the PatchOperations field's value.
24830func (s *UpdateRestApiInput) SetPatchOperations(v []*PatchOperation) *UpdateRestApiInput {
24831	s.PatchOperations = v
24832	return s
24833}
24834
24835// SetRestApiId sets the RestApiId field's value.
24836func (s *UpdateRestApiInput) SetRestApiId(v string) *UpdateRestApiInput {
24837	s.RestApiId = &v
24838	return s
24839}
24840
24841// Requests API Gateway to change information about a Stage resource.
24842type UpdateStageInput struct {
24843	_ struct{} `type:"structure"`
24844
24845	// A list of update operations to be applied to the specified resource and in
24846	// the order specified in this list.
24847	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24848
24849	// [Required] The string identifier of the associated RestApi.
24850	//
24851	// RestApiId is a required field
24852	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24853
24854	// [Required] The name of the Stage resource to change information about.
24855	//
24856	// StageName is a required field
24857	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
24858}
24859
24860// String returns the string representation
24861func (s UpdateStageInput) String() string {
24862	return awsutil.Prettify(s)
24863}
24864
24865// GoString returns the string representation
24866func (s UpdateStageInput) GoString() string {
24867	return s.String()
24868}
24869
24870// Validate inspects the fields of the type to determine if they are valid.
24871func (s *UpdateStageInput) Validate() error {
24872	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
24873	if s.RestApiId == nil {
24874		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24875	}
24876	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24877		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24878	}
24879	if s.StageName == nil {
24880		invalidParams.Add(request.NewErrParamRequired("StageName"))
24881	}
24882	if s.StageName != nil && len(*s.StageName) < 1 {
24883		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
24884	}
24885
24886	if invalidParams.Len() > 0 {
24887		return invalidParams
24888	}
24889	return nil
24890}
24891
24892// SetPatchOperations sets the PatchOperations field's value.
24893func (s *UpdateStageInput) SetPatchOperations(v []*PatchOperation) *UpdateStageInput {
24894	s.PatchOperations = v
24895	return s
24896}
24897
24898// SetRestApiId sets the RestApiId field's value.
24899func (s *UpdateStageInput) SetRestApiId(v string) *UpdateStageInput {
24900	s.RestApiId = &v
24901	return s
24902}
24903
24904// SetStageName sets the StageName field's value.
24905func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
24906	s.StageName = &v
24907	return s
24908}
24909
24910// The PATCH request to grant a temporary extension to the remaining quota of
24911// a usage plan associated with a specified API key.
24912type UpdateUsageInput struct {
24913	_ struct{} `type:"structure"`
24914
24915	// [Required] The identifier of the API key associated with the usage plan in
24916	// which a temporary extension is granted to the remaining quota.
24917	//
24918	// KeyId is a required field
24919	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
24920
24921	// A list of update operations to be applied to the specified resource and in
24922	// the order specified in this list.
24923	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24924
24925	// [Required] The Id of the usage plan associated with the usage data.
24926	//
24927	// UsagePlanId is a required field
24928	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
24929}
24930
24931// String returns the string representation
24932func (s UpdateUsageInput) String() string {
24933	return awsutil.Prettify(s)
24934}
24935
24936// GoString returns the string representation
24937func (s UpdateUsageInput) GoString() string {
24938	return s.String()
24939}
24940
24941// Validate inspects the fields of the type to determine if they are valid.
24942func (s *UpdateUsageInput) Validate() error {
24943	invalidParams := request.ErrInvalidParams{Context: "UpdateUsageInput"}
24944	if s.KeyId == nil {
24945		invalidParams.Add(request.NewErrParamRequired("KeyId"))
24946	}
24947	if s.KeyId != nil && len(*s.KeyId) < 1 {
24948		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
24949	}
24950	if s.UsagePlanId == nil {
24951		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
24952	}
24953	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
24954		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
24955	}
24956
24957	if invalidParams.Len() > 0 {
24958		return invalidParams
24959	}
24960	return nil
24961}
24962
24963// SetKeyId sets the KeyId field's value.
24964func (s *UpdateUsageInput) SetKeyId(v string) *UpdateUsageInput {
24965	s.KeyId = &v
24966	return s
24967}
24968
24969// SetPatchOperations sets the PatchOperations field's value.
24970func (s *UpdateUsageInput) SetPatchOperations(v []*PatchOperation) *UpdateUsageInput {
24971	s.PatchOperations = v
24972	return s
24973}
24974
24975// SetUsagePlanId sets the UsagePlanId field's value.
24976func (s *UpdateUsageInput) SetUsagePlanId(v string) *UpdateUsageInput {
24977	s.UsagePlanId = &v
24978	return s
24979}
24980
24981// The PATCH request to update a usage plan of a given plan Id.
24982type UpdateUsagePlanInput struct {
24983	_ struct{} `type:"structure"`
24984
24985	// A list of update operations to be applied to the specified resource and in
24986	// the order specified in this list.
24987	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24988
24989	// [Required] The Id of the to-be-updated usage plan.
24990	//
24991	// UsagePlanId is a required field
24992	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
24993}
24994
24995// String returns the string representation
24996func (s UpdateUsagePlanInput) String() string {
24997	return awsutil.Prettify(s)
24998}
24999
25000// GoString returns the string representation
25001func (s UpdateUsagePlanInput) GoString() string {
25002	return s.String()
25003}
25004
25005// Validate inspects the fields of the type to determine if they are valid.
25006func (s *UpdateUsagePlanInput) Validate() error {
25007	invalidParams := request.ErrInvalidParams{Context: "UpdateUsagePlanInput"}
25008	if s.UsagePlanId == nil {
25009		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
25010	}
25011	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
25012		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
25013	}
25014
25015	if invalidParams.Len() > 0 {
25016		return invalidParams
25017	}
25018	return nil
25019}
25020
25021// SetPatchOperations sets the PatchOperations field's value.
25022func (s *UpdateUsagePlanInput) SetPatchOperations(v []*PatchOperation) *UpdateUsagePlanInput {
25023	s.PatchOperations = v
25024	return s
25025}
25026
25027// SetUsagePlanId sets the UsagePlanId field's value.
25028func (s *UpdateUsagePlanInput) SetUsagePlanId(v string) *UpdateUsagePlanInput {
25029	s.UsagePlanId = &v
25030	return s
25031}
25032
25033// Updates an existing VpcLink of a specified identifier.
25034type UpdateVpcLinkInput struct {
25035	_ struct{} `type:"structure"`
25036
25037	// A list of update operations to be applied to the specified resource and in
25038	// the order specified in this list.
25039	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
25040
25041	// [Required] The identifier of the VpcLink. It is used in an Integration to
25042	// reference this VpcLink.
25043	//
25044	// VpcLinkId is a required field
25045	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
25046}
25047
25048// String returns the string representation
25049func (s UpdateVpcLinkInput) String() string {
25050	return awsutil.Prettify(s)
25051}
25052
25053// GoString returns the string representation
25054func (s UpdateVpcLinkInput) GoString() string {
25055	return s.String()
25056}
25057
25058// Validate inspects the fields of the type to determine if they are valid.
25059func (s *UpdateVpcLinkInput) Validate() error {
25060	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
25061	if s.VpcLinkId == nil {
25062		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
25063	}
25064	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
25065		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
25066	}
25067
25068	if invalidParams.Len() > 0 {
25069		return invalidParams
25070	}
25071	return nil
25072}
25073
25074// SetPatchOperations sets the PatchOperations field's value.
25075func (s *UpdateVpcLinkInput) SetPatchOperations(v []*PatchOperation) *UpdateVpcLinkInput {
25076	s.PatchOperations = v
25077	return s
25078}
25079
25080// SetVpcLinkId sets the VpcLinkId field's value.
25081func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
25082	s.VpcLinkId = &v
25083	return s
25084}
25085
25086// A API Gateway VPC link for a RestApi to access resources in an Amazon Virtual
25087// Private Cloud (VPC).
25088//
25089// To enable access to a resource in an Amazon Virtual Private Cloud through
25090// Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted
25091// for one or more network load balancers of the VPC and then integrate an API
25092// method with a private integration that uses the VpcLink. The private integration
25093// has an integration type of HTTP or HTTP_PROXY and has a connection type of
25094// VPC_LINK. The integration uses the connectionId property to identify the
25095// VpcLink used.
25096type UpdateVpcLinkOutput struct {
25097	_ struct{} `type:"structure"`
25098
25099	// The description of the VPC link.
25100	Description *string `locationName:"description" type:"string"`
25101
25102	// The identifier of the VpcLink. It is used in an Integration to reference
25103	// this VpcLink.
25104	Id *string `locationName:"id" type:"string"`
25105
25106	// The name used to label and identify the VPC link.
25107	Name *string `locationName:"name" type:"string"`
25108
25109	// The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING,
25110	// or FAILED. Deploying an API will wait if the status is PENDING and will fail
25111	// if the status is DELETING.
25112	Status *string `locationName:"status" type:"string" enum:"VpcLinkStatus"`
25113
25114	// A description about the VPC link status.
25115	StatusMessage *string `locationName:"statusMessage" type:"string"`
25116
25117	// The collection of tags. Each tag element is associated with a given resource.
25118	Tags map[string]*string `locationName:"tags" type:"map"`
25119
25120	// The ARNs of network load balancers of the VPC targeted by the VPC link. The
25121	// network load balancers must be owned by the same AWS account of the API owner.
25122	TargetArns []*string `locationName:"targetArns" type:"list"`
25123}
25124
25125// String returns the string representation
25126func (s UpdateVpcLinkOutput) String() string {
25127	return awsutil.Prettify(s)
25128}
25129
25130// GoString returns the string representation
25131func (s UpdateVpcLinkOutput) GoString() string {
25132	return s.String()
25133}
25134
25135// SetDescription sets the Description field's value.
25136func (s *UpdateVpcLinkOutput) SetDescription(v string) *UpdateVpcLinkOutput {
25137	s.Description = &v
25138	return s
25139}
25140
25141// SetId sets the Id field's value.
25142func (s *UpdateVpcLinkOutput) SetId(v string) *UpdateVpcLinkOutput {
25143	s.Id = &v
25144	return s
25145}
25146
25147// SetName sets the Name field's value.
25148func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
25149	s.Name = &v
25150	return s
25151}
25152
25153// SetStatus sets the Status field's value.
25154func (s *UpdateVpcLinkOutput) SetStatus(v string) *UpdateVpcLinkOutput {
25155	s.Status = &v
25156	return s
25157}
25158
25159// SetStatusMessage sets the StatusMessage field's value.
25160func (s *UpdateVpcLinkOutput) SetStatusMessage(v string) *UpdateVpcLinkOutput {
25161	s.StatusMessage = &v
25162	return s
25163}
25164
25165// SetTags sets the Tags field's value.
25166func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
25167	s.Tags = v
25168	return s
25169}
25170
25171// SetTargetArns sets the TargetArns field's value.
25172func (s *UpdateVpcLinkOutput) SetTargetArns(v []*string) *UpdateVpcLinkOutput {
25173	s.TargetArns = v
25174	return s
25175}
25176
25177// Represents the usage data of a usage plan.
25178//
25179// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html),
25180// Manage Usage in a Usage Plan (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-usage-plans-with-console.html#api-gateway-usage-plan-manage-usage)
25181type Usage struct {
25182	_ struct{} `type:"structure"`
25183
25184	// The ending date of the usage data.
25185	EndDate *string `locationName:"endDate" type:"string"`
25186
25187	// The usage data, as daily logs of used and remaining quotas, over the specified
25188	// time interval indexed over the API keys in a usage plan. For example, {...,
25189	// "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key}
25190	// stands for an API key value and the daily log entry is of the format [used
25191	// quota, remaining quota].
25192	Items map[string][][]*int64 `locationName:"values" type:"map"`
25193
25194	Position *string `locationName:"position" type:"string"`
25195
25196	// The starting date of the usage data.
25197	StartDate *string `locationName:"startDate" type:"string"`
25198
25199	// The plan Id associated with this usage data.
25200	UsagePlanId *string `locationName:"usagePlanId" type:"string"`
25201}
25202
25203// String returns the string representation
25204func (s Usage) String() string {
25205	return awsutil.Prettify(s)
25206}
25207
25208// GoString returns the string representation
25209func (s Usage) GoString() string {
25210	return s.String()
25211}
25212
25213// SetEndDate sets the EndDate field's value.
25214func (s *Usage) SetEndDate(v string) *Usage {
25215	s.EndDate = &v
25216	return s
25217}
25218
25219// SetItems sets the Items field's value.
25220func (s *Usage) SetItems(v map[string][][]*int64) *Usage {
25221	s.Items = v
25222	return s
25223}
25224
25225// SetPosition sets the Position field's value.
25226func (s *Usage) SetPosition(v string) *Usage {
25227	s.Position = &v
25228	return s
25229}
25230
25231// SetStartDate sets the StartDate field's value.
25232func (s *Usage) SetStartDate(v string) *Usage {
25233	s.StartDate = &v
25234	return s
25235}
25236
25237// SetUsagePlanId sets the UsagePlanId field's value.
25238func (s *Usage) SetUsagePlanId(v string) *Usage {
25239	s.UsagePlanId = &v
25240	return s
25241}
25242
25243// Represents a usage plan than can specify who can assess associated API stages
25244// with specified request limits and quotas.
25245//
25246// In a usage plan, you associate an API by specifying the API's Id and a stage
25247// name of the specified API. You add plan customers by adding API keys to the
25248// plan.
25249//
25250// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
25251type UsagePlan struct {
25252	_ struct{} `type:"structure"`
25253
25254	// The associated API stages of a usage plan.
25255	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
25256
25257	// The description of a usage plan.
25258	Description *string `locationName:"description" type:"string"`
25259
25260	// The identifier of a UsagePlan resource.
25261	Id *string `locationName:"id" type:"string"`
25262
25263	// The name of a usage plan.
25264	Name *string `locationName:"name" type:"string"`
25265
25266	// The AWS Markeplace product identifier to associate with the usage plan as
25267	// a SaaS product on AWS Marketplace.
25268	ProductCode *string `locationName:"productCode" type:"string"`
25269
25270	// The maximum number of permitted requests per a given unit time interval.
25271	Quota *QuotaSettings `locationName:"quota" type:"structure"`
25272
25273	// The collection of tags. Each tag element is associated with a given resource.
25274	Tags map[string]*string `locationName:"tags" type:"map"`
25275
25276	// The request throttle limits of a usage plan.
25277	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
25278}
25279
25280// String returns the string representation
25281func (s UsagePlan) String() string {
25282	return awsutil.Prettify(s)
25283}
25284
25285// GoString returns the string representation
25286func (s UsagePlan) GoString() string {
25287	return s.String()
25288}
25289
25290// SetApiStages sets the ApiStages field's value.
25291func (s *UsagePlan) SetApiStages(v []*ApiStage) *UsagePlan {
25292	s.ApiStages = v
25293	return s
25294}
25295
25296// SetDescription sets the Description field's value.
25297func (s *UsagePlan) SetDescription(v string) *UsagePlan {
25298	s.Description = &v
25299	return s
25300}
25301
25302// SetId sets the Id field's value.
25303func (s *UsagePlan) SetId(v string) *UsagePlan {
25304	s.Id = &v
25305	return s
25306}
25307
25308// SetName sets the Name field's value.
25309func (s *UsagePlan) SetName(v string) *UsagePlan {
25310	s.Name = &v
25311	return s
25312}
25313
25314// SetProductCode sets the ProductCode field's value.
25315func (s *UsagePlan) SetProductCode(v string) *UsagePlan {
25316	s.ProductCode = &v
25317	return s
25318}
25319
25320// SetQuota sets the Quota field's value.
25321func (s *UsagePlan) SetQuota(v *QuotaSettings) *UsagePlan {
25322	s.Quota = v
25323	return s
25324}
25325
25326// SetTags sets the Tags field's value.
25327func (s *UsagePlan) SetTags(v map[string]*string) *UsagePlan {
25328	s.Tags = v
25329	return s
25330}
25331
25332// SetThrottle sets the Throttle field's value.
25333func (s *UsagePlan) SetThrottle(v *ThrottleSettings) *UsagePlan {
25334	s.Throttle = v
25335	return s
25336}
25337
25338// Represents a usage plan key to identify a plan customer.
25339//
25340// To associate an API stage with a selected API key in a usage plan, you must
25341// create a UsagePlanKey resource to represent the selected ApiKey.
25342//
25343// "
25344// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
25345type UsagePlanKey struct {
25346	_ struct{} `type:"structure"`
25347
25348	// The Id of a usage plan key.
25349	Id *string `locationName:"id" type:"string"`
25350
25351	// The name of a usage plan key.
25352	Name *string `locationName:"name" type:"string"`
25353
25354	// The type of a usage plan key. Currently, the valid key type is API_KEY.
25355	Type *string `locationName:"type" type:"string"`
25356
25357	// The value of a usage plan key.
25358	Value *string `locationName:"value" type:"string"`
25359}
25360
25361// String returns the string representation
25362func (s UsagePlanKey) String() string {
25363	return awsutil.Prettify(s)
25364}
25365
25366// GoString returns the string representation
25367func (s UsagePlanKey) GoString() string {
25368	return s.String()
25369}
25370
25371// SetId sets the Id field's value.
25372func (s *UsagePlanKey) SetId(v string) *UsagePlanKey {
25373	s.Id = &v
25374	return s
25375}
25376
25377// SetName sets the Name field's value.
25378func (s *UsagePlanKey) SetName(v string) *UsagePlanKey {
25379	s.Name = &v
25380	return s
25381}
25382
25383// SetType sets the Type field's value.
25384func (s *UsagePlanKey) SetType(v string) *UsagePlanKey {
25385	s.Type = &v
25386	return s
25387}
25388
25389// SetValue sets the Value field's value.
25390func (s *UsagePlanKey) SetValue(v string) *UsagePlanKey {
25391	s.Value = &v
25392	return s
25393}
25394
25395const (
25396	// ApiKeySourceTypeHeader is a ApiKeySourceType enum value
25397	ApiKeySourceTypeHeader = "HEADER"
25398
25399	// ApiKeySourceTypeAuthorizer is a ApiKeySourceType enum value
25400	ApiKeySourceTypeAuthorizer = "AUTHORIZER"
25401)
25402
25403const (
25404	// ApiKeysFormatCsv is a ApiKeysFormat enum value
25405	ApiKeysFormatCsv = "csv"
25406)
25407
25408// The authorizer type. Valid values are TOKEN for a Lambda function using a
25409// single authorization token submitted in a custom header, REQUEST for a Lambda
25410// function using incoming request parameters, and COGNITO_USER_POOLS for using
25411// an Amazon Cognito user pool.
25412const (
25413	// AuthorizerTypeToken is a AuthorizerType enum value
25414	AuthorizerTypeToken = "TOKEN"
25415
25416	// AuthorizerTypeRequest is a AuthorizerType enum value
25417	AuthorizerTypeRequest = "REQUEST"
25418
25419	// AuthorizerTypeCognitoUserPools is a AuthorizerType enum value
25420	AuthorizerTypeCognitoUserPools = "COGNITO_USER_POOLS"
25421)
25422
25423// Returns the size of the CacheCluster.
25424const (
25425	// CacheClusterSize05 is a CacheClusterSize enum value
25426	CacheClusterSize05 = "0.5"
25427
25428	// CacheClusterSize16 is a CacheClusterSize enum value
25429	CacheClusterSize16 = "1.6"
25430
25431	// CacheClusterSize61 is a CacheClusterSize enum value
25432	CacheClusterSize61 = "6.1"
25433
25434	// CacheClusterSize135 is a CacheClusterSize enum value
25435	CacheClusterSize135 = "13.5"
25436
25437	// CacheClusterSize284 is a CacheClusterSize enum value
25438	CacheClusterSize284 = "28.4"
25439
25440	// CacheClusterSize582 is a CacheClusterSize enum value
25441	CacheClusterSize582 = "58.2"
25442
25443	// CacheClusterSize118 is a CacheClusterSize enum value
25444	CacheClusterSize118 = "118"
25445
25446	// CacheClusterSize237 is a CacheClusterSize enum value
25447	CacheClusterSize237 = "237"
25448)
25449
25450// Returns the status of the CacheCluster.
25451const (
25452	// CacheClusterStatusCreateInProgress is a CacheClusterStatus enum value
25453	CacheClusterStatusCreateInProgress = "CREATE_IN_PROGRESS"
25454
25455	// CacheClusterStatusAvailable is a CacheClusterStatus enum value
25456	CacheClusterStatusAvailable = "AVAILABLE"
25457
25458	// CacheClusterStatusDeleteInProgress is a CacheClusterStatus enum value
25459	CacheClusterStatusDeleteInProgress = "DELETE_IN_PROGRESS"
25460
25461	// CacheClusterStatusNotAvailable is a CacheClusterStatus enum value
25462	CacheClusterStatusNotAvailable = "NOT_AVAILABLE"
25463
25464	// CacheClusterStatusFlushInProgress is a CacheClusterStatus enum value
25465	CacheClusterStatusFlushInProgress = "FLUSH_IN_PROGRESS"
25466)
25467
25468const (
25469	// ConnectionTypeInternet is a ConnectionType enum value
25470	ConnectionTypeInternet = "INTERNET"
25471
25472	// ConnectionTypeVpcLink is a ConnectionType enum value
25473	ConnectionTypeVpcLink = "VPC_LINK"
25474)
25475
25476const (
25477	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
25478	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
25479
25480	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
25481	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
25482)
25483
25484const (
25485	// DocumentationPartTypeApi is a DocumentationPartType enum value
25486	DocumentationPartTypeApi = "API"
25487
25488	// DocumentationPartTypeAuthorizer is a DocumentationPartType enum value
25489	DocumentationPartTypeAuthorizer = "AUTHORIZER"
25490
25491	// DocumentationPartTypeModel is a DocumentationPartType enum value
25492	DocumentationPartTypeModel = "MODEL"
25493
25494	// DocumentationPartTypeResource is a DocumentationPartType enum value
25495	DocumentationPartTypeResource = "RESOURCE"
25496
25497	// DocumentationPartTypeMethod is a DocumentationPartType enum value
25498	DocumentationPartTypeMethod = "METHOD"
25499
25500	// DocumentationPartTypePathParameter is a DocumentationPartType enum value
25501	DocumentationPartTypePathParameter = "PATH_PARAMETER"
25502
25503	// DocumentationPartTypeQueryParameter is a DocumentationPartType enum value
25504	DocumentationPartTypeQueryParameter = "QUERY_PARAMETER"
25505
25506	// DocumentationPartTypeRequestHeader is a DocumentationPartType enum value
25507	DocumentationPartTypeRequestHeader = "REQUEST_HEADER"
25508
25509	// DocumentationPartTypeRequestBody is a DocumentationPartType enum value
25510	DocumentationPartTypeRequestBody = "REQUEST_BODY"
25511
25512	// DocumentationPartTypeResponse is a DocumentationPartType enum value
25513	DocumentationPartTypeResponse = "RESPONSE"
25514
25515	// DocumentationPartTypeResponseHeader is a DocumentationPartType enum value
25516	DocumentationPartTypeResponseHeader = "RESPONSE_HEADER"
25517
25518	// DocumentationPartTypeResponseBody is a DocumentationPartType enum value
25519	DocumentationPartTypeResponseBody = "RESPONSE_BODY"
25520)
25521
25522const (
25523	// DomainNameStatusAvailable is a DomainNameStatus enum value
25524	DomainNameStatusAvailable = "AVAILABLE"
25525
25526	// DomainNameStatusUpdating is a DomainNameStatus enum value
25527	DomainNameStatusUpdating = "UPDATING"
25528
25529	// DomainNameStatusPending is a DomainNameStatus enum value
25530	DomainNameStatusPending = "PENDING"
25531)
25532
25533// The endpoint type. The valid values are EDGE for edge-optimized API setup,
25534// most suitable for mobile applications; REGIONAL for regional API endpoint
25535// setup, most suitable for calling from AWS Region; and PRIVATE for private
25536// APIs.
25537const (
25538	// EndpointTypeRegional is a EndpointType enum value
25539	EndpointTypeRegional = "REGIONAL"
25540
25541	// EndpointTypeEdge is a EndpointType enum value
25542	EndpointTypeEdge = "EDGE"
25543
25544	// EndpointTypePrivate is a EndpointType enum value
25545	EndpointTypePrivate = "PRIVATE"
25546)
25547
25548const (
25549	// GatewayResponseTypeDefault4xx is a GatewayResponseType enum value
25550	GatewayResponseTypeDefault4xx = "DEFAULT_4XX"
25551
25552	// GatewayResponseTypeDefault5xx is a GatewayResponseType enum value
25553	GatewayResponseTypeDefault5xx = "DEFAULT_5XX"
25554
25555	// GatewayResponseTypeResourceNotFound is a GatewayResponseType enum value
25556	GatewayResponseTypeResourceNotFound = "RESOURCE_NOT_FOUND"
25557
25558	// GatewayResponseTypeUnauthorized is a GatewayResponseType enum value
25559	GatewayResponseTypeUnauthorized = "UNAUTHORIZED"
25560
25561	// GatewayResponseTypeInvalidApiKey is a GatewayResponseType enum value
25562	GatewayResponseTypeInvalidApiKey = "INVALID_API_KEY"
25563
25564	// GatewayResponseTypeAccessDenied is a GatewayResponseType enum value
25565	GatewayResponseTypeAccessDenied = "ACCESS_DENIED"
25566
25567	// GatewayResponseTypeAuthorizerFailure is a GatewayResponseType enum value
25568	GatewayResponseTypeAuthorizerFailure = "AUTHORIZER_FAILURE"
25569
25570	// GatewayResponseTypeAuthorizerConfigurationError is a GatewayResponseType enum value
25571	GatewayResponseTypeAuthorizerConfigurationError = "AUTHORIZER_CONFIGURATION_ERROR"
25572
25573	// GatewayResponseTypeInvalidSignature is a GatewayResponseType enum value
25574	GatewayResponseTypeInvalidSignature = "INVALID_SIGNATURE"
25575
25576	// GatewayResponseTypeExpiredToken is a GatewayResponseType enum value
25577	GatewayResponseTypeExpiredToken = "EXPIRED_TOKEN"
25578
25579	// GatewayResponseTypeMissingAuthenticationToken is a GatewayResponseType enum value
25580	GatewayResponseTypeMissingAuthenticationToken = "MISSING_AUTHENTICATION_TOKEN"
25581
25582	// GatewayResponseTypeIntegrationFailure is a GatewayResponseType enum value
25583	GatewayResponseTypeIntegrationFailure = "INTEGRATION_FAILURE"
25584
25585	// GatewayResponseTypeIntegrationTimeout is a GatewayResponseType enum value
25586	GatewayResponseTypeIntegrationTimeout = "INTEGRATION_TIMEOUT"
25587
25588	// GatewayResponseTypeApiConfigurationError is a GatewayResponseType enum value
25589	GatewayResponseTypeApiConfigurationError = "API_CONFIGURATION_ERROR"
25590
25591	// GatewayResponseTypeUnsupportedMediaType is a GatewayResponseType enum value
25592	GatewayResponseTypeUnsupportedMediaType = "UNSUPPORTED_MEDIA_TYPE"
25593
25594	// GatewayResponseTypeBadRequestParameters is a GatewayResponseType enum value
25595	GatewayResponseTypeBadRequestParameters = "BAD_REQUEST_PARAMETERS"
25596
25597	// GatewayResponseTypeBadRequestBody is a GatewayResponseType enum value
25598	GatewayResponseTypeBadRequestBody = "BAD_REQUEST_BODY"
25599
25600	// GatewayResponseTypeRequestTooLarge is a GatewayResponseType enum value
25601	GatewayResponseTypeRequestTooLarge = "REQUEST_TOO_LARGE"
25602
25603	// GatewayResponseTypeThrottled is a GatewayResponseType enum value
25604	GatewayResponseTypeThrottled = "THROTTLED"
25605
25606	// GatewayResponseTypeQuotaExceeded is a GatewayResponseType enum value
25607	GatewayResponseTypeQuotaExceeded = "QUOTA_EXCEEDED"
25608)
25609
25610// The integration type. The valid value is HTTP for integrating an API method
25611// with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing
25612// without actually invoking the backend; HTTP_PROXY for integrating with the
25613// HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.
25614const (
25615	// IntegrationTypeHttp is a IntegrationType enum value
25616	IntegrationTypeHttp = "HTTP"
25617
25618	// IntegrationTypeAws is a IntegrationType enum value
25619	IntegrationTypeAws = "AWS"
25620
25621	// IntegrationTypeMock is a IntegrationType enum value
25622	IntegrationTypeMock = "MOCK"
25623
25624	// IntegrationTypeHttpProxy is a IntegrationType enum value
25625	IntegrationTypeHttpProxy = "HTTP_PROXY"
25626
25627	// IntegrationTypeAwsProxy is a IntegrationType enum value
25628	IntegrationTypeAwsProxy = "AWS_PROXY"
25629)
25630
25631const (
25632	// LocationStatusTypeDocumented is a LocationStatusType enum value
25633	LocationStatusTypeDocumented = "DOCUMENTED"
25634
25635	// LocationStatusTypeUndocumented is a LocationStatusType enum value
25636	LocationStatusTypeUndocumented = "UNDOCUMENTED"
25637)
25638
25639const (
25640	// OpAdd is a Op enum value
25641	OpAdd = "add"
25642
25643	// OpRemove is a Op enum value
25644	OpRemove = "remove"
25645
25646	// OpReplace is a Op enum value
25647	OpReplace = "replace"
25648
25649	// OpMove is a Op enum value
25650	OpMove = "move"
25651
25652	// OpCopy is a Op enum value
25653	OpCopy = "copy"
25654
25655	// OpTest is a Op enum value
25656	OpTest = "test"
25657)
25658
25659const (
25660	// PutModeMerge is a PutMode enum value
25661	PutModeMerge = "merge"
25662
25663	// PutModeOverwrite is a PutMode enum value
25664	PutModeOverwrite = "overwrite"
25665)
25666
25667const (
25668	// QuotaPeriodTypeDay is a QuotaPeriodType enum value
25669	QuotaPeriodTypeDay = "DAY"
25670
25671	// QuotaPeriodTypeWeek is a QuotaPeriodType enum value
25672	QuotaPeriodTypeWeek = "WEEK"
25673
25674	// QuotaPeriodTypeMonth is a QuotaPeriodType enum value
25675	QuotaPeriodTypeMonth = "MONTH"
25676)
25677
25678const (
25679	// SecurityPolicyTls10 is a SecurityPolicy enum value
25680	SecurityPolicyTls10 = "TLS_1_0"
25681
25682	// SecurityPolicyTls12 is a SecurityPolicy enum value
25683	SecurityPolicyTls12 = "TLS_1_2"
25684)
25685
25686const (
25687	// UnauthorizedCacheControlHeaderStrategyFailWith403 is a UnauthorizedCacheControlHeaderStrategy enum value
25688	UnauthorizedCacheControlHeaderStrategyFailWith403 = "FAIL_WITH_403"
25689
25690	// UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
25691	UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader = "SUCCEED_WITH_RESPONSE_HEADER"
25692
25693	// UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
25694	UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader = "SUCCEED_WITHOUT_RESPONSE_HEADER"
25695)
25696
25697const (
25698	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
25699	VpcLinkStatusAvailable = "AVAILABLE"
25700
25701	// VpcLinkStatusPending is a VpcLinkStatus enum value
25702	VpcLinkStatusPending = "PENDING"
25703
25704	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
25705	VpcLinkStatusDeleting = "DELETING"
25706
25707	// VpcLinkStatusFailed is a VpcLinkStatus enum value
25708	VpcLinkStatusFailed = "FAILED"
25709)
25710